本文以施耐德的SoMachine为例介绍以ICE61163-3为编程标准的PLC编程软件自由通讯口设置。这是以PLC作为数据采集对象常用的通讯方式。
1 设置自由口通讯参数
使用SL1端口,进行基本参数设置
例如M218PLC有SL1和SL2两个串行通讯口,我们选择其中的SL1作为目标对象。SL1采用RJ45接口,制作连接线时注意引脚关系以及电缆屏蔽。
2接收数据帧格式选择
可以选择起始字符和结束符的方式;可以通过判断数据帧长度的方式;可以通过帧收到超时(例如设置超时时间为5MS,则在收到最后一个字符后如果5MS内没有收到其他字符,则判断本帧结束)的方式判断帧的结束(实例中通过接收10个字节为一帧)
ASCII管理器的配置参数介绍
3发送寄存器定义为字节的格式
程序及相关数据,使用SEND_RECV_MSG功能块。X5和X7定义为BYTE类型的数组。(ADDM和SEND功能块说明见对应文章)
4设置发送(示例格式为16进制)
X4=16#0A字节数,发送数据为X5数组里的10个字节
5设备收到的数据
如下图所示,接收到的十个字节即为数组X5的十个字节
6设备发送的十个字节数据
7PLC收到的十个字节保存在接收区X7的是个寄存器中
注意:如果将发送寄存器设置为INT格式,例如发送字寄存器数据16#1234,则设备收到的顺序为16#3412,即高低字节顺序问题。