通信装置的软件描述
2.1 FX2系列PLC与计算机之间通信协议
FX2系列PLC与计算机之间的通信采用RS-232标准,其传输速率固定为9600bps,奇偶校验位采用偶校验。数据格式如图2所示。数据以帧为单位发送和接收。一个多字符帧由力所示的五部分组成,其中和校验值是将命令码ETX之间的的呢字符的ASCII码(十六进制数)相加,取得所得和的低二位数。STX和ETX分别表示该字符帧的起始标起和结束标志。
FX2系列与计算机之间的通信是以主机发出的初始命令,PLC对其作出响应的方式进行通信的。共有0、1、7、8四种命令,上位机实现对PLC的读写和强行置位。通过ENQ、ACK和NAK,上位机协调与PLC的通信应答。
2.2通信过程
采用Bland C编写主机与PLC的通信程序。首先必须对COM1口进行初始化,波特率为9600bps,奇偶校验位采用偶校验,七位有效数据。通信的初始化检测过程如图4所示。当计算机接收到来自PLC的应答字符ACK后,就可以进入数据通信了。通信的时序图如图5所示。
计算机可对PLC内各软设备进行读、写和强制ON/OFF操作。除开PLC的计时器和计数器的设定值采用常数时,以及文件寄存器内的数据,FX2系列PLC的所有开关量输入、输出以及各软件设备对计算机都是透明的。其操作时的多字符帧的格式如图3所示。但不同的操作在“多个字符”项内有所不同。例如,计算机对PLC的软设备Y20~Y37进行读操作,查装置地址表为00A2,读取2字节数据。其状态如图6(a)所示,主机发出的命令格式如图6(b)所示,PLC返回的信息如图6(c)所示。
如传送的命令有错误,PLC返回NAK信号,本次操作失败,重新进行。
为了保证主机与PLC的通信准确无误,上位机也必须按通信协议进行和校。如接收的信息有误,则重新读取。如重复3次仍不行,则显示错误信息。
使用C语言很容易实现以上编程。
501S BMXFCW501S BMXFCW301S/501S(3/5米) FCW501S FCW 501S
BMXFCW503 BMXFCA150/300/500(1.5/3/5米) FCW503 FCW 503 BMXFCW503 BMXFCA150/300/500(1.5/3/5米) FCW503 FCW 503
BMXFTA150 BMXFCA152/302/502(1.5/3/5米) FTA150 FTA 150 BMXFTA150 BMXFCA152/302/502(1.5/3/5米) FTA150 FTA 150
BMXFTA152 BMXXTSHSC20 FTA152 FTA 152 BMXFTA152 BMXXTSHSC20 FTA152 FTA 152
BMXFTA300 VW3M3102 FTA300 FTA 300 BMXFTA300 VW3M3102 FTA300 FTA 300
BMXFTA302 VW3M8210R105 FTA302 FTA 302 BMXFTA302 VW3M8210R105 FTA302 FTA 302
BMXFTB2000 VW3M8209R15/30/50 FTB2000 FTB 2000 BMXFTB2000 VW3M8209R15/30/50 FTB2000 FTB 2000
BMXFTB2010 BMXXSP0400 FTB2010 FTB 2010 BMXFTB2010 BMXXSP0400 FTB2010 FTB 2010
BMXFTB2020 BMXXSP0600 FTB2020 FTB 2020 BMXFTB2020 BMXXSP0600 FTB2020 FTB 2020
BMXFTB2820 BMXXSP0800 FTB2820 FTB 2820 BMXFTB2820 BMXXSP0800 FTB2820 FTB 2820
BMXFTW1001 BMXXSP1200 FTW1001 FTW 1001 BMXFTW1001 BMXXSP1200 FTW1001 FTW 1001
BMXFTW301 STBXSP3010 FTW301 FTW 301 BMXFTW301 STBXSP3010 FTW301 FTW 301
BMXFTW301S STBXSP3020 FTW301S FTW 301S BMXFTW301S STBXSP3020 FTW301S FTW 301S
BMXFTW308S BMXXEM010 FTW308S FTW 308S BMXFTW308S BMXXEM010 FTW308S FTW 308S
BMXFTW501 BMXXTSCPS10 FTW501 FTW 501 BMXFTW501 BMXXTSCPS10 FTW501 FTW 501
BMXFTW501S BMXXTSCPS20 FTW501S FTW 501S BMXFTW501S BMXXTSCPS20 FTW501S FTW 501S
BMXFTW508S BMXP342020H FTW508S FTW 508S BMXFTW508S BMXP342020H FTW508S FTW 508S
BMXMSP0200 BMXP3420302H MSP0200 MSP 0200 BMXMSP0200 BMXP3420302H MSP0200 MSP 0200
BMXNOC0401 BMXCPS3020H NOC0401 NOC 0401 BMXNOC0401 BMXCPS3020H NOC0401 NOC 0401
BMXNOE0100 BMXCPS3500H NOE0100 NOE 0100 BMXNOE0100 BMXCPS3500H NOE0100 NOE 0100
BMXNOE0100H BMXXBP0400H NOE0100H NOE 0100H BMXNOE0100H BMXXBP0400H NOE0100H NOE 0100H
BMXNOE0110 BMXXBP0600H NOE0110 NOE 0110 BMXNOE0110 BMXXBP0600H NOE0110 NOE 0110
BMXNOE0110H BMXXBP0800H NOE0110H NOE 0110H BMXNOE0110H BMXXBP0800H NOE0110H NOE 0110H
BMXNOM0200 BMXXBE1000H NOM0200 NOM 0200 BMXNOM0200 BMXXBE1000H NOM0200 NOM 0200
BMXNOM0200H BMXDDI1602H NOM0200H NOM 0200H BMXNOM0200H BMXDD11602H NOM0200H NOM 0200H
BMXNOR0200H BMXDDI1603H NOR0200H NOR 0200H BMXNOR0200H BMXDD11603H NOR0200H NOR 0200H
BMXP341000 BMXDAI1602H P341000 P 341000 BMXP341000 BMXDA11602H P341000 P 341000
BMXP342000 BMXDAI1603H P342000 P 342000 BMXP342000 BMXDA11603H P342000 P 342000
BMXP342010 BMXDAI1604H P342010 P 342010 BMXP342010 BMXDA11604H P342010 P 342010
BMXP3420102 BMXDDO1602H P3420102 P 3420102 BMXP3420102 BMXDDO1602H P3420102 P 3420102
BMXP342020 BMXDDO1612H P342020 P 342020 BMXP342020 BMXDDO1612H P342020 P 342020
BMXP342020H BMXDAO1605H P342020H P 342020H BMXP342020H BMXDAO1605H P342020H P 342020H
BMXP342030 BMXDRA0805H P342030 P 342030 BMXP342030 BMXDRA0805H P342030 P 342030
BMXP3420302 BMXDRA1605H P3420302 P 3420302 BMXP3420302 BMXDRA1605H P3420302 P 3420302