SFC编程

  • 格式:pdf
  • 大小:663.51 KB
  • 文档页数:26

欧姆龙自动化(中国)有限公司

营业技术中心

2012年2

月SFC编程介绍目录

一、SFC编程介绍.....................................................................................1

二、SFC的结构.........................................................................................3

(一)、SFC步的介绍………………………………………………………………………3

(二)、SFC的转移分类……………………………………………………………………3

(三)、动作块………………………………………………………………………………7

(四)、SFC编程的一些规则………………………………………………………………10

(五)、SFC任务控制指令…………………………………………………………………10

三、SFC编程示例..................................................................................11SFC编程

第1页一、SFC编程介绍

PLC编程语言主要有以下几种,梯形图(LAD)、指令表(LI)、顺序功能图

(SFC)、结构化编程语言(ST)、功能块(FB),大家最熟悉的一般是梯形图和指

令表。这五种编程语言都是符合IEC61131-3标准的编程语言(IEC61131是世界

范围内第一个实现标准化的用于PLC系统的编程语言标准规范)。

PLC最初的出现是为了取代继电器控制系统,用软元件的逻辑运算来代替硬

接线逻辑,以满足工业产品型号规格的不断变化及批量小、交货期短的市场需求。

因此早期PLC的软件功能比较简单,主要进行“与”、“或”等基本的逻辑运算。

用PLC的基本逻辑指令进行编程,其基本的设计方法同继电器-接触器控制系统

的设计方法是相似的,通常有经验设计法和逻辑设计法两种。经验设计法自然与

设计者的经验有关,要求设计者有丰富的设计经验、熟悉比较多的控制线路等,

尽管如此,在联锁比较复杂的情况下,也难免出现设计漏洞,理论上不能保证设

计的完备性。逻辑设计法比较复杂,一般设计人员难以掌握,虽然从理论上讲是

完备的,但实际在设计过程中同样要渗进不少经验和人为的因素,尤其在工序步

进动作比较复杂的情况下更是如此。

顺序功能图(SFC)的出现解决了以上困难:

SFC:SequentialFunctionChart顺序功能图,也称为顺序功能流程图,

是一种强大的描述控制程序的顺序行为特征的图形化语言,可对复杂的过程或操

作由顶到底地进行辅助开发。SFC允许一个复杂的问题逐层地分解为步和较小的

能够被详细分析的顺序。

(一)梯形图编程的难点:

1、一是梯形图编程中需要考虑复杂的电路互锁信号,这样就往往是程序设

计者由于考虑不周到而忘掉复位的信号,增加了编程人员的负担。

2、梯形图没有固定的编程规则,不同的设计者按照各自不同的编程习惯、

思路、方法来设计出相同功能的程序,以至于其他人要理解起来比较困难。

3、梯形图主要以触点和线圈的组合来表示,且其程序没有与设备运行顺序

相一致的表达,如果由于某些故障导致设备停止,则必须要检查整个程序来找出

程序中的错误。

(二)SFC编程的优点:

1、在程序中可以很直观地看到设备的动作顺序。比较容易读懂程序,不同

的人员都比较容易理解其他人编写的程序,因为程序按照设备的动作顺序进行编

写,规律性较强。

2、在设备故障时能够很容易的查找出故障所处在的工序,从而不用检查整

个冗长的梯形图程序。

3、不需要复杂的互锁电路,更容易设计和维护系统。SFC编程

第2

页SFC编程

第3页二、SFC的结构:

SFC图由描述一系列机器工序的各个工序运行的“步”组成,“步”的输出

由“动作块”执行,从一个工艺到其他工艺的步与步之间为“转换条件”。

(一)、SFC步的介绍步分为初始步、普通步(中间步)和子图步:

1、初始步在程序开始执行时无条件活动,此时其它所有步都不执行。

可放在程序中任何地方,不需要放在程序开头。

2、每一个程序只能有1个初始化步(注:三菱FX系列只能添加10个

SFC图。每个SFC图的初始步为S0~9中的一个,且必须放置在程序

开头。)

3、一步可包含多个动作块。(注:三菱SFC没有动作块,只是在每个步

后面直接添加此步执行的动作。)

4、步控制指令(StepControlInstructions)包括:SA、SE、TSR、

TSW四条指令:

SA激活步、SE结束步、TSR读取步定时器值、TSW写入步定时器值

在以上指令中,步标志规定如下:

•在同一个任务中[stepname].X

•在不同任务中[programname].[stepname].X

在以上指令中,步定时器规定如下:

•在同任务的步中[stepname].T

•在不同任务的步中[programname].[stepname].T

•同一任务的子图步中[subchartname].[stepname].T

•不同任务的子图步中[programname].[subchartname].[stepname].T

(二)、SFC的转移分类

1、串行转移:当满足转移条件时进入当前步后面一步处理的转移格

式:SFC程序的运行从初始步开始,每次转换条件成立时执行下一步并且在

遇到END步结束一系列的运行:

A、当起动SFC程序时,首先执行初始步。在初始步处理期间检查下一个转

移条件(上面示图中的“转移条件1”

)以确定是否满足该转移条件。SFC编程

