技术论坛

应用探讨——SFC 顺序控制——发帖整理

作者 主题
总坛主
西门子官方工程师

经验值: 23712
发帖数: 3792
精华帖: 8
主题:应用探讨——SFC 顺序控制——发帖整理


只看楼主 楼主 2012-05-15 14:34:31
SFC(Sequential Function Chart,顺序功能图)允许用户通过图形化的方式组态和调试顺序控制系统,根据固定规则将 SFC 的元素放入顺控程序中,无需关注诸如算法或者设备资源分配等详细信息。SFC具有方便的编辑功能,及强大的测试和调试功能。应用于化工、制药、食品等行业。
SFC 的使用过程中,大家可能会种种问题,比如:
1、SFC 的工作原理;
2、SFC 功能图属性、步和转移属性的含义;
3、五种控制结构的使用;
4、SFC是否支持在线下载,有哪些注意事项;
5、SFC 状态,各种之间的转换关系;
6、SFC 可视化控件

PCS 7中提供CFC和 SFC 编程,SFC(Sequential Function Chart,顺序功能图)允许用户通过图形化的方式组态和调试顺序控制系统,根据固定规则将 SFC 的元素放入顺控程序中。SFC具有方便的编辑功能,及强大的测试和调试功能。
最近几周大家对在实际使用中对SFC原理,SFC 状态之间关系,SFC顺控程序的结构进行了热烈的讨论,很多网友更是分享了宝贵的经验,谢谢大家!关于SFC编程的话题,我们讨论了以下几个方面的某些内容。
1.SFC 的应用场合
2.SFC 和 graph 的区别
3.SFC 顺控执行时序和SFC chart状态机制图

根据讨论的情况,推荐下载中心如下文档,供大家参考。

SIMATIC S7 SFC手册
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=24451748

S7 SFC可视化手册
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=24451024

怎样显示当前顺序控制的操作状态?
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=28883565

S7-GRAPH编程
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=A0245

以下为本次探讨的发帖整理,查看原始交流内容请点击此处
 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=987733&b_id=6&s_id=0&num=26

总坛主
西门子官方工程师

经验值: 23712
发帖数: 3792
精华帖: 8
回复:应用探讨——SFC 顺序控制——发帖整理


只看楼主 楼主 1楼 2012-05-15 14:34:42
quote:以下是引用loong6在2012-04-17 23:34:10的发言:
SFC顺控制像三菱公司的小型PLC做得好,画SFC流程图,就能把工艺控制表达清楚,在机械手案例中,手动,自动,回原位,编程思路清晰,步与步之前逻辑的互锁,连联很容易实现!!

 
以下网友喜欢您的帖子:

  
总坛主
西门子官方工程师

经验值: 23712
发帖数: 3792
精华帖: 8
回复:应用探讨——SFC 顺序控制——发帖整理


只看楼主 楼主 2楼 2012-05-15 14:34:50
quote:以下是引用sheer在2012-04-18 13:51:08的发言:
1.SFC可以与CFC有机的结合起来,SFC中可以引用CFC中的状态作为其控制信号,又可以对CFC中的块参数进行赋值;SFC的外部视图完全符合CFC的定义。
2.SFC可以记录最近一次程序的执行状况。比如说,某个顺序控制自动步在一次执行中出问题了,没有成功执行,打开SFC的在线监控,可以显示该自动步执行的哪一步了,哪一个转移条件没有满足(比如说,某个气缸的命令已经给出,但是在监控时间内没有检测到到位信号,就需要去检查对应的接近开关)从而可以对问题进行准确的定位。
3.SFC可以很方便的集成到WINCC的上位监控系统中。
4.SFC在线下载可能会导致停机,对于连续生产的企业要特备注意。

 
以下网友喜欢您的帖子:

  
总坛主
西门子官方工程师

经验值: 23712
发帖数: 3792
精华帖: 8
回复:应用探讨——SFC 顺序控制——发帖整理


只看楼主 楼主 3楼 2012-05-15 14:34:57
quote:以下是引用ouhuimin在2012-04-19 09:50:12的发言:
对于需要步进动作的程序来说,用SFC编程,程序显得很直观。但是西门子与其他类型PLC相比较抽象,所以我们希望看到更多范例!

 
以下网友喜欢您的帖子:

  
总坛主
西门子官方工程师

经验值: 23712
发帖数: 3792
精华帖: 8
回复:应用探讨——SFC 顺序控制——发帖整理


只看楼主 楼主 4楼 2012-05-15 14:35:06
quote:以下是引用君鸿在2012-04-19 23:28:36的发言:



