6ES7222-1HH32-0XB0西门子扩展模块6ES7222-1HH32-0XB0西门子扩展模块
S7-1200模块系列
CPU模块数字量 扩展代理商 扩展模块代理商 模拟量 扩展模块代理商
电能测量模块代理商 通信模块代理商
信号板 模块代理商 S7-1200存储卡代理商 扩展电缆代理商
西门子电池代理商
所谓“步进”,顾名思义,其实就是状态步的前进,即状态步的顺序执行,一步一步地往下走,直到整个顺序控制程序执行完毕)。
步进梯形图指令STL、RET
步进梯形图指令包含步进指令STL和步进返回指令RET,在同一SFC的梯形图中缺一不可,如图19-1所示为它们的梯形图形式。看到这种成对出现的指令,大家是不是觉得似曾相识?
其实在之前的文章中也出现过许多这种形影不离的指令对,如子程序调用指令(CALL、SRET)、循环指令(FOR、NEXT)等,但STL指令和RET指令和这些成对的指令有所不同,
图19-1
STL指令和RET指令均无驱动条件,STL指令的适用软元件为状态继电器S,如图19-1中的S20,表示S20状态步的开始,有多少个状态步就有多少个STL,而RET指令在一个梯步进形图只出现一次,而且是在步进梯形图的结尾,表示步进梯形图的结束。
所以,知道STL指令、RET指令与上文所提的子程序调用指令、循环指令等的区别了吗?简单来说,虽然STL、RET指令在同一SFC的梯形图中缺一不可,但STL指令可以多次出现,而RET指令只出现一次,如下图19-2所示。
图19-2
状态的转移指令SET、OUT
前面说到,有多少个状态步就有多少个STL,那状态步与状态步之间的转移条件与转移方向又是怎样实现的呢?
这就用到另外两个指令了,那就是SET指令和OUT指令。SET指令和OUT指令都具有同样的功能,就是自动复位上一个状态,同时激活下一个状态,但OUT指令是用于向分离的状态转移,至于什么是分离的状态,大家可以看上一篇的文章哦。
SET指令用于同一个SFC的梯形图中实现各个状态步之间的各种转移,如图19-3所示,其中STL与SET之间为状态步的命令与动作,如SLT S20与SET S30之间的省略号部分内容。
转移条件为X1的接通,转移方向为SET所带的状态继电器编号,如SET S30中的S30。
图19-3
上篇文章提到,转移条件不一定是单个触点,也可以是一段程序,显然,程序也被包含在省略号中了。
相关软元件
与SFC的梯形图有关的软元件包括状态继电器S和部分特殊辅助继电器M,下图19-4所示为相关状态继电器的编号与功能,这在上一篇文章也有提及。
图19-4
相关特殊辅助继电器编号与功能在编程手册的截图如下图1-5所示,各特殊继电器的含义也写得很详细了,所示我在这里也不再过多解释。
不过M8000和M8002不仅是在SFC的梯形图中被用到,在大多数梯形图中,它们的身影也是很常见的。
图19-5
看到这里,结合上篇文章,我相信大家对于SFC的梯形图也有了比较清晰的了解,图19-6就是一个简单的SFC的梯形图示例。
这里我就稍微考考大家好了,有哪位小可爱可以根据这个梯形图画出SFC吗?当然啦,画不出也没关系,因为在编程软件中,本就具有将梯形图转SFC或将SFC转梯形图的功能。
图19-6
咦?好像有什么不得了的东西混进来了!没错,就是在编程软件中,本来就可以直接编写SFC,然后让软件自动将SFC转换为梯形图。
,那在编程软件中怎么编写SFC图呢?
编程软件中的SFC图
首先,编程软件中怎么编写SFC图我在和就不详细讲解了,因为那是软件使用的问题,大家感兴趣的可以看对应课程,因为只是操作问题,相信大家看一遍也就会了。我在这里就针对几点重点内容简单讲一下即可。
图19-6所示为SFC的梯形图的示例,其中开头部分为初始化梯形图块,在SFC编程模式下直接独立为一块,因为它的编写跟普通梯形图一样,如下图19-7所示。
图19-7
图19-6中的STL S0 直至RET之间的梯形图,在SFC编程模式下就以SFC块的形式编写,一个状态步为一个SFC块,例如S0状态步中的程序段正如下图19-8所示。
图19-8
转移条件虽然可以是程序段,但其在SFC图中用短横线表示的部分编写基本是单个触点或几个触点的串并联组合,如下图19-9所示,用于驱动转移指令TRAN。
图19-9
显然,在SFC编程模式下,没有用到STL指令和RET指,而且结构清晰明了,各个状态步独立编写,非常有利于我们对顺控程序进行设计和分析。
温馨提示:如果你没有用过编程软件是尝试编写一下,那么这部分的内容,你可能会完全看不懂哟。所以,大家非常有必要装一个软件玩一玩。
步进梯形图中的相关注意事项
(1)输出驱动的保持性
当状态步内有驱动输出时,一旦状态发生转移,该驱动输出就会随着其状态步的复位而被复位。除非它用SET指令进行保持,在此情况下,即使所处状态已经复位,该驱动输出仍保持为ON。
如下图19-10所示,S20状态向S30状态转移时,Y0被复位为OFF,而Y1保持为ON。
图19-10
(2)双线圈输出的处理
在普通梯形图中,同一输出继电器线圈不能重复使用,但在SFC中却可以,只要该输出继电器线圈处在不同状态步中即可,但不建议使用重复线圈编程。
另外,对定时继电器也可以使用重复编号,但在两个状态步之间的转移时间为一个扫描周期,在该扫描周期内这两个状态步同时处于激活状态。所以,同一编号的定时继电器不能出现在相邻状态步中,如下图19-11所示。
图19-11
(3)输出驱动的互锁
由于在状态转移的一个扫描周期内,两个状态同时处于激活状态,所以对某些不能同时接通的输出驱动,有必要设置互锁环节,如下图19-12所示,两个状态步中的Y1与Y2互锁。
图19-12
(4)状态内指令的应用
对于无触点的驱动输出应先编写,如下图19-13所示,Y0、Y1均无触点驱动,应放在前面先编写。
另外,在每一个STL指令与SET指令之间的程序段,只有首行与左母线相连,对应在SFC编程模式下的每个状态步内,也是只有首行与左母线相连。
图19-13
说到这个首行与左母线相连的问题,我在听课的时候听到这个,就赶紧用编程软件试了一下。
说到步进指令,就不得不提那个非常典型的案例了,就是电动机的顺序启动和逆序停下案例。如有4台电动机,按下启动按钮,按每隔3秒时间顺序启动;按下停止按钮,按每隔4秒时间逆序停止,其梯形图如下图19-14所示。
6ES7222-1HH32-0XB0西门子扩展模块6ES7222-1HH32-0XB0西门子扩展模块西门子电缆代理商西门子网线代理商西门子内存卡代理商西门子软件代理商西门子电机代理商西门子触摸屏代理商西门子交换机代理商西门子电源模块代理商