CN109188994A - 一种梯形图编译方法及相应的plc系统 - Google Patents

一种梯形图编译方法及相应的plc系统 Download PDF

Info

Publication number
CN109188994A
CN109188994A CN201710530006.3A CN201710530006A CN109188994A CN 109188994 A CN109188994 A CN 109188994A CN 201710530006 A CN201710530006 A CN 201710530006A CN 109188994 A CN109188994 A CN 109188994A
Authority
CN
China
Prior art keywords
ladder diagram
recurrence
compilation method
output
recursive
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.)
Granted
Application number
CN201710530006.3A
Other languages
English (en)
Other versions
CN109188994B (zh
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.)
Shenyang Siasun Robot and Automation Co Ltd
Original Assignee
Shenyang Siasun Robot and Automation Co Ltd
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 Shenyang Siasun Robot and Automation Co Ltd filed Critical Shenyang Siasun Robot and Automation Co Ltd
Priority to CN201710530006.3A priority Critical patent/CN109188994B/zh
Publication of CN109188994A publication Critical patent/CN109188994A/zh
Application granted granted Critical
Publication of CN109188994B publication Critical patent/CN109188994B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/054Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/11Plc I-O input output
    • G05B2219/1103Special, intelligent I-O processor, also plc can only access via processor

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

本发明公开一种梯形图编译方法及相应的PLC系统,在软件完成对部件的记录后,生成符合数据规则的预定格式输出文件;读入所述输出文件中的数据后,寻找梯形图逻辑的输出部件;逐行遍历所述输出文件中的数据,发现递归起点即调用递归算法进行递归;若所述输出部件存在复数个输入分支,则对所述复数个输入分支依次进行递归,每完成一次递归后,再次返回所述输出部件时将数据写入一个新的寄存器内;所述每一个分支的递归过程在遇到递归终点后开始递归的回归过程;完成所述复数个分支递归后返回所述部件的处理流程,根据所述部件的属性实现逻辑的与、或功能。本发明实施例采用递归算法有效地解决梯形图编程受限的问题,降低梯形图编辑难度。

Description

