您现在的位置是:首页 > PLC技术 > PLC技术

FIFO(先入先出)写入与读出指令

来源:艾特贸易2019-09-01

简介1 . FIFO(FirstlnFirstOut) 写入指令 FIFO 写入指令 SFWR( Shift Register Write) 的梯形图如 4-7 -6 所示。图 4-7 -6 中的 XO 由 OFF 变为 ON 时,源操作数 DO 中的数据写入 D2 ,而 Dl 变成了指针,其初值被


    1FIFO(FirstlnFirstOut)写入指令

   FIFO写入指令SFWR( Shift Register Write)的梯形图如4-7 -6所示。图4-7 -6中的XOOFF变为ON时,源操作数DO中的数据写入D2,而Dl变成了指针,其初值被置为1Dl必须先清零)。以后如XO再次由OFF变为ONDO中新的数据写入D3Dl中的数变为2,依此类推,源操作数DO中的数据依次写入数据寄存器。

    数据由最右边的寄存器D2开始顺序存入,源数据写入的次数存入D1。当Dl中的数达到(n -1)后不再执行上述处理,进位标志M80221

    使用SFWR指令时应注意:

   (1) SFWR写入指令的功能指令编号为FNC38

   (2)源操作数可取所有的数据类型,目标操作数可取KnYKnMKnSTCD。只有16位运算,占7个程序步。

   (3)XO接通期间,若是连续执行性指令,则每个扫描周期都执行,因此一般情况下,建议使用脉冲型执行指令。

 图4 -7 -6先入先出写入指令

4 -7 -6先入先出写入指令

    2FIFO(Firstln First Out)读出指令

   FIFO读出指令SFRD( Shift Register Read)的梯形如图4-7 -7所示。图4-7-7中的XOOFF变为ON时,D2中的数据写入D20,同时指针Dl的值减1D3D9的数据向右移一个字,若用连续指令,每一扫描周期数据都要右移一个字。

    数据总是从D2读出,指针Dl0时,不再执行上述处理,零标志M80201。执行本指令的过程中,D9的数据保持不变。

    使用SFRD指令时应注意:

   (1) FIFO读出指令SFRD的功能指令编号为FNC39

   (2)源操作数可取KnYKnMKnSTCD,目标操作数可取KnYKnMKnSTCDVZ。只有16位运算,占7个程序步。

   (3)XO接通期间,若是连续执行性指令,则每个扫描周期都执行,因此一般情况下,建议使用脉冲型执行指令。

 图4 -7 -7先入先出读出指令

4 -7 -7先入先出读出指令