欧姆龙与三菱PLC之间的通信的实现
在现代工业中,plc通信联网功能的应用日益广泛。在实际生产现场,各个工位上可能使用不同厂家生产的plc,它们之间通信联网一直是工程上的一个难题。欧姆龙plc所特有的通信协议宏功能可以很好地解决这个问题1。欧姆龙中小型plc,如cqm1h、c200hα、cj1、cs1等机型,均支持通信协议宏功能,可以实现与其他厂家的plc通信。协议宏通信方式编程简单、易于实现,是不同厂家plc通信的一种简便易行的方法。
本文选用欧姆龙的c200hecpu42型plc,使用通信协议宏,与三菱的fx2
64mr型plc进行通信。欧姆龙plc为上位机,三菱plc则为下位机。
网络结构如图1所示,主机c200hecpu42作为上位机,使用c200hwcom06ev1型通信板,通信板上带有rs232c与rs422a485串行通信口各一个,都支持通信协议宏功能2。三菱fx2
64mr作为下位机,机体上加装fx2
485bd串行通信功能扩展板,支持三菱计算机链接computerli
k通信协议3。1台上位plc最多可连接16台下位plc,上位plc与下位plc通过rs485串行端口连接。通信过程中,上位plc首先发出指令并启动通信,下位plc收到指令并执行,然后将执行结果返回上位plc。下位plc之间不能进行直接通信。
图1网络结构
欧姆龙的通信协议宏由通信序列seque
ce组成,由pmcr指令调用,与带有rs232c或rs422a485端口的各种外围设备交换数据。通信协议宏支持软件cxprotocol的对话式菜单使通信序列易于登记。软件支持xo
和xoff、rts和cts等控制方法,允许传送任何带有校验码如sum,lrc或crc和帧长度的数据信息。一个接收阵列matrix,最多可以设置15种类型的期望的接收信息,而每个期望接收信息都可以
f包含确定下一步要执行的过程和出现信息接收错误时要执行的故障处理命令4。
三菱计算机链接通信协议用于计算机与plc之间的通信,计算机发出读写plc数据的命令帧,plc收到后自动生成和返回响应帧,但是计算机程序仍需用户编写3。上位计算机通过安装在各台plc上的串行通信功能扩展板连接多台plc构成网络。专用通信协议有两种格式format1和format4,区别在于字符串最后是否添加crlf码。本文采用format1通信格式。
地址决定计算机访问哪一台plc,同一网络中各plc的地址不能重复,设定范围为00h~0fh。plc号用来识别plc的cpu类型。指令用来指定操作的类型,如读、写等操作,由2个ascii码组成。校验码是从地址开始,校验码之前的所有字符的十六进制数的ascii码求和,取和的低两位数据的ascii码。
计算机与plc之间的数据流r