FB38 MANU P01 : Manual operation mode |
|
|
|
Netzwerk 1: 1M1 Charging conveyor IF #ST_MANU THEN "DI OUT P01"."1M1".DRV.SetValSpd := #Support."1M1".ManuSpeed_2; IF "HMI KEY".P01."1M1".F3_Jog_slow_WP OR "HMI KEY".P01."1M1".F4_Jog_slow_HP THEN "DI OUT P01"."1M1".DRV.SetValSpd := #Support."1M1".ManuSpeed_1; END_IF; // GotoPos create falling edge when set point reached #tmp_dummy_imp := FALSE; IF NOT "HMI KEY".P01."1M1".F17_GoToPos AND #Support."1M1".F17_GoToPos_FN AND NOT "DI OUT P01"."1M1".DRV.SetPoReach THEN #tmp_dummy_imp := TRUE; END_IF; #Support."1M1".F17_GoToPos_FN := "HMI KEY".P01."1M1".F17_GoToPos; // Stop GotoPos by falling edge IF #tmp_dummy_imp OR "DI OUT P01"."1M1".DRV.GenFlt THEN "HMI KEY".P01."1M1".F17_GoToPos := FALSE; END_IF; // Stop GotoPos when set point reached IF "HMI KEY".P01."1M1".F19_Jog_fast_WP OR "HMI KEY".P01."1M1".F20_Jog_fast_HP OR "DI OUT P01"."1M1".DRV.SetPoReach THEN "HMI KEY".P01."1M1".F17_GoToPos := FALSE; END_IF;
// Jog fast positive create rising edge (impulse) #tmp_dummy_imp := FALSE; IF "HMI KEY".P01."1M1".F19_Jog_fast_WP AND NOT #Support."1M1".F19_Jog_fast_WP_FP THEN #tmp_dummy_imp := TRUE; END_IF; #Support."1M1".F19_Jog_fast_WP_FP := "HMI KEY".P01."1M1".F19_Jog_fast_WP; // Jog fast positive (toggle function) IF #tmp_dummy_imp THEN #Support."1M1".CmdExe_fast_WP := NOT #Support."1M1".CmdExe_fast_WP; #Support."1M1".CmdExe_fast_HP := FALSE; END_IF; // Jog slow positive (button function) IF "HMI KEY".P01."1M1".F3_Jog_slow_WP THEN #Support."1M1".CmdExe_slow_WP := TRUE; #Support."1M1".CmdExe_fast_WP := FALSE; #Support."1M1".CmdExe_fast_HP := FALSE; ELSE #Support."1M1".CmdExe_slow_WP := FALSE; END_IF;
// Jog fast negative create rising edge (impulse) #tmp_dummy_imp := false; IF "HMI KEY".P01."1M1".F20_Jog_fast_HP AND NOT #Support."1M1".F20_Jog_fast_HP_FP THEN #tmp_dummy_imp := TRUE; END_IF; #Support."1M1".F20_Jog_fast_HP_FP := "HMI KEY".P01."1M1".F20_Jog_fast_HP; // Jog fast negative (toggle function) IF #tmp_dummy_imp THEN #Support."1M1".CmdExe_fast_HP := NOT #Support."1M1".CmdExe_fast_HP; #Support."1M1".CmdExe_fast_WP := FALSE; END_IF; // Jog slow negative (button function) IF "HMI KEY".P01."1M1".F4_Jog_slow_HP THEN #Support."1M1".CmdExe_slow_HP := TRUE; #Support."1M1".CmdExe_fast_WP := FALSE; #Support."1M1".CmdExe_fast_HP := FALSE; ELSE #Support."1M1".CmdExe_slow_HP := FALSE; END_IF; ELSE "HMI KEY".P01."1M1".F17_GoToPos := FALSE; END_IF;
// Antrieb Enable HP/WP "HMI KEY".P01."1M1".Enable_HP := "HMI KEY".P01."1M1".Enable_WP := #Support."1M1".ManuSpeed_2 > 0 AND "DI OUT P01"."1M1".DRV.ReadyToStart AND ("DI OUT P01".Support."1M2 EndLimUp" OR "DI OUT P01".Support."1M2 EndLimDown"); // Disabling HP (negative) IF NOT "HMI KEY".P01."1M1".Enable_HP OR "M00 ManuCmpltMa Imp" THEN #Support."1M1".CmdExe_fast_HP := #Support."1M1".CmdExe_slow_HP := "HMI KEY".P01."1M1".F17_GoToPos := FALSE; END_IF; // Disabling WP (positive) IF NOT "HMI KEY".P01."1M1".Enable_WP OR "M00 ManuCmpltMa Imp" THEN #Support."1M1".CmdExe_fast_WP := #Support."1M1".CmdExe_slow_WP := "HMI KEY".P01."1M1".F17_GoToPos := FALSE; END_IF; // Execute WP/HP travel "DI OUT P01"."1M1".DRV.ActorJog_WP := #Support."1M1".CmdExe_fast_WP OR #Support."1M1".CmdExe_slow_WP; "DI OUT P01"."1M1".DRV.ActorJog_HP := #Support."1M1".CmdExe_fast_HP OR #Support."1M1".CmdExe_slow_HP; |
|
|
|
Netzwerk 2: 1M2 Lifting drive IF #ST_MANU THEN "DI OUT P01"."1M2".DRV.SetValSpd := "DI OUT P01".MANUAL.Support."1M2".ManuSpeed_2; IF "HMI KEY".P01."1M2".F3_Jog_slow_WP OR "HMI KEY".P01."1M2".F4_Jog_slow_HP THEN "DI OUT P01"."1M2".DRV.SetValSpd := #Support."1M2".ManuSpeed_1; END_IF; // GotoPos create falling edge when set point reached #tmp_dummy_imp := FALSE; IF NOT "HMI KEY".P01."1M2".F17_GoToPos AND #Support."1M2".F17_GoToPos_FN AND NOT "DI OUT P01"."1M2".DRV.SetPoReach THEN #tmp_dummy_imp := TRUE; END_IF; #Support."1M2".F17_GoToPos_FN := "HMI KEY".P01."1M2".F17_GoToPos; // Stop GotoPos by falling edge IF #tmp_dummy_imp OR "DI OUT P01"."1M2".DRV.GenFlt THEN "HMI KEY".P01."1M2".F17_GoToPos := FALSE; END_IF; // Stop GotoPos when set point reached IF "HMI KEY".P01."1M2".F19_Jog_fast_WP OR "HMI KEY".P01."1M2".F20_Jog_fast_HP OR "DI OUT P01"."1M2".DRV.SetPoReach THEN "HMI KEY".P01."1M2".F17_GoToPos := FALSE; END_IF;
// Jog fast positive create rising edge (impulse) #tmp_dummy_imp := FALSE; IF "HMI KEY".P01."1M2".F19_Jog_fast_WP AND NOT #Support."1M2".F19_Jog_fast_WP_FP THEN #tmp_dummy_imp := TRUE; END_IF; #Support."1M2".F19_Jog_fast_WP_FP := "HMI KEY".P01."1M2".F19_Jog_fast_WP; // Jog fast positive (toggle function) IF #tmp_dummy_imp THEN #Support."1M2".CmdExe_fast_WP := NOT #Support."1M2".CmdExe_fast_WP; #Support."1M2".CmdExe_fast_HP := FALSE; END_IF; // Jog slow positive (button function) IF "HMI KEY".P01."1M2".F3_Jog_slow_WP THEN #Support."1M2".CmdExe_slow_WP := TRUE; #Support."1M2".CmdExe_fast_WP := FALSE; #Support."1M2".CmdExe_fast_HP := FALSE; ELSE #Support."1M2".CmdExe_slow_WP := FALSE; END_IF;
// Jog fast negative create rising edge (impulse) #tmp_dummy_imp := false; IF "HMI KEY".P01."1M2".F20_Jog_fast_HP AND NOT #Support."1M2".F20_Jog_fast_HP_FP THEN #tmp_dummy_imp := TRUE; END_IF; #Support."1M2".F20_Jog_fast_HP_FP := "HMI KEY".P01."1M2".F20_Jog_fast_HP; // Jog fast negative (toggle function) IF #tmp_dummy_imp THEN #Support."1M2".CmdExe_fast_HP := NOT #Support."1M2".CmdExe_fast_HP; #Support."1M2".CmdExe_fast_WP := FALSE; END_IF; // Jog slow negative (button function) IF "HMI KEY".P01."1M2".F4_Jog_slow_HP THEN #Support."1M2".CmdExe_slow_HP := TRUE; #Support."1M2".CmdExe_fast_WP := FALSE; #Support."1M2".CmdExe_fast_HP := FALSE; ELSE #Support."1M2".CmdExe_slow_HP := FALSE; END_IF; ELSE "HMI KEY".P01."1M2".F17_GoToPos := FALSE; END_IF;
// Enabling HP/WP "HMI KEY".P01."1M2".Enable_HP := "DI OUT P01"."1M2".DRV.CrntPos >= "DI OUT P01"."1M2".DRV.MinAxisPoint AND #Support."1M2".ManuSpeed_2 > 0 AND "DI OUT P01"."1M2".DRV.ReadyToStart; "HMI KEY".P01."1M2".Enable_WP := "DI OUT P01"."1M2".DRV.CrntPos <= "DI OUT P01"."1M2".DRV.MaxAxisPoint AND #Support."1M2".ManuSpeed_2 > 0 AND "DI OUT P01"."1M2".DRV.ReadyToStart; // Disabling HP (negative) IF NOT "HMI KEY".P01."1M2".Enable_HP OR "M00 ManuCmpltMa Imp" THEN #Support."1M2".CmdExe_fast_HP := #Support."1M2".CmdExe_slow_HP := "HMI KEY".P01."1M2".F17_GoToPos := FALSE; END_IF; // Disabling WP (positive) IF NOT "HMI KEY".P01."1M2".Enable_WP OR "M00 ManuCmpltMa Imp" THEN #Support."1M2".CmdExe_fast_WP := #Support."1M2".CmdExe_slow_WP := "HMI KEY".P01."1M2".F17_GoToPos := FALSE; END_IF; // Execute WP/HP travel "DI OUT P01"."1M2".DRV.ActorJog_WP := #Support."1M2".CmdExe_fast_WP OR #Support."1M2".CmdExe_slow_WP; "DI OUT P01"."1M2".DRV.ActorJog_HP := #Support."1M2".CmdExe_fast_HP OR #Support."1M2".CmdExe_slow_HP; |
|
|
|
Netzwerk 3: 1M3 Cooling conveyor 2 IF #ST_MANU THEN "DI OUT P01"."1M3".DRV.SetValSpd := "DI OUT P01".MANUAL.Support."1M3".ManuSpeed_2; IF "HMI KEY".P01."1M3".F3_Jog_slow_WP OR "HMI KEY".P01."1M3".F4_Jog_slow_HP THEN "DI OUT P01"."1M3".DRV.SetValSpd := #Support."1M3".ManuSpeed_1; END_IF; // GotoPos create falling edge when set point reached #tmp_dummy_imp := FALSE; IF NOT "HMI KEY".P01."1M3".F17_GoToPos AND #Support."1M3".F17_GoToPos_FN AND NOT "DI OUT P01"."1M3".DRV.SetPoReach THEN #tmp_dummy_imp := TRUE; END_IF; #Support."1M3".F17_GoToPos_FN := "HMI KEY".P01."1M3".F17_GoToPos; // Stop GotoPos by falling edge IF #tmp_dummy_imp OR "DI OUT P01"."1M3".DRV.GenFlt THEN "HMI KEY".P01."1M3".F17_GoToPos := FALSE; END_IF; // Stop GotoPos when set point reached IF "HMI KEY".P01."1M3".F19_Jog_fast_WP OR "HMI KEY".P01."1M3".F20_Jog_fast_HP OR "DI OUT P01"."1M3".DRV.SetPoReach THEN "HMI KEY".P01."1M3".F17_GoToPos := FALSE; END_IF;
// Jog fast positive create rising edge (impulse) #tmp_dummy_imp := FALSE; IF "HMI KEY".P01."1M3".F19_Jog_fast_WP AND NOT #Support."1M3".F19_Jog_fast_WP_FP THEN #tmp_dummy_imp := TRUE; END_IF; #Support."1M3".F19_Jog_fast_WP_FP := "HMI KEY".P01."1M3".F19_Jog_fast_WP; // Jog fast positive (toggle function) IF #tmp_dummy_imp THEN #Support."1M3".CmdExe_fast_WP := NOT #Support."1M3".CmdExe_fast_WP; #Support."1M3".CmdExe_fast_HP := FALSE; END_IF; // Jog slow positive (button function) IF "HMI KEY".P01."1M3".F3_Jog_slow_WP THEN #Support."1M3".CmdExe_slow_WP := TRUE; #Support."1M3".CmdExe_fast_WP := FALSE; #Support."1M3".CmdExe_fast_HP := FALSE; ELSE #Support."1M3".CmdExe_slow_WP := FALSE; END_IF;
// Jog fast negative create rising edge (impulse) #tmp_dummy_imp := FALSE; IF "HMI KEY".P01."1M3".F20_Jog_fast_HP AND NOT #Support."1M3".F20_Jog_fast_HP_FP THEN #tmp_dummy_imp := TRUE; END_IF; #Support."1M3".F20_Jog_fast_HP_FP := "HMI KEY".P01."1M3".F20_Jog_fast_HP; // Jog fast negative (toggle function) IF #tmp_dummy_imp THEN #Support."1M3".CmdExe_fast_HP := NOT #Support."1M3".CmdExe_fast_HP; #Support."1M3".CmdExe_fast_WP := FALSE; END_IF; // Jog slow negative (button function) IF "HMI KEY".P01."1M3".F4_Jog_slow_HP THEN #Support."1M3".CmdExe_slow_HP := TRUE; #Support."1M3".CmdExe_fast_WP := FALSE; #Support."1M3".CmdExe_fast_HP := FALSE; ELSE #Support."1M3".CmdExe_slow_HP := FALSE; END_IF; ELSE "HMI KEY".P01."1M3".F17_GoToPos := FALSE; END_IF;
// Enabling HP/WP "HMI KEY".P01."1M3".Enable_HP := "HMI KEY".P01."1M3".Enable_WP := #Support."1M3".ManuSpeed_2>0 AND "DI OUT P01"."1M3".DRV.ReadyToStart; // Disabling HP (negative) IF NOT "HMI KEY".P01."1M3".Enable_HP OR "M00 ManuCmpltMa Imp" THEN #Support."1M3".CmdExe_fast_HP := #Support."1M3".CmdExe_slow_HP := "HMI KEY".P01."1M3".F17_GoToPos := FALSE; END_IF; // Disabling WP (positive) IF NOT "HMI KEY".P01."1M3".Enable_WP OR "M00 ManuCmpltMa Imp" THEN #Support."1M3".CmdExe_fast_WP := #Support."1M3".CmdExe_slow_WP := "HMI KEY".P01."1M3".F17_GoToPos := FALSE; END_IF; // Execute WP/HP travel "DI OUT P01"."1M3".DRV.ActorJog_WP := #Support."1M3".CmdExe_fast_WP OR #Support."1M3".CmdExe_slow_WP; "DI OUT P01"."1M3".DRV.ActorJog_HP := #Support."1M3".CmdExe_fast_HP OR #Support."1M3".CmdExe_slow_HP; |
|
|
|
Netzwerk 4: Monitoring pneumatics manual operation *** #tmp_dummy_imp := FALSE; IF NOT #ST_MANU THEN RETURN; ELSIF #MODUL_HP AND NOT #Support.GLB.Modl_HomPos_FP THEN #tmp_dummy_imp := TRUE; END_IF; #Support.GLB.Modl_HomPos_FP := #MODUL_HP; IF #tmp_dummy_imp THEN "M01 Init" := true; END_IF; IF #SUPPORT_SEQ THEN RETURN; END_IF; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|