FB39 OUT P01 : Cam Disc Control Assign output stage |
|
|
|
Netzwerk 1: Call manual operation #Manual(ST_MANU := "DI MAIN GLB".M00.ManuCmpltMa_run, MODULE_HP := "HMI KEY".P01.GLB.F20_HomPos, SUPPORT_SEQ := "DI MAIN P01".M00.HomPosRun); |
|
|
|
Netzwerk 2: Pre-Setting #Support.T01_Estop_TOF(IN := "DI MAIN GLB".M00.GLB_Estop, PT := t#1s); // Current operation mode #tmp_operation_mode := "DI MAIN GLB".M00.AutoCmpltMa_run OR "DI MAIN P01".M00.HomPosRun; |
|
|
|
Netzwerk 3: V90M MC_PositioningAxis Master // Pre-Setting #V90M.DRV.MC_Power.StartMode := #V90M.DRV.MC_MoveAbsolute.Direction := 1; // Positive #V90M.DRV.MC_MoveJog.PosCntrl := TRUE; // Epos enabled and halt impulse #V90M.DRV.Support.Epos_Enabled := "HMI KEY".P01.V90M.F12_Enable_WP; #V90M.DRV.Support.FEg_Halt_Imp := #V90M.DRV.Support.FEg_Halt AND NOT #V90M.DRV.Support.Epos_Enabled; #V90M.DRV.Support.FEg_Halt := #V90M.DRV.Support.Epos_Enabled; // Execute axis move to home position #V90M.DRV.MC_Home.Execute := #V90M.DRV.Support.LampOFF AND "HMI KEY".P01.V90M.F5_Set_Ref_Point AND ("DI MAIN GLB".SET.SSM.S.steps OR "DI MAIN GLB".M00.ManuCmpltMa_run); // Execute output stage #V90M(ENABLE := #Support.T01_Estop_TOF.Q, HALT_01 := "HMI KEY".P01.V90M.F21_HALT OR "DI MAIN GLB".M00.TOF_CmpltMaOFF_Pulse.Q OR #V90M.DRV.Support.FEg_Halt_Imp OR "DI MAIN P01".M00.TOF_ModuleOFF_Pulse.Q, MCB := "E00 V90M MCB", START_ABSO := #V90M.DRV.Support.Cmd_MoveAbso AND #tmp_operation_mode OR "HMI KEY".P01.V90M.F17_GoToAbsoPos, START_RELA := #V90M.DRV.Support.Cmd_MoveRela AND #tmp_operation_mode OR "HMI KEY".P01.V90M.F18_GoToRelaPos, JOG_WP := #V90M.DRV.Support.Cmd_MoveJogWP AND #tmp_operation_mode OR #Manual.V90M.CmdExe_slow_fast_WP, JOG_HP := #V90M.DRV.Support.Cmd_MoveJogHP AND #tmp_operation_mode OR #Manual.V90M.CmdExe_slow_fast_HP, ACK_FLT := "DI MAIN GLB".M00.FLT_CmpltMaACK_REg, HOM_MODE := 0, AXIS := "+1-V90M"); |
|
|
|
Netzwerk 4: V90SM MC_PositioningAxis Salve + Master // Pre-Setting #V90SM.DRV.MC_Home.Execute := #V90SM.DRV.Support.LampOFF AND "HMI KEY".P01.V90SM.F5_Set_Ref_Point AND ("DI MAIN GLB".SET.SSM.S.steps OR "DI MAIN GLB".M00.ManuCmpltMa_run); #V90SM.DRV.MC_Power.StartMode := #V90SM.DRV.MC_MoveAbsolute.Direction := 1; // positive #V90SM.DRV.MC_MoveJog.PosCntrl := TRUE; #V90SM.DRV.Support.Epos_Enabled := "HMI KEY".P01.V90SM.F12_Enable_WP; //AND "HMI KEY".P01.V90MS.F11_Enable_HP; // Halt impulse #V90SM.DRV.Support.FEg_Halt_Imp := #V90SM.DRV.Support.FEg_Halt AND NOT #V90SM.DRV.Support.Epos_Enabled; #V90SM.DRV.Support.FEg_Halt := #V90SM.DRV.Support.Epos_Enabled; // Execute output stage #V90SM(ENABLE := #Support.T01_Estop_TOF.Q, HALT_01 := "HMI KEY".P01.V90SM.F21_HALT OR "DI MAIN GLB".M00.TOF_CmpltMaOFF_Pulse.Q OR #V90SM.DRV.Support.FEg_Halt_Imp OR "DI MAIN P01".M00.TOF_ModuleOFF_Pulse.Q, MCB := "E00 V90MS MCB", START_ABSO := #V90SM.DRV.Support.Cmd_MoveAbso AND #tmp_operation_mode OR "HMI KEY".P01.V90SM.F17_GoToAbsoPos, START_RELA := #V90SM.DRV.Support.Cmd_MoveRela AND #tmp_operation_mode OR "HMI KEY".P01.V90SM.F18_GoToRelaPos, JOG_WP := #V90SM.DRV.Support.Cmd_MoveJogWP AND #tmp_operation_mode OR #Manual.V90SM.CmdExe_slow_fast_WP, JOG_HP := #V90SM.DRV.Support.Cmd_MoveJogHP AND #tmp_operation_mode OR #Manual.V90SM.CmdExe_slow_fast_HP, ACK_FLT := "DI MAIN GLB".M00.FLT_CmpltMaACK_REg, HOM_MODE := 0, AXIS := "+1-V90MS"); |
|
|
|
Netzwerk 5: V90S MC_SynchronousAxis Slave // Pre-Setting #V90S.DRV.MC_Home.Execute := #V90S.DRV.Support.LampOFF AND "HMI KEY".P01.V90S.F5_Set_Ref_Point AND ("DI MAIN P01".M00.HomPosRun OR "DI MAIN GLB".M00.ManuCmpltMa_run); #V90S.DRV.MC_Power.StartMode := 1; #V90S.DRV.MC_MoveJog.PosCntrl := TRUE; #V90S.DRV.Support.Epos_Enabled := "HMI KEY".P01.V90S.F12_Enable_WP AND "HMI KEY".P01.V90S.F11_Enable_HP; #V90S.DRV.MC_GearIn.Execute := "HMI KEY".P01.V90S.F22_Start_Gearing; // Execute output stage #V90S(ENABLE := #Support.T01_Estop_TOF.Q AND NOT #V90SM.DRV.MC_Home.Busy, HALT_01 := "HMI KEY".P01.V90S.F21_HALT, RAT_NUM := #V90S.DRV.MC_GearIn.RatioNumerator, RAT_DEN := #V90S.DRV.MC_GearIn.RatioDenominator, MCB := "E00 V90S MCB", ACK_FLT := "DI MAIN GLB".M00.FLT_CmpltMaACK_REg, JOG_WP := #V90S.DRV.Support.Cmd_MoveJogWP AND #tmp_operation_mode OR #Manual.V90S.CmdExe_slow_fast_WP, JOG_HP := #V90S.DRV.Support.Cmd_MoveJogHP AND #tmp_operation_mode OR #Manual.V90S.CmdExe_slow_fast_HP, HOM_MODE := 0, MASTER := "+1-V90MS", SLAVE := "+1-V90S"); |
|
|
|
Netzwerk 6: CAM_DISC control #CAM_DISC(ENABLE_START := "HMI KEY".P01.CAM_DISC.F12_Enable_WP AND #CAM_DISC.CAM.Support.CamIsInterpolated, START_IMP := (#tmp_operation_mode OR "DI MAIN GLB".M00.ManuCmpltMa_run) AND #CAM_DISC.CAM.MC_MeasuringInput.Execute, ACK_FLT := "DI MAIN GLB".M00.FLT_CmpltMaACK_REg, MASTER := "+1-V90M", SLAVE := "+1-V90MS", CAM_IN := "Cam_2", MEASURINGINPUT := "MeasuringInput", OUTPUT_CAM := "OutputCam", ARRAY := "HMI KEY".PostionTable); |
|
|
|
Netzwerk 7: V90 MC_SpeedAxis OutputCam // Execute reference point #V90.DRV.MC_Power.StartMode := #V90.DRV.MC_MoveVelocity.Direction := 1; // positive #V90.DRV.MC_MoveJog.PosCntrl := TRUE; // Halt impulse #V90.DRV.Support.Epos_Enabled := "HMI KEY".P01.V90.F12_Enable_WP AND "HMI KEY".P01.V90.F11_Enable_HP; #V90.DRV.Support.FEg_Halt_Imp := #V90.DRV.Support.FEg_Halt AND NOT #V90.DRV.Support.Epos_Enabled; #V90.DRV.Support.FEg_Halt := #V90.DRV.Support.Epos_Enabled; // Execute output stage #V90(ENABLE := #Support.T01_Estop_TOF.Q, HALT_01 := "HMI KEY".P01.V90.F21_HALT OR "DI MAIN GLB".M00.TOF_CmpltMaOFF_Pulse.Q OR #V90.DRV.Support.FEg_Halt_Imp, MCB := "E00 V90 MCB", START_VELO := #V90.DRV.Support.Cmd_MoveAbso AND #tmp_operation_mode OR "HMI KEY".P01.V90.F17_GoToAbsoPos, JOG_HP := #CAM_DISC.CAM.MC_OutputCam.CamOutput AND #V90.DRV.Support.Cmd_MoveJogHP AND #tmp_operation_mode OR #CAM_DISC.CAM.MC_OutputCam.CamOutput AND "DI MAIN GLB".M00.ManuCmpltMa_run OR #Manual.V90.CmdExe_slow_fast_HP, JOG_WP := #V90.DRV.Support.Cmd_MoveJogWP AND #tmp_operation_mode OR #Manual.V90.CmdExe_slow_fast_WP, ACK_FLT := "DI MAIN GLB".M00.FLT_CmpltMaACK_REg, MODE := 0, // MC_TorqueLimiting AXIS := "+1-V90"); |
|