登录
首页
PLC论坛
三菱Mitsubishi
回帖
发帖
正文
主题:plc接收到的ASCI怎么处理
点击:1279 回复:5
楼主
编辑
引用
管理
perover
3u的plc接收到ASCI码为30 30 30 30 31 35 34 34分别存到d200-d207中,但是plc显示的为48 48 48 48 49 53 52 52
用HEX指令转换后为16进制1544 但是plc显示为十进制的5444,怎么才能在一个寄存器中显示十进制的1544呢
最后修改:
2018/8/2 16:37:13
18-08-02 15:39
1楼
编辑
引用
管理
w71412659
遇到过一次这个问题,我的做法是,先把你那几位ASC数字( 31 35 35 34)传递到D区中,假设D300-D303,这时这几个寄存器中的数字分别是:1、5、5、4,然后:
D300*1000=D310(1*1000=1000)
D301*100=D311(5*100=500)
D302*10=D312(5*10=50)
D303*1=D313(4*1=4)
D314=D310+D311+D312+D313(1000+500+50+4=1554)
没想到更好的办法,我就是这么用的,可以解决你的问题,希望更多人提供更好的思路,以上。
18-08-02 16:02
2楼
编辑
引用
管理
cvlsam
引用
perover
在 2018/8/2 15:39:33 发言
【内容省略】
请使用与操作和移位指令将HEX转换结果放入一个寄存器后,然后执行FUN19(BIN)指令。
Good Luck~
最后修改:
2018/8/2 16:07:06
18-08-02 16:04
3楼
编辑
引用
管理
fujifa
引用
w71412659
在 2018/8/2 16:02:27 发言
【内容省略】
16位乘法指令结果为32位数,你这样做有BUG风险。
18-08-02 16:09
4楼
编辑
引用
管理
zhengchang
16进制的30就是10进制的48呀。如果你非要显示30,除以16取余数这方式吧,商大于16继续除
18-08-02 16:30
5楼
编辑
引用
管理
蛇会大学
用指令把ASC字符转换成BIN数值
18-08-03 23:26
工控新闻
霍尼韦尔发布智慧建筑运营管理平台的全新高效运维模块
GTF 聚焦展直击:EVIDENT 工业内窥镜系列为燃气轮机安全护航
皮尔磁重磅亮相2025广州应急安全展
AI驱动制造变革,链博会热议新质生产力核心路径
工业智能体究竟价值几何?
皮尔磁:氢能安全——未来能源的关键命题
ABB集团发布2025年第二季度业绩
投资与技术双轮驱动 美团机器人生态版图初显
更多新闻资讯