一种mcgs组态系统在工业控制中网络通讯的方法

文档序号:10533853阅读:465来源:国知局
一种mcgs组态系统在工业控制中网络通讯的方法
【专利摘要】一种MCGS组态系统在工业控制中网络通讯的方法,它涉及网络数据通信技术领域,它包含以下步骤:初始化COM口,初始化成功后,进入第二步建立和OPC服务器的连接;在Group对象建立之后,可以在该Group下添加需要的Item对象。利用IOPCItemMgt.AddItem函数在指定的Group下添加一组Item对象,MCGS的OPC服务器中的Item就是实时数据库中变量的名字;它通信可靠,可扩充性强,运用灵活方便,扩展了MCGS在工控领域中网络通讯的功能,具有广阔的应用前景。
【专利说明】
一种MCGS组态系统在工业控制中网络通讯的方法
技术领域
:
[0001]本发明涉及网络数据通信技术领域,具体涉及一种MCGS组态系统在工业控制中网络通讯的方法。
【背景技术】
:
[0002]在现代工业控制系统中网络数据通讯已成为不可或缺的一部分,网络数据通讯的实现对工控实时监控系统有着至关重要的意义。MCGS (MonitorandControlGenera2tedSystem)作为一个比较优秀的国产工控组态软件在工业控制实时监控系统中有着比较广泛的应用,因此有必要对MCGS在工业控制中的网络数据通讯进行深入广泛的了解和研究。
[0003]MCGS组态软件本身提供了一套网络数据通讯机制,可把多台计算机通过TCP/IP网、Modem网、485/422/232网连接在一起,构成分布式网络测控系统,实现网络间的数据同步、数据库同步和网络事件处理。但是这种通讯机制必须建立在安装了 MCGS组态软件的计算机之间进行,对于没有安装该组态软件的计算机,MCGS没有提供和第三方软件进行串口通讯和TCP/IP通讯的接口。
[0004]在MCGS中实现网络数据通讯常用的方法是利用后台程序间接实现网络通讯,即首先利用Delph1、VB或VC++等编程语言编写一个后台应用程序实现网络的串口或TCP/IP通讯,然后利用MCGS提供的一套可扩充接口如数据库、0LE、DDE等实现数据在MCGS组态软件和该后台程序之间的交换,从而间接实现MCGS组态软件和第三方软件的网络数据通讯。这种方法虽然可以实现数据通讯,但是通过后台程序后通讯效率有所下降,特别当数据量比较大时,通讯延时比较大;其次数据接收方必须根据通讯协议对通讯内容进行解析之后方可得到可用的数据内容。

【发明内容】

