State Behavior

The Motion Control Axis state model includes the following the states and state transitions.
Off State
The Off State is the state of the Motion Control Axis with power off.
Self-Test State
When power is applied to the controller, the controller typically goes through a series of self-test diagnostics. These tests include checking whether the CIP Motion axis is associated with an actual CIP Motion device and that the axis is also properly included in a collection of axes called a Motion Group. The controller's Motion Task process synchronously all axes in the Motion Group.
If an associated CIP Motion device or Motion Group is not found for the axis, the axis state in the controller reflects this condition as No Device, and Not Grouped, respectively. The axis will remain in this state until the problem is corrected. Similarly, when power is applied to the device, or the device is reset, the device also goes through a series of self-test diagnostics and internal device parameters are set to their power-up default values. If unsuccessful, the impacted axis instances transition immediately to the Faulted state by declaring an Initialization Fault that is classified as Unrecoverable according to the terminology defined by the Identify Object. Clearing this fault can only be accomplished through a power cycle and is most likely the result of a device hardware problem.
Once the CIP Motion controller and the associated CIP Motion device complete these self tests, the axis state transitions to the Initializing state where CIP Motion connections are created and the devices are configured by the controller. From this point on, the Axis State value in the controller is influenced by the Axis State value in the device using the CIP Motion connection.
If the CIP Motion device supports stand-alone operation under local control with local configuration data, the device is free to transition from the Self-test state to the Pre-Charge state and on to the Stopped state. Should the device receive a subsequent Forward Open service to open a CIP Motion connection, the device will disable all axes and transition back to the Initializing state, following the state sequence outlined in the following paragraphs.
If the device does not support stand-alone operation and depends on remote configuration data to be supplied over a CIP Motion connection, the device will transition to the Initializing state and wait (Standby) for the Forward Open service from the controller to open the CIP Motion Connection.
Initializing State
From the controller's perspective, the Initializing state shown in the state models consists of four different axis substates, Unconnected, Configuring, Synchronizing, and Waiting for Group. While transitioning through these Initializing substates, the controller has no access to the current Axis State value in the drive. Only after the controller's CIP Axis State completes the Initialization process, does the CIP Axis State value reflect the current Axis State attribute value in the CIP Motion device.
During the Initializing state, the device waits for the CIP Motion connections to the device to be established by the controller using a Forward Open service. Once the Forward Open service is successfully processed, the device initializes all attributes to their factory default values, resets all active faults, resets applicable axis status conditions including the shutdown bit, in preparation for device attribute configuration.
Once connections are established, the controller sends Set services to the device to set the Motion Device Axis Object configuration attributes to values stored in the controller. Any configuration error encountered during this process, such as "value out of range" or "value not applicable", are handled by the device by erring the Set service response. When the CIP Motion device is connected to one or more intelligent motor and feedback components that contain non-volatile configuration data associated with the component, this data will be read by the device before responding to related Set services from the controller. This process allows the device the opportunity to validate the controller's motor and feedback-related configuration data against the configuration data stored in the motor or feedback component. Any validation error encountered during this process will be handled by erring the Set service response with an "Invalid Attribute Value" code (09). Finally, reading the intelligent component data before completing the configuration process also allows the serial number of the component to be read by the controller to determine if the component has been replaced. The controller does not complete the configuration process (Configuration Complete) until all configuration attributes have been successfully acknowledged.
If the device supports synchronous operation, the controller then synchronizes with the device using the Group_Sync service. If the device has already been successfully configured, the CIP Axis State transitions to "Synchronizing" until it receives a successful Group_Sync service response.
After the device is fully configured and synchronized with the controller, the controller checks all other axes in the Motion Group to determine if they are also configured and synchronized. During this time, the CIP Axis State is "Waiting for Group". As soon as the controller determines that all axes in the Motion Group are configured and synchronized, Initialization is complete and the CIP Axis State value is thereafter derived directly from the Axis State value of the device in accordance to the state model defined in the Motion Device Axis Object.
If a problem is found during this initialization process, for example, a process that is beyond the scope of a Set service error, the device generates an Initialization Fault. An Initialization Fault is viewed as an unrecoverable fault, only a power cycle or a device reset can clear the fault condition.
If the CIP Motion connection is intentionally closed for any reason during operation using a Forward Close service, the device clears all active faults and returns to the Initializing State. If the CIP Motion connection is lost for any other reason during operation, the device generates a Node Fault and transitions to the Major Faulted state. In either case, the device will wait for the CIP Motion connections to the device to be re-established by the controller using a Forward Open service. Once re-established the controller's CIP Axis State will transition through the various Initialization substates.
The Initializing State is classified as an Identity Object Standby state and, therefore, requires that the associated power structure, if applicable, is disabled.
Pre-Charge State
The DC Bus Up status is false for an axis in the Pre-Charge state. A Bus Up event is one event that transitions the axis out of the Pre-Charge State to the Stopped state (drive axis or regenerative converter axis) or to the Running state (non-regenerative converter axis). A Bus Up event occurs when the DC Bus Up status changes from false to true. The device’s power structure is always disabled in Pre-Charge state (Power Structure Enabled status bit clear). Any attempt for the controller to enable the axis via the Axis Control mechanism while it is in the Pre-Charge state is reported back to the controller as an error in the Response Status and the axis remains in the Pre-Charge state.
The Pre-Charge State is classified as an Identity Object Standby state and, therefore, requires that the associated power structure, if applicable, is disabled.
Stopped State
In the Stopped state the device's power structure will either be disabled (Power Structure Enabled status bit clear) or, in the case of a drive axis, held in a static condition using an active control loop (Power Structure Enabled status bit set). No motion can be initiated by a drive axis in the Stopped State nor can a drive axis respond to a planner generated command reference (Tracking Command status bit clear). In general, the motor associated with the drive axis will be at rest, but if an external force or torque is applied to the load, a brake may be needed to maintain the rest condition. Similarly, no AC Line modulation can be applied by a regenerative converter axis in the Stopped state, nor can any regenerative energy be transferred to the AC Line. In the Stopped state, main power is applied to the device and the DC Bus is at an operational voltage level. If there are any Start Inhibit conditions detected while in this state, the axis transitions to the Start Inhibited state. If an Enable request or one of the Run Test service requests is applied to an axis in the Stopped state, the axis transitions to the Starting state.
Starting State
When an Enable request is given to an axis in the Stopped, or Stopping state when performing a drive Flying Start, the axis immediately transitions to the Starting state. In this state, the device checks various conditions before transitioning to the Running state. These conditions for a drive axis can include Brake Release delay time and Induction Motor flux level. The device control and power structures are activated during the Starting state (Power Structure Enabled status bit set) but the command reference is set to a local static value and will not track the command reference derived from the controller (Tracking Command status bit clear). If all the starting conditions are met, the axis state transitions to either the Running state or the Testing state.
Running State
The Running state is where the work gets done. In this state, the device’s power structure is active (Power Structure Enabled status bit set). In the case of a drive axis, the selected Control Mode is enabled and the device is actively tracking command data from the controller based motion planner output to affect axis motion (Tracking Command status bit set).
In the case of a regenerative converter axis, the Converter Control Mode is enabled and the device is actively tracking the Voltage or Current set point value from the controller (Tracking Command status bit set). In the case of a track section axis, the section axis is actively tracking the current references for resident movers (Tracking Command status bit set). The axis remains in the Running state until either a fault occurs or it is explicitly commanded to stop via an Axis Control request.
In the case of an axis with no active control function (Control Mode = No Control), the Running state simply indicates that the device is fully operational. Since there is no active control function, however, the Power Structure Enabled status bit and the Tracking Command status bit are both clear. The axis remains in the Running state until either a fault occurs or it is explicitly commanded to Shutdown via an Axis Control request.
Testing State
When any one of the Run Test request services is sent to the axis while in the Stopped state, for example, services that require an active power structure to execute, the axis immediately transitions to the Starting State (Power Structure Enabled status bit set), and then once the Starting conditions are met, the axis transitions to the Testing state. This Testing state is like the Running state in that the device's power structure is active, but in the Testing state one of the device's built-in test algorithms is controlling the motor (drive) or line energy flow (regenerative converter), not command or set point data from the controller (Tracking Command status bit clear). In the Testing state a drive excites the motor in various ways while performing measurements to determine characteristics of the motor and load. Similarly a regenerative converter device applies current in various way to determine characteristics of the AC line and DC bus. The drive or converter axis remains in this state for the duration of the requested test procedure and then stops and returns to the Stopped state. The axis can also exit the Testing state by either a fault or an explicit Axis Control request. In all these exit cases, a drive executes a Category 0 Stopping Sequence.
Start Inhibited State
The Start Inhibited state is the same as the Stopped state with the exception that the axis has one or more 'start inhibit' conditions that prevent it from successfully transitioning to the Starting state. These conditions can be found in the Start Inhibits attributes. Once corrected, the axis state automatically transitions back to the Stopped state.
For an axis with no active control function (Control Mode = No Control), an axis in the Start Inhibited state is prevented from transitioning to the Running state by one or more specific conditions, such as when the associated feedback device is not fully configured for operation. Again, once corrected, the axis state automatically transitions to the Running state.
The Start Inhibited State is classified as an Identity Object Standby state and, therefore, requires that the associated power structure, if applicable, is disabled.
Stopping State
When a Disable request is issued to the Motion Device Axis Object in the Starting, Running or the Testing states, the axis immediately transitions to the Stopping state. In this state, the axis is in the process of stopping and is no longer tracking command or set point data from the controller (Tracking Command status bit clear). For a drive axis, a Disable Request executes the configured Stopping Actions while a Shutdown Request executes the configured Shutdown Action.
There are many different Stopping Actions supported by the Motion Device Axis Object for a drive axis. Each of these Stopping Actions executes one of three possible IEC60204-1 Category Stops or Stopping Sequences (Category Stop 0, 1, and 2). Most of these Stopping Actions actively decelerate the axis to a stop (Category Stop 1 and 2). The power structure may remain active (Power Structure Enabled status bit set) as long as the Stopping Action procedure takes to complete. Once the selected Stopping Action procedure has completed, the axis transitions to the Stopped state. When the Stopping Action of "Disable and Coast" is initiated by a Disable Request or a Shutdown Action, the power structure is immediately disabled (Power Structure Enabled status bit clear) and the axis coasts to a stop while in the Stopping state (Category 0 Stop). For all Stopping Sequences, the device will wait until the axis has reached zero speed, or a timeout occurs (as defined by the Stopping Time Limit and Coasting Time Limit attributes), before transitioning to the Stopped state. In some cases, such as when the axis is stationary, this transition can be immediate. The criteria for zero speed is based on Velocity Feedback being less than 1% of motor rated speed or by criteria set by optional Zero Speed and Zero Speed Time attribute values. In the case of a Frequency Control drive device, the criteria are based on Velocity Reference rather than Velocity Feedback.
When an Enable Request is given to a drive axis in the Stopping state with Flying Start Enabled, the axis will immediately transition to the Starting state.
Aborting State
When a Major Fault occurs in the motion device while the axis is in either the Starting, Running, Testing, or Stopping states, the axis immediately transitions to the Aborting state. In this state, the axis is in the process of stopping and is no longer tracking command or set point data from the controller (Tracking Command status bit clear).
For a drive axis, a Major Fault executes the appropriate stopping action as specified by the device vendor. When actively stopping the drive axis in the Aborting state, the power structure remains active (Power Structure Enabled status bit set) as long as the stopping action takes to complete. In some cases, the power structure must be immediately disabled so the axis may coast to a stop while in the Aborting state. In any case, the drive axis will wait until the axis has reached zero speed before transitioning to the Major Faulted state. Once the stopping procedure is complete and the axis has reached zero speed, the axis transitions to the Faulted state. The criteria for zero speed is based on Velocity Feedback being less than 1% of motor rated speed or by criteria set by optional Zero Speed and Zero Speed Time attribute values. In the case of a Frequency Control drive axis, Velocity Reference is used rather than Velocity Feedback. In some cases, such as when the axis is stationary, this transition can be immediate.
When faults conditions are detected in the controller that are not visible to the motion device, or when the motion device reports a Minor Fault condition, the controller is responsible for bringing the axis to a stop, either directly using an Axis Control state change request or, in the case of a drive axis, directly by a motion planner stop, or indirectly using a fault handler in the user program. If the Axis State reported by the motion device is Stopping, then the controller sets the CIP Axis State to Aborting based on the presence of the fault condition.
When an Abort Request is issued to the Motion Device Axis Object a Controller Initiated Exception is generated. If the associated Axis Exception Action is set to generate a Major Fault the drive axis stops the axis according to the configured Stopping Action before transitioning to the Faulted state.
Faulted State
The Motion Device Axis Object defines a Major Faulted state that is identical to the Stopped state (or, if a Shutdown fault action was initiated, the Shutdown state) with the exception that there are one or more Faults active. In other words, a Major Faulted axis is a Stopped (or Shutdown) axis with a Major Fault condition present. The Motion Device Axis Object also defines a Minor Fault as a fault that allows device operation to continue and does not impact the Axis State in the motion device.
There is no such distinction between Major Fault and Minor Fault in the controller; both Major Faults and Minor Faults reported by the drive result in the axis transitioning to the Faulted state in the controller. Thus, in the controller it is not generally true that a Faulted axis is a Stopped (or Shutdown) axis with a Fault condition present. When the motion device reports a Minor Fault condition, or when fault conditions are detected in the controller that are not visible to the motion device, the controller is responsible for bringing the axis to a stop, either directly using an Axis Control state change request or motion planner stop, or indirectly using a fault handler in the user program. Until this is done, the Axis State in the motion device may be something other than the Major Faulted state, perhaps even in the Running state. This is reasonable given that the motion device is only one component in a much bigger motion control system. The CIP Motion controller is responsible for rolling up all the conditions of the system into the Axis State that is presented to you.
Since faults are latched conditions, a Fault Reset is required to clear the faults and, assuming the original fault condition has been removed, the axis transitions to the Axis State of motion device. There are many different sources of Faults: CIP Initialization Faults, CIP Axis Faults, Motion Faults, Module Faults, Group Faults, Safety Faults, and Configuration Faults. The following table describes the sources of these faults:
Fault
Source
Axis Test Mode Support (Test Mode Configuration)
CIP Initialization Faults
These faults can only occur during the Initializing state. You cannot generate an Initialization fault in any other state of the drive, for example, faults occurring during operation of the drive after transitioning out of the Initializing state. Initialization Faults can apply to a specific axis or to the entire drive, in which case all device axis instances would indicate the Initialization Fault. The device power structure, if applicable, is disabled when there is a CIP Initialization Fault present.
CIP Axis Faults
As the name implies, CIP Axis Faults apply to a specific device axis instances. CIP Axis Faults are the direct result of Axis Exceptions that are configured to generate a Fault response. These exception conditions may apply to individual axis instances or to all axis instances. In any case, applications may require the device be configured to handle these exceptions differently for different axes. Run time conditions related to Motor, Inverter, Converter, Bus Regulator, and Feedback components, in general, shall be handled as Axis Exceptions. The power structure if applicable, may or may not be disabled when there is a CIP Axis Fault present depending on the specific stopping action applied by the device in response to the fault condition.
Axis Safety Faults
Axis Safety Faults also apply to specific axis instances. Axis Safety Faults are the direct results of safety faults reported by the embedded Safety Core of the device when Safety Fault Action is configured to generate a Fault response. The Safety Core of the device is responsible for monitoring the condition of various critical safety functions associated with the axis. This embedded Safety Core has a CIP Safety connection to an external Safety Controller. When an Axis Safety Fault occurs, the safety system is responsible for forcing the axis into a Safe State.
Controller Loop Back: V36 (Simulation only supports Safety function faults.)
Guard Faults
These faults also apply to a specific axis instance. Guard Faults are generated by a fault condition detected in the drive's "Hardwired" safety monitor functionality (SMSC). This component of the drive is designed to monitor various critical safety functions of the drive and put the axis in a safe state if any monitored condition fails to operate nominally.
Motion Faults
These faults are generally associated with fault conditions generated by the motion planner function. These faults can include conditions related to the input (for example, actual position) and output (command position) signals to the motion planner. The device power structure, if applicable, may or may not be disabled when there is a Motion Fault present depending on the specific stopping action applied by the system in response to the fault condition.
Controller Loop Back: V35
Module Faults
These faults apply to the entire motion device and affect all axes associated with that device. These faults can occur at any time during device operation. Module Faults include all Node Faults reported by the device, which are primarily communication faults, but can include general hardware faults where these fault conditions are checked during run-time. A CPU watchdog fault would be an example of a hardware CIP Node Fault. Module Faults also include communication fault conditions detected on the controller side of the motion connection. An example of a controller side Module Fault would be the Control Sync Fault. The device power structure, if applicable, is disabled when there is a Module Fault present with the controller initiating the equivalent of a shutdown fault action.
Group Faults
These faults are related to the motion group object function and affect all axes associated with the motion group. These faults can occur at any time during device operation. Group Fault conditions are detected by controller and are generally associated with the time synchronization function that is common to all axes in the motion group. The device power structure, if applicable, of every axis associated with the motion group is disabled when there is a Group Fault present with the controller initiating shutdown fault actions.
Controller Loop Back: V35
Configuration Faults
A configuration fault is generated anytime there is an error in sending configuration data to the motion device. Specifically, if the motion device responds to a Set Attribute service with an error, the error condition is reflected as a Configuration Fault along with the Attribute Error Code and Attribute ID. The device power structure, if applicable, is disabled when there is a Configuration Fault present.
Shutdown State
When a Shutdown request is issued to the device or a Shutdown fault action is executed by the device, the targeted axis transitions to the Shutdown state. In the case of a Shutdown request, the axis immediately transitions from whatever state it is currently in to the Shutdown state. The Shutdown state has the same basic characteristics of the Stopped state except that it can be configured using the Shutdown Action attribute to drop the DC Bus power to the device's power structure. This is generally done by opening an AC Contactor Enable output provided by the drive that controls power to the converter. Regardless of whether or not DC Bus power is disconnected, this state requires an explicit Shutdown Reset request from the controller to transition to the Pre-Charge state. If the device is configured to keep the DC Bus power active while in the Shutdown state then the axis transitions through the Pre-Charge state to the Stopped state. The Shutdown state offers an extra level of safety against unexpected motion.
In the case where a Shutdown fault action is initiated by the drive in response to an exception condition that is configured to be a Major Fault, the device executes the Shutdown action, but the axis goes to the Faulted state, not the Shutdown state. Similarly, when the axis is in the Shutdown state and a major fault condition occurs, the axis transitions to the Faulted state. In other words, the major fault condition has precedence over the shutdown condition and the shutdown condition can be considered a substate. In either of these cases a Fault Reset request from the controller clears the fault and, assuming the original fault condition has been removed, the axis then transitions to the Shutdown state. A Shutdown Reset request from the controller, however, both clears the fault and performs a shutdown reset so, assuming the original fault condition has been removed, the axis transitions to the Pre-Charge state as described above.
In addition to the Shutdown action functionality, the Shutdown state can also be used by the controller to disable any slave gearing or camming motion planner functions that reference this device axis as a master axis. For this reason, the Shutdown state is supported in the case of a Feedback Only Control Mode where the axis instance is simply associated with a feedback device.
The Shutdown State is classified as an Identity Object Standby state and, therefore, requires that the associated power structure, if applicable, is disabled.
No Device State
If the CIP Motion axis instance in the controller is created, but not currently associated with a CIP Motion device, the axis state indicates the No Device state. A CIP Motion axis will be associated with a physical CIP Motion device to function. This condition is checked during the controller Self Test state as qualification for transition to the Initializing state. For this reason the No Device state is considered a controller only substate of the Self Test state.
Not Grouped State
If a CIP Motion axis instance is created and not associated with a Motion Group, the axis state is set to the Not Grouped state. A CIP Motion axis will be assigned to a Motion Group in order for the axis instance to be updated by the periodic Motion Task and carry out its function. This condition is checked during the controller Self Test state as qualification for transition to the Initializing state. For this reason, the Not Grouped state is considered a controller only substate of the Self Test state.
Axis Inhibited State
If you Inhibit the axis instance for any reason, the associated instance in the CIP Motion connection is eliminated and the axis state transitions to the Axis Inhibited state. If this is the only instance supported by the CIP Motion connection, the connection itself will be closed. If the axis is one of many axis supported by the connection, then the connection is closed and re-established to support the axis that is not inhibited. The Axis Inhibited state is a controller only substate of the Self Test state. The Axis Inhibited condition is checked during the controller Self-Test state as qualification for transition to the Initializing state. If currently Axis Inhibited, an Un-Inhibit operation will be performed by you to transition to the Initializing state and restore axis function.
Configuring State
Once a CIP Motion I/O connection has been made to the device, the controller begins to send configuration data using the connection's service channel. At this time the axis state transitions from Unconnected to Configuring. The axis state will remain in the Configuring state until the values of all applicable configuration attributes in the device have been set for this axis instance, or until a configuration fault occurs, in which case the axis state transitions to the Faulted state.
Synchronizing State
If the device has not been synchronized to the controller by the time the controller has completed the axis configuration process, the axis state transitions to the Synchronizing state. The axis state will remain in the Synchronizing state until the device has been successfully synchronized as indicated by a successful Group_Sync service response from the device, or a time limit (~60 seconds) is reached, in which case the controller closes the connection and starts the Initialization process over again.
Waiting for Group State
After configuring the axis and synchronizing the device to the controller, the controller checks the status of all other axes in the Motion Group. If there are any other axes in the Motion Group that are still being configured or synchronized, the Axis State will transition to Waiting for Group. Cyclic data exchange over the CIP Motion connection does not occur until all axes in the Motion Group are configured and synchronized. Once all axes in the Motion Group are configured and synchronized, the CIP Axis State transitions to the current Axis State attribute value in the device, typically Pre-Charge or Stopped.
Provide Feedback
Have questions or feedback about this documentation? Please submit your feedback here.