CN104407861A - 一种ePLC图编程平台中组合指令的实现方法 - Google Patents

一种ePLC图编程平台中组合指令的实现方法 Download PDF

Info

Publication number
CN104407861A
CN104407861A CN201410667244.5A CN201410667244A CN104407861A CN 104407861 A CN104407861 A CN 104407861A CN 201410667244 A CN201410667244 A CN 201410667244A CN 104407861 A CN104407861 A CN 104407861A
Authority
CN
China
Prior art keywords
combined command
instruction
command
combined
eplc
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
Application number
CN201410667244.5A
Other languages
English (en)
Inventor
邬惠峰
严义
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Dianzi University
Original Assignee
Hangzhou Dianzi University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN201410667244.5A priority Critical patent/CN104407861A/zh
Publication of CN104407861A publication Critical patent/CN104407861A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Programmable Controllers (AREA)

Abstract

本发明涉及一种ePLC图编程平台中组合指令的实现方法。本发明首先在组合指令编辑环境中完成组合指令的编写,编写完成后系统对用户编写的组合指令进行形式审查。审查通过后对组合指令进行保存并生成一个组合指令模块添加到图编程平台中。在图编程平台中,用户可以根据需要拖拉生成的组合指令来完成ePLC控制程序的开发。在编译时需对组合指令进行单独处理,最终和其他部分程序一起生成最终的可执行文件。通过用户可以自定义组合指令,能方便用户按照应用需要将常用功能进行封装,使用时只需拖拉组合指令,就可以完成一个特定功能的设计,大大提高了程序设计效率,同时也提高了程序的可读性和可维护性。

Description

