CN117435498A - 一种iec61131-3标准控制程序的协同仿真测试方法 - Google Patents
一种iec61131-3标准控制程序的协同仿真测试方法 Download PDFInfo
- Publication number
- CN117435498A CN117435498A CN202311475262.9A CN202311475262A CN117435498A CN 117435498 A CN117435498 A CN 117435498A CN 202311475262 A CN202311475262 A CN 202311475262A CN 117435498 A CN117435498 A CN 117435498A
- Authority
- CN
- China
- Prior art keywords
- simulation
- control program
- standard
- iec61131
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 154
- 238000010998 test method Methods 0.000 title claims abstract description 10
- 238000012360 testing method Methods 0.000 claims abstract description 13
- 238000013213 extrapolation Methods 0.000 claims abstract description 7
- 238000000034 method Methods 0.000 claims description 41
- 238000004458 analytical method Methods 0.000 claims description 25
- 238000004891 communication Methods 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 10
- 238000004806 packaging method and process Methods 0.000 claims description 8
- 230000001360 synchronised effect Effects 0.000 claims description 8
- 238000013519 translation Methods 0.000 claims description 8
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims description 5
- 238000012795 verification Methods 0.000 claims description 5
- 230000006835 compression Effects 0.000 claims description 4
- 238000007906 compression Methods 0.000 claims description 4
- 230000008520 organization Effects 0.000 claims description 4
- 230000003068 static effect Effects 0.000 claims description 4
- 238000013461 design Methods 0.000 claims description 2
- 238000004519 manufacturing process Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 229910000831 Steel Inorganic materials 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012858 packaging process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000010959 steel Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/425—Lexical analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
- G06F8/433—Dependency analysis; Data or control flow analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种IEC61131‑3标准控制程序的协同仿真测试方法,涉及工业制造领域。本发明提出IEC61311‑3标准控制程序的测试方法,直接对工程语言编写的控制程序进行转换、测试。采用FMI标准作为系统的协同仿真协议,通过将控制程序及各仿真工具搭建的仿真模型封装成具有统一接口的FMU模型,通过对统一接口的调用实现多领域协同仿真。将子系统间的数据交换分为相邻两级子系统仿真步长相同、呈倍数关系以及不呈倍数关系三种情况,并结合数据外推算法分别对各情况下仿真调度进行处理。本发明实现多设备间协同仿真,满足工业可编程控制设备对虚拟仿真的精细化以及高效需求。
Description
技术领域
本发明涉及工业制造领域,尤其涉及一种IEC61131-3标准控制程序的协同仿真测试方法。
背景技术
钢铁生产等流程工业各工序具有强非线性、参数时变、工况变化频繁以及生产过程数据不能连续检测等综合复杂特性,难以实现精确建模和传统闭环控制。复杂的优化控制算法通常要经过实验验证之后才能投入实际应用。相较于之前周期长、成本高、风险大的物理实验方法,基于计算机的虚拟仿真技术有效地避免了这些弊端。利用计算机仿真软件对研究对象进行实验测试,测试过程安全可控并且可重复,对外界环境依赖性小,因而在各领域得到广泛应用。
近年来,针对单一专业领域学科的虚拟仿真分析方法得以迅速发展,例如,针对控制系统的仿真平台Matlab/Simulink以及针对机械结构进行有限元分析的平台ANSYS等。随着智能制造概念的逐渐深化,工业制造领域仿真需求从单一子系统、单一领域向整合多系统、多领域的协同仿真发展。然而,现有协同仿真相关结果多针对于特定的仿真工具讨论,通过提供模型间的接口实现数据交换,因而模型接口不具有通用性,难以真正做到多学科全系统协同仿真。
IEC61131-3国际标准为工业控制系统编程软件提供了标准化编程语言。该标准提高了工业控制系统编程软件的开发效率,降低了用户的使用难度和工程成本。然而,由于很多过程模型仿真平台并不支持IEC61131-3语言组态,控制算法开发者通常使用仿真工具设计控制算法并对其性能进行测试,仿真后再采用人工转换或仿真工具的自动转换模块将其转换为工程语言,这种方式效率低下并且维护困难。
因此,本领域的技术人员致力于开发一种IEC61131-3标准控制程序的协同仿真测试方法。提出一个直接对IEC61131-3标准控制程序仿真的方法,实现多设备间协同仿真,满足工业可编程控制设备对虚拟仿真的精细化以及高效需求。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是工业制造多学科全系统多设备间协同仿真。
为实现上述目的,本发明提供了一种IEC61131-3标准控制程序的协同仿真测试方法,包括以下步骤:
步骤1、对符合IEC61131-3标准要求的控制程序进行静态分析;
步骤2、将符合IEC61131-3标准要求的控制程序转换为通用中间级语言表示的控制程序;
步骤3、搭建仿真模型,将通用中间级语言表示的控制程序及各仿真软件所搭建的仿真模型封装为符合FMI标准的FMU模型;
步骤4、基于客户端/服务端结构,由服务端实现子系统客户端间的数据交换与同步调度,实现协同仿真。
进一步地,所述通用中间级语言包括C语言。
进一步地,所述步骤1,基于有限自动机的编程语言单词识别与分析方法,对源程序解析后生成对应的记号序列,完成词法分析;基于语法规则形式化表示方法,完成程序的语法分析,生成对应的语法分析树;基于属性文法的语义规则描述方法,根据IEC61131-3标准中定义的数据类型,定义标识符的作用域,构建符号表实现标识符的汇集与查证,完成程序语义分析。
进一步地,所述步骤2,针对图形化编程语言,基于关系依赖图映射和翻译模板的程序生成方法,将编辑阶段生成的节点编辑组织模型转化为对应的关系依赖图。
进一步地,所述步骤2,针对图形化编程语言,设计基于IEC标准规范的模板文件,对关系依赖图和模板的内容进行拆分映射,实现图形类程序向文本程序的转换。
进一步地,所述步骤2,针对文本类的编程语言,利用基于翻译规则的代码生成方法,使用通用中间级语言对IEC61131-3标准中各元素进行实现,根据元素之间的嵌套关系和执行逻辑,将源程序翻译为等价的通用中间级语言表示的控制程序。
进一步地,所述步骤3,对于提供FMI工具箱的仿真软件搭建的仿真模型,直接利用该仿真软件的FMI工具包将仿真模型导出为FMU模型;对于未提供FMI工具箱的仿真软件搭建的仿真模型,先将模型转化为通用中间级语言代码,再将其封装为符合FMI标准的FMU模型;将通用中间级语言代码封装为FMU时,基于FMI标准接口将所述通用中间级语言程序编译生成DDL格式的模型源码文件,并基于预设的描述性模板编辑生成与所述通用中间级语言代码对应的XML描述性文件,利用压缩工具将所述模型源码文件和所述描述性文件进行压缩,生成FMI标准FMU模型。
进一步地,所述步骤4,基于FMU模型接口之间的输入输出关系,构造代表拓扑结构的有向图;利用搜索算法搜索有向图中的代数环,将有向图中的代数环抽象为一个节点,得到无环图;根据所述有向无环图的邻接表,进行拓扑排序,确定协同仿真系统的求解顺序;在每一个通信步进区间内,各子系统客户端基于输入变量值采用FMU中封装的求解算法求解仿真结果,作为输出变量值;在每一个通信点时刻,各子系统客户端中断仿真过程,发送输出变量值,接收下一个通信步进区间的输入变量值,完成一个仿真循环;若执行到设定的仿真时间,则终止循环。
进一步地,所述步骤4,子系统客户端间的数据交换由服务端实现,在每一个通信点时刻,各子系统客户端向服务端发送输出变量值,服务端根据协同仿真的求解顺序,将接收到的输出变量值发送给对应的子系统客户端。
进一步地,所述步骤4,子系统客户端间的同步调度分为相邻两级子系统仿真步长相同、呈倍数关系以及不呈倍数关系三种情况:对于仿真步长相同的情况,服务端直接将前一级模块的仿真输出变量值发送给后一级模块;对于仿真步长呈倍数关系的情形,若后一级模块仿真步长为前一级模块步长的N倍,则前一级模块执行N次并发送每一次的输出变量值,服务器将第N次输出变量值发送至后一级模块,作为下一个通信步进区间的输入变量值;若前一级模块仿真步长为后一级步长的N倍或相邻两级模块间不呈倍数关系,采用数据外推算法,对仿真数据进行数值外推,确保模型仿真输入的准确性。
在本发明的较佳实施方式中,考虑到使用仿真工具设计控制算法并对性能进行测试,仿真后再采用人工转换或仿真工具的自动转换模块将其转换为工程语言的控制程序仿真、生成方式效率低下并且维护困难。本发明提出一种IEC61311-3标准控制程序的测试方法,直接对工程语言编写的控制程序进行转换、测试。对IEC61131-3标准控制程序进行静态分析。基于有限自动机的编程语言单词识别与分析方法,对源程序解析后生成对应的记号序列,完成词法分析;基于语法规则形式化表示方法,完成程序的语法分析,生成对应的语法分析树;基于属性文法的语义规则描述方法,根据IEC 61131-3标准中定义的数据类型,定义标识符的作用域,构建符号表实现标识符的汇集与查证,完成程序语义分析。将源程序转换为通用中间级语言表示的控制程序,从而可以将其封装为符合FMI标准的FMU模型实现协同仿真。针对图形化编程语言,基于关系依赖图映射和翻译模板的程序生成方法,将编辑阶段生成的节点编辑组织模型转化为对应的关系依赖图,设计基于IEC标准规范的模板文件,对关系依赖图和模板的内容进行拆分映射,实现图形类程序向文本程序的转换;针对文本类的编程语言,利用基于翻译规则的代码生成方法,使用通用中间级语言对IEC61131-3标准中各元素进行实现,根据元素之间的嵌套关系和执行逻辑,将源程序翻译为等价的通用中间级语言表示的控制程序。
现有协同仿真相关结果多针对于特定的仿真工具讨论,通过提供模型间的接口实现数据交换,因而模型接口不具有通用性,难以真正做到多学科、全系统协同仿真。本发明采用FMI标准作为系统的协同仿真协议,通过将控制程序及各仿真工具搭建的仿真模型封装成具有统一接口的FMU模型,通过对统一接口的调用实现多领域协同仿真。搭建仿真模型,将通用中间级语言表示的控制程序及各仿真软件所搭建的仿真模型封装为符合FMI标准的FMU模型。对于提供FMI工具箱的仿真软件搭建的仿真模型,直接利用该仿真软件的FMI工具包将仿真模型导出为FMU模型;对于未提供FMI工具箱的仿真软件搭建的仿真模型,先将模型转化为通用中间级语言代码,再将其封装为符合FMI标准的FMU模型。将通用中间级语言代码封装为FMU时,基于FMI标准接口将所述通用中间级语言程序编译生成DDL格式的模型源码文件,并基于预设的描述性模板编辑生成与所述通用中间级语言代码对应的XML描述性文件,利用压缩工具将所述模型源码文件和所述描述性文件进行压缩,生成FMI标准FMU模型。基于客户端/服务端结构,由服务端实现子系统客户端间的数据交换与同步调度,实现协同仿真。基于FMU模型接口之间的输入输出关系,构造代表拓扑结构的有向图;利用搜索算法搜索有向图中的代数环,将有向图中的代数环抽象为一个节点,得到无环图;根据所述有向无环图的邻接表,进行拓扑排序,确定协同仿真系统的求解顺序。在每一个通信步进区间内,各子系统客户端基于输入变量值采用FMU中封装的求解算法求解仿真结果,作为输出变量值;在每一个通信点时刻,各子系统客户端中断仿真过程,发送输出变量值,接收下一个通信步进区间的输入变量值,完成一个仿真循环。若执行到设定的仿真时间,则终止循环。子系统客户端间的数据交换由服务端实现,在每一个通信点时刻,各子系统客户端向服务端发送输出变量值,服务端根据协同仿真的求解顺序,将接收到的输出变量值发送给对应的子系统客户端。
仿真模型间的仿真速率不一,相互间的数据更新的速率各有差异。现有系统仿真相关结果缺乏对模型相互间连接情况的区分考虑,难以得到更为精确的仿真结果。本发明通过将子系统间的数据交换分为相邻两级子系统仿真步长相同、呈倍数关系以及不呈倍数关系三种情况,并结合数据外推算法分别对各情况下仿真调度进行讨论。子系统客户端间的同步调度分为相邻两级子系统仿真步长相同、呈倍数关系以及不呈倍数关系三种情况:对于仿真步长相同的情况,服务端直接将前一级模块的仿真输出变量值发送给后一级模块;对于仿真步长呈倍数关系的情形,若后一级模块仿真步长为前一级模块步长的N倍,则前一级模块执行N次并发送每一次的输出变量值,服务器将第N次输出变量值发送至后一级模块,作为下一个通信步进区间的输入变量值;若前一级模块仿真步长为后一级步长的N倍或相邻两级模块间不呈倍数关系,采用数据外推算法,对仿真数据进行数值外推,确保模型仿真输入的准确性,提高系统的协同仿真性能。
本发明与现有技术相比较,具有如下显而易见的实质性特点和显著优点:
1.将IEC61311-3标准控制程序转换为通用中间级语言表示的控制程序,并将其封装为符合FMI标准的FMU模型实现协同仿真。在仿真通过后,可直接执行源程序,且在仿真过程中,可直接源程序的修改,在保证控制算法性能的同时提高了仿真效率及准确度。
2.通过将中间级语言表示的控制程序及各仿真软件所搭建的仿真模型封装为符合FMI标准的FMU模型,解决了不同仿真建模工具的兼容性问题,保证仿真过程中模型的一致性和通用性,实现多系统、多领域的协同仿真。
3.通过考虑子系统模块仿真步长的分类及仿真调度,解决了协同仿真时子系统模块仿真步长不一致时的数据交互问题,确保模型仿真输入的准确性,提高系统的协同仿真性能。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是本发明的一个较佳实施例的FMU模型封装过程;
图2是本发明的一个较佳实施例的客户端/服务端协同仿真架构。
具体实施方式
以下参考说明书附图介绍本发明的多个优选实施例,使其技术内容更加清楚和便于理解。本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非仅限于文中提到的实施例。
在附图中,结构相同的部件以相同数字标号表示,各处结构或功能相似的组件以相似数字标号表示。附图所示的每一组件的尺寸和厚度是任意示出的,本发明并没有限定每个组件的尺寸和厚度。为了使图示更清晰,附图中有些地方适当夸大了部件的厚度。
本实施例中首先搭建模型,然后将IEC61131-3标准控制程序及各仿真软件所搭建的仿真模型封装为符合FMI标准的FMU模型,如图1,然后基于客户端/服务端协同仿真架构实现协同仿真,如图2。
第一步:对符合IEC61131-3标准要求的控制程序进行静态分析。基于有限自动机的编程语言单词识别与分析方法,采用正则表达式对IEC标准语法进行表述,并转换为对应的有限自动机,对源程序解析后生成对应的记号(token)序列,完成词法分析;基于巴克斯范式的语法规则形式化表示方法,实现对语法规则的描述,完成程序的语法分析,生成对应的语法分析树;基于属性文法的语义规则描述方法,根据IEC 61131-3标准中定义的数据类型,定义标识符的作用域,构建符号表实现标识符的汇集与查证,完成程序语义分析。
第二步:将符合IEC61131-3标准要求的控制程序转换为通用中间级语言(比如C语言)表示的控制程序。针对图形化编程语言,基于AOV图映射和翻译模板的程序生成方法,将编辑阶段生成的节点编辑组织模型转化为对应的AOV图,设计基于IEC标准规范的模板文件,遍历由AOV图生成的二叉树,对生成的二叉树和模板的内容进行拆分映射,实现图形类程序向文本程序的转换;针对文本类的编程语言,利用基于翻译规则的代码生成方法,使用C语言对IEC61131-3标准中各元素进行实现,根据元素之间的嵌套关系和执行逻辑,将源程序翻译为等价的C语言表示的控制程序。
第三步:搭建仿真模型,将C语言表示的控制程序及各仿真软件所搭建的仿真模型封装为符合FMI标准的FMU模型。对于提供FMI工具箱的仿真软件搭建的仿真模型,直接利用该仿真软件的FMI工具包将仿真模型导出为FMU模型;对于未提供FMI工具箱的仿真软件搭建的仿真模型,先使用代码生成技术将模型转化为通用中间级语言(比如C语言)代码,再基于FMI标准接口将C语言程序编译生成DDL格式的模型源码文件,包含通用中间级语言代码、头文件以及FMI标准接口函数,并基于预设的描述性模板编辑生成与C语言代码对应的XML描述性文件,XML描述性文件创建时,需要对每一个FMU模型修改特定的参数值,主要包括FMU模型属性、模型变量信息、参数类型等,最后利用压缩工具将所述模型源码文件和所述描述性文件进行压缩,生成FMI标准FMU模型。
第四步:基于客户端/服务端结构,由服务端实现子系统客户端间的数据交换与同步调度,实现协同仿真。首先基于FMU模型接口之间的输入输出关系,确定协同仿真的求解顺序,构造代表拓扑结构的有向图,利用Tarjan算法深度优先遍历搜索有向图中的强连通分支并将有向图中搜索到的强连通分支用一个节点代替,得到无环图,根据有向无环图的邻接表,入度为0的节点入栈,对于栈顶第一个入度为0的节点,标记其入度为-1,表明该节点已输出,根据邻接表将节点所有出边终端节点入度减1,若该节点入度为0则入栈,当栈为空时,若输出节点个数等于总节点个数,则拓扑排序完成。然后由服务端实现子系统客户端间的数据交换(比如通过高速以太网实现通信)。在每一个通信步进区间内,各子系统客户端基于输入变量值采用FMU中封装的求解算法求解仿真结果,作为输出变量值;在每一个通信点时刻,各子系统客户端中断仿真过程,向服务端发送输出变量值,服务端根据协同仿真的求解顺序,将接收到的输出变量值发送给对应的子系统客户端,作为子系统客户端下一个通信步进区间的输入变量值,完成一个仿真循环。若执行到设定的仿真时间,则终止循环。协同仿真过程中,子系统客户端间的同步调度分为相邻两级子系统仿真步长相同、呈倍数关系以及不呈倍数关系三种情况。对于仿真步长相同的情况,服务端直接将前一级模块的仿真输出变量值发送给后一级模块;对于仿真步长呈倍数关系的情形,若后一级模块仿真步长为前一级模块步长的N倍,则前一级模块执行N次并发送每一次的输出变量值,服务器将第N次输出变量值发送至后一级模块,作为下一个通信步进区间的输入变量值;若前一级模块仿真步长为后一级步长的N倍或相邻两级模块间不呈倍数关系,通过分析仿真数据的趋势,选择多项式外推的参数,对仿真数据进行数值外推,确保模型仿真输入的准确性,提高系统的协同仿真性能。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (10)
1.一种IEC61131-3标准控制程序的协同仿真测试方法,其特征在于,包括以下步骤:
步骤1、对符合IEC 61131-3标准要求的控制程序进行静态分析;
步骤2、将符合IEC 61131-3标准要求的控制程序转换为通用中间级语言表示的控制程序;
步骤3、搭建仿真模型,将通用中间级语言表示的控制程序及各仿真软件所搭建的仿真模型封装为符合FMI标准的FMU模型;
步骤4、基于客户端/服务端结构,由服务端实现子系统客户端间的数据交换与同步调度,实现协同仿真。
2.如权利要求1所述的IEC61131-3标准控制程序的协同仿真测试方法,其特征在于,所述通用中间级语言包括C语言。
3.如权利要求1所述的IEC61131-3标准控制程序的协同仿真测试方法,其特征在于,所述步骤1,基于有限自动机的编程语言单词识别与分析方法,对源程序解析后生成对应的记号序列,完成词法分析;基于语法规则形式化表示方法,完成程序的语法分析,生成对应的语法分析树;基于属性文法的语义规则描述方法,根据IEC 61131-3标准中定义的数据类型,定义标识符的作用域,构建符号表实现标识符的汇集与查证,完成程序语义分析。
4.如权利要求1所述的IEC61131-3标准控制程序的协同仿真测试方法,其特征在于,所述步骤2,针对图形化编程语言,基于关系依赖图映射和翻译模板的程序生成方法,将编辑阶段生成的节点编辑组织模型转化为对应的关系依赖图。
5.如权利要求1所述的IEC61131-3标准控制程序的协同仿真测试方法,其特征在于,所述步骤2,针对图形化编程语言,设计基于IEC标准规范的模板文件,对关系依赖图和模板的内容进行拆分映射,实现图形类程序向文本程序的转换。
6.如权利要求1所述的IEC61131-3标准控制程序的协同仿真测试方法,其特征在于,所述步骤2,针对文本类的编程语言,利用基于翻译规则的代码生成方法,使用通用中间级语言对IEC 61131-3标准中各元素进行实现,根据元素之间的嵌套关系和执行逻辑,将源程序翻译为等价的通用中间级语言表示的控制程序。
7.如权利要求1所述的IEC61131-3标准控制程序的协同仿真测试方法,其特征在于,所述步骤3,对于提供FMI工具箱的仿真软件搭建的仿真模型,直接利用该仿真软件的FMI工具包将仿真模型导出为FMU模型;对于未提供FMI工具箱的仿真软件搭建的仿真模型,先将模型转化为通用中间级语言代码,再将其封装为符合FMI标准的FMU模型;将通用中间级语言代码封装为FMU时,基于FMI标准接口将所述通用中间级语言程序编译生成DDL格式的模型源码文件,并基于预设的描述性模板编辑生成与所述通用中间级语言代码对应的XML描述性文件,利用压缩工具将所述模型源码文件和所述描述性文件进行压缩,生成FMI标准FMU模型。
8.如权利要求1所述的IEC61131-3标准控制程序的协同仿真测试方法,其特征在于,所述步骤4,基于FMU模型接口之间的输入输出关系,构造代表拓扑结构的有向图;利用搜索算法搜索有向图中的代数环,将有向图中的代数环抽象为一个节点,得到无环图;根据所述有向无环图的邻接表,进行拓扑排序,确定协同仿真系统的求解顺序;在每一个通信步进区间内,各子系统客户端基于输入变量值采用FMU中封装的求解算法求解仿真结果,作为输出变量值;在每一个通信点时刻,各子系统客户端中断仿真过程,发送输出变量值,接收下一个通信步进区间的输入变量值,完成一个仿真循环;若执行到设定的仿真时间,则终止循环。
9.如权利要求1所述的IEC61131-3标准控制程序的协同仿真测试方法,其特征在于,所述步骤4,子系统客户端间的数据交换由服务端实现,在每一个通信点时刻,各子系统客户端向服务端发送输出变量值,服务端根据协同仿真的求解顺序,将接收到的输出变量值发送给对应的子系统客户端。
10.如权利要求1所述的IEC61131-3标准控制程序的协同仿真测试方法,其特征在于,所述步骤4,子系统客户端间的同步调度分为相邻两级子系统仿真步长相同、呈倍数关系以及不呈倍数关系三种情况:对于仿真步长相同的情况,服务端直接将前一级模块的仿真输出变量值发送给后一级模块;对于仿真步长呈倍数关系的情形,若后一级模块仿真步长为前一级模块步长的N倍,则前一级模块执行N次并发送每一次的输出变量值,服务器将第N次输出变量值发送至后一级模块,作为下一个通信步进区间的输入变量值;若前一级模块仿真步长为后一级步长的N倍或相邻两级模块间不呈倍数关系,采用数据外推算法,对仿真数据进行数值外推,确保模型仿真输入的准确性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311475262.9A CN117435498A (zh) | 2023-11-07 | 2023-11-07 | 一种iec61131-3标准控制程序的协同仿真测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311475262.9A CN117435498A (zh) | 2023-11-07 | 2023-11-07 | 一种iec61131-3标准控制程序的协同仿真测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117435498A true CN117435498A (zh) | 2024-01-23 |
Family
ID=89545939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311475262.9A Pending CN117435498A (zh) | 2023-11-07 | 2023-11-07 | 一种iec61131-3标准控制程序的协同仿真测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117435498A (zh) |
-
2023
- 2023-11-07 CN CN202311475262.9A patent/CN117435498A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104503816B (zh) | 一种硬件语言vhdl到msvl的自动转换系统 | |
CN106777101B (zh) | 数据处理引擎 | |
US5390320A (en) | Automatically converting structured analysis tool database outputs into an integrated simulation model via transportable standardized metafile | |
CN110705078B (zh) | 一种核动力装置的仿真模型开发系统及分析方法 | |
CN106709980B (zh) | 一种基于形式化的复杂三维场景建模方法 | |
CN116450616A (zh) | 一种基于解析树的通用异构关系型数据库sql迁移方法 | |
CN112433701A (zh) | 工业软件开发项目实施流程、内容及代码生成方法及装置 | |
Laemmle et al. | Automatic layout generation of robotic production cells in a 3D manufacturing simulation environment | |
CN115061772B (zh) | 一种多领域仿真模型集成方法及系统 | |
CN115687649A (zh) | 一种基于bim和知识图谱的自动审图系统 | |
CN114036041B (zh) | 一种基于机器学习的scade模型组合验证环境假设自动生成方法 | |
CN116362245A (zh) | 基于非结构化文本数据的opc ua信息模型构建方法 | |
CN113655996B (zh) | 一种基于需求模型的企业级系统生成方法 | |
CN109446704B (zh) | 一种基于正则文法的产品族有限元模型参数化方法 | |
Braun et al. | A methodology for the detection of functional relations of mechatronic components and assemblies in brownfield systems | |
CN117608656A (zh) | 一种基于ast和llm的混合式前端框架迁移方法 | |
CN117435498A (zh) | 一种iec61131-3标准控制程序的协同仿真测试方法 | |
CN116756338A (zh) | 面向ar装配引导的工艺知识图谱构建方法及系统 | |
Dai et al. | IEC 61499 ontology model for semantic analysis and code generation | |
CN115469860A (zh) | 基于指令集的需求到软件领域模型的自动生成方法及系统 | |
CN111581815B (zh) | 一种基于xml的工艺模型本体构建方法 | |
CN115222221A (zh) | 智能化集成平台的构建方法、装置、设备及存储介质 | |
Zhang et al. | Automatic data representation analysis for reconfigurable systems integration | |
CN114444147A (zh) | 一种微组装三维工艺快速设计系统及设计方法 | |
CN115374242A (zh) | 面向非结构化合同订单的自定义字段和模板低代码系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |