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