顺序功能流程图(
英语:Sequential function chart)简称SFC,是为
可编程逻辑控制器(PLC)开发的图形编程语言,是IEC_61131-3标准定义的五种语言之一。顺序功能流程图是以GRAFCET为基础,而后者又以
Petri网为基础。
顺序功能流程图语言是为了满足顺序逻辑控制而设计的编程语言。步、转换和动作是顺序功能图的三种主要元件。步是一种逻辑块,每一步代表一个控制功能任务,用方框表示;动作是控制任务的独立部分,每一步可以进一步划分为一些动作;转换是从一个任务到另一个任务的条件;编程时将顺序流程动作的过程分成步和转换条件,根据转移条件对控制系统的功能流程顺序进行分配,一步一步的按照顺序动作。
顺序功能流程图编程语言的特点为:以功能为主线,按照功能流程的顺序分配,条理清楚,便于对用户程序阅读及维护,大大减轻编程的工作量,缩短编程和调试时间,避免梯形图或其他语言不能顺序动作的缺陷,同时也避免了用梯形图语言对顺序动作编程时,由于机械互锁造成用户程序结构复杂、难以理解的缺陷,用户程序扫描时问也大大缩短。
目前,大多数的PLC仅将顺序功能图作为组织编程的工具使用,需要梯形图等其他编程语言将它转换成PLC可执行程序,因此,通常只是将它作为PLC的辅助编程工具,而不是一种独立的编程语言。
顺序功能流程图程序设计是近年来发展起来的一种程序设计。采用顺序功能流程图的描述,控制系统被分为若干个子系统,从功能人手,使系统的操作具有明确的含义,便于设计人员和操作人员设计思想的沟通,便于程序的分工设汁和检查调试。顺序功能流程图的主要元素是步、转换、转换条件和动作。顺序功能流程图程序设计的特点是:
①直接根据功能表图的原理设计PLC程序,编程主要通过CRT终端,直接使用
功能表图输入控制要求。这种PLC的工作原理已不像小型机那样,程序从头到尾循环扫描,而只扫描那些与当前状态有关的条件,从而大大减少了扫描时间,提高了PLC的运行速度。目前已有此类产品,如GE公司(美)、西门子公司(德)、Telemecanique公司(法)、富士FACOM公司(日)等,多数在大、中型PLC 上应用。
②用功能表图描述PLC所要完成的控制功能(即作为工艺说明语言使用),然后再据此利用具有一定规则的技巧画出梯形图。这种用法,因为有功能表图易学易懂、描述简单清楚、设计时间少等优点,已经成为用梯形图设计程序的一种前置手段,是当前PLC梯形图设计的主要方法,也是一种先进的设计方法。