Call Main-Safety-Block OB123 |
FB38 MAN P01 : CEA Hydraulic Press - Test and Manual Mode |
|
|
|
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
// Start stop Traverse-Control Procedure #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 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 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;
// Stop impuse semi automaic mode #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; |
|
|
|
Netzwerk 4: M01 Control pump
"HMI KEY".P01.M01.F12_Enable_WP := #tmp_enable_hydraulic_test AND NOT "DI OUT P01".M01.drv_com_flt; |
|
|
|
Netzwerk 5: M02 Main pump 1
"HMI KEY".P01.M02.F12_Enable_WP := #tmp_enable_hydraulic_test AND NOT "DI OUT P01".M02.drv_com_flt; IF NOT "HMI KEY".P01.M02.F12_Enable_WP THEN "DI OUT P01".M02.DRV.CmdExe_WP := FALSE; END_IF; |
|
|
|
Netzwerk 6: M03 Main pump 2
"HMI KEY".P01.M03.F12_Enable_WP := #tmp_enable_hydraulic_test AND NOT "DI OUT P01".M03.drv_com_flt; IF NOT "HMI KEY".P01.M03.F12_Enable_WP THEN "DI OUT P01".M03.DRV.CmdExe_WP := FALSE; END_IF; |
|
|
|
Netzwerk 7: M04 Stroke limitation drive
// Jog fast WP (toggle function) IF #ST_MANU AND NOT #SUPPORT_SEQ THEN IF "HMI KEY".P01.M04.F19_Jog_fast_WP AND NOT #M04.F19_Jog_fast_WP_REg THEN #M04.CmdExe_fast_WP := NOT #M04.CmdExe_slow_WP AND "DI OUT P01".RE04_ActDiff_Val < 0; #M04.CmdExe_fast_HP := FALSE; // Jog fast WP (toggle function) ELSIF "HMI KEY".P01.M04.F20_Jog_fast_HP AND NOT #M04.F20_Jog_fast_HP_REg THEN #M04.CmdExe_fast_HP := NOT #M04.CmdExe_fast_HP AND "DI OUT P01".RE04_ActDiff_Val > 0; #M04.CmdExe_fast_WP := FALSE; // Jog slow WP (button function) ELSIF "HMI KEY".P01.M04.F3_Jog_slow_WP OR "DI OUT P01".RE04.Support.Adjustment_cmd THEN #M04.CmdExe_slow_WP := "HMI KEY".P01.M04.F3_Jog_slow_WP; #M04.CmdExe_fast_HP := #M04.CmdExe_fast_WP := FALSE; // Jog slow WP (button function) ELSIF "HMI KEY".P01.M04.F4_Jog_slow_HP OR "DI OUT P01".RE04.Support.Adjustment_cmd THEN #M04.CmdExe_slow_HP := "HMI KEY".P01.M04.F4_Jog_slow_HP; #M04.CmdExe_fast_HP := #M04.CmdExe_fast_WP := FALSE; ELSE #M04.CmdExe_slow_HP := #M04.CmdExe_slow_WP := FALSE; END_IF; // Jog fast WP HP (Assigning rising edge) #M04.F19_Jog_fast_WP_REg := "HMI KEY".P01.M04.F19_Jog_fast_WP; #M04.F20_Jog_fast_HP_REg := "HMI KEY".P01.M04.F20_Jog_fast_HP; // Set velocity value IF "DI OUT P01".M04.DRV.CmdExe_HP THEN "DI OUT P01".M04.DRV.SetTrgtPos := #M04.ManuVelocity_1; ELSIF "DI OUT P01".M04.DRV.CmdExe_WP THEN "DI OUT P01".M04.DRV.SetTrgtPos := #M04.ManuVelocity_1; END_IF; END_IF; // M04 slow down IF ABS("DI OUT P01".RE04_ActDiff_Val) < 10 THEN IF "DI OUT P01".RE04_ActDiff_Val > 0 THEN #M04.ManuVelocity_1 := "DI OUT P01".M04.DRV.SetTrgtPos := -400.0; ELSE #M04.ManuVelocity_1 := "DI OUT P01".M04.DRV.SetTrgtPos := 400.0; END_IF; END_IF; // Enabling 13MA1 Stroke limitation motor WP "HMI KEY".P01.M04.F12_Enable_WP := "E00 M04 BDC" AND "E00 M04 CFP" AND NOT "DI MAIN GLB".TOF_ManuOff_Pulse.Q AND "DI OUT P01".M04.DRV.SavWord = w#16#7002 AND #tmp_enable_hydraulic_test AND NOT "DI OUT P01".M04.drv_com_flt; // Enabling 13MA1 Stroke limitation motor HP "HMI KEY".P01.M04.F11_Enable_HP := "E00 M04 TDC" AND "E00 M04 CFP" AND NOT "DI MAIN GLB".TOF_ManuOff_Pulse.Q AND "DI OUT P01".M04.DRV.SavWord = w#16#7002 AND #tmp_enable_hydraulic_test AND NOT "DI OUT P01".M04.drv_com_flt; |
|
|
|
Netzwerk 8: C13 Ram safety valve WP_HP
"HMI KEY".P01.C13.F12_Enable_WP := "DI OUT P01".C27.FB_WP AND NOT "DI OUT P01".MaPa.Support.BDC_reached AND #tmp_enable_hydraulic_test AND NOT "DIF_Main_Safety_RTG1".FB_SAFE_P01.A01_C13_WP.ERROR; "HMI KEY".P01.C13.F11_Enable_HP := "DI OUT P01".C27.FB_WP AND NOT "DI OUT P01".MaPa.Support.TDC_reached AND #tmp_enable_hydraulic_test AND NOT "DIF_Main_Safety_RTG1".FB_SAFE_P01.A01_C13_HP.ERROR; |
|
|
|
Netzwerk 9: Y09 Ram safety valve WP
"HMI KEY".P01.Y09.F12_Enable_WP := #tmp_enable_hydraulic_test AND NOT "DIF_Main_Safety_RTG1".FB_SAFE_P01.A01_Y09_WP.ERROR;
IF NOT "HMI KEY".P01.Y09.F12_Enable_WP THEN "DI OUT P01".Y09.CmdExe_WP := FALSE; END_IF; |
|
|
|
Netzwerk 10: C27 Ram stow pin
"HMI KEY".P01.C27.F11_Enable_HP := #tmp_enable_hydraulic_test AND NOT "DIF_Main_Safety_RTG1".FB_SAFE_P01.A01_C27_RSP_HP.ERROR; "HMI KEY".P01.C27.F12_Enable_WP := #tmp_enable_hydraulic_test AND NOT "DIF_Main_Safety_RTG1".FB_SAFE_P01.A01_C27_RSP_WP.ERROR;
IF NOT ("HMI KEY".P01.C27.F12_Enable_WP AND "HMI KEY".P01.C27.F11_Enable_HP) THEN "DI OUT P01".C27.VLV.CmdExe_WP := "DI OUT P01".C27.VLV.CmdExe_WP := FALSE; END_IF; |
|
|
|
Netzwerk 11: Y01 Auxiliary tank loading valve (max 210 bar)
"HMI KEY".P01.Y01.F12_Enable_WP := #tmp_enable_hydraulic_test AND NOT "DI OUT P01".M01.drv_com_flt; IF NOT "HMI KEY".P01.Y01.F12_Enable_WP THEN "DI OUT P01".Y01.CmdExe_WP := FALSE; END_IF; |
|
|
|
Netzwerk 12: Y02 Auxiliary tank relief valve (min 140 bar)
"HMI KEY".P01.Y02.F12_Enable_WP := #tmp_enable_hydraulic_test; IF NOT "HMI KEY".P01.Y02.F12_Enable_WP THEN "DI OUT P01".Y02.CmdExe_WP := FALSE; END_IF; |
|
|
|
Netzwerk 13: Y03 Ram pressure less down
"HMI KEY".P01.Y03.F12_Enable_WP := #tmp_enable_hydraulic_test AND "E00 DC24V"; IF NOT "HMI KEY".P01.Y03.F12_Enable_WP THEN "DI OUT P01".Y03.CmdExe_WP := FALSE; END_IF; |
|
|
|
Netzwerk 14: Y04 Oil pressure circulation valve
"HMI KEY".P01.Y04.F12_Enable_WP := #tmp_enable_hydraulic_test AND "E00 DC24V"; IF NOT "HMI KEY".P01.Y04.F12_Enable_WP THEN "DI OUT P01".Y04.CmdExe_WP := FALSE; END_IF; |
|
|
|
Netzwerk 15: Y05 Ram oil filling valve
"HMI KEY".P01.Y05.F12_Enable_WP := #tmp_enable_hydraulic_test AND "E00 DC24V"; IF NOT "HMI KEY".P01.Y05.F12_Enable_WP THEN "DI OUT P01".Y05.CmdExe_WP := FALSE; END_IF; |
|
|
|
Netzwerk 16: Y08 Oil pressure standby valve
"HMI KEY".P01.Y08.F12_Enable_WP := #tmp_enable_hydraulic_test AND "E00 DC24V"; IF NOT "HMI KEY".P01.Y08.F12_Enable_WP THEN "DI OUT P01".Y08.CmdExe_WP := FALSE; END_IF; |
|
|
|
Netzwerk 17: YF41E Oil volume flow prop.valve 0-100%
"HMI KEY".P01.YF41E.F12_Enable_WP := #tmp_enable_hydraulic_test AND "E00 DC24V"; IF NOT "HMI KEY".P01.YF41E.F12_Enable_WP THEN "DI OUT P01".YF41E_PAW_VALU.Support.CmdExe_WP := FALSE; END_IF; |
|
|
|
Netzwerk 18: YP43E Ram rapid traverse down proportion valve setpoint 0-100%
"HMI KEY".P01.YP43E.F12_Enable_WP := #tmp_enable_hydraulic_test AND "E00 DC24V"; IF NOT "HMI KEY".P01.YP43E.F12_Enable_WP THEN "DI OUT P01".YP43E_PAW_VALU.Support.CmdExe_WP := FALSE; END_IF; |
|
[See next page..] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|