第41卷第5期 2
015年5月工矿自动化
Industry 
and Mine AutomationVol.41No.5 
May 
2015 文章编号:1671-251X(2015)05-0116-03   DOI:10.13272/j
.issn.1671-251x.2015.05.029井晶.基于ASOPCDA.DLL动态链接库的OPC服务器开发应用[J].工矿自动化,2015,41(5):116-
118.基于ASOPCDA.DLL动态链接库的
OPC服务器开发应用
井晶
(江苏联合职业技术学院徐州财经分院,江苏徐州 221008
)  摘要:
针对现有煤炭自动化控制系统使用的通信协议种类多,存在数据转换、集成难等问题,开发了一种基于ASOPCDA.DLL动态链接库的OPC服务器,
详细介绍了该服务器的开发流程及其在选煤厂中的应用。该服务器可将各种不同的通信协议转换为OPC通信协议,方便上层软件对下层设备的数据集成与整合,为实现信息化提供通信协议基础支撑。
关键词:煤矿自动化;OPC服务器;ASOPCDA.DLL;协议转换
  中图分类号:TD67   文献标志码:B   网络出版时间:2015-04-30 
08:58  网络出版地址:http:
//www.cnki.net/kcms/detail/32.1627.TP.20150430.0858.029.htmlDevelopment and app
lication of OPC server based onASOPCDA.DLL dynamic link library
JING Jing
(Xuzhou Financial and Economic School,Jiangsu Union Technical Institute,Xuzhou 221008,China)  Abstract:In view of problem that existing coal automation control system has many differentcommunication protocols,data conversion and data integration are difficult,an OPC server based onASOPCDA.DLL was developed,and its development flowchart and application in coal preparation plantwere introduced.The server can convert different communication protocols into a universal OPCcommunication protocol,and it will be convenient for the data integration to the device by upper layersoftware,which provides communication p
rotocol basic support for informatization.Key 
words:coal mine automation:OPC server;ASOPCDA.DLL;protocol conversion收稿日期:2014-11-20;修回日期:2015-03-
12;责任编辑:张强。作者简介:井晶(1981-),女,江苏徐州人,讲师,硕士,主要研究方向为计算机网络控制,E-mail:38449726@qq
.com。0 引言
随着自动化通信技术的发展,OPC技术被广泛用于楼宇自动化、过程自动化与运动控制等各种自动化系统中。目前在煤炭自动化控制系统中使用的控制器较多,各种PLC、数据采集器、检测单元与上位机监控软件之间的通信都采用各种特定方式,如自定义协议、Modbus协议、Profibus协议等,缺乏规范性和兼容性,使得维护困难。为此,本文开发了一种基于ASOPCDA.DLL动态链接库的OPC服
务器,利用ASOPCDA.DLL动态链接库将不同的
通信协议转换成工业标准的OPC协议,并通过解析单片机发送的串口数据,供上位机OPC客户端访
问。该OPC服务器的开发使得控制系统能够简便地与外界进行数据交互,可以将煤矿领域使用的各种
系统的各种通信协议转换为OPC协议,
方便了系统之间的数据集成[
1-
3]。1 ASOPCDA.DLL简介
ASOPCDA.DLL可以将不同的协议、
特定的文本转换为OPC协议供外部读取并保存,完全封装了OPC技术的实现细节,
使得开发人员不需要过多了
解OPC通信的底层细节而开发出高效率的OPC服务器。
通过ASOPCDA.DLL快速搭建OPC服务器软件系统时,只需要了解动态链接库内部的方法、函数的使用即可,可以使用VB,VC,.net等多种环境语言编程,并且在Windows Server 2008R2服务器上应用良好。
ASOPCDA.DLL实现的功能:①将不同的协议转换为OPC协议,实现标准化通信。②读取数
据库的数据并提供给OPC访问。③从无协议的文本中提取相应的数据供OPC客户端访问。
2 OPC服务器开发流程
为了降低OPC服务器软件的开发难度,增强OPC服务器的实用性,采用第三方的动态链接库DLL文件实现OPC服务器的开发,大部分OPC开发功能只需要调用动态链接库里面的功能函数即可实现。
OPC服务器基本开发流程如图1所示
图1 OPC服务器开发流程
  使用动态链接库之前需要将动态链接库导入到IDE编程环境中,成功导入之后只需要调用功能函数即可,在动态链接库中主要使用以下主要函数以及定时器来实现服务器的开发。
