APP下载

基于485通信的智能阀控系统数据方案与实现

2015-11-18梁国栋梁昊穹

电气技术 2015年11期
关键词:字节阀门计量

梁国栋 刘 媛 梁昊穹

(1. 天津市第五机床厂,天津 300222;2. 天津职业技术师范大学,天津 300222;3. 中国汽车工业工程有限公司,天津 300113)

在水、电、气的计量管理行业中,作为预收费管理的预付费智能阀门控制器得到了广泛的应用,然而在实际运行过程中,工业用大流量计量设备的数据与智能阀门控制器的数据往往发生偏差,导致供销矛盾,甚至纠纷。

发生这种数据偏差的根源,是数据传输或者说是数据采集出现了问题。传统的智能阀门控制器与流量计量设备间,采取的是由计量设备发出一个脉冲,智能阀门控制器接收一个脉冲,然后智能阀门控制器的系统就消减相应的预置数值,当该数值消减到程序设定值时,控制器阀门自动关闭。这种原始的通信模式作为系统数据传输方案简易可行,但在实际运行过程中,就时常会发生计量设备发出的信号没有被智能阀门控制器及时接收到的现象,也就是俗称的丢失脉冲,长期累积也就导致了数据发生偏差。

为了解决这一难题,本文提出了基于485通信技术的智能阀门控制器数据采集方案。该方案应用在天津市第五机床厂生产的智能阀门控制器产品中,经过近两年时间的推广使用,取得了很好地效果。

1 RS-485串行通信的基本特点

RS-485作为一种串行通信标准,是目前工业上最常用的数据传输方式,采用平衡式发送、差分式接收的方式实现通信,不仅可以实现半双工通信,而且可以实现全双工通讯。利用两根双绞数据线就可同时进行数据的发送和接收。具有硬件设计简单、传输距离长、速度较高、控制方便、电平兼容性好、使用灵活方便、成本低廉和有极强的抗共模干扰能力,可靠度高等诸多优点,应用在智能管理、工业控制、在线控制等许多广泛领域。

RS-485标准通信接口,当传输距离为100m时,通信速率可达12Mb/s[2]。计量设备与智能阀门控制器之间的现场距离最多也就十几米。采用点对点通信方案,完全可以胜任传输距离与通信速率的实际需求。RS-485接口标准的具体参数见表1[1]。

表1 RS-485接口标准的具体参数

一般情况,系统通过RS-485串行通信接口发送端,将所要发送的并行数据,通过异步收发单元(UART)转换为串行数据,再由485电平转换芯片将TTL信号转换为RS-485标准的信号,通过信号连接线送到接收端,在接收端经过相反的转换完成通信,如图 1所示[3]。在本方案的计量设备和智能阀门控制器系统的RS-485通信结构中,没有使用专门的UART单元,而是利用软件的方法,实现信号串行和并行之间的转换。

图1 RS-485点对点方式通信示意图

2 硬件设计

可用于 RS-485标准的接口芯片种类较多,例如,Maxmi公司的 MAX485和 MAX491芯片,MAX485用于半双工,而MAX491可用于全双工,不同的系统需求对芯片的功能要求也会有不同。本方案选用的MAX485是最常用的RS-485通信芯片,它采用单一电源+5V工作,额定电流为300μA。

图2表示A、B的波形,RS-485传输信号在双绞线上极性相反,即UA和UB是一对大小相等方向相反的差分信号,UOH>3V,UOL<1V,图中中间完整周期的信号对应的是逻辑 0。在接收端根据UA和 UB的电压差判断信号,当 UA-UB>0时,逻辑为0,当UA-UB<0时,逻辑为1[3]。

图2 RS-485A、B端信号波形

预付费智能阀门控制器系统单片机的串行输出TXD和串行输入RXD,经电路接至芯片MAX485。如图3所示。

图3 MAX485硬件接口电路

