Home

 

Erfahrung

 

Referenzen

 

Sondermaschinen

 

MSR-Maschinen

 

SPS-Programmierung

 

Visualisierung HMI

 

Elektro CAD

 

Leistungsprofil

 

Personalia

 

SW-Development

 

Dokumentation

 

 

 

Impressum & DSGVO

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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.