FB39 OUT P01 : Cam Disc Control Assign output stage

[hit  <- on your browser to return]

 

 

 

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