3462528
级别: 家园常客
精华主题: 0
发帖数量: 220 个
工控威望: 842 点
下载积分: 19610 分
在线时间: 250(小时)
注册时间: 2008-09-30
最后登录: 2024-05-29
查看3462528的 主题 / 回贴
楼主  发表于: 2016-08-31 23:23
      L     #Nu    
      L     1
      -I    
      L     16
      *D    
      LAR1
小弟以前基本都是用日系的PLC,今天碰到S7-300的PLC,要帮忙调试,看了这段程序就懵了,请大神帮忙我解释下,我看不懂了。
当Nu的值为1时,AR1等于0,我明白
但为什么#Nu等于2的时候,AR1等于2了。。
[ 此帖被3462528在2016-09-01 07:39重新编辑 ]
cvlsam
富士低压,POD(觸摸屏),PLC专卖
级别: VIP会员

精华主题: 3 篇
发帖数量: 6770 个
工控威望: 38371 点
下载积分: 3262 分
在线时间: 9513(小时)
注册时间: 2006-09-13
最后登录: 2024-11-26
查看cvlsam的 主题 / 回贴
1楼  发表于: 2016-09-01 11:26
引用
引用第2楼3462528于2016-09-01 10:54发表的  :
是的~结果是这样的~可以帮我分析下语句吗?
为什么2-1再乘以16就变2.0了?我很纠结


因为西门子32位指针格式规定,最低3位为0,因此数据需要左移3位,也就是乘以8。

1乘以2再左移3位结果不就是2.0了么。