将RS-232的RS、CS短接,这样对计算机发送数据来说,PLC总是处于就绪状态。也就是说,计算机在任何时候都可以将数据送到PLC内。又由于DR、ER交叉连接,因此,对计算机接收数据来说,必须等待至PLC处于准备就绪状态。
2通信装置的软件描述
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语言很容易实现以上编程。
TSXP576634MC TSXPAY262 TSXPAY282 TSXPBSCA100 TSXPBSCA400 TSXPBY100 TSXPCI57204M
TSXPCI57354M TSXPCIACC1 TSXPCX1031 TSXPSI2010 TSXPSY1610M TSXPSY1610MC TSXPSY2600M
TWDLCDA16DRF TWDLCDA24DRF TWDLCDA40DRF TWDLCDE40DRF TWDLMDA20DRT TWDLMDA20DTK
TWDAMI8HT TWDAMM3HT TWDAMM6HT TWDAMO1HT TWDARI8HT TWDAVO2HT TM2ARI8LRJ TM2ARI8LT
TWDXCARJ003 TWDXCARJ010 TWDXCARJP03P TWDXCAFD010 TWDXCARJ030 TWDXCARJP03 TWDXMTK4
TWDXCAMD030 TWDXCA2A10M TWDLEDCK1 TWDFCNK70 TWDFCWK70L015 TWDNADK70P TWDXMTCT
BMXDDI3202K BMXDAI1603 BMXDAI1602 BMXDAI1604 BMXDDI1602 BMXCPS3020 BMXCPS2010
990NAD21910 990NAD21930 990NAD23012 ASMBKT085 ASMBKT185 ASMBPL001 520614000
140DAI54000 140DAI55300 140DAI54300 140DAI54000C 140DAI54300C 140DAI55300C
140DVO85300 140DRC83000 140DAM59000 140DRA84000C 140DRC83000C 140DVO85300C
TLXCDSTOFS33 TLXCDLUOFS33 TLXCDLTOFS33 TLXCDLFOFS33 TBXBAS10 TBXBLP10 TBXDES16S04IAT
TBXDMS16S44IAT TBXEEP08C22 TBXEEP1622 TBXESP08C22 TBXESP1622 TBXFPACC10 TLXABEOSPL7P
TLXABEOTPL7P TLXABOSEDPL7P TLXABOSPL7P TLXABOTPL7P TLXADGAG23M TLXADGAS23M TLXADGAT23M
TLXADGAU23M TLXADGG23M TLXADGS23M TLXADGT23M TLXADGU23M TLXADGY23M TLXCD3PL7DIF41
TLXCD3PL7DIF4EF TLXCD3PL7JP45 TLXCD3PL7JPU45M TLXCD3PL7PP45 TLXCD3PL7PPU45M TSXAEY420
TLXCDFCHMIV1M TLXCDGTW10M TLXCDPL7JP45 TLXCDPL7JPU45M TLXCDPL7PP45 TLXCDPL7PPU45M
TLXCDTCP50M TLXCDWSBYP40E TLXCDWSBYP40F TLXDOCPL745E TLXOSEDPL7PP45M TLXRCDPL7PP45M
TLXLIBSCNVF TLXLPL7FUZ34M TLXLSDKCPL741M TLXOSPL7PP45M TLXOTPL7PP45M TLXRCD3PL7JP45M
TLXRCD3PL7PP45M TLXRCDPL7JP45M TLXUCD3PL7JP45M TLXUCD3PL7PP45M TSXAEY800 TSXAEY414
TLXUCDPL7JP45M TLXUCDPL7PP45M TLXV10PL7PP45M TSXAEY1600 TSXAEY1600C TSXCANKCDF90TP
TSXAEY1614 TSXAEY1614C TSXAEY414C TSXAEY420C TSXAEY800C TSXAEY810 TSXCANKCDF180T
TSXAEY810C TSXASY410 TSXASY410C TSXASY800 TSXASY800C TSXBATM03 TSXBLY01 TSXCANCA100
TSXCANCA300 TSXCANCA50 TSXCANCADD03 TSXCANCADD1 TSXCANCADD3 TSXCANCADD5 TSXCANCB100
TSXCANCB300 TSXCANCB50 TSXCANCBDD03 TSXCANCBDD1 TSXCANCBDD3 TSXCANCBDD5 TSXCANCD100
XBTGT4330 XBTGT5230 XBTGT5330 HMIGXO3501 HMIGXO3502 HMIGXO5502 BMXP341000
990XTS00300 110XCA20300 990XCA65609 490NOR00003 490NOR00005 490NOR00015
140EHC10500 140ERT85410 140HLI34000 140EHC10500C 140EHC20200C 140HLI34000C
140NOA62200 140ESI06210 490NAE91100 467NHP81100 140EIA92100C 140ESI06210C
140ACI04000 140ACI04000C 140AII33000 140AII33010 140ACI03000C 140AII33000C
BMXCPS3500 BMXCPS2000 BMXP342030 BMXP342020 BMXP342010 BMXP342000 BMXXBP0800
BMXDDO6402K BMXDDO3202K BMXDDO1612 BMXDAO1605 BMXDRA0805 BMXDRA1605 BMXDDI6402K
140DDM39000 140ACI03000 140DDM69000 140DDM39000C 140DDM69000C 140DAM59000C
140CFH00800 140CFI00800 140CFJ00400 140CFK00400 140CFU00600 140CFU08000
140XBE10000 140XBE10000C 140XCA71703 140XCA71706 140XCA71709 140CRP93100
140CPS41400 140CRA21110 140CPS42400 140CPS41400C 140CPS42400C 140CRA21110C
140XCP50000 140XCP51000 140XCP60000 140XCP90000 140XCP90000C 140XSM00200
TWDDDI8DT TWDDDO16TK TWDDDO16UK TWDDDO32TK TWDDDO32UK TWDDDO8TT TWDDDO8UT
TWDDMM24DRF TWDDMM8DRT TWDDRA16RT TWDDRA8RT TWDALM3LT TWDAMI2HT TWDAMI4LT
TWDXCPRTC TWDFTB2T10 TWDFTB2T11 TWDFTB2T13 TWDFTB2T16 TWDXMT5 TWDXSM6 TWDXSM9