一种ePLC图编程平台中组合指令的实现方法
技术领域
本发明属于工业控制领域,特别是涉及一种ePLC图编程平台中组合指令的实现方法。
背景技术
作为现代工业控制设备三大支柱之一的可编程逻辑控制器(Programmable Logic Controller,PLC),以其较高的性价比在工业控制中得到广泛应用。但是近年来随着设备功能越来越复杂,以及企业掌握核心知识产权的需要,越来越多的企业逐步采用专用控制器代替通用的PLC。专用控制器的编程方式以汇编或C语言编程为主。为了提高程序的开发效率,充分结合PLC和专用控制器的优势,发展出了ePLC技术。ePLC是embedded PLC的简称,对专用控制器采用PLC图形化的开发手段。ePLC充分利用了现有嵌入式处理器的强大处理功能,按需定制各类专用控制器,并采用图形化开发平台(LD、SFC)对专用控制器进行软件开发。即具备了专用控制器可定制的特点,又具备了PLC图形化的开发手段。由于ePLC采用了和PLC类似的编程方法,因此支持相同的指令。每一条指令完成了一个特定的功能。但是在有些应用中会有多个重复的功能块,由固定的指令组成。但是在设计时需要重复编写。为了提高编程效率,理想的方法是能提供类似于函数的机制,能对常用的功能进行封装,使用时只需拖拉封装的模块即可。通过这种机制能大大提高编程效率,同时也方便复用。本发明就是基于这种思想,实现了一种通过基本IL指令封装实现组合指令的方法。
发明内容
本发明的目的是针对原有PLC中重复功能模块需要重复编写的不足,实现了一种通过基本IL指令封装成复合指令的方法。
一种ePLC图编程平台中组合指令的实现方法:通过基本的IL指令组合生成组合指令并添加到系统的组合指令集中,组合后的组合指令以一条独立指令的方式添加到ePLC图编程平台的指令工具栏中,在使用时可以将组合指令作为一条独立的指令使用,编译前用组成组合指令的IL指令集合替换组合指令。
所述的通过基本的IL指令组合生成组合指令,组合指令是由若干条操作数只包含临时变量和形参的IL指令组成的一个具有特定功能的指令集合。
所述的添加到系统的组合指令集中,ePLC图编程平台有一个XML文件描述的组合指令集,添加的组合指令以XML节点的方式添加到组合指令集XML文件中。
所述的组合后的组合指令以一条独立指令的方式添加到ePLC图编程平台的指令工具栏中,新增一条组合指令后系统自动为组合指令生成一个代表组合指令的图形控件,并将图形控件添加到ePLC图编程平台的指令工具栏中,作为一个独立的编程元件。
所述的在使用时可以将组合指令作为一条独立的指令使用,在使用时组合指令作为一条指令呈现给用户,用户只能看到组合指令名和指令说明等信息,不能看到组合指令的内部构造情况。在程序设计时,用户通过拖拉组合指令图形控件的方法使用组合指令。在用户选择某条组合指令后,需要按照形参的格式指定实参。
所述的编译前用组成组合指令的IL指令集合替换组合指令,在编译前首先通过遍历程序文件获取使用的组合指令名,通过组合指令名从组合指令集中获取组合指令的构造信息,然后将组成组合指令的IL指令中的形参替换成用户指定的实参后,将组成组合指令的IL指令集替换程序中的组合指令。
所述的编译前的替换过程由系统自动完成,无需用户参与,用户也无法看到替换的结果。
本发明的有益效果是:通过将若干条IL指令封装成复合指令,复合指令作为一条指令用于程序设计,用户只需通过拖拉复合指令的方法就可以完成一个功能模块的编写,大大提高了ePLC程序编写效率、可读性和可维护性。
附图说明
图1为组合指令编辑界面示例;
图2为组合指令图形控件表示示例;
图3 为组合指令实参设置示例;
图4 为包含组合指令的梯形图程序示例。
具体实施方式
本发明的一种ePLC图编程平台中组合指令的实现方法,包括组合指令的编辑方法、保存方法、图形控件表示方法、基于组合指令的程序设计方法和包含组合指令的程序编译方法。具体实现过程如下:
1、组合指令的编辑方法
ePLC图编程平台采用IL指令集和图形化语言(如LD,SFC等)实现程序编写,通过IL指令或LD语言等即可完成程序的开发。组合指令就是通过若干条IL指令组合成一个功能模块,组合指令功能模块可以在程序中作为一条指令使用。
在ePLC图编程平台的组合指令编辑页面中,首先指定组合指令名和形参列表。然后基于指定的形参列表和零时变量进行组合指令的编写,在组成组合指令的IL指令中不涉及任何和具体应用有关的指令操作数的地址信息。形参列表在组合指令使用时需要替换成实参。最后为了方便使用,给出所有参数的说明,包括参数的数据类型和长度等,在用户使用组合指令时呈现给用户。如图1为组合指令编辑功能示例。
2、组合指令的保存方法
组合指令编辑完以后,在新增的组合指令添加到组合指令集之前需要对组合指令进行形式检验。主要检查形参是否在组成组合指令的IL指令集合中都已使用,且IL指令集合中中的形参是否都在形参列表中声明。IL指令集合中的指令是否都符合标准。如果检查通过才添加到组合指令集,否则进行错误提示。
系统中的组合指令集以XML文件保存,一个XML节点表示一条组合指令。在节点中包含了组合指令名、形参列表、形参说明、组成组合指令的IL指令集等信息。
3、组合指令图形控件表示方法
新增组合指令通过形式检验并添加到组合指令集以后,在ePLC图编程平台指令列表中将新增一个图形控件,用来表示刚新增的组合指令。所有的组合指令都以同一个组合指令控件类实例表示,组合指令图形控件包括图形和组合指令名。如图2所示。
4、基于组合指令的程序设计方法
以梯形图(LD)语言为例,在ePLC图编程平台中,可以将组合指令作为一条独立的指令使用。用户使用时只能看到组合指令名和组合指令说明,不能看到组合指令的构造信息。编程时通过拖拉ePLC图编程平台指令列表中的组合指令图形控件的方法使用组合指令。在用户通过拖拉方式在程序设计页面中新增一条组合指令后,首先需要设置实参,如图3所示。设置完实参并通过检验保存后,刚拖拉的组合指令就添加到了程序设计页面中。检验主要是判断参数个数和类型是否符合要求。程序保存时组合指令的信息也同时保存,主要包括组合指令名和实参列表,另外还有组合指令的位置等信息,程序以XML文件格式保存。
5、包含组合指令的程序编译方法
最后是对包含组合指令的程序的编译。编译时首先读取包含程序信息的XML文件,从中获取所有的指令信息,如图4所示,通过分析指令间的串并关系将梯形图程序转换成IL指令程序。然后当判断到某条指令是组合指令时,根据组合指令名从组合指令集中获取组合指令信息,包括形参列表和组成组合指令的IL指令集合。然后将IL指令中的形参替换成用户指定的实参。替换后的IL指令集合作为一个功能块,替换原程序中的组合指令,如下所示为替换后的IL指令集合。
03                  speed            K2
04                  LD              M1000
05                  MOVD          VL0,VD2000
06                  EORD           VL0,VD3000
07                  MOVD          VD1000 ,VL0
以上所述仅为本发明的一个实施例子,但不能以此限制本发明的范围,凡依据本发明所做的结构上的变化,只要不失本发明的要义所在,都应视为落入本发明保护范围之内受到制约。

