MC_Power
The MC_Power function block is used to enable (energize) or disable (de-energize) an axis in the case of a servo. If the axis is a VFD, this function block is used to take the axis from a motion inhibit state to a motion ready state and vice versa.
Parameters
| * | Parameter | Data Type | Description | Default |
|---|---|---|---|---|
| VAR_IN_OUT | ||||
| B | Axis | AXIS_REF | Logical axis reference. | |
| VAR_INPUT |
|
|||
| B | Enable | BOOL | The function will continue to execute every scan while Enable is held high and there are no errors. | FALSE |
| E | Enable_Positive | BOOL | Not supported; reserved for future use. Permits motion in a positive direction. An error is generated if positive motion is commanded when this input is FALSE. | FALSE |
| E | Enable_Negative | BOOL | Not supported; reserved for future use. Permits motion in a negative direction. An error is generated if negative motion is commanded when this input is FALSE. | FALSE |
| E | BufferMode | MC_BufferMode | Not supported; reserved for future use. | MC_BufferMode#Aborting |
| VAR_OUTPUT | ||||
| B | Status | BOOL | Actual state of the axis, TRUE=Enabled, FALSE=Disabled. | |
| E | Busy | BOOL | For function blocks with Execute input, the Busy output is set to TRUE upon the rising edge of the Execute, and set to FALSE when Done, CommandAborted or Error outputs becomes TRUE. In the case of a function block with an Enable input, Busy indicates that the function block is operating, but may not be ready to provide valid outputs. Busy will also be set to TRUE during execution of MC_Reset if the servo had previously lost communication to the controller, for example as a result of Y_AX_RebootServo. | |
| B | Active | BOOL |
The Active output will be FALSE if communications to the servo are lost.
The Active output will be TRUE if the axis is under control of MC_Power. If the Enable input bit is FALSE, the Active output indicates that the MC_Power is controlling the disabled state of the axis. If the Enable input bit is TRUE and the Status and Active bits are TRUE, MC_Power is controlling the enabled state of the axis. |
|
| E | Error | BOOL | The Error output is set to TRUE if an error has occurred during the operation of the function block. The output is cleared when the Execute or Enable input becomes FALSE | |
| E | ErrorID | UINT | The ErrorID output provides the identifier of the error when there is an active error in the function block execution. The output is cleared when the Execute or Enable input becomes FALSE | |
Notes
- If the MC_Power function block is called with the 'Enable' true while being in 'Disabled', this either leads to 'Standstill' motion state (if there is no error in the axis), or to ErrorStop (if an Error exists).
- MC_Power is different from other blocks using the Enable/Valid method. Since MC_Power actively enables or disables the servo continuously, the Active output remains TRUE as long as communication with the motion device is maintained, and the Error and ErrorID outputs are always output.
- Do not include more than one MC_Power (or Y_AX_AxisControl ) function block per axis in the application program.
- When MC_Power is called with 'Enable' false, the axis goes to 'Disabled' motion state from every state including 'ErrorStop'.
- For axes in position mode controlled by the controller motion kernel, if the controller detects that the command position deviates significantly " from the feedback position, the controller will post an alarm causing motion to stop. If while this alarm is active, the servo is power cycled, the controller will not automatically re-enable the drive.
- VFDs with Modbus RTU connection:
-
Axis_REF: Logical
axis number and driver type have to be defined manually
- Set 'Enable' true will not set Run command (Forward Run or Reverse Run). This is done in MC_MoveVelocity .
- Further details of the communication management to Yaskawa Drives and Generic Devices are described here: Modbus RTU Communication Details for Drives and generic Modbus Devices
Error Description
See the
Function Block ErrorID List
Example
Instance of MC_Power powering on Servo Axis 1.
The LogicAnalyzer timing trace for the above example of MC_Power.Enable is toggled toTRUE is shown below:
Note : The MC_Power.Status for servomotors takes around 50~60ms to become TRUE for real axis and 2 scans for virtual Axis.
When MC_Power.Enable is toggled to FALSE, the timing trace is as shown below:
Note: the MC_Power.Status for servomotors doesn't take in consideration the Brake parameters (Pn506)