//数据初始化
#colunm := 0;
WHILE #colunm <= #ColumnMax DO
#row := 0;
WHILE #row <= #RowMax DO
IF NOT "Recipes".Tank["Recipes".Arm[#ArmID].Row[#row].Colunm[#colunm]].花篮标志 THEN
"Recipes".Arm[#ArmID].Row[#row].花篮标志[#colunm] := FALSE;
;
END_IF;
#row := #row + 1;
END_WHILE;
#colunm := #colunm + 1;
END_WHILE;
//多组数组数据初始化
#p := 0;
WHILE #p <= 10 AND NOT "Recipes".Arm[#ArmID].自动忙标志 DO //10表示最多存储11组takeput数据
"Recipes".Arm[#ArmID].TakePut[#p].Put := 0;
"Recipes".Arm[#ArmID].TakePut[#p].Take := 0;
#p := #p + 1;
END_WHILE;
//发出产生任务号 机械手除去起始公共槽和结束公共槽, 具备有任务产生的条件。
#p := 0;
"Recipes".Arm[#ArmID].任务产生 := FALSE; //每个周期都需要复位
WHILE #p < #LastTankID - #FirstTankID DO
IF "Recipes".Tank[#FirstTankID + #p + 1].当前工艺时间 > "Recipes".Tank[#FirstTankID + #p + 1].设定工艺时间 THEN
"Recipes".Arm[#ArmID].任务产生 := TRUE;
;
END_IF;
#p := #p + 1;
END_WHILE;
贴一点。 大家看看我这一段写的什么意思。