// 扫描库区,输出各个库区的余位数和最近余位库号。为入库货物和整理仓库做准备
// K_1,2,3,4为临时变量,每次刷新都从0开始
FOR #I := 1 TO 100 DO
IF #I <= 50 THEN// 扫描1库区
IF #库位标志[#I-1] = 0 THEN // 有余位
//首次检索到余位。输出库号
IF #K_1 = 0 THEN
#空余库号[0] := #I;
END_IF;
#K_1 := #K_1 + 1;//余位数加1
END_IF;
#库区余位[0] := #K_1;//输出库区总余位数
ELSIF 50 < #I AND #I <=70 THEN// 扫描2库区
IF #库位标志[#I-1] = 0 THEN // 有余位
//首次检索到余位。输出库号
IF #K_2 = 0 THEN
#空余库号[1] := #I;
END_IF;
#K_2 := #K_2 + 1;//余位数加1
END_IF;
#库区余位[1] := #K_2; //输出库区总余位数
ELSIF 70 < #I AND #I <=90 THEN// 扫描3库区
IF #库位标志[#I-1] = 0 THEN // 有余位
//首次检索到余位。输出库号
IF 3 = 0 THEN
#空余库号[2] := #I;
END_IF;
#K_3 := #K_3 + 1;//余位数加1
END_IF;
#库区余位[2] := #K_3; //输出库区总余位数
ELSE// 扫描4库区
IF #库位标志[#I-1] = 0 THEN // 有余位
//首次检索到余位。输出库号
IF #K_3 = 0 THEN
#空余库号[3] := #I;
END_IF;
#K_3 := #K_3 + 1;//余位数加1
END_IF;
#库区余位[2] := #K_3;//输出库区总余位数
END_IF;
IF #库内数据[#I-1, 0] <> #库内数据[#I-1, 1] THEN// 查找库区内是否有品种库区不符的库位
IF #库内数据[#I-1, 2] <> #ZL库位队列[#K, 2 ] THEN
#ZL库位队列[#K, 0] := #库内数据[#I-1, 0];
#ZL库位队列[#K, 1] := #库内数据[#I-1, 1];
#ZL库位队列[#K, 2] := #库内数据[#I-1, 2];
END_IF;
#K := #K + 1;
END_IF;
END_FOR;
#ZL_NUM := #K + 1;
// K_1,2,3,4为临时变量,每次刷新都从0开始
FOR #I := 1 TO 100 DO
IF #I <= 50 THEN// 扫描1库区
IF #库位标志[#I-1] = 0 THEN // 有余位
//首次检索到余位。输出库号
IF #K_1 = 0 THEN
#空余库号[0] := #I;
END_IF;
#K_1 := #K_1 + 1;//余位数加1
END_IF;
#库区余位[0] := #K_1;//输出库区总余位数
ELSIF 50 < #I AND #I <=70 THEN// 扫描2库区
IF #库位标志[#I-1] = 0 THEN // 有余位
//首次检索到余位。输出库号
IF #K_2 = 0 THEN
#空余库号[1] := #I;
END_IF;
#K_2 := #K_2 + 1;//余位数加1
END_IF;
#库区余位[1] := #K_2; //输出库区总余位数
ELSIF 70 < #I AND #I <=90 THEN// 扫描3库区
IF #库位标志[#I-1] = 0 THEN // 有余位
//首次检索到余位。输出库号
IF 3 = 0 THEN
#空余库号[2] := #I;
END_IF;
#K_3 := #K_3 + 1;//余位数加1
END_IF;
#库区余位[2] := #K_3; //输出库区总余位数
ELSE// 扫描4库区
IF #库位标志[#I-1] = 0 THEN // 有余位
//首次检索到余位。输出库号
IF #K_3 = 0 THEN
#空余库号[3] := #I;
END_IF;
#K_3 := #K_3 + 1;//余位数加1
END_IF;
#库区余位[2] := #K_3;//输出库区总余位数
END_IF;
IF #库内数据[#I-1, 0] <> #库内数据[#I-1, 1] THEN// 查找库区内是否有品种库区不符的库位
IF #库内数据[#I-1, 2] <> #ZL库位队列[#K, 2 ] THEN
#ZL库位队列[#K, 0] := #库内数据[#I-1, 0];
#ZL库位队列[#K, 1] := #库内数据[#I-1, 1];
#ZL库位队列[#K, 2] := #库内数据[#I-1, 2];
END_IF;
#K := #K + 1;
END_IF;
END_FOR;
#ZL_NUM := #K + 1;


骨头