//数据初始化
#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;
贴一点。 大家看看我这一段写的什么意思。