分享

|分享| 200SMART常用指令(三)

 金玉满堂jjnla8 2020-04-06

(8)程序控制指令

    程序控制指令包含循环指令、跳转指令、顺序控制指令及看门狗复位指令和停止指令
循环指令(FOR....NEXT)
     是对程序执行期间的循环操作,通常来说,程序的扫描是整个程序从头至尾的过程,而为了解决重复执行相同功能的程序段,尤其需要大量的相同功能的计算或逻辑运算时,这时我们可以使用循环指令
      循环指令的执行次数并非无限制的,它受CPU的扫描时间影响;循环次数越多,扫描时间就会越长,而200SMART最长的扫描时间是500MS,当超过这个时间后CPU则会报错,报看门狗出错并停止运行CPU;所以循环次数的扫描时间不能超过500MS
    循环指令由FOR及NEXT组成,在实际应用需要配套一起使用;FOR....NEXT指令中间的程序称为循环体,CPU每次扫描到此处时会循环执行的程序。
      FOR....NEXT可循环嵌套,最多嵌套8层。每次重新执行该指令时,CPU会自动复位各参数,在使用过程中无需对参数进行清零的操作

     INIT:循环的起始值;FINAL:需要执行循环的总次数;当INDX的值大于FINAL的值时,循环结束,循环指令不再执行,设置结束次数时不能大于起始值。INDX端只能使用16位的存储空间
跳转指令(JMP....LBL)
      跳转指令的使用可提高编程的灵活性,使主机可以针对不同条件的判断执行对应的程序。比如在一段程序中,正常是从头至尾都会执行扫描,但使用跳转指令后,PLC不会对JMP...LBL之间的程序执行,当跳转指令不满足时PLC则会继续扫描该段程序
     跳转指令JMP及跳转指令标签LBL指令一起组成,使用时也需要一起配套出现;在使用的过程种,跳转指令的数字需要和标签指令的数字对应一致

     在执行跳转指令执行之前,JMP...LBL之间的程序如果正在运行,接着此时跳转指令满足跳过该段程序后,只是不再扫描而不是不执行,所以该程序段会保持在跳转指令执行之前的结果。
    标签号可命名为常数也可以是汉字,
     跳转指令在使用中有以下几点需要注意:
1、跳转指令及标签指令需要配合一起使用,且只能在同一POU内使用
2、执行跳转后,被跳转的程序段不再扫描,其对应一些元件的状态会保持在跳转前的状态
3、对于计数器而言,计数器会停止工作但当前值会保持在跳转前的计数不会被丢失
4、对于定时器而言,因不同的分辨率刷新方式也不一样,在跳转期间,1MS和10MS的定时器会继续定时;到设定值后,定时器的相关触点也会发生变化;直到32767后才会停止。在跳转期间,100MS的定时器和计数器是一样的
5、跳转指令只能在本POU中跳转,不能从主程序跳转到子程序或子程序到另一子程序中
6、跳转指令可以由下往上跳,但要注意避免出现看门狗出错
顺控指令
     顺控指令在SMART PLC的梯形图程序下有三种状态:指定需要执行的状态步SCR;用于转移状态步的SCRT;表示对上一状态步结束的SCRE
     顺控指令主要用于具有明显动作的设计(如单机设备),这种情况下使用顺控指令编程能使程序结构清晰明了;顺控指令在使用的过程需要配合状态继电器(S)使用

       在使用顺控指令设计程序时,根据程序执行的动作顺序可分为单流程控制结构、选择性流程控制、并行分支流程控制结构三种
     单流程结构:当顺序功能图只有一个通道时称为单流程结构,主要特点为从初始状态开始,每个状态后面只有一个转移,每个转移后面只有一个状态(如下图所示)

     顺序功能流程图一般有:状态、转移条件及状态的动作三部分组成

    选择性分支结构:当单流程向分支转移时,根据转转条件是否成立只能向其中一个流程进行转移,是一种多选一的过程结构。

       并行性分支结构:当单流程向多个流程转移时,多个分支的转移条件均相同,只要转移条件成立,则同时激活各个分支流程

顺控指令的使用注意有几点:
1、SCR段程序段是否执行,取决于状态继电器S是否为ON
2、顺控指令只能状态继电器S有用,不能用其他内部存储器,空间大小和位存储器M一样,为32个字节大小
3、不能把同一个S状态位用于不同的POU中,比如在主程序中用了就不能在子程序中使用。
4、顺控程序中不支持多线圈输出
5、状态编号可不按顺序编排使用
6、不同的SCR段中,不得使用跳转指令,但如果在同一个SCR段中可使用跳转指令
7、状态转移后,使用过的状态继电器会自动复位
 停止指令(STOP)
     可以使用该指令对CPU进行停止运行的操作 
      STOP指令可将CPU从run模式切换到STOP模式来终止程序的执行,比如I/O出现错误时(SM5.0会为ON)可把PLC切换到STOP模式
看门狗复位指令(WDR)
      看门狗复位指令的使用可使程序的扫描时间延长500MS。如循环次数的扫描时间过长导致CPU报错并停机,且会发出非致命错误扫描看门狗超时的代码(001AH)  而如果在适当位置使用看门狗指令(WDR)的话能延长扫描时间防止报错停机

      每次执行 WDR 指令时,扫描看门狗超时时间都会复位为 500 毫秒。

但是,主扫描的最大绝对持续时间为 5 秒。如果当前扫描持续时间达到 5 秒,CPU 会无条件地切换为 STOP 模式。 

GET_ERROR(获取非致命错误代码)

    获取非致命错误代码指令将 CPU 的当前非致命错误代码存储在分配给 ECODE 的位置。而 CPU 中的非致命错误代码将在存储后清除。用于CPU报错显示的情况下可使用该指令

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多