Home

 

Erfahrung

 

Referenzen

 

Sondermaschinen

 

MSR-Maschinen

 

SPS-Programmierung

 

Visualisierung HMI

 

Elektro CAD

 

Leistungsprofil

 

Personalia

 

SW-Development

 

Dokumentation

 

 

 

Impressum & DSGVO

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

To go to next HMI image use the touch buttons; some of them are interactive.

FB32 SEQ1 P01 P01 sequencer 1

 

[to following page..]  

 

Network 1: Step Switching Mechanism (SSM)

#SSM(STEP_PLS := "HMI KEY".P01.GLB.F17_StepPls,

      STEP_MNS := "HMI KEY".P01.GLB.F18_StepMns,

      GOTO_STEP := "HMI KEY".P01.GLB.F19_GoToStep,

      GOTO_STEP_NO := "HMI KEY".P01.GLB.GoToStep,

      LAST_STEP := 33);

 

 

 

Network 2: Pre-Setting

"M01 RdyToStart" := "M01 HomPosIS" AND "M01 SEQ1 DoWP1" AND #IndexPos2 < "ModulDa".P01.MaPa.SetBatchParts;

IF NOT "M01 SEQ1 DoWP1" AND #IndexPos_FEg THEN

    #LastActPos := #IndexPos2 := 0;

END_IF;

#IndexPos_FEg := "M01 SEQ1 DoWP1";

 

 

 

Network 3: Execute Pick and Place BlisterTray

