王静婉
(国家新闻出版广电总局641台,福建 泉州 362100)
模块化巡检监控平台的搭建
王静婉
(国家新闻出版广电总局641台,福建 泉州 362100)
智能仪表的多样化和普及化,极大地方便了现场数据的远程读取和监控。模块化智能仪表结合计算机系统可以方便地构成一个监控管理平台。文章以国家新闻出版广电总局641台机房巡检监控系统为实例,从软硬件两个方面介绍系统搭建的过程。
智能仪表;应用程序开发;巡检监控平台
当前不同功能的智能仪表种类繁多,电信号采集、物理量信号采集、图像采集、标签识别等,其最终被转化为电信号被传输到终端进行处理。根据系统的需求,选择需要的功能,人们可以搭建多功能的系统。
无论智能仪表采用何种工作原理工作,其最终与计算机通信的方式是固定的。计算机总线通信有串行通信和并行通信两种。常见的串行总线有USB通用串行总线,RS232串口,RS485,RJ45网络通信等,常见的并行总线有PCI,IEEE 488等。
为方便开发一个系统,在项目中尽量采用相同厂家或相同通信协议的设备。当无法做到时,必须根据具体设备的具体通信协议来编写程序。本文通过集合多种外部设备,利用编程平台Visual Studio.NET结合数据库进行二次开发。
为了保障设备安全工作万无一失,机房在设备原有保障基础上,附加了很多监控设备及巡视管理手段等。如机房温湿度监控、无线测温、水位水路监测、故障报警、巡视签到、门禁等。不同机房,根据不同需求,选择需要的功能模块进行搭建。
本系统主要的功能需求有。
(1)采集设备及附属设备工作状态、液位、弧光检测等参数信号。
(2)建立巡视签到功能。根据发射机的运行任务,手动设置或自动设置巡视任务。在巡视线路上安装多个解读器,值班人员手持具有个人身份识别的标签刷卡签到。
(3)采集环境温湿度参数。
(4)人机界面包含设备参数的状态显示,记录刷卡信息,建立任务完成情况和统计巡视情况表、设备参数设置等。
根据以上功能需求,我们采用了以下设备来搭建,其硬件结构连接如图1所示。
(1)无线温湿度仪,用于监测发射机房的温湿度,采用了无线射频信号中继,RS232串口通信方式。
(2)8路开关量输入输出、4路模拟量输入的IO设备,用于采样监控发射机的参数,采用了通用串行总线(Universal Serial Bus,USB)的通信协议。
(3)跨网关用户数据报协议(User Datagram Protocol,UDP)读卡器,用于巡视任务的签到,利用射频识别(Radio Frequency Identification,RFID)原理工作,通信采用UDP网络协议,基于局域网的供电系统(Power Over Ethernet,POE)供电。
图1 巡检监控系统外设连接
软件设计采用了Visual Studio 2010开发平台,利用其强大的面对对象设计及丰富的类库进行设计,设计出多种设备的联合通信工作平台。软件编程主要解决以下几个重点。
3.1.1 串口通信
在Visual Studio.NET中面向对象的设计使得对串口通信的编写变得极为简单,可以采用.NET的SerialPort实现,以下是SerialPort控件的串口初始化。
如在接收数据的事件中,SerialPort1.Read(数组名)用于读取串口数据。SerialPort1.write(数组名)用于向串口写数据。Close(),open()函数用来开关串口。
3.1.2 网络通信
IP网络交互分为两大类:面向连接的交互传输控制协议(Transmission Control Protocol,TCP)与面向无连接的交互UDP。Visual Studio.NET中有Socket类库,应用程序可以通过TCPClient,TCPListener和UDPClient类使用TCP和UDP服务。UDP是面向无连接的,其具有单播和广播两种方法[1]。
UDPClient类使用字节数组保存UDP数据文报。只需要使用一个端口和对应的IP地址,便可以使用Send方法向网络发送数据,使用Receive方法接收传入的数据文报。以下文为例,建立了一个名称为xunshi的UDPClient的服务器端程序案例。
3.1.3 API函数调用
应用程序编程接口是提供方已经集成化好的功能函数,这些函数在二次开发中可以方便地直接使用。使用时,先引用提供的包含该API函数的dll头文件,对API函数进行声明,后即可对设备进行操作。
当以多线程的方式工作时,为每种设备建立一个线程,各设备独立工作,保证数据处理的效率。当不同线程需要产生数据交互时,可以使用全局变量来解决。当需要跨线程调用控件时,则需要使用委托来实现。为执行巡视的时间任务,采用Timer控件,建立时间线程,每间隔一段时间刷新当前时间的任务和数据。
数据库是整个监控系统平台的存储区,承担信息的交互存储。本文采用了微软的SQL Server数据库。
图2描述了该巡检监控系统的程序完整流程。应用程序启动后,经过初始化,建立时间主线程。在时间间隔的触发下,不断刷新任务。发射机状态IO线程用于处理发射机状态信号,显示发射机状态,同时通过状态信号建立巡视任务。读卡器采集线程,不断侦听端口,读取采集到的刷卡签到信号,用于任务完成情况的判断。最后通过串口线程发送读取命令,接收当前温湿度信号,刷新显示。这个过程中,配合数据库的操作,实现了该系统的功能。
图2 机房巡检监控平台程序框图
以上便是一个基于多样化智能仪表的自主开发应用程序平台。在这类平台的建立中,主要解决外部设备与计算机的通信编程,以及多线程的工作,结合数据库,可以很好地建立起一个多功能的系统。
[1]郑阿奇.Visual C#.网络编程[M].北京:电子工业出版社,2011.
Construction of the modular inspection and monitoring platform
Wang Jingwan
(641 Platform of State Administration of Press and Publication Administration of Radio, Film and Television, Quanzhou 362100, China)
The diversification and popularization of intelligent instruments, greatly improves the remote reading and monitoring of field data. The combination of modular Intelligent instruments combined with computer systems can easily constitute a monitoring platform.In this paper, the monitoring and control system in our machine room of 641 Platform of State Administration of Press and Publication Administration of Radio is taken as an example to introduce the process of building the system from two aspects of software and hardware.
intelligent instrument; application development; inspection and monitoring platform
王静婉(1987— ),女,福建泉州人,学士,工程师;研究方向:广播发送。