CN109643100B - 用于将plc控制程序转换为结构化数据的设备和方法 - Google Patents
用于将plc控制程序转换为结构化数据的设备和方法 Download PDFInfo
- Publication number
- CN109643100B CN109643100B CN201780049616.XA CN201780049616A CN109643100B CN 109643100 B CN109643100 B CN 109643100B CN 201780049616 A CN201780049616 A CN 201780049616A CN 109643100 B CN109643100 B CN 109643100B
- Authority
- CN
- China
- Prior art keywords
- relationship
- contact
- block
- input
- control program
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/408—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13134—Two or more languages mixed, RLD, SFC, FBD, IL, ST, relay ladder, function block, sequential function, instruction list, structured text mixed to form logic control program
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/15—Plc structure of the system
- G05B2219/15028—Controller and device have several formats and protocols, select common one
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
Abstract
根据本发明的用于将PLC控制程序转换为结构化数据的设备特征在于包括:类库构建单元,其用于构建类库,该类库包括PLC控制程序的输入触点和输出触点中的每一个的梯级和类;结构生成单元,其用于接收从基于文本的PLC控制程序转换来的通用格式PLC控制程序的输入,并且基于类库生成结构化数据,该结构化数据包括通用格式PLC控制程序的输入触点和输出触中的每一个的梯级和对象。
Description
技术领域
本发明涉及PLC控制程序,更具体地,涉及用于将基于文本的PLC控制程序转换为包括对象的结构化数据的设备和方法。
背景技术
可编程逻辑控制器(programmable logic controller,PLC)是一种控制设备,其确保控制自动化工业的过程的稳定性,并且已经被开发,以满足对可编程,具有小尺寸,并且在响应于由少量批量生产引起的现场系统的频繁变化而改变系统方面相对自由的控制器的需要。
用于操作PLC的编程语言包括在国际电工委员会(IEC)61131-3中定义的梯形图(ladder diagram,LD)、功能块图(a function block diagram,FBD)、结构化文本(structured text,ST)、指令列表(instruction list,IL)、顺序功能图(sequentialfunction chart,SFC)和连续功能图(continuous function chart,CFC)。
PLC控制程序的结构可以大体上分为标签(tag)信息和逻辑信息,标签信息包括PLC的触点的信息,逻辑信息包括被驱动的PLC控制程序的信息。此外,逻辑信息是操作自动化过程中的最基本要素,并且包括序列、条件等的所有信息,用于控制设施/过程/线路,以便用作现今用于管理和分析过程的核心信息,现今对优化过程管理的方法的兴趣增加。
自动化过程的管理和分析的关键因素是快速且准确地确定各种异常情况的原因并且能够对其启动响应措施,以便提高生产率并体现过程优化。
自动化过程中的异常发生是由PLC控制程序中的异常符号的接通或关掉引起的,并且异常符号具有树结构并包括从每个过程的上游端的异常符号到下游端的后续异常符号的无数异常符号。
目前,在工业设置中,当在自动化过程中发生异常情况时,通过人机界面(HMI)控制器的警报列表,对发生异常的过程的最上游端的异常符号的接通或关掉进行警报,并且通过当前工程师的经验解决问题。
HMI控制器上显示的异常情况信息是发生异常的过程的异常符号当中上游端的异常符号,不包括实质上异常原因的信息(下游端的异常符号),并且是不可能作为历史记录和情况再生的易失性数据。
发明内容
[技术问题]
虽然结构数据类型可编程逻辑控制器(PLC)是解决上述异常发生或优化过程管理所必需的,但是目前,PLC制造商或PLC编程软件仅提供例如基于梯形图(LD)的PLC控制程序或者由其转换来的基于文本的PLC控制程序,并且不提供结构数据类型PLC控制程序。
本发明旨在提供一种将基于文本的PLC控制程序自动转换为结构数据类型PLC控制程序的设备和方法。
[技术方案]
本发明的一个方面提供一种将可编程逻辑控制器(PLC)控制程序转换为结构数据的设备。该设备包括:类库构建部,其构建类库,所述类库包括关于PLC控制程序的梯级(rung)、输入触点(contact)和输出触点中的每一个的类(class);和结构生成部,其接收从基于文本的PLC控制程序转换来的通用格式PLC控制程序,并且基于所述类库生成结构数据,所述结构数据包括关于所述通用格式PLC控制程序的梯级、输入触点和输出触点中的每一个的对象(object)。
所述类库还可以包括关系类,所述关系类用于关于所有输入触点或输出触点表达每个输入触点或输出触点与至少一个其他输入触点或输出触点之间的关系。此外所述结构数据还可以包括关系对象,所述关系对象关于所述通用格式PLC控制程序的所有输入触点或输出触点表达每个输入触点或输出触点与至少一个其他输入触点或输出触点之间的关系。其中所述关系类和所述关系对象可以包括数据字段,用于基于对应的输入触点或输出触点将前一个输入触点、前一个输出触点、后一个输入触点或后一个输出触点表达为数据字段。
所述结构生成部可以包括:索引生成器,其针对所述通用格式PLC控制程序的每个梯级,为包括在梯级中的每个触点提供索引;对象生成器,其关于梯级、输入触点和输出触点中的每一个生成对象,并且通过基于所述类库反映所提供的索引来生成所述关系对象;和关系形成器,其定义所述关系对象的所述数据字段。
所述关系形成器可以将前一个输入触点、前一个输出触点、后一个输入触点或后一个输出触点的索引定义为所述数据字段。
所述通用格式PLC控制程序可以包括表示OR连接关系的符号。此外,所述关系形成器可以包括:关系块生成器,其使用表示所述OR连接关系的所述符号将所述通用格式PLC控制程序中以OR关系连接的通用格式定义为关系块,所述关系块具有用于基于对应的关系块表达前一个输入触点、前一个输出触点、后一个输入触点或后一个输出触点的数据字段;步骤中(in-step)关系形成器,其关于关系块、形成以所述关系块表达的所述通用格式PLC控制程序的每个梯级的输入触点和输出触点,定义所述数据字段;和关系块中(in-relation-block)关系形成器,其关于包括在所述关系块中的触点定义所述数据字段。
所述关系块中关系形成器可以对所述关系块中以OR关系连接的内部元素进行分类,并且基于关于所述关系块定义的所述数据字段,定义包括在所述内部元素中的至少一个输入触点或输出触点的所述数据字段。
所述关系块中关系形成器可以基于关于包括在所述关系块中的触点定义的所述数据字段,重新定义对应的关系块的前一个或后一个输入触点或输出触点的所述数据字段。
本发明的另一方面提供一种将PLC控制程序转换为结构数据的方法。所述方法包括:构建类库,所述类库包括关于PLC控制程序的梯级、输入触点和输出触点中的每一个的类;和接收从基于文本的PLC控制程序转换来的通用格式PLC控制程序,并且基于所述类库生成结构数据,所述结构数据包括关于所述通用格式PLC控制程序的梯级、输入触点和输出触点中的每一个的对象。
所述类库还可以包括关系类,所述关系类用于关于所有输入触点或输出触点表达每个输入触点或输出触点与至少一个其他输入触点或输出触点之间的关系。此外,所述结构数据还可以包括关系对象,所述关系对象关于所述通用格式PLC控制程序的所有输入触点或输出触点表达每个输入触点或输出触点与至少一个其他输入触点或输出触点之间的关系。其中,所述关系类和所述关系对象可以包括数据字段,所述数据字段用于基于对应的输入触点或输出触点,将前一个输入触点、前一个输出触点、后一个输入触点或后一个输入触点表达为数据字段。
所述结构数据的生成可以包括:针对所述通用格式PLC控制程序的每个梯级,为包括在梯级中的每个触点提供索引;关于梯级、输入触点和输出触点中的每一个生成对象,并且通过基于所述类库反映所提供的索引来生成所述关系对象;和定义所述关系对象的所述数据字段。
所述数据字段的定义可以包括:将前一个输入触点、前一个输出触点、后一个输入触点或后一个输出触点的索引定义为所述数据字段。
所述通用格式PLC控制程序可以包括表示OR连接关系的符号。此外,所述数据字段的定义可以包括:(a)使用表示所述OR连接关系的所述符号将所述通用格式PLC控制程序中以OR关系连接的通用格式定义为关系块,所述关系块具有用于基于对应的关系块表达前一个输入触点、前一个输出触点、后一个输入触点或后一个输出触点的数据字段;(b)关于关系块、形成以所述关系块表达的所述通用格式PLC控制程序的每个梯级的输入触点和输出触点,定义所述数据字段;和(c)关于包括在所述关系块中的触点定义所述数据字段。
操作(c)可以包括对所述关系块中以OR关系连接的内部元素进行分类,并且基于关于所述关系块定义的所述数据字段,定义包括在所述内部元素中的至少一个输入触点或输出触点的数据字段。
操作(c)可以包括基于关于包括在所述关系块中的触点定义的数据字段,重新定义对应的关系块的前一个或后一个输入触点或输出触点的数据字段。
[有益效果]
根据本发明,基于文本的可编程逻辑控制器(PLC)被自动转换为结构数据类型PLC控制程序,使得当在自动化过程中发生异常情况时,可以使用所述结构数据类型PLC控制程序自动跟踪从最上游端的异常符号到最下游端的异常符号,该异常符号是过程中发生异常的实质原因。此外,所述结构数据类型PLC控制程序可以是系统的基础,其对自动化过程中发生异常情况的实质原因进行可视化和历史记录,从而有助于提高自动化过程的生产率和过程管理的优化。
附图说明
图1是根据本发明的一个实施例的用于将可编程逻辑控制器(PLC)控制程序转换为结构数据的设备的框图。
图2是示出通用命令的可扩展标记语言(XML)文件格式的示例的图。
图3示出通用格式转换部13的详细组件。
图4是示出将基于文本的PLC控制程序转换为通用格式的方法的流程图,该方法由通用格式转换部13执行。
图5a示出具有Mitsubishi的梯形图(LD)结构的PLC控制程序的示例。
图5b示出从图5a的PLC控制程序转换的基于文本的PLC控制程序。
图6示出关于第一梯级和第二梯级生成的指令列表(IL)对象,其由IL对象生成器14生成。
图7a示出IL块生成器15关于第一梯级生成的IL块。
图7b示出IL块生成器15关于第二梯级生成的IL块。
图8a是示出通过将连接命令OR应用于图7a中所示的通用块来以通用格式表达所述通用块之间的连接关系的过程的视图。
图8b是示出通过将连接命令OR应用于图7b中所示的通用块来以通用格式表达所述通用块之间的连接关系的过程的视图。
图9示出通过对已经在图8b中对其应用了连接命令OR的通用块应用连接命令ORB来表达所述通用块之间的连接关系的过程。
图10示出应用在输出部中使用的连接命令MPS的结果。
图11示出应用在输出部中使用的连接命令MPP的结果。
图12示出关于图9至11中的第二梯级表达的通用块的通用格式。
图13示出从图5b的基于文本的PLC控制程序转换来的关于第一梯级N0和第二梯级N5的最终通用格式。
图14示出由类库构建部21构建的类库的结构。
图15a至15e分别示出类“步骤”、类“线圈”、类“触点”、类“关系”和类“标签”的数据字段结构。
图16示出根据本发明的一个实施例的结构生成部22的详细组件。
图17示出为关于具有图13中所示的通用格式的PLC控制程序的触点提供的索引的示例。
图18示出基于图14和图15的类库,从如图17中所示为其提供了索引的具有通用格式的PLC控制程序生成的对象的示例。
图19示出为方便起见通过将如图17中所示为其提供了索引的具有通用格式的PLC控制程序表达为对象形状而获得的PLC控制程序。
图20示出根据本发明的一个实施例的关系形成器25的详细组件。
图21示出使用关系块表达N0步骤的结果。
图22示出关于N0步骤定义触点(或关系块)之间的关系的结果。
图23示出以其将关系块分类为内部要素的格式。
图24a示出将图22中所示的关系块RBK0应用于图23的格式的结果。
图24b示出定义包括在关系块RBK0中的每个触点与另一个触点之间的关系的结果。
图25示出关于N0步骤的所有输入触点或输出触点表达输入触点或输出触点与另一输入触点或输出触点之间关系的结果。
图26示出使用关系块表达N5步骤的结果。
图27示出关于N5步骤定义触点(或关系块)之间关系的结果。
图28示出将图27中所示的关系块RBK0和关系块RBK1应用于图23的格式的结果,并且示出定义包括在RBK0和RBK1中的每个触点与另一触点之间关系的结果。
图29示出将括在图28中的关系块RBK0中的关系块RBK1替换为包括在其中的触点I2和I3的结果。
图30示出将图27的关系块RBK0替换为图29的关系块RBK0的结果,即,其关系被定义并且包括在RBK0中的触点。
图31示出将图27中所示的关系块RBK2应用于图23的格式的结果。
图32示出将图30的关系块RBK2替换为图31的关系块RBK2的结果,即,其关系被定义并且包括在RBK2中的触点。
图33示出根据本发明的实施例最终生成的结构数据的示例。
图34是示出根据本发明的一个实施例将具有通用格式的PLC控制程序转换为结构数据的方法的流程图。
具体实施方式
在下文中,将参考附图详细描述本发明的示例性实施例。在以下描述和附图中,本质上相同的元件用相同的附图标记表示,并且省略重复的描述。在本发明的描述中,当对现有技术的公知功能或组件的详细描述被认为模糊了本发明的实质时将被省略。
图1是根据本发明的一个实施例的用于将可编程逻辑控制器(PLC)控制程序转换为结构数据的设备(在下文中称为结构数据转换设备)的框图。
根据该实施例的结构数据转换设备可以包括通用命令库构建部11、存储部12、通用格式转换部13、类库构建部21和结构生成部22。
在根据该实施例的结构数据转换设备的组件中,通用命令库构建部11、存储部12和通用格式转换部13执行将具有对于每个PLC制造商不同的文本格式的PLC控制程序转换为的通用格式PLC控制程序的功能,并且可以形成所谓的用于转换PLC控制程序的通用格式的设备(下文中称为通用格式转换设备)。在由本发明的申请人提交的韩国专利申请No.10-2015-0181242中公开了这种通用格式转换设备的细节,并且其全部公开内容将在说明书中作为参考引用。
根据一实施例,该通用格式转换设备可以包括通用命令库构建部11、存储部12和通用格式转换部13,并且该结构数据转换设备可以包括类库构建部21和结构生成部22。
通用命令库构建部11通过根据通用命令生成算法生成在具有不同格式的基于文本的PLC控制程序中使用的命令的通用命令,在存储部12中构建并存储通用命令库。
为了容易地构建通用命令库,首先,可以在开始构建通用命令库之前,先将每个PLC制造商的PLC控制程序中使用命令信息和与其对应的通用命令信息完整地存储或输入到通用命令库构建部11。
当如上所述准备好每个PLC制造商的PLC控制程序中使用的命令时,通用命令库构建部11根据通用命令生成算法构建通用命令库。
其中,通用命令生成算法是这样的算法:顺序执行第一操作、第二操作和第三操作,以关于具有不同格式的基于文本的PLC控制程序中使用的命令生成通用命令。
第一操作是将具有不同形式的基于文本的PLC控制程序中使用的命令分类为具有相同表达含义的相等表达的命令组的操作。
例如,关于表示“等于”的命令表达,Mitsubishi表达为“OR=”,Allen-Bradley(AB)表达为“EQU”,SIMENS表达为“==I”,LSIS Co.,Ltd表达为“OR=”。因此,在第一操作中,“等于”命令组可包括Mitsubishi的“OR=”、AB的“EQU”、SIMENS的“==I”以及LSISCo.,Ltd.的“OR=”。
然后,第二操作是检查包括在相等表达的命令组中的所有命令是否具有相同功能的操作。
例如,在第二操作中,检查包括在“等于”命令组中的“OR=”、“EQU”、“==I”和“OR=”是否具有相同功能。
第三操作是根据包括在相等表达的命令组中的所有命令是否具有相同功能来生成另一种格式的通用命令的操作。
首先,当包括在相等表达命令组中的所有命令具有相同功能时,生成词典中的相等地表达包括在相等表达命令组中的且具有相同功能的命令的单词,作为关于具有该相同功能的命令的通用命令。
例如,由于包括在“等于”命令组中的“OR=”、“EQU”、“==I”和“OR=”都具有相同功能,因此用于表达“等于”的词汇单词“EQUAL”可以用作关于具有该相同功能的命令的通用命令。然而,本发明不限于仅使用词汇单词“EQUAL”作为该通用命令。
此外,当关于具有相同功能的命令生成通用命令时,可以将包括在具有相同功能的命令中的参数修饰符插入到关于具有该相同功能的命令的通用命令中。当修改这种命令的参数的任何一个修饰符,例如,D(double)、BK(block)、U(unsigned)、G(group)、R(real)、L(long)、4(4bits)、8(8bits)、$(string)、C(complement),包括在对应的命令中时,可以将该参数修饰符作为前缀插入到对应的命令的通用命令中。然而,插入操作修饰符的位置不限于此。
例如,AB关于“等于”的命令“DEQU”是通过将参数修饰符D(double)附加到命令“EQU”获得的命令。“D”修改命令“EQU”的参数长短(size)。命令“EQU”是处理一个字(16位)的命令,命令“DEQU”是处理两个字(32位)的命令。如上所述,可以插入修改命令的参数的参数修饰符作为通用命令的前缀。
此外,当关于具有相同功能的命令生成通用命令时,可以将包括在具有相同功能的命令中的操作修饰符插入到关于具有相同功能的命令的通用命令中。当修改这种命令的操作的任何一个这种操作修饰符,例如,P(正脉冲)和N(负脉冲),包括在对应的命令中时,可以将该操作修饰符作为后缀插入到对应命令的通用命令中。然而,插入操作修饰符的位置不限于此。
例如,Mitsubishi的命令“ANDP”包括“P(正脉冲)”,它是用于将“AND”转换为正脉冲格式的操作修饰符,“AND”是具有地址值接通时被接通的功能的触点。因此,可以通过将操作修饰符“P”作为后缀附加到关于“AND”的通用命令“XIC(检查是否关闭)”来生成关于“ANDP”的通用命令“XICP”。
而当包括在相等表达命令组中的所有命令不具有相同功能时,可以生成包括在相等表达命令组中但不具有相同功能的相等地表达命令的词汇单词,作为关于不具有相同功能的命令的通用命令。此外,可以将使用不具有相同功能的命令的PLC控制程序控制的PLC的制造商的称谓插入到关于不具有相同功能的命令的通用命令中。
例如,作为包括在相等表达命令组中的所有命令不具有相同功能的情况,存在命令“LIMIT”等。命令“LIMIT”同样用作Mitsubishi、LSIS和AB的PLC控制程序中的表达,但不具有相同功能。SIMENS的PLC控制程序中不使用命令“LIMIT”。
因此,可以使用词汇单词“LIMIT”生成关于命令“LIMIT”的通用命令。由于在每个PLC制造商中命令“LIMIT”不执行相同功能,所以可以将每个PLC制造商的称谓插入到通用命令“LIMIT”中。例如,在Mitsubishi、Siemens、AB和LSIS的情况下,可以将“m”、“s”、“ab”和“ls”分别作为前缀插入到通用命令“LIMIT”中。也就是说,“mLIMIT”可用于Mitsubishi,“sLIMIT”可用于Siemens,“abLIMIT”可用于AB,“lsLIMIT”可用于LSIS。
此外,当关于不具有相同功能的命令生成通用命令时,可以将包括在不具有相同功能的命令中的参数修饰符插入到关于不具有相同功能的命令的通用命令中。
例如,通过将参数修饰符D(double)附加到命令“LIMIT”获得作为AB的命令的“DLIMIT”。“D”修改命令“LIMIT”的参数长短。命令“LIMIT”是处理一个字(16位)的命令,命令“DLIMIT”是处理两个字(32位)的命令。如上所述修改命令的参数的参数修饰符可以被插入到通用命令中,并且可以被设置在表示PLC制造商的前缀之后,例如,“ab”,其表示AB。因此,关于AB的命令“DLIMIT”的通用命令可以是“abDLIMIT”。
此外,当关于不具有相同功能的命令生成通用命令时,可以将包括在不具有相同功能的命令中的操作修饰符插入到关于不具有相同功能的命令的通用命令中。例如,Mitsubishi的命令“LIMITP”包括操作修饰符“P(正脉冲)”,其将命令“LIMIT”转换为正脉冲格式。可以将如上所述的修改命令的操作的操作修饰符作为后缀插入到通用命令中。因此,关于Mitsubishi的命令“LIMITP”的通用命令可以是“mLIMITP”。
通过顺序执行如上所述的第一到第三操作而生成的通用命令可以被转换为可扩展标记语言(XML)文件格式,以在存储部12中构建通用命令库。
图2中示出通用命令的XML文件格式的例子。参考图2,关于通用命令的XML文件包括每个PLC制造商的对应于诸如“XIC”、“XICP”和“XICF”的通用命令中的每一个的命令。
例如,AB中的命令“XIC”可以对应于通用命令“XIC”。Mitsubishi中的“LD”、“AND”和“OR”中的每一个可以对应于通用命令“XIC”。Siemens中的“A”和“O”可以对应于通用命令“XIC”。LSIS中的“LOAD”、“AND”和“OR”可以对应于通用命令“XIC”。
将描述在通过上述过程构建通用命令库之后存在转换为通用格式的请求时图3中所示的通用格式转换部13的操作。
由于请求转换为通用格式的基于文本的PLC控制程序可转换为通用格式PLC控制程序,所以通用格式转换部13使用通用命令库将基于文本的PLC控制程序转换为通用格式PLC控制程序。
如图3中所示,通用格式转换部13包括IL对象生成器14、指令列表(IL)块生成器15、通用块转换器16和连接关系表达器17,以将基于文本的PLC控制程序转换为通用格式PLC控制程序。
IL对象生成器14检查请求转换为通用格式的基于文本的PLC控制程序是否可转换为通用格式PLC控制程序。
其中,可以使用基于文本的PLC控制程序的文件名扩展和数据结构中的至少一个来确定请求转换为通用格式的基于文本的PLC控制程序是否可转换为通用格式。
例如,首先通过检查基于文本的PLC控制程序的文件名扩展来确定基于文本的PLC控制程序是否可转换为通用格式。
然后当被检查的文件名扩展对应于预设的文件名扩展时,检查基于文本的PLC控制程序的数据结构是否对应于预设的数据结构。
作为检查的结果,当基于文本的PLC控制程序的数据结构对应于预设的数据结构时,可以确定基于文本的PLC控制程序可转换为通用格式PLC控制程序。
在数据结构不是预设的数据结构的情况下,不可能将基于文本的PLC控制程序转换为通用格式PLC控制程序。
由于请求转换为通用格式的基于文本的PLC控制程序可转换为通用格式PLC控制程序,所以IL对象生成器14根据形成基于文本的PLC控制程序的控制逻辑的每个梯级的逻辑顺序,生成至少一个触点作为IL对象,其包括命令和标签。也就是说,在整个说明书中,IL对象具有与触点相同的含义。
IL块生成器15通过使用块命令将IL对象生成器14生成的至少一个IL对象成块来生成至少一个IL块。
其中,块命令包括LD、LDI、ANB、OR、ORB、MPP、MRD和MPS。
LD是load的缩写,表示加载控制逻辑上的触点。由于LD,可以连续生成PLC程序的控制逻辑的块。
由于LDI意味着负载反转并且包括反转的含义,所以当对应的标签被关掉时触点被接通。
ANB具有AND块的含义,并表示在ANB命令之前生成的两个块之间具有AND关系。
OR表示OR命令之前的符号和OR命令的符号之间具有OR关系。
ORB具有OR块的含义,并表示在ORB命令之前生成的两个块之间具有OR关系。
MPS具有多点启动的含义,并且当出现多个输出触点时,设置在第一输出触点和与该输出触点具有关系的触点的最前面位置。
MRD具有多次读取的含义,并在出现三个以上的输出触点时使用。
MPP具有多点周期的含义,并且当出现多个输出触点时,设置在最后输出触点和与该输出触点具有关系的触点的最前面位置。
其中,块命令中的OR、ORB、ANB、MPS、MRD和MPP是连接关系表达器17使用的连接命令。其中,除OR命令之外的连接命令仅包括被表达为IL对象时的命令并且仅表达块之间的连接关系。因此,由于它们是块连接命令,所以当通用块转换器16执行转换到通用块时,包括对应的块连接命令的IL对象的命令不被转换成通用命令。
IL块生成器15在传递以控制逻辑序列排列的IL对象的同时检查IL对象中是否包括块命令,并且当包括块命令时生成新的IL块。而当不包括块命令时,在出现新的块命令之前,将IL对象顺序地插入到先前生成的IL块中。
通用块转换器16通过使用通用命令库将命令转换为用于一个或多个IL块中的一个或多个IL对象中的每一个的通用命令来生成通用对象,并将一个或多个IL块转换为一个或多个通用块。
连接关系表达器17使用连接命令将一个或多个通用块之间的连接关系表达为符号“[”、“]”和“,”中的至少一个。
其中,连接命令可以包括OR、ORB、ANB、MPP、MPS和MRD。在输入部(条件部)中使用的连接命令为OR、ANB和ORB,并且在输出部中使用的连接命令为MPS、MRD和MPP。
连接关系表达器17可以使用连接命令将使用通用格式表达的通用块之间的连接关系表达为符号“[”、“]”和“,”中的至少一个。为此,连接关系表达器17可以根据输入中使用的连接命令,将以通用格式表达的通用块之间的连接关系表达为符号“[”、“]”和“,”中的至少一个,然后可以根据输出部中使用的连接命令,将由输入部中使用的连接命令表达的通用块之间的连接关系表达为“[”、“]”和“,”中的至少一个。
在本发明的实施例中,通过将输入部中使用的连接命令以OR->ANB->ORB的顺序应用于以通用格式表达的通用块,可以将以通用格式表达的通用块之间的连接关系表达为“[”、“]”和“,”中的至少一个。将输入部中使用的连接命令以OR->ANB->ORB的顺序应用于以通用格式表达的通用块仅仅是示例,并且本发明不限于此。
此外,通过将输出部中使用的连接命令以MPS->MRD->MPP的顺序应用于由输入部中使用的连接命令表达的通用块,可以将由输入部中使用的连接命令表达的通用块之间的连接关系表达为符号“[”、“]”和“,”中的至少一个。将输出部中使用的连接命令以MPS->MRD->MPP的顺序应用于由输入部中使用的连接命令表达的通用块仅仅是示例,并且本发明不限于此。
图4是示出将基于文本的PLC控制程序转换为通用格式的方法的流程图,该方法由通用格式转换部13执行。
参考图4,当请求转换为通用格式的基于文本的PLC控制程序可转换为通用格式PLC控制程序时,IL对象生成器14根据用于形成基于文本的PLC控制程序的控制逻辑的每个梯级的逻辑序列,生成一个或多个触点,作为包括命令和标签的IL对象(S71)。
IL块生成器15通过使用块命令将所述一个或多个IL对象成块来生成一个或多个IL块。它可以对应于图4中的操作S72至S76。
也就是说,IL块生成器15从IL对象列表中顺序地提取IL对象(S72)。到梯级的最后一个IL对象(S73),IL块生成器15检查这些IL对象中是否包括命令“LD、AND、OR、ORB、MPP、MRD和MPS”(S74)。当其中包括它们时,IL块生成器15生成新的IL块(S75)。当其中不包括它们时,将IL对象插入最近生成的IL块中(S76)。重复执行操作S72至S76。
通用块转换器16通过使用通用命令库将命令转换为用于一个或多个IL块中的一个或多个IL对象中的每一个的通用命令来生成通用对象,并将一个或多个IL块转换为一个或多个通用IL块(S77)。
连接关系表达器17使用连接命令将一个或多个通用块之间的连接关系表达为符号“[”、“]”和“,”中的一个或多个。这可以在图4中的操作S78至S90中执行。
也就是说,连接关系表达器17顺序地提取图8中所示的通用块,并检查所提取的通用块是否是最后的通用块(S79)。
当所提取的通用块不是最后的通用块时,连接关系表达器17检查所提取的通用块中是否包括连接命令ORB或OR(S80)。当包括连接命令ORB或OR时,将“[”、“,”和“]”插入到前面两个通用块中(S81)。
当所提取的通用块中不包括连接命令ORB或OR时,连接关系指示器17检查所提取的通用块中是否包括连接命令ANB(S82)。当其中包括连接命令ANB时,附加所提取的通用块的前面两个通用块(S83)。
当所提取的通用块中不包括连接命令ANB时,连接关系表达器17检查所提取的通用块中是否包括连接命令MPS。当其中包括连接命令ANB时,将“[”插入对应的通用块的头部(S85)。
当所提取的通用块中不包括连接命令MPS时,连接关系指示器17检查所提取的通用块中是否包括连接命令MRD(S86)。当其中包括连接命令MPS时,将“,”插入对应的通用块的前面(S87)。
当所提取的通用块中不包括连接命令MRD时,连接关系表达器17确定所提取的通用块中包括连接命令MPP,并且连接关系表达器17将“,”插入到对应的通用块的头部,并且将“]”插入其后端(S88)。
而当在操作S79中确定所提取的通用块是最后通用块时,连接关系表达器17顺序地将通用块用以通用格式表达的连接关系合并(S89),并且输出用以表达合并的通用块之间的连接关系的通用格式(S90)。
图5a示出具有Mitsubishi的LD结构的PLC控制程序的示例,图5b示出从图5a的PLC控制程序转换的基于文本的PLC控制程序。在下文中,描述通用格式转换部将图5b的基于文本的PLC控制程序转换为通用格式PLC控制程序的过程。
图5a和5b的PLC控制程序包括两个梯级、诸如LD、OR、AND、ANI、OUT、LDI、ORB、MPS、MPP等的命令以及诸如X0、X1、M0、X3、Y0、X4、X5、X6、X8、X7、X9、X10、Y2等的标签。
图6示出由IL对象生成器14关于第一梯级和第二梯级生成的IL对象。参考图6,可以看出IL对象是根据图5b中所示的基于文本的PLC控制程序的控制逻辑顺序排列的。也就是说,IL对象的序列等于基于文本的PLC控制程序的控制逻辑序列。详细地说,当IL对象按命令序列排列时,第一梯级具有LD、OR、AND、ANI、OUT的序列,第二梯级具有LDI、AND、LDI、OR、AND、ORB、AND、MPS、OUT、MPP、ANI和OUT的序列。
图7a示出由IL块生成器15关于第一梯级生成的IL块。
对于第一梯级的IL对象,参考图6,并且参考图7a,第一IL块由块命令“LD”生成,并且包括一个IL对象,即,其命令为LD的IL对象。
第二IL块由块命令“OR”生成,并且包括四个IL对象,即,其命令为OR的IL对象、其命令为AND的IL对象、其命令为ANI的IL对象和其命令为OUT的IL对象。
此外,图7a示出通用块转换器16将IL块转换为通用块的结果。
首先,关于第一IL块,通用块转换器16通过使用通用命令库将其命令为“LD”的IL对象转换为其命令为“XIC”的通用对象,将第一IL块转换为第一通用块。因此,第一通用块的通用格式可以表达为“XIC(X0)”。
关于第二IL块,通用块转换器16通过使用通用命令库,将其命令为“OR”的IL对象转换为其通用命令为“XIC”的通用对象,将其命令为“AND”的IL对象转换为其通用命令为“XIC”的通用对象,将其命令为“ANI”的IL对象转换为其通用命令为“XIO”的通用对象,并且将其命令为“OUT”的IL对象转换为其通用命令为“OUT”的通用对象,使得第二IL块被转换为第二通用块。因此,第二通用块的通用格式可以表达为“XIC(X1)XIC(M0)XIO(X3)OUT(Y0)”。
图7b示出IL块生成器15关于第二梯级生成的IL块。
对于第二梯级的IL对象,参考图6,并且参考图7b,第一IL块由块命令“LDI”生成,并且包括两个IL对象,即,其命令为LDI的IL对象和其命令为AND的IL对象。
第二IL块由块命令“LDI”生成,并且包括一个IL对象,即,其命令为LDI的IL对象。
第三IL块由块命令“OR”生成,并且包括两个IL对象,即,其命令为OR的IL对象和其命令为AND的IL对象。
第四IL块由块命令“ORB”生成,并且包括两个IL对象,即,其命令为ORB的IL对象和其命令为AND的IL对象。
第五IL块由块命令“MPS”生成,并且包括两个IL对象,即,其命令为MPS的IL对象和其命令为OUT的IL对象。
第六IL块由块命令“MPP”生成,并且包括三个IL对象,即,其命令为MPS的IL对象,其命令为ANI的IL对象,以及其命令为OUT的IL对象。
此外,图7b示出通用块转换器16将IL块转换为通用块的结果。
首先,关于第一IL块,通用块转换器16通过使用通用命令库,将其命令为“LDI”的IL对象转换为其通用命令为“XIC”的通用对象并将其命令为“AND”的IL对象转换为其通用命令为“XIC”的通用对象,而将第一IL块转换为第一通用块。因此,第一通用块的通用格式可以表达为“XIC(X4)XIC(X5)”。
关于第二IL块,通用块转换器16通过使用通用命令库将其命令为“LDI”的IL对象转换为其通用命令为“XIC”的通用对象,而将第二IL块转换为第二通用块。因此,第二通用块的通用格式可以表达为“XIC(X6)”。
关于第三IL块,通用块转换器16通过使用通用命令库将其命令为“OR”的IL对象转换为其通用命令为“XIC”的通用对象并将其命令为“AND”IL对象转换为其通用命令为“XIC”的通用对象,而将第三IL块转换为第三通用块。因此,第三通用块的通用格式可以表达为“XIC(X8)XIC(X7)”。
关于第四IL块,通用块转换器16通过使用通用命令库不将其块连接命令为“ORB”的IL对象转换为通用命令并将命令为“AND”的IL对象转换为其通用命令为“XIC”的通用对象,而将第四IL块转换为第四通用块。因此,第四通用块的通用格式可以表达为“XIC(X9)”。
关于第五IL块,通用块转换器16通过使用通用命令库不将其块连接命令为“MPS”的IL对象转换为通用命令并将其命令为“OUT”的IL对象转换为通用命令为“OUT”的通用对象,而将第五IL块转换为第五通用块。因此,第五通用块的通用格式可以表达为“OUT(M0)”。
关于第六IL块,通用块转换器16通过使用通用命令库不将其块连接命令为“MPP”的IL对象转换为通用命令,将其命令为“ANI”的IL对象转换为其通用命令为”XIO的通用对象,并将其命令为“OUT”的IL对象转换为其通用命令为“OUT”的通用对象,而将第六IL块转换为第六通用块。因此,第六通用块的通用格式可以表达为“XIO(X10)OUT(Y2)”。
当如上所述完全完成将IL块转换为通用块的处理时,通用块之间的连接关系被表达为使得文本PLC控制程序最终被转换为通用格式PLC控制程序。
其中,可以针对形成基于文本的PLC控制程序的控制逻辑的一个或多个梯级中的每一个,使用通用格式来表达通用格式PLC控制程序。
在通用格式RUNG中,基于文本的RUNG中的至少一个触点可以被表达为包括通用命令和标签的通用对象,并且通过将一个或多个通用对象成块而生成的一个或多个通用块之间的连接关系可以被表达为符号“[”、“]”和“,”中的至少一个。其中,符号“[”和“]”表示连接点,符号“,”表示分支点。
通用块之间的连接关系可以由连接关系表达器17表达。
图8a是示出通过将连接命令OR应用于通用块而以通用格式表达图7a中所示的通用块之间的连接关系的过程的视图。
参考图8a,连接关系指示器17检查图7a中所示的通用块当中是否存在包括连接命令OR的通用块。当存在包括连接命令OR的通用块时,通过使用符号“[”、“]”和“,”来表达包括连接命令OR的通用块与在其之前的两个通用块之间的连接关系。
在图8a中,使用符号“[”、“]”和“,”来表达包括连接命令OR的第二通用块与第一通用块之间的连接关系。
将更详细地描述。首先,将符号“[”插入到包括连接命令OR的第二通用块前面的第一通用块的通用格式表达的最前面(S1)。
然后,将符号“,”插入到包括连接命令OR的第二通用块的通用格式表达的最前面(S2)。
此外,当包括连接命令OR的第二通用块的后一个通用块不包括连接命令OR时,在当前的第二通用块的通用格式当中包括OR命令的IL对象的通用格式之后插入“]”(S3)。当包括OR的当前通用块的后一个通用块包括连接命令OR时,将“,”插入到当前通用块的通用格式的最后。
然后,将第一通用块的通用格式表达与第一通用块和第二通用块中排序稍后的通用块,即第二通用块,的通用格式表达合并(S4)。
因此,第一梯级的第二通用块的通用格式成为“[XIC(X0),XIC(X1)]XIC(M0)XIO(X3)OUT(Y0)”。
图8b是示出通过将连接命令OR应用于通用块,以通用格式表达图7b中所示的通用块之间的连接关系的过程的视图。
参考图8b,连接关系表达器17检查图7b中所示的通用块当中是否存在包括连接命令OR的通用块。当存在包括连接命令OR的通用块时,通过使用符号“[”、“]”和“,”来表达包括连接命令OR的通用块与在其之前的两个通用块之间的连接关系。
在图8b中,使用符号“[”、“]”和“,”表达包括连接命令OR的第三通用块与第二通用块之间的连接关系。
将更详细地描述。首先,将符号“[”插入包括连接命令OR的第三通用块前面的第二通用块的通用格式表达的最前面(S5)。
然后,将符号“,”插入到包括连接命令OR的第三通用块的通用格式表达的最前面(S6)。
此外,当包括连接命令OR的第三通用块的后一个通用块不包括连接命令OR时,在当前第三通用块的通用格式当中包括OR命令的IL对象的通用格式之后插入“]”(S7)。当包括OR的当前通用块的后一个通用块包括连接命令OR时,将“,”插入到当前通用块的通用格式的最后。
然后,将第二通用块的通用格式表达与第二通用块和第三通用块中排序稍后的通用块,即,第三通用块,的通用格式表达合并(S8)。
图9是通过向其应用连接命令ORB来表达图8b中应用了连接命令OR的通用块之间的连接关系的过程。
参考图9,连接关系指示器17在应用连接命令OR之后检查通用块中是否存在包括连接命令ORB的通用块。当存在包括连接命令ORB的通用块时,使用包括ORB的通用块和在包括ORB的通用块之前的非空的两个通用块来表达通用块之间的关系。
也就是说,连接关系表达器17将“[”插入作为非空的并且位于包括连接命令ORB的第四通用块之前的两个通用块中的第一个的第一通用块的通用格式表达的最前面(S9)。
然后,连接关系表达器17将“,”插入到第三通用块的通用格式表达的最前面,第三通用块是非空的并且位于包括连接命令ORB的第四通用块的前面的两个通用块中的第二个(S10)。
此外,连接关系指示器17检查在包括连接命令ORB的第四通用块之后是否存在包括连接命令OR的通用块和包括连接命令ORB的通用块。仅当它们不存在时,将“]”插入到当前包括连接命令ORB的第四通用块的通用格式表达的最前面(S11)。
然后,连接关系表达器17将第一通用块、第三通用块和第四通用块中最后的第四通用块与第一通用块和第三通用块合并,并从合并后的第四通用块中删除包括连接命令ORB的通用对象(S12)。
因此,第二梯级的第二通用块的通用格式成为“[XIC(X4)XIC(X5),[XIO(X6),XIC(X8)]XIC(X7)]XIC(X9)”。
图10是示出应用在输出部中使用的连接命令MPS的结果的视图。
参考图10,连接关系指示器17检查包括连接命令MPS的通用块。当存在包括连接命令MPS的通用块时,将“[”插入对应的通用块的通用格式表达的最前面(S13)。
也就是说,连接关系表达器17将“[”插入到包括连接命令MPS的第五通用块的通用格式表达的最前面。
因此,第二梯级的第五通用块的通用格式成为“[OUT(M0)”。
图11是示出应用在输出部中使用的连接命令MPP的结果的视图。
参考图11,连接关系指示器17检查是否存在包括连接命令MPP的通用块。当存在包括连接命令MPP的通用块时,将“[”插入到对应的通用块的通用格式表达的最前面,并且将“]”插入到对应的通用块的通用格式表达的最后面(S14)。
也就是说,连接关系指示器17将“,”和“]”分别插入到包括连接命令MPP的第六通用块的通用格式表达的最前面和最后面。
因此,第二梯级的第六通用块的通用格式成为“,XIO(X10)OUT(Y2)]”。
图12示出关于图9至图11中的第二梯级表达的通用块的通用格式。参考图12,当顺序地合并第四、第五和第六通用块的通用格式时,形成关于第二梯级的最终通用格式。
因此,关于第二梯级的第二通用块的最终通用格式成为“[XIC(X4)XIC(X5),[XIO(X6),XIC(X8)]XIC(X7)]XIC(X9)[OUT(M0),XIO(X10)OUT(Y2)]”。
图13示出通过上述过程从图5b的基于文本的PLC控制程序转换而来的关于第一梯级N0和第二梯级N5的最终通用格式。
参考图1,在下文中,将描述类库构建部21和结构生成部22将通用格式转换部13输出的通用格式PLC控制程序转换为结构数据的处理。
类库构建部21构建并存储类库,该类库包括关于梯级、输入触点、输出触点和标签的类,并且包括关系类,关系类是关于每个输入触点或输出触点表达对应的输入触点或输出触点与另一输入触点或输出触点之间的关系的类。
图14示出由类库构建部21构建的类库的结构。参考图14,类库包括:步骤集(StepS),其是最高级的类,并且表示所有步骤的集合;步骤(Step),其是步骤集的下级类,并且表示PLC控制程序的一个梯级(形成PLC控制程序的逻辑的单元);线圈集(CoilS),其是步骤的下级类,并且表示所有线圈的集合;线圈(Coil),其是线圈集的下级类,并且表示包括在对应的梯级中的输出触点;触点集(ContactS),其是步骤的下级类,并且表示所有触点的集合;触点(Contact),其是触点集的下级类,并且表示包括在对应的梯级中的输入触点;关系,其是线圈或触点的下级类,并且表达对应的输入触点或输出触点与另一输入触点或输出触点之间的关系;以及标记(Tag),其是线圈或触点的下级类,并且表示对应的输入触点或输出触点的标记。
图15a至15e分别示出“步骤”类、“线圈”类、“触点”类、“关系”类和“标签”类的数据字段结构。
参考图15a,“步骤”类是数据字段并且包括:步骤关键,其是对应的步骤的唯一标识符;程序,其是对应的PLC控制程序的名称;以及步骤索引,其是对应的步骤的索引;并且包括作为下级类的“线圈集”和“触点集”。步骤关键可以包括对应的PLC控制程序的名称和梯级的编号。例如,当PLC控制程序的名称是“Main”时,关于梯级编号0的步骤索引可以是“Main.0”,并且关于梯级编号5的步骤索引可以是“Main.5”。梯级编号可以用作步骤索引。
参考图15b,“线圈”类是数据字段并且包括:命令,其是关于对应的输出触点的命令;以及索引,其是对应的步骤中的唯一索引,并且包括作为下级类的“标签”和“关系”。
参考图15c,“触点”类是数据字段并且包括:命令,其是关于对应的输入触点的命令;以及索引,其是对应的步骤中的唯一索引,并且包括作为下级类的“标签”和“关系”。
参考图15d,“关系”类是数据字段并且基于对应的触点或线圈,包括:前一个触点,其是前一触点的索引;前一个线圈,其是前一个线圈的索引;后一个触点,其是后一触点的索引;以及后一个线圈,其是后一个线圈的索引。
参考图15e,“标签”类是数据字段并且包括:地址,其是对应标签的地址;以及描述,其是对应标签的描述。
再次参考图1,结构生成部22从通用格式转换部13接收通用格式PLC控制程序,基于类库构建部21构建的类库形成数据结构,该数据结构包括关于通用格式PLC控制程序的梯级、输入触点、输出触点和标签的对象以及关于每个输入触点或输出触点表达对应的输入触点或输出触点与另一输入触点或输出触点之间关系的关系对象等等,并且输出结构型PLC控制程序。
在下文中,将描述例如在图13中所示的通用格式PLC控制程序的情况下,结构生成部22从通用格式PLC控制程序生成结构数据的过程。参考图13,由于通用格式PLC控制程序包括两个梯级,所以存在两个步骤。
图16示出根据本发明的一个实施例的结构生成部22的详细组件。该结构生成部可以包括索引生成器23、对象生成器24和关系形成器25。
索引生成器23针对通用格式控制程序的每个梯级(换句话说,一个句子或行),在内部为包括在对应梯级中的每个触点提供索引。索引例如是大于0的整数,并且可以被顺序地提供给触点。这些索引由关系形成器25使用,这将在下文描述,以表达触点之间的关系。
图17示出关于图13中所示的具有通用格式的PLC控制程序,为触点提供的索引的示例。参考图17,1、0、1、2、3和4被提供给第一梯级(N0)的五个触点XIC(X0)、XIC(X1)、XIC(M0)、XIO(X3)、OUT(Y0),并且0、1、2、3、4、5、6、7、8被提供给第二梯级(N5)的九个触点XIC(X4)、XIC(X5)、XIO(X6)、XIC(X8)、XIC(X7)、XIC(X9)、OUT(M0)、XIO(X10)、OUT(Y2)。
对象生成器24将给定的通用格式PLC控制程序的命令(标签)类型触点分类为输入触点(触点)和输出触点(线圈),并且考虑索引生成器23提供的索引,基于类库生成步骤对象、触点对象、线圈对象、标签对象、关系对象等。步骤对象、触点对象、线圈对象、标签对象和关系对象对应于类库的步骤类、触点类、线圈类、标签类和关系类。
将触点分类为输入触点(触点)和输出触点(线圈)的准则由“命令(标签)”类型命令确定。例如,对应于输入触点的“命令”可以包括XIC、XIO、AFI、INV、MEP、MEF、EGP、EGF、EQU、GEQ、GRT、LEQ、LES、MEQ、LIM、CMP等,它们是对应于输入的通用命令。对应于输出触点的“命令”可以包括OUT、SET、RST、MOV、TON、TOFF、RTO、TMR、CTU、CTD、UDCNT、MCR、FOR、NEXT、BREAK、LABEL、RET、CJ、SCJ、CALL、JMP、SBRT、FROM、TO等,它们是对应于输出的通用命令。其中,用于划分输入触点(触点)和输出触点(线圈)的“命令”包括通过将参数修饰符(例如,双字:D和块:BK)或操作修饰符(例如,正脉冲:P和负脉冲:N)等连接到上述基本通用命令而形成的通用命令。
参考图17,在第一梯级(N0)中,XIC(X0)、XIC(X1)、XIC(M0)和XIO(X3)对应于输入触点,OUT(Y0)对应于输出触点。在第二梯级(N5)中,XIC(X4)、XIC(X5)、XIO(X6)、XIC(X8)、XIC(X7)、XIC(X9)和XIO(X10)对应于输入触点,OUT(M0)和OUT(Y2)对应于输出触点。
图18示出基于图14和图15的类库,从如图17中所示的为其提供索引的具有通用格式的PLC控制程序生成的对象的示例。参考图18,步骤N0包括步骤关键、程序和步骤索引,它们分别是Main.0、Main和0,并且包括四个触点对象和一个线圈对象。其中,例如,其索引为0的触点对象包括命令“XIC”,并且其中包括的标签对象包括:地址,其为X0;以及描述,其为IN0。
此外,步骤N5包括步骤关键、程序和步骤索引,它们分别为Main.5、Main和5,并且包括七个触点对象和两个线圈对象。其中,例如,索引为2的触点对象包括命令“XIO”,其中包括的标签对象包括:地址,其为X6;以及描述,其为IN06。
进一步参考图18,除关系对象以外,定义所有数据字段。因此,现在,需要定义包括在每个触点对象和每个线圈对象中的关系对象的数据字段(参考图15d)。也就是说,需要定义前一个触点、前一个线圈、后一个触点或后一个线圈,这对应于关系形成器25关于每个输入触点或输出触点定义对应的输入触点或输出触点与另一输入触点或输出触点之间的关系。
图19示出为方便起见,通过将如图17中所示的为其提供了索引的具有通用格式的PLC控制程序表达为对象形状而获得的PLC控制程序。参考图17和图19,输入触点被表达为“I”,输出触点被表达为“O”,索引被表达为下标。
图20示出根据本发明的一个实施例的关系形成器25的详细组件。关系形成器25可以包括关系块生成器26、步骤中关系形成器27和关系块中关系形成器28。
根据本发明一实施例的具有通用格式的PLC控制程序包括表示关系的“[”、“]”和“,”。以“[”开头并以“]”结尾的通用格式的结构被定义为“关系块”。关系块生成器26生成这样的关系块。关系块的内部元素被连接为OR关系,并且用于对内部元素进行分类的准则为“,”。可选地,在关系块中可以存在关系块(例如,参考图19的N5步骤的“[I0I1,[I2,I3]I4]”)。
关系块生成器26可以将待生成的关系块表达为“RBK”,并且可以为步骤中的每个关系块提供索引。例如,在N0步骤中,可以将关系块[I0,I1]表达为RBK0。然后,如图21中所示,将N0步骤表达为“RBK0I2I3O4”。
步骤中关系形成器27关于步骤中的触点(或关系块)定义每个触点(或关系块)与另一触点(关系块)之间的关系。具体来说,步骤中关系形成器27定义步骤中的每个触点或关系块中包括的关系对象的前一个触点、前一个线圈、后一个触点或后一个线圈。其中,当待插入前一个触点、前一个线圈、后一个触点或后一个线圈中的索引属于关系块时,可以通过在索引前面附加“R”来表示关系块。在定义一个触点(或关系块)的前一个触点、前一个线圈、后一个触点或后一个线圈期间,当定义后一个触点或后一个线圈时,可以与其相对应地自动定义其后一个触点(或关系块)的前一个触点或前一个线圈。
图22示出关于N0步骤定义触点(或关系块)之间关系的结果。
参考图21和图22,由于RBK0的后一个触点是I0,即输入触点,因此RBK0的后一个触点的字段被定义为“2”。与此对应地,I2的前一个触点的字段被定义为R0。由于I2的后一个触点是I3,即输入触点,因此I2的后一个触点的字段被定义为“3”,并且与此对应地,I3的前一个触点的字段被定义为“2”。由于I3的后一个触点是O4,即输出触点,因此I3的后一个线圈的字段被定义为4,并且与此对应地,O4的前一个触点的字段被定义为“3”。
关系块中关系形成器28定义包括在关系块中的每个触点(或关系块)与另一触点(关系块)之间的关系。具体来说,关系块中关系形成器28定义关系块中的每个触点或关系块中包括的关系对象的前一个触点、前一个线圈、后一个触点或后一个线圈。当关系块中存在关系块时,首先定义外部关系块的触点(或关系块)之间的关系。由于关系块的内部元素被连接为OR关系,因此关系块中关系形成器28可以基于“,”来对内部元素进行分类。为方便起见,每个内部元素可以被称为OR1,OR2,...,ORn。图23示出关系块被分类为内部元素的格式。
图24a示出将图22中所示的RBK0应用于图23的格式的结果。参考图21和图22,由于RBK0=[I0,I1],因此RBK0具有内部元素I0和I1以及作为索引“2”的后一个触点。因此,如图24a中所示,I0的关系对象被插入OR1中,I1的关系对象被插入OR2中,后一个触点被表达为索引“2”。
在将关系块分类为内部元素的格式中,对应的关系块的前一个触点或前一个线圈成为设置在每个内部元素的最前面,即,最左边的触点的前一个触点或前一个线圈。此外,对应的关系块的后一个触点或后一个线圈成为设置在每个内部元素的最后边,即,最右边的触点的后一个触点或后一个线圈。当内部元件包括一个触点时,对应的触点成为最前边和最后边的触点(图24中所示的情况)。
参考图24a,由于RBK0具有作为索引“2”的后一个触点,所以在OR1的触点I0和OR2的触点I1二者中,都将后一个触点定义为索引“2”,如图24b所示。
当关于包括在关系块中的触点,一个触点与另一触点之间的关系被限定时,关系块中关系形成器28将对应的关系块替换为包括在其中的触点,结果关于步骤定义了触点(或关系块)之间的关系。在该过程期间,关系块中关系形成器28将对应关系块与对应的关系块的前一个或后一个触点之间的关系(之前由步骤中关系形成器27定义为R#)重新定义为关于包括在对应的关系块中的触点的关系。其中,在包括作为前一个触点或前一个线圈的关系块的触点中,对于对应的关系块的每个内部元素,设置在最后边的触点的索引被定义为前一个触点或前一个线圈。在包括作为后一个触点或后一个线圈的关系块的触点中,对于对应的关系块的每个内部元素,设置在最前边的触点的索引被定义为后一个触点或后一个线圈。
例如,如图22中所示,在关于N0步骤定义RBK0,I2,I3和O4之间的关系的结果中,当RBK0被包括在其中的触点I0和I1代替时(参见图24b),完成格式,如图25中所示。此外,参考图22和图24,由于I2包括作为前一个触点的RBK0并且RBK0的所有内部元素的最后触点是I0和I1,所以I2的前一个触点被重新定义为“0,1”,如图25中所示。
图25示出关于N0步骤的所有输入触点或输出触点表达一个输入触点或输出触点与另一输入触点或输出触点之间关系的结果。
在下文中,将描述关系形成器25关于N5步骤的每个输入触点或输出触点表达对应的输入触点或输出触点与另一输入触点或输出触点之间关系的过程。
在N5步骤中,关系块[I0I1,[I2,I3]I4]可以被表达为RBK0,RBK0中的关系块[I2,I3]可以被表达为RBK1,并且关系块[O6,I7O8]可以被表达为RBK2。然后,如图26中所示,N5步骤被表达为“RBK0I5RBK2(其中,RBK0=[I0I1,RBK1I4],并且RBK1=[I2,I3])。”
图27示出关于N5步骤定义触点(或关系块)之间关系的结果。
参考图26和图27,由于RBK0的后一个触点是I5,即输入触点,所以RBK0的后一个触点的字段被定义为“5”,并且I5的前一个触点的字段被定义为与其对应的R0。由于I5的后一个触点是RBK2,所以I5的后一个触点的字段被定义为“R2”,并且RBK2的前一个触点的字段被定义为与其对应的“5”。
图28示出将图27中所示的RBK0和RBK1应用于图23的格式的结果。
在图26和27中,由于RBK0=[I0I1,RBK1I4],所以RBK0包括作为内部元素的I0I1和RBK1I4,并且后一个触点是索引“5”。因此,如图28中所示,I0I1的关系对象被插入在OR1中,RBK1I4的关系对象被插入在OR2中,并且后一个触点被表达为索引“5”。另外,由于RBK1=[I2,I3],所以RBK1包括作为内部元素的I2和I3,并且后一个触点是索引“4”。因此,如图28中所示,I2的关系对象被插入在OR1中,I3的关系对象被插入在OR2,并且后一个触点被表达为索引“4”。
此外,由于I0的后一个触点是RBK0中的I1,所以I0的后一个触点的字段被定义为“1”,并且I1的前一个触点的字段被定义为与其对应的“0”。由于RBK1的后一个触点是I4,所以RBK1的后一个触点的字段被定义为“4”,并且I4的前一个触点的字段被定义为与其对应的“R1”。在RBK0中,由于后一个触点是索引“5”,所以作为设置在OR1中最后边的触点的I1的后一个触点被定义为“5”并且作为设置在OR2中最后边的触点的I4的后一个触点被定义为“5”。
此外,在RBK1中,由于后一个触点是索引“4”,所以在OR1的触点I2和OR2的触点I3二者中,后一个触点都被定义为索引“4”。
图29示出将图28中的RBK0中包括的RBK1替换为包括在其中的触点I2和I3的结果。在此过程期间,由于I4具有作为前一个触点的RBK1并且RBK1的所有内部元素的最后触点是I2和I3,所以I4的前一个触点被重新定义为“2,3”,如图29中所示。
图30示出将图27的块RBK0替换为图29的RBK0的结果,即其关系被定义并且包括在RBK0中的触点。参考图27和图29,由于I5包括作为前一个触点的RBK0并且RBK0的所有内部元素的最后触点都是I1和I4,所以I5的前一个触点被重新定义为“1,4”,如图30中所示。
图31示出将图27中所示的RBK2应用于图23的格式的结果。在图26和27中,由于RBK2=[O6,I7O8],所以RBK2包括O6和I7O8,并且前一个触点为“5”。因此,如图31中所示,O6的关系对象被插入到OR1中,I7O8的关系对象被插入到OR2中,并且将前一个触点表达为索引“5”。
此外,由于I7的后一个触点是RBK2中的O8,所以I7的后一个线圈的字段被定义为“8”,并且与其对应地,O8的前一个触点的字段被定义为“7”。在RBK2中,由于前一个触点是索引“5”,所以作为在OR1中设置在最前边的触点的O6的前一个触点被定义为“5”,并且作为在OR2中设置在最前边的触点的I7的前一个触点被定义为“5”。
图32示出将图30的RBK2替换为图31的RBK2的结果,即,其关系被定义并且包括在RBK2中的触点。参考图30和31,由于I5包括RBK2作为后一个触点并且RBK的所有内部元素的第一触点都是O6和I7,所以I5的后一个触点被重新定义为“7”并且其后一个线圈被重新定义为“6”,如图32中所示。
图33示出通过上述处理最终生成的结构数据。其中,该数据结构是通过将如图25中所示的关于N0步骤的触点定义关系的结果和如图32中所示的关于N5步骤的触点定义关系的结果反映到图18的对象中而形成的。
图34是示出根据本发明的一个实施例将具有通用格式的PLC控制程序转换为结构数据的方法的流程图。根据该实施例的方法包括由上述结构数据转换设备执行的操作。因此,以上关于结构数据转换设备的描述,甚至包括下文中省略的内容,将应用于根据该实施例的方法。
在操作110中,通用命令库构建部11通过关于具有不同格式的基于文本的PLC控制程序中使用的命令生成通用命令来构建通用命令库。
在操作120中,类库构建部21构建类库,该类库包括关于PLC控制程序的梯级、输入触点和输出触点的类,标签包括用于关于所有触点表达每个触点与另一触点之间的关系的类。
在操作130中,通用格式转换部13使用通用命令库,将基于文本的PLC控制程序转换为通用格式PLC控制程序。
在操作140中,结构生成部22基于类库生成结构数据,该结构数据包括关于通用格式PLC控制程序的梯级、输入触点和输出触点的对象和用于关于触点表达每个触点和另一触点之间关系的对象。
可以通过计算机程序指令来执行所附的块图的各块和根据本发明的流程图的操作的组合。由于计算机程序指令可以加载在通用计算机、专用计算机或其他可编程数据处理设备的处理器上,所有由计算机或其他可编程数据处理设备的处理器执行的指令产生用于执行块图的每个块或者流程图的每个操作中描述的功能的装置。由于计算机程序指令也可以存储在能够由计算机或其他可编程数据处理设备支持的计算机可用或计算机可读存储器中,以便以特定方式体现功能,所以存储在计算机可用或计算机可读存储器中的指令可以产生其中嵌入有指令装置的制造项目,该指令装置执行块图的每个块或者流程图的每个操作中描述的功能。由于计算机程序指令可以加载到计算机或其他可编程数据处理设备上,所以计算机或其他可编程数据处理设备执行一系列操作,并且生成由计算机执行的处理,使得在计算机或其他可编程数据处理设备中执行的指令可以提供操作,用于执行块图的块和流程图的操作中描述的功能。
此外,每个块或每个操作可以指代模块、节段或代码的一部分,其包括用于执行特定逻辑功能的一个或多个指令。此外,应当注意,在一些替代实施例中,在块或操作中陈述的功能可以在偏离顺序的情况下发生。例如,连续示出的两个块或操作可以基本上同时执行,或者有时可以根据对应的功能以相反的顺序执行。
以上描述仅用于示例性地描述本发明的技术构思,并且本发明所属领域的普通技术人员可以在不脱离本发明的本质特征的情况下对其进行各种改变和修改。因此,本文公开的实施例不是旨在限制而是解释本发明的技术构思,并且本发明的范围不应受上述实施例的限制。本发明的范围应由所附权利要求来解释,并且在其等同范围内的所有技术构思都应被解释为包括在本发明的范围内。
Claims (14)
1.一种将可编程逻辑控制器PLC控制程序转换为结构数据的设备,所述设备包括:
类库构建部,其构建类库,所述类库包括关于PLC控制程序的梯级、输入触点和输出触点中的每一个的类;和
结构生成部,其接收从基于文本的PLC控制程序转换来的通用格式PLC控制程序,并且基于所述类库生成结构数据,所述结构数据包括关于所述通用格式PLC控制程序的梯级、输入触点和输出触点中的每一个的对象,
其中所述类库还包括关系类,所述关系类用于关于所有输入触点或输出触点表达每个输入触点或输出触点与至少一个其他输入触点或输出触点之间的关系,并且
其中所述结构数据还包括关系对象,所述关系对象关于所述通用格式PLC控制程序的所有输入触点或输出触点表达每个输入触点或输出触点与至少一个其他输入触点或输出触点之间的关系。
2.根据权利要求1所述的设备,其中所述关系类和所述关系对象包括数据字段,用于基于对应的输入触点或输出触点将前一个输入触点、前一个输出触点、后一个输入触点或后一个输出触点表达为数据字段。
3.根据权利要求2所述的设备,其中所述结构生成部包括:
索引生成器,其针对所述通用格式PLC控制程序的每个梯级,为包括在梯级中的每个触点提供索引;
对象生成器,其关于梯级、输入触点和输出触点中的每一个生成对象,并且通过基于所述类库反映所提供的索引来生成所述关系对象;和
关系形成器,其定义所述关系对象的所述数据字段。
4.根据权利要求3所述的设备,其中所述关系形成器将前一个输入触点、前一个输出触点、后一个输入触点或后一个输出触点的索引定义为所述数据字段。
5.根据权利要求3所述的设备,其中所述通用格式PLC控制程序包括表示OR连接关系的符号,并且
其中所述关系形成器包括:
关系块生成器,其使用表示所述OR连接关系的所述符号将所述通用格式PLC控制程序中以OR关系连接的通用格式定义为关系块,所述关系块具有用于基于对应的关系块表达前一个输入触点、前一个输出触点、后一个输入触点或后一个输出触点的数据字段;
步骤中关系形成器,其关于关系块、形成以所述关系块表达的所述通用格式PLC控制程序的每个梯级的输入触点和输出触点,定义所述数据字段;和
关系块中关系形成器,其关于包括在所述关系块中的触点定义所述数据字段。
6.根据权利要求5所述的设备,其中所述关系块中关系形成器对所述关系块中以OR关系连接的内部元素进行分类,并且基于关于所述关系块定义的所述数据字段,定义包括在所述内部元素中的至少一个输入触点或输出触点的所述数据字段。
7.根据权利要求5所述的设备,其中所述关系块中关系形成器基于关于包括在所述关系块中的触点定义的所述数据字段,重新定义对应的关系块的前一个或后一个输入触点或输出触点的所述数据字段。
8.一种将PLC控制程序转换为结构数据的方法,所述方法包括:
构建类库,所述类库包括关于PLC控制程序的梯级、输入触点和输出触点中的每一个的类;和
接收从基于文本的PLC控制程序转换来的通用格式PLC控制程序,并且基于所述类库生成结构数据,所述结构数据包括关于所述通用格式PLC控制程序的梯级、输入触点和输出触点中的每一个的对象,
其中所述类库还包括关系类,所述关系类用于关于所有输入触点或输出触点表达每个输入触点或输出触点与至少一个其他输入触点或输出触点之间的关系,并且
其中所述结构数据还包括关系对象,所述关系对象关于所述通用格式PLC控制程序的所有输入触点或输出触点表达每个输入触点或输出触点与至少一个其他输入触点或输出触点之间的关系。
9.根据权利要求8所述的方法,其中所述关系类和所述关系对象包括数据字段,所述数据字段用于基于对应的输入触点或输出触点,将前一个输入触点、前一个输出触点、后一个输入触点或后一个输入触点表达为数据字段。
10.根据权利要求9所述的方法,其中所述结构数据的生成包括:
针对所述通用格式PLC控制程序的每个梯级,为包括在梯级中的每个触点提供索引;
关于梯级、输入触点和输出触点中的每一个生成对象,并且通过基于所述类库反映所提供的索引来生成所述关系对象;和
定义所述关系对象的所述数据字段。
11.根据权利要求10所述的方法,其中所述数据字段的定义包括:将前一个输入触点、前一个输出触点、后一个输入触点或后一个输出触点的索引定义为所述数据字段。
12.根据权利要求10所述的方法,其中所述通用格式PLC控制程序包括表示OR连接关系的符号,并且
其中所述数据字段的定义包括:
(a)使用表示所述OR连接关系的所述符号将所述通用格式PLC控制程序中以OR关系连接的通用格式定义为关系块,所述关系块具有用于基于对应的关系块表达前一个输入触点、前一个输出触点、后一个输入触点或后一个输出触点的数据字段;
(b)关于关系块、形成以所述关系块表达的所述通用格式PLC控制程序的每个梯级的输入触点和输出触点,定义所述数据字段;和
(c)关于包括在所述关系块中的触点定义所述数据字段。
13.根据权利要求12所述的方法,其中操作(c)包括对所述关系块中以OR关系连接的内部元素进行分类,并且基于关于所述关系块定义的所述数据字段,定义包括在所述内部元素中的至少一个输入触点或输出触点的所述数据字段。
14.根据权利要求12所述的方法,其中操作(c)包括基于关于包括在所述关系块中的触点定义的所述数据字段,重新定义对应的关系块的前一个或后一个输入触点或输出触点的所述数据字段。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20160102809 | 2016-08-12 | ||
KR10-2016-0102809 | 2016-08-12 | ||
KR10-2017-0101465 | 2017-08-10 | ||
KR1020170101465A KR102004456B1 (ko) | 2016-08-12 | 2017-08-10 | Plc 제어 프로그램을 구조체 데이터로 변환하는 장치 및 방법 |
PCT/KR2017/008728 WO2018030831A1 (ko) | 2016-08-12 | 2017-08-11 | Plc 제어 프로그램을 구조체 데이터로 변환하는 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109643100A CN109643100A (zh) | 2019-04-16 |
CN109643100B true CN109643100B (zh) | 2021-07-20 |
Family
ID=61387094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780049616.XA Active CN109643100B (zh) | 2016-08-12 | 2017-08-11 | 用于将plc控制程序转换为结构化数据的设备和方法 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102004456B1 (zh) |
CN (1) | CN109643100B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210133063A (ko) | 2020-04-28 | 2021-11-05 | 주식회사 케이씨인더스트리얼 | 논리연산제어기 지원 장치 및 방법 |
KR102509859B1 (ko) * | 2021-04-21 | 2023-03-24 | 주식회사 유디엠텍 | Plc 래더정보로부터 공용 명령어정보를 추출하는 장치 및 방법 |
CN113625652B (zh) * | 2021-07-29 | 2023-04-25 | 广东工贸职业技术学院 | 一种数控内嵌plc中间文件处理及译码执行方法 |
CN114488927A (zh) * | 2021-12-31 | 2022-05-13 | 广东省离散智造科技创新有限公司 | 一种plc硬件组态方法、系统、装置及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100904557B1 (ko) * | 2008-11-20 | 2009-06-25 | 주식회사 이글루시큐리티 | 이기종 방화벽 통합관리시스템 및 방법 |
JP2010020635A (ja) * | 2008-07-11 | 2010-01-28 | Nippon Reliance Kk | プログラミング言語変換装置、変換方法及び変換プログラム |
KR20120095513A (ko) * | 2011-02-21 | 2012-08-29 | 성균관대학교산학협력단 | Plc 기반 제어 코드를 xml 인터페이스를 이용하여 범용 프로그램 코드로 변환하는 방법 및 프레임워크 시스템 |
CN104067186A (zh) * | 2012-02-01 | 2014-09-24 | 欧姆龙株式会社 | 支援装置、记录有支援程序的记录介质及生成可执行程序的方法 |
CN105511394A (zh) * | 2016-01-29 | 2016-04-20 | 桂林电子科技大学 | 一种在fpga平台实现plc控制的方法及装置 |
KR101627769B1 (ko) * | 2015-12-17 | 2016-06-08 | 주식회사 유디엠텍 | Plc 제어 프로그램의 공용형식 변환장치 및 방법 |
-
2017
- 2017-08-10 KR KR1020170101465A patent/KR102004456B1/ko active IP Right Grant
- 2017-08-11 CN CN201780049616.XA patent/CN109643100B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010020635A (ja) * | 2008-07-11 | 2010-01-28 | Nippon Reliance Kk | プログラミング言語変換装置、変換方法及び変換プログラム |
KR100904557B1 (ko) * | 2008-11-20 | 2009-06-25 | 주식회사 이글루시큐리티 | 이기종 방화벽 통합관리시스템 및 방법 |
KR20120095513A (ko) * | 2011-02-21 | 2012-08-29 | 성균관대학교산학협력단 | Plc 기반 제어 코드를 xml 인터페이스를 이용하여 범용 프로그램 코드로 변환하는 방법 및 프레임워크 시스템 |
CN104067186A (zh) * | 2012-02-01 | 2014-09-24 | 欧姆龙株式会社 | 支援装置、记录有支援程序的记录介质及生成可执行程序的方法 |
KR101627769B1 (ko) * | 2015-12-17 | 2016-06-08 | 주식회사 유디엠텍 | Plc 제어 프로그램의 공용형식 변환장치 및 방법 |
CN105511394A (zh) * | 2016-01-29 | 2016-04-20 | 桂林电子科技大学 | 一种在fpga平台实现plc控制的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109643100A (zh) | 2019-04-16 |
KR20180019001A (ko) | 2018-02-22 |
KR102004456B1 (ko) | 2019-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109643100B (zh) | 用于将plc控制程序转换为结构化数据的设备和方法 | |
KR101627769B1 (ko) | Plc 제어 프로그램의 공용형식 변환장치 및 방법 | |
US7734357B2 (en) | System for operating an installation by editing graphic objects | |
CN106648662B (zh) | 基于工程造价计算描述语言bcl的报表生成装置及生成方法 | |
EP0261845A2 (en) | Data processing apparatus for extracting documentation text from a source code program | |
CN102508654B (zh) | 嵌入式可编程控制器的梯形图编辑器设计方法 | |
CN113064586B (zh) | 一种基于抽象语法树增广图模型的代码补全方法 | |
CN106682343B (zh) | 一种基于图的邻接矩阵的形式化验证方法 | |
US10997335B2 (en) | Exceptional logic element management | |
CN112163295B (zh) | 基于Creo软件的三维装配模型版本比对系统及方法 | |
CN105446747B (zh) | 一种可视化立体码触屏编译器与编程技术 | |
CN109522005A (zh) | 跨平台图形化程序设计方法 | |
US20160132305A1 (en) | Program graph display device, program graph display method, and program graph display program | |
CN116450101B (zh) | 软件架构设计方法、系统及设备 | |
CN109165397A (zh) | 基于ug和ansa平台的自动cae分析系统与开发方法 | |
KR101726120B1 (ko) | 프로그램 편집 장치, 프로그램 편집 방법 및 프로그램 편집 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 | |
JP7338922B2 (ja) | 異種埋め込み型の表形式化動作プロセスの処理および実行方法および装置 | |
US20210294293A1 (en) | Information processing apparatus, information processing method, production system, article manufacturing method and storage medium | |
CN112114812B (zh) | 一种应用于工业机器人编程语言的语法检查方法 | |
KR20190114101A (ko) | 조선해양분야의 국제표준 규격제품에 대한 3차원 모델 라이브러리 설계 최적화 방법 | |
CN107612919B (zh) | 协议配置方法及装置 | |
US20220342376A1 (en) | Apparatus and method for extracting common command information from plc ladder information | |
Bauer et al. | Towards automatic verification of embedded control software | |
JP2003223204A (ja) | プログラマブルコントローラのプログラミング方法およびその装置並びに記憶媒体 | |
CN108133002A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |