登录
首页 PLC论坛 PLC论坛
回帖 发帖
正文

主题:PLC的“休眠”指令

点击:4477 回复:8

      上月我的“怎样学习plc的应用指令”一文中讲到,绝大多数用户几乎都不会使用某些指令。可以将它们称为plc的“休眠”指令,学习指令时可以暂时不管使用它们的细节。万一在读程序时遇到它们,可以通过指令的在线帮助或查手册来了解它们。
      本文介绍几种常见的plc的“休眠”指令。
      1. 三菱的fx系列的“休眠”指令
      1)程序流控制中的监控定时器刷新指令。
      2)bcd码移位传送指令。
      3)位右移、位左移、字右移、字左移指令。它们与其他plc以字、双字、字节为单位的移位指令不同。
      4)求置on位总数、on位判别指令。
      5)矩阵输入、16键输入、数字开关输入、带锁存的7段显示、方向开关、ascii码转换、打印输出。这类指令与plc的数字输入和显示有关,有的是为了节省plc的输入点,有的需要自制印刷电路板,不但麻烦,可靠性也不能保证。现在的人机界面(特别是国产的文本显示器)已经非常便宜,但是功能比这些指令实现的功能强大得多。
      6)带加减速功能的脉冲输出、绝对值式凸轮顺控、增量式凸轮顺控、旋转工作台控制、数据排序,时钟数据加、减法指令,二进制数与格雷码的相互转换指令,读、写fx0n-3a模拟量模块指令。这类指令的应用面很窄,有的与特定的硬件有关。
      2.s7-200的“休眠”指令
      1)与字符串有关的指令。
      2)扩展读、写实时钟指令,用于夏时制。
      3)看门狗复位指令。
      4)诊断led指令。
      5)移位寄存器读、写指令。
      3.s7-300/400的“休眠”指令
      1)cad:改变累加器1中双字的字节顺序。
       实数转换为整数时,一般用四舍五入的指令round,偶尔用截位取整的指令trunc。下面两条指令用得很少:rnd+:将浮点数转换为大于等于它的最小双整数,rnd-:将浮点数转换为小于等于它的最大双整数。
      2)cdb:交换共享数据块和实例db,l dblg:共享数据块的长度送累加器1,l dbno:共享数据块的编号送累加器1,l dilg:背景db的长度送累加器1,l dino:背景db的编号送累加器1。
      3)jl:多分支跳转指令。
      jcb:rlo=1时跳转,将rlo复制到br,jnb:rlo=0时跳转,将rlo复制到br。
      4)l stw:将状态字装载到累加器1中,t stw:将累加器1传送至状态字,car:交换地址寄存器1和地址寄存器2。
      5)与主控继电器有关的指令。s7-200没有类似的指令。
      6)rlda:累加器1的双字通过cc1循环左移,rrda:累加器1的双字通过cc1循环右移累加器1 (32 位)。
      7)累加器指令
      tak:交换累加器1、2的内容。
      s7-400 cpu有4个累加器,组成了一个堆栈,可以用下面的指令,将一些临时数据保存在累加器3、4:
      push:入栈指令,pop:出栈指令,ent:进入累加器堆栈指令,leave:离开累加器堆栈指令。
      如果使用上述指令,在编程时需要记住每个累加器中放的是什么数据。可以将中间结果保存在累加器之外的存储区,所以实际上很少使用堆栈指令。
----------------------------------------------
此篇文章从博客转发
原文地址: Http://blog.gkong.com/more.asp?id=128244&Name=liaochangchu
10-11-04 11:34
该用户被锁定!
10-11-04 16:24
实际上并非如此,只是个人使用问题表情表情表情
10-11-05 00:57
虽然现在还看不懂,但是先看看学习一下。谢谢。
10-11-05 09:07
该用户被锁定!
10-11-16 13:44
看看,谢谢
11-01-20 22:38
这是个人问题了,移位指令我就经常用呀
11-01-21 09:46
学习。。。
11-01-21 10:28
学习一下!
11-01-21 10:32

工控新闻

更多新闻资讯