威纶通官方论坛

为什么数值比较结果的结果始终不为0

[复制链接]
发表于 2013-12-12 19:10:20 | 显示全部楼层 |阅读模式
我做了一个数值比较的宏指令,如果右边的数大于左 边的数,右边的数就为0.但是我的结果是右边的数始终为61,不知道我的错误在哪里?请大家帮我看看。我将E8000从开后再试结果还是一样。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2013-12-12 19:25:55 | 显示全部楼层
我又做了一个,还多了与PLC的VW0比较,结果还是61,不知道问题在哪里,郁闷。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2013-12-12 19:30:18 | 显示全部楼层
我以前做了个要与PLC的VW进行数值比较的,宏指令与上面有四个变量的那个宏指令是一样的,结果就是始终为0,我也不清楚问题在哪里?
 楼主| 发表于 2013-12-13 15:35:41 | 显示全部楼层
等待版主指点。
 楼主| 发表于 2013-12-18 20:31:41 | 显示全部楼层
各路大神来指点一下呀!
发表于 2013-12-27 11:33:26 | 显示全部楼层
你的宏指令就不对。
macro_command main()
short a,b,c=0
GetData(a, "Local HMI", LW, 0, 1)
GetData(b, "Local HMI", LW, 2, 1)

if a>b then
SetData(c, "Local HMI", LW, 0, 1)
end if

end macro_command
发表于 2014-10-7 17:06:45 | 显示全部楼层
应该是d=0吧
发表于 2015-1-11 10:27:53 | 显示全部楼层
d==c这样对吗?
 楼主| 发表于 2015-5-17 21:12:28 | 显示全部楼层
现在来看以前的问题好幼稚,==是比较,=是赋值。当时我连这个也没有搞清楚,哎!不过现在值得肯定的是,还是有一点进步。努力。
发表于 2015-8-29 12:29:40 | 显示全部楼层
正解
macro_command main()
short a,b
short c=0
GetData(a, "Local HMI", LW, 0, 1)
GetData(b, "Local HMI", LW, 1, 1)
if a<b then
SetData(c, "Local HMI", LW, 1, 1)
end if
end macro_command
您需要登录后才可以发帖 登录 | 注册

本版积分规则

回复帖子

Archiver|小黑屋|威纶通官网 ( 粤ICP备06054553号 )

GMT+8, 2024-11-24 21:19

Powered by Discuz! X3.4

© 2001-2023 Comsenz Inc.

快速回复 返回顶部 返回列表