一、效果展示
ABB机器人通过队列实现多工位随即预约功能
二、知识储备
1.循环队列
为充分利用向量空间,克服"假溢出"现象的方法是:将向量空间想象为一个首尾相接的圆环,并称这种向量为循环向量。存储在其中的队列称为循环队列(Circular Queue)。循环队列是把顺序队列首尾相连,把存储队列元素的表从逻辑上看成一个环,成为循环队列。
2.元素说明
2.1队列初始化
front和rear的值都是1,nCount值为0
2.2队列空
当nCount的值等于0时为空
2.3队列满
当nCount的值等于数组长度时为满
2.4入队操作
将值存入rear所代表的位置,当Rear的值等于数组长度,复位rear值防止溢出
2.5出队操作
取出front所代表位置的值,当front的值等于数组长度,复位front值防止溢出
2.6中间变量nCount
nCount值初值为0,入队增一,出队减一,通过与数组长度比较判断数组是否为空为满
三、程序说明
代码如下(示例):
MODULE Queue
PERS num Rear:=6;
PERS num Front:=6;
PERS num arr{
Maxsize};
PERS num nNo;
CONST num Maxsize:=10; !数组长度定义
VAR intnum button_1;
VAR intnum button_2;
VAR intnum button_3;
VAR intnum button_4;
VAR intnum button_5;
VAR intnum button_6;
PERS num nCount:=10;
PROC rReservedWork()
IDelete button_1; !5个按钮相关的中断初始化
CONNECT button_1 WITH tAddQueue1;
ISignalDI di_1,1</