:
[0005]本发明的目的是提供一种MCGS组态系统在工业控制中网络通讯的方法,它通信可靠,可扩充性强,运用灵活方便,扩展了 MCGS在工控领域中网络通讯的功能,具有广阔的应用前景。
[0006]为了解决【背景技术】所存在的问题,本发明是采用以下技术方案:它包含以下步骤:
[0007]1、初始化 COM 口,利用 Delphi 中 ActiveX 单元中的 CoInitializeSecurity 函数,该函数原形及其参数的详细说明见MSDN ;初始化成功后,进入第二步建立和OPC服务器的连接;
[0008]2、建立和OPC服务器的连接,利用Delphi中ComObj单元中的函数创建一个COM对象,并返回该COM对象的一个接口引用;
[0009]3、建立服务器连接后,利用1PCServer.AddGroup函数在该服务器下添加一个Group对象,同时在该函数中给该Group对象命名并设置客户端的数据刷新时间间隔等;利用1PCServer.RemoveGroup函数可以删除一个已建立的Group对象;
[0010]4、在Group对象建立之后,可以在该Group下添加需要的Item对象;利用1PCItemMgt.AddItem函数在指定的Group下添加一组Item对象,MCGS的OPC服务器中的Item就是实时数据库中变量的名字;利用1PCItemMgt.RemoveItems函数删除一组指定Group中的Item对象;
[0011 ] 5、至此OPC技术规范的3个层已经建立,下面就可以对Item进行操作了,利用1PCSync1.Read和10PC2 Sync1.Write函数对指定的Item对象进行数据同步读写操作。该方法虽然可以对Item进行读写,但是当Item对象很多时,执行效率不高,适合单个或几个Item的情况;当Item很多时就要用到第(6)步中介绍的利用回调函数实现数据自动更新的方法;
[0012]6、回调函数实现数据自动更新,利用ActiveX单元提供的IDataObject.DAdvise和 IConnect1nPoint.Advise 函数分别建立一个由 IDataObject 接口和 IConnect1n2PointContainer接口实现的OPC客户端Group对象回调函数,当服务器Item数据有更新时,自动通知客户端,从而实现数据的自动更新;这两个函数在功能上是一样的,只是利用了不同的接口实现,只要有一个接口的回调函数建立成功即可实现数据的自动更新。
[0013]本发明的原理:利用OPCDA中的OPCBrowse接口动态地连接到指定的服务器中,并在应用时在服务器上建立所需的Group对象及Item对象,或设置Group和Item的Active属性为False,关闭不需要的Group或Item的自动更新功能,进一步提高网络通讯的通讯效率。
[0014]本发明的有益效果:它通信可靠,可扩充性强,运用灵活方便,扩展了 MCGS在工控领域中网络通讯的功能,具有广阔的应用前景。
【具体实施方式】
:
[0015]本【具体实施方式】采用以下技术方案:它包含以下步骤:
[0016]1、初始化 COM 口,利用 Delphi 中 ActiveX 单元中的 CoInitializeSecurity 函数,该函数原形及其参数的详细说明见MSDN ;初始化成功后,进入第二步建立和OPC服务器的连接;
[0017]2、建立和OPC服务器的连接,利用Delphi中ComObj单元中的函数创建一个COM对象,并返回该COM对象的一个接口引用;
[0018]3、建立服务器连接后,利用1PCServer.AddGroup函数在该服务器下添加一个Group对象,同时在该函数中给该Group对象命名并设置客户端的数据刷新时间间隔等;利用1PCServer.RemoveGroup函数可以删除一个已建立的Group对象。
[0019]4、在Group对象建立之后,可以在该Group下添加需要的Item对象。利用1PCItemMgt.AddItem函数在指定的Group下添加一组Item对象,MCGS的OPC服务器中的Item就是实时数据库中变量的名字;利用1PCItemMgt.RemoveItems函数删除一组指定Group中的Item对象;
[0020]5、至此OPC技术规范的3个层已经建立,下面就可以对Item进行操作了,利用1PCSync1.Read和10PC2 Sync1.Write函数对指定的Item对象进行数据同步读写操作。该方法虽然可以对Item进行读写,但是当Item对象很多时,执行效率不高,适合单个或几个Item的情况;当Item很多时就要用到第(6)步中介绍的利用回调函数实现数据自动更新的方法;
[0021]6、回调函数实现数据自动更新,利用ActiveX单元提供的IDataObject.DAdvise和 IConnect1nPoint.Advise 函数分别建立一个由 IDataObject 接口和 IConnect1n2PointContainer接口实现的OPC客户端Group对象回调函数,当服务器Item数据有更新时,自动通知客户端,从而实现数据的自动更新;这两个函数在功能上是一样的,只是利用了不同的接口实现,只要有一个接口的回调函数建立成功即可实现数据的自动更新。
[0022]本【具体实施方式】的原理:利用OPCDA中的OPCBrowse接口动态地连接到指定的服务器中,并在应用时在服务器上建立所需的Group对象及Item对象,或设置Group和Item的Active属性为False,关闭不需要的Group或Item的自动更新功能,进一步提高网络通讯的通讯效率。
[0023]本【具体实施方式】通信可靠,可扩充性强,运用灵活方便,扩展了 MCGS在工控领域中网络通讯的功能,具有广阔的应用前景。
[0024]以上显示和描述了本发明的基本原理和主要特征以及本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
【主权项】
1.一种MCGS组态系统在工业控制中网络通讯的方法,其特征在于它包含以下步骤: (1)、初始化COM P,利用 Delphi 中 ActiveX 单元中的 CoInitializeSecurity 函数,该函数原形及其参数的详细说明见MSDN ;初始化成功后,进入第二步建立和OPC服务器的连接; (2)、建立和OPC服务器的连接,利用Delphi中ComObj单元中的函数创建一个COM对象,并返回该COM对象的一个接口引用; (3)、建立服务器连接后,利用1PCServer.AddGroup函数在该服务器下添加一个Group对象,同时在该函数中给该Group对象命名并设置客户端的数据刷新时间间隔等;利用1PCServer.RemoveGroup函数可以删除一个已建立的Group对象; (4)、在Group对象建立之后,可以在该Group下添加需要的Item对象;利用1PCItemMgt.AddItem函数在指定的Group下添加一组Item对象,MCGS的OPC服务器中的Item就是实时数据库中变量的名字;利用1PCItemMgt.RemoveItems函数删除一组指定Group中的Item对象; (5)、至此OPC技术规范的3个层已经建立,下面就可以对Item进行操作了,利用1PCSync1.Read和10PC2Sync10.Write函数对指定的Item对象进行数据同步读写操作;该方法虽然可以对Item进行读写,但是当Item对象很多时,执行效率不高,适合单个或几个Item的情况;当Item很多时就要用到第(6)步中介绍的利用回调函数实现数据自动更新的方法; (6)、回调函数实现数据自动更新,利用ActiveX单元提供的IDataObject.DAdvise 和 IConnect1nPoint.Advise 函数分别建立一个由 IDataObject 接 口 和IConnect1n2PointContainer接口实现的OPC客户端Group对象回调函数,当服务器Item数据有更新时,自动通知客户端,从而实现数据的自动更新;这两个函数在功能上是一样的,只是利用了不同的接口实现,只要有一个接口的回调函数建立成功即可实现数据的自动更新。2.根据权利要求1所述的一种MCGS组态系统在工业控制中网络通讯的方法,其特征在于它的原理为:利用OPCDA中的OPCBrowse接口动态地连接到指定的服务器中,并在应用时在服务器上建立所需的Group对象及Item对象,或设置Group和Item的Active属性为Fal se,关闭不需要的Group或Item的自动更新功能,进一步提高网络通讯的通讯效率。
【文档编号】G05B19/042GK105892344SQ201510023256
【公开日】2016年8月24日
【申请日】2015年1月14日
【发明人】傅涛, 傅德胜, 经正俊, 孙文静
【申请人】江苏博智软件科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1