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; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|