基于C#和OPC技术实现对矿井环境的检测
2012-07-13赵龙涛乔元华周胜梅魏兰磊
赵龙涛,乔元华,周胜梅,魏兰磊,杨 靖
(1.山东科技大学 信息与电气工程学院,山东 青岛 266590;2.滕州市东大矿业集团 山东 滕州 277518;3.桂林电子科技大学 电子工程与自动化学院,广西 桂林 541004)
随着科技的发展和人们生活水平的提高,人们对工作环境的要求也在逐渐的提高,人们的自我保护意识、维权意识,都达到了一个相当高的程度。工作环境的好坏,直接影响着人们的身心健康。在众多的工作中,矿井里的工作环境无疑是比较残酷的。随着科技的进步与发展,矿井中的工作环境已有了很大的改善。矿井工作环境的安全与否,已成为衡量一个矿业发展的重要指标。因此,对矿井环境的检测,也变得尤为重要。
然而,在当今的众多矿井环境检测系统存在许多问题:
1)目前的多数系统多具有单一性的特点,不能在同一个控制平台上全面的显示众多的检测数据;
2)大多数价格比较昂贵,不便于全面的推广;
3)由于许多硬件生产厂家的不同,致使硬件之间的通讯往往存在衔接性的问题。
鉴于目前矿井环境检测系统中存在的众多问题,笔者根据煤矿安全的检测的实际需要,采用OPC技术对现有的硬件资源进行优化配置,使本检测系统尽量达到先进、实用、完善、经济的目的。
1 OPC技术简介
OPC(OLE for Process Control)是由OPC基金会设计推出的一种为过程控制设计的OLE技术[1]。实质上,OPC是一项工业控制中的技术规范与标准,是在微软公司的OLE/COM/DCOM技术基础上,采用Client/Server模型,定义的一个开放式的接口。在定义中,OPC SERVER可以是数据的提供者,OPC程序可以是数据的使用者[2]。
1.1 OPC的组成
OPC的对象主要由服务器 (Server)、 组 (Group) 和项(Item)3部分组成。其中,服务器对应OPC SERVER,即为一种设备的驱动程序,负责维护服务器有关的信息。每一个服务器中可以包含多个组,每一个组可以提供一种管理项的机制,并且负责维护自身的信息,同时从逻辑上完成对项的管理。每一个组中可以包含多个项,项作为与OPC服务器的数据连接[3]。
1.2 OPC技术的优势
OPC最大的优势是即插即用,即采用标准的规范方式配置硬件与软件接口的连接,使硬件资源更加方便的加入到已有的系统中,不需要特别复杂的配置即可投入使用,且对现有的系统没有什么影响。系统中的信息可以很方便的进行数据共享,实现数据维护、数据监控、数据存储与打印的目的。
OPC技术的使用,对开发者来说可以不必过多考虑硬件设备驱动的的问题,不必去设计特定的接口,使开发变得较为简洁容易。对于用户而言,可以选择各种商业的软件包,使得系统集成的成本大大降低。由于逐渐忽略了硬件不同生产厂家的问题,使得系统的修改与升级也变得简便起来。
2 系统硬件组成结构
在矿井环境监测中,通常需要对矿井瓦斯、风速、粉尘、一氧化碳、温度、湿度、氧气、压力、硫化氢和二氧化碳等多种参数进行检测。目前的监控检测系统多具有单一性的特点,即使是对多种数据的检测,也往往具有相对的片面性。由于不同的生产厂家对各种仪器设计的不同,每种仪器的优缺点各异,通信之间往往存在着多种弊端。而采用OPC技术对各种硬件资源进行优化,使各种数据参数均能显示到一个上位机上,方便对矿井中各个参数的检测[4]。
在矿井中采用SIMENS的S7-400H系列模块,进行矿井环境数据的采集处理与通信。传感器采集的模拟信号通过模拟量输入模块SM-431,将过程模拟信号转换成S7-400H内部可以处理的数字信号,由于SM-431:AI16*13位为16点输入,可测量的电压/电流无量程限制,具有13位分辨率,且模拟部分与总线分离,适合本设计的应用。
经SM-431处理的信号传到CPU414-4H中,以其为核心,利用SIMENS S7通讯网络中的以太网及PROFIBUS现场总线,采用两层网络控制结构。上层以PC机为监控平台,通过以太网(TCP/IP)建立上位机和下位机PLC S7-400的通信连接。通过C#编写的上位机软件对矿井的实时数据进行监控显示,并通过数据库SQL SERVER进行相关数据的存储,以便对历史数据的查询、打印等。总体硬件配置结构图如图1所示。
图1 硬件配置结构图Fig.1 Structure diagram of the hardware configuration
3 OPC服务器与S7-400H连接通讯
文中以 SIMATIC NET作为OPC的服务器,SIMATIC NET是一种公开的、多元的通讯系统,包含了西门子公司的大部分网卡驱动程序,可以用它实现现场PLC、主机、工作站和个人电脑之间的联网通讯。作为一种高效的通讯网络体系,主要支持工业以太网、PROFIBUS现场总线、A-S Interface前端总线等。SIMATIC NET OPC服务器不仅提供了数据访问接口,同时还提供了报警和事件的接口等多种功能[5]。
安装必备的软件STEP7,它是一个独立的软件包,可以用来创建S7-400,S7-300和PC项目,同时对S7的功能模块进行编辑。通过STEP7对PC站进行调试,并在PC站和S7-400H系统中设置一个冗余的S7的连接。
通过如图2所示,在SMATIC NET软件中根据图中的步骤建立OPC服务器与S7-400H的连接,当所有步骤完成后,可以在OPC Scout中测试连接的正确性。
图2 OPC SERVER与S7-400H创立连接的步骤图Fig.2 Structure diagram of the connection between OPC SERVER and S7-400H
4 在C#中实现OPC数据访问
实现OPC数据的访问有3种方式,分别是同步通讯、异步通讯和订阅方式通讯[6]。其中订阅方式通常情况下也属于异步通讯的范畴。
同步通讯,即当OPC客户程序对OPC服务器进行读写数据的操作时,OPC客户程序必须等待一段时间,直到OPC服务器所有的操作全部完成后,OPC客户程序才能返回。由于OPC客户程序要等待一段时间,这样使得同步通讯的效率大大降低。当有大量的程序需要进行操作时,必然导致OPC客户程序的堵塞。因此,同步通讯只适用于那种简单的、数据量较少的通讯场合。
异步通讯,即OPC客户程序要对OPC服务器进行相关操作时,OPC客户程序操作完成后立即返回,不需要相应的等待,可以去完成其它的操作。异步通讯的通讯效率在很大程度上搞过同步通讯,异步通讯的优势,使其比较适合与大量数据的通讯场合或者是多个OPC客户程序对单一OPC服务器访问的情况[7]。
本设计中,即采用异步通讯的方式实现OPC客户端对OPC服务器的访问。现在采用自定义接口在C#中实现OPC数据的访问,具体的操作步骤如图3所示。
5 上位机实现的功能
图3 建立异步读写的步骤图Fig.3 Structure diagram of the steps to build asynchronous reading and writing
在C#中的Windows窗体,进行相应窗口的设计,主界面frmMaimForm显示各个采集站点的工作情况,以及对实时数据的监控,可以通过comboBox1的下拉列表对矿井中相应基站的查看,可以通过菜单中的连接进入相对应的子窗口查看,通过comboBox2的下拉列表对矿井中单一数据汇总,比如在某一时刻,各个采集点的温度情况对比。在主窗口中可以通过相应的控件,查看及设定子窗口中的信息。如图4所示,上位机的结构功能图。
图4 上位机结构功能图Fig.4 Structure diagram of computer configuration and function
该上位机具有的功能优势:
1)实时显示 将检测到的众多数据,实时的显示在上位机上,并绘出相应的趋势曲线。利用Crystal Sports进行相关数据的分析,显示各种需要的图表、曲线,进而完成导出或打印的工作。
2)数据定时存储 把生产现场的数据信息、设备运行状态及报警信息等数据储存到SQL SERVER数据库中,方便备用查询及打印。
3)报警功能 对各种重要的参量设定报警界限,并根据相关数据的重要指标,设定报警优先级。进而方便操作员根据报警情况,有先后的去排除故障。
4)数据分析 对SQL Server数据库中的大量数据经行分析,对各种传感器采集的信息进行融合分析,采用特定的算法分析,进而完成矿井中的环境检测。
5)操作简便 操作界面简洁,可观测数据显示简单明了。
6 结束语
随着OPC技术的不断应用,各种设备间的通讯变得简单起来,使控制系统的开发更灵活、更简便,更易于扩展。如本设计中利用C#和OPC技术设计的矿井环境检测系统就具有操作简单,联网方便,数据共享,实时监控,数据分析以及一定的可扩展性的优点。
[1]张烨林,陈德海.浅谈OPC技术应用[J].科技信息,2008(2):66.ZHANG Ye-lin,CHEN De-hai.Talking about the application of OPC technology[J].Science&Technology Information,2008(2):66.
[2]王树东,王洪波,谭华,等.OPC技术在城市污水处理系统中的应用研究[J].电气自动化,2011,33(3):35.
WANG Shu-dong,WANG Hong-bo,TAN Hua,et al.Application and research of OPC technology in the control system of urban sewage treatment[J].Electric Automation,2011,33(3):35.
[3]张晓宇,王加军.OPC技术在建筑智能化控制中的应用[J].通信与广播电视,2009(2):30-34.
ZHANG Xiao-yu,WANG Jia-jun.Application ofOPC technology in the controlofbuilding intelligence[J].Communications&Radio and Television,2009(2):30-34.
[4]王冬梅.基于PLC和智能传感器模块的矿井安全参数检测系统[J].矿山机械,2010(18):67-70.
WANG Dong-mei.Monitoring system formine safety parameters based on PLC and intelligent sensor module[J].Mine&Machine,2010(18):67-70
[5]黄欣敏.基于C#语言的工业计算机与S7-300的OPC通讯[J].重型机械,2011(5):39-42.
HUANG Xin-min.Implementation ofC# based OPC communication between industrial computer and S7-300,Heavy Machinery,2011(5):39-42.
[6]西门子(中国)有限公司.如何在C#中实现OPC数据访问.[EB/OL].(2009-05).http://wenku.baidu.com/view/cbddo876 aaf ff3ffe47ace3.html.
[7]朱立军,安娜,陈未如.基于Visual C#的OPC客户端实现[J].现代电子技术,2009(2):171-173.
ZHU Li-jun,AN Na,CHEN Wei-ru.Implementation of OPC client based on visual C#[J].Modern Electronic Technology,2009(2):171-173.
[8]钱烨,巨林仓,李飞翔.软冗余PLC控制在工业链条锅炉的应用[J].陕西电力,2009(7):54-56.
QIAN Ye,JU Lin-cang,LI Fei-xiang.Application of softwareredundancy PLC control in industrial grate boiler[J].Shaanxi Electric Power,2009(7):54-56.