Claims (7)

1.一种ePLC图编程平台中组合指令的实现方法,其特征在于:通过基本的IL指令组合生成组合指令并添加到系统的组合指令集中,组合后的组合指令以一条独立指令的方式添加到ePLC图编程平台的指令工具栏中,在使用时可以将组合指令作为一条独立的指令使用,编译前用组成组合指令的IL指令集合替换组合指令。
2.权利要求1所述的实现方法,其特征在于:组合指令是由若干条操作数只包含临时变量和形参的IL指令组成的一个具有特定功能的指令集合。
3.权利要求1所述的实现方法,其特征在于:ePLC图编程平台有一个XML文件描述的组合指令集,添加的组合指令以XML节点的方式添加到组合指令集XML文件中。
4.权利要求1所述的实现方法,其特征在于:新增一条组合指令后系统自动为组合指令生成一个代表组合指令的图形控件,并将图形控件添加到ePLC图编程平台的指令工具栏中,作为一个独立的编程元件。
5.权利要求1所述的实现方法,其特征在于:在使用时组合指令作为一条指令呈现给用户,用户只能看到组合指令名和指令说明信息,不能看到组合指令的内部构造情况;在程序设计时,用户通过拖拉组合指令图形控件使用组合指令;在用户选择某条组合指令后,需要按照形参的格式指定实参。
6.权利要求1所述的实现方法,其特征在于:在编译前首先通过遍历程序文件获取使用的组合指令名,通过组合指令名从组合指令集中获取组合指令的构造信息,然后将组成组合指令的IL指令中的形参替换成用户指定的实参后,将组成组合指令的IL指令集替换程序中的组合指令。
7.权利要求6所述的实现方法,其特征在于:编译前的替换过程由系统自动完成,无需用户参与,用户也无法看到替换的结果。
CN201410667244.5A 2014-11-20 2014-11-20 一种ePLC图编程平台中组合指令的实现方法 Pending CN104407861A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410667244.5A CN104407861A (zh) 2014-11-20 2014-11-20 一种ePLC图编程平台中组合指令的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410667244.5A CN104407861A (zh) 2014-11-20 2014-11-20 一种ePLC图编程平台中组合指令的实现方法

Publications (1)

Publication Number Publication Date
CN104407861A true CN104407861A (zh) 2015-03-11

Family

ID=52645494

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410667244.5A Pending CN104407861A (zh) 2014-11-20 2014-11-20 一种ePLC图编程平台中组合指令的实现方法

Country Status (1)