(1)CreateServer创建服务器:用于创建Client的连接对象,并初始化系统运行参数和分配服务器资源。
(2)SetWriteCallBack,SetReadCallback:注册I/O通信的回调函数。
(3)SetServerNotify,SetGroupNotify:注册工具包信息回调函数。
(4)RegTag,AddTagProperty…:注册标签和标签属性等。
(5)UpdateTag,SetTagProperty:更新标签数据和标签属性值。
(6)RegServer,UnregServer,SetVensionInfo,FreeServer:注册和注销服务器,设置版本信息以及释放服务器资源等。3 OPC服务器在选煤厂灰分仪协议转换中的应用
在OPC服务器里面建立灰分仪的OPC通道,单独采集来自于灰分仪的数据,以区分不同设备的数据。
选煤厂的灰分仪用于检测胶带上煤炭的灰分,但是选煤厂计算机系统集成系统是封闭的,其对外只能在特定条件下通过串口实时发送检测到的数据,外界的计算机通过串口接收该数据后进行保存,实现对数据的共享。灰分仪使用OPC服务器截取串口数据,然后提供接口给上位机。图2为灰分仪发出的串口数据
图2 灰分仪发出的串口数据
  由于灰分仪数据的独立性,为了使上位机软件能够方便地读取灰分串口发出来的数据,其串口解析代码在VB串口的Oncomm事件中产生,具体流程如图3所示
图3 数据读取流程
  通过该步骤就可以将数据读到OPC服务器中,然后通过OPC服务器将数据传送给上位机监控软件,图4为OPC服务器显示的灰分数据[4-5]。
4 数据库与OPC服务器的连接
在实际的应用中,生产线的部分数据是存放在数据库里面的,对外面也没有很好的接口,需要在组
上位机软件开发培训·
·
2015年第5期井晶:基于ASOPCDA.DLL动态链接库的OPC服务器开发应用   
图4 OPC服务器显示的灰分数据
态软件中进行大量的编程才能获取到数据,这样增加了组态软件中的代码量,
且编程复杂。因此,本文提出了利用数据库与OPC服务器之间的接口来传递数据,方便各种组态软件获取数据,生产线上的实时数据存放在SQL 
Server数据库中。图5为SQLServer与OPC服务器建立连接的程序流程[6-9]
图5 SQL 
Server与OPC服务器建立连接的程序流程  为了能够实时反映数据库系统的变化,
采用定时实时监控的方式对数据库进行监控,实时监测数据库的数据变化,
并在数据长时间未变化时对系统做出判定,
提醒用户系统连接出错或者系统未使用。数据库连接字符串如下:
Public My
_Cnn As New ADODB.ConnectionStrCnn="Provider=SQLOLEDB.1;Password=”CUMT”;Persist Security Info=True;User ID=用户名;Initial Catalog=OPC;Data Source=192.168.0.102"My
_Cnn.CursorLocation=adUseClientMy_Cnn.Op
en StrCnn  在VB界面中加入定时器,设定定时器周期为5s,作为OPC服务器实时读取数据库的周期。
通过ASOPCDA.DLL动态链接库开发出的OPC服务器能够将灰分仪中的数据以及数据库数据传递到IFix组态中,实现数据的实时显示与保存。图6为灰分仪与IFix组态软件通信界面
图6 灰分仪与IFix组态软件通信界面
5 结语
OPC服务器利用ASOPCDA、DLL动态链接
库,可将不同的通信协议转换为工业通信标准中的OPC通信协议,简化了数据访问的过程。该OPC服务器已在某选煤厂计算机集成系统中得到应用。应用结果表明,其数据传递正常,且能够稳定地与底层的数据库、设备进行数据交互,实现了不同协议之间的相互转换,确保了系统的稳定性与安全性。
参考文献:
[1] 薛福珍,
林盛荣,唐琰.基于OPC数据访问规范的客户端软件研究与开发[J].计算机工程,2002(4):229-
231.[2] 何海江.
OPC客户端关键技术的实现[J].微计算机信息,2003(7):76-
78.[3] 向冬,
王润孝,秦现生.基于OPC的多层过程控制系统架构设计及实现[J].计算机应用,2003(2):68-70.[4] 马增良,
兰斌.OPC数据访问服务器实现机制研究[J].计算机工程与应用,2003(21):65-
71.[5] 陈丹丹,
钱美,夏立,等.OPC服务器开发的几种方法[J].微计算机信息,2006,22(16):28-
29.[6] 孔玲爽,
肖会芹.利用OPC实现VC应用程序与PLC的数据交换[J].可编程控制器与工厂自动化,2006(3):80-
82.[7] 李蕾,
戴瑜兴.OPC数据存取服务器的实现[J].湖南工程学院学报:自然科学版,2005(2):19-
22.[8] 殷卫兵,
左信.OPC数据服务器分析及程序开发[J].化工自动化及仪表,2003(5):41-
45.[9] 王俊萍.
OPC技术在扩展SCADA系统中的应用[J].现代电子技术,2005(10):42-
44.·
811·工矿自动化
2015年第41卷     

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。