FB38 MAN P01 : CEA Hydraulic Press - Test and Manual Mode

 

Over Run Traverse Control (OTC) appears after PLC-start up. Due to human/machine safety this test must be successfully carried out. If the ram is above test position OTC_, it will then performs a free fall traverse towards OTC_ and then break. If the ram is below OTC_ it will then perform a rapid traverse up towards TDC_ and break. With passing the test ends up this operation mode after 5 sec. Operation mode MANU and AUTO can not be activated when OTC is not done. 

 

Netzwerk 1: Pre-setting

 

#tmp_enable_hydraulic_test :=

"E01 HydOil Off Min"

AND "M00 EStp ok"

AND "DI OUT P01".T36_PEW_SCAL.Support.Out_Scale < 80.0 // oil temperature

AND "DI OUT P01".P113_PEW_SCAL.Support.Out_Scale < 220.0; // Auxiliary oil pressure tank

 

// Halt moving up and down

#tmp_logical_link_outcome :=

"DI OUT P01".MaPa.Support.CmdExe_Ram_Dn AND "DI OUT P01".MaPa.Set_Force_Pressing_kN > "DI OUT P01".P421_PEW_SCAL_kN.Support.Out_Scale AND NOT "DI OUT P01".MaPa.Support.BDC_reached

OR "DI OUT P01".MaPa.Support.CmdExe_Ram_Up AND NOT "DI OUT P01".MaPa.Support.Slow_TDC_reached

OR "DI OUT P01".MaPa.Support.CmdExe_Ram_Dn_PL AND NOT "DI OUT P01".MaPa.Support.BDC_reached

OR "DI OUT P01".MaPa.Support.CmdExe_Ram_OTC AND "M00 Ram OTC" AND NOT "DI OUT P01".Save_OTC_reached

AND "DI OUT P01".C27.FB_WP

AND "DI OUT P01".M01.DRV.LampWP

AND "DI OUT P01".M03.DRV.LampWP

AND "DI OUT P01".M02.DRV.LampWP;

 

// Halt impulse moving up and down

#Support.RamHALT_Imp := NOT #tmp_logical_link_outcome AND #Support.RamHALT_FEg;

#Support.RamHALT_FEg := #tmp_logical_link_outcome;

 

 

 

Netzwerk 2: Overrun Traverse Control (OTC)

 

IF "DI OUT P01".MaPa.Support.CmdExe_Ram_OTC AND "M00 Ram OTC" AND NOT "DI OUT P01".Save_OTC_reached AND #tmp_logical_link_outcome AND NOT "M00 HYD OpraTest" THEN

    // Ram rapid traverse down OTC

    IF "DI OUT P01".LinearEncoder_Master.ActPos_Dint > "DI OUT P01".MaPa.Set_OTC_Pos THEN

        "DI OUT P01".YF41E_PAW_VALU.Support.CmdExe_WP :=

        "DI OUT P01".YP43E_PAW_VALU.Support.CmdExe_WP := TRUE;

        "DI OUT P01".YF41E_PAW_RAMP.Support.Steep := 2.5;

        "DI OUT P01".YF41E_PAW_RAMP.Support.Target := "DI OUT P01".MaPa.Set_VolFlow_OTC;

        "DI OUT P01".YP42_PAW_RAMP.Support.Target := "DI OUT P01".MaPa.Set_Pressure_bar;

        "DI OUT P01".YP43E_PAW_RAMP.Support.Target := "DI OUT P01".YP43E_PAW_RAMP.Support.Target;

        // C13 WP, Y09 WP, Y04 WP, Y05 WP, Y08 WP, Y03 HP

        "DI OUT P01".C13.CmdExe_HP := FALSE;

        "DI OUT P01".C13.CmdExe_WP := "HMI KEY".P01.C13.F12_Enable_WP;

        "DI OUT P01".Y09.CmdExe_WP := "HMI KEY".P01.Y09.F12_Enable_WP;

        "DI OUT P01".Y04.CmdExe_WP := "HMI KEY".P01.Y04.F12_Enable_WP;

        "DI OUT P01".Y08.CmdExe_WP := "HMI KEY".P01.Y08.F12_Enable_WP;

        "DI OUT P01".Y05.CmdExe_WP := "HMI KEY".P01.Y05.F12_Enable_WP;

        "DI OUT P01".Y03.CmdExe_WP := FALSE;

    ELSE // Ram rapid traverse up OTC

        "DI OUT P01".YF41E_PAW_VALU.Support.CmdExe_WP :=

        "DI OUT P01".YP43E_PAW_VALU.Support.CmdExe_WP := TRUE;

        "DI OUT P01".YF41E_PAW_RAMP.Support.Steep := 2.5;

        "DI OUT P01".YF41E_PAW_RAMP.Support.Target := "DI OUT P01".MaPa.Set_VolFlow_OTC;

        "DI OUT P01".YP42_PAW_RAMP.Support.Target := "DI OUT P01".MaPa.Max_Pressure_bar;

        "DI OUT P01".YP43E_PAW_RAMP.Support.Target := 0.0;

        // C13 HP, Y09 WP, Y04 WP, Y05 HP, Y08 WP, Y03 HP

        "DI OUT P01".C13.CmdExe_WP := FALSE;

        "DI OUT P01".C13.CmdExe_HP := "HMI KEY".P01.C13.F11_Enable_HP;

        "DI OUT P01".Y09.CmdExe_WP := "HMI KEY".P01.Y09.F12_Enable_WP;

        "DI OUT P01".Y04.CmdExe_WP := "HMI KEY".P01.Y04.F12_Enable_WP;

        "DI OUT P01".Y08.CmdExe_WP := "HMI KEY".P01.Y08.F12_Enable_WP;

        "DI OUT P01".Y05.CmdExe_WP :=

        "DI OUT P01".Y03.CmdExe_WP := FALSE;

    END_IF;