DI脚为数据输入端,它将单片机的TTL电平的数据转换为差模信号VAB,并由A、B两脚传送出去。

DE是DI的使能端,高电平选通DI,数据输出有效。

RO脚为数据输出脚,它接收RS-485的差模信号VAB,并换为TTL电平由RO输出。

RE脚为RO的使能端,低电平时选通RO,输出有效。

为了控制上的方便,将RE、DE两脚连在一起,系统中的MCS-51单片机的串行通道是一个全双工的串行通信口,其并口2的P2.7对MAX485输入使能端 RE和输出使能端 DE,进行控制。当 P2.7输出高电平时,DI脚输入的数据有效;低电平时,RO脚数据输出有效。

通信时,由于采用的是点对点通信模式,计量设备虽然不需要进行地址的设定,但需要以两个设备共同约定的数据格式,波特率等通信规约,发送通信文件,智能阀门控制器在接收符合的字符格式和校验正确后,才能进行正常的数据通信。

本方案的通信协议约定设置如下。

1)波特率设置:9600 bps。

2)信息帧格式:1位起始位,8位数据位,1位停止位,无奇偶校验位。

3)检验方式:采用CRC16循环冗余校验码校验,以保证数据传输的正确性和完整性。

4)传送方式:计量设备(从机)采用定时方式接收和发送数据,智能阀门控制器(主机)采用中断方式接收和发送数据。

3 通信程序设计

本方案采用点对点通信,以串行口中断的方式接收,无需判断机位号。智能阀门控制器程序初始化完成后,等待计量设备(从机)发送信息,当智能阀门控制器(主机)接收到第一个字节后,判断该字节是否为包头,如果不是包头,接收个数清零,如果是包头,则继续接收第二个字节,该字节为从计量设备发送信息的字节个数 X,计算从计量设备发送总字节个数为M=X+3+2,包括3个包头字节和2个CRC校验码,智能阀门控制器接收到M个字节后,首先判断CRC校验码是否正确,错误舍弃所有信息,正确则把从计量设备收到的信息保存到数据区,该次接收结束,智能阀门控制器继续等待接收。

按照通信协议的要求,首先呼叫计量设备,发出联络信号。呼叫成功后,要求计量设备向智能阀门控制器发送数据。考虑到程序的简单和可靠性,智能阀门控制器程序采用了定时器,定时向计量设备发送要求发送数据的指令。

计量设备的处理器采用中断方式进行数据通信,由主程序完成串行口和中断的初始化,一旦智能阀门控制器有通信要求,则响应中断,执行通信中断服务程序。智能阀门控制器通信中断服务程序流程图如图4所示。

图4 通信程序流程图

4 结论

本文给出了利用 RS-485通信接口电路和通信程序实现计量设备与智能阀门控制器之间数据可靠传输的设计方案。该技术方案的使用,可有效避免因为计量仪表与智能预付费控制器两个设备间的计量不完全一致带来的困扰。应用该方案已经应用在天津市第五机床厂生产的智能阀门控制器产品中,经过近两年时间的推广使用,取得了很好的效果。

[1] 冯子陵, 俞建新. RS485总线通信协议的设计与实现[J]. 计算机工程, 2012, 38(20): 215-218.

[2] 李成, 王鹏, 丁天怀, 等. RS-485总线的高速串行远距离数据传输方法[J]. 清华大学学报(自然科学版),2009, 49(5): 68-71.

[3] 徐惠钢, 郭文华. RS-485通信的无极性连接[J]. 低压电器, 2005(7): 41-43.

猜你喜欢

字节阀门计量
美嘉诺阀门(大连)有限公司
No.8 字节跳动将推出独立出口电商APP
装配式玻璃钢阀门井的研发及应用
《化学分析计量》2020年第6期目次
No.10 “字节跳动手机”要来了?
关注日常 计量幸福
计量自动化在线损异常中的应用
简谈MC7字节码
基于因子分析的人力资本计量研究
省力阀门瓶盖