欢迎光临小豌豆知识网!
当前位置:首页 > 物理技术 > 调节控制> 一种基于OPC-UA的软/硬件联合仿真系统及其自适应协同方法独创技术25956字

一种基于OPC-UA的软/硬件联合仿真系统及其自适应协同方法

2021-04-23 06:45:27

一种基于OPC-UA的软/硬件联合仿真系统及其自适应协同方法

  技术领域

  本发明涉及系统仿真技术领域,尤其涉及一种基于OPC-UA的软/硬件联合仿真系统及其自适应协同方法。

  背景技术

  仿真系统是智能工厂运行性能、效能、安全等方面进行验证测试和优化升级的必要手段。由于智能工厂场景覆盖多种生产工艺场景与异构网络,并含有复杂网络的拓扑结构,该场景下的仿真系统不仅需要涉及到工艺仿真、物流仿真、网络仿真,能源仿真等软件,还涉及到专用的实时硬件模拟器、物理测试床等硬件仿真器。因此,建立精细准确的仿真测试需对软/硬混合的多仿真系统进行联合仿真,才能更全面地模拟实际系统的运行机理,从而评估系统的设计方案。

  参与联合仿真的每个仿真单元(Simulation Unit,SU)运行完整仿真的一部分,并需与其它的仿真单元进行时间同步,从而实现完整耦合系统的全局仿真。理想情况下,工厂的每个模块或设备提供自己的仿真模型,用系统体系工程方法来创建、通信和维护仿真模型,最后集成至一个完整的系统仿真模型。然而,现有的联合仿真标准仅限于特定行业或特定工具,缺乏统一的标准进行集成,例如,功能实体接口(Functional Mock-up Interface,FMI)和高层体系结构(High-Level Architecture,HLA)等。

  在多个仿真单元联合仿真时,需要对多个仿真系统或设备进行统一的协同管理,各个仿真器按照设定的步长进行仿真数据的交互。但由于各仿真系统运行模式(离散、连续和混合)的求解复杂程度,以及系统运行周期的不同,各仿真器的运行步长具有极大的差异。例如,通信和电气类的步长通常比较短,为微秒至毫秒级,加工、物流类的步长比较长,为分钟甚至小时级别。同步步长的差异会导致协同仿真的效率降低,设置不合理时会导致仿真系统出现无法收敛的问题,进而无法得到正确的验证结果。因此,如何设计联合仿真的仿真步长,保障仿真系统安全有效地运行,是实现智能工厂复杂系统的半实物仿真方案需要解决的一个关键技术。

  国内申请号为201610055323.X的名称为“一种基于变时间窗同步方式的电力通信系统联合仿真平台及其同步方法”的专利,针对电力通信系统设计的仿真同步模块根据电力系统的仿真数据切换仿真的同步时间窗,对两个仿真工具进行控制,但是其设置的时间窗仅在已设置的固定宽、窄时间步长进行切换,无法根据智能工厂复杂系统的多个仿真单元设置合适的时间步长,仿真精度有限。国内申请号为201810498282.0的名称为“一种多仿真器协同的仿真方法、仿真主控平台和仿真系统”的专利,采用拉格朗日多项式对仿真步长大于预测协同步长的仿真器进行插值,并将该数据传递给其它仿真器进行协同仿真计算,但是其数值预测技术仅为理论逼近,无法准确描述仿真器的真实响应。国内申请号为201810697108.9的名称为“一种用于实现多仿真模拟设备实时同步控制方法”的专利,采用实时通讯网连接仿真计算机和多个仿真设备,仿真计算机收集相应仿真模拟设备的反馈数据完成仿真,但是当参与仿真的设备数量大于某一阈值时,通讯和交互机制无法保障大量数据的实时、可靠传输,同时仿真计算机也无法保障控制指令和控制数据的实时反馈。国内申请号为201610988418.7的名称为“一种仿真系统自动同步可靠通信方法”的专利,将网络通信代码封装至一个类中,每个类的对象包括一个发送队列与接收队列,通过传输有效数据包(确保按序接收一次且只接收一次的数据包)使得各仿真子系统可以通过该类的对象实现可靠通信,但是当仿真运行过程中某个或某些子系统出现故障导致重新启动时,需要恢复上次运行时的通信关系,无法保障出现通信错误时的传输可靠性和安全性。

  综上,现有技术方案的缺点在于:

  (1)现有的联合仿真系统大多针对全软件仿真或全硬件仿真,未考虑软、硬件同时存在的复杂耦合系统,不适用于智能工厂的半实物系统仿真方案。

  (2)现有的联合仿真大多假设仿真单元之间的实时可靠通信可以实现,很少涉及具体的通信架构与规范、以及通信和交互机制来保障联合仿真单元之间的有效交互。

  (3)现有的多个仿真系统的仿真方案采用基于OPC-UA协议的客户端/服务端架构,通过建立点对点的会话构建耦合网络进行数据交互,并将数据处理集成于总控制器,仿真单元仅接收总控制器的指令并反馈相关数据,这导致该架构下的计算负载较大,当仿真单元设备数量过多时,无法保障数据传输的可靠性。

  (4)现有技术设计多个仿真单元的联合仿真步长时多采用在固定的时间步长中进行切换,对于时间步长长于协同仿真步长的仿真单元采用插值预测反馈数据,然而固定的时间步长和插值预测无法保障复杂耦合系统仿真的精确性。

  因此,本领域的技术人员致力于开发一种基于OPC-UA的软/硬件联合仿真系统及其自适应协同方法,利用基于OPC-UA协议的订阅/发布架构的联合仿真方案进行各仿真单元的协同控制,以进一步优化系统结构,降低计算复杂度,能够有效处理实际工业网络结构复杂、信息交互频繁的场景。

  发明内容

  有鉴于现有技术的上述缺陷,本发明所要解决的技术问题包括:

  (1)如何构建智能工厂的复杂耦合系统中软/硬件混合的仿真方案;

  (2)如何设计具体的通信和交互机制来保障联合仿真的各个仿真单元数据交互的可靠性;

  (3)如何在参与联合仿真的仿真单元的时间步长不一致的问题下,针对智能工厂的复杂耦合系统设计自适应步长调整方案,使得联合仿真能精确、有效地进行。

  为实现上述目的,本发明提供了一种基于OPC-UA的软/硬件联合仿真系统,包括仿真单元、仿真适配器、通信模块和时钟代理;

  所述仿真单元包括工艺仿真、物流仿真、网络仿真,能源仿真等软件,以及专用的实时硬件模拟器、物理测试床等硬件仿真器;

  所述仿真适配器包括OPC-UA客户端和仿真单元接口,所述仿真适配器采用OPC-UA协议,被设置为仿真单元与中间件代理进行数据交互的接口,以完成联合仿真的数据交互;

  所述通信模块根据所述仿真单元的传输要求设置传输协议,对于有低时延要求的所述仿真单元,所述通信模块采用统一架构数据报协议(OPC UA Datagram Protocol,UADP);对于只需非实时的传输流的所述仿真单元,所述通信模块采用UADP或者UDP协议中的任一种;

  所述时钟代理控制联合仿真的协同仿真步长设置,联合仿真期间每个所述仿真单元每执行一个仿真步长之后通过所述仿真适配器向所述时钟代理发送一条报告消息以报告该仿真步骤已完成,当所有的所述仿真单元均报告已完成当前的仿真步骤后,所述时钟代理向每个所述仿真单元发送一条仿真步长确认信息或配置调整信息消息以开始下个仿真步长的仿真步骤;若后续仿真步长需要调整,则发送所述配置调整信息,若后续仿真步长保持不变则发送所述仿真步长确认信息。

  进一步地,所述时钟代理被设置为用于实现各个所述仿真单元的分布式交互;各所述仿真单元的工作状态和反馈数据通过相应的所述仿真适配器,根据仿真器间数据的订阅规则通过所述通信模块发送给相应的所述仿真适配器和所述仿真单元。

  本发明还提供一种基于OPC-UA的软/硬件联合仿真系统的自适应协同方法,包括以下步骤:

  步骤1:用户创建联合仿真环境,建立各个所述仿真单元的仿真模型;

  步骤2:配置所述联合仿真环境,建立信息模型,各所述仿真适配器连接至对应的所述仿真单元,且设置所述联合仿真环境中的各所述仿真单元所需的服务质量QoS需求,建立基础的所述联合仿真环境;

  步骤3:根据各所述仿真单元的仿真步长,根据步长协同自适应方法确定联合仿真的协同仿真步长;所述协同仿真步长可以保障某个或某些仿真单元内出现突发事件(如故障等)时整体联合仿真系统的稳定运行;

  步骤4:运行联合仿真;

  步骤5:联合仿真结束,评估仿真结果。

  进一步地,在所述步骤2中,构建所述联合仿真环境时,所述仿真单元的所述仿真适配器采用OPC-UA协议与所述仿真单元进行数据交互。

  进一步地,在所述步骤2中,构建所述联合仿真环境时,采用基于OPC-UA协议的发布/订阅(Pub/Sub)机制完成各所述仿真单元的分布式交互。

  进一步地,在所述步骤3中,所述协同仿真步长的确定为以下三种情况中的一种:

  情况一:各仿真单元正常运行时,联合仿真基于时序划分,进行到下一时序步长前所有的所述仿真单元需完成自己的模拟计算;联合仿真的所述协同仿真步长选择接近通信交互周期T的所有所述仿真单元的最小可能的仿真时间步长Ti(i=1,…,N,N为参与联合仿真的仿真单元数量)的最小公倍数;

  情况二:当新增一个或多个所述仿真单元时,联合仿真在完成当前时间步长的仿真后,即所述时钟代理接收到所有所述仿真单元的报告当前仿真步骤已完成的消息后,所述时钟代理重新计算联合仿真的协同仿真步长;此时联合仿真的所述协同仿真步长选择原正常运行时的联合仿真步长与新增的所述仿真单元的最小可能的仿真时间步长的最小公倍数;

  情况三:当突发事件检测机制检测到某个或某些仿真单元出现突发事件时,联合仿真自适应地切换到基于事件触发的运行方式,所有的突发事件需确保按照正确的顺序被顺次执行,此时的联合仿真是非周期的。若该突发事件已于所述时钟代理(Clock Agent)进行预设,则可提前于前一时间同步点进入事件触发模式,否则各所述仿真单元回退至前一仿真同步点。联合仿真的所述协同仿真步长按照当前所有突发事件的触发时间点和剩余正常运行的所述仿真单元的仿真时间步长的最小公倍数的进行确定。

  进一步地,在所述步骤3中,各所述仿真单元按照自己的仿真步长进行仿真与数据交互,所述协同仿真步长仅作为最小间隔基础步长。

  进一步地,所述步骤4包括以下步骤:

  步骤4.1:各所述仿真单元在每一个仿真时间步长里根据所述步骤1建立得到的仿真模型更新自己的仿真输出;

  步骤4.2:各所述仿真单元将更新的仿真配置输出发送至所述仿真适配器;

  步骤4.3:各所述仿真适配器作为发布方将其对应的所述仿真单元的输出组成数据集,用于数据发布的准备;所述数据集和OPC-UA信息模型的节点相连,包括发布数据集和数据集域;

  步骤4.4:各仿真单元发布的所述数据集传入写入组;所述写入组为数据交互中消息的生产者,用户可自行添加数据集写入函数;

  步骤4.5:所述通信模块根据所述仿真单元的时延要求以对应的传输协议在选择的传输层进行数据传输;

  步骤4.6:相应的所述仿真适配器作为订阅方接收到已订阅主题的消息数据后,通过读入组获取订阅数据集,并将该数据发送至对应的所述仿真单元;所述读入组为数据交互中消息的接收者,用户可添加数据集读取函数;

  步骤4.7:所述仿真单元完成当前仿真步骤,通过所述仿真适配器向所述时钟代理发送报告消息以报告当前仿真步骤已完成;

  步骤4.8:所述时钟代理确认收到所有所述仿真单元已完成当前时间步骤的消息报告后,向当前所有所述仿真单元发送一条仿真步长确认信息或配置调整信息,通知其可进行到下一步长的仿真步骤;若后续仿真步长需要调整,则发送所述配置调整信息,若后续仿真步长保持不变,则发送所述仿真步长确认信息;

  步骤4.9:返回执行所述步骤4.1。

  进一步地,在所述步骤4.3中,所述发布数据集是发布信息的容器,由发布的变量及元信息组成,包含一组变量、事件过滤、应用特定信息及元数据;所述数据集域为发布变量的描述,包含选择的信息模型节点以及发布、采样、出错处理等额外信息。

  进一步地,在所述步骤4.5中,所述数据传输包括以下两种情况:针对低时延要求的数据流,使用UADP直接映射至参考模型的第2层,消息于以太网帧中打包;针对非实时数据流,将UADP数据报直接映射至UDP,消息于UDP包中打包;所述消息需经过安全密钥服务器进行安全加封后进行传输;

  所述安全密钥服务器基于OPC-UA协议构建,管理所述发布方和所述订阅方的安全密钥,通过OPC-UA客户端-服务端形式与发布方、订阅方建立连接。

  与现有技术方案相比,本发明的有益技术效果在于:

  (1)采用联合仿真系统,使得参与联合仿真的每个仿真单元仅运行完整仿真的一部分,通过与其它仿真单元的数据交互实现完整耦合系统的全局仿真,从而解决了智能工厂多个软/硬件仿真系统混合带来的问题,更全面地模拟了实际系统的运行机理。

  (2)利用基于OPC-UA协议的订阅/发布架构的联合仿真方案进行各仿真单元的协同控制,建立了扁平化的工业仿真系统,相较于集中式的总控制器与多个从控制器的仿真方案,本发明进一步优化了系统结构,使得计算复杂度大大降低,各仿真单元之间可分布式交互,显著提高了仿真系统的可靠性,可以有效处理实际工业网络结构复杂、信息交互频繁的场景。

  以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。

  附图说明

  图1是本发明的一个较佳实施例的软/硬混合联合仿真系统架构图;

  图2是本发明的一个较佳实施例的协同自适应控制方法流程图;

  图3是本发明的一个较佳实施例的配置联合仿真环境的服务质量QoS需求示意图;

  图4是本发明的一个较佳实施例的发布方与订阅方数据交互过程示意图;

  图5是本发明的一个较佳实施例的通信模块传输仿真适配器所发布数据的过程示意图。

  其中,1-通信模块,2-仿真适配器,3-仿真单元,4-时钟代理,21-OPC-UA客户端,22-仿真单元接口。

  具体实施方式

  以下参考说明书附图介绍本发明的多个优选实施例,使其技术内容更加清楚和便于理解。本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非仅限于文中提到的实施例。

  本发明的目的在于克服现有联合仿真方案的缺陷,提供一种针对智能工厂场景的软/硬混合联合仿真系统及其协同自适应方法,可以实现智能工厂的半实物复杂系统仿真。

  如图1所示,一种基于OPC-UA的软/硬件联合仿真系统包括通信模块1、若干个仿真适配器2(Simulation Adaptor,SA)、仿真单元3(Simulation Unit,SU),以及时钟代理4(Clock Agent,CA)。仿真适配器2包括OPC-UA客户端21和仿真单元接口22。

  运行联合仿真时,通过时钟代理4控制联合仿真的仿真步长实现各个仿真单元3的分布式交互,各仿真单元3的工作状态和反馈数据通过相应的仿真适配器2,根据仿真器间数据的订阅规则通过通信模块1发送给相应的仿真适配器2和仿真单元3,完成有效的联合仿真。

  通信模块1根据仿真单元3的传输要求设置传输协议,对于有低时延要求的仿真单元3,可采用统一架构数据报协议(OPC UA Datagram Protocol,UADP),将数据报直接映射至OSI(Open System Interconnection,OSI)参考模型的第2层,从而保证消息的低循环时间要求;对于只需非实时的传输流的仿真单元,可采用前者方式,也可将UADP数据报映射至用户数据报协议(User Datagram Protocol,UDP)的UDP数据包中进行传输。

  仿真适配器2采用一种基于OPC-UA的仿真适配器,包含:OPC-UA客户端21和仿真单元接口22。OPC-UA客户端21基于OPC统一架构(OPC Unified Architecture,OPC-UA),该架构提供了一致、完整的地址空间和服务模型,能够跨平台地进行通信,具有更高地安全性和可靠性。采用OPC-UA协议进行智能工厂场景下的软/硬件混合的联合仿真可实现元数据的无缝访问,有助于提高仿真系统的可拓展性,从而满足柔性工业制造的生产环境的精确仿真要求。所述仿真单元接口22与仿真单元3一一对应,根据仿真单元3的物理特性进行数据连接。

  仿真单元3包含智能工厂场景下的软/硬件仿真器,包括工艺仿真、物流仿真、网络仿真、能源仿真等软件,以及专用的实时硬件模拟器、物理测试床等硬件仿真器。

  时钟代理4控制联合仿真的协同仿真步长的设置。联合仿真期间每个仿真单元3每执行一个仿真步长之后通过仿真适配器2向时钟代理4发送报告消息以报告该仿真步骤已完成,当所有的仿真单元3均报告已完成当前的仿真步骤后,时钟代理4向每个仿真单元3发送一条仿真步长确认信息或配置调整信息消息以开始下个仿真步长的仿真步骤。若后续仿真步长需要调整,则发送配置调整信息,若后续仿真步长保持不变则发送仿真步长确认信息。

  如图2所示为一种基于OPC-UA的软/硬件联合仿真系统的协同自适应方法流程图,包括以下步骤:

  步骤1:用户创建联合仿真环境,建立各个仿真单元(软、硬件混合)的仿真模型。

  步骤2:配置联合仿真环境,建立信息模型。

  步骤2.1:仿真适配器连接至相应的仿真单元。

  步骤2.2:若仿真适配器在合理的时间内未收到仿真单元的连接请求,关闭网络连接,该仿真单元退出联合仿真。所述合理的时间取决于应用服务的类型及通信基础设施等。

  步骤2.3:设置联合仿真环境各仿真单元的服务质量(Quality of Service,QoS)需求,包括带宽保证(Bandwidth Guarantee)及最大时延(Maximum Latency)等要求。底层需读取相应的QoS要求并配置相应参数。

  步骤3:根据各仿真单元的仿真步长,根据步长协同自适应方法确定联合仿真的协同仿真步长。

  所述步长协同自适应方法可以在新增一个或多个仿真单元、某个或某些仿真单元内出现突发事件(如故障等)导致需要更细化的仿真步长时,自适应地调整联合仿真系统的协同仿真步长,包含以下三种情况:

  ①各仿真单元正常运行时,联合仿真基于时序划分,进行到下一时序步长前所有的仿真单元需完成自己的模拟计算。联合仿真的协同仿真步长选择接近通信交互周期T的所有仿真单元的最小可能的仿真时间步长Ti(i=1,…,N,N为参与联合仿真的仿真单元数量)的最小公倍数;

  ②当新增一个或多个仿真单元时,联合仿真在完成当前时间步长的仿真后,即时钟代理接收到所有仿真单元的报告当前仿真步骤已完成的消息后,时钟代理重新计算联合仿真的协同仿真步长。此时联合仿真的协同仿真步长选择原正常运行时的联合仿真步长与新增的仿真单元的最小可能的仿真时间步长的最小公倍数;

  ③当突发事件检测机制检测到某个或某些仿真单元出现突发事件时,联合仿真自适应地切换到基于事件触发的运行方式,所有的突发事件需确保按照正确的顺序被顺次执行,此时的联合仿真是非周期的。若该突发事件已于时钟代理(Clock Agent)进行预设,则可提前于前一时间同步点进入事件触发模式,否则各仿真单元回退至前一仿真同步点。联合仿真的协同仿真步长按照当前所有突发事件的触发时间点和剩余正常运行的仿真单元的仿真时间步长的最小公倍数的进行确定。

  步骤4:运行联合仿真。

  步骤4.1:各仿真单元在每一个仿真时间步长里根据第一步建立得到的仿真模型更新自己的仿真输出。

  步骤4.2:各仿真单元将更新的仿真配置输出发送至仿真适配器。

  步骤4.3:各仿真适配器(发布方)将其对应的仿真单元输出组成数据集(Datasets),用于数据发布的准备。所述数据集和OPC-UA的信息模型的节点(如变量)相连,包括发布数据集(Published Datasets)和数据集域(Dataset Fields)。

  所述发布数据集是发布信息的容器,由发布的变量及元信息组成,包含一组变量、事件过滤、应用特定信息及元数据(Meta Data)。

  所述数据集域即为发布变量的描述,包含选择的信息模型节点以及发布、采样、出错处理等额外信息。

  步骤4.4:各仿真单元发布的数据集传入写入组(WriterGroup)。所述写入组为数据交互中消息的生产者,用户可添加DatasetWrite(数据集写入)函数。

  步骤4.5:通信模块根据仿真单元的时延要求以对应的传输协议在选择的传输层进行数据传输。所述传输过程包括以下两种情况:针对低时延要求的数据流,使用UADP直接映射至参考模型的第2层,消息于以太网帧中打包;针对非实时数据流,将UADP数据报直接映射至UDP,消息于UDP包中打包。所述消息需经过安全密钥服务器(Security Key Server)进行安全加封(Secure Envelope)后进行传输。

  所述安全密钥服务器是基于OPC-UA协议的服务器,管理发布方和订阅方的安全密钥,通过客户端-服务端(Client-Server)形式与发布方、订阅方建立连接。

  步骤4.6:相应的仿真适配器接收到已订阅主题的消息数据后,通过读入组(ReaderGroup)获取订阅数据集,并将该数据发送至对应的仿真单元(订阅方)。所述读入组为数据交互中消息的接收者,用户可添加DatasetRead(数据集读取)函数。

  步骤4.7:仿真单元完成当前仿真步骤,通过仿真适配器向时钟代理发送消息报告当前仿真步骤已完成。

  步骤4.8:时钟代理确认收到所有仿真单元已完成当前时间步骤的消息报告后,向当前所有仿真单元发送一条消息,通知其可进行到下一步长的仿真步骤。所述消息为仿真步长的确认信息或配置调整信息,若后续仿真步长需要调整,则发送配置调整信息,若后续仿真步长保持不变则发送仿真步长的确认信息。

  步骤4.9:转到步骤4.1。

  步骤5:联合仿真结束,评估仿真结果。

  上述步骤2中,对联合仿真环境进行初始化配置,建立信息模型的示意图如图3所示。

  在上述步骤4.3,4.4和4.6中,发布方与订阅方数据交互过程示意图如图4所示。

  在上述步骤4.5中,通信模块传输仿真适配器发布数据过程示意图如图5所示。

  本发明的优点在于:

  1、采用联合仿真系统,使得参与联合仿真的每个仿真单元仅运行完整仿真的一部分,通过与其它仿真单元的数据交互实现完整耦合系统的全局仿真,从而解决了智能工厂多个软/硬件仿真系统混合带来的问题,更全面地模拟了实际系统的运行机理。

  2、利用基于OPC-UA协议的订阅/发布架构的联合仿真方案进行各仿真单元的协同控制,建立了扁平化的工业仿真系统,相较于集中式的总控制器与多个从控制器的仿真方案,本发明进一步优化了系统结构,使得计算复杂度大大降低,各仿真单元之间可分布式交互,显著提高了仿真系统的可靠性,可以有效处理实际工业网络结构复杂、信息交互频繁的场景。

  以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

《一种基于OPC-UA的软/硬件联合仿真系统及其自适应协同方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)