ljclwyf 发表于 2013-12-12 19:10:20

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

我做了一个数值比较的宏指令,如果右边的数大于左 边的数,右边的数就为0.但是我的结果是右边的数始终为61,不知道我的错误在哪里?请大家帮我看看。我将E8000从开后再试结果还是一样。

ljclwyf 发表于 2013-12-12 19:25:55

我又做了一个,还多了与PLC的VW0比较,结果还是61,不知道问题在哪里,郁闷。

ljclwyf 发表于 2013-12-12 19:30:18

我以前做了个要与PLC的VW进行数值比较的,宏指令与上面有四个变量的那个宏指令是一样的,结果就是始终为0,我也不清楚问题在哪里?

ljclwyf 发表于 2013-12-13 15:35:41

等待版主指点。

ljclwyf 发表于 2013-12-18 20:31:41

各路大神来指点一下呀!

joybb123 发表于 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

maicol 发表于 2014-10-7 17:06:45

应该是d=0吧

allenhy 发表于 2015-1-11 10:27:53

d==c这样对吗?

ljclwyf 发表于 2015-5-17 21:12:28

现在来看以前的问题好幼稚,==是比较,=是赋值。当时我连这个也没有搞清楚,哎!不过现在值得肯定的是,还是有一点进步。努力。

KISMHK 发表于 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
页: [1]
查看完整版本: 为什么数值比较结果的结果始终不为0