使用RS232串口线,用PLC读取从站(测量仪器)的数据,PLC的SEND_PTP模块发送#000F启动指令,我首先用字符串形式发送,没有启动仪器回传数据,然后下载了一个串口调试程序,USB-RS232线连接电脑和仪器,以ASCII形式发送#000F,成功回读到数据。请问PLC中SEND_PTP模块中的BUFFER数据块的发送指令应该怎样设置?谢谢!
最佳答案
举个例子(用自由口指令来做MODBUS ASCII通信):
1、用自由口指令来发送ASCII码“:020321000004D6”,其中D6是校验码。
2、将:020321000004D6换算成16进制ASCII码,存入通信BUFFER
3、MODBUS ASCII通信尾码是0D0A,写到通信BUFFER的最后。
4、SEND_PTP的BUFFER,应该写P#DB1.DBX0.0 BYTE 17。
如果用自由口发送ASCII码“#000F”将以上字母换成16进制数字,然后用SEND_PTP发送。
提问者对于答案的评价:
谢谢!
专家置评
楼主是字符串发送的,并且buffer填写的是绝对地址的形式,建议考虑 zhuzhu367的建议。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc195119.html