|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
OB1 Main : Main Program Sweep |
|
|
|
Netzwerk 1: Start measuring runtime (Start Cycle) "HMI SYS".Support.LastCycle := RUNTIME("HMI SYS".Support.LastCycle_inout); |
|
|
|
Netzwerk 2: Pulse generator "HMI SYS".Support.Sav_Clock_Byte := "HMI SYS".Support.Sav_Clock_Byte XOR "Clock_Byte"; "M00 PLC Impulse" := "HMI SYS".Support.Sav_Clock_Byte AND "Clock_Byte"; "HMI SYS".Support.Sav_Clock_Byte := "Clock_Byte"; |
|
|
|
Netzwerk 3: CALL distributor "DI MAIN GLB"(); —-> "DI MAIN P01"(); // Process01, main module function block —-> "DI MAIN P02"(); // Process02, main module function block —-> "DI MAIN P03"(); // Process03, main module function block --> "DI MAIN P04"(); // Process04, main module function block //----- --> "DI OUT P01"(); // Process01, execute output stage --> "DI OUT P02"(); // Process02, execute output stage --> "DI OUT P03"(); // Process03, execute output stage --> "DI OUT P04"(); // Process04, execute output stage |
|
|
|
Netzwerk 4: First cycle evaluation UN "M00 OB1 FirstCycle" L s5t#4s SV "T00 OB1 FirstCycle" U "T00 OB1 FirstCycle" = "M00 OB1 FrstCyclePuse"
U "M00 log 1" L s5t#2s SE "T01 1A1 STROB SA" U "T01 1A1 STROB SA" = "M00 OB1 FirstCycle" |
|
|
|
Netzwerk 5: Flag logic =0 "M00 log 0" := FALSE; "M00 log 1" := TRUE; |
|
|
|
Netzwerk 6: End measuring runtime (End Cycle) "HMI SYS".Support.LastCycle := RUNTIME("HMI SYS".Support.LastCycle_inout); "HMI SYS".Support.LastCycle_real := LREAL_TO_REAL(IN := "HMI SYS".Support.LastCycle); |
|
|
|
FB20 MAIN GLB : Global signals evaluation |
|
|
|
Netzwerk 1: Fault acknowledgement "M00 ACK Imp" := NOT "M00 ACK FP" AND "HMI KEY".SYS.GLB.F1_AckKey OR "M00 OB1 FrstCyclePuse"; "M00 ACK FP" := "HMI KEY".SYS.GLB.F1_AckKey; |
|
|
|
Netzwerk 2: Call main station safety program "M00 EStp ok" := "E00 Estop P01" AND "E00 Estop P02" AND "E00 Estop P03" AND "E00 Estop P04"; |
|
|
|
Netzwerk 3: GLB FLT faults monitoring #FLT(FLT_MODULE := "M00 FLT ModuStp"); |
|
|
|
Netzwerk 4: Assigned failure complete machine "M00 FltCmpltMaIS" := "M00 FLT ModuStp" OR "M01 FLT ModuStp" OR "M02 FLT ModuStp" OR "M03 FLT ModuStp" OR "M04 FLT ModuStp"; |
|
|
|
Netzwerk 5: Set failure complet machine IF "M00 FltCmpltMaIS" THEN "M00 FltCmpltMaSR" := true; END_IF;
IF "M00 FltCmpltMaSR" AND NOT "M00 Flt ACK" THEN IF "M00 FltCmpltMaSR" AND "M00 ACK Imp" THEN "M00 Flt ACK" := true; END_IF; ELSIF NOT "M00 FltCmpltMaIS" AND "M00 Flt ACK" THEN "M00 FltCmpltMaSR" := "M00 Flt ACK" := FALSE; END_IF; |
|
|
|
Netzwerk 6: Query assembly module at home position "M00 HomPos" :="M01 HomPos" AND "M02 HomPos" AND "M03 HomPos" AND "M04 HomPos"; IF "M00 HomPos" THEN "M00 HomPosSR" := TRUE; END_IF; |
|
|
|
Netzwerk 7: Start operating mode AUTOMATIC IF ("M00 HomPosSR" OR "M00 HomPos") AND "HMI KEY".SYS.GLB.F3_OM_AUTO_ON THEN "M00 OM AUTO" := TRUE; "M00 OM MANUAL" := "M00 OM HOME POS" := "M00 ManuCmpltMa run" := FALSE; END_IF; IF ("M00 HomPosSR" OR "M00 HomPos") AND "M00 OM AUTO" AND "HMI KEY".SYS.GLB.F5_Start THEN "M00 AutoCmpltMa run" := TRUE; END_IF; |
|
|
|
Netzwerk 8: Start operating mode MANUAL IF "HMI KEY".SYS.GLB.F4_OM_MANU_ON THEN "M00 OM MANUAL" := TRUE; "M00 OM AUTO" := "M00 AutoCmpltMa run" := "M00 OM HOME POS" := FALSE; END_IF; IF "HMI KEY".SYS.GLB.F5_Start AND "M00 OM MANUAL" THEN "M00 ManuCmpltMa run":=TRUE; END_IF; "M00 ManuCmpltMa Imp" := NOT "M00 ManuCmpltMa run" AND "M00 ManuCmpltM FN"; "M00 ManuCmpltM FN" := "M00 ManuCmpltMa run"; |
|
|
|
Netzwerk 9: STOP all operating mode #tmp_save := "M00 OM HOME POS" OR (("M00 AutoCmpltMa run" OR "M00 ManuCmpltMa run") AND "HMI KEY".SYS.GLB.F8_Stop); IF #tmp_save OR "M00 FltCmpltMaSR" THEN "M00 AutoCmpltMa run" := FALSE; END_IF; IF #tmp_save OR "M00 ManuCmpltMa Imp" THEN "M00 ManuCmpltMa run" := FALSE; END_IF; |
|
|
|
Netzwerk 10: Impuls Start complete machine "M00 TrnsSysRun Imp" := NOT "M00 TrnsSysRun FP" AND ("M00 AutoCmpltMa run" OR "M00 ManuCmpltMa run" OR #SET.SET.S.steps); "M00 TrnsSysRun FP" := "M00 AutoCmpltMa run" OR "M00 ManuCmpltMa run" OR #SET.SET.S.steps; |
|
|
|
Netzwerk 11: Show key colour on HMI "HMI KEY".SYS.GLB.OM_ON_RUN := "M00 TrnsSysRun FP"; "HMI KEY".SYS.GLB.F11_Show_KeyColour_Start_Stop := "M00 AutoCmpltMa run" OR "M00 ManuCmpltMa run" OR #SET.SET.S.steps; "HMI KEY".SYS.GLB.Show_Key_Start_Stop := "M00 OM AUTO" OR "M00 OM MANUAL" OR "M00 OM HOME POS"; |
|
|
|
Netzwerk 12: Enable running each module "M00 Enabled" := "M00 OM HOME POS" AND NOT "M00 FltCmpltMaSR"; "M01 Enabled" := "M00 AutoCmpltMa run" OR (101 = "HMI SYS".TP1900Comfort.AreaPoint.Screen.Number AND "M00 ManuCmpltMa run"); "M02 Enabled" := "M00 AutoCmpltMa run" OR (102 = "HMI SYS".TP1900Comfort.AreaPoint.Screen.Number AND "M00 ManuCmpltMa run"); "M03 Enabled" := "M00 AutoCmpltMa run" OR (103 = "HMI SYS".TP1900Comfort.AreaPoint.Screen.Number AND "M00 ManuCmpltMa run"); "M04 Enabled" := "M00 AutoCmpltMa run" OR (104 = "HMI SYS".TP1900Comfort.AreaPoint.Screen.Number AND "M00 ManuCmpltMa run"); |
|
|
|
Netzwerk 13: START home position complete machine IF "HMI KEY".SYS.GLB.F7_OM_HOM_POS_ON AND NOT "M00 HomPos" THEN "M00 OM HOME POS" := TRUE; "M00 OM AUTO" := "M00 OM MANUAL" := FALSE; END_IF; IF "HMI KEY".SYS.GLB.F5_Start AND "M00 OM HOME POS" AND NOT "M00 FltCmpltMaSR" THEN #SET.SET.S.steps := TRUE; "M00 HomPosSR" := FALSE; END_IF; IF NOT "M00 OM HOME POS" OR "HMI KEY".SYS.GLB.F8_Stop THEN #SET.SET.S.steps := FALSE; END_IF; "M00 Active" := #SET.SET.S.steps; #SET.SET.S.steph := "M00 FltCmpltMaSR"; #SET(ACT_STEP => #SET.STEP_NO); |
|
To go to next HMI image use the touch buttons; some of them are interactive. |