第4页B、初始步处理继续,直到满足转移条件1。当满足转移条件1时,初始步

处理停止并开始下一步(上面示图中的第1步)的处理。

C、在第1步处理期间,检查下一个转移条件(上面示图中的转移条件2)

以确定是否满足该转移条件。

D、当满足转移条件2时,停止第1步处理并开始下一步(上面示图中的第

2步)的处理。

E、SFC程序的处理以该方式继续按顺序执行步直到到达END步为止。

2、选择转移:是若干步以并行方式汇合在一起的转移格式并且只处

理首先满足转移条件的步;SFC编程

第5页如果一个分歧的多个转换条件同时满足,默认时优先权将赋予最左边

一个步。(一个分歧的转换只能发生一步)。如果步的优先权改变了,激活

状态的转换将根据优先权顺序。(右键在分歧横线上,取消选择“使用默

认转换优先”,可显示执行顺序数字,双击相应数字就可改变默认优先权

顺序)

3、选择汇合:一个单步连接到两个或多个转换以后。合并一个已被(如分歧)分割为两个或多个分支工艺流程的工艺流程。

4、并行转移:是在满足相关的转移条件时同时处理并行链接的若干步的转移格式;

转换条件达到,活动状态将同时转换到分歧后的所有步,紧跟转换,

双线后的步同时激活,执行顺序按照编辑的动作块的先后顺序执行。

5、并列汇合:一个转换连接到两个或多个步之后,合并一个已被(如并列分歧)分割为两个或多个分支工艺流程的工艺流程。

转换条件达到,转换以前的所有步的活动状态将同时转换到转换后

跟着的步。

6、跳转:是指当满足转移条件时在同一块内跳转至指定步。对于跳

转,在转换后有一个箭头和跳转目的地步号;一个跳转入口表示为跳转目

的地步(转换后的)正前面的箭头。SFC编程

第6页当跳转源步后的转换条件满足,活动状态转移

图2、SFC的转移分类图SFC编程

第7页(三)动作块

一个单步可以注册多个动作块,与一个动作块一起登记的动作的数目上没有极限。

动作块包括:AQ:动作限定符;ActionName:动作名称;Indicator

Variable:指标变量

1、动作块的执行:当一个步被活动,动作块中的所有动作根据动作限定符

的条件设定执行。当一个步在活动状态,动作块中的每个动作每周期执

行一次。

2、动作限定符:AQ为每个动作定义运行时序;它能决定当步活动时动作如

何执行;每个动作只可指定一个AQ。

动作类型决定了当步变为非活动状态时输出是保持还是复位。需要时,

改变初始设置或向程序中添加复位过程。

•对于位,如果保持动作限定符(S)未被指定,输出将复位;如果保

持动作限定符(S)已指定,输出将保持。

•对于梯形图程序,输出默认复位,默认设置可变为保持输出状态。

•对于ST程序,默认输出状态保持,必要时,在程序中写入复位过程

并使用动作标志(当ST程序中对应步变为非活动时,该标志变为ON)来控

制复位过程。AQ列表

AQ符号名称功能需要设

置定时

D延时从步活动开始,过去用户指定时间后动作执行。

如果在用户指定时间到期之前步变为非活动,

动作将不执行。是

DS延时置

位执行时类似"SD"。同SD不同,如果步在用户指

定延迟时间到期之前变为非活动,动作将不操

作。要取消执行,使用R限定符。是

L限期执

行当步活动后,动作执行直到用户指定时间到达。

如果步变为非活动,动作执行将终止。是

N普通

(默动作执行跟步活动时间一样长。SFC编程

第8页认)

P脉冲若最终扫描功能使能,当步活动时动作执行2

个扫描周期。

若最终扫描功能非使能,当步活动时,动作执

行1个周期。

P1上沿脉

冲每当步变为活动时动作执行一次。

P0下沿脉

冲每当步变为非活动时动作执行一次。

R复位当步变为活动,且他的动作是由“S、SL、SD

或DS”限定符,指定动作停止并复位。如果动

作正在执行,但不是由“S、SL、SD或DS”限定

符执行,动作只是复位(不停止)。复位操作设

置如下:OUT/OUTNOT指令:“OFF”,TIM/TIMH指

令:“复位”;其它定时器/计数器/转换寄存器:

“保持”

S置位步活动时动作执行,即使步变成非活动也持续

执行,要取消执行,使用R限定符。是

SD置位延

时步活动后直到用户指定时间到达,动作开始执

行,即使步变成非活动也持续执行,要取消执

行,使用R限定符。是

SL置位限

制步活动时动作执行,直到用户指定时间到期。

与“L”不同的是,即使步变成非活动也持续执

行,要取消执行,使用R限定符。是

D,DS,L控制动作执行的时序,使用步定时器,时间单位与动作块被分配的步的定

时器一致。

SD和SL用与步定时器不同的定时器控制时间,因为他们操作独立于步状态。

如果动作限定符设置为“N”,梯形图程序将不能正确检测步的上升沿激活状态。

因此,如果一个过程根据步的激活状态只执行一次,需要使用“P1”动作限定符。