第三章 步进SCR指令实例分析(S7-200系列PLC)
- 格式:pdf
- 大小:1.79 MB
- 文档页数:38
课题实训六、循环指令、跳转指令、顺控继电器(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常问问题是否可以在不同的步中使用同一个开关量输出点?为何出现不合逻辑的现象?可以在不同的步中对同一个输出点进行操作。
精心整理数据处理、运算指令及应用本章要点✍数据传送、字节交换、字节立即读写、移位、转换指令的介绍、应用及实训 ✍算术运算、逻辑运算、递增/递减指令的介绍、应用及实训✍表的定义、填表指令、表取数指令、填充指令、表查找指令的介绍 5.1数据处理指令 5.1.1数据传送指令5-1所示。
使ENO=0即使能输出断开的错误条件是:SM4.3(运行时间),0006(间接寻址错误)。
【例5-1】将变量存储器VW10中内容送到VW100图2.字节、字、双字、实数数据块传送指令BLKMOV数据块传送指令将从输入地址IN 开始的N 个数据传送到输出地址OUT 开始的N 个单元中,N 的范围为1至255,N 的数据类型为:字节。
指令格式及功能如表5-2所示。
表5-2数据传送指令BLKMOV 指令格式使ENO=0的错误条件:0006(间接寻址错误)0091(操作数超出范围)。
【例5-2】程序举例:将变量存储器VB20开始的4个字节(VB20-VB23)中的数据,移至图VB100~ 表指令执行之后VW50中的字为:C3D62.字节立即读写指令字节立即读指令(MOV-BIR )读取实际输入端IN 给出的1个字节的数值,并将结果写入OUT 所指定的存储单元,但输入映像寄存器未更新。
字节立即写指令从输入IN 所指定的存储单元中读取1个字节的数值并写入(以字节为单位)实际输出OUT 端的物理输出点,同时刷新对应的输出映像寄存器。
指令格式及功能如表5-4所示。
表指令无法存取扩展模块。
5.1.3移位指令及应用举例移位指令分为左、右移位和循环左、右移位及寄存器移位指令三大类。
前两类移位指令按移位位。
0),0,零标STLIN和中的数所指如:OUTN右移与溢出标志SM1.1连接,SM1.1用来存放被移出的位。
指令格式见表5-6。
(1)循环左移位指令(ROL)使能输入有效时,将IN输入无符号数(字节、字或双字)循环左移N位后,将结果输出到OUT所指定的存储单元中,移出的最后一位的数值送溢出标志位SM1.1。
【跟着我一起来学习s7-200】31程序控制指令昨天学习了程序控制指令里面的循环指令和跳转指令,那么今天就学习一下剩下的其他指令。
首先我们看一下顺序控制指令,顺序控制指令可以使程序按照顺序执行,顺序控制指令有SCR、SCRT和SCRE,我们要注意的是SCR 指令和SCRE指令是配套使用的。
SCR指令的作用是将n 引用的S位数值载入SCR,即标记SCR段的开始。
SCRT 指令的作用是识别要启用的SCR位,即是下一个要设置的n 位。
SCRE指令的作用是标记SCR段的结束。
我们要注意一下使用SCR的限制,第一,不能把相同的S位用于不同的程序中,举个例子,如果在主程序中使用了S0.0,则不能在子程序中再使用它;第二,不能在SCR段中使用JMP和LBL指令,也不允许在SCR段内跳转,但是可以使用跳转和标签指令在SCR段周围跳转。
SCR段之间的跳转,可以使用SCRT或者置位/复位指令;第三,不能在SCR段中使用'END'指令。
下面就看一下顺序控制指令的使用的程序例子。
这里的SCRT指令就是跳转,它是跳到S0.1的,也就是置位S0.1并复位S0.0。
2014-9-26 09:25 上传下载附件(13.13 KB) 2014-9-26 09:26 上传下载附件(20.13 KB) 下面再学习一下看门狗复位WDR指令,WDR指令重新触发S7-200 CPU的看门狗定时器,扩展扫描允许使用的时间,而不会出现看门狗错误。
我们在使用看门狗复位指令时应当小心,如果使用循环指令阻止扫描完成,那么像I/O更新、通讯等程序只有在扫描周期完成后才能执行。
如果对程序预计扫描时间将超过500毫秒,可能阻止返回主扫描超过500毫秒,这时就应当使用WDR指令,重新触发看门狗定时器。
以下程序就是使用了看门狗复位的例子。
2014-9-26 09:26 上传下载附件(24.57 KB) 下面看一下子程序返回RET指令,RET指令是根据前一个逻辑终止子程序,并返回主程序的。
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之间的指令。