
技术摘要:
本发明公开了一种基于OPC‑UA的仿真软件数据通信方法,涉及软件通信技术领域,该方法包括:建立OPC‑UA信息模型;解析OPC‑UA信息模型,得到内存结构体;建立OPC‑UA服务程序,在OPC‑UA服务程序中添加信息模型节点;仿真软件与内存结构体进行仿真数据共享;内存结构体 全部
背景技术:
目前的网络环境下,仿真软件与外部软件之间主要基于TCP、UDP等协议,通过自定 义的报文格式进行数据通信。这种数据通信方式无法实现一致性,仿真软件和外部软件紧 耦合,当两者集成到软件系统时,存在可替换性差及联调困难等问题。
技术实现要素:
本发明人针对上述问题及技术需求,提出了一种基于OPC-UA的仿真软件数据通信 方法,通过将仿真软件的仿真数据以OPC-UA信息模型进行描述,并通过OPC-UA服务程序发 布,外部软件通过OPC-UA服务程序获取到仿真数据完整的信息模型,实现了外部软件与仿 真软件通过OPC-UA协议进行数据通信。 本发明的技术方案如下: 一种基于OPC-UA的仿真软件数据通信方法,包括如下步骤: 数据通信方法包括: 建立OPC-UA信息模型; 解析OPC-UA信息模型,得到内存结构体; 建立OPC-UA服务程序,并在OPC-UA服务程序中添加信息模型节点; 仿真软件与内存结构体进行仿真数据共享; 内存结构体与OPC-UA信息模型进行仿真数据同步映射; 外部软件访问OPC-UA服务程序,并与仿真软件进行数据交互。 其进一步的技术方案为,建立OPC-UA信息模型,包括: 根据仿真软件需要输入输出的仿真数据,通过建模工具建立OPC-UA信息模型,每 个信息模型节点对应一个仿真数据。 其进一步的技术方案为,解析OPC-UA信息模型,包括: 利用open62541库读取并解析OPC-UA信息模型的XML文件,生成了: 将XML文件中的第一对象节点转换成嵌套结构体对象,将XML文件中的第二对象节 点转换成结构体的成员变量,最终生成第一文件,将第一文件定义为内存结构体; 生成第二文件,第二文件中包括模型节点添加函数,模型节点添加函数用于添加 信息模型节点; 生成第三文件,内存结构体中的每一个变量生成一组访问回调函数,并存储在第 三文件中,访问回调函数包括读函数和写函数。 其进一步的技术方案为,建立OPC-UA服务程序,包括: 利用open62541库的OPC-UA服务端SDK,将第一文件、第二文件和第三文件进行编 4 CN 111581817 A 说 明 书 2/4 页 译链接,得到OPC-UA服务程序。 其进一步的技术方案为,仿真软件与内存结构体进行仿真数据共享,包括: 仿真软件与内存结构体通过内存映射文件机制实现仿真数据的共享; 内存映射文件机制包括:仿真软件将仿真数据映射到内存映射文件,OPC-UA服务 程序从内存映射文件中提取出仿真数据,并将仿真数据同步映射到内存结构体中。 其进一步的技术方案为,OPC-UA服务程序从内存映射文件中提取出仿真数据,包 括:OPC-UA服务程序通过配置文件读取内存映射文件的路径、大小和偏移量,从而提取出仿 真数据。 其进一步的技术方案为,内存结构体与OPC-UA信息模型进行仿真数据同步映射, 包括: 内存结构体与OPC-UA信息模型通过自动映射机制实现仿真数据的同步; 自动映射机制包括:在读函数中,将内存结构体的结构体数据写入OPC-UA信息模 型的OPC-UA变量中,在写函数中,将OPC-UA信息模型的OPC-UA变量写入内存结构体的结构 体数据中。 其进一步的技术方案为,外部软件访问OPC-UA服务程序,并与仿真软件进行数据 交互,包括: 外部软件利用open62541库的客户端SDK建立OPC-UA客户端接口,与仿真软件进行 数据交互,当外部软件发起读/写请求时,OPC-UA服务程序调用相应的访问回调函数并执行 内存结构体与OPC-UA信息模型进行仿真数据同步映射的步骤。 本发明的有益技术效果是: 本申请的方法相当于将仿真软件改造成OPC-UA服务端,使得外部软件可以与该 “服务端”通过OPC-UA协议进行数据通信,为仿真软件提供了基于OPC-UA规范的通信方式, 解决了自定义报文通信方式不一致的问题,可将仿真软件的仿真数据导出到外部软件,并 接受外部软件的控制指令,提高了仿真软件与外部软件的互操作性,降低了将仿真软件集 成到软件系统的难度。该数据通信方法适用于各种仿真软件,不管是基于操作系统直接开 发的,还是在Matlab、Mworks等工具的基础上开发的。为仿真软件与外部软件的集成和联调 带来了便利性,仿真软件和外部软件可以分别连接OPC-UA的通用客户端工具(例如 UaExpert)和服务端程序,单独进行调试验证。 附图说明 图1是本申请提供的基于OPC-UA的仿真软件数据通信方法的原理框图。 图2是本申请提供的数据通信方法的流程图。 图3是本申请一实施例提供的数据通信方法的原理框图。