您当前的位置:五五电子网电子知识plc技术PLC入门西门子S7-300的任意位数据连续循环移位多 正文
西门子S7-300的任意位数据连续循环移位多

西门子S7-300的任意位数据连续循环移位多

点击数:7969 次   录入时间:03-04 11:52:58   整理:http://www.55dianzi.com   PLC入门

    FC的输入数据INDWord)是要移位的双字,Bit_NoInt)是移位位数。输出数据OUTDWord)是移位的结果。本文以输入IN的低20位数据连续循环移位1~20位为例。Tmp1Tmp2分别用来暂存移位后的数据和移位次数剩余值。L1.4Tmp1LD0)的第20位。

    将L1.4改为LD0的其他位,可以改变要移位数据的位数。例如改为L2.4时,被移位数据的位数为12位。

      L     #IN

      T     #Tmp1                       //保存被移位的双字

      L     #Bit_No

BACK: T     #Tmp2                       //保存移位次数剩余值

      L     1

      L     #Tmp1

      RLD                               //循环移位1

      T     #Tmp1

      A     L      1.4

      S     L      3.0                  // Tmp1的第20位为1则将最低位置位

      AN    L      1.4

      R     L      3.0                  // Tmp120位为0则将最低位复位

      CLR  

      =     L      1.4                  //Tmp120位清零

[1] [2]  下一页


本文关键字:西门子  PLC入门plc技术 - PLC入门