CN112526921A - 一种功能顺序图表达式编译方法 - Google Patents

一种功能顺序图表达式编译方法 Download PDF

Info

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
Application number
CN202011479285.3A
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.)
Hunan Geren Automation Technology Co ltd
Original Assignee
Hunan Geren Automation Technology 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 Hunan Geren Automation Technology Co ltd filed Critical Hunan Geren Automation Technology Co ltd
Priority to CN202011479285.3A priority Critical patent/CN112526921A/zh
Publication of CN112526921A publication Critical patent/CN112526921A/zh
Pending legal-status Critical Current

Links

Images

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/056Programming the PLC
    • 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/13Plc programming
    • G05B2219/13127Hybrid 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生成的逻辑表达式生成可执行的目标代码或者生成梯形图。
CN202011479285.3A 2020-12-15 2020-12-15 一种功能顺序图表达式编译方法 Pending CN112526921A (zh)

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)

* Cited by examiner, † Cited by third party
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 华东师范大学 可编程逻辑控制器编程语言转换系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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