主题:S7-300系列PLC扩展CP340串口模块,读取日置数字表电压值
硬件:CPU312;串口模块CP340,HIOKI3237数字多用表;
状态:通讯测试正常:PLC可以发送读取命令;数字表返回读取的电压值;
问题:数字表返回的电压值以BYTE的类型(ASCII字符)存储在以DB11.DB0开始的数据块中,请问如何将这些DB11中的ASCII字符转化为整数(ASCII字符对应的数值),请大神指导一下,感谢!!!
问题补充:
请问发送命令的触发信号M100.1与数据接收的触发信号M100.0有什么关联?是否需要同时接通,还是需要有先后顺序?
我的理解是M100.0持续接通,CP340接收的数据连续存储,而M100.1接通一次,CP340读取一次仪表数据。不知道理解的是是否准确,请大神指导一下,谢谢!
感谢几位的热心帮助与回复,二楼的方案可行,至于一楼的数据转化比较麻烦,没做成功。阿鸣老是的回复比较系统化,我也是参考这些步骤来做的串口通讯,只是还要一些细节不甚理解.
图片说明:
最佳答案
根据Ascii码表就可以知道,数字0到数字9的Ascii码是48到57,也就是16进制的30到39。只要把每个byte的数值减去48就可以得到每个位上的数字,再组合成完整的一个数,具体要看你用的设备通讯说明书,例如A*100+B*10+C这种组合方法
提问者对于答案的评价:
发送命令信号和接收数据信号分别是怎么控制的啊?
最佳答案作者回复:
发送命令一般是上升沿触发一次就发送一次,下一次发送则需要根据发送功能块的输出标志位(成功为done,或者错误error)来决定,你的截图是upload上来的功能块,因此看不出管脚的真正名称。而接收功能块则是一直保持接收状态就可以了。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc291550.html