PC中必须依据所连接PLC的通信规程来编写通信协议,所以我们先要熟悉FX系列PLC的通信协议。
1)数据格式
FX系列PLC采用异步格式,由1位起始位、7位数据位、1位偶校验位及1位停止位组成,比特率为9600
bps,字符为ASCⅡ码。数据格式如图7-14所示。
图7-14
数据格式
2)通信命令
FX系列PLC有4条通信命令,分别是读命令、写命令、强制通命令、强制断命令,如表7-2所示。
表7-2
FX系列PLC的通信命令表
3)通信控制字符
FX系列PLC采用面向字符的传输规程,用到5个通信控制字符,如表7-3所示。
表7-3
FX系列PLC通信控制字符表
控制字符 |
ASCⅡ码 |
功能说明 |
ENQ |
05H |
PC发出请求 |
ACK |
06H |
PLC对ENQ的确认回答 |
NAK |
15H |
PLC对ENQ的否认回答 |
STX |
02H |
信息帧开始标志 |
ETX |
03H |
信息帧结束标志 |
注:当PLC对计算机发来的ENQ不理解时,用NAK回答。
4)报文格式
计算机向PLC发送的报文格式如下:
STX |
CMD |
数据段 |
ETX |
SUMH |
SUML |
其中,STX为开始标志:02H;ETX为结束标志:03H;CMD为命令的ASCⅡ码;SUMH、SUML为按字节求累加和,溢出不计。由于每字节十六进制数变为两字节的ASCⅡ码,故校验和为SUMH与SUML。
数据段格式与含义如下:
注:写命令的数据段有数据,读命令数据段则无数据。
PLC向PC发的应答报文格式如下:
注:对读命令的应答报文数据段为要读取的数据,一个数据占两字节,分上位下位:
数据段:
对写命令的应答报文无数据段,而用ACK及NAK作应答内容。
5)传输规程
PC与FX系列PLC间采用应答方式通信,传输出错,则组织重发。其传输过程
如图7-15所示。
图7-15
传输过程
PLC根据PC的命令,在每个循环扫描结束处的END语句后组织自动应答,无需用户在PLC一方编写程序。 |