前言:提到PLC编程语言,势必想到的就是IEC 61131-3,它是国际电工委员会(IEC)发布的针对可编程逻辑控制PLC的编程语言标准。其定义了五种编程语言,包括梯形图LD(Ladder Diagram)、功能块图FBD(Function Block Diagram)、结构化文本ST(Structured Text)、顺序功能图SFC(Sequntial Function Chart)和指令表IL(Instruction List)。罗克韦尔AB LOGIX 5000控制器编程软件Studio 5000提供前四种编程语言,工作室在之前的文章有分享过LD、FBD、ST编程方法,此次补充上SFC编程,集齐四大护法。
01 软件环境
1. 操作系统
Windows 10 专业版 64位
2. 编程软件
Studio 5000 V33.01.00中文版
3.仿真软件
FactoryTalk Logix EchoV2.01.00
4.上位机软件
FactoryTalk View Studio V12.00.00
02 SFC概述
1. 创建基于SFC编程语言的例程:打开Studio 5000软件,创建项目,新建一个程序,命名为SFC_Program,在其上面右键,添加一个例程,名称为SR01_FCX,类型选择Sequential Function Chart,详细操作步骤参考下图.
2. 双击打开创建好的例程SR01_FCX,进入到SFC编程环境,上边以ABCD等字母编号,称其列;左侧以12345等阿拉伯数字编号,称其行,该界面和FBD非常相似。由行列组成的单位格主要用于标注SFC元素所在的位置,方便识别,与Eplan图纸设计有异曲同工之妙.
3.在编程环境的上方,是SFC元素,包括步骤、转变、非布尔执行、布尔执行、停止、文本等,在后面的视频中将实操演示.
4. 工业生产过程往往从逻辑上划分为多个步骤,当满足某种条件时,生产过程就从一个步骤跳转到另一个步骤,这些步骤便构成了生产工艺,比如水处理砂滤反冲洗过程主要为:正常过滤->气洗->气水混洗->水洗等,这种顺序执行的生产工艺特别适合使用SFC顺序功能图编程实现.
5.如上图①②③④⑤所示,SFC顺序功能图是由不同元素组成的,下图列出了主要元素的名称和功能作用.
6. 对于Step(步骤),它是SFC流程的一个主要功能,包含在特定的时间、阶段或工作站发生的操作,为了对步骤进行监控,Studio 5000为步骤规划了数据存储区,其据类型为SFC_STEP,编程时为了提供可读性,可自行为步骤标签命名。下图所示,包括步骤各个成员的名称、注释、数据类型等.
7. SFC另外一个重要的元素就是Action(执行或动作),数据类型为SFC_ACTION,当步骤激活且条件满足时,动作就执行预设好的程序,相当于输出控制,编程语言使用ST结构化文本。如下图所示,包括动作各个成员的名称、注释、数据类型等.
8. SFC流程结束时,需要使用Stop(停止)元素,数据类型为SFC_STOP,其目的是为了SFC停止并等待命令重启启动。如下图所示,包括停止各个成员的名称、注释、数据类型等.
9.Qualifer,限定符,用于确定Action(动作)何时开始和停止,下图列出了动作的多种规划方式,根据实际情况,选择相应的限定符,就可以实现想要的效果.
03 SFC编程
1. 为了更好讲解SFC编程,本文设定一个应用场景,水处理滤池反冲洗工艺,为了减少录制视频时间,这里精简了工艺流程,实际项目中以具体工艺要求为准。本文场景主要设备有:水泵1台,风机1台,进水阀1台、出水阀1台,排污阀1台,液位计1个;工艺逻辑流程:正常过滤->等待反洗->反洗准备->气水混洗->反洗结束.
2. 正如前文所述,滤池反冲洗工艺逻辑流程属于顺序控制,使用SFC编程不仅效率更高,对流程的监控更顺畅,下图为本文应用场景SFC编程的部分代码.