FB62 SEQ1 P04 : SEQ1 Discharging automatic mode |
|
|
|
Netzwerk 1: SEQ1 Pre-Setting #LiftStartUp := NOT "E04 4M1 LB" AND"DI OUT P04".Support."4M2 EndLimUp"; #LiftStartDn := "E04 4M1 LB" AND "DI OUT P04".Support."4M2 EndLimDown"; |
|
|
|
Netzwerk 2: Execute SEQ1 #SEQ1(STEP_PLS := "HMI KEY".P04.GLB.F17_StepPls, STEP_MNS := "HMI KEY".P04.GLB.F18_StepMns, GOTO_STEP := "HMI KEY".P04.GLB.F19_GoToStep, GOTO_STEP_NO := "HMI KEY".P04.GLB.GoToStep, MAX_STEP := 4); #ACT_STEP := #SEQ1.S.stepact; |
|
|
|
Netzwerk 3: Step jump distributor CASE #SEQ1.S.stepact OF 0: // Waiting for enabling SEQ1 "M04 SEQ1 Active" := FALSE; "M04 MW68" := 0; #SEQ1.S.stepd := "M04 HomPos" AND #SEQ1.S.steps;
1: // 4M1 Load drive set value IF #SEQ1.S.stepfc THEN "M04 SEQ1 Active" := TRUE; IF #LiftStartUp THEN "DI OUT P04"."4M1".DRV.SetTrgtPos := "DI OUT P04".MANUAL.Support."4M1".Set_TchInPos_1; RETURN; ELSIF #LiftStartDn THEN "DI OUT P04"."4M1".DRV.SetTrgtPos := "DI OUT P04".MANUAL.Support."4M1".Set_TchInPos_0; RETURN; END_IF; ELSE #SEQ1.S.stepd := NOT "DI OUT P04"."4M1".DRV.SetPoReach; END_IF;
2: // If lift is up 4M1 WP (RTT-Takt) IF "DI OUT P04".Support."4M2 EndLimUp" THEN IF "DI OUT P04"."4M1".DRV.SetPoReach THEN #SEQ1.S.c1.start := "HMI KEY".P04."4M1".F5_Set_Ref_Point := "M04 ToRTT SetPoReach" := TRUE; #SEQ1.S.c1.set := 15; "M04 Enbl RTT" := FALSE; END_IF;
"M04 4M1 GoToPos" := "HMI KEY".P04."4M1".Enable_WP AND "M04 Enbl RTT";
IF #SEQ1.S.c1.done THEN "HMI KEY".P04."4M1".F5_Set_Ref_Point := FALSE; #SEQ1.S.stepnew := 4; #SEQ1.S.stepd := "E04 4M1 LB" AND "DI OUT P04"."4M1".DRV.ReferenceOK AND "DI OUT P04"."4M1".DRV.CrntPos = 0.0; IF NOT #SEQ1.S.stepd THEN #FLT."4M1_WP" := TRUE; END_IF; END_IF; END_IF;
// If lift is down 4M1 HP (unloading) IF "DI OUT P04".Support."4M2 EndLimDown" THEN IF "DI OUT P04"."4M1".DRV.SetPoReach THEN #SEQ1.S.c1.start := "HMI KEY".P04."4M1".F5_Set_Ref_Point := "HMI KEY".P04."4M3".F5_Set_Ref_Point := TRUE; #SEQ1.S.c1.set := 15; END_IF;
"M04 4M1 GoToPos" := NOT #SEQ1.S.c1.start AND NOT "E04 4M3 LB"; "DI OUT P04".MANUAL.Support."4M3".CmdExe_slow_WP := "HMI KEY".P04."4M3".Enable_HP AND "M04 4M1 GoToPos";
IF #SEQ1.S.c1.done THEN "HMI KEY".P04."4M1".F5_Set_Ref_Point := "HMI KEY".P04."4M3".F5_Set_Ref_Point := FALSE; #SEQ1.S.stepd := NOT "E04 4M1 LB" AND "DI OUT P04"."4M1".DRV.CrntPos = 0.0 AND "DI OUT P04"."4M3".DRV.CrntPos = 0.0; IF NOT #SEQ1.S.stepd THEN #FLT."4M1_HP" := TRUE; END_IF; END_IF; END_IF;
3: // Lift 4M2 GoToPos HP (up) IF #SEQ1.S.stepfc THEN "DI OUT P04"."4M2".DRV.SetTrgtPos := "DI OUT P04".MANUAL.Support."4M2".Set_TchInPos_0; #SEQ1.S.c2.start := TRUE; #SEQ1.S.c2.set := 15; RETURN; ELSE "M04 4M2 GoToPos" := "HMI KEY".P04."4M2".Enable_WP; END_IF; IF "DI OUT P04"."4M2".DRV.SetPoReach AND #SEQ1.S.c2.done THEN "M04 4M2 GoToPos" := FALSE; #SEQ1.S.c1.start := TRUE; #SEQ1.S.c1.set := 15; "M04 SEQ1 Done" := "DI MAIN P04".SEQ1.LiftStartUp; IF NOT "M04 SEQ1 Done" AND #SEQ1.S.c1.done THEN #FLT."4M2_HP" := TRUE; END_IF; END_IF;
4: // Lift 4M2 GoToPos WP (down) IF #SEQ1.S.stepfc THEN "DI OUT P04"."4M2".DRV.SetTrgtPos := "DI OUT P04".MANUAL.Support."4M2".Set_TchInPos_1; #SEQ1.S.c2.start := TRUE; #SEQ1.S.c2.set := 15; RETURN; ELSE "M04 4M2 GoToPos" := "HMI KEY".P04."4M2".Enable_HP; END_IF; IF "DI OUT P04"."4M2".DRV.SetPoReach AND #SEQ1.S.c2.done THEN "M04 4M2 GoToPos" := FALSE; #SEQ1.S.c1.start := TRUE; #SEQ1.S.c1.set := 15; "M04 SEQ1 Done" := "DI MAIN P04".SEQ1.LiftStartDn; IF NOT "M04 SEQ1 Done" AND #SEQ1.S.c1.done THEN #FLT."4M2_WP" := TRUE; END_IF; END_IF; END_CASE; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|