CN112526921A - 一种功能顺序图表达式编译方法 - Google Patents
一种功能顺序图表达式编译方法 Download PDFInfo
- Publication number
- CN112526921A CN112526921A CN202011479285.3A CN202011479285A CN112526921A CN 112526921 A CN112526921 A CN 112526921A CN 202011479285 A CN202011479285 A CN 202011479285A CN 112526921 A CN112526921 A CN 112526921A
- Authority
- CN
- China
- Prior art keywords
- expression
- sequence diagram
- sfc
- state switching
- compiling method
- 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
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/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/056—Programming the PLC
-
- 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/13127—Hybrid sfc for description of sequence, ladder diagram for conditions, interlock
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
Abstract
本发明公开了一种功能顺序图表达式编译方法,具体包括以下步骤:S1:扫描功能顺序图,生成状态切换的表达式;S2:根据S1生成状态切换的表达式生成不含跳转分支的等效的逻辑表达式;S3:编译器根据S2生成的逻辑表达式生成可执行的目标代码或者生成梯形图。本发明结构科学合理,使用安全方便,本发明科学合理,计算简单,易于计算机实现。
Description
技术领域
本发明涉及可编程逻辑控制器领域,具体为一种功能顺序图表达式编译方法。
背景技术
IEC61131-3标准中定义的SFC(Sequential Function Chart)语言是一种描述控制系统的控制过程、功能和特性的状态转移图语言,主要由步、有向连线、转换条件和动作(或命令)组成。它具有简单、直观等特点,利用这种编程方法能够较容易地编写复杂的书序控制程序,从而提高工作效率,对于程序调试也极为方便。然而编译SFC图常规的方法是将其转换成等效的梯形图,此时,如果继续编译生成的梯形图则会出现大量的分支跳转。申请号201410009324.1的中国发明专利申请提出了一种基于PLC编程中SFC到梯形图的转换方法,然而,此方法实现过于繁琐,编译效果很差。本发明提出一种基于表达式的编译法,直接将SFC转换成逻辑表达式,进而编译成PLC控制器运行的目标代码。
发明内容
一种功能顺序图表达式编译方法,具体包括以下步骤:
S1:逐步进点扫描功能顺序图,查找与步进点连接的转换条件,以及切换的目标步进点生成状态切换的表达式;
S2:根据S1生成状态切换的表达式生成不含跳转分支的等效的逻辑表达式;
S3:编译器根据S2生成的逻辑表达式生成可执行的目标代码或者生成梯形图。
与现有技术相比,本发明的有益效果:本发明结构科学合理,使用安全方便,本发明科学合理,计算简单,易于计算机实现。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明的SFC图;
图2为本发明的流程框图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
实施例:如图1-2所示,本发明提供技术方案:功能顺序图表达式编译方法,具体包括以下步骤:
S1:逐步进点扫描功能顺序图,查找与步进点连接的转换条件,以及切换的目标步进点生成状态切换的表达式;本实施例得到的状态切换表达式为:
SFC#1,SM0.1%S0.0;
SFC S0.0,I0.0&%S0.1&%S0.2;
SFC S0.1,I0.1%S0.3;
SFC S0.2,I0.2%S1.0,I0.3%S1.1;
SFC S0.3&,I1.0%S0.0;;
SFC S1.0,I0.5%S0.4;
SFC S1.1,I0.4%S0.4;
SFC S0.4&,I1.0%S0.0;
其中标记符&表示分支,SFC为表达式开头,紧随其后的为步进点,%之前的转换条件,%之后的为目标步进点;
S2:根据S1生成状态切换的表达式生成逻辑表达式,按现有的方法,如申请号201410009324.1中国专利的转换方法,实质上是通过判断步进点的状态,如果=1,则判断转换条件,如果=1,则步进点转换成0,下一步进点=1;这种需要梯形图能流的模式,大大降低了运行效率,但是如果将这种状态切换,以逻辑表达式的方式实现,则大大简化了编译过程,提升了运行效率;
逻辑表达式的原理如下:
假设状态切换表达式为SFC S0.1,I0.1%S0.3,其含义是当I0.1=1时,若S0.1=1,则S0.3=1,S0.1=0,从而实现了步进S0.1到S0.3的切换,实现切换的逻辑表达式为S0.3=S0.1&&I0.1;S0.1=!S0.3&&S0.1;
由于编译上面两个逻辑表达式的难度远远低于编译梯形图,因此达到了本发明的目标;
对于SFC中出现的分散流控制,即一个步进点同时跳转至多个步进点,如SFCS0.0,I0.0&%S0.1&%S0.2;实现切换的逻辑表达式为S0.1=S0.0&&I0.0;S0.2=S0.1;S0.0=!S0.2&&S0.0;
对于SFC中出现的合并流控制,即多个步进点同时满足跳转条件跳转至新步进点,如:
SFC S0.3&,I1.0%S0.0;SFC S0.4&,I1.0%S0.0;实现切换的逻辑表达式为S0.0=S0.3&&S0.4&&I1.0;S0.3=!S0.0&&S0.3;S0.4=S0.3;
对于SFC中出现的控制流分支,即步进点根据跳转条件跳转至分支步进点,如:SFCS0.2,I0.2%S1.0,I0.3%S1.1;实现切换的逻辑表达式为S1.0=S0.2&&I0.2;S0.2=!S1.0&&S0.2;S1.1=S0.2&&I0.3;S0.2=!S1.1&&S0.2;
对于SFC中出现的控制流汇合,即步进点根据跳转条件跳转至分支步进点,如:SFCS1.0,I0.5%S0.4;SFC S1.1,I0.4%S0.4;实现切换的逻辑表达式为S0.4=S1.0&&I0.5;S1.0=!S0.4&&S1.0;S0.4=S1.1&&I0.4;S1.1=!S0.4&&S1.1;
S3:编译器根据s2生成的逻辑表达式生成可执行的目标代码或者生成梯形图。
本发明结构科学合理,使用安全方便,本发明科学合理,计算简单,易于计算机实现。
最后应说明的是:以上所述仅为本发明的优选实例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (1)
1.一种功能顺序图表达式编译方法,其特征在于,具体包括以下步骤:
S1:逐步进点扫描功能顺序图,查找与步进点连接的转换条件,以及切换的目标步进点生成状态切换的表达式;
S2:根据S1生成状态切换的表达式生成不含跳转分支的等效的逻辑表达式;
s3:编译器根据S2生成的逻辑表达式生成可执行的目标代码或者生成梯形图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011479285.3A CN112526921A (zh) | 2020-12-15 | 2020-12-15 | 一种功能顺序图表达式编译方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011479285.3A CN112526921A (zh) | 2020-12-15 | 2020-12-15 | 一种功能顺序图表达式编译方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112526921A true CN112526921A (zh) | 2021-03-19 |
Family
ID=75000181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011479285.3A Pending CN112526921A (zh) | 2020-12-15 | 2020-12-15 | 一种功能顺序图表达式编译方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112526921A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101750992A (zh) * | 2008-12-02 | 2010-06-23 | 杨成 | 一种应用于可编程序控制器的通用顺序控制算法 |
CN102096390A (zh) * | 2011-01-30 | 2011-06-15 | 深圳市合信自动化技术有限公司 | 可编程逻辑控制器、程序编译器、编译系统及方法 |
CN107203380A (zh) * | 2017-05-24 | 2017-09-26 | 浙江中控技术股份有限公司 | 一种sfc程序解释运行方法及装置 |
CN109143952A (zh) * | 2018-06-13 | 2019-01-04 | 华东师范大学 | 可编程逻辑控制器编程语言转换系统 |
-
2020
- 2020-12-15 CN CN202011479285.3A patent/CN112526921A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101750992A (zh) * | 2008-12-02 | 2010-06-23 | 杨成 | 一种应用于可编程序控制器的通用顺序控制算法 |
CN102096390A (zh) * | 2011-01-30 | 2011-06-15 | 深圳市合信自动化技术有限公司 | 可编程逻辑控制器、程序编译器、编译系统及方法 |
CN107203380A (zh) * | 2017-05-24 | 2017-09-26 | 浙江中控技术股份有限公司 | 一种sfc程序解释运行方法及装置 |
CN109143952A (zh) * | 2018-06-13 | 2019-01-04 | 华东师范大学 | 可编程逻辑控制器编程语言转换系统 |
Non-Patent Citations (1)
Title |
---|
张高煜: "基于SFC的PLC自动编程系统的研究", 《电气自动化》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110825384A (zh) | 一种基于llvm的st语言编译方法及编译系统和编译器 | |
US9477578B2 (en) | Sequence-program-debugging supporting apparatus | |
CN109117362B (zh) | 一种基于中间语言的plc程序验证系统 | |
CN101587445A (zh) | 一种plc编译执行方法 | |
CN104898546B (zh) | 一种基于soc的plc在线调试系统和方法 | |
CN107193534B (zh) | 一种将plc梯形图转换成指令表并解释执行的方法 | |
CN103577241A (zh) | 编译系统以及编译方法 | |
CN102609269B (zh) | 一种顺序功能图的可视化实现方法 | |
CN106737676A (zh) | 一种基于脚本可二次开发的工业机器人编程系统 | |
CN112526921A (zh) | 一种功能顺序图表达式编译方法 | |
CN103838616B (zh) | 基于树型程序分支的计算机程序即时编译方法 | |
CN109643100B (zh) | 用于将plc控制程序转换为结构化数据的设备和方法 | |
CN107145944B (zh) | 基于fpga高效训练的遗传算法及系统 | |
CN103941627B (zh) | 一种基于plc编程中sfc到梯形图的转换方法 | |
CN105700934A (zh) | 一种智能编译方法和智能编译系统 | |
CN107168761B (zh) | 一种选择语句优化编译方法 | |
CN112549023A (zh) | 基于TCP socket接口工业机器人示教器模式与协程控制方法 | |
CN110442520B (zh) | 一种基于plc编程语言的交叉调试系统及方法 | |
Yu et al. | An engineerable procedure description method for industrial automation | |
Wang et al. | An extensible NC program interpreter for open CNC systems | |
JP2000020114A (ja) | モーションコントローラのプログラム作成および実行方法 | |
CN114995226B (zh) | 一种针对航天嵌入式设备的流程控制系统及方法 | |
CN109927029A (zh) | 一种机械手的动作控制方法 | |
CN115857882A (zh) | 一种集成开发环境系统 | |
AU6416294A (en) | System for conversion of loop functions to continuation-passing style |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210319 |