命令通信主要用于串口通信。对欧姆龙PLC主要是用传送(TXD)及接受(RXD)指令实现。其机理与PLC间串口通信是相同的。可参考在PLC间串口通信的有关说明。
如智能装置有高级的网络接口,如以太网接口,而PLC又有相同的网络单元,那也可用网络通信命令发送数据(SEND)、接收数据指令(RECV)通信。其机理与PLC间网络命令通信是相同的。可参考在PLC间网络命令通信的有关说明。
以下用欧姆龙公司“OMP开发二课”编的此类例子程序,说明CPM2A/CPM2AH怎样用通信命令与变频器(3G3MV)通信。
.此程序含:
Modbus协议需要的CRC16冗余校验码计算;
用TXD命令向变频器(3G3MV)发送控制命令;
用RXD命令接受变频器(3G3MV)的响应信息,并保存在DM区。
通信算法框图如图5-172所示。
图5-172 通信算法框图
为了实现的通信及方便客户使用,CPM2A/CPM2AH通过此程序能正确的向变频器(3G3MV)发送控制命令及接受变频器的返回信息
请注意发送的时序。(因Modbus协议本身原因,变频器不允许连续接受控制命令。)
通信开始“通信键”(即图5-173中的2.00)按下,见图5-173。
从图5-173可知,这时将使“发送周期”ON,进入发送周期。此时,先按图5-173的算法对通信命令(发送报文)进行CRC计算,把报文加CRC校验码(两个字节)组成发送数据帧。当“CRC结束标志位”ON,微分指令使“CRC结束微下”ON一个扫描周期。由它启动数据发送通信(TXD)指令,向CPM2A向变频器(3G3MV)发送该数据帧。(www.xing528.com)
经过延时,接收变频器(3G3MV)的响应码,并对该响应码的代码段进行CRC校验计算,用计算的CRC代码结果和收到响应码中的CRC代码进行比较。根据比较结果进行处理:如果相等,说明通信成功;如果不等,则说明通信失败。
程序使用的资源有:
DM600~DM699。
DM630:设定发送的指令的字节数(不包括CRC校验码)。
DM631:设定回收的响应代码的字节数(不包括CRC校验码)。
DM632~DM641:具体指令设定区。
DM670~DM699:回收响应代码的存储位置。
TIM240~TIM249:定时器标志。
IR218~IR227:各状态标志。
IR2.00:发送触发。
据介绍,该程序已在CPM2A/CPM2AH与变频器(3G3MV)间进行过多次通信。并通过变频器(3G3MV)的动作及响应验证证明,该程序是可靠的。且得到了熟悉变频器(3G3MV)的技术人员检查、确认。此程序的更详细代码,可从欧姆龙技术支持网站上下载。
图5-173 发送、接收程序
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。