UnitytrainingcourseV1.0-Module3.A:IECLanguageSFC1模块3.AIEC语言:SFCUnitytrainingcourseV1.0-Module3.A:IECLanguageSFC3什么是SFC?SFC:顺序功能图使用步和转换,运用图形方式来表示顺序控制系统每步是一个命令或者有效或无效的动作从一步到下一步的过程是通过转换的条件决定的IEC1131-3标准UnitytrainingcourseV1.0-Module3.A:IECLanguageSFC4SFC规则顺序程序包括:SFC段(最高级)动作段转换段SFC段只能在MAST任务中每个SFC段包括一个或多个SFC图一个SFC段有200行和32列一个SFC段可以包括1024步UnitytrainingcourseV1.0-Module3.A:IECLanguageSFC5步一个SFC段为“状态机器”;状态定义为有效步(在多重令牌环中最多为100步)正常步当步前面转换为真时,步激活当步后面为真时,变成无效每个步包括无,一个或多个动作初始步当应用初始化时,顺序的开始不包括任何动作在每个顺序链中必须定义一个初始步(图)在每一步属性中限定该步的动作可以定义每一步的监控和延时时间UnitytrainingcourseV1.0-Module3.A:IECLanguageSFC6宏程序步宏程序步用于调用宏步程序段宏步程序段在工具项目设定中必须激活输入步宏步程序段的第一步输入步自动产生不能删除或插入输出步宏步程序段的最后一步输出步自动产生不能删除或插入UnitytrainingcourseV1.0-Module3.A:IECLanguageSFC7转换对于每个转换,条件可以为:一个布尔变量一个转换程序段–转换条件可以用LD,FBD,ST或IL语言编辑–转换条件程序的结果赋值给布尔变量,该变量名称与转换自相同UnitytrainingcourseV1.0-Module3.A:IECLanguageSFC8跳转代表不在整个连接长度中的直接连接可以放在图中任何地方,但在转换之后一些跳转可以是同样目的UnitytrainingcourseV1.0-Module3.A:IECLanguageSFC9选择分支/接点选择分支(OR分支)动作选择分支与否是由选择分支前的转换条件的结果决定选择分支转换是从左至右进行处理的选择分支连接点(OR接点)不同序列顺序再次连接到一个分支上,再进行连续处理通常,步在连接点之后。并行分支可以在连接点之后UnitytrainingcourseV1.0-Module3.A:IECLanguageSFC10并行分支/接点并行分支/连接点同时处理分成几个序列(最多32)并行序列从左至右独立处理在一个并行分支前通常有一个转换并行接点(AND接点)将并行序列组合成一个分支当前些步已经设定好后,在并行接点后的转换将得出结果(并行序列同步)通常在一个并行分支后允许一个转换选择分支也可以在并行接点之后UnitytrainingcourseV1.0-Module3.A:IECLanguageSFC11序列建议减少对象创建结构序列简单序列–以步/转换开始带步并行序列包括–AND分支–分支–AND接点–最后转换带转换的选择序列包括–OR分支–分支–OR接点–最后步UnitytrainingcourseV1.0-Module3.A:IECLanguageSFC12连接直接将步和转换连接起来只有源和目的存在时,连接才有效步与步,转换与转换之间是不能直接连接的连接不能与其他对象(步,转换,跳转)重叠连接可以互相重叠或交叉连接包括正交段箭头指示连接从下到上UnitytrainingcourseV1.0-Module3.A:IECLanguageSFC13SFC编辑器基于Window多文档界面的非固定的编辑器打开图段或宏扩展部分,启动编辑器单元可以包括任何类型对象(线不指示步或转换)一个段包括200行和32列UnitytrainingcourseV1.0-Module3.A:IECLanguageSFC14SFC程序对象步宏步骤转换跳转选择分支/选择接点(OR分支/接点)并行分支/并行接点(AND分支/接点)连接注释简单序列以步/转换开始并行序列/选择序列UnitytrainingcourseV1.0-Module3.A:IECLanguageSFC15正常/扩展视图段扩展视图显示出步的动作列表在编辑器中可以应用于缩放功能扩展视图正常视图UnitytrainingcourseV1.0-Module3.A:IECLanguageSFC16步的命名步的命名--IEC标准步的名称自动产生并且可以编辑(自由命名)在整个项目中步的名称是唯一的步名长度为最多32个字符自动产生步名的结构如下:S_n_m(用于步)或MS_n_m(用于宏步)–S=步或MS(宏步)–n=段的编号(连续编号)–m=段内步的编号(连续编号)UnitytrainingcourseV1.0-Module3.A:IECLanguageSFC17步属性定义步属性步名称初始步属性管理时间和延时时间–文本形式(如10ms)–SFCSTEP_TIMES变量动作限定动作时间动作类型(变量,直接地址,段)注释UnitytrainingcourseV1.0-Module3.A:IECLanguageSFC18步时间延时时间最小管理时间最大管理时间最大管理时间步有效的最大时间如果在这个时间后步激活:–错误消息–步的颜色为紫红色(仿真模式)最小管理时间步有效的最小时间如果步在这个时间前变成无效:–错误消息–步的颜色为黄色(仿真模式)延时时间(步停留时间)步有效的最小时间UnitytrainingcourseV1.0-Module3.A:IECLanguageSFC19限制器定义与步相连的动作控制None/N:当步有效时,动作置位(1)R(Reset):当步有效时,动作复位(0)S(Set):当步无效时,动作设定并保持为1L(timeLimited):在步有效期间,动作置位D(Delayed):在步的有效周期内,动作在一段时间间隔后被置位,并保持为1P(Pulse):当步有效并且在一个程序周期内保持为1,动作置位DS(DelayedandSet):当步无效时,动作在一段延时时间之后保持为1.如果步在延时时间消失之前变成无效,动作不设定UnitytrainingcourseV1.0-Module3.A:IECLanguageSFC20限制器(续)定义与步相连的动作控制P1(脉冲,上升沿):当步有效时,动作设定为一个程序周期(0-1边沿)P0(脉冲,下降沿):当步有效时,动作设定为一个程序周期(1-0边沿)UnitytrainingcourseV1.0-Module3.A:IECLanguageSFC21转换属性定义转换属性反转条件(有效为0)转换条件类型(转换段或变量)注释布尔变量(如Valve_1)布尔值(0或1)布尔地址(%M,%I,...)UnitytrainingcourseV1.0-Module3.A:IECLanguageSFC22转换程序段在IL和ST语言中,程序包括了结果自动赋值给转换变量的逻辑表达式UnitytrainingcourseV1.0-Module3.A:IECLanguageSFC23转换程序段(续)在FBD中,程序包含了带连接转换变量输出的AND模块在LD中,程序包含了带连接转换变量线圈UnitytrainingcourseV1.0-Module3.A:IECLanguageSFC24跳转属性定义跳转属性跳转目标(步或宏步的名称)注释UnitytrainingcourseV1.0-Module3.A:IECLanguageSFC25分支/连接属性“句柄”调节长度的大小分支属性对话框输出管脚数量(对象大小)输入管脚位置连接属性对话框输入管脚数量(对象大小)输出管脚位置UnitytrainingcourseV1.0-Module3.A:IECLanguageSFC26SFC对象颜色当段仿真时,使用颜色来显示步的状态步–绿色:步激活–白色:步不激活–黄色:步时间小于最小管理时间–紫红色:步时间大于最大管理时间宏步骤–绿色(上部):宏步激活–绿色(上部和下部):宏的输出步激活–白色:宏步时间无效–黄色:宏步时间小于最小管理时间–紫红色:宏步时间大于最大管理时间UnitytrainingcourseV1.0-Module3.A:IECLanguageSFC27SFC对象颜色(续)当段仿真时,使用颜色来显示转换的状态转换连接至布尔变量或简单的布尔表达式绿色:布尔变量或表达式为TRUE红色:布尔变量或表达式为FALSE关联程序段的转换黑色:前一步无效绿色:段的条件为TRUE红色:段的条件为FALSEUnitytrainingcourseV1.0-Module3.A:IECLanguageSFC28单令牌动作只有一个初始步(1)除了并行分支,只有一步有效(每一分支一步)(2)如果前一步有效,转换被赋值(3)处理分支转换从左至右在选择分支中只有一个分支有效(4)对于并行分支,转换可以让几个步同时有效(最多32)(5)不可以跳入或跳出并行分支(1)(2)(3)(4)(5)UnitytrainingcourseV1.0-Module3.A:IECLanguageSFC29多令牌动作多个初始步(0至100)(1)宏步包含在初始步中多个步可以同时激活(2)如果前一步有效,可以赋值给转换(3)在选择分支,至少有一个分支有效对于并行分支,转换可以使得几个步同时激活可以跳入或跳出并行分支步可以从非-SFC段激活(SETSTEP模块)1223UnitytrainingcourseV1.0-Module3.A:IECLanguageSFC30流程图系统对象管理流程图的系统对象可以由EF/EFB替换PL7对象功能替换INIT(SFCCNTRLEFB)INITCHARTfunctionCLEAR(SFCCNTRLEFB)CLEARCHARTfunctionDISTRANS(SFCCNTRLEFB)FREEZECHARTfunction%S24Clearallmacro-stepsINIT(SFCCNTRLEFB)%SW22-25Macro-stepclearingINITCHARTfunction%S26%SW125-127%SW20NumberofactiveNoequivalent%SW21NumberofvalidNoequivalent%S21Clearallseps+setallinitialsteps%S22Clearallsteps%S23FreezeallstepsSequenceerrorEventviewerUnitytrainingcourseV1.0-Module3.A:IECLanguageSFC31源自Grafcet的新特点可以多个SFC段PRL/GRAPH/POST序列不存在.PRL和POST由非-SFC段替代多令牌环(多个步同时有效)初始步在宏段中步的设定和复位可以在整个段中(除了SFC动作和子程序段)(只在PRL,对于Grafcet)UnitytrainingcourseV1.0-Module3.A:IECLanguageSFC32在线修改在线模式下可以全部修改在线模式下可以创建SFC段SFC步可以被:添加修改属性和动作删除SFC转换可以被:添加修改类型和表达式删除