16
4.2 三菱FX系列PLC编程口通信协议
4.2.1 编程口RS-422接口的介绍
RS-422标准全称是“平衡电压数字接口电路的电气特性”,它定义了接口电路的特性。实际上还有一根信号地线,共5根线。由于接收器采用高输入阻抗和发送驱动器比RS232更强的驱动能力,故允许在相同传输线上连接多个接收节点,最多可接10个节点。即一个主设备(Master),其余为从设备(Salve),从设备之间不能通信,所以RS-422支持点对多的双向通信。接收器输入阻抗为4k,故发端最大负载能力是10×4k+100Ω(终接电阻)。
RS-422四线接口由于采用单独的发送和接收通道,因此不必控制数据方向,各装置之间任何必须的信号交换均可以按软件方式(XON/XOFF握手)或硬件方式(一对单独的双绞线)。RS-422的最大传输距离为4000英尺(约1219米),最大传输速率为10Mb/s。其平衡双绞线的长度与传输速率成反比,在 100kb/s速率以下,才可能达到最大传输距离。只有在很短的距离下才能获得最高速率传输。一般100米长的双绞线上所能获得的最大传输速率仅为 1Mb/s。
RS-422需要一终接电阻,要求其阻值约等于传输电缆的特性阻抗。在短距离传输时可不需终接电阻,即一般在300米以下不需终接电阻。终接电阻接在传输电缆的最远端。
4.2.2 基于三菱Fx PLC编程口的通信
基于RS-422的FX系列的计算机通信用于一台计算机与一台PLC的通信,由计算机以出读写PLC中的数据命令报文,PLC收到后返回响应报文。
1、计算机与PLC之间的链接数据流
计算机与PLC之间的数据流有2种形式:计算机从PLC中读数据;计算机向PLC写入数据。
1)计算机读PLC的数据
计算机从PLC读数据的过程分为两步: ? 计算机向PLC发送读数据命令。
? PLC接收到命令后,执行相应的操作,将计算机要读限的数据发送给计
算机。
2) 计算机向PLC写入数据
计算机向PLC写数据的过程分为两步:
17
? 计算机首先向PLC发送写数据命令。
? PLC接收到写入数据命令后,执行相应的操作,执行完成后向计算
机发送确认信号,表示写入数据操作已完成。
2、基于RS-422的三菱Fx通信基本格式 1)数据传输的基本格式
数据传输基本格式如图 读PLC数据: 控制代码 - 命令 CMD 首地址 GROUP ADDRESS 字节数 BYTES 终止符 ETX 和检验 SUM 向PLC写入数据: 控制代码 - 命令 CMD 首地址 GROUP ADDRESS 字节数 BYTES 数据符 DATA 终止符 和检验 ETX SUM 2)计算机与PLC数据的数据传输格式
① 当PLC读取PLC的数据且通信数据正确时,通信数据的形式如图4-7
图 4-7
② 当计算机读取PLC元件数据且通信数据有错误时,其通信数据的形式如图4-8
图4-8
18
③ 当计算机向PLC写入的元件数据且通信数据正确时,其通信数据的形式如图4-9:
图 4-9
④ 当计算机向PLC写入的元件数据且通信数据错误时,其通信数据的形式如图4-10:
图4-10
3 控制协议各组成部分的说明
下面将按照从左到右的顺序,逐一介绍数据传输的基本格式中各部分的详细情况。此通信的命令帧和响应帧均由ASCII码组成,使用ASCII码的优点是控制代码(包括结束字符)不会和需要的传送的数据的ASCII码混淆。如果直接传送十六进制数据,可能会将数据误认为是报文结束字符。一个字节的十六进制数对应两个ASCII码(即两个字节)。因此ASCII码的传送效率较低。
1)控制代码
即 ENQ、STX、NAK等,这些控制码用于通信的控制且在计算机的屏幕中属于不可见的字符,各个控制码的意义如下所示。
1 STX (Start of Text,数据开始传送) ○
当PLC接收到要求读取元件的通信时,PLC会先判定接收的数据塄是否正确,若正确,即传送计算机所要求的元件数据,并于传送数据的最前端加上STX这个控制码。STX是以十进制的2号ASCII码来表示的
2 ETX (End of Text,数据传送结束) ○
当STX表示数据开始时,PLC也会 以ETX来表示数据传送的结束。ETX是以3号ASCII码的字符来表示的。
3 ACK (Acknowledge,了解) ○
当PLC接收到的要求写入元件通信时,PLC会先判定接收的数据协议是否
19