1.一种支持发布/订阅的OPC UA多服务器聚合方法,其特征在于,所述方法包括以下步骤:
S1:底层OPC UA服务器向OPC UA聚合服务器中的设备自动发现模块进行登记并注册;
S2:已登记注册的OPC UA服务器通过发布/订阅通信机制或客户端/服务器通信机制,将数据流传输到OPC UA聚合服务器;
S3:OPC UA聚合服务器根据映射规则,将已登记注册的OPC UA服务器信息模型映射到OPC UA聚合服务器信息模型之中;
S4:OPC UA聚合服务器根据聚合算法,将映射后的多个OPC UA服务器进行聚合。
2.根据权利要求1所述的一种支持发布/订阅的OPC UA多服务器聚合方法,其特征在于,在所述底层OPC UA服务器向OPC UA聚合服务器中的设备自动发现模块进行登记并注册之前还包括OPC UA服务器连接工业设备,并获取所述工业设备的实时数据,建立出相应工业网络的底层OPC UA服务器信息模型,将所述实时数据存放在底层OPC UA服务器信息模型中,并通过函数调用实时更新所述底层OPC UA服务器信息模型。
3.根据权利要求1所述的一种支持发布/订阅的OPC UA多服务器聚合方法,其特征在于,所述底层OPC UA服务器向OPC UA聚合服务器中的设备自动发现模块进行登记并注册包括所述OPC UA聚合服务器中的设备自动发现模块创建出OPC UA发现服务器,并对所述OPC UA发现服务器进行初始化配置;配置完成后使所述OPC UA发现服务器具有多播发现功能;
判断是否有新的OPC UA服务器向所述OPC UA发现服务器进行主动注册,若没有新的OPC UA服务器主动注册,则等待注册,若有新的OPC UA服务器进行主动注册,则提取新的OPC UA服务器的URL信息,该新的OPC UA服务器调用函数向OPC UA发现服务器注册;注册完成后,在OPC UA聚合服务器中的设备自动发现模块中创建OPC UA发现客户端并调用函数查看已经登记的OPC UA服务器;登记完成后,关闭并删除OPC UA发现客户端,等待一段时间后关闭并删除OPC UA发现服务器。
4.根据权利要求1所述的一种支持发布/订阅的OPC UA多服务器聚合方法,其特征在于,所述步骤S3中的映射规则包括OPC UA聚合服务器与已登记注册的OPC UA服务器建立连接,并提供地址空间初始化所需要的节点类型以及对象节点之间的引用关系;OPC UA聚合服务器在其地址空间中为每一个节点建立唯一标识;将具有相同属性的类型节点进行统一表示;将OPC UA聚合服务器信息模型扩展为多个OPC UA服务器信息模型对象的集合,对所有底层OPC UA服务器对象引用相同的对象类型并实例化。
5.根据权利要求1所述的一种支持发布/订阅的OPC UA多服务器聚合方法,其特征在于,所述步骤S4中的聚合算法包括每个被聚合的底层OPC UA服务器的命名空间都按照“%A%B:NamespaceURI”的格式进行重新命名,保留被聚合的节点底层OPC UA服务器的节点ID,若节点ID重复,则将%B根据OPC UA聚合服务器的命名空间表分配;聚合完成后,OPC UA聚合服务器的地址空间中类型节点只需要创建一次,当非分层引用不涉及类型定义时,在OPC UA聚合服务器中重新创建一个节点,该节点具有与OPC UA服务器上的节点相同的NodeClass、节点ID和属性;OPC UA聚合服务器将已经收集到的客户端/服务器通信机制下或/和发布/订阅通信机制下的数据,采用数据先进先出和数据最大生存时间的结合算法对所述数据进行缓存,并在映射后的OPC UA服务器对象的变量中设置数据生存标志位;
其中“%A”表示聚合顺序,“%B”表示该命名空间在其原始命名空间表中的索引;
namespaceURI表示属性设置或返回属性的命名空间URI。
6.一种支持发布/订阅的OPC UA多服务器聚合系统,其特征在于,所述系统包括OPC UA服务器、OPC UA客户端、映射配置管理中间件和OPC UA聚合服务器;所述OPC UA服务器负责连接工业现场的设备、机器、传感器,并建立相应工业网络的底层OPC UA服务器信息模型;
所述OPC UA客户端以客户端/服务器通信机制访问底层OPC UA服务器,获取OPC UA地址信息列表并汇集相应的OPC UA设备数据;所述映射配置管理中间件以发布/订阅通信机制访问OPC UA服务器中OPC UA的TSN流信息;所述OPC UA聚合服务器将映射后的多个OPC UA服务器进行聚合,将底层OPC UA服务器接收的工业设备数据进行集中管控并向上为OPC UA客户端提供信息转发。
7.根据权利要求6所述的一种支持发布/订阅的OPC UA多服务器聚合系统,其特征在于,所述OPC UA聚合服务器包括设备自动发现模块、通信接口模块、管理配置模块和聚合数据模块;所述设备自动发现模块负责登记底层OPC UA服务器的注册信息;所述通信接口模块负责对上与上层的OPC UA客户端建立连接,对下与底层OPC UA服务器建立连接;所述管理配置模块负责传输与管理来自底层OPC UA服务器的数据,以及完成底层OPC UA服务器地址空间中的节点数据映射与数据聚合;所述聚合数据模块负责收集映射后的OPC UA数据流并进行数据缓存。
8.根据权利要求7所述的一种支持发布/订阅的OPC UA多服务器聚合系统,其特征在于,所述设备自动发现模块还包括OPC UA发现服务器和OPC UA发现客户端,所述OPC UA发现服务器负责管理登记服务器的注册表,该表记录所有已登记的底层OPC UA服务器信息,所述OPC UA发现客户端负责查询OPC UA发现服务器中目标OPC UA服务器是否存在,如果存在则将目标OPC UA服务器进行聚合。