基于力控组态软件的新型DCS监控软件设计 |
1 引言 分布式控制系统通常可以分为现场控制层、过程监控层、生产管理层和市场经营管理层四个层次,过程监控层通过对多个控制设备的集中管理,完成监控生产过程的目的。力控PCAuto监控组态软件是处于过程监控层的软件平台,它可运行于Windows 98/NT/2000/XP操作系统之上,能与国内外各工控厂家的常用设备通信,与工控机和网络系统相结合,可方便、快速地构造满足不同需求的数据采集与监控系统。 虽然力控提供了许多常用设备的驱动程序,但在实际应用中,由于工程需要和设备的特殊性,力控所提供的现有驱动程序并不能满足所有设备需要,此时便需利用力控驱动开发包提供的接口来开发新驱动程序。对于普通用户来说,驱动开发是一项很艰难的工作,但是力控提供了多种与第三方软件的接口,如OLE控件、内部组件等,这就为我们提供了另外一个解决问题的思路:利用VB、VC等开发工具自行开发通信程序采集数据,再利用力控提供的OLE控件等接口将通信程序与力控连接,实现数据共享。这样,无需开发新驱动程序便可使力控采集到现场设备的数据。这种基于力控组态软件的新型监控软件的结构框图如图1所示: 图1 软件结构框图 本文以基于RS-485串行通信的分布式控制系统为应用背景,对这种新型监控软件的实现做了探讨。 2 上位机串行通信的实现 2.1 串行通信接口技术 串行通信常用的接口有RS-232C接口及RS-485接口。由于RS-232C接口通信距离较近,当传输距离较远时,可采用RS-485串行通信接口。RS-232C接口和RS-485接口之间的转换可采用相应的转换模块。一般计算机内都配有通信适配器,使计算机能够与其它具有RS-232C 接口的计算机或设备进行通信。数据通过串口一次只传送1个字节,且数据和控制信号都在单根导线上移动,需要应用通信协议。常用的通信协议如下:1个起始位;7个或8个数据位;奇偶效验位;1个或2个停止位;通信速率(单位为波特率或bit/s)。 构成基于RS-485串行通信的分布式控制系统通常采用以下硬件构成方案:计算机RS-232C接口经RS-232C串行通信线连接RS-232C/RS-485转换模块,转换模块经RS-485串行通信线连接各个现场设备的RS-485接口。再配以上位机监控软件,便可以从计算机串行口采集现场设备的数据。 串行通信可以在DOS或Windows环境下进行,可以用汇编或高级语言编写通信程序。本文介绍如何利用Windows的ActiveX控件进行编程。利用ActiveX控件编写串行通信程序,其编程步骤如下: (1) 设置通信协议(传输速率、奇偶校验、传输位数、终止位); 2.2 串行通信编程 在Windows环境下编写串行通信程序,可以利用VB提供的良好界面设计能力及强大的串行通信功能。VB 6.0利用MSComm控件通过串行端口发送和接收数据,为应用程序提供串行通信能力。 MSComm控件是用于Windows环境的32位串行通信控件,每个MSComm控件对应于一个串行端口。应用程序中需要多个串行口时,要使用多个MSComm控件。MSComm控件的主要属性及说明如附表所示。 附表 MSComm控件常用属性 使用MSComm控件前,需要向工具箱添加该控件:选择“工程”菜单中“部件”项,“控件”页中选中“Microsoft Comm control 6.0”项,点击“确定”,完成MSComm控件的添加。 3 力控实时数据库与DbCom控件 力控的实时数据库是一个开放的数据平台。用户可以利用数据库提供的接口,在该平台上进行二次开发,创建自己的应用程序。实时数据库提供的控件DbCom就是一种方便、高效的接口方式。 DbCom是一个标准OLE控件,用户在各种常用开发环境(如C++ Builder、VC++、VB、Delphi等)下可以调用DbCom来访问数据库中的数据。通过DbCom,上位机通信程序不但可以读取力控数据库数据,而且可以设置力控数据库数据。在安装力控时,安装程序自动完成DbCom的安装与注册。DbCom是一个在程的OLE控件,在应用程序中使用时,必须同时启动数据库DB。 下面给出通过DbCom控件访问力控数据库的两个常用方法。 4 结束语 本文提出的基于力控组态软件的新型监控软件,利用了力控实时数据库提供的OLE控件接口,将力控组态软件的强大功能与VB自行开发程序的灵活性结合起来,更好的满足了工业分布式控制系统的需要。这种新型监控软件已在某港口配电监控系统等实际工程项目中得到成功应用。 |