1 引 言
MCGS(Monitor and Control Generated System)是一套基于Windows" target="_blank">Windows平台,用于快速构造和生成上位机监控系统的组态软件系统,为用户提供解决实际工程问题的完整方案和开发平台,能够完成现场数据采集、实时和历史数据处理、报警和安全机制、流程控制、动画显示、趋势曲线和报表输出及企业监控网络等功能。
MCGS需要完成对现场设备或现场仪表的数据采集和控制功能,必须依靠现场总线和MCGS的载机进行通信。而现场系统组成复杂,设备较多,设备间通信协议门类众多,繁简不一,因此研究与开发一种高效便利的总线接口技术,将具有很好的应用价值和市场前景。本文主要讨论在MCGS系统中DCS总线接口设备的设计与实现。
2 概述
MCGS工控组态软件开发工具基于Windows操作平台,支持快速构造、生成工业设备驱动,具有良好的扩充能力。具体地说,MCGS用Active DLL构件的方式实现设备驱动程序,通过规范的OLE接口挂接其中,无缝接入,构成一个整体。设备驱动构件和MCGS运行在同一个进程,故运行速度快、可靠性高、数据流通顺畅、传输无延时,符合监控系统的要求。OLE是一个可扩充的开放标准,只要遵守MCGS的接口规范,就可以使用VB,VC,Delphi等语言编制MCGS的设备驱动程序。这为在总线中接入自行研制的现场设备和现场仪表提供了基础。
嵌入式技术的高速发展提供低价格、高性能、自带大量数据存储空间的片上系统,通过外接MAX485,MAX232,能够在硬件上轻松实现PC和DCS总线的连接。而计算机串行口是计算机和其他设备通信时最常用的一种通信接口。一个串行口可以挂接多个通信设备(如1个RS 485总线上可挂接255个研化通讯模块,但他们共用1个串口父设备),为适应计算机串行口的多种操作方式,MCGS采用在串口通讯父设备下挂接多个通信子设备的一种通讯设备处理机制,各个子设备继承一些父设备的公有属性,同时又具有自己的私有属性。在实际操作时,MCGS提供1个串口通讯父设备构件和多个通讯子设备构件,串口通讯父设备构件完成对串口的基本操作和参数设置,通讯子设备构件则为串行口实际挂接设备的驱动程序。这样就为在总线上挂接多个现场设备和现场仪表提供了保障。MCGS与DCS设备接口如图1所示。
3 DCS总线接口设计
3.1 MCGS接口设备构建
在系统中首先要对现场设备和现场仪表进行归类,对于类型相同的一类设备在MCGS中可以通过复用设备,单独存储的方式,以节省与多个设备通信的时间和开销。通常构造的接口设备功能要单一,然后将其统一组态。
在MCGS中通过构造接口设备,可以将MCGS的GUI控制方式引入DCS的控制中(如图2所示),实现DCS控制的图形化、交互化和组态化,是一种在现有技术和设备上的改造型创新,具有很好的工程应用前景和社会效益。图2中所示数据均来源于现场设备,而仿真仪表也同样是通过DCS与现场仪表连接,实现控制调节功能。
3.2 DCS总线接口设备硬件设计
如图3中DCS网关主要功能是控制网络(监控计算机与控制站)的切换,同时他还担负上下数据通信的协议解析和转换。DCS网关采用Philips公司的LPC2136微控制器,他是一款基于支持实时仿真和嵌入式跟踪的16/32位ARM7TDMI-S CPU,并带有256 kB嵌入的高速FLASH存储器。具有2个16C550工业标准UART,可以完成上位机与下位机的通信。包含多达47个通用I/O口(可承受5 V电压),可用于485通信接口的使能信号。
在485总线上挂接了多个现场设备,为避免通信过程中的冲突,硬件上采用总线型网络结构,软件上采用主从通信方式,即由上位机(MCGS)发送设备I/O命令,DCS网关解析命令后选通对应的通道,上位机发送数据请求命令,DCS网关将该命令直接转发给选通的通道,等待接收数据,最后DCS网关将接收的数据直接上传给上位机,MCGS将其值赋值给对应的变量保存在实时数据库中。
3.3 DCS总线接口设备软件设计
为解析上位机发送的命令,必须首先了解MCGS中所构建设备的通信协议,在该实验系统中所使用的3种设备的通信协议如下:
(1)4017模块
上位机发送:#地址号+回车(0x0D)例如:#07回车;
下位机发送:+3.22+2字符空格+2.55+2字符空格。
(2)4060模块
格式:输出:#地址号+00+XX+回车;
返回:回车。
例如:#010001+回车代表向地址号“01”发送8位数字量“01”
(3)4021模块
格式:输出:#地址号+XX.XXX+回车;
返回:回车。
例如:#0206.111+回车 代表向地址号“02”发送电流值6.111,电流值为标准4~20 mA范围。
MCGS与现场设备或现场仪表的1次通信过程为:MCGS首先通过4060模块发送I/O请求命令,DCS将收到的数据进行解析,如收到#010001,则表示使用通道1,设置成功后返回一个回车符(0x0D),然后等待上位机的数据请求命令。MCGS在收到确认信号后则发送数据请求命令,该命令通过4017模块实现,DCS在接收到该命令后则直接转发给现场设备,然后等待数据接收。DCS收到现场采集的数据后缓存后转发给上位机,交由MCGS处理。
模块4021主要用于设备参数配置的下载。当系统中需要同时采集多路数据时,MCGS在控制策略中采用循环定时采集,对需要采集的现场设备进行轮询,而DCS网关则负责某一设备在轮询期间使能其通信通道。此外为保证数据的正确性和完整性,DCS在软件设计中使用了存储转发机制,即使MCGS出现故障或通信出现问题也可将数据暂存在DCS上,使数据不致于丢失。
4 结语
MCGS在设计思想上的开放性,使得用户可以设计使用灵活、编辑简便、画面质量和表现形式丰富多样的监控系统。利用DCS总线接口在数据实时采集和监控中可以取得较好的控制效果。从笔者参与研制“新型干法水泥生产实验教学系统”的实际应用情况来看,在组态软件中运用DCS总线接口技术控制现场设备,具有很多明显的优势,如系统控制方便、配置灵活、性价比高等。