SCR-顺序控制指令
- 格式:doc
- 大小:23.50 KB
- 文档页数:4
课题实训六、循环指令、跳转指令、顺控继电器(SCR)指令应用6课时教学要求知识目标能力目标情感目标教材分析重点难点教具与设备教法教授法、演示法、实验法板书设计教学内容复习:定时器有哪些?增减计数器指令的应用?字、字节、双数、实数是什么?新课教学:(一)循环指令基本知识1.循环指令格式及功能西门子S7-200 PLC循环制指令用于控制一段程序的重复执行。
它是由FOR和NEXT两部分指令构成循环体系。
FOR/NEXT必须成对使用。
循环其格式及功能如下表。
梯形图参数功能 指令功能EN 使能位 当EN 使能有效时,自动将各参数复位,循环体开始执行,执行到NEXT 指令时返回。
每执行一次循环体,当前计数器INDX 增1,达到终值FINAL ,循环结束。
INDX 当前循环次数 INIT 初始值 FINAL 终止值 ENO 电流输出循环返回,循环体结束指令FOR 和NEXT 指令可以描述需重复进行一定次数的循环体。
每条FOR 指令必须对应一条NEXT 指令。
FOR 和NEXT 指令执行FOR 指令和NEXT 指令之间的指令。
必须指定计数值或者当前循环次数INDX 、初始值(INIT )和终止值(FINAL )。
如果允许FOR/NEXT 循环,除非在循环内部修改了终值,循环体就一直循环执行直到循环结束。
当FOR/NEXT 循环执行的过程中可以修改这些值。
当循环再次允许时,它把初始值拷贝到INDX 中(当前循环次数)。
如果初值大于终值,那么循环体不被执行。
每执行一次循环体,当前计数值增加1,并且将其结果同终值作比较,如果大于终值,那么终止循环2. FOR-NEXT 指令的有效操作数输入/输出 数据类型 操作数INDXINTIW 、QW 、VW 、MW 、SMW 、SW 、T 、C 、LW 、AC 、*VD 、*LD 、*AC INIT 、FINAL INTVW 、IW 、QW 、MW 、SMW 、SW 、T 、C 、LW 、AC 、AIW 、*VD 、*AC 、常数3. 循环指令应用示例网络1当输入I0.0为“1”时执行循环,INDX 从1开始计数。
SCR-顺序控制指令SCR-顺序控制指令顺序控制(SCR)指令对于通常的应用来说,一般不使用顺序控制指令编程。
顺控指令一般用在需要控制的动作具有明确的步骤顺序,并且周而复始地循环的场合。
顺控指令程序可以作功能块(子程序)包含在整个程序中,与其他非顺控控制程序共存。
普通的PLC程序是从头到尾不断扫描执行的。
SCR指令的关键是“步”和“转换”,当转换的条件不满足时会一直保持在当前的步中。
“转换”就是从一个步,进入另一个步。
在一个步的状态中,程序也不是按普通程序运行的模式进行局部的“循环扫描”。
详细情况请参考《S7-200系统手册》。
SCR指令SCR指令的每一个步的结构,总是以LSCR指令开始,以SCRE结束,SCRT(步转换指令)及其发生的条件在这两者之间。
下面是一个例子:Network 1LD SM0.1S S0.1, 1 //程序运行开始时,进入第一步Network 2 LSCR S0.1 //装载SCR指令,SCR结构开始Network 3 LD SM0.0S Q0.0, 1 //置位Q0.0Network 4LD I1.0 //I1.0为“1"时,SCRT S0.2 //转换到下一步Network 5SCRE //步结束Network 6LSCR S0.2Network 7LD SM0.0R Q0.0, 1Network 8LD I1.1SCRT S0.3Network 9SCRENetwork 10 LSCR S0.3Network 11 LD SM0.0S Q0.0, 1Network 12 LD I1.2SCRT S0.4 Network 13 SCRENetwork 14LSCR S0.4Network 15LD SM0.0R Q0.0, 1Network 16LD I1.3SCRT S0.1 //回到第一步Network 17SCRE常问问题是否可以在不同的步中使用同一个开关量输出点?为何出现不合逻辑的现象?可以在不同的步中对同一个输出点进行操作。
22 使用SCR指令的顺控设计法
分三组,每组2-3人
使用SCR指令的顺序控制梯形图设计方法
顺序控制继电器(SCR)指令是基于SFC的编程方式,使用顺序控制继电器(S0.0~S31.7),依据被控对象的顺序功能图进行编程,将逻辑程序划分为LSCR与SCRE 之间的若干个SCR段,一个SCR程序段对应顺序功能图中的一个程序步,从而实现顺序控制。
顺序控制继电器装载(LSCR n)指令表示一个顺序控制继电器(SCR)程序段的开始。
顺序控制继电器为ON时,执行对应的SCR段中的程序,反之则不执行。
LSCR指令中指定的顺序控制继电器S被放入SCR堆栈和逻辑堆栈栈顶,SCR堆栈的值决定该SCR程序段是否执行,当SCR程序段的S位置位时,允许该程序段工作。
顺序控制继电器转换(SCRT)指令表示SCR程序段之间的转换,SCRT指令有两个功能:一是使当前激活的SCR程序段的S位复位,使该程序段停止工作;二是使下一个将要执行的SCR程序段S位置位,以便下一个SCR程序段工作。
顺序控制继电器结束(SCRE)指令表示SCR程序段的结束,它使程序退出一个激活的SCR程序段,SCR程序段必须由SCRE指令结束。
顺序功能图与梯形图
选择序列与并行序列的顺序功能图和梯形图
硫化机控制的顺序功能图与梯形图。
顺序控制编程存在顺序控制的情况下,可以采用顺控指令(SCR SCRT SCRE),但由于顺控指令有时过于繁琐,所以有时候可以采用其他的顺控指令,例如置位、复位指令或者是MOV指令,现在总的来看,顺控指令和MOV 、S R指令都是比较好的,在不同的场合都有各自和好处。
在使用过去的顺控指令(SCR SCRT SCRE),(SCR SCRT SCRE)指令具有互锁性,也就是说,在执行一步的过程中,其上几步是不执行的,这给我们使用MOV或置位、复位指令有所启示,只能执行n步,其他的不能执行,那么就采用中间变量,第n步使用时,把n-1步复位掉,同时在满足n+1步的条件的其中一个条件,当n+1步的条件满足后,执行n+2步。
一、顺控(SCR SCRT SCRE)程序编写注意:(1)在使用顺控指令(SCR SCRT SCRE)时,如果使用的是线圈输出,要注意的是,线圈的输出只在这一步输出,如果跳到n+1步后,线圈失电,如果保证在几步之间线圈有输出的话,就是用置位和复位指令;(2)如果最有一步没有回到起始步,程序只能使用一次;(3)如果在一个项目中有同一个线圈但多次输出,就是用中间变量(如M V);二、S R顺序控制程序编写注意:(1)在格式上比较简单,值得注意的是在使用的时候要注意计算机是如何进行程序的扫描,这一点很重要,如果在使用S R指令时,没有注意到这一点,则顺序控制是很难完成的;(2)针对于上面的MOV指令,用于线圈的输出,使用根据自己的情况,MOV指令的处理最小的是一个字节,其次为字、双字等,但一般采用一个字节比较好,因为它可以同时控制8位,在输入端IN可以输入十进制(最大为255),对于二进制可以输入2#11101111,这里的1代表所对应的位置1,0代表复位;(3)S R指令,需要有良好的判断性,长程序不建议使用S R指令输出,因为过于繁碎,且难以检查。
5.6顺序控制指令5.6顺序控制指令5.6.1顺序控制指令S7-200 PLC提供了三条顺序控制指令,其指令的格式、功能及操作数形式为如表5-所示。
表5- 顺序控制指令1.顺序步开始指令(LSCR)顺序控制继电器位有效时,激活所在的SCR段,该程序步执行。
2.顺序步转移指令(SCRT)该指令操作数bit置位激活下一个SCR段的状态,使下一个SCR 段开始工作,同时使该指令所在段停止工作,状态器复位。
3.顺序步结束指令(SCRE)SCRE为顺序步结束指令,为一个状态的结束。
顺序步的处理程序在LSCR和SCRE之间。
5.6.2功能流程图功能流程图也叫做状态转移图,简称流程图。
它使用图解方式描述顺序控制程序,属于一种功能说明性语言。
状态转移图主要由“状态块”、“转移条件”和“连接线段”等要素构成。
合理运用各元素,就可得到顺序控制程序的静态表示图,再根据图形编辑为顺序控制程序即可。
1.状态块每一个状态块相对独立,拥有自己的编号或代码,表示顺序控制程序中的每一个SCR段(顺序控制继电器段)。
状态转移图往往以一个横线表示开始,下面就是一个个的状态块连接。
每一个状态块在控制系统中都具有一定的动作和功能,在画状态转移图时也要表示出来。
一般在状态块的右端用线段连接一方框,描述该段内的动作和功能。
如图7.82所示。
图5- 状态块的表示2.工作状态工作状态是控制系统正常运行时的状态,根据系统的运行状态可分为动态和静态两种。
动态是当前正在运行的状态,静态是没有运行的状态。
3.转移条件转移条件是从一个状态到另一个状态的变化条件,用两个状态之间的有向线段表示。
4.功能图的构成规则①状态与状态不能相连,必须用转移分开;②转移与转移不能相连,必须用状态分开;③状态与转移、转移与状态之间的连接采用有向线段,从上向下画时,可以省略箭头;当有向线段从下向上画时,必须画上箭头,以表示方向。
④一个功能图至少要有一个初始状态。
⑤在使用功能图时,状态器的编号可以不按顺序编排。
S7-200PLC如何使用SCR指令S7-200PLC中的顺序控制继电器(SCR)指令专门用于编制顺序控制程序。
顺序控制程序被分为LSCR与SCRE指令之间的若干个SCR 段,一个SCR段对应于顺序功能图中的一步。
一个SCR程序段一般有以下三种功能:1)驱动处理:在该段状态有效时,要做什么工作,有时也可能不做任何工作。
2)指定转移条件和目标:满足什么条件后状态转移到何处。
3)转移源自动复位功能:状态发生转移后,置位下一个状态的同时,自动复位原状态。
S7-200PLC提供了三条顺序控制指令:装载SCR(LSCR)指令、SCR传输(SCRT)指令和SCR结束(SCRE)指令。
SCR指令的LAD及STL指令格式如图8-27所示。
SCR指令的有效操作数见表8-2。
SCR指令的操作如下:1)装载SCR(LSCR,LoadSCR)指令用来表示一个SCR段(即顺序功能图中的步)的开始。
指令中的操作数Smdash;Bit为顺序控制继电器S(BOOL型)的地址,顺序控制继电器S为1状态时,执行对应的SCR段中的程序,反之则不执行。
2)SCR传输(SCRT,SCRTransition)指令将程序控制权从一个激活的SCR段传递到另一个SCR段,即步的活动状态的转换。
执行SCRT指令,当SCRT线圈得电时,SCRT指令中指定的顺序功能图中的后续步对应的顺序控制继电器S位置位(变为1状态),同时当前活动步对应的顺序控制继电器S位被系统程序复位(变为0状态),当前步变为不活动步。
在SCRT指令执行时,复位当前激活的程序段的S位并不会影响S堆栈。
SCR段会一直保持能流直到退出。
3)SCR结束(SCRE,SCREND)指令标志着SCR段的结束。
在LSCR指令与SCRE指令之间的所有逻辑操作的执行取决于S堆栈的值。
而在SCRE指令和下一条LSCR指令之间的逻辑操作则不依赖于S堆栈的值。
还有一条SCR结束指令为SCR条件结束(CSCRE)指令,它可以使程序退出一个激活的程序段而不执行CSCRE与SCRE之间的指令。
顺序控制指令应用举例例一:选择和循环电路举例1.题目:下图为一台分检大小球的机械臂装置。
它的工作过程是:当机械臂处于原始位置时,即上限开关LS1和左限位开关LS3压下,抓球电磁铁处于失电状态。
这时按动启动按钮SB1后,机械臂下行,碰到下限位开关LS2后停止下行,且电磁铁得电吸球。
如果吸住的是小球,则大小球检测开关SQ为ON;如果吸住的是大球,则SQ为OFF。
1秒钟后,机械臂上行,碰到上限位开关LS1后右行,它会根据大小球的不同,分别在LS4(小球)和LS5(大球)处停止右行,然后下行至下限位停止,电磁铁失电,机械臂把球放在小球箱里,1秒钟后返回。
如果不按停止按钮SB2,则机械臂一直工作下去。
如果按了停止按钮,则不管何时按,机械臂最终都要停止在原始位置。
再次按动启动按钮,系统可以再次从头开始循环工作。
2.解题(1)输入输出点地址分配输入点:启动按钮SB1:I0.0 输出点:原始位置指示灯HL: Q0.0 停止按钮SB2: I0.1 抓球电磁铁K: Q0.1上限位开关LS1: I0.2 下行接触器KM1: Q0.2下限位开关LS2: I0.3 上行接触器KM2: Q0.3左限位开关LS3: I0.4 右行接触器KM3: Q0.4小球右限位开关LS4: I0.5 左行接触器KM4: Q0.5大球右限位开关LS5: I0.6大小球检测开关SQ: I0.7(2)系统功能如下图所示3.简要说明⑴由于大小球的不同,所以使用了分支选择电路,使机械臂能够在右行后在不同的位置下行,把大小球分别放进各自的箱子里去。
⑵在机械手上、下、左、右行走的控制中,加上了一个软件联锁触点,替代了SM0.0。
⑶上图中的M0.0是一个选择逻辑,其功能相当于一个开关,控制着系统是进行单周期操作还是循环操作。
⑷S7-200PLC的顺控指令不支持直接输出的双线圈操作为解决这个问题,可用中间继电器逻辑过渡一下。
SCR-顺序控制指令
顺序控制(SCR)指令
对于通常的应用来说,一般不使用顺序控制指令编程。
顺控指令一般用在需要控制的动作具有明确的步骤顺序,并且周而复始地循环的场合。
顺控指令程序可以作功能块(子程序)包含在整个程序中,与其他非顺控控制程序共存。
普通的PLC程序是从头到尾不断扫描执行的。
SCR指令的关键是“步”和“转换”,当转换的条件不满足时会一直保持在当前的步中。
“转换”就是从一个步,进入另一个步。
在一个步的状态中,程序也不是按普通程序运行的模式进行局部的“循环扫描”。
详细情况请参考《S7-200系统手册》。
SCR指令
SCR指令的每一个步的结构,总是以LSCR指令开始,以SCRE结束,SCRT(步转换指令)及其发生的条件在这两者之间。
下面是一个例子:
Network 1LD SM0.1
S S0.1, 1 //程序运行开始时,进入第一步Network 2 LSCR S0.1 //装载SCR指令,SCR结构开始Network 3 LD SM0.0
S Q0.0, 1 //置位Q0.0Network 4
LD I1.0 //I1.0为“1"时,
SCRT S0.2 //转换到下一步Network 5
SCRE //步结束Network 6
LSCR S0.2Network 7
LD SM0.0
R Q0.0, 1Network 8
LD I1.1
SCRT S0.3Network 9
SCRENetwork 10 LSCR S0.3Network 11 LD SM0.0
S Q0.0, 1Network 12 LD I1.2
SCRT S0.4 Network 13 SCRENetwork 14
LSCR S0.4
Network 15
LD SM0.0
R Q0.0, 1
Network 16
LD I1.3
SCRT S0.1 //回到第一步
Network 17
SCRE
常问问题
是否可以在不同的步中使用同一个开关量输出点?为何出现不合逻辑的现象?可以在不同的步中对同一个输出点进
行操作。
这些逻辑运算不应使用普通编程时的实时状态计算规则,应使用S(置位)和R(复位)指令对输出点操作;或者使用中间状态继电器过渡,最后再综合逻辑,一起输出。
顺控程序停止调用后,整个步进逻辑如何变化,恢复调用后如何表现?
参见:顺控指令停止和恢复实例。