第10章 数据处理指令及移位寄存器
队列加载指令FFL FFL指令将Source值加载到FIFO中有.POS值标识的位置。每次启用该指令时加载一个值,直到FIFO满为止 通常Source和FIFO属于相同数据类型 使用FFL和FFU指令按先进先出的顺序存储和取回数据。 队列卸载指令FFU FFU指令从FIFO的第一个元素卸载数据,并将该值放置到Destination。每次卸载一个值,直到FIFO空为止。如果FIFO为空,FFU向Destination返回0。 进栈操作指令LFL 该指令将Source值加载到LIFO中由.POS指定的位置。每次加载一个值,直到LIFO满为止 出栈操作指令LFU 该指令将卸载LIFO中.POS处的值,并将该值放置到Destination。每次卸载一个值并用0替换该值,直到LIFO空为止。若LIFO为空,则LFU向Destination返回0 第10章 数据处理指令与移位寄存器 操作数 类 型 格 式 说 明 Source SINT ,INT, DINT, REAL 字符串, 结构 立即数,标签 要存储在 FIFO 内的数据 Source 将转换为数组标签的数据类型。较小的整数将通过符 号扩展转换为较大的整数。 FIFO SINT ,INT, DINT, REAL 字符串, 结构 数组标签 要修改的 FIFO 指定 FIFO 的第一个元素 不要在下标中使用 CONTROL.POS Control CONTROL 标签 操作的控制结构 通常与关联的 FFU 使用相同的 CONTROL Length DINT 立即数 FIFO 可同时容纳元素的最多个数 Position DINT 立即数 FIFO 中的下一个位置,指令将在其 中装载数据 初始值通常为 0 操作数 类 型 格 式 说 明 Destination SINT,INT,DINT,REAL ,符串,结构 标签 从 FIFO 卸载的值 助记符 数据类型 说 明 .EN BOOL 该使能位指示 FFL 指令是否使能。 .DN BOOL 该完成位置位时指示 FIFO 已满 (.POS = .LEN)。 .DN 位将禁止装载 FIFO, 直到 .POS .LEN 为止。 .EM BOOL 空位指示 FIFO 为空。如果 .LEN ≤ 0 或 .POS 0,将置位 .EM 位和 .DN 位。 .LEN DINT 长度指定 FIFO 可同时容纳元素的最多个数。 .POS DINT 位置标识 FIFO 中的位置,指令将在其中装载下一个值。 CONTROL 结构 说明: FFU 指令可以和 FFL 指令配合使用,按照先入先出的顺序存储和检 索数据。 使能后, FFU 指令将从 FIFO 的第一个元素中卸载数据,并将该值放 在 Destination 中。指令每使能一次,便会卸载一个值,直至 FIFO 清 空为止。如果 FIFO 为空, FFU 将 0 返回到 Destination。 例: 使能后, FFL 指令会将 value_1 装载到 FIFO 中的下一个位置 ( 在本 示例中是 array_dint[5])。 装载 FIFO 之前 00000 11111 22222 33333 44444 00000 00000 00000 00000 00000 装载 FIFO 之后 00000 11111 22222 33333 44444 55555 00000 00000 00000 00000 array_dint[0] array_dint[5] control_1.pos = 6 control_1.pos = 5 value_1 = 55555 例: 使能后 FFU 指令将 array_dint[0] 卸载到 value_2 中,并对 array_dint 中其余的元素进行移位。 卸载 FIFO 之前 00000 11111 22222 33333 44444 55555 00000 00000 00000 00000 卸载 FIFO 之后 11111 22222 33333 44444 55555 00000 00000 00000 00000 00000 array_dint[0] array_dint[5] control_1.pos = 5 Value_2=00000 control_1.pos = 6 卸载 移动 10.3.5 后入先出(LIFO)功能 LIFO的功能与FIFO一样,但是移动的顺序相反。即最先收到的最后输出,最后收到的则最先输出。 LIFO的存储空间通常被称为堆栈 SLC系列PLC功能限制与(FIFO)相同。 LIFO操作指令有LFL
原创力文档

文档评论(0)