一种梯形图编译方法及相应的PLC系统
技术领域
本发明涉及一种计算机技术领域,具体涉及可编程逻辑控制器(PLC)的梯形图软件编译方法以及相应的PLC系统。
背景技术
随着科技的进步,新一代数控技术对社会生产力提高和制造产业升级起到越来越重要的作用。可编程逻辑控制器(Programmable Logic Controller,缩写PLC)技术是新一代数控技术发展的重要组成部分和发展方向,其具有开关及模拟量控制、数值运算、通讯等功能,通过运行内核,快速而准确地扫描控制程序,与I/O系统通讯,实现控制功能。
可编程逻辑控制器的硬件结构基本上与微型计算机相同。PLC基本构成包括电源、中央处理单元、存储器、输入输出接口电路、功能模块等等,其中,中央处理单元作为平台主要运行用户处理程序。各个硬件厂商在提供可编程逻辑控制器同时,提供一种梯形图编辑软件。用户根据实际使用需求在梯形图编程软件中编写PLC梯形图程序,编译以后将生成的目标代码下载到控制器,控制器驱动电机驱动器控制设备运行。
目前,各个厂商(如日本欧姆龙、德国西门子等)提供的PLC梯形图编辑软件需要符合多种预定的使用规则,用户在初次使用PLC梯形图编辑软件或PLC系统时,难度系数过大。各个企业在引进PLC系统时,还需要对人员进行编程软件的培训,且所需人员的素质较高,从而增加了企业的二次开发成本,对提高企业的总体效益带来一定的局限性。
因此需要设计一种新的梯形图逻辑编译算法,降低梯形图编辑软件的使用难度,提高企业在运用PLC系统时的二次开发效率以及降低企业的成本。
发明内容
针对现有的PLC梯形图编辑软件所存在的问题,本发明提出一种开放性编辑理念,采用递归算法进行编译,有效地解决编程受限,从而降低梯形图编辑软件的使用难度。该方法的方案如下:
一种梯形图编译方法,包括步骤:在软件完成对部件的记录后,生成符合数据规则的预定格式输出文件;读入所述输出文件中的数据后,寻找所述梯形图逻辑的输出部件;逐行遍历所述输出文件中的数据,发现递归起点就调用递归算法进行递归;若所述输出部件存在复数个输入分支,则对所述复数个输入分支依次进行递归,每完成一次递归后,再次返回所述输出部件时将数据写入一个新的寄存器内;所述每一个分支的递归过程在遇到递归终点后开始递归的回归过程;完成所述复数个分支递归后,返回所述部件的处理流程,根据所述部件的属性实现逻辑功能。
优选的,所述输出部件包括线圈、触点、定时器、或/和计数器。
优选的,所述不同种类的部件具有不同的属性。
优选的,所述线圈的属性包括索引、子索引、输入节点。
优选的,所述定时器的属性包括工作模式、计数周期。
优选的,所述递归起点包括寄存器写入、I/O输出、写CAN位、计数器输出或定时器输出。
优选的,所述递归终点包括母线、计数器输入或定时器输入。
优选的,所述递归算法的顺序为自右向左、从上至下。
优选的,所述梯形图编译方法支持地址值从0到999的自定义寄存器。
本发明还提供一种可编程逻辑控制器的控制系统,包括:可编程逻辑控制器的软件,用于完成梯形图逻辑设计、调用编译方法从而生成自定义格式的伪指令代码;CAN总线,对所述伪指令代码进行下载及分析;基于嵌入式系统的硬件平台,接收和执行所述CAN总线所下载的伪指令代码,进行逻辑控制;其中,所述可编程逻辑控制器的软件中采用上述任意一种所述的梯形图编译方法进行梯形图编译。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例提出一种开放性编辑理念,采用递归算法进行梯形图编译,有效地解决编程受限,从而降低梯形图编辑软件的使用难度。在该梯形图编译方法的支持下,电气工程师可按照个人的梯形图搭建习惯将器件摆放在编辑区任意位置,只要保证逻辑的正确却就可达到预期的控制需求。本发明实施例所提出的递归算法的梯形图编译方法,占用系统资源少,提供了一套完整的伪指令代码数据库。
附图说明
图1是本发明实施例中提供一种可编程逻辑控制器控制系统的整体架构示意图;
图2是本发明实施例中提供一种梯形图编译方法的流程示意图;
图3是本发明实施例中各个部件属性的定义示意图;
图4是本发明实施例采用的定时器设计示意图;
图5是本发明实施例所支持的一种互锁梯形图逻辑设计示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
如图1所示,本发明实施例中的一种可编程逻辑控制器的控制系统整体架构示意图。在该实施例中,可编程逻辑控制器控制系统(PLC系统)中的梯形图编译器采用递归算法的梯形图编译方法。其中,可编程逻辑控制器是一种专用于工业控制的计算机,其硬件结构基本上与微型计算机相同。可编程逻辑控制器基本构成包括电源、中央处理单元、存储器、输入输出接口电路、功能模块等。
如图1所示,PLC系统主要包括:可编程逻辑控制器的软件,用于完成梯形图逻辑设计、调用编译方法从而生成自定义格式的伪指令代码;CAN总线,对所述伪指令代码进行下载及分析;基于嵌入式系统的硬件平台,接收和执行所述CAN总线所下载的伪指令代码,进行逻辑控制;其中,所述可编程逻辑控制器的软件中采用上述递归算法的梯形图编译方法进行梯形图编译。
在可编程逻辑控制的软件中,用户首先在上位机软件中进行梯形图编辑生成编译算法,再将编译算法编译成机器所能识别的代码下载模块。通过USB等数据接口将代码下载模块传输至CAN总线(分析仪)内,在该实施例中,CAN总线(分析仪)采用周立功USBCAN-I型分析仪。再通过网络接口线与机遇嵌入式系统的硬件平台中的驱动板块进行通信,从而由底层对指令进行解析并实施输出,以达到逻辑控制的目的。
梯形图编译方法主要包括步骤:在软件完成对部件的记录后,生成符合数据规则的预定格式输出文件;读入所述输出文件中的数据后,寻找所述梯形图逻辑的输出部件;逐行遍历所述输出文件中的数据,发现递归起点就调用递归算法进行递归;若所述输出部件存在复数个输入分支,则对所述复数个输入分支依次进行递归,每完成一次递归后,再次返回所述输出部件时将数据写入一个新的寄存器内;所述每一个分支的递归过程在遇到递归终点后开始递归的回归过程;完成所述复数个分支递归后,返回所述部件的处理流程,根据所述部件的属性实现逻辑功能。在该实施例中,预定格式输出文件的格式为txt格式。在该实施例中,根据所述部件的属性实现逻辑功能主要包括逻辑与、逻辑或。
在上述实施例中,递归起点包括寄存器写入、I/O输出、写CAN位、计数器输出或定时器输出,递归终点包括母线、计数器输入或定时器输入。在一优选实施例中,递归算法的顺序采用自右向左、从上至下的顺序。
图2描述了本发明实施例所提供一种梯形图编译方法的流程示意图。流程开始后进入步骤S1;
步骤S1:寻找输出节点;寻找到输出节点后,进入步骤S2;
步骤S2:判断该输出节点的输入是否为母线;若判断为母线,则递归结束并报错提示输出节点连接逻辑错误;若判断不为母线,进入步骤S3;
步骤S3:将节点a(i)的内容写入寄存器,其中,标引i的初值为0;完成步骤S3后,进入步骤S4;
步骤S4:继续寻找输入分支,判断输入分支的数目m是否为0;
若m为0,则递归结束并报错提示输出节点连接逻辑错误;
若m为1,则进入且执行分支1,并且进入步骤S8:判断输出节点的输入是否为母线,若不为母线则调用递归体,且将标引i自增1,继续进入步骤S3;若步骤S8判断为母线,则进入步骤S9:递归回归,且将标引i自减1,继续进入步骤S3,如此循环往复直到为母线则开始递归的回归过程;
若m为2,则分别进入且执行分支1和分支2,并且进入步骤S8:判断输出节点的输入是否为母线,若不为母线则调用递归体,且将标引i自增1,继续进入步骤S3;若步骤S8判断为母线,则进入步骤S9:递归回归,且将标引i自减1,继续进入步骤S3,如此循环往复直到为母线则开始递归的回归过程;
若m为3,则分别进入且执行分支1、分支2和分支3,并且进入步骤S8:判断输出节点的输入是否为母线,若不为母线则调用递归体,且将标引i自增1,继续进入步骤S3;若步骤S8判断为母线,则进入步骤S9:递归回归,且将标引i自减1,继续进入步骤S3,如此循环往复直到为母线则开始递归的回归过程;
若m大于3,则递归结束并报错提示输出节点连接逻辑错误;
在上述实施例中,输出部件包括线圈、触点、定时器、或/和计数器。根据部件的种类不同,部件具有不同的属性。如图3所示,不同部件的属性示意图,其中,线圈和触点的属性包括索引、子索引、输入节点;定时器的属性不仅包括索引、子索引、输入节点,还包括工作模式、计数周期;导线包括子索引、输入节点。
在该实施例中,梯形图编译方法中的编译器支持地址值0~999个自定义寄存器。当遇到部件的输入节点属性的数目大于1时,表示该部件存在逻辑运算功能,如“与”、“或”操作。
在该实施例中,梯形图编译方法所采用的计数器的最小计时周期为1毫秒,同过计数周期寄存器fullcount设置触发计数时间,当计数值count等于fullcount时计数器输出信号,同时复位count值为零。
在该实施例中,梯形图编译方法所采用的定时器包括6中模式,具体的定时器设计示意图如图4所示。定时器各个模式定义如下:
模式0:关闭;
模式1:脉冲定时器——启用脉冲定时器功能后,输出fullcount*1毫秒时间的定时器脉冲输出信号;
模式2:扩展脉冲定时器——启用扩展脉冲定时器功能后,输出fullcount*1秒时间的定时器脉冲输出信号;
模式3:接通延时定时器——启用接通延时定时器功能后,延时fullcount*10秒时间后输出控制信号;
模式4:保持接通定时器——启用保持接通定时器功能后,输出控制信号并延时fullcount*100秒时间;
模式5:接通延时定时器——启用接通延时定时器功能后,持续保持输出。
图5是本发明实施例所支持的一种互锁梯形图逻辑设计示意图。在一般的梯形图设计过程中,如图5所示的逻辑在编译时会提示错误。虽然该设计单从梯形图的逻辑考虑是正确的,但是其并不符合一般编译器的软件使用规则,从而导致使用者未充分了解一般软件的使用规则时很难排查问题,限制了自由编辑的习惯。而采用本发明实施例中所举例的梯形图编译方法,图5所示的梯形图逻辑设计能够顺利通过,从而有效地解决编程规范受限问题,降低编程难度。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种梯形图编译方法,其特征在于,包括步骤:
在软件完成对部件的记录后,生成符合数据规则的预定格式输出文件;
读入所述输出文件中的数据后,寻找所述梯形图逻辑的输出部件;
逐行遍历所述输出文件中的数据,发现递归起点就调用递归算法进行递归;若所述输出部件存在复数个输入分支,则对所述复数个输入分支依次进行递归,每完成一次递归后,再次返回所述输出部件时将数据写入一个新的寄存器内;所述每一个分支的递归过程在遇到递归终点后开始递归的回归过程;
完成所述复数个分支递归后,返回所述部件的处理流程,根据所述部件的属性实现逻辑功能。
2.根据权利要求1所述的一种梯形图编译方法,其特征在于,所述输出部件包括线圈、触点、定时器、或/和计数器。
3.根据权利要求2所述的一种梯形图编译方法,其特征在于,所述不同种类的部件具有不同的属性。
4.根据权利要求3所述的一种梯形图编译方法,其特征在于,所述线圈的属性包括索引、子索引、输入节点。
5.根据权利要求3所述的一种梯形图编译方法,其特征在于,所述定时器的属性包括工作模式、计数周期。
6.根据权利要求1所述的一种梯形图编译方法,其特征在于,所述递归起点包括寄存器写入、I/O输出、写CAN位、计数器输出或定时器输出。
7.根据权利要求1所述的一种梯形图编译方法,其特征在于,所述递归终点包括母线、计数器输入或定时器输入。
8.根据权利要求1所述的一种梯形图编译方法,其特征在于,所述递归算法的顺序为自右向左、从上至下。
9.根据权利要求1所述的一种梯形图编译方法,其特征在于,所述梯形图编译方法支持地址值从0到999的自定义寄存器。
10.一种可编程逻辑控制器的控制系统,包括:
可编程逻辑控制器的软件,用于完成梯形图逻辑设计、调用编译方法从而生成自定义格式的伪指令代码;
CAN总线,对所述伪指令代码进行下载及分析;
基于嵌入式系统的硬件平台,接收和执行所述CAN总线所下载的伪指令代码,进行逻辑控制;
其特征在于,所述可编程逻辑控制器的软件中采用上述1至9权利要求中任意一种所述的梯形图编译方法进行梯形图编译。
CN201710530006.3A 2017-06-30 2017-06-30 一种梯形图编译方法及相应的plc系统 Active CN109188994B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710530006.3A CN109188994B (zh) 2017-06-30 2017-06-30 一种梯形图编译方法及相应的plc系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710530006.3A CN109188994B (zh) 2017-06-30 2017-06-30 一种梯形图编译方法及相应的plc系统

