PLC作为一种高性能的控制装置,在分布式系统中得到了越来越广泛的应用。在这种控制方式中,上位监控机系统是其中重要的组成部分。PLC可以多种方式如直接采用现有的组态监控软件与上位监控机通信,但针对小规模的控制系统,找到一种高性价比的通信方法具有积极的实际意义。本节就日本三菱公司生产的FX2系列PLC与PC通信方式的实现,从软、硬件两个方面来说明这个问题。
1.通信装置的硬件描述
PLC与PC之间实现通信,可使两者互补功能上的不足,PLC用于控制方面既方便又可靠,而PC在图形显示、数据处理、打印报表以及中文显示等方面有很强的功能。因此,各PLC制造厂家纷纷开发了适用于本公司的各种型号PLC与PC通信的接口模块。三菱公司开发的FX-232AW接口模块用于FX2系列PLC与PC通信。还有与以太网连接的接口模块AJ71E71、与MAP网连接的接口模块AJ71M51-S1、与FAIS MAP网连接的接口模块AJ71M51M1等。不同的通信方式,有着不同的成本价格和不同的适用范围。在此介绍一种通过PC的RS 232口与PLC进行通信的实现方法。
FX2系列PLC的编程接口采用RS 422协议,而计算机的串行口采用RS 232协议。因此,作为实现PLC计算机通信的接口电路,必须将RS 422协议转换成RS 232协议。
RS 232协议与RS 422协议在信号的传送、逻辑电平方面均不相同。
RS 232协议采用单端接收器和单端发送器,只用一根信号线来传送信息,并且根据该信号线上电平相对于公共的信号地电平的大小来决定逻辑的“1”(-15~-3V)和“0”(3~15V)。
RS 422协议是一种以平衡方式传输的标准,即双端发送和双端接收,根据两条传输线之间的电位差值来决定逻辑状态。RS 422电路由发送器、平衡连接电缆、电缆终端负载和接收器组成,它通过平衡发送器和差动接收器在逻辑电平和电位差之间进行转换(2V表示“0”,-2V表示“1”)。
选用MAXIM公司的MAX202实现RS 232与TTL之间的电平转换。MAX202内部有电压倍增电路和转换电路,仅需5V电源就可工作,使用十分方便;选用MAX490实现RS 422与TTL之间的转换,每片MAX490有一对发送器/接收器,由于通信采用全双工方式,故需两片MAX490,另外只需外接4只电容即可。
PLC的RS 422接口配接DB-25型连接器,而PC一般用DB-9型连接器。通信接口硬件图如图9-5所示。
图9-4 通信程序框图
将RS 232的RS、CS短接,这样对计算机发送数据来说,PLC总是处于就绪状态。也就是说,计算机在任何时候都可以将数据送到PLC内,又由于DR、ER交叉连接,因此对计算机接收数据来说,必须等待至PLC处于准备就绪状态。
2.通信装置的软件描述
(1)FX2系列PLC与计算机之间的通信协议
FX2系列PLC与计算机之间的通信采用RS 232协议,其传输速率固定为9600bit/s,奇偶校验位采用偶校验,数据格式如图9-6所示,数据以帧为单位发送和接收。一个多字符由图9-7所示的五部分组成,STX和ETX分别表示该字符帧的起始标志和结束标志。
FX2系列PLC与计算机之间的通信是以主机发出的初始命令,PLC对其作出响应的方式进行通信的。共有0、1、7、8这4种命令,上位机实现对PLC的读写和强行置位。通过ENQ、ACK和NAK,上位机协调与PLC的通信应答。
(2)通信过程
采用Bland C编写主机与PLC的通信程序。首先必须对COM1口进行初始化,比特率为9600bit/s,奇偶校验位采用偶校验,7位有效数据。通信的初始化检测过程如图9-8所示。
(www.xing528.com)
图9-5 通信接口硬件图
图9-6 数据格式的规定
a)数据格式的规定 b)字符STX(02H)格式
当计算机接收到来自PLC的应答字符ACK后,就可以进入数据通信了。通信的时序图如图9-9所示。
计算机可对PLC内各软设备进行读、写和强制ON/OFF操作。除PLC的定时器和计数器的设定值采用常数,计算机不能对文件寄存器内的数据进行读写,FX2系列PLC的所有开关量输入、输出以及各软件设备对计算机都是透明的。其操作时的多字符帧的格式如图9-10所示。
图9-7 多字符帧的规定
图9-8 通信的初始化检测过程
但不同的操作在“多个字符”项内有所不同。例如,计算机对PLC的软设备Y20~Y37进行读操作,查装置地址表为00A2,读取2B数据。其状态如图9-10所示,为主机发出的命令格式,PLC返回的信息。如传送的命令有错误,PLC返回NAK信号,本次操作失败,重新进行。
为了保证主机与PLC的通信准确无误,上位机也必须按通信协议进行和校。如接收的信息有误,则重新读取。如重复3次仍不行,则显示错误信息。
图9-9 通信的时序图
图9-10 PLC对计算机读操作应答的多字符帧
使用C语言很容易实现以上编程。主机还可向PLC写数据,进行单点的强制置位和复位。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。