水电电工知识
电工知识|西门子PLC程序控制指令
2016-03-26  浏览:49
水电之家讯:程序控制类指令使程序结构灵活,合理使用该指令可以优化程序结构,增强程序功能。这类指令主要包括:结束、停止、看门狗、跳转、子程序、循环和顺序控制等指令。1、结束指令END 结束指令分为有条件结束指令(END)和无条件结束指令(MEND)。两条指令在梯形图中以线圈形式编程。指令不含操作数。执行结束指令后,系统终止当前扫描周期,返回主程序起点。使用说明: (1)结束指令只能用在主程序中,不能在子程序和中断程序中使用。而有条件结束指令可用在无条件结束指令前结束主程序。 (2)在调试程序时,在程序的适当位置置入无条件结束指令可实现程序的分段调试。 (3)可以利用程序执行的结果状态、系统状态或外部设置切换条件来调用有条件结束指令,使程序结束。 (4)使用Micro/Win32编程时,编程人员不需手工输入无条件结束指令,该软件会自动在内部加上一条无条件结束指令到主程序的结尾。2、停止指令STOP STOP指令有效时,可以使主机CPU的工作方式由RUN切换到STOP,从而立即中止用户程序的执行。STOP指令在梯形图中以线圈形式编程。指令不含操作数。 STOP指令可以用在主程序、子程序和中断程序中。如果在中断程序中执行STOP指令,则中断处理立即中止,并忽略所有挂起的中断。继续扫描程序的剩余部分,在本次扫描周期结束后,完成将主机从RUN到STOP的切换。 STOP和END指令通常在程序中用来对突发紧急事件进行处理,以避免实际生产中的意外损失。3、看门狗复位指令WDR(Watchdog Reset) WDR称为看门狗复位指令,也称为警戒时钟刷新指令。它可以把警戒时钟刷新,即延长扫描周期,从而有效地避免看门狗超时错误。WDR指令在梯形图中以线圈形式编程,无操作数。 使用WDR指令时要特别小心,如果因为使用WRD指令而使扫描时间拖得过长(如在循 环结构中使用WDR),那么在中止本次扫描前,下列操作过程将被禁止: (1)通讯(自由口除外); (2)I/O刷新(直接I/O除外); (3)强制刷新; (4)SM位刷新(SM0、SM5一SM29的位不能被刷新); (5)运行时间诊断; (6)扫描时间超过25 s时,使10 ms和100 ms定时器不能正确计时; (7)中断程序中的STOP指令。 注意:如果希望扫描周期超过300ms,或者希望中断时间超过300ms,则最好用WDR指令来重新触发看门狗定时器。结束指令、停止指令和WDR指令的用法如图1所示。图1 结束、停止及看门狗指令4、跳转及标号指令 跳转指令可以使plc编程的灵活性大大提高,可根据对不同条件的判断,选择不同的程序段执行程序。 跳转指令JMP(Jump to Label):当输入端有效时,使程序跳转到标号处执行。 标号指令LBL(Label):指令跳转的目标标号。操作数n为0—255。 使用说明: (1)跳转指令和标号指令必须配合使用,而且只能使用在同一程序段中,如主程序、同一个子程序或同一个中断程序。不能在不同的程序段中互相跳转。 (2)执行跳转后,被跳过程序段中的各元器件的状态: ①Q、M、S、C等元器件的位保持跳转前的状态; ②计数器C停止计数,当前值存储器保持跳转前的计数值; ③对定时器来说,因刷新方式不同而工作状态不同。在跳转期间,分辩率为1 ms和10 ms的定时器会一直保持跳转前的工作状态,原来工作的继续工作,到设定值后其位的状态也会改变,输出触点动作,其当前值存储器一直累计到最大值32 767才停止。对分辨率为100 ms的定时器来说,跳转期间停止工作,但不会复位,存储器里的值为跳转时的值,跳转结束后,若输入条件允许,可继续计时,但已失去了准确计时的意义。所以在跳转段里的定时器要慎用。跳转指令的使用方法如图2所示。图2 跳转指令5、循环指令(FOR和NEXT) 循环指令的引入为解决重复执行相同功能的程序段提供了极大方便,并且优化了程序结构。循环指令有两条:循环开始指令FOR,用来标记循环体的开始,用指令盒表示。循环结束指令NEXT,用来标记循环体的结束。无操作数。 FOR和NEXT之间的程序段称为循环体,每执行一次循环体,当前计数值增1,并且将其结果同终值作比较,如果大于终值,则终止循环。 循环开始指令盒中有三个数据输入端:当前循环计数INDX(index value or current loop count)、循环初值INIT(starting value)和循环终值FINAL(ending value)。在使用时必须给FOR指令指定当前循环计数(INDX)、初值(INIT)和终值(FINAL)。 INDX操作数:VW、IW、QW、MW、SW、SMW、LW、T、c、AC、*VD、*AC和*CD;属INT型。 INIT和FINAI。操作数:VW、IW、QW、MW、SW、SMW、LW、T、C、AC、常数、*VD、* AC和*CD;属INT型。 循环指令使用如图3所示。当I1.0接通时,表示为A的外层循环执行100次。当I1.1接通时,表示为B的内层循环执行2次。使用说明: (1)FOR、NEXT指令必须成对使用。 (2)FOR和NEXT可以循环嵌套,嵌套最多为8层,但各个嵌套之间不可有交叉现象。 (3)每次使能输入(EN)重新有效时,指令将自动复位各参数。 (4)初值大于终值时,循环体不被执行。图4 循环指令子程序 子程序在结构化程序设计中是一种方便有效的工具。S7—200 PLC的指令系统具有简单、方便、灵活的子程序调用功能。与子程序有关的操作有:建立子程序、子程序的调用和返回。 (1)建立子程序 建立子程序是通过编程软件来完成的。可用编程软件“编辑”菜单中的“插入”选项,选择“子程序”,以建立或插入一个新的子程序,同时,在指令树窗口可以看到新建的子程序图标,默认的程序名是SBR_N,编号N从0开始按递增顺序生成,也可以在图标上直接更改子程序的程序名,把它变为更能描述该子程序功能的名字。在指令树窗口双击子程序的图标就可进入子程序,并对它进行编辑。 (2)子程序调用指令CALL和子程序条件返回指令CRET 在子程序调用指令CALL使能输入有效时,主程序把程序控制权交给子程序。子程序的调用可以带参数,可以不带参数。它在梯形图中以指令盒的形式编程。 在子程序条件返回指令CRET使能输入有效时,结束子程序的执行,返回主程序中(此子程序调用的下一条指令)。梯形图中以线圈的形式编程,指令不带参数。 (3)应用举例 图7.37所示的程序实现用外部控制条件分别调用两个子程序。使用说明: ①CRET多用于子程序的内部,由判断条件决定是否结束子程序调用,RET用于子程序的结束。用Micro/Win32编程时,编程人员不需要手工输入RET指令,而是由软件自动加在每个子程序结尾。 ②子程序嵌套 如果在子程序的内部又对另一子程序执行调用指令,则这种调用称为子程序的嵌套。子程序的嵌套深度最多为8级。 ③当一个子程序被调用时,系统自动保存当前的堆栈数据,并把栈顶置1,堆栈中的其他值为o,子程序占有控制权。子程序执行结束,通过返回指令自动恢复原来的逻辑堆栈值,调用程序又重新取得控制权。 ④累加器可在调用程序和被调用子程序之间自由传递,所以累加器的值在子程序调用时既不保存也不恢复。图7.38 子程序调用指令水电之家为您提供最全面的管材,管件,水电,电线,电工,管材水电品牌的装修知识点和各种管材水电的导购与在线购买服务,拥有最便宜的管材水电价格和最优质的售后服务,每天都有秒杀的抢购活动哦!敬请登陆水电之家:http://shuidian.jc68.com/
更多»您可能感兴趣的文章:
更多»有关 电线 的产品:
  • 水电电工资讯
  • 发表评论 | 0评
  • 评论登陆
  • 移动社区 天花之家 木门之家 灯具之家 铁艺之家 幕墙之家 五金头条 楼梯头条 墙纸头条 壁纸头条 玻璃头条 老姚之家 灯饰之家 电气之家 全景头条 照明之家 防水之家 防盗之家 区快洞察 建材 枣庄建材 临沂建材 南昌建材 上饶建材 抚州建材 宜春建材 吉安建材 赣州建材 鹰潭建材 新余建材 九江建材 萍乡建材 景德镇陶瓷 石家庄建材 衡水建材 廊坊建材 沧州建材 承德建材 建材之家 企业之家 720全景
    (c)2015-2017 BYBC.CN SYSTEM All Rights Reserved