您现在的位置是:首页 > 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 变成了指针,其初值被
1.FIFO(FirstlnFirstOut)写入指令
FIFO写入指令SFWR( Shift Register Write)的梯形图如4-7 -6所示。图4-7 -6中的XO由OFF变为ON时,源操作数DO中的数据写入D2,而Dl变成了指针,其初值被置为1(Dl必须先清零)。以后如XO再次由OFF变为ON,DO中新的数据写入D3,Dl中的数变为2,依此类推,源操作数DO中的数据依次写入数据寄存器。
数据由最右边的寄存器D2开始顺序存入,源数据写入的次数存入D1。当Dl中的数达到(n -1)后不再执行上述处理,进位标志M8022置1。
使用SFWR指令时应注意:
(1) SFWR写入指令的功能指令编号为FNC38;
(2)源操作数可取所有的数据类型,目标操作数可取KnY、KnM、KnS、T、C和D。只有16位运算,占7个程序步。
(3)在XO接通期间,若是连续执行性指令,则每个扫描周期都执行,因此一般情况下,建议使用脉冲型执行指令。
图4 -7 -6先入先出写入指令
2.FIFO(Firstln First Out)读出指令
FIFO读出指令SFRD( Shift Register Read)的梯形如图4-7 -7所示。图4-7-7中的XO由OFF变为ON时,D2中的数据写入D20,同时指针Dl的值减1,D3到D9的数据向右移一个字,若用连续指令,每一扫描周期数据都要右移一个字。
数据总是从D2读出,指针Dl为0时,不再执行上述处理,零标志M8020置1。执行本指令的过程中,D9的数据保持不变。
使用SFRD指令时应注意:
(1) FIFO读出指令SFRD的功能指令编号为FNC39。
(2)源操作数可取KnY、KnM、KnS、T、C和D,目标操作数可取KnY、KnM、KnS、T、C、D、V和Z。只有16位运算,占7个程序步。
(3)在XO接通期间,若是连续执行性指令,则每个扫描周期都执行,因此一般情况下,建议使用脉冲型执行指令。
图4 -7 -7先入先出读出指令