一种大数量实测信号的集成系统及方法

文档序号:9865338阅读:333来源:国知局
一种大数量实测信号的集成系统及方法
【技术领域】
[0001]本发明涉及OPC技术领域,尤其涉及一种大数量实测信号的集成系统及方法。
【背景技术】
[0002]OPC技术,是世界上多个自动化公司/软硬件供应商与微软合作开发的一套接口的工业标准。其设计目标是为现场设备/自动控制应用/企业管理应用软件之间提供开放、一致的接口规范,OPC技术给工业控制软件提供了一种一致的存取现场设备数据的方法,使得利用OPC在工业控制系统的构建中体现出具大的优势。
[0003]目前利用OPC服务器进行数据的采集和处理时,多采用OPC服务器内的各个变量单独从subsystem通信读取的方式,读取效率很低。例如以TCP/IP通信方式为例,单独DoubleVariable变量的有效数据8Bytes,TCP/IP通信用的以太网首部为HBytes,最少数据为46Bytes。有效字节与实际传送字节比为8:60,实际传送效率低于15%。

【发明内容】

[0004]本发明为克服上述的不足之处,提供一种大数量实测信号的集成系统及方法,采用内存共享文件Map,作为通信软件和OPC DA服务器之间数据交换的桥梁。
[0005]本发明通过以下技术方案达到上述目的:一种大数量实测信号的集成系统,包括通信软件COM App,OPC DA服务器COM Group,下位系统SubSystem,还包括内存共享文件Map,所述通信软件COM App用以从OPC DA服务器COM Group中获得内存共享文件Map的地址,通信软件COM App还用以读取下位系统SubSystem的值并将读取到的值存放在内存共享文件Map内,所述OPC DA服务器COM Group用以从内存共享文件Map中索引出各数据。
[0006]一种大数量实测信号的集成方法,所述通信软件⑶M App和OPC DA服务器⑶MGroup之间添加内存共享文件Map进行数据交互的具体步骤如下所示:
[0007]S1.根据下位系统SubSystem配置Conf ig Data文件,针对每一个下位系统SubSystem建立一个内存共享文件Map;
[0008]S2.下位系统SubSystem由通信软件⑶M App快速读取数据并写入内存共享文件Map;
[0009]S3.所有的内存共享文件Map生成一个内存文件管理表,管理指向内存共享文件Map的指针信息,内存文件管理表中的每一个元素对应一个下位系统SubSystem变量,该元素管理下位系统SubSystem变量的设置信息;
[0010]S4.0PC DA服务器COM Group将内存共享文件Map视为下位系统SubSystem内存的实时映射,所有读写操作都直接读取内存共享文件Map中的数据。
[0011]进一步的,所述步骤SI中内存共享文件Map的建立的具体步骤如下所示:
[0012](I)OPC DA服务器COM Group启动时读取下位系统SubSystem的配置文件SubSystem.xml中的信息,每一个下位系统SubSystem对应一个内存共享文件Map,顺序读取并创建内存共享文件Map,内存共享文件Map顺序命名,内存共享文件Map创建后保存指向内存共享文件Map开始位置的内存指针pMap ;
[0013](2)内存共享文件Map开头部分保留4byte数据区作为OPC DA服务器COM Group读取数据的时刻标记,同时内存共享文件Map的每个下位系统SubSystem变量的开头保留4by t e数据区作为下位系统Sub Sy s t em写入数据的时刻标记;
[0014](3)对每一个下位系统SubSystem,读取下位系统SubSystem的配置文件SubSystem.xml中的信息中的各寄存器区的配置信息,根据下位系统SubSystem变量的多少,顺序计算生成指向每个下位系统SubSystem变量的内存指针pReg加入下位系统SubSystem变量的内存文件管理表,在每个下位系统SubSystem变量的大小内存块的末尾添加8byte的安全区,在读取下位系统SubSystem变量配置信息的同时,程序检查每个下位系统SubSystem变量的大小信息,对有冲突的配置信息,异常的错误配置信息不加入内存文件管理管理表;
[0015](4)重复(1)(2)(3)的过程,读取每个下位系统SubSystem变量的配置信息,生成内存文件管理表。
[0016]进一步的,所述步骤S4中通信软件COMApp将读取到的数据写入内存共享文件Map内的步骤为:
[0017](I)通信软件COM App根据配置文件SubSystem.xml的设定要求,定周期发出读取下位系统SubSystem变量指示;
[0018](2)通信软件COM App与下位系统SubSystem通信,读取下位系统SubSystem变量并写入内存共享文件Map;
[0019](3)0PC DA服务器COM Group从内存共享文件Map内读取写操作的时刻,确认写操作结束;
[0020](4)实现数据写入。
[0021]进一步的,所述步骤S2中OPC DA服务器COM Group从内存共享文件Map内读取所需数据的步骤为:
[0022](I)通信软件COM App从OPC DA服务器COM Group获得内存共享文件Map地址,通信软件COM App按照约定格式读取下位系统SubSystem的数据;
[0023](2)读取到的变量按照Config Data文件约定的格式顺序存放在内存共享文件Map里;
[0024](3)0PC DA服务器根据设定好的Config Data文件中的变量名,从内存共享文件Map中索引出各数据;
[0025](4)0PC DA服务器COM Group从内存共享文件Map内读取所需数据;
[0026](5)实现数据读取。
[0027]本发明的有益效果:0PC DA服务器COM Group进行数据读取时不用每次调用通信软件COM App,从而大大降低了数据读取的时间,可实现10ms级别的高速数据采集。
【附图说明】
[0028]下面结合附图和【具体实施方式】对本发明作进一步详细的说明。
[0029]图1是本发明整体框架图;
[0030]图2是本发明内存共享文件Map创建示意图。
【具体实施方式】
[0031]以下结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于这些实施例。
[0032]结合附图1,一种大数量实测信号的集成系统,包括通信软件COMApp,OPC DA服务器COM Group、内存共享文件Map,下位系统SubSystem,通信软件COM App从OPC DA服务器COM Group获得内存共享文件Map的地址,通信软件COM App即按照约定直接读取下位系统SubSystem的值并将读取到的变量按照ConfigData文件约定的格式顺序存放在内存共享文件Map内,OPC DA服务器COM Group根据设定好的Conf igData文件中的变量名,从内存共享文件Map中索引出各数据,数据读取时不用每次调用通信软件COM App。
[0033]结合附图2,一种大数量实测信号的集成方法,所述通信软件COMApp和OPC DA月艮务器COM Group之间添加内存共享文件Map进行数据交互的具体步骤如下所示:
[0034]SI.根据下位系统SubSystem配置Conf ig Data文件,针对每一个下位系统SubSystem建立一个内存共享文件Map;
[0035]S2.下位系统SubSystem由通信软件⑶M App快速读取数据并写入内存共享文件Map;
[0036]S3.所有的内存共享文件Map生成一个内存文件管理表,管理指向内存共享文件Map的指针信息,内存文件管理表中的每一个元素对应一个下位系统SubSystem变量,该元素管理下位系统SubSystem变量的设置信息;
[0037]S4.0PC DA服务器COM Group将内存共享文件Map视为下位系统SubSystem内存的实时映射,所有读操作都直接读取内存共享文件Map中的数据。
[0038]所述步骤SI中内存共享文件Map的建立的具体步骤如下所示:
[0039](I)OPC DA服务器COM Group启动时读取下位系统SubSystem的配置文件SubSystem.xml中的信息,每一个下位系统SubSystem对应一个内存共享文件Map,顺序读取并创建内存共享文件Map,内存共享文件Map顺序命名,内存共享文件Map创建后保存指向内存
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1