1、PLC 与上位机的通信实现【摘要】本文以三菱可编程控制器 FX2N 系列为例的 PLC 与上拉机的通信实现,提出了一种价格低、体积小的接口方案,讨论了其硬件和软件的设计思想,该接口装置与控制室和实验室环境下运行可靠。 【关键词】上位机,通信,接口,PLC PLC 作为一种高性能的控制装置,在分布式系统中得到了越来越广泛的应用。在这种控制方式中,上位监控机系统是其中重要的组成部分。PLC 可以多种方式如直接采用现有的组态监控软件与上位监迭机通信,但针对小规模的控制系统,找到一种高性能价格比的通信方法,具有积极的实际意义。本文就日本三菱公司生产的 FX2N 可编程控制器与 PC 机通信方式的实现,
2、从软、硬件两个方面来说明这个问题。 1.上位机与 PLC 通讯的原理 在利用外部设备与可编程控制器之间进行通讯前,必须首先规定一些参数,如数据长度,奇偶校验、停止位以及波特率等,即通讯格式。通讯格式是通过一个四位的 16 进制数而设定,这里设定为 H6880,其含义是数据长度为 7 位,终结符为 7 位,奇偶校验为无,控制线为 RS232接口,停止位为 1 位,和校验为自动添加,波特率为 9600BPS,协议为专用协议,标题无,传输控制协议为协议格式 1。通讯格式是在 PLC 中首先将其设置好的。其中协议格式的通讯格式依次规定了控制代码、站号、PC 号、命令、消息等待以及和校验代码等。在 FX
3、 系列可编程控制器中,站号是通过特殊寄存器 D8121 来设定的。设定范围是从 00H 到 0FH。本实验台中由于上位机只和一个 PLC 气动实验台通信,所以站号为 00H。PC号是 A 系列 MELSECNET(II)或 MELSECNET/B 上用来确定可编程控制器CPU 的数字。FX 系列的 PC 号为 FFH,由两位 ASCII 字符来代表,即“FF” 。命令用来指定要求的操作(如读,写) ,在此控制软件中所使用的向 PLC发送的主要指令有:批量读出位元件 BR 指令;批量写入位元件 BW 指令;强制 PLC 运行(RUN)RR 指令;强制 PLC 停止(STOP)RS 指令。消息等待
4、是一段计算机要求的延迟时间,以实现在发送和接受状态间的转换。和校验代码用来确定消息中的数据没有受到破坏。它是通过加上和校验区域中的 ASCII 字符的 16 进制值计算得到的。 上位机和 PLC 在遵循相同的通讯格式和通讯协议下便可以进行通讯了。其通讯的基本过程是:先由上位机控制软件向 PLC 发出一条指令,随即控制软件进入等待状态,准备接收 PLC 的回应信息,在收到反馈信息后进行解读并判断通讯是否正确;如果判定反馈信息正确,就解读其反馈信息,在获得了所需的信息以后,即完成该次通讯过程,并准备进入下一个通讯过程;反之,如果判定反馈信息不正确,则进行相应的错误处理,如向 PLC 重发指令等等。
5、 2.通信装置的硬件描述 PLC 与 PC 机之间实现通道,可使二者互补功能上的不足,PLC 用于控制方面既方便又可靠,而 PC 机在图形显示、数据处理、打印报表以及中文显示等方面有很强的功能。因此,各 PLC 制造厂家纷纷开发了适用于本公司的各种型号 PLC 与 PC 机通信的接口模块。三菱公司开发的 FX-232AW 接口模块用于 FX2N 系列 PLC 与计算机通信。还有与以太网连接的接口模块 AJ71E71、与 MAP 网连接的接口模块 AJ71M51-S1、与 FAIS MAP网连接的接口模块 AJ71M51M1 等。在此介绍一种通过 PC 机的 RS-232 口与 PLC 进行通信
6、的实现方法。 FX2N 系列 PLC 的编程接口采用 RS-422 标准,而计算机的串行口采用RS-232 标准。因此,作为实现 PLC 计算机通信的接口电路,必须将 RS-422 标准转换成 RS-232 标准。RS-232 与 RS-422 标准在信号的传送、逻辑电平均不相同。 RS-232 采用单端接收器和单端发送器,只用一根信号线来传送信息,并且根据该信号线上电平相对于公共的信号地电平的大小来决定逻辑的“1”(-3-15V)和“0” (+3+15V) ; RS-422 标准是一种以平衡方式传输的标准,即双端发送和双端接收,根据两条传输线之间的电位差值来决定逻辑状态。RS-422 电路由
7、发送器、平衡连接电缆、电缆终端负载和接收器组成。它通过平衡发送器和差动接收器将逻辑电平和电位差之间进行转换(+2V 表示“0” ,-2V 表示“1” )。将 RS-232 的 RS、CS 短接,这样对计算机发送数据来说,PLC 总是处于就绪状态。也就是说,计算机在任何时候都可以将数据送到 PLC 内。 3.通信装置的软件描述 3.1 FX2N 系列 PLC 与计算机之间通信协议。FX2N 系列 PLC 与计算机之间的通信采用 RS-232 标准,其传输速率固定为 9600bps,奇偶校验位采用偶校验。数据以帧为单位发送和接收。一个多字符帧由力所示的五部分组成,其中和校验值是将命令码 ETX 之
8、间的呢字符的 ASCII 码(十六进制数)相加,取得所得和的最低二位数。STX 和 ETX 分别表示该字符帧的起始标起和结束标志。 3.2 通信过程。采用 Bland C 编写主机与 PLC 的通信程序。首先必须对 COM1 口进行初始化,波特率为 9600bps,奇偶校验位采用偶校验,七位有效数据。当计算机接收到来自 PLC 的应答字符 ACK 后,就可以进入数据通信了。 计算机可对 PLC 内各软设备进行读、写和强制 ON/OFF 操作。除开PLC 的计时器和计数器的设定值采用常数时,以及文件寄存器内的数据,FX2N 系列 PLC 的所有开关量输入、输出以及各软件设备对计算机都是透明的。为
9、了保证主机与 PLC 的通信准确无误,上位机也必须按通信协议进行和校验。如接收的信息有误,则重新读取。如重复 3 次仍不行,则显示错误信息。使用 C 语言很容易实现以上编程。主机还可向 PLC 写数据,进行单点的强近置位和复位。 参考文献: 1三菱可编程控制器 FX2N 编程手册.三菱电机 2阮友德.电气控制与 PLC 实训教程M.北京:人民邮电出版社,2006. 3王兆义.小型可编程控制器实用技术M.北京:机械工业出版社,2003. 4刘福禄.现代电气控制技术M.大连:大连理工大学出版社,2014. 作者简介:刘福禄, (1964-) ,男,重庆垫江人,重庆工贸职业技术学院副教授,主要研究方向:自动控制技术。