END_IF;

#Support.RamOTC_TON(IN := "M00 Ram OTC" AND "DI OUT P01".Save_OTC_reached,

                    PT := t#5s);

IF #Support.RamOTC_TON.Q THEN

    "M00 Ram OTC" := "DI OUT P01".Save_OTC_reached := FALSE;

END_IF;

 

 

 

Netzwerk 3: Manual Mode

 

IF "M00 ManuCmpltMa run" THEN

    // Manual mode 2Hd ram down 2Hd + pressing

    IF "DI OUT P01".MaPa.Support.CmdExe_Ram_Dn AND NOT "DI OUT P01".MaPa.Support.BDC_reached

        AND "DI OUT P01".MaPa.Set_Force_Pressing_kN > "DI OUT P01".P421_PEW_SCAL_kN.Support.Out_Scale THEN

        "DI OUT P01".YF41E_PAW_VALU.Support.CmdExe_WP := TRUE;

        "DI OUT P01".YP43E_PAW_VALU.Support.CmdExe_WP := FALSE;

        "DI OUT P01".YF41E_PAW_RAMP.Support.Steep := 1.0;

        "DI OUT P01".YF41E_PAW_RAMP.Support.Target := "DI OUT P01".MaPa.Set_VolFlow_Down_2Hd;

        "DI OUT P01".YP43E_PAW_RAMP.Support.Target := 0.0;

        IF "DI OUT P01".MaPa.Max_RRT_Pos > "DI OUT P01".LinearEncoder_Master.ActPos_Dint THEN

            "M01 YP42 Linear CmdExe" := TRUE;

            "ParallelismControl"(ENABLE := "M01 YP42 Linear CmdExe",

                                 TOLERANCE := "DI OUT P01".MaPa.Set_ParaTolerance,

                                 PARA_FAULT => "DI MAIN P01".SEQ1.FLT."3_FAULT_00_15".%X0);

        END_IF;

        // C13 WP, Y09 WP, Y04 WP, Y05 WP, Y08 WP, Y03 HP

        "DI OUT P01".C13.CmdExe_HP := FALSE;

        "DI OUT P01".C13.CmdExe_WP := "HMI KEY".P01.C13.F12_Enable_WP;

        "DI OUT P01".Y09.CmdExe_WP := "HMI KEY".P01.Y09.F12_Enable_WP;

        "DI OUT P01".Y04.CmdExe_WP := "HMI KEY".P01.Y04.F12_Enable_WP;

        "DI OUT P01".Y08.CmdExe_WP := "HMI KEY".P01.Y08.F12_Enable_WP;

        "DI OUT P01".Y05.CmdExe_WP := "HMI KEY".P01.Y05.F12_Enable_WP;

        "DI OUT P01".Y03.CmdExe_WP := FALSE;

        // Manual mode 2Hd ram up

    ELSIF "DI OUT P01".MaPa.Support.CmdExe_Ram_Up AND NOT "DI OUT P01".MaPa.Support.Slow_TDC_reached THEN

        "DI OUT P01".YF41E_PAW_VALU.Support.CmdExe_WP := TRUE;

        "DI OUT P01".YP43E_PAW_VALU.Support.CmdExe_WP := FALSE;

        "DI OUT P01".YF41E_PAW_RAMP.Support.Steep := 1.0;

        "DI OUT P01".YF41E_PAW_RAMP.Support.Target := "DI OUT P01".MaPa.Set_VolFlow_Up_2Hd;

        "DI OUT P01".YP42_PAW_RAMP.Support.Target :=

        "DI OUT P01".YP43E_PAW_RAMP.Support.Target := 0.0;

        // C13 HP, Y09 WP, Y04 WP, Y05 HP, Y08 WP, Y03 HP

        "DI OUT P01".C13.CmdExe_WP := FALSE;

        "DI OUT P01".C13.CmdExe_HP := "HMI KEY".P01.C13.F11_Enable_HP;

        "DI OUT P01".Y09.CmdExe_WP := "HMI KEY".P01.Y09.F12_Enable_WP;

        "DI OUT P01".Y04.CmdExe_WP := "HMI KEY".P01.Y04.F12_Enable_WP;

        "DI OUT P01".Y08.CmdExe_WP := "HMI KEY".P01.Y08.F12_Enable_WP;

        "DI OUT P01".Y05.CmdExe_WP :=

        "DI OUT P01".Y03.CmdExe_WP := FALSE;

        // Manual mode pressure less down

    ELSIF "E01 PrsurLes EnblKs" AND "DI OUT P01".MaPa.Support.CmdExe_Ram_Dn_PL AND NOT "DI OUT P01".MaPa.Support.BDC_reached THEN

        "DI OUT P01".YF41E_PAW_VALU.Support.CmdExe_WP := TRUE;

        "DI OUT P01".YP43E_PAW_VALU.Support.CmdExe_WP := FALSE;

        "DI OUT P01".YF41E_PAW_RAMP.Support.Steep := 0.1;

        "DI OUT P01".YF41E_PAW_RAMP.Support.Target := "DI OUT P01".MaPa.Set_VolFlow_PrsrLess;

        "DI OUT P01".YP42_PAW_RAMP.Support.Target := "DI OUT P01".MaPa.Mim_Pressure_bar;

        "DI OUT P01".YP43E_PAW_RAMP.Support.Target := 0.0;

        // C13 HP/WP, Y09 HP, Y04 WP, Y05 HP, Y08 HP, Y03 WP

        "DI OUT P01".C13.CmdExe_WP :=

        "DI OUT P01".C13.CmdExe_HP :=

        "DI OUT P01".Y09.CmdExe_WP := FALSE;

        "DI OUT P01".Y04.CmdExe_WP := "HMI KEY".P01.Y04.F12_Enable_WP;

        "DI OUT P01".Y08.CmdExe_WP :=

        "DI OUT P01".Y05.CmdExe_WP := FALSE;

        "DI OUT P01".Y03.CmdExe_WP := "HMI KEY".P01.Y03.F12_Enable_WP;

    END_IF;

END_IF;

// Halt moving up and down

IF #Support.RamHALT_Imp OR "DI MAIN GLB".TOF_ManuOff_Pulse.Q THEN

    "DI OUT P01".C13.CmdExe_WP :=

    "DI OUT P01".C13.CmdExe_HP :=

    "DI OUT P01".Y09.CmdExe_WP :=

    "DI OUT P01".Y03.CmdExe_WP :=

    "DI OUT P01".Y04.CmdExe_WP :=

    "DI OUT P01".Y08.CmdExe_WP :=

    "DI OUT P01".Y05.CmdExe_WP := FALSE;

END_IF;

 

 

Home

 

Erfahrung

 

Referenzen

 

Sondermaschinen

 

MSR-Maschinen

 

SPS-Programmierung

 

Visualisierung HMI

 

Elektro CAD

 

Leistungsprofil

 

Personalia

 

SW-Development

 

Dokumentation

 

 

 

Impressum & DSGVO