当前位置:
工控论坛
> >
产品
>
PLC
>
罗克韦尔(AB)PLC
我要发帖
求助:AB SLC 5/03编程:浮点数与双字整数的运算转换
点击:
3270
| 回复:
3
Mr.C
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 19回
年度积分:0
历史总积分:68
注册:2002年3月14日
发表于:2003-06-06 12:32:00
楼主
AB SLC 5/03编程:用于DeviceNet通信的数据处理 1,将1个浮点数乘以10000以后转成双字整数(高低字分别放在N7:0、N7:1); 例如1234.567,*10000=12345670=00BC6146Hex,N7:0=00BCHex、N7:1=6146Hex; 2,将1个双字整数(高低字分别放在N7:2、N7:3)除以10000以后转成浮点数放在F8:0; 例如N7:2=00BCHex、N7:3=6146Hex,00BC6146Hex=12345670,/10000=1234.5670; 多谢高手指点!
分享到:
收藏
邀请回答
回复楼主
举报
SuperVCD
关注
私信
精华:0帖
求助:0帖
帖子:10帖 | 218回
年度积分:0
历史总积分:308
注册:2002年2月09日
发表于:2003-06-04 18:14:00
1楼
1、用MUL F8:1 * 10000 =N10:0,然后用Mov指令把S2:14(高)传送到N7:0,把S2:13(低)传送到N7:1 2、先把高字N7:2传送到S2:14;把低字N7:3传送到S2:13,然后用DDV指令,最后用算术指令CP,目的地址为F8:0,表达式为S2:13/10000+S2:14
回复
引用
举报
Mr.C
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 19回
年度积分:0
历史总积分:68
注册:2002年3月14日
发表于:2003-06-06 12:32:00
2楼
十分感谢楼上朋友的指点! 1、MUL F8:1*10000=N10:0,高低字保存在S:14,S:13,不适用于浮点数运算,即MUL F8:1*10000=N10:0之后,S:14,S:13值不改变,即使S:2/14=1; 2、用CPT指令十分巧妙,谢谢!DDV之后需要使S:5/0=0,不产生溢出报警; 再次感谢楼上朋友的指点!
回复
引用
举报
bye9527
关注
私信
精华:0帖
求助:0帖
帖子:1帖 | 7回
年度积分:0
历史总积分:39
注册:2010年8月09日
发表于:2011-01-10 17:29:18
3楼
对于浮点数的处理,一直以来是PLC的难点。谢谢各位的分享!
回复
引用
举报
热门招聘
相关主题
PLC控制变频器
[8780]
威纶通触摸屏和MCGS触摸屏,谁...
[8930]
永宏PLC脉冲输出时,脉冲电压...
[7168]
关于PLC与触摸屏实现翻页
[7950]
如何处理急停按钮?
[10547]
各位 请帮我解析下 PLC闪烁电...
[9001]
(已结帖)工控PLC擂台第93期-...
[7905]
请教给位老师:怎样用PLC控制...
[9885]
PLC应用设计步骤和简介-初学...
[13886]
三菱小PLC还要区分漏型、源型...
[7581]
官方公众号
智造工程师
客服
小程序
公众号