guozhaowen2
级别: 略有小成
精华主题: 0
发帖数量: 42 个
工控威望: 209 点
下载积分: 669 分
在线时间: 91(小时)
注册时间: 2007-08-12
最后登录: 2024-11-10
查看guozhaowen2的 主题 / 回贴
楼主  发表于: 2012-08-15 08:50
IF($u00760 >= 59) LB 1 (W)
$u00760 = $u00760 + 1 (W)
PLC[ 8:402055] = $u00760 (W)
RET
;
LB 1:
$u00760 = 59 (W)
PLC[ 8:402055] = $u00760 (W)
;
这是一段宏程序,当$u00760 的值不大于32767时,比较能正常执行,当值大于32767时不能执行比较
请问为什么?谢谢
cvlsam
富士低压,POD(觸摸屏),PLC专卖
级别: VIP会员

精华主题: 3 篇
发帖数量: 6769 个
工控威望: 38370 点
下载积分: 2955 分
在线时间: 9505(小时)
注册时间: 2006-09-13
最后登录: 2024-11-17
查看cvlsam的 主题 / 回贴
1楼  发表于: 2012-08-15 09:00
当使用16位的地址进行比较时:
其符号比较最大为 -32768~+32767
其无符号比较最大为 0~65535

因此,如果欲突破此限制,需要进行32位地址类型:




Good Luck~