Chart 属性:
? 操作模式:可选择手动或者自动;
? 布控模式:chart的执行方式,由转移和操作员确认多种组合方式
? 启动选项:CPU中重新启动后,SFC动作
? CPU重启后动作:初始化或者保持重启前的状态
? 命令输出:控制SFC的命令是否影响输出值
? 循环操作:SFC会自动从“completed”状态转换到“starting”状态
? 时间监视:步运行超出最大时间后,报告步错误



Sequence 属性如图所示:
? 启动条件:当设置的条件满足后,sequence才有可能激活
? 预处理:每个周期中在步和转移处理前所执行的操作
? 后处理;每个周期中在步和转移处理后所执行的操作



步属性:
? 运行时间:设置步的最小运行时间和最大运行时间
? “初始化”(Initialization):满足条件后执行一周期
? “处理”(Processing):在下一步条件满足前一直执行
? “终止”(Termination:在下一步转移条件满足后执行一周期



转移属性:
? 设置转移到下一步的条件

 
以下网友喜欢您的帖子:

  
总坛主
西门子官方工程师

经验值: 23712
发帖数: 3792
精华帖: 8
回复:应用探讨——SFC 顺序控制——发帖整理


只看楼主 楼主 5楼 2012-05-15 14:35:29
quote:以下是引用划痕在2012-04-20 12:47:23的发言:
首先,当工艺过程要求的顺序多而复杂时,借助SFC工具来实现系统开发的优势特别明显。
<复杂指的是各个顺序之间存在多种关系,比如主顺序和子顺序,正常顺序、中断顺序和紧急顺序等等>
另外,在程序中对SFC进行操作时,应该注意:提供的输入接口参数大多是采用的沿触发

 
以下网友喜欢您的帖子:

  
总坛主
西门子官方工程师

经验值: 23712
发帖数: 3792
精华帖: 8
回复:应用探讨——SFC 顺序控制——发帖整理


只看楼主 楼主 6楼 2012-05-15 14:35:37
quote:以下是引用wondman在2012-04-20 17:12:18的发言:
找到两个链接,和大家分享分享!

如何使用 SFC
http://support.automation.siemens.com/CN/view/zh/22971603

在SFC中,如何实现从一个 Sequencer 跳出后回到另一个 Sequencer 的某个固定位置并继续执行?
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=15217260

 
以下网友喜欢您的帖子:

  
总坛主
西门子官方工程师

经验值: 23712
发帖数: 3792
精华帖: 8
回复:应用探讨——SFC 顺序控制——发帖整理


只看楼主 楼主 7楼 2012-05-15 14:35:49
quote:以下是引用VOLLMER在2012-04-20 20:40:04的发言:
抛块砖吧。
我觉得大家先去了解一下IEC61131-3语言中的SFC概念、应用阶段、标志、以及如何封装、如何被封装之后,再回过头来学习Simatic SFC的特点和不足会好一些。
我本人买了彭瑜老师的书,一式两份,家里、办公室各一,不错的。

 
以下网友喜欢您的帖子:

  
总坛主
西门子官方工程师

经验值: 23712
发帖数: 3792
精华帖: 8
回复:应用探讨——SFC 顺序控制——发帖整理


只看楼主 楼主 8楼 2012-05-15 14:35:57
quote:以下是引用Automann在2012-04-21 22:54:52的发言:
SFC是顺序功能图的简称,是编写顺序控制程序的有力工具。PCS 7 的SFC和STEP 7的S7-Graph都是顺序功能图。
SFC只能用于PCS7,应用的面太窄,太阳春白雪。建议推广STEP 7中的S7-Graph。它只有英文版,可能是语言成了应用Graph的一大拦路虎。
《S7-300/400 PLC 应用技术》第3版详细介绍了S7-Graph的编程、调试和仿真的方法,有包含手动、单周期、单步、连续、自动返回原点这些工作方式的系统的应用例程。
STEP 7的基本版需要单独安装S7-Graph,并且需要单独的授权。
下面是S7-GRAPH V5.3+SP7的下载地址:
http://support.automation.siemens.com/CN/llisapi.dll?func=cslib.csinfo&nodeID0=4000024&lang=zh&siteid=cseus&aktprim=0&extranet=standard&viewreg=CN&objid=10805401&basisview=4000002&wttree=cs&treeLang=zh

S7-GRAPH V5.3 SP7 可用于64 位的Windows 7 Professional 和Windows 7 Ultimate,可与STEP 7 V5.4 SP4 ~ STEP 7 V5.5 SP1配套使用。
应先安装STEP 7,然后安装S7-GRAPH。

过程控制系统 PCS 7 SFC 可视化编程和操作中文手册的下载地址:http://support.automation.siemens.com/CN/llisapi.dll?query=SFC&func=cslib.cssearch&content=adsearch%2Fadsearch.aspx&lang=zh&siteid=cseus&objaction=cssearch&searchinprim=0&nodeid0=10805401

 
以下网友喜欢您的帖子:

  
总坛主
西门子官方工程师

经验值: 23712
发帖数: 3792
精华帖: 8
回复:应用探讨——SFC 顺序控制——发帖整理


只看楼主 楼主 9楼 2012-05-15 14:36:04
quote:以下是引用KFCC在2012-04-23 10:23:09的发言:
S7-Graph严格来说其实不是顺序功能图,只是用图表的形式把顺序展现出来。且多用于S7-300里。
SFC,即Sequential Function Chart,顺序功能图。是用于PCS7里的一个组件,常见于S7-400。功能很强大,但应用起来较抽象。

 
以下网友喜欢您的帖子:

  
总坛主
西门子官方工程师

经验值: 23712
发帖数: 3792
精华帖: 8
回复:应用探讨——SFC 顺序控制——发帖整理


只看楼主 楼主 10楼 2012-05-15 14:36:11
quote:以下是引用Automann在2012-04-23 13:55:30的发言:
顺序控制设计法的基本概念
顺序控制设计法最基本的思想是将系统的一个工作周期划分为若干个顺序相连的阶段,这些阶段称为步(Step)。顺序功能图(SFC)主要由步、有向连线、转换、转换条件和动作组成。
图1是运输带控制的示意图和输入、输出波形图,按了起动按钮I0.0,先启动1号运输带,延时6s后自动起动2号运输带。按了停止按钮I0.1后,先停2号运输带,5s后自动停1号运输带。图2是用S7-Graph画出的顺序功能图。
运输带的工作过程被“自然”地划分为6s启动延时、双机运行、5s停机延时这3步(见图2中的S2~S4),此外还设置了一个等待启动的初始步S1,初始步用双线框表示。
当系统正处于某一步所在的阶段时,称该步为“活动步”。在监控时用绿色表示活动步。
各步右边的方框中是该步要完成的“动作”。动作中的R、S表示对Q4.0复位和置位。步S2的动作中的D表示延时,但是不是使用定时器来延时。6s延时到时,M0.3变为1状态。
步S3中的N表示Q4.1为非存储型动作,S3为活动步时Q4.1为1状态,为不活动步时Q4.1为0状态。
相邻两步用有向连线连接。用有向连线上与有向连线垂直的短划线来表示转换。
使系统由当前步进入下一步的信号称为转换条件,例如起动按钮I0.0是由初始步转换到起动延时步的转换条件。S7-Graph用梯形图或功能块图来表示转换条件。







 
以下网友喜欢您的帖子:

  
总坛主
西门子官方工程师

经验值: 23712
发帖数: 3792
精华帖: 8
回复:应用探讨——SFC 顺序控制——发帖整理


只看楼主 楼主 11楼 2012-05-15 14:36:21
quote:以下是引用colon在2012-04-23 14:10:08的发言:
对控制命令有两点疑问,
1..手动模式和自动模式都在什么时候使用,有多大差异?
2..在外部视图中发现有lockstart,lockhold管脚命令,看样子是控制sfc chart的,但它和手动命令及 自动命令之间是什么关系呢?
----------------------------------------

SFC 控制可以分为以下几种,
1.手动模式:SFV控制,即由OS 上有操作员通过命令按钮控制,例如start,stop,hold.....按钮。
2.自动模式:在程序中通过CFC或者SFC互联到SFC的外部视图来控制,例如start,abort,reset.....管脚。
3.外部互联:即SFC 的 外部视图的LOCK*x管脚来控制SFC的状态。例如LOCKHOLD,LOCKCOMP....管脚。
4.内容命令:即INT*x管脚,不能互联,可以在顺控程序中来控制SFC的状态,主要用来测试

SFC中还有一种状态转换时自动完成的。例如从starting--->run,completing--->completed,holding--->held,aborting--->aborted,stopping--->stopped,如果上述的*ing状态触发了seq,在seq执行完成后状态自动转入*ed状态,如果没有则*ing 持续一周期后转变为*ed状态。

 
以下网友喜欢您的帖子:

  
总坛主
西门子官方工程师

经验值: 23712
发帖数: 3792
精华帖: 8
回复:应用探讨——SFC 顺序控制——发帖整理


只看楼主 楼主 12楼 2012-05-15 14:36:40
quote:以下是引用古月游风在2012-04-23 15:17:35的发言:
SFC对工程师的要求降低了,减少了程序开发时间和错误率,但是对用户的要求提高了(如果用SFC面板来操作,完全用SFC自动的话就无所谓了。)
另外SFC既可以做简单的顺控程序,也可以延伸到批次处理,作为BATCH的设备操作程序。
使用CFC作为程序平台,SFC作为工艺程序主线,很不错的。但是要注意各个状态之间的切换,以及各个状态下的程序响应。
适合过程控制或顺序控制使用。

 
以下网友喜欢您的帖子:

  
总坛主
西门子官方工程师

经验值: 23712
发帖数: 3792
精华帖: 8
回复:应用探讨——SFC 顺序控制——发帖整理


只看楼主 楼主 13楼 2012-05-15 14:36:50
quote:以下是引用小釉在2012-04-23 16:47:27的发言:
quote:以下是引用Automann在2012-04-21 22:54:52的发言:
SFC是顺序功能图的简称,是编写顺序控制程序的有力工具。PCS 7 的SFC和STEP 7的S7-Graph都是顺序功能图。
SFC只能用于PCS7,应用的面太窄,太阳春白雪。建议多推广STEP 7中的S7-Graph。它只有英文版,可能是语言成了应用Graph的一大拦路虎。
《S7-300/400 PLC 应用技术》第3版详细介绍了S7-Graph的编程、调试和仿真的方法,有包含手动、单周期、单步、连续、自动返回原点这些工作方式的系统的应用例程。
STEP 7的基本版需要单独安装S7-Graph,并且需要单独的授权。
下面是S7-GRAPH V5.3+SP7的下载地址:
http://support.automation.siemens.com/CN/llisapi.dll?func=cslib.csinfo&nodeID0=4000024&lang=zh&siteid=cseus&aktprim=0&extranet=standard&viewreg=CN&objid=10805401&basisview=4000002&wttree=cs&treeLang=zh

S7-GRAPH V5.3 SP7 可用于64 位的Windows 7 Professional 和Windows 7 Ultimate,可与STEP 7 V5.4 SP4 ~ STEP 7 V5.5 SP1配套使用。
应先安装STEP 7,然后安装S7-GRAPH。

过程控制系统 PCS 7 SFC 可视化编程和操作中文手册的下载地址:http://support.automation.siemens.com/CN/llisapi.dll?query=SFC&func=cslib.cssearch&content=adsearch%2Fadsearch.aspx&lang=zh&siteid=cseus&objaction=cssearch&searchinprim=0&nodeid0=10805401

你的意思是sfc和step的graph应该是一样的了/
只是软件不同。pcs7 对应SFC STEP7 对应graph
在step7下,不能安装SFC吗?

 
以下网友喜欢您的帖子:

  
总坛主
西门子官方工程师

经验值: 23712
发帖数: 3792
精华帖: 8
回复:应用探讨——SFC 顺序控制——发帖整理


只看楼主 楼主 14楼 2012-05-15 14:37:02
quote:以下是引用划痕在2012-04-23 19:46:22的发言:
quote:以下是引用江汉之珠在2012-04-22 20:46:54的发言:
我用过一次SFC。特别适用于顺序性和步进性特别规律的场合,没有“中断”。不同意“没有‘中断’”这个说法!
条件和步骤是其构架,非常方便哦!同意!

呵呵,如果一个项目中就一两个顺序,可能体现不出多大的优势,但是当项目中的顺序很多时,顺序之间还存在相关的先后顺序时,PCS7中的SFC将凸显绝对的优势,这也是Graph所不及的!
不难发现:在SFC框架下有很多的接口,比如hold、abort、resume等等,其中hold和resume可理解为中断(即暂停)和中断恢复,而abort则可以认为是当紧急情况发生时,放弃整个顺序!
另外,在PCS7系统中,可以完美的结合下位SFC和上位SFC visualization组件,搭建顺序更容易,而Graph则没有对应的上位组件。

 
以下网友喜欢您的帖子:

  
总坛主
西门子官方工程师

经验值: 23712
发帖数: 3792
精华帖: 8
回复:应用探讨——SFC 顺序控制——发帖整理


只看楼主 楼主 15楼 2012-05-15 14:37:18
quote:以下是引用colon在2012-04-24 23:21:02的发言:
每个SFC chart的可以有 8 个顺控程序;
每个顺控程序的步数 2~255
每个动作的指令数 50;
每个转移 / 启动条件的条件数 16
SFC chart的名称最多可以包含 22 个字符。下列字符是非法的: " % . / \
注释可以占据几行,最多包括 80 个字符,然而在图表元素的右边仅显示 16 个字符。OS注释则可以包含最多 512 个字。

 
以下网友喜欢您的帖子:

  
总坛主
西门子官方工程师

经验值: 23712
发帖数: 3792
精华帖: 8
回复:应用探讨——SFC 顺序控制——发帖整理


只看楼主 楼主 16楼 2012-05-15 14:37:27
quote:以下是引用colon在2012-04-24 23:42:14的发言:
每个sequence 中包含一个start步,一end步,和若干其他的步。可以包含选择,跳转,循环,并行分支结构。
在每个步中包含“初始化”(Initialization),“处理”(Processing),“终止”(Termination)三种控制方式。

sequence 的执行时序是这样的:当sequence 的启动条件满足时即开始执行start.Initialization,一个周期后开始执行Processing,直到转移条件满足,转移满足后同时执行本步控制的Termination 和 下一步的 Initialization,持续一周期。执行完end 步后根据SFC chart的参数设置决定这个seq继续执行还是转入其他的sequence。

SFC chart 有多种状态,可以用sfc chart的状态作为sequence 的启动条件。例如在sequence的启动条件中加入 starting or aborting。这样当SFC chart 的状态转变为starting或者aborting时就会触发这个sequence。这样实现了有SFC 状态控制不同的顺控程序。当然sequence 可以设定优先级,当一个chart中的多个seq优先级相同时而且满足启动条件时,会执行最左边的sequence,其他的sequence等待执行。

 
以下网友喜欢您的帖子:

  
总坛主
西门子官方工程师

经验值: 23712
发帖数: 3792
精华帖: 8
回复:应用探讨——SFC 顺序控制——发帖整理


只看楼主 楼主 17楼 2012-05-15 14:37:52
quote:以下是引用君鸿在2012-04-28 13:09:37的发言:
SFC 执行时序:

SFC在执行时按照时序执行,即每一个扫描周期仅会执行SFC中的一步,当转移条件满足后才会开始执行下一步。



如图所示:在sequence的start步的初始,执行,终止对IN1,IN2,IN3置位
start到步3的转移条件为IN10
步 3 的初始,执行,终止对IN4,IN5,IN6置位
步3到end 步的转移条件为IN11
end 步的初始,执行,终止对IN7,IN8,IN9置位
IN12 为OB35 的执行脉冲。
左边时步转移的示意图。

 
以下网友喜欢您的帖子:

  
总坛主
西门子官方工程师

经验值: 23712
发帖数: 3792
精华帖: 8
回复:应用探讨——SFC 顺序控制——发帖整理


只看楼主 楼主 18楼 2012-05-15 14:38:03
quote:以下是引用君鸿在2012-04-28 14:13:34的发言:
SFC的OSL如图所示:



暂态,ing状态:在ing期间的seq执行完成后SFC chart会自动转变为其他状态, 状态2,4,5,7,9,10,12,13,15,
稳态,ed状态: SFC chart需要命令进行状态转换,状态1,3,6,8,11,14,15,

SFC有16中状态9 个控制命令,可以状态之间进行转变来实现对生产的管理。
举个例子:
1--在SFC chart中创建3个sequence,
2--3个sequence的启动条件分别为SFC的 starting,run,completing,
3--start 命令使 SFC 从 idle状态 转变为 starting 状态,此时启动条件为starting的sequence会执行,
4--starting的程序执行完成之后自动转入 run状态,此时启动条件为run的sequence会执行
5--run执行完成,如果selfcomp=1,则run状态完成后自动转入completing ,启动条件为completing的执行
6-- completing的执行完成后自动自动转入completed状态。

同样根据实际的工艺要求,可以在holding,abort状态下执行sequence处理相关的动作。
明确一点error状态不是SFC执行错误,而是工艺设计的,例如某些条件满足后让SFC进入error状态执行设定动作,同时hold状态也是SFC的状态,不是将工艺暂停。

 
以下网友喜欢您的帖子:

  
总坛主
西门子官方工程师

经验值: 23712
发帖数: 3792
精华帖: 8
回复:应用探讨——SFC 顺序控制——发帖整理


只看楼主 楼主 19楼 2012-05-15 14:38:09
quote:以下是引用纯属虚构在2012-04-29 15:03:58的发言:
SFC是解决顺控问题的一个工具。
使用SFC编程条理清晰,依照不同的转换条件逐步从一种状态转换成另一种状态。

 
以下网友喜欢您的帖子:

  
收起
应用探讨——SFC 顺序控制——发帖整理
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。