



|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FB42 SEQ1 P02 : Transport Gearbox A |
|
|
|
|
|
Network 1: Pre-Setting "DI MAIN P02".M00.ReadyToStart := "DI MAIN GLB".M00.HomPos_SR AND "DI MAIN GLB".M00.AutoEntirePlant_run; |
|
|
|
|
|
Network 2: Define last step #SSM(LAST_STEP := 5); |
|
|
|
|
|
Network 3: Step Switching Mechanism (SSM) CASE #SSM.S.stepact OF 0: // Waiting for SEQ1 to start #SSM.S.stepd := "DI MAIN P01".to_P02.Gearbox_A_Request AND "DI MAIN P02".M00.ReadyToStart AND #SSM.S.steps;
1: // M201 Gearbox Assembly Conveyor CmdExe_WP "DI OUT P02".Y2011.VLV_O.Execute_WP := "HMI KEY".P02.Y2011.F12_Enable_WP AND #SSM.S.stepa; "DI OUT P02".M201.DRV.Execute_WP := "HMI KEY".P02.M201.F12_Enable_WP AND ("DI OUT P02".Y2011.FEEDBACK_WP OR "E02 Y2011 after Pos"); #SSM.S.stepd := "DI OUT P02".M201.DRV. AND "E02 Y2011 after Pos" AND "DI OUT P02".Y2011.FEEDBACK_HP;
2: // Waiting for Gearbox_A arrival at Stopper Y2012 IF #SSM.S.stepfc THEN #RunTimeCounter := 0; "DI MAIN P01".SEQ1.Gearbox_A_Totalwheels := "HMI KEY".Plantinfo_P01.Gearbox_A.TotalGearwheel; // 5 default ELSIF "E02 Y2012 at Pos" THEN "DI OUT P02".M201.DRV.Execute_WP := FALSE; #SSM.S.stepd := "DI MAIN P02".to_P01.Gearbox_A_EnabledToRun := "DI OUT P02".M201.DRV.LampHP AND NOT #SSM.S.steplo; END_IF;
3: // Waiting for P01_to_P02 Gearbox_A assembly done IF "DI MAIN P01".to_P02.Gearbox_A_Done THEN "DI OUT P02".Y2012.VLV_O.Execute_WP := "HMI KEY".P02.Y2012.F12_Enable_WP AND #SSM.S.stepa; "DI OUT P02".M201.DRV.Execute_WP := "HMI KEY".P02.M201.F12_Enable_WP AND ("DI OUT P02".Y2012.FEEDBACK_WP OR "E02 Y2012 after Pos"); #SSM.S.stepd := "DI OUT P02".M201.DRV.LampWP AND "E02 Y2012 after Pos"; END_IF;
4: // Query Plantinfo_P01.Gearbox_Assembly_Done #SSM.S.c1.start := TRUE; #SSM.S.c1.set := 30; "DI OUT P02".Y2012.VLV_O.Execute_WP := "DI OUT P02".M201.DRV.Execute_WP := NOT #SSM.S.c1.done; "DI MAIN P02".to_P01.Gearbox_A_ReadyToEnd := "DI OUT P02".M201.DRV.LampHP AND "DI OUT P02".Y2012.FEEDBACK_HP; IF "HMI KEY".P00.GLB.F6_OM_RUN_DOWN_ON THEN #SSM.S.stepd := "HMI KEY".Plantinfo_P01.Gearbox_Assembly_Done; ELSIF "DI MAIN P02".to_P01.Gearbox_A_ReadyToEnd THEN "DI OUT P01".CAMERA.Recording.Product_A := "DI MAIN P02".to_P01.Gearbox_A_ReadyToEnd := "DI MAIN P01".to_P02.Gearbox_A_Done := FALSE; "DI MAIN P01".SEQ1.Current_Gearwheel_A := #SSM.S.stepnew := 0; #SSM.S.stepd := TRUE; END_IF;
5: // Waiting to End or Repeat Gearbox Assembly #SSM.S.c1.start := "HMI KEY".Plantinfo_P01.Gearbox_Assembly_Done; #SSM.S.c1.set := 30; IF #SSM.S.c1.done THEN "DI MAIN P02".to_P01.Gearbox_A_EnabledToRun := "DI MAIN P02".to_P01.Gearbox_A_ReadyToEnd := FALSE; #SSM.S.stepd := "DI MAIN P01".to_P02.Gearbox_A_Done AND NOT "HMI KEY".P00.GLB.F6_OM_RUN_DOWN_ON; END_IF; END_CASE; |
|
|
FB43 SEQ2 P02 : Transport Gearbox B |
|
|
|
|
|
Network 1: Define last step #SSM(LAST_STEP := 5); |
|
|
|
|
|
Network 2: Step Switching Mechanism (SSM) CASE #SSM.S.stepact OF 0: // Waiting for SEQ1 to start #SSM.S.stepd := "DI MAIN P01".to_P02.Gearbox_B_Request AND "DI MAIN P02".M00.ReadyToStart AND #SSM.S.steps;
1: // M202 Gearbox Assembly Conveyor CmdExe_WP "DI OUT P02".Y2021.VLV_O.Execute_WP := "HMI KEY".P02.Y2021.F12_Enable_WP AND #SSM.S.stepa; "DI OUT P02".M202.DRV.Execute_WP := "HMI KEY".P02.M202.F12_Enable_WP AND ("DI OUT P02".Y2021.FEEDBACK_WP OR "E02 Y2021 after Pos"); #SSM.S.stepd := "DI OUT P02".M202.DRV.LampWP AND "E02 Y2021 after Pos" AND "DI OUT P02".Y2021.FEEDBACK_HP;
2: // Waiting for Gearbox_B arrival at Stopper Y2022 IF #SSM.S.stepfc THEN "DI MAIN P02".SEQ1.RunTimeCounter := 0; "DI MAIN P01".SEQ1.Gearbox_B_Totalwheels := "HMI KEY".Plantinfo_P01.Gearbox_B.TotalGearwheel; ELSIF "E02 Y2022 at Pos" THEN "DI OUT P02".M202.DRV.Execute_WP := FALSE; #SSM.S.stepd := "DI MAIN P02".to_P01.Gearbox_B_EnabledToRun := "DI OUT P02".M202.DRV.LampHP AND NOT #SSM.S.steplo; END_IF;
3: // Waiting for P01_to_P02 Gearbox_B assembly done IF "DI MAIN P01".to_P02.Gearbox_B_Done THEN "DI OUT P02".Y2022.VLV_O.Execute_WP := "HMI KEY".P02.Y2022.F12_Enable_WP AND #SSM.S.stepa; "DI OUT P02".M202.DRV.Execute_WP := "HMI KEY".P02.M202.F12_Enable_WP AND ("DI OUT P02".Y2022.FEEDBACK_WP OR "E02 Y2022 after Pos"); #SSM.S.stepd := "DI OUT P02".M202.DRV.LampWP AND "E02 Y2022 after Pos"; END_IF;
4: // Query Plantinfo_P01.Gearbox_Assembly_Done #SSM.S.c1.start := TRUE; #SSM.S.c1.set := 30; "DI OUT P02".Y2022.VLV_O.Execute_WP := "DI OUT P02".M202.DRV.Execute_WP := NOT #SSM.S.c1.done; "DI MAIN P02".to_P01.Gearbox_B_ReadyToEnd := "DI OUT P02".M202.DRV.LampHP AND "DI OUT P02".Y2022.FEEDBACK_HP; IF "HMI KEY".P00.GLB.F6_OM_RUN_DOWN_ON THEN #SSM.S.stepd := "HMI KEY".Plantinfo_P01.Gearbox_Assembly_Done; ELSIF "DI MAIN P02".to_P01.Gearbox_B_ReadyToEnd THEN "DI OUT P01".CAMERA.Recording.Product_B := "DI MAIN P02".to_P01.Gearbox_B_ReadyToEnd := "DI MAIN P01".to_P02.Gearbox_B_Done := FALSE; "DI MAIN P01".SEQ1.Current_Gearwheel_B := #SSM.S.stepnew := 0; #SSM.S.stepd := TRUE; END_IF;
5: // Waiting to End or Repeat Gearbox Assembly #SSM.S.c1.start := "HMI KEY".Plantinfo_P01.Gearbox_Assembly_Done; #SSM.S.c1.set := 30; IF #SSM.S.c1.done THEN "DI MAIN P02".to_P01.Gearbox_B_EnabledToRun := "DI MAIN P02".to_P01.Gearbox_B_ReadyToEnd := FALSE; #SSM.S.stepd := "DI MAIN P01".to_P02.Gearbox_B_Done AND NOT "HMI KEY".P00.GLB.F6_OM_RUN_DOWN_ON; END_IF; END_CASE; |
|
|
FB44 SEQ3 P02 : Transport Gearbox C |
|
|
|
|
|
Network 1: Define last step #SSM(LAST_STEP := 5); |
|
|
|
|
|
Network 2: Step Switching Mechanism (SSM) CASE #SSM.S.stepact OF 0: // Waiting for SEQ1 to start #SSM.S.stepd := "DI MAIN P01".to_P02.Gearbox_C_Request AND "DI MAIN P02".M00.ReadyToStart AND #SSM.S.steps;
1: // M203 Gearbox Assembly CmdExe_WP "DI OUT P02".Y2031.VLV_O.Execute_WP := "HMI KEY".P02.Y2021.F12_Enable_WP AND #SSM.S.stepa; "DI OUT P02".M203.DRV.Execute_WP := "HMI KEY".P02.M203.F12_Enable_WP AND ("DI OUT P02".Y2031.FEEDBACK_WP OR "E02 Y2031 after Pos"); #SSM.S.stepd := "DI OUT P02".M203.DRV.LampWP AND "E02 Y2031 after Pos" AND "DI OUT P02".Y2031.FEEDBACK_HP;
2: // Waiting for Gearbox_C arrival at Stopper Y2032 IF #SSM.S.stepfc THEN "DI MAIN P02".SEQ1.RunTimeCounter := 0; "DI MAIN P01".SEQ1.Gearbox_C_Totalwheels := "HMI KEY".Plantinfo_P01.Gearbox_C.TotalGearwheel; ELSIF "E02 Y2032 at Pos" THEN "DI OUT P02".M203.DRV.Execute_WP := FALSE; #SSM.S.stepd := "DI MAIN P02".to_P01.Gearbox_C_EnabledToRun := "DI OUT P02".M203.DRV.LampHP AND NOT #SSM.S.steplo; END_IF;
3: // Waiting for P01_to_P02 Gearbox_C assembly done IF "DI MAIN P01".to_P02.Gearbox_C_Done THEN "DI OUT P02".Y2032.VLV_O.Execute_WP := "HMI KEY".P02.Y2032.F12_Enable_WP AND #SSM.S.stepa; "DI OUT P02".M203.DRV.Execute_WP := "HMI KEY".P02.M203.F12_Enable_WP AND ("DI OUT P02".Y2032.FEEDBACK_WP OR "E02 Y2032 after Pos"); #SSM.S.stepd := "DI OUT P02".M203.DRV.LampWP AND "E02 Y2032 after Pos"; END_IF;
4: // Query Plantinfo_P01.Gearbox_Assembly_Done #SSM.S.c1.start := TRUE; #SSM.S.c1.set := 30; "DI OUT P02".Y2032.VLV_O.Execute_WP := "DI OUT P02".M203.DRV.Execute_WP := NOT #SSM.S.c1.done; "DI MAIN P02".to_P01.Gearbox_C_ReadyToEnd := "DI OUT P02".M203.DRV.LampHP AND "DI OUT P02".Y2032.FEEDBACK_HP; IF "HMI KEY".P00.GLB.F6_OM_RUN_DOWN_ON THEN #SSM.S.stepd := "HMI KEY".Plantinfo_P01.Gearbox_Assembly_Done; ELSIF "DI MAIN P02".to_P01.Gearbox_C_ReadyToEnd THEN "DI OUT P01".CAMERA.Recording.Product_C := "DI MAIN P02".to_P01.Gearbox_C_ReadyToEnd := "DI MAIN P01".to_P02.Gearbox_C_Done := FALSE; "DI MAIN P01".SEQ1.Current_Gearwheel_C := #SSM.S.stepnew := 0; #SSM.S.stepd := TRUE; END_IF;
5: // Waiting to End or Repeat Gearbox Assembly #SSM.S.c1.start := "HMI KEY".Plantinfo_P01.Gearbox_Assembly_Done; #SSM.S.c1.set := 30; IF #SSM.S.c1.done THEN "DI MAIN P02".to_P01.Gearbox_C_EnabledToRun := "DI MAIN P02".to_P01.Gearbox_C_ReadyToEnd := FALSE; #SSM.S.stepd := "DI MAIN P01".to_P02.Gearbox_C_Done AND NOT "HMI KEY".P00.GLB.F6_OM_RUN_DOWN_ON; END_IF; END_CASE; |
|