Country Link
CN (1) CN104407861A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105302057A (zh) * 2015-11-22 2016-02-03 苏州和瑞科自动化科技有限公司 一种用于物料在栅格阵列间搬运的plc程序设计方法
WO2018054303A1 (zh) * 2016-09-20 2018-03-29 遨博(北京)智能科技有限公司 一种控制机器人的方法及装置
CN108762197A (zh) * 2018-06-14 2018-11-06 杭州电子科技大学 基于plc的运动控制方法和运动控制器
CN110147076A (zh) * 2019-04-15 2019-08-20 杭州电子科技大学 一种视觉控制装置及方法
WO2023143197A1 (zh) * 2022-01-28 2023-08-03 北京字跳网络技术有限公司 组合图形控件的生成方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101561671A (zh) * 2009-06-01 2009-10-21 杭州电子科技大学 基于构件的梯形图设计方法
CN101561757A (zh) * 2009-06-01 2009-10-21 杭州电子科技大学 嵌入式构件自动生成方法
CN102393670A (zh) * 2011-10-24 2012-03-28 杭州电子科技大学 一种梯形图内嵌高级语言进行混合编程的实现方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101561671A (zh) * 2009-06-01 2009-10-21 杭州电子科技大学 基于构件的梯形图设计方法
CN101561757A (zh) * 2009-06-01 2009-10-21 杭州电子科技大学 嵌入式构件自动生成方法
CN102393670A (zh) * 2011-10-24 2012-03-28 杭州电子科技大学 一种梯形图内嵌高级语言进行混合编程的实现方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王婷: ""基于构件重构技术的PLC算法生成平台的研究与实现"", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105302057A (zh) * 2015-11-22 2016-02-03 苏州和瑞科自动化科技有限公司 一种用于物料在栅格阵列间搬运的plc程序设计方法
CN105302057B (zh) * 2015-11-22 2018-04-13 苏州和瑞科自动化科技有限公司 一种用于物料在栅格阵列间搬运的plc程序设计方法
WO2018054303A1 (zh) * 2016-09-20 2018-03-29 遨博(北京)智能科技有限公司 一种控制机器人的方法及装置
CN108762197A (zh) * 2018-06-14 2018-11-06 杭州电子科技大学 基于plc的运动控制方法和运动控制器
CN110147076A (zh) * 2019-04-15 2019-08-20 杭州电子科技大学 一种视觉控制装置及方法
WO2023143197A1 (zh) * 2022-01-28 2023-08-03 北京字跳网络技术有限公司 组合图形控件的生成方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN104407861A (zh) 一种ePLC图编程平台中组合指令的实现方法
US20140123104A1 (en) Method and device for the programming and configuration of a programmable logic controller
CN110149800B (zh) 一种用于处理与源程序的源代码相关联的抽象语法树的装置
US7487080B1 (en) Partitioning a model in modeling environments
US9501269B2 (en) Automatic source code generation for accelerated function calls
CN108874438A (zh) 补丁生成方法、装置、电子设备及计算机程序产品
US9619212B2 (en) Providing code, code generator and software development environment
CN104317589A (zh) 一种用于加载动态链接库的代码自动生成方法及装置
US20080028380A1 (en) Localized, incremental single static assignment update
CN103885782A (zh) 一种可视化编程页面程序库函数封装重用方法
CN106737676A (zh) 一种基于脚本可二次开发的工业机器人编程系统
CN104461528A (zh) 一种可视化生成面向信号应用程序代码的方法及装置
CN101826016A (zh) 支持多核并行程序设计的可视化建模及代码框架生成方法
CN110262794A (zh) 一种基于规范与描述语言的aadl功能行为拓展方法及工具
CN105204837B (zh) 一种逻辑编程的实现方法和装置
CN107179910A (zh) 一种在线编辑即时生效的逻辑组态方法
CN104063231A (zh) 一种基于hit-tena的试验资源快速接入方法
Son et al. Test case generation from cause-effect graph based on model transformation
CN108170953B (zh) 一种电路图迁移方法和装置
CN102004660A (zh) 一种业务流程的实现方法及装置
Sun et al. A model-driven approach to support engineering changes in industrial robotics software
CN105659175A (zh) 配置自动化系统的处理设备与方法
Biermann et al. Independence analysis of firing and rule-based net transformations in reconfigurable object nets
CN103488519B (zh) 一种交互式脚本语言解释器的实现方法
Peñil et al. Automatic synthesis from UML/MARTE models using channel semantics

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150311

WD01 Invention patent application deemed withdrawn after publication