QQ登录

只需一步,快速开始

嘿嘿,有点小坑的 MOD 指令

[ 复制链接 ]
嘿嘿,有点小坑的 MOD 指令

项目要求一工作转台上安装了绝对值编码器,实时计算当前的转台角度(0~359.9度), 假设我的编码器分辨率为3600PPR.


假设电气原点的采样值为X1,当前采样值为X2,那么实际的角度应该是

Angel := (X2-X1) MOD 3600


又假设X1=1000, 当X2=100时,按道理计算出来的角度为-900 MOD 3600 = 2700 (270.0度) ,可是结果却是-900(-90.0度) , 这才发现原来西门子PLC内的MOD指令实际是高级语言里的REM指令。


在高级语言里MOD翻译成求模,REM翻译成求余,这两者是有区别的:

设 n1= X MOD Y , 或者 n2= X REM Y

当X,Y符号相同时,n1与XY符号相同, n2也与XY符号相同

当X,Y符号不同时,n1与Y符号相同,n2与X符号相同


-------------谢谢伊默大侠的分享,确实有时只有用到时才会发现。



回复

使用道具 举报

快速回复 返回列表 客服中心 搜索