CN116069317A - 一种基于AutomationML的工业设备运动控制PLC代码自动生成方法及装置 - Google Patents
一种基于AutomationML的工业设备运动控制PLC代码自动生成方法及装置 Download PDFInfo
- Publication number
- CN116069317A CN116069317A CN202211736207.6A CN202211736207A CN116069317A CN 116069317 A CN116069317 A CN 116069317A CN 202211736207 A CN202211736207 A CN 202211736207A CN 116069317 A CN116069317 A CN 116069317A
- Authority
- CN
- China
- Prior art keywords
- motion
- equipment
- motion control
- logic
- 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
- 230000033001 locomotion Effects 0.000 title claims abstract description 223
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000004088 simulation Methods 0.000 claims abstract description 57
- 230000008569 process Effects 0.000 claims abstract description 54
- 230000004927 fusion Effects 0.000 claims abstract description 9
- 230000008676 import Effects 0.000 claims abstract description 8
- 230000006399 behavior Effects 0.000 claims description 74
- 230000006870 function Effects 0.000 claims description 47
- 230000009466 transformation Effects 0.000 claims description 11
- 238000013507 mapping Methods 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 claims description 6
- 230000001133 acceleration Effects 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 claims description 3
- 241001550206 Colla Species 0.000 claims 1
- 238000010586 diagram Methods 0.000 abstract description 11
- 238000011161 development Methods 0.000 abstract description 8
- 230000006872 improvement Effects 0.000 description 5
- 239000000243 solution Substances 0.000 description 4
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 239000012088 reference solution Substances 0.000 description 1
- 238000004153 renaturation Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于AutomationML的工业设备运动控制PLC代码自动生成方法及装置,包括以下步骤:工业仿真平台对现场工业设备的数字孪生体进行仿真运动模拟。确定设备运动行为后,将设备驱动信息、起始状态信息、目标状态信息及完整的运动过程信息进行建模表示,得到设备行为模型;PLC(Programmable Logic Controller)编程平台导入设备行为模型,对设备行为模型进行本体语义描述,并根据构建好的功能块知识库进行知识融合,得到知识图谱;根据特定规则和算法对知识图谱进行推理解析,生成与设备行为模型所描述运动控制逻辑一致的基于IEC 61131‑3标准的FBD(Function Block Diagram)代码。本发明实现了从工业仿真平台到PLC编程平台的代码自动生成,解决了跨平台数据的无损交换,提高了工业自动化工程开发效率。
Description
技术领域
本发明属于工业控制领域,涉及一种基于AutomationML的工业设备运动控制代码自动生成方法及装置。
背景技术
自动化编程中存在大量重复性任务,造成了工业自动化工程开发效率的低下。代码自动生成方法被认为是减少工程成本的一种有效的解决方法,但工业设备的运动控制是一个精密复杂的过程,要求逻辑严谨、数据精确,否则可能会造成设备损坏,甚至影响到现场工作人员的人身安全。
数字孪生技术支持通过数字化手段建立虚拟环境与现实环境的映射关系,工业仿真平台支持通过自带的包含运动组件在内的组件库对虚拟环境中的设备进行示教编程。基于数字孪生技术的工业仿真平台可以在虚拟环境上提前对现场工业设备的运动过程进行模拟,很大程度上避免了现场事故的发生,为自动化工程的代码自动生成提供了技术支撑。但由于平台和设备协议的不一致,仿真平台往往无法直接驱动现场设备工作。
PLC是现代工业控制领域中常用的设备,且支持IEC 61131-3标准的编程语言对其进行开发。通过PLC以及符合IEC 61131-3标准的PLC编程开发平台,可以实现对现场工业设备的运动控制。
在PLC工业控制领域中,由于PLC代码的特殊性,工业设备的行为逻辑和PLC运动控制逻辑的底层实现是两个不同的研究领域,故现阶段的工业现场需要负责过程控制设计的过程工程师操作工业仿真平台,和负责逻辑实现的软件工程师操作PLC编程平台合作完成设备运作。二者的工作存在相当的重复性,这样的方式无疑加大了不必要的人力支出。
故,针对现有技术存在的技术缺陷,本发明意在寻找一种解决方案,从工业仿真平台直接自动生成PLC编程平台可运行的代码。但如何准确地描述设备间每个模块之间的运动逻辑,如何精确地复刻虚拟运动场景并从中提取必要的信息,以及如何有效地关联每个离散的信息,并做到数据无损交换,是一个挑战,而AutomationML(AML)格式规范正好为不同平台间的无损数据交换提供了参考解决方案。
发明内容
为解决上述问题,本发明提出了一种基于AutomationML的工业设备运动控制代码自动生成方法及装置,实现了从工业仿真平台到PLC编程平台的代码自动生成,解决了跨平台数据的无损交换,提高了工业自动化工程开发效率。
为了解决现有技术存在的技术问题,本发明的技术方案如下:
一种基于AutomationML的工业设备运动控制代码自动生成方法,包括以下步骤:
步骤S1,工业仿真平台对现场工业设备的数字孪生体进行仿真运动模拟。确定设备运动行为后,将设备驱动信息、起始状态信息、目标状态信息及完整的运动过程信息进行建模表示,得到设备行为模型;
步骤S2,PLC编程平台导入设备行为模型,对设备行为模型进行本体语义描述,并根据构建好的功能块知识库进行知识融合,得到知识图谱;
步骤S3,根据特定规则和算法对知识图谱进行推理解析,生成与设备行为模型所描述运动控制逻辑一致的基于IEC 61131-3标准的FBD代码。
作为进一步的改进方案,使用基于IEC 62714-1标准的AutomationML作为设备行为的模型表示工具,用于将运动描述和仿真信息相结合,其中仿真运动数据以Collada文件描述集成到AutomationML模型中。
作为进一步的改进方案,步骤S1进一步包括:
步骤S1-1:构建运动场景;
设备的基本运动由一个运动控制模型来描述。
定义1:运动控制模型是一个3元组MCM=(s,t,f),由以下内容组成:
1)一个起始状态s;
2)一个目标状态t;
3)一个转换规则f,代表从s到t的变换逻辑;
完整的设备运动行为由一系列参与运动控制的工业设备,以及工业设备间的运动控制模型按照一定逻辑组合而成,设备行为模型来描述如下:
定义2:设备行为模型(Device Behavior Model)是一个4元组DBM=(d,M,S,λ),由以下内容组成:
1)一个对应行为描述的设备;
2)一个由定义1描述的运动控制模型的集合列表M=(m0,m1,…,mn);
3)一个运动控制执行顺序的集合列表S=(s0,s1,…,sn);
步骤S1-2:构建机械手臂数字孪生模型;其中,
依靠数字孪生技术,从机械手臂自搭载的传感器模块获取特征数据,基于平台集成的几何模型库和传输解析生成的数据,在工业仿真平台上生成实际机械手臂的数字孪生体;
步骤S1-3:仿真平台描述运动场景;其中,
通过运动控制模型结合执行顺序和逻辑组件库描述的联锁逻辑能够完整地描述一个设备行为模型;
步骤S1-4:建模表示;其中,
将基于工业仿真平台描述的设备行为用AutomationML进行建模表示,AML标准中定义中包含了基础角色类库、基础接口类库、基本属性类库。通过AML标准中定义的语义连接关系将设备行为和仿真信息相结合,仿真运动数据以Collada描述集成到AML模型中。
作为进一步的改进方案,步骤S2进一步包括:
步骤S2-1:构建功能块知识库;其中,
对PLC编程平台已有的功能块控件库进行本体语义转换,生成对应的基于本体语义描述的功能块知识库,该功能块知识库包含了Equal在内的基本联锁逻辑功能块,和基于PLCOpen Motion Control标准的功能块,同时提供每个运动控制的输入输出属性,用以和AML模型中的运动过程形成映射关系;
步骤S2-2:生成知识图谱:其中,
PLC编程平台导入AML模型文件,对AML模型表达的模块间的联系进行本体语义上的转换;其中,涉及到运动过程的描述,与已构建的基于本体描述的功能块知识库按照定制的映射关系进行知识融合。
作为进一步的改进方案,步骤S3进一步包括:
步骤S3-1:生成工程框架;其中,
根据DBM描述,从设备节点出发,优先将该设备对应的驱动信息存入单独的POU的变量区中,称为共享POU,供其他POU使用。按照Order类描述的执行顺序,依次建立POU页面;
步骤S3-2:生成功能块;其中,
从运动过程节点出发,识别每个运动过程节点所对应的功能块逻辑,按照执行顺序生成在对应的POU中,功能块之间依靠连线或变量传递信息;若两个运动过程节点中包含联锁逻辑控件,则额外生成联锁逻辑控件。
步骤S3-3:功能块赋值;其中,
根据MCM描述,从运动过程节点出发,依次查找对应的起始状态和目标状态,根据输入Port节点描述的属性,分别从共享POU、起始状态点、目标状态点获取数据;若Port节点属性无法满足功能块的输入需求,则从运动过程获取对应的Collada文件,调用特征点识别算法识别每一帧特征点所处位置,转换成实际空间位置后计算出每两帧之间点的移动距离,进而推算出设备的移动速度、加速度等信息,赋值给功能块引脚。
作为进一步的改进方案,功能块知识库由基于PLC编程平台的功能块控件库对应的本体描述构建而成,其中包含了基本联锁逻辑功能块和基于PLCOpen Motion Control标准的功能块。
本发明还一种基于AutomationML的工业设备运动控制代码自动生成装置,至少包括工业仿真平台和PLC编程平台,其中,
工业仿真平台用于对现场工业设备的数字孪生体进行仿真运动模拟;确定设备运动行为后,将设备驱动信息、起始状态信息、目标状态信息及完整的运动过程信息进行建模表示,得到设备行为模型;
PLC编程平台用于导入设备行为模型,对设备行为模型进行本体语义描述,并根据构建好的功能块知识库进行知识融合,得到知识图谱;并根据特定规则和算法对知识图谱进行推理解析,生成与设备行为模型所描述运动控制逻辑一致的基于IEC 61131-3标准的FBD代码。
作为进一步的改进方案,
工业仿真平台集成了几何模型库、运动功能库和逻辑组件库;几何模型库包括多种工业设备的数字化模型;运动功能库包括基本的运动组件,每个基本运动组件代表一个基本运动过程,底层对应一个基于本体描述的运动控制逻辑,底层运动控制逻辑对仿真平台用户透明;逻辑组件库包括含Equal逻辑在内的基本逻辑组件,用以描述联锁逻辑。
作为进一步的改进方案,
设备的基本运动由一个运动控制模型来描述:
定义1:运动控制模型是一个3元组MCM=(s,t,f),由以下内容组成:
1)一个起始状态s;
2)一个目标状态t;
3)一个转换规则f,代表从s到t的变换逻辑;
完整的设备运动行为由一系列参与运动控制的工业设备,以及工业设备间的运动控制模型按照一定逻辑组合而成,设备行为模型来描述如下:
定义2:设备行为模型(Device Behavior Model)是一个4元组DBM=(d,M,s,λ),由以下内容组成:
1)一个对应行为描述的设备;
2)一个由定义1描述的运动控制模型的集合列表M=(m0,m1,…,mn);
3)一个运动控制执行顺序的集合列表S=(s0,s1,…,sn);
作为进一步的改进方案,PLC编程平台是基于IEC 61131-3标准的编程语言的编程平台,分别提供相应编程语言的编程模式,且提供各种丰富功能的功能块控件库。
与现有技术相比,本发明的技术效果如下:
1、在PLC代码自动生成领域,现有技术主要在逻辑控制方面考虑代码生成的方法。本发明技术方案在运动控制领域作了探索,提供了运动控制代码生成的方法。
2、在运动控制代码自动生成领域,现有技术主要面向c/c++、python语言,通过模型驱动开发技术自动生成符合需求描述的代码框架,关于功能逻辑方面的具体细节要求编程人员自己实现,属于半自动化生成。本发明基于PLCOpen Motion Control标准,提供了PLC代码自动生成的全自动化解决方案。
附图说明
图1为本发明一实施例中支持无损数据交换的工业设备运动控制代码自动生成方法的实现架构图;
图2为本发明一实施例中支持无损数据交换的工业设备运动控制代码自动生成方法的实现流程图;
图3为本发明一实施例中设备行为建模表示实现流程图;
图4为本发明一实施例中机械手臂运动行为场景示意图;
图5为本发明一实施例中工业仿真平台操作界面示意简图;
图6为本发明一实施例中机械手臂运动行为场景的AML模型表示示意图;
图7为本发明一实施例中AML模型的知识图谱描述示意图;
图8为本发明一实施例中知识图谱推理解析生成代码实现流程图;
图9为本发明一实施例中生成程序框架的过程示意图;
图10为本发明一实施例中生成FBD功能块的过程示意图;
图11为本发明一实施例中为FBD功能块代码赋值的过程示意图;
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
相反,本发明涵盖任何由权利要求定义的在本发明的精髓和范围上做的替代、修改、等效方法以及方案。进一步,为了使公众对本发明有更好的了解,在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。
本发明所提供的一具体实施例,包含支持无损数据交换的工业设备运动控制代码自动生成实现架构,如图1所示,包含了工业仿真平台和PLC编程平台,二者构成了可编程组态环境,具体内容如下:
工业仿真平台集成了几何模型库、运动功能库和逻辑组件库。几何模型库包括含机械手臂在内的多种工业设备的数字化模型;运动功能库包括基本的运动组件,每个基本运动组件代表一个基本运动过程,底层对应一个基于本体描述的运动控制逻辑,底层运动控制逻辑对仿真平台用户透明;逻辑组件库包括含Equal逻辑在内的基本逻辑组件,用以描述联锁逻辑。
PLC编程平台是基于IEC 61131-3标准的五种编程语言(FBD(Function BlockDiagram),LD(Ladder Diagram),ST(Structured Text),SFC(Sequential FunctionChart),IL(Instruction List))的编程平台,分别提供五种语言的编程模式,且提供各种丰富功能的功能块控件库。
本发明所提供的一具体实施例,包含一种基于AutomationML的工业设备运动控制代码自动生成方法实现流程,如图2所示,具体步骤如下:
步骤S1,工业仿真平台对现场工业设备的数字孪生体进行仿真运动模拟。确定设备运动行为后,将设备驱动信息、起始状态信息、目标状态信息及完整的运动过程信息进行建模表示,得到设备行为模型。工业仿真平台属于现有技术,本发明创造性提出的运动控制和设备行为模型,提出两个模型的意图旨在对现有设备的运动进行抽象描述,在平台间具有通用性,而具体到平台使用什么方法表示成该模型,无法给出准确描述,只能给出抽象描述,意在无论使用什么方法,只要建立的模型与本发明提出的模型在一定精神范围内相似,就在本发明的权要保护范围内。
实现流程如图3所示,具体步骤如下:
步骤S1-1:构建运动场景
首先考虑图4所示的运动场景:有两个六自由度轴的工业机器人手臂Robot1和Robot2。Robot1在Position1处抓取一个物品,以Position1为起始状态,经过Position2,运动到达目标状态Position3。当Robot2所处Position4状态与Position3相同时,从Robot1处接过物品,以Position4为起始状态,运动到达目标状态Position5。
设备的基本运动可以由一个运动控制模型来描述。
定义1:运动控制模型(Motion Control Model)是一个3元组MCM=(s,t,f),由以下内容组成:
1)一个起始状态s;
2)一个目标状态t;
3)一个转换规则f,代表从s到t的变换逻辑。
图4示的两个设备的基本运动可以由以下三个运动控制模型进行描述:
MCM1=(P1,P2,Move_PointToPoint) (1)
表示从起始状态Position1,通过点到点运动规则,运动到目标状态Position2。
MCM2=(P2,P3,Move_PointToPoint) (2)
表示意义参照MCM1。
MCM3=(P4,P5,Move_PointToPoint) (3)
表示意义参照MCM1。
完整的设备运动行为由一系列参与运动控制的工业设备,以及工业设备间的运动控制模型按照一定逻辑组合而成,可以由以下设备行为模型来描述。
定义2:设备行为模型(Device Behavior Model)是一个4元组DBM=(d,M,S,λ),由以下内容组成:
1)一个对应行为描述的设备
2)一个由定义1描述的运动控制模型的集合列表M=(m0,m1,…,mn)。
3)一个运动控制执行顺序的集合列表S=(s0,s1,…,sn)。
通过定义2的模型,可以将图5示的完整设备行为描述如下:
DBM1=(d,(MCM1,MCM2),(1,2),(ε)) (4)
DBM2=(d,(MCM3),(1),(λ1=Equal(Position3,Position4)) (5)
其中ε表示没有联锁限制条件,λ1在上述行为模型中代表Robot1和Robot2所在位置相同,在此前提下方可允许Robot2从Robot1处接过物品并执行自己的运动控制。
步骤S1-2:构建机械手臂数字孪生模型。
为具体描述上述运动场景细节,使用可编程组态的仿真平台确定机械手臂的起始位置状态和目标位置状态,和对应的设备行为。
依靠数字孪生技术,从机械手臂自搭载的传感器模块获取特征数据,基于平台集成的几何模型库和传输解析生成的数据,在工业仿真平台上生成实际机械手臂的数字孪生体。
步骤S1-3:仿真平台描述运动场景
依据图3所描述的机械手臂运动场景,基于平台集成的运动功能库,对数字孪生体进行虚拟仿真操作。为了更准确地展现每一个运动控制模型(MCM)的运动细节,使用仿真功能结合基本运动组件对MCM中的起始状态、目标状态及转换规则进行充分地描述,操作界面简图如图5所示。可以看出,MCM结合执行顺序和逻辑组件库描述的联锁逻辑即可完整地描述一个设备行为模型(DBM)。
步骤S1-4:建模表示
将基于工业仿真平台描述的设备行为用AML(AutomationML)进行建模表示,AML标准中定义中包含了基础角色类库、基础接口类库、基本属性类库。通过AML标准中定义的语义连接关系将设备行为和仿真信息相结合,仿真运动数据以Collada描述集成到AML模型中,如图6所示。仿真运动数据以Collada描述集成到AML模型中。在Collada文件中,包含每一帧的设备行为姿态、帧与帧之间的时间间隔等信息的描述,可以从中识别出运动速度、加速度等信息。
本实施例中,对设备行为AML建模表示如图6所示。
具体的,对图6所示AML模型描述如下:
在AML中用Resource-Process-Product的工厂结构概念描述上述设备行为模型,具体内容如下:
1)用基础角色类库中的Resource角色类描述设备列表,其中设备驱动等设备相关信息存入设备的属性中。
在本例中,对机械手臂的特性进行描述,包括六个转向轴,和每个轴对应的驱动信息。
2)用基础角色类库中的Process角色类描述运动过程,运动过程与工业仿真平台中的基本运动组件一一对应。
在本例中,仅涉及基本运动组件Move_PointToPoint生成的三个move_PointToPoint1、move_PointToPoint2、move_PointToPoint3实例运动过程。
3)用基础角色类库中的Product角色类描述状态信息,每个状态信息包含的值存入状态的属性中。
在本例中,基于设定的Position空间位置状态类,生成Position1,Position2,…,Position5五种状态实例及对应的空间位置坐标值信息。
4)用基础接口类库中的Port接口类描述状态所能提供的信息,以及运动过程所需要的输入输出信息。
5)用基础接口类库中的Order接口类描述一个设备的运动过程执行顺序信息。
6)用基础接口类库中的Collada接口类链接集成外部Collada文件所描述的仿真运动数据信息。
在本例中,每个运动过程实例都对应一个Collada文件,分别描述单个运动过程中机械手臂的仿真运动学信息。
7)自定义一个描述逻辑组件的类,包含固定的几种联锁组件实例。
8)用基础接口类库中的InterlockLogic接口类描述联锁逻辑信息。
用AML标准中的InternalLink(内部链接)描述元素之间的关联性,具体内容如下:
1)按照MCM中(s,t,f)的原则,每一个运动过程实例(即转换规则)对应连接起始状态,目标状态,参与运动控制设备。在本例中,对应前文描述的式(1),(2),(3)。以式(1)为例,Position1即对应起始状态,Position2即对应目标状态,分别与move_PointToPoint1下对应的Port接口类连接。
2)按照DBM中(d,M,S,λ)的原则,每一个工业设备将属于自己的运动控制模型按执行顺序对应连接,若存在联锁条件,则额外连接对应联锁组件实例下的InterlockLogic接口。在本例中,对应前文描述的式(4),(5)。以式(4)为例,Robot1优先执行MCM1,再执行MCM2。以式(5)为例,Robot2需要优先满足联锁条件λ1=Equal(Position3,Position4),即Robot1所在位置Positon3与Robot2所在位置Position4相等时,再执行MCM3对应的运动控制。
步骤S2:PLC编程平台导入设备行为模型,对设备行为模型进行本体语义描述,并根据构建好的功能块知识库进行知识融合,得到知识图谱。由于PLC编程平台导入了集成运动控制模型的设备行为模型,从而实现运动控制代码生成。
步骤S2-1:构建功能块知识库
对PLC编程平台已有的功能块控件库进行本体语义转换,生成对应的基于本体语义描述的功能块知识库,该功能块知识库包含了Equal在内的基本联锁逻辑功能块,和基于PLCOpen Motion Control标准的功能块,同时提供每个运动控制的输入输出属性,用以和AML模型中的运动过程形成映射关系。
步骤S2-2:生成知识图谱
PLC编程平台导入AML模型文件,对AML模型表达的模块间的联系进行本体语义上的转换。
其中涉及到运动过程的描述,与已构建的基于本体描述的功能块知识库按照定制的映射关系进行知识融合。
应当注意的是,知识图谱中表示的运动过程和基于PLCOpen Motion Control标准的运动控制功能块并不构成一一对应关系,运动过程是工业仿真平台上的基本运动组件描述,是以基于PLCOpen Motion Control标准的运动控制功能块为原子运动行为,以一个或多个原子运动行为按照一定逻辑所构成的复杂运动行为,映射关系如下表示:
A=τ(B=(b0,b1,…,bn)) (6)
其中A代表一个运动过程节点,B代表一个由运动控制功能块b组成的列表,τ代表变换逻辑关系。
本实施例中,AML模型中的Move_PointToPoint运动过程与运动功能块库中的MC_MoveDirectAbsolute描述形成直接映射关系,即
把MC_MoveDirectAbsolute作为Move_PointToPoint的子节点接入本体语义描述中,最终生成知识图谱结构,如图7所示。其中,涉及到Port接口类的关联,额外衍生出两个代表输入/输出的节点,输出节点代表该运动或状态可提供的属性和值,输入节点代表该运动过程所需要的属性。
步骤S3:根据特定规则和算法对知识图谱进行推理解析,生成与设备行为模型所描述运动控制逻辑一致的基于IEC 61131-3标准的FBD代码。
语义替换后的知识图谱,图谱中代表运动过程的节点都添加了基于PLCOpenMotion Control标准运动控制功能块的描述,同时包含了输入输出Port节点的具体描述。使用特定解析算法,对知识图谱进行推理,进而解析生成FBD代码。实现流程如图8所示,具体步骤如下:
步骤S3-1:生成工程框架
根据DBM描述,从设备节点出发,优先将该设备对应的驱动信息存入单独的POU(程序组织单元)的变量区中,称为共享POU,供其他POU使用。按照Order类描述的执行顺序,依次建立POU页面。
在本例中,如图9所示,根据知识图谱描述,涉及两个机械手臂设备和三个运动过程,相应在工程框架下生成两个设备节点,每个设备节点按执行顺序依次生成运动过程对应的POU。
步骤S3-2:生成功能块
从运动过程节点出发,识别每个运动过程节点所对应的功能块逻辑,按照执行顺序生成在对应的POU中,功能块之间依靠连线(只允许两个功能块在同个POU中的情况)或变量传递信息。若两个运动过程节点中包含联锁逻辑控件,则额外生成联锁逻辑控件。
在本例中,如图10所示,展示知识图谱中move_PointToPoint2和move_PointToPoint3两个运动过程节点之间的关系描述对应生成的功能块逻辑描述。应当注意的是,此处的连线仅代表逻辑层面上的关联关系,不能完全代表实际编程界面中的功能块连接关系。
步骤S3-3:功能块赋值
根据MCM描述,从运动过程节点出发,依次查找对应的起始状态和目标状态,根据输入Port节点描述的属性,分别从共享POU、起始状态点、目标状态点获取数据。若Port节点属性无法满足功能块的输入需求,如需要速度、加速度等信息,则从运动过程获取对应的Collada文件,调用特征点识别算法识别每一帧特征点所处位置,转换成实际空间位置后计算出每两帧之间点的移动距离,进而推算出设备的移动速度、加速度等信息,赋值给功能块引脚。
在本例中,如图11所示,经过步骤2后成功为功能块的引脚赋值,其中不同POU的功能块之间通过变量传输数据。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于AutomationML的工业设备运动控制代码自动生成方法,其特征在于,包括以下步骤:
步骤S1,工业仿真平台对现场工业设备的数字孪生体进行仿真运动模拟;确定设备运动行为后,将设备驱动信息、起始状态信息、目标状态信息及完整的运动过程信息进行建模表示,得到设备行为模型;
步骤S2,PLC编程平台导入设备行为模型,对设备行为模型进行本体语义描述,并根据构建好的功能块知识库进行知识融合,得到知识图谱;
步骤S3,根据特定规则和算法对知识图谱进行推理解析,生成与设备行为模型所描述运动控制逻辑一致的基于IEC 61131-3标准的FBD代码。
2.根据权利要求1所述的基于AutomationML的工业设备运动控制代码自动生成方法,其特征在于,使用基于IEC 62714-1标准的AutomationML作为设备行为的模型表示工具,用于将运动描述和仿真信息相结合,其中仿真运动数据以Collada文件描述集成到AutomationML模型中。
3.根据权利要求2所述的基于AutomationML的工业设备运动控制代码自动生成方法,其特征在于,步骤S1进一步包括:
步骤S1-1:构建运动场景;
设备的基本运动由一个运动控制模型来描述;
定义1:运动控制模型是一个3元组MCM=(s,t,f),由以下内容组成:
1)一个起始状态s;
2)一个目标状态t;
3)一个转换规则f,代表从s到t的变换逻辑;
完整的设备运动行为由一系列参与运动控制的工业设备,以及工业设备间的运动控制模型按照一定逻辑组合而成,设备行为模型来描述如下:
定义2:设备行为模型(Device Behavior Model)是一个4元组DBM=(d,M,S,λ),由以下内容组成:
1)一个对应行为描述的设备;
2)一个由定义1描述的运动控制模型的集合列表M=(m0,m1,…,mn);
3)一个运动控制执行顺序的集合列表S=(s0,s1,…,sn);
步骤S1-2:构建机械手臂数字孪生模型;其中,
依靠数字孪生技术,从机械手臂自搭载的传感器模块获取特征数据,基于平台集成的几何模型库和传输解析生成的数据,在工业仿真平台上生成实际机械手臂的数字孪生体;
步骤S1-3:仿真平台描述运动场景;其中,
通过运动控制模型结合执行顺序和逻辑组件库描述的联锁逻辑能够完整地描述一个设备行为模型;
步骤S1-4:建模表示;其中,
将基于工业仿真平台描述的设备行为用AutomationML进行建模表示,AML标准中定义中包含了基础角色类库、基础接口类库、基本属性类库;通过AML标准中定义的语义连接关系将设备行为和仿真信息相结合,仿真运动数据以Collada描述集成到AML模型中。
4.根据权利要求3所述的基于AutomationML的工业设备运动控制代码自动生成方法,其特征在于,步骤S2进一步包括:
步骤S2-1:构建功能块知识库;其中,
对PLC编程平台已有的功能块控件库进行本体语义转换,生成对应的基于本体语义描述的功能块知识库,该功能块知识库包含了Equal在内的基本联锁逻辑功能块,和基于PLCOpen Motion Control标准的功能块,同时提供每个运动控制的输入输出属性,用以和AML模型中的运动过程形成映射关系;
步骤S2-2:生成知识图谱:其中,
PLC编程平台导入AML模型文件,对AML模型表达的模块间的联系进行本体语义上的转换;其中,涉及到运动过程的描述,与已构建的基于本体描述的功能块知识库按照定制的映射关系进行知识融合。
5.根据权利要求3所述的基于AutomationML的工业设备运动控制代码自动生成方法,其特征在于,步骤S3进一步包括:
步骤S3-1:生成工程框架;其中,
根据DBM描述,从设备节点出发,优先将该设备对应的驱动信息存入单独的POU的变量区中,称为共享POU,供其他POU使用;按照Order类描述的执行顺序,依次建立POU页面;
步骤S3-2:生成功能块;其中,
从运动过程节点出发,识别每个运动过程节点所对应的功能块逻辑,按照执行顺序生成在对应的POU中,功能块之间依靠连线或变量传递信息;若两个运动过程节点中包含联锁逻辑控件,则额外生成联锁逻辑控件;
步骤S3-3:功能块赋值;其中,
根据MCM描述,从运动过程节点出发,依次查找对应的起始状态和目标状态,根据输入Port节点描述的属性,分别从共享POU、起始状态点、目标状态点获取数据;若Port节点属性无法满足功能块的输入需求,则从运动过程获取对应的Collada文件,调用特征点识别算法识别每一帧特征点所处位置,转换成实际空间位置后计算出每两帧之间点的移动距离,进而推算出设备的移动速度、加速度等信息,赋值给功能块引脚。
6.根据权利要求1所述的基于AutomationML的工业设备运动控制代码自动生成方法,其特征在于,功能块知识库由基于PLC编程平台的功能块控件库对应的本体描述构建而成,其中包含了基本联锁逻辑功能块和基于PLCOpen Motion Control标准的功能块。
7.一种基于AutomationML的工业设备运动控制代码自动生成装置,其特征在于,至少包括工业仿真平台和PLC编程平台,其中,
工业仿真平台用于对现场工业设备的数字孪生体进行仿真运动模拟;确定设备运动行为后,将设备驱动信息、起始状态信息、目标状态信息及完整的运动过程信息进行建模表示,得到设备行为模型;
PLC编程平台用于导入设备行为模型,对设备行为模型进行本体语义描述,并根据构建好的功能块知识库进行知识融合,得到知识图谱;并根据特定规则和算法对知识图谱进行推理解析,生成与设备行为模型所描述运动控制逻辑一致的基于IEC 61131-3标准的FBD代码。
8.根据权利要求7所述的基于AutomationML的工业设备运动控制代码自动生成装置,其特征在于,
工业仿真平台集成了几何模型库、运动功能库和逻辑组件库;几何模型库包括多种工业设备的数字化模型;运动功能库包括基本的运动组件,每个基本运动组件代表一个基本运动过程,底层对应一个基于本体描述的运动控制逻辑,底层运动控制逻辑对仿真平台用户透明;逻辑组件库包括含Equal逻辑在内的基本逻辑组件,用以描述联锁逻辑。
9.根据权利要求7所述的基于AutomationML的工业设备运动控制代码自动生成装置,其特征在于,
设备的基本运动由一个运动控制模型来描述:
定义1:运动控制模型是一个3元组MCM=(s,t,f),由以下内容组成:
1)一个起始状态s;
2)一个目标状态t;
3)一个转换规则f,代表从s到t的变换逻辑;
完整的设备运动行为由一系列参与运动控制的工业设备,以及工业设备间的运动控制模型按照一定逻辑组合而成,设备行为模型来描述如下:
定义2:设备行为模型(Device Behavior Model)是一个4元组DBM=(d,M,S,λ),由以下内容组成:
1)一个对应行为描述的设备;
2)一个由定义1描述的运动控制模型的集合列表M=(m0,m1,…,mn);
3)一个运动控制执行顺序的集合列表S=(s0,s1,…,sn);
10.根据权利要求7所述的基于AutomationML的工业设备运动控制代码自动生成装置,其特征在于,PLC编程平台是基于IEC 61131-3标准的编程语言的编程平台,分别提供相应编程语言的编程模式,且提供各种丰富功能的功能块控件库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211736207.6A CN116069317A (zh) | 2022-12-30 | 2022-12-30 | 一种基于AutomationML的工业设备运动控制PLC代码自动生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211736207.6A CN116069317A (zh) | 2022-12-30 | 2022-12-30 | 一种基于AutomationML的工业设备运动控制PLC代码自动生成方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116069317A true CN116069317A (zh) | 2023-05-05 |
Family
ID=86179587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211736207.6A Pending CN116069317A (zh) | 2022-12-30 | 2022-12-30 | 一种基于AutomationML的工业设备运动控制PLC代码自动生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116069317A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117621090A (zh) * | 2024-01-25 | 2024-03-01 | 青岛创新奇智科技集团股份有限公司 | 一种工业机器人的控制方法、***及工业机器人 |
-
2022
- 2022-12-30 CN CN202211736207.6A patent/CN116069317A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117621090A (zh) * | 2024-01-25 | 2024-03-01 | 青岛创新奇智科技集团股份有限公司 | 一种工业机器人的控制方法、***及工业机器人 |
CN117621090B (zh) * | 2024-01-25 | 2024-05-14 | 青岛创新奇智科技集团股份有限公司 | 一种工业机器人的控制方法、***及工业机器人 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Leng et al. | Digital twins-based remote semi-physical commissioning of flow-type smart manufacturing systems | |
Drath et al. | AutomationML-the glue for seamless automation engineering | |
US20210220994A1 (en) | Configuration of robots in multi-robot operational environment | |
Munro et al. | ECSTASY: A control system CAD environment | |
Yang et al. | Model-driven development of control software for distributed automation: a survey and an approach | |
CN110271009B (zh) | 基于plc仿机器人指令实现机械手示教功能方法 | |
Park et al. | A PLC programming environment based on a virtual plant | |
CN102955460A (zh) | 一种数控***主站对io端子从站的控制*** | |
CN111708530A (zh) | 一种工业机器人图形化编程*** | |
CN110480658A (zh) | 一种融合视觉自标定的六轴机器人控制*** | |
CN116069317A (zh) | 一种基于AutomationML的工业设备运动控制PLC代码自动生成方法及装置 | |
CN115816459A (zh) | 机器人控制方法、装置、计算机设备、存储介质和产品 | |
Striffler et al. | Concepts and trends of virtual commissioning–A comprehensive review | |
Bank et al. | Temporal logic (TL)-based autonomy for smart manufacturing systems | |
Sinnemann et al. | Architecture for simulation and optimization of energy consumption of automated production systems | |
Park et al. | PLCStudio: Simulation based PLC code verification | |
Dietz et al. | Concept for an interoperable behavior library for virtual commissioning using PLCopenXML | |
Thapa et al. | Auto-generation of IEC standard PLC code using t-MPSG | |
Hossain et al. | Virtual control system development platform with the application of PLC device | |
CN115356997A (zh) | 集成式工业控制***及其控制方法、工业控制设备及介质 | |
Kazmi | Methodology for validating mechatronic digital twin | |
Thormann et al. | Programming of a lightweight robot using function blocks and sequential function charts | |
Siegrist et al. | A Virtual Commissioning Selection Approach for Machine Automation | |
Yu et al. | Graphics-based modular digital twin software framework for production lines | |
de Oliveira Hansen et al. | Agile digital machine development |
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 |