做了个简单的宏指令测试浮点和整形混合运算情况,如下,LW500对应32位浮点格式,LW600对应32位有符号整形
如下宏指令执行,在线仿真结果:LW500显示为12.5,LW显示为12
macro_command main()
float A=12.5
int C
float B
B = A/1
C = A/1.0
SetData(B, "Local HMI", LW, 500, 1)
SetData(C, "Local HMI", LW, 600, 1)
end macro_command
但是:
重新修改了宏指令,只把C=A/2.6这句调整,其他不变,编译后,但是再执行在线仿真,LW600结果还是12,下载到触屏上就能正确显示为4
尝试了:关闭EBPro,重新打开程序也不行
在尝试了,重启win7系统,然后再开程序,就能正常。但是重新修改宏指令,还是不能更新新的结果。这个问题一直重现。
尝试了在winxp也存在这个问题。
尝试了EBproV501.04_20150623和EBproV500.01_20141223都不行
macro_command main()
float A=12.5
int C
float B
B = A/1
C = A/2.6
SetData(B, "Local HMI", LW, 500, 1)
SetData(C, "Local HMI", LW, 600, 1)
end macro_command
|