224xp 与威纶MT6070ih 相连,屏的USb与扫码枪相连,扫码枪扫描我在线生成的条形码数字12,触摸屏显示了扫描到的数字12,但是监控PLC VW600里的数据是12593 应该是12 才对啊,触摸屏与扫码枪的设置http://geekfa.com/132.html 设置应该没问题 另外我扫描条形码数字1-9的嘛都输不到屏幕上,11 12 以上的能显示在屏幕,但PLC数据不对,请高手帮忙啊,实验好几天也没找到原因
图片说明:
最佳答案
我先猜。
12593翻译成16进制是3131。3131翻译成ASCII码就是字符11。
猜中猜。
楼主扫描的条码虽然说是12 。但是我不相信。我相信这个条码应该11 。为何会觉得是12?可能条码从0开始起,但是楼主是从1开始数,数到第1个码值是0,数到第12个就是码值11了。
所以扫描枪输出ascii码11给你,传送过程就按二进制传出3131的信号,到plc监视和屏幕显示的时候就按了10进制显示,结果就12593了。
提问者对于答案的评价:
确实是高手你分析的很对,你看我是扫描的数字和PLC的数字对应的,扫码11和PLC显示的11对应,在PLC里比较,一致则输出,是不是要把ASCII转为2进制,好像不好转,另外最主要的是我扫描0-9这几个单个数字的码PLC数据里不显示咋回事?
最佳答案作者回复:
ASCII有指令转成16进制值。
ASCII码需要用ASCII格式显示。这个仅仅是视觉效果。plc并不理解这个视觉效果。例如上面的3131,谁懂的原来这个是指“11”。
ASCII转换成16进制,此时你要用整数格式看这结果。同时plc也懂的这个值叫做11。此时可以开始比较了。
至于屏,纯视觉效果。建议在plc搞清楚关系再理会屏的显示格式。
最好是编程直接在plc中互相转换某个值,直到你自己随意转换都可以得到正确的视觉效果的时候,就成熟了。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc369747.html