CASE #SSM.S.stepact OF

    0: // waiting for SEQ to start

        "M01 SEQ1 Active" := FALSE;

        IF NOT "M01 RdyToStart" THEN

            "M00 AutoCmpltMa run" := "M00 InchCmpltMa run" := FALSE;

            RETURN;

        ELSE

            #IndexPos1 := #LastActPos;

            #SSM.S.stepd := #SSM.S.steps;

            #MaxPos1 := "ModulDa".P01.MaPa.WPC1_NumOfPos_X * "ModulDa".P01.MaPa.WPC1_NumOfPos_Y;

            #MaxPos2 := "ModulDa".P01.MaPa.WPC2_NumOfPos_X * "ModulDa".P01.MaPa.WPC2_NumOfPos_Y;

        END_IF;

       

    1: // C01 Lifting gate WP (close)

        #PosPointer := 0;

        "M01 SEQ1 Active" := TRUE;

        "DI OUT P01".C01.VLV_O.CmdExe_WP := "HMI KEY".P01.C01.F12_Enable_WP;

        #SSM.S.stepd := "DI OUT P01".C01.FB_WP;

       

    2: // XYZGaxis MovAbso towards Pos.12 palette 1 Pick (down/opened)

        IF #SSM.S.stepfc THEN

            "M01 SEQ2 DoWP2" := FALSE;

            #PosPointer := 12;

            #LastActPos := #IndexPos1 := #IndexPos1 + 1;

            #ExecuteCoodinate(INDEX_POS := #IndexPos1,

                              PLACES_ON_X := "ModulDa".P01.MaPa.WPC1_NumOfPos_X,

                              PLACES_ON_Y := "ModulDa".P01.MaPa.WPC1_NumOfPos_Y,

                              REF_POS := "ModulDa".P01.MaPa.WPC1_RefPos,

                              GAP_ON_X := "ModulDa".P01.MaPa.WPC1_Gap_X,

                              GAP_ON_Y := "ModulDa".P01.MaPa.WPC1_Gap_Y,

                              TARGET_POS := #TrgtPos1);

            #TrgtPos1.Z := "DI OUT P01".MANUAL.XYZG_TrgtPos[#PosPointer].Z;

            #TrgtPos1.G12 := "ModulDa".P01.MaPa.Gripper12_SetOpn;

            #TrgtPos1.G34 := "ModulDa".P01.MaPa.Gripper34_SetOpn;

        ELSE

            "FC POS REACHED"(START := #SSM.S.steplo,

                             TARGET_POS := #TrgtPos1,

                             VELO_Z := "DI OUT P01".MANUAL.XYZGaxisVelo_1,

                             VELO_XYG := "DI OUT P01".MANUAL.XYZGaxisVelo_2,

                             ENABLE_X := NOT "DI OUT P01".V90_X.HALT_01,

                             ENABLE_Y := NOT "DI OUT P01".V90_Y.HALT_01,

                             ENABLE_Z := NOT "DI OUT P01".V90_Z.HALT_01 AND "DI OUT P01".V90_X.DRV.Support.InPos AND "DI OUT P01".V90_Y.DRV.Support.InPos

                                         AND "DI OUT P01".V90_X.NexDrv_DlyOn,

                             MOV_TO_POS_X => "DI OUT P01".V90_X.DRV.Support.Cmd_MovAbso,

                             MOV_TO_POS_Y => "DI OUT P01".V90_Y.DRV.Support.Cmd_MovAbso,

                             MOV_TO_POS_Z => "DI OUT P01".V90_Z.DRV.Support.Cmd_MovAbso,

                             PRECISION := 5.0,

                             TARGET_REACHED => #SSM.S.c1.start);

            "DI OUT P01".MD_12.DRV.Support.Cmd_MovAbso := NOT "DI OUT P01".MD_12.HALT_01 AND #SSM.S.c1.done;

            "DI OUT P01".MD_34.DRV.Support.Cmd_MovAbso := NOT "DI OUT P01".MD_34.HALT_01 AND #SSM.S.c1.done;

            #SSM.S.stepd := "DI OUT P01".MD_12.DRV.Support.InPos AND "DI OUT P01".MD_34.DRV.Support.InPos AND #SSM.S.c1.done;

        END_IF;

       

    3: // XYZaxis MovAbso towards Pos.2 part control (up/opened)

        #PosPointer := 2;

        "FC POS REACHED"(START := #SSM.S.steplo,

                         TARGET_POS := "DI OUT P01".MANUAL.XYZG_TrgtPos[#PosPointer],

                         VELO_Z := "DI OUT P01".MANUAL.XYZGaxisVelo_1,

                         VELO_XYG := "DI OUT P01".MANUAL.XYZGaxisVelo_2,

                         ENABLE_X := NOT "DI OUT P01".V90_X.HALT_01 AND "DI OUT P01".V90_Z.NexDrv_DlyOn,

                         ENABLE_Y := NOT "DI OUT P01".V90_Y.HALT_01 AND "DI OUT P01".V90_Z.NexDrv_DlyOn,

                         ENABLE_Z := NOT "DI OUT P01".V90_Z.HALT_01,

                         MOV_TO_POS_X => "DI OUT P01".V90_X.DRV.Support.Cmd_MovAbso,

                         MOV_TO_POS_Y => "DI OUT P01".V90_Y.DRV.Support.Cmd_MovAbso,

                         MOV_TO_POS_Z => "DI OUT P01".V90_Z.DRV.Support.Cmd_MovAbso,

                         PRECISION := 5.0,

                         TARGET_REACHED => #SSM.S.stepd);

       

    4: // Zaxis MovAbso towards Pos.7 part control (down/opened)

        IF #SSM.S.stepfc THEN

            #PosPointer := 7;

            "DI OUT P01".V90_Z.DRV.Support.SetVelo := "DI OUT P01".MANUAL.XYZGaxisVelo_1;

            "DI OUT P01".V90_Z.DRV.MC_MoveAbsolute.Position := "DI OUT P01".MANUAL.XYZG_TrgtPos[#PosPointer].Z;

        ELSE

            "DI OUT P01".V90_Z.DRV.Support.Cmd_MovAbso := NOT "DI OUT P01".V90_Z.HALT_01;

            #SSM.S.stepd := "DI OUT P01".V90_Z.DRV.Support.InPos AND NOT #SSM.S.steplo;

        END_IF;

       

    5: // Zaxis MovAbso towards Pos.2 part control (up/opened)

        IF #SSM.S.stepfc THEN

            #PosPointer := 2;

            "DI OUT P01".V90_Z.DRV.Support.SetVelo := "DI OUT P01".MANUAL.XYZGaxisVelo_1;

            "DI OUT P01".V90_Z.DRV.MC_MoveAbsolute.Position := "DI OUT P01".MANUAL.XYZG_TrgtPos[#PosPointer].Z;

            // Query missing part

            "M01 SEQ2 DoWP2" := "E00 S10 GrprPartPrsnt";

        ELSE

            "DI OUT P01".V90_Z.DRV.Support.Cmd_MovAbso := NOT "DI OUT P01".V90_Z.HALT_01;

            #SSM.S.stepd := "DI OUT P01".V90_Z.DRV.Support.InPos AND NOT #SSM.S.steplo;

           

            IF NOT "M01 SEQ2 DoWP2" AND #SSM.S.stepd THEN

                IF "M00 AutoCmpltMa run" THEN

                    "ModulDa".P01.MaPa.CounterMissingParts := "ModulDa".P01.MaPa.CounterMissingParts + 1;

                    #MissingParts := #MissingParts + 1;

                END_IF;

                IF #MissingParts >= "ModulDa".P01.MaPa.EndAfterMissingParts THEN

                    #SSM.S.stepnew := 32; // ending

                ELSE

                    #SSM.S.stepnew := 2;

                END_IF;

            END_IF;

        END_IF;

       

    6: // XYZaxis MovAbso towards Pos.8 alcohol pool (down/opened)  

        #PosPointer := 8;

        "FC POS REACHED"(START := #SSM.S.steplo,

                         TARGET_POS := "DI OUT P01".MANUAL.XYZG_TrgtPos[#PosPointer],

                         VELO_Z := "DI OUT P01".MANUAL.XYZGaxisVelo_1,

                         VELO_XYG := "DI OUT P01".MANUAL.XYZGaxisVelo_2,

                         ENABLE_X := NOT "DI OUT P01".V90_X.HALT_01,

                         ENABLE_Y := NOT "DI OUT P01".V90_Y.HALT_01,

                         ENABLE_Z := NOT "DI OUT P01".V90_Z.HALT_01,

                         MOV_TO_POS_X => "DI OUT P01".V90_X.DRV.Support.Cmd_MovAbso,

                         MOV_TO_POS_Y => "DI OUT P01".V90_Y.DRV.Support.Cmd_MovAbso,

                         MOV_TO_POS_Z => "DI OUT P01".V90_Z.DRV.Support.Cmd_MovAbso,

                         PRECISION := 5.0,

                         TARGET_REACHED => #tmp_llo);

        // start immersing time

        #SSM.S.c2.set := "ModulDa".P01.MaPa.Alcohol_Immers_Time;

        #SSM.S.c2.start := #tmp_llo;

        #SSM.S.stepd := #SSM.S.c2.done;

       

    7: // Zaxis MovAbso towards Pos.3 drip off Alcohol pool (up/opened)

        IF #SSM.S.stepfc THEN

            #PosPointer := 3;

            #SSM.S.c2.set := "ModulDa".P01.MaPa.Alcohol_DripOff_Time;

            "DI OUT P01".V90_Z.DRV.Support.SetVelo := "DI OUT P01".MANUAL.XYZGaxisVelo_1;

            "DI OUT P01".V90_Z.DRV.MC_MoveAbsolute.Position := "DI OUT P01".MANUAL.XYZG_TrgtPos[#PosPointer].Z;

        ELSE

            "DI OUT P01".V90_Z.DRV.Support.Cmd_MovAbso := NOT "DI OUT P01".V90_Z.HALT_01;

            #SSM.S.c2.start := "DI OUT P01".V90_Z.DRV.Support.InPos AND NOT #SSM.S.steplo;

            #SSM.S.stepd := #SSM.S.c2.done;

        END_IF;

       

    8: // XYZGaxis MovAbso towards Pos.9 UV resin (down/opened)

        #PosPointer := 9;

        "FC POS REACHED"(START := #SSM.S.steplo,

                         TARGET_POS := "DI OUT P01".MANUAL.XYZG_TrgtPos[#PosPointer],

                         VELO_Z := "DI OUT P01".MANUAL.XYZGaxisVelo_1,

                         VELO_XYG := "DI OUT P01".MANUAL.XYZGaxisVelo_2,

                         ENABLE_X := NOT "DI OUT P01".V90_X.HALT_01,

                         ENABLE_Y := NOT "DI OUT P01".V90_Y.HALT_01,

                         ENABLE_Z := NOT "DI OUT P01".V90_Z.HALT_01,

                         MOV_TO_POS_X => "DI OUT P01".V90_X.DRV.Support.Cmd_MovAbso,

                         MOV_TO_POS_Y => "DI OUT P01".V90_Y.DRV.Support.Cmd_MovAbso,

                         MOV_TO_POS_Z => "DI OUT P01".V90_Z.DRV.Support.Cmd_MovAbso,

                         PRECISION := 5.0,

                         TARGET_REACHED => #SSM.S.stepd);

       

    9: // MD_12axis MovAbso gripper finges 1+2 close

        IF #SSM.S.stepfc THEN

            #PosPointer := 9;

            #SSM.S.c2.set := "ModulDa".P01.MaPa.Gripper12_UVresin_ClsTime;

            "DI OUT P01".MD_12.DRV.Support.SetVelo := "DI OUT P01".MANUAL.XYZGaxisVelo_0;

            "DI OUT P01".MD_12.DRV.MC_MoveAbsolute.Position := "DI OUT P01".MANUAL.XYZG_TrgtPos[#PosPointer].G12;

        ELSE

            "DI OUT P01".MD_12.DRV.Support.Cmd_MovAbso := NOT "DI OUT P01".MD_12.HALT_01;

            #SSM.S.c2.start := "DI OUT P01".MD_12.DRV.Support.InPos AND NOT #SSM.S.steplo;

            #SSM.S.stepd := #SSM.S.c2.done;

        END_IF;

       

    10: // MD_12axis MovAbso gripper finges 1+2 open

        IF #SSM.S.stepfc THEN

            "DI OUT P01".MD_12.DRV.Support.SetVelo := "DI OUT P01".MANUAL.XYZGaxisVelo_0;

            "DI OUT P01".MD_12.DRV.MC_MoveAbsolute.Position := "ModulDa".P01.MaPa.Gripper12_SetOpn;

        ELSE

            "DI OUT P01".MD_12.DRV.Support.Cmd_MovAbso := NOT "DI OUT P01".MD_12.HALT_01;

            #SSM.S.stepd := "DI OUT P01".MD_12.DRV.Support.InPos AND NOT #SSM.S.steplo;

        END_IF;

       

    11: // MD_34axis MovAbso gripper finges 3+4 close

        IF #SSM.S.stepfc THEN

            #PosPointer := 9;

            #SSM.S.c2.set := "ModulDa".P01.MaPa.Gripper12_UVresin_ClsTime;

            "DI OUT P01".MD_34.DRV.Support.SetVelo := "DI OUT P01".MANUAL.XYZGaxisVelo_0;

            "DI OUT P01".MD_34.DRV.MC_MoveAbsolute.Position := "DI OUT P01".MANUAL.XYZG_TrgtPos[#PosPointer].G34;

        ELSE

            "DI OUT P01".MD_34.DRV.Support.Cmd_MovAbso := NOT "DI OUT P01".MD_34.HALT_01;

            #SSM.S.c2.start := "DI OUT P01".MD_34.DRV.Support.InPos AND NOT #SSM.S.steplo;

            #SSM.S.stepd := #SSM.S.c2.done;

        END_IF;

       

    12: // MD_34axis MovAbso gripper finges 3+4 open

        IF #SSM.S.stepfc THEN

            "DI OUT P01".MD_34.DRV.Support.SetVelo := "DI OUT P01".MANUAL.XYZGaxisVelo_0;

            "DI OUT P01".MD_34.DRV.MC_MoveAbsolute.Position := "ModulDa".P01.MaPa.Gripper34_SetOpn;

        ELSE

            "DI OUT P01".MD_34.DRV.Support.Cmd_MovAbso := NOT "DI OUT P01".MD_34.HALT_01;

            #SSM.S.stepd := "DI OUT P01".MD_34.DRV.Support.InPos AND NOT #SSM.S.steplo;

        END_IF;

       

    13: // Zaxis MovAbso towards Pos.4 drip off coating resin (up/opened)

        IF #SSM.S.stepfc THEN

            #PosPointer := 4;

            #SSM.S.c2.set := "ModulDa".P01.MaPa.Alcohol_DripOff_Time;

            "DI OUT P01".V90_Z.DRV.Support.SetVelo := "DI OUT P01".MANUAL.XYZGaxisVelo_1;

            "DI OUT P01".V90_Z.DRV.MC_MoveAbsolute.Position := "DI OUT P01".MANUAL.XYZG_TrgtPos[#PosPointer].Z;

        ELSE

            "DI OUT P01".V90_Z.DRV.Support.Cmd_MovAbso := NOT "DI OUT P01".V90_Z.HALT_01;

            #SSM.S.c2.start := "DI OUT P01".V90_Z.DRV.Support.InPos;

            #SSM.S.stepd := #SSM.S.c2.done;

        END_IF;

       

    14: // XYZaxis MovAbso towards Pos.7 part control (down/opened)

        #PosPointer := 7;

        "FC POS REACHED"(START := #SSM.S.steplo,

                         TARGET_POS := "DI OUT P01".MANUAL.XYZG_TrgtPos[#PosPointer],

                         VELO_Z := "DI OUT P01".MANUAL.XYZGaxisVelo_1,

                         VELO_XYG := "DI OUT P01".MANUAL.XYZGaxisVelo_2,

                         ENABLE_X := NOT "DI OUT P01".V90_X.HALT_01,

                         ENABLE_Y := NOT "DI OUT P01".V90_Y.HALT_01,

                         ENABLE_Z := NOT "DI OUT P01".V90_Z.HALT_01,

                         MOV_TO_POS_X => "DI OUT P01".V90_X.DRV.Support.Cmd_MovAbso,

                         MOV_TO_POS_Y => "DI OUT P01".V90_Y.DRV.Support.Cmd_MovAbso,

                         MOV_TO_POS_Z => "DI OUT P01".V90_Z.DRV.Support.Cmd_MovAbso,

                         PRECISION := 5.0,

                         TARGET_REACHED => #SSM.S.stepd);

       

    15: // Zaxis MovAbso towards Pos.2 part control (up/opened)

        IF #SSM.S.stepfc THEN

            #PosPointer := 2;

            "DI OUT P01".V90_Z.DRV.Support.SetVelo := "DI OUT P01".MANUAL.XYZGaxisVelo_1;

            "DI OUT P01".V90_Z.DRV.MC_MoveAbsolute.Position := "DI OUT P01".MANUAL.XYZG_TrgtPos[#PosPointer].Z;

            "M01 SEQ2 DoWP2" := "E00 S10 GrprPartPrsnt";

        ELSE

            "DI OUT P01".V90_Z.DRV.Support.Cmd_MovAbso := NOT "DI OUT P01".V90_Z.HALT_01;

            #SSM.S.stepd := "DI OUT P01".V90_Z.DRV.Support.InPos AND NOT #SSM.S.steplo;

        END_IF;

       

        IF NOT "M01 SEQ2 DoWP2" AND #SSM.S.stepd THEN

            "ModulDa".P01.MaPa.CounterMissingParts := "ModulDa".P01.MaPa.CounterMissingParts + 1;

            #MissingParts := #MissingParts + 1;

            IF #MissingParts >= "ModulDa".P01.MaPa.EndAfterMissingParts THEN

                #SSM.S.stepnew := 32; // ending

            ELSE

                #SSM.S.stepnew := 2;

            END_IF;

        END_IF;

       

    16: // XYZaxis MovAbso towards Pos.10 UV coting (down/opened)

        #PosPointer := 10;

        "FC POS REACHED"(START := #SSM.S.steplo,

                         TARGET_POS := "DI OUT P01".MANUAL.XYZG_TrgtPos[#PosPointer],

                         VELO_Z := "DI OUT P01".MANUAL.XYZGaxisVelo_1,

                         VELO_XYG := "DI OUT P01".MANUAL.XYZGaxisVelo_1,

                         ENABLE_X := NOT "DI OUT P01".V90_X.HALT_01,

                         ENABLE_Y := NOT "DI OUT P01".V90_Y.HALT_01,

                         ENABLE_Z := NOT "DI OUT P01".V90_Z.HALT_01,

                         MOV_TO_POS_X => "DI OUT P01".V90_X.DRV.Support.Cmd_MovAbso,

                         MOV_TO_POS_Y => "DI OUT P01".V90_Y.DRV.Support.Cmd_MovAbso,

                         MOV_TO_POS_Z => "DI OUT P01".V90_Z.DRV.Support.Cmd_MovAbso,

                         PRECISION := 5.0,

                         TARGET_REACHED => #tmp_llo);

        #SSM.S.c2.start := #tmp_llo;

        #SSM.S.c2.set := "ModulDa".P01.MaPa.UV_Coating_Time;

        #SSM.S.stepd := #SSM.S.c2.done;

       

    17: // Zaxis MovAbso towards Pos.5 UV coting (up/opened)

        IF #SSM.S.stepfc THEN

            #PosPointer := 5;

            "DI OUT P01".V90_Z.DRV.Support.SetVelo := "DI OUT P01".MANUAL.XYZGaxisVelo_1;

            "DI OUT P01".V90_Z.DRV.MC_MoveAbsolute.Position := "DI OUT P01".MANUAL.XYZG_TrgtPos[#PosPointer].Z;

            IF #HMI_QA_Test THEN

                #SSM.S.stepnew := 20;

            ELSE

                #SSM.S.stepnew := 30;

            END_IF;

        ELSE

            "DI OUT P01".V90_Z.DRV.Support.Cmd_MovAbso := NOT "DI OUT P01".V90_Z.HALT_01;

            #SSM.S.stepd := "DI OUT P01".V90_Z.DRV.Support.InPos;

        END_IF;

 

    20: // XYZaxis MovAbso towards Pos.11 QA control (down/closed)

        #PosPointer := 11;

        "FC POS REACHED"(START := #SSM.S.steplo,

                         TARGET_POS := "DI OUT P01".MANUAL.XYZG_TrgtPos[#PosPointer],

                         VELO_Z := "DI OUT P01".MANUAL.XYZGaxisVelo_1,

                         VELO_XYG := "DI OUT P01".MANUAL.XYZGaxisVelo_2,

                         ENABLE_X := NOT "DI OUT P01".V90_X.HALT_01,

                         ENABLE_Y := NOT "DI OUT P01".V90_Y.HALT_01,

                         ENABLE_Z := NOT "DI OUT P01".V90_Z.HALT_01,

                         MOV_TO_POS_X => "DI OUT P01".V90_X.DRV.Support.Cmd_MovAbso,

                         MOV_TO_POS_Y => "DI OUT P01".V90_Y.DRV.Support.Cmd_MovAbso,

                         MOV_TO_POS_Z => "DI OUT P01".V90_Z.DRV.Support.Cmd_MovAbso,

                         PRECISION := 5.0,

                         TARGET_REACHED => #tmp_llo);

        "DI OUT P01".MD_12.DRV.Support.Cmd_MovAbso := NOT "DI OUT P01".MD_12.HALT_01 AND #tmp_llo;

        "DI OUT P01".MD_34.DRV.Support.Cmd_MovAbso := NOT "DI OUT P01".MD_34.HALT_01 AND #tmp_llo;

        #SSM.S.stepd := "DI OUT P01".MD_12.DRV.Support.InPos AND "DI OUT P01".MD_34.DRV.Support.InPos AND #tmp_llo;

       

    21: // Zaxis MovAbso towards Pos.6 part control (up/opened)

        IF #SSM.S.stepfc THEN

            #PosPointer := 6;

            "DI OUT P01".V90_Z.DRV.Support.SetVelo := "DI OUT P01".MANUAL.XYZGaxisVelo_1;

            "DI OUT P01".V90_Z.DRV.MC_MoveAbsolute.Position := "DI OUT P01".MANUAL.XYZG_TrgtPos[#PosPointer].Z;

        ELSE

            "DI OUT P01".V90_Z.DRV.Support.Cmd_MovAbso := NOT "DI OUT P01".V90_Z.HALT_01;

            #SSM.S.stepd := "DI OUT P01".V90_Z.DRV.Support.InPos AND NOT #SSM.S.steplo;

        END_IF;

       

    22: // C01 Lifting gate HP/WP (Open/Close lifting gate)

        "DI OUT P01".C01.VLV_O.CmdExe_WP := "HMI KEY".P01.C01.F12_Enable_WP AND "M00 AutoCmpltMa run";

       

        IF "HMI KEY".P01.GLB.F10_Open_SafetyDoor_HMI THEN

            "M00 AutoCmpltMa run" := #SSM.S.steplo;

        ELSIF "HMI KEY".SYS.GLB.F5_Start AND "DI OUT P01".C01.FB_HP THEN

            #HMI_QA_Test := FALSE;

            #SSM.S.stepnew := 2;

            #SSM.S.c1.set := 30;

            #SSM.S.c1.start := TRUE;

        END_IF;

        #SSM.S.stepd := #SSM.S.c1.done AND "DI OUT P01".C01.FB_WP;

 

[to following page..]