电动阀门性能检测分析论文
电动阀门性能检测分析论文 摘要:给出了基于485总线,由控制中心PC机和多个单片机控制系统组成的 电动装置性能检测系统中的实时通信系统,重点介绍了利用VB实现PC机与多个 单片机控制系统实时通讯程序设计方法,实现了PC机对多个远程单元的实时控制 与管理。关键词:VisualBasic串行通讯电动装置性能检测系统远程控制 1引言 在许多实时监测系统中,经常需要接收距离较远的测控点数据,如何快速可 靠的实现数据的远程传输是这些监测系统必须解决的问题。在监测现场,为了降 低系统的成本,往往采用单片机系统作为数据采集和记录单元。在中央控制中心, 常常利用PC机来完成人机会话及与监测现场的通信。
本文介绍一套用于电动装置出厂性能检测系统的实用的主从式 (Master/Slave)远程实时通讯系统。检测系统的下位机是以32位的ARM单片机 (LPC2214)为CPU,两片CPLD(XC95108)扩展I/O口对外围器件如加载电机、卸载 电机、光电编码器和AD转换器进行控制的单片机系统,并有键盘进行数据输入和 液晶屏显示各功能接口,以及打印机打印测试合格产品的性能参数记录。上位机 的管理平台则基于VisualBasic610。此系统通过对产品的性能参数进行检测,严格 避免不合格产品出厂,提高产品质量,增强了产品的市场竞争力。
通讯系统以生产现场的双绞线为通讯媒介,上位机利用VB610的通讯控件 MSComm实现了与下位机的远程实时通讯,下位机应用于生产车间现场,取得了 满意效果。
2系统的结构组成及工作原理 2.1结构组成 网络系统由控制中心和多个远程单元RTU(RemoteTerminalUnite)组成(图 1)。控制中心由上位机和RS232/485转换器组成,各远程单元是以ARM单片机为核 心的电动装置性能检测系统(图2)。
2.2工作原理控制中心作为系统的数据终端设备DTE(Da2taTerminalEquipment),负责实 现对远程电动装置性能检测系统的检测数据进行判别、存储等。PC机通过485通 讯电缆与远程电动装置性能检测系统相连,其传输速率为9600bps,端口数据传输 速率可根据系统需要设为1200bps~19200bps〔1〕。
各远程电动装置性能检测系统通过光电编码器和AD转换器对现场设备的 性能参数进行数据采集,采用MAX1480芯片与PC机进行数据传输,并通过2片 CPLD实现数据输入和输出开关量,从而实现对现场设备的控制和参数测量。电动 装置性能检测系统还有复位、故障报警及芯片正常工作检测等系统。BR 通 讯系统以控制中心PC机和远程单片机控制系统通过485通讯电缆以同频异步半 双工方式进行数据信息传输,PC机通过串口发送令牌到远程单元,远程单元收到 自己的令牌后发送数据到PC机,PC机收到数据后回送正确信息。从而实现控制中 心对远程设备的控制和数据采集。
3实时串行通讯程序设计 3.1通讯协议 (1)一桢数据由1位起始位,8位数据位、1位校验位、1位停止位共11位组成。
(2)波特率为9600bps。电动装置测试系统的单片机的串口选用UART0进行 数据的发送和接收,为了得到准确的波特率,ARM单片机采用振荡频率为 1110592MHz的晶振。PC机串口波特率通过VB通讯控件MSComm的Setting属性 设置,为保证数据传输的准确性,两者的波特率必须一致。
(3)系统采用异步通讯方式,上位机通过令牌传递总线(token-passingbus)方 式与远程单元进行通讯〔2〕。PC机发送的信息为固定4个字节。第1个字节和第 2个字节分别为起始标志符和远程单元的具体地址号,第3个字节表示发送的是令 牌还是命令,第4个字节为结束标志符。
(4)远程单元接收到令牌后,对照令牌的地址号与本单元地址进行判断,得 知令牌是本单元的,此时总线处于接收数据状态。此单元开始发送信息,发送的信 息共158个字节。第1个字节和第2个字节分别表示起始标志符和命令符,第3个字 节表示数据个数,第4个到第157个字节表示采集的测试数据,第158个字节表示结 束标志符。如果地址不符,则将令牌转发到下一单元〔3〕。其通讯方式如图3所 示。3.2远程单片机控制系统的串行通讯程序设计 远程ARM单片机采用中断方式进行数据接收,基于软件ADS112编程与上 位机进行通讯,上位机通讯子程序流程图以及下位机中断子程序流程图分别如图 4和图5所示。
控制中心上位PC机始终在循环发送令牌,当远程单元接收到与本机地址相 同的令牌时,置接受数据标志,接收到自己的令牌后,远程单元开始上传数据到上 位PC机,与此同时PC机停止发送令牌并处于接收数据状态,等到接收数据完毕并 检验数据合格后发送确认命令到此远程单元,如果没收到数据或数据不合格发送 错误标志到此远程单元。如果收到的令牌与本机地址不同时,程序返回中断入口 处,继续执行其它操作。这样可保证远程单元把数据准确地发送到上位机PC机。
3.3上位PC机串行通讯程序设计方法 上位机利用VB610进行编程,用VB610开发串行通讯程序普遍采用两种方 法:一种是利用Windows的API函数;另一种是采用VB的通讯控件MSComm。利用 API函数编写串行通讯程序较为复杂,需要调用许多繁琐的API函数,而VB610的 MSComm通讯控件提供了标准的事件处理函数、事件和方法,用户不必了解通信 过程中的底层操作和API函数〔4〕,从而比较容易、高效的实现了串口通信。
控件提供了两种功能完善的串口数据接收和发送功能:一种是查询法,通过 Com2mEvent的值来轮询(polling)事件和通讯状态,可以使用定时器和DO.Loop程 序来实现;另一种是事件驱动法(Event-driven),利用MSComm控件OnComm事件来 捕获串口通讯错误或事件,并在OnComm事件中编写程序进行相应的处理〔5〕。
本软件系统采用了定时器来发送令牌以及接收远程单片机的回执信息,使PC机作 出更快的反应。
软件采用定时器Timer1控件来实现令牌的循环发送。其中设置定时器响应 一次的时间为10ms(Timer11Internal=10)。
3.4下位机ARM2210系列单片机串行通讯程序设计方法 下位机利用软件ADS112进行编程,此软件是专为ARM单片机开发的一种 软件,其语言类似于C语言,有很好的应用性。
4结语该系统应用在对远程设备的在线监测,其通讯网络部分运行平稳,数据传输 误码率低,传输速度符合要求,效率高,操作简单,组网方便,满足生产现场的数据检 测和控制要求。该系统可广泛应用于高精度的工业测控和数据采集等领域中。