摘 要: 本文首先分析了网络远程控制系统的层次结构,提出了基于网络的工业远程控制系统。系统采用了微软最新的.NET技术,以Visual basic.net作为开发语言,以Visual Studio.Net等软件作为开发工具,以SQL Server 2000作为数据库平台,利用ASP.NET,ADO.NET和Activex等技术开发了基于Web的远程监测系统。
关键字: 远程控制; 网络; SQL
1 引言 控制系统是集计算机技术、控制技术、网络技术为一体的产品,具有控制功能强、操作简便和可靠性高等特点,它可以方便地用于工业装置的生产控制和经营管理。结合网络技术的发展,各种先进的技术不断涌现,例如远程控制、远程制造等。本文以实验室远程控制技术为基础应用于工业现场,设计了一种基于网络的工业远程控制系统。
2 系统构成框图 本工业远程控制系统的总体框图如1所示。[align=center]
图1 系统框图[/align]
3 远程控制网络结构的具体实现 3.1 现场
控制设备 本文的设备层主要包括:THJ-2型高级过程控制系统、SIEMENS变频器、智能数显表、各种传感器、SIEMENS PLC S7-200以及智能采集模块等。在这些设备中SIEMENS PLC S7-200充当下位机作为控制器,它是现场设备层与现场控制计算机层的桥梁。SIEMENS PLC S7-200通过PC/PPI
电缆与工控机的RS-485相连。S7-200 CPU将一个微处理器、一个集成
电源和数字量I/O点集成在一个紧凑的封装中,从而形成了一个功能强大的微型PLC,当下载程序后,S7-200就可以按照逻辑关系控制I/O设备从而实现应用要求。还可利用多种类型的扩展模块来完善其CPU的功能。该系统中膨化罐的温度、重量、压力均用模拟量输入/输出模块EM235来控制。 3.2 现场控制计算机 本系统的现场控制计算机使用的是研华工控机,在硬件方面它本身带有RS-485接口,同时支持ISA、PCI类型的数据采集板卡,很方便就能与现场设备连接。本机在软件方面装有设备专用的编程软件,进行开发、编辑和控制自己的应用程序来控制可编程控制器。例如STEP 7-Micro/WIN编程软件来编辑应用程序,控制S7-200数字量/模拟量输入输出控制,还装有组态软件-MCGS 6.0网络版完成控制画面以及SQL Server 2000完成数据存储。 1、工业控制计算机与THJ-2高级型过程控制装置的通讯 本实验装置与工业控制计算机的通讯采用RS485串口通讯协议,通过在工控机上安装RS232/485转换板卡把工控机RS232通讯协议下的信号转换成RS485通讯协议下的信号,利用仪表控制台侧部的RS485串行接口同所有仪表进行通讯。采用二线制双绞线进行通讯。 工控机上装有MCGS组态软件,在组态软件的设备窗口中,在设备工具箱中加入AI系列智能仪表的驱动程序,首先双击设备工具箱中的通用串口设备,然后再双击不同型号的AI系列智能仪表驱动,使它们挂接在通用串口设备下,通用串口设备的参数设置应当和智能仪表的参数设置相一致,包括最小采集周期,通讯波特率等,通用串口设备的参数设置应当和智能仪表的参数设置相一致,包括最小采集周期,通讯波特率等。 2、数据库服务器 在现代化的工业生产现场,由于大量使用各种类型的控制设备,因此,通常会产生大量的生产数据。这就要求构成控制系统核心的组态软件具备强大的数据处理能力,从而有效、合理地将这些生产数据加以处理,一方面,为现场操作员提供实时、可靠的图象、曲线等,以反映现场运行的状况并方便其进行相应的控制操作;同时,也需要为企业的管理人员提供各种类型的数据报表,为企业管理提供切实可靠的第一手资料。通过MCGS组态软件可以完成数据的初步处理,该组态软件将数据处理过程分为三个阶段,即:数据前处理、实时数据处理以及数据后处理,以满足各种类型的需要,如下图2所示:[align=center]
图2 数据处理流程[/align] 1) 数据前处理。在实际应用中,从硬件设备中输入或输出的数据一般是特定范围内的电压、电流等物理意义的值,通常要对这些数据进行相应的转换,才能得到真正具有实际意义的工程数据。例如,从AD通道采集进来的数据一般都为电压mV值,需要进行量程转换或查表、计算等处理才能得到所需的工程物理量。MCGS系统对设备采集通道的数据可以进行八种形式的数据处理。各种处理可单独进行也可组合进行。MCGS的数据前处理与设备是紧密相关的,在MCGS设备窗口下,打开设备构件,设置其数据处理属性页即可进行MCGS的数据前处理组态。 2) 实时数据处理。MCGS缺省使用Microsoft Access数据库作为历史存盘数据库,用数据库技术来管理和维护存盘的数据,存盘数据库的文件名和路径在主控窗口属性中设定,系统运行过程中,MCGS自动进行数据存贮操作。这对用户数据的开放式管理是一种非常有效的方式。但是,使用Access数据库也受到该数据库本身特性的制约,特别地,当用户工程的存盘数据量很大或需要存贮很长时间内的数据时,使用Access数据库就会因数据库文件过大而导致性能的下降。 针对上述情况,MCGS提供了数据存盘备份机制,将历史数据以多个平面文件的形式存贮在硬盘的指定位置或者通过ODBC连接于其它数据库。在膨化系统里使用的是SQL Server 2000数据库。MCGS可以自动把采集到的数据存入到数据库SQL Server 2000中。只需在数据库服务器上安装Microsoft SQL Server 2000服务器端组件,用SQL Server 2000提供的SQL Enterprise Manager(企业管理器)工具来完成数据库的创建。在膨化炸药数据库里。数据库的表根据控制层的需要和设定,自动在指定数据库中生成。使用的主要数据库表如“膨化炸药”数据库中“真空度”。 注意:对于非组对象类型的数据对象,作为独立的对象按变化量存盘,与作为组对象的成员定时存盘,同一对象采用两种不同的存储方式,在存盘数据文件内是存储在不同的地方。单个数据对象存盘时,数据值主要反映该对象的值随时间变化的情况,而组对象对应的存盘数据重点在于记录其所有成员在同一时刻的值。一个非组对象类型的数据对象可能同时是多个组对象的成员,在几个地方都可能对其进行了存盘处理,每一部分的存盘数据都是各自独立的。 一般情况下采用组对象存盘,因为组对象存盘时是将组对象的所有成员都同时存盘,在历史存盘数据库中,每个组对象对应一个数据表,其成员对应相应的字段域。如果单个变量定义存盘,则在历史数据库中该变量对应一个表和字段域,如果变量较多时,则数据库中的表会很多。在实际工程应用中,多个工程物理量之间有联系,在历史报表、历史曲线中需要把多个变量对应的历史数据同时显示出来,此时用组对象存盘保证存盘数据的同时性,对多个变量的历史数据进行比较才具有物理意义。 3) 数据的后处理。组态软件中的数据的后处理,其本质上是对历史存盘数据库的处理。将存盘数据库中的历史数据加以提炼,得到对用户真正有用的数据和信息,然后,通过历史曲线、历史表格、Excel报表输出以及存盘数据浏览等功能将这些数据和信息形象地显示或打印出来。本文中系统使用的就是ASP.NET里的ADO.NET构件访问存盘数据,通过ADO.NET读取SQL Servers数据库表,以膨化真空度数据为例说明ADO.NET读取SQL Servers数据的实现。 3.3 Web服务器的实现 Web服务器是整个系统的关键,起中转作用其中主要包括五个进程:登录界面,实验参数设置界,实验结果显示界面,Socket服务器和Socket客户端程序,其结构见图3所示。[align=center]
图3 Web服务器结构图[/align] 登录界面,实验参数设置界面和实验结果显示界面都是用ASP.NET建立的动态网页Socket客户端程序和Socket服务器程序是用VB.NET编写,在Web服务器中同时设置Socket的服务器程序和客户端程序是为了将修改后的实验参数及时的送给工控机,实现在线实时调节参数的功能。同时工控机送回的采样值被写入XML文件,实验参数从参数设置界面传给Socket客户端程序,它们之间采用微软消息队列进行通信,是并发执行的。Socket服务器程序将工控机送回的采样值写入XML文件,实验结果显示界面同时读这个文件,并将其中的数据转换成图形的形式展现给用户。 1、使用ASP.NET建立动态页面 登录界面、实验参数设置界面、实验结果显示界面和组态演示界面都使用ASP.NET来实现的。在实现登录,参数设置和实验结果显示时它们分别使用不同的数据库而组态演示界面调用的是ActiveX构件完成。下面介绍把MCGS组态界面通过ActiveX构件嵌入到网页的方法:首先打开VB,创建一个新工程,在ActiveX工具箱中,添加对浏览器组件的索引,在窗体上创建一个浏览器组件,调整其大小。 2、消息队列-MSMQ 从体系结构中可知,本系统采用的是多模块,多进程的模式。为了提高系统的速度,进程间需要并发执行。为了使进程间相互协调的工作,必须要有相应的机制来保证。这种机制应该具有低耦合性,高可靠性的特点。 微软消息队列——MSMQ正是能够满足上述条件的一种通信机制,它提供了可靠的异步和松散耦合的通信机制。MSMQ实现原理:消息的发送者把自己想要发送的信息放入一个容器中(称之为message),并将它保存至一个系统公用空间的消息队列(Message Queue)中;本地或异地的消息接收程序再从该队列中取出发给它的消息进行处理。由于MSMQ是异步通信,无论是发送方还是接收方都不用等待对方返回成功消息,就可以执行余下的代码,这样就能实现进程的并发执行:消息的格式是用户自定义的,可以进行简单的加密:由于MSMQ代表已包装的服务请求,当要求产生日志时,只需自动为相关的日志队列产生每个消息的拷贝即可,因此有利于系统的恢复和安全性。 3、DDE方式建立数据交换的过程 本文中的系统使用的是DDE热链接的方式,同时用Excel作为MCGS的数据与浏览器数据的中间缓存单元。在MCGS的“实时数据库”窗口中定义的变量Dat01-Dat100,根据工程的要求部分变量需DDE输出的,其余的是DDE输入的。在MCGS组态环境的“工具”菜单中选取“DDE连接管理”菜单项。 3.4 代理服务器 本系统使用的代理服务器软件是Sygate,它是一个网关服务器设置软件,比Wingate设定更容易更好用的软件。Sygate是一套允许使用者在局域网中,通过国际互联网连接,分享给整个局域网的使用者,让两台以上的电脑,同时上网的好软件,支持Modem、ISDN、Cable Modem、ASDL等等多种接入,只需要在局域网中有Modem的电脑上安装即可,是解决多计算机Internet共享的好软件。 代理服务除了拥有共享Internet连接的作用外,还可以通过本地计算机硬盘中所保留的缓存来提高访问速度、节约带宽的作用。
本文作者创新点: 远程控制技术是一门综合性技术,涉及控制、网络、计算机、数据库等多个领域。本文从系统集成的角度深入研究设计了基于网络的工业远程控制系统,实现了远程客户端和Web服务器的设计。
参考文献: [1] 薛立,范福玲,刘丽萍.基于Web的远程控制技术的研究与应用[J].中原工学院学报,2005,6(14):18-23 [2] 李洪宝,曾文方.基于Web的实时信息发布系统的设计与实现[J].计算机应用,2005,19(12):P55-P58 [3] Tony Bain, Denise Gosnell.VB.NET和SQL Server 2000高级编程[M].北京:清华大学出版社,2005:150-192 [4] 刘忠超,何东健,范灵燕. 基于嵌入式Web服务器的温室远程监控的研究[J]. 微计算机信息, 2006, 10-2: 141-142