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”动作限定符。