Publications (2)

Publication Number Publication Date
CN109188994A true CN109188994A (zh) 2019-01-11
CN109188994B CN109188994B (zh) 2021-06-08

Family

ID=64948425

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710530006.3A Active CN109188994B (zh) 2017-06-30 2017-06-30 一种梯形图编译方法及相应的plc系统

Country Status (1)

Country Link
CN (1) CN109188994B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1115507A (ja) * 1997-06-23 1999-01-22 Yamatake Honeywell Co Ltd シーケンス制御装置及びシーケンスプログラム作成装置並びにプログラム記憶媒体
CN1249042A (zh) * 1996-09-20 2000-03-29 耐特波特股份有限公司 用于网络信息访问的方法和系统
CN1308274A (zh) * 2000-02-08 2001-08-15 斯罗扬有限公司 在处理器中传送指令结果及处理器的编译方法
CN1520095A (zh) * 2003-01-24 2004-08-11 华为技术有限公司 网管标准代理中信息管理库树的加载实现方法
CN101364098A (zh) * 2008-09-12 2009-02-11 南京航空航天大学 一种将梯形图转换为指令表程序及解释执行的方法与系统
TW200907725A (en) * 2007-08-10 2009-02-16 Delta Electronics Inc Method for editing PLC program
CN101763280A (zh) * 2008-09-30 2010-06-30 Ics三重自动化软件有限公司 编译模型
CN103942081A (zh) * 2014-03-07 2014-07-23 东莞市升力智能科技有限公司 Plc梯形图il指令表生成方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1249042A (zh) * 1996-09-20 2000-03-29 耐特波特股份有限公司 用于网络信息访问的方法和系统
JPH1115507A (ja) * 1997-06-23 1999-01-22 Yamatake Honeywell Co Ltd シーケンス制御装置及びシーケンスプログラム作成装置並びにプログラム記憶媒体
CN1308274A (zh) * 2000-02-08 2001-08-15 斯罗扬有限公司 在处理器中传送指令结果及处理器的编译方法
CN1520095A (zh) * 2003-01-24 2004-08-11 华为技术有限公司 网管标准代理中信息管理库树的加载实现方法
TW200907725A (en) * 2007-08-10 2009-02-16 Delta Electronics Inc Method for editing PLC program
CN101364098A (zh) * 2008-09-12 2009-02-11 南京航空航天大学 一种将梯形图转换为指令表程序及解释执行的方法与系统
CN101763280A (zh) * 2008-09-30 2010-06-30 Ics三重自动化软件有限公司 编译模型
CN103942081A (zh) * 2014-03-07 2014-07-23 东莞市升力智能科技有限公司 Plc梯形图il指令表生成方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
李丹丹 等: "梯形图可视化编辑与指令表的生成", 《广西工学院学报》 *
苏淑芝: "软PLC梯形图编程系统的研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
邱盛成 等: "PLC梯形图转化为多操作数逻辑指令的设计与实现", 《计算机测量与控制》 *
韩兵兵: "PLC梯形图编程系统研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技II辑》 *

