〔郑州棉麻工程技术设计研究所,河南郑州 450004〕
Modbus协议定义了一个控制器能认识使用的消息结构。它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。通过此协议,控制器相互之间、控制器经由网络和其它设备之间可以通信,这已经形成了一个通用工业标准。有了这个标准,可以方便各个厂家生产的控制设备连接在一起集中控制。Modbus协议我们采用比较先进的Modbus TCP 模式,而Modbus TCP模式的硬件接口就是以太网(Ethernet)口,我们设计的刷唛机就是使这一电脑上常用的网络接口,使用方便、快捷、安全。
RS485总线也是一个通用工业标准接口,具有双向、平衡传输的特点并且支持多点连接,最多可创建32个节点的网络;传输距离最长1 200 m左右,抗干扰能力强。在工业控制应用中,RS485接口经常采用组成的半双工网络,一般采用屏蔽双绞的两线制传输。在RS485通信网络中一般采用的是主、从通信方式,即一个主机带多个从机。RS485总线因其接口简单,组网方便,传输距离远等特点而得到广泛应用。
根据系统功能需要,整体采用分布式主从控制结构。主机系统以工控计算机为中心,主要完成和客户人机对话、数据管理等非实时工作。从机系统由采用STM32芯片的刷唛控制器、FPGA为核心的智能喷头驱动器、AVR单片机为核心的电子定位尺、喷头监控与恒温管理器等多从机协调工作。系统硬件环境主要包括以下几个模块:上位机(工控机)、刷唛控制模块主站、多个从站。对于串行链路通讯的Modbus 系统,它的实际接口电路可以选择采用RS232接口或RS485接口。在刷唛系统中我们采用RS485 两线制接口。本系统中的上位机采用工控机,其物理接口为网络接口,完成和从机的主控制器通讯。系统的从机系统部分则采用RS485组成的网络进行通讯。系统的整个设计框图如下:
图1 通信系统结构框图
棉包刷唛系统整体采用PC工控机为主,刷唛控制系统为从机系统。PC工控机为人机操作界面,各种操作指令可以通过工控机进行人机交互,指令通过网络传送到刷唛控制从机系统。而从机刷唛控制系统又采用一个主机多个从机的通讯组网方式。采用刷唛控制器为主机,定位控制、刷唛控制、运动控制等为从机。在刷唛控制系统中,刷唛控制器为主机,根据系统需要,对各个从机进行轮询,各个从机根据主机的命令,返回相应的值。刷唛控制器根据各个从机控制模块返回值再通过RS485总线发出相应的指令,对整个系统进行控制。同时把各个返回值及当前执行状态通过网络传送到PC工控机进行显示,以便更好地对系统进行监控。实际RS485通讯的总线结构如图2。
图2 刷唛机RS485总线结构
RS485总线数据通讯速度较快,最高传输速率可以达到10 Mbps。但是由于它常常应用于要和单片机的RS-232口通信,因而实际上并没有那么高的通讯速度,与单片机通讯的网络,速度最高为115.2 Kbps。实际应用中考虑到速度太高会影响传播距离,考虑一些抗干扰因素,实际应用中速度还会更低。在本系统中,RS485的速度我们采用9 600 Kbps。
用于RS485总线通讯的专用芯片厂家很多,本设计采用美信公司生产的MAX485芯片。它是一种应用于RS485/RS422的8引脚低功耗收发器,在实际应用时最多能同时连接多达32个节点。它采用+5 V单电源工作,额定电流为300 μA,由于MAX485有方向控制,因而只能采用半双工通讯方式,内部含有一个驱动器和接收器。RO引脚为MAX485接收器的输出,与微控制器的接收脚(RXD)相连,DI引脚为MAX485驱动器的输入端,与微控制器的接收脚(TXD)相连,DE和RE引脚控制数据传送的方向。MAX485的逻辑图及RS485总线连接图如图3。
RS485通讯在工业应用中,使用环境中经常会有大型的设备工作,用电环境比较复杂,大电压、大电流的设备较多,其中的各种功率的电机、变频器、继电器等都会产生较大的干扰,差分信号传输模式使RS485接口具有一定的抗共模干扰能力,但当干扰电压超过一定的限定时,芯片也会无法工作,使得传输不再可靠,并有可能会烧毁芯片和相连仪器设备。为了确保通讯可靠,增强其抗干扰能力,在棉包自动刷唛控制系统中我们采用光耦、带隔离的DCDC电源模块、RS485芯片完成隔离设计。实际设计电路图如图4。
其中的485VCC1、485GND1为隔离DC-DC电源引脚,专为485芯片提供电源,而VCC、GND为微控制器提供电源。485RX1、485TX1为微控制器的接口信号引脚。
图3 485芯片逻辑及总线设备连接方式
图4 带隔离的485通讯设计图
刷唛控制系统通讯特点为:用RTU模式的Mod⁃bus协议。波特率采用9 600 bps,数据格式采用8位数据位,1位停止位,无校验的方式。字符传送间隔采用少于1.5 个字符的时间间隔。RTU数据帧的最大帧长度是256 个字节。帧与帧之间的空闲时间采用命令码设定的值与Modbus协议内部约定值两者之间较大的一个。Modbus协议约定的最小帧间空闲时间是数据帧头通过数据总线的时间和数据帧尾通过数据总线空闲时间不小于3.5 个字节传送时间来区分界定帧。通讯数据采用CRC16 校验来确保通讯准确。
在棉包刷唛从机系统通讯中,该从机系统又由一台刷唛控制器作为RS485通讯的主机和喷头、定位、运动控制等多从机小模块组成。从系统中的刷唛控制器主机和几个从机在通过MAX485和总线连接时,接线方式完全相同。从系统中的任何一个从机小模块都可以设定为主机,而其他设为从机。RS485总线的使用权可根据设备的工作状态临时设定。系统状态分为三个:空闲、棉包进入和棉包刷唛三个,正常的工作过程就是这三个状态处于循环中,自动完成刷唛工作。系统中不同的设备给编定不同的设备编号,在刷唛系统开始工作时,系统处于空闲状态,刷唛控制器作为主机的MAX485处于数据接收状态,所有其他从机的MAX485也处于接收状态。如果从机接收到有了棉包信息的信号时,从机就会从接收数据状态变为发送状态,发送当前棉包来的信息。发送完后又处于接收数据的侦听状态。在处于要刷唛的状态时,刷唛主机先处于接收状态,通过总线读取从机的数据,刷唛主机再向这个从机发出查询信号,然后交出总线的使用权,处于接收状态。而被查询的从机开始允许使用总线,它的MAX485此时可以发送数据,该从机开始向总线加载数据,数据加载完成后立即又处于侦听状态,交出总线使用权。
根据功能要求,软件流程图如图5。
图5 棉包刷唛程序软件主流程简图
本文详尽地介绍了基于Modbus协议的RS485 总线,系统设计之初就考虑增加防干扰措施,各个模块电源隔离。实际安装中又采用屏蔽、接地等防干扰方式,增加了系统的稳定性。该总线设计已成功应用于棉花加工厂的棉包刷唛机环节中,实现了在粉尘大、温差大、干扰强的环境下正常使用,其运行稳定、安全可靠。