FATEK台湾永宏PLC编程软件之贮列介绍
功能方块图 | 操作数 |
|
IW :挤入贮列之数据或其缓存器号码 QU :贮列之起头缓存器号码 L :贮列之长度 Pr :指针缓存器号码 OW :接收自贮存器移出数据之缓存器号码 QU可结合V、Z、P0~P9作间接寻址应用 |
功能叙述 : ● 贮列(QUEUE)亦属列表之一种,其有别于一般列表的是其贮列缓存器序号是由1~L而非0~L-1,亦即QU1~QUL,分别以指标Pr=1~L来对应,而指标Pr=0则用以表示该贮列为空白。 ● 贮列(QUEUE)是一种先进先出装置,即最先挤入(PUSH)贮列之资料,在移出(POP)时要最先移出。本指令之贮列是由QU缓存器开始之连续L个16位或32位(D 指令)缓存器所组成。 ● 贮列指令之动作系当执行控制〝EN〞=1或由0→1(P 指令)时,由入出控制〝I/O〞之状态判断是将挤入数据IW挤入贮列(〝I/O〞=1时)或将贮列中最早挤入的那数据移出送到OW去(〝I/O〞=0时),如上示意图所示,挤入资料IW永远往贮列之第一个缓存器QU1挤,挤入后Pr立刻加1,使指标能永远指在贮列中最早挤入之资料。在移出时则直接将Pr所指之资料送至OW,再将Pr减1,使之仍然保持指在剩余数据中最先挤入的那个资料。 ● 在贮列未挤入任何资料或填入者均已被移出时(Pr=0),贮列空白旗号〝EPT〞将变为1,此时即使再有移出动作,本指令亦不执行。而若数据仅挤入不移出或挤入多移出少,最终造成贮列已被挤满(指标Pr已指在QUL处),则贮列满溢旗号〝FUL〞变为1,此时若再有挤入动作本指令亦不再执行。本指令之指针为供贮列于存取时永远保持指在最先挤入之数据,应避免其它程序去更动到它,否则将造成运作错误。若有特定之应用需强制设定指标值,则其容许范围为0~L(0表空白,1~L则分别对应至QU1~QUL),超出此范围,指标错误旗号〞ERR〞设为1,且本指令不执行。 |