Also Published As

Publication number Publication date
CN109188994B (zh) 2021-06-08

Similar Documents

Publication Publication Date Title
CN101098200B (zh) 一种实现可定制测试流程的方法
US7908020B2 (en) Architecture for control systems
US5970243A (en) Online programming changes for industrial logic controllers
CN103150249B (zh) 一种自动化测试的方法和系统
CN107464148A (zh) 一种基于联盟链的智能合约升级方法和系统
CN104898546B (zh) 一种基于soc的plc在线调试系统和方法
CN108345265B (zh) 硬件设备的编程方法、可视化编程平台、存储器和处理器
WO2007001108A1 (en) System for providing feature-oriented software product line engineering environment
CN110275833B (zh) 一种通用测试设备及使用方法
CN104123401B (zh) Cae智造系统
CN107992322B (zh) 一种雷达信号处理机dsp代码自更新方法
CN101178660A (zh) 存储器数据自动更新方法
CN116225501A (zh) Ecu升级方法、装置及可读存储介质
CN111859833B (zh) 可配置系统级验证环境构造方法、系统及介质
CN117744548A (zh) 一种芯片验证方法、装置和存储介质
CN116090380B (zh) 数字集成电路验证的自动化方法及装置、存储介质和终端
CN109188994A (zh) 一种梯形图编译方法及相应的plc系统
CN112835564A (zh) 代码生成方法和装置
CN101866373A (zh) 用于电子设计自动化的执行监视器
CN111258915A (zh) 一种针对plc程序进行自动化单元测试的方法
CN111078531B (zh) 一种可自定义的测试控制系统
CN107797462A (zh) 仿真器联动装置、控制方法、信息处理程序以及记录介质
CN114936054A (zh) 一种车辆的调试工艺文件的生成方法及装置、轨道车辆
CN110334421B (zh) 零件设计模型可加工性批量分析方法及装置
CN111880780A (zh) 一种mcu的引导加载程序开发方法、装置及平台

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