Interface IAxisAbsolutePos

Services for absolute positioning motion control. Axis class for control of motion to a specified absolute position relative to a fixed zero position as a reference point, as contrasted with incremental move.

Methods are used corresponding to the following FSM. There is no internal FSM. Methods are called by an external FSM corresponding to events it processes.

In the table below, external events are in bold font. The internal events are in italic font.  It is the client's responsibility to query the component to determine if an internal event has occurred. Upon detection of internal event, action associated with transition to new state should be executed.

First  State = *

Beginning State Event Ending State Action
AbnormalStopped reset Resetting resetAxisAbsPositioningAction
AbnormalStopping update AbnormalStopping updateAbnormalStoppingAxisAbsPositioningAction
AbnormalStopping completed AbnormalStopped n/a
HardStopping completed HardStopped n/a
HardStopping update HardStopping updateHardStoppingAxisAbsPositioningAction
* start AbsPositioning startAxisAbsPositioningAction
AbsPositioning update AbsPositioning updateAxisAbsPositioningAction
AbsPositioning hardstop HardStopping hardStopAbsPositioningAction
AbsPositioning stop Stopping stopAxisAbsPositioningAction
* error Faulted catastrophic error use special plug to resolve error
Resetting update Resetting resettingAxisAbsPositioningAction
Resetting completed (H) resumes from History state
Stopping update Stopping updateStoppingAxisAbsPositioningAction
Stopping completed Stopped n/a

The following table represents the states and its associated query method.

State Query Comments
Faulted isFaulted() Clients should query component each cycle to determine if internal error occurred.
* isCompleted() Clients should query component each cycle to determine if internal completion has occurred. Transition to next state, and associated action can be performed.
HardStopped isHardStopped() If hardStopped is true, then hardStopping completed. Power can now be disabled.
HardStopping isHardStopping() If true, performing panic stop, exceed any limits, break any rules, stop as soon as possible. This is part of an ESTOP is mapped into two events, first a hard stop event, then a disable power event after motion has ceased. Estopping may or may not take more than one cycle.
AbnormalStopped isAbnormalStopped() Abnormal stopped, can resume after issue with either internal failure or safety violation resolved.
AbnormalStopping isAbnormalStopping() Abnormal stop means stop as quickly as possible, but save the hardware. Internal failure or safety violation detected to triggers an abnormal stop.
Finished isFinished() AbsPositioning finished.
AbsPositioning isAbsPositioning() Component is performing a absolute positioning.
Resetting isResetting() Component is resetting the absolute positioning operation.
Stopping isNormalStoppingAbsPositioning() Component is normal stopping the absolute positioning.
Stopped isNormalStopped() Component has stopped absolute positioning normally.
Stopping|
AbnormalStopping|
HardStopping
isStoppingAbsPositioning() Component is stopping the absolute positioning in some form.
Stopping|
AbnormalStopping|
HardStopping
isStoppedAbsPositioning() Component has stopped absolute positioning in some form.
 
Methods in interface IAxisAbsolutePos
abnormalStopAbsolutePosAction(), finishedAbsolutePosAction(), hardStopAbsolutePosAction(), isAbnormalStopped(boolean * b), isAbnormalStopping(boolean * b), isCompleted(boolean * b), isFaulted(boolean * b), isFinished(boolean * b), isHardStopped(boolean * b), isHardStopping(boolean * b), isNormalStopped(boolean * b), isNormalStopping(boolean * b), isResetting(boolean * b), isStopped(boolean * b), isStopping(boolean * b), resetAbsolutePosAction(), startAbsolutePosAction(double position), stopAbsolutePosAction(), updateAbnormalStoppingAbsolutePosAction(), updateAbsolutePosAction(), updateHardStoppingAbsolutePosAction(), updateResettingAbsolutePosAction(), updateStoppingAbsolutePosAction()
 
Methods inherited from interface IOmacAxis
setAxisReference(IAxis *)
 
Methods inherited from interface IOmac
configToString(BSTR *), configure(BSTR,BSTR), doneConnecting(), donePublishing(), getIIDs(IEnumGUID **), getName(BSTR *), getOmacIID(_GUID *), init(), isConfigured(BSTR *), isFullyConfigured(boolean *), isNamed(BSTR,boolean *), prepare(), quit(), restore(), save(), setName(BSTR), shutdown(), start(), startConnecting(), startPublishing(), toString(BSTR *), update()
 
Methods inherited from interface IUnknown
AddRef(), QueryInterface(REFIID,void **), Release()

Method Detail

abnormalStopAbsolutePosAction

HRESULT abnormalStopAbsolutePosAction()
Action to be taken to abnormal stop while under absolute positioning control. Abnormal stop means stop as quickly as possible, but save the hardware.' Internal failure or safety violation detected and causes an abnormal stop.
Returns:
S_OK - if successful.
E_FAIL - if unsucessful.

finishedAbsolutePosAction

HRESULT finishedAbsolutePosAction()
Action to be taken upon completion of an absolute position.
Returns:
S_OK - if successful.
E_FAIL - if unsucessful.

hardStopAbsolutePosAction

HRESULT hardStopAbsolutePosAction()
Action to be taken to hard stop while under absolute positioning control. Hard or panic stop means exceed any limits, break any rules, stop as soon as possible. Emergency but safe shutdown action will still be expected.
Returns:
S_OK - if successful.
E_FAIL - if unsucessful.

isAbnormalStopped

HRESULT isAbnormalStopped(/*[out,retval]*/ boolean * b)
Determine if absolute positioning control is in abnormally stopped state. Abnormal stop means stop as quickly as possible, but save the hardware.' Internal failure or safety violation detected to triggers an abnormal stop.
Parameters:
b - return true if in state, false if not in state.
Returns:
S_OK - if successful.
E_FAIL - if unsucessful.

isAbnormalStopping

HRESULT isAbnormalStopping(/*[out,retval]*/ boolean * b)
Determine if absolute positioning control is in abnormally stopping state. Abnormal stop means stop as quickly as possible, but save the hardware.' Internal failure or safety violation detected to triggers an abnormal stop.
Parameters:
b - return true if in state, false if not in state.
Returns:
S_OK - if successful.
E_FAIL - if unsucessful.

isCompleted

HRESULT isCompleted(/*[out,retval]*/ boolean * b)
Determine if absolute positioning control is done with current transitioning state.
Parameters:
b - return true if done, false if not done.
Returns:
S_OK - if successful.
E_FAIL - if unsucessful.

isFaulted

HRESULT isFaulted(/*[out, retval]*/ boolean * b)
Query to see if fault has occurred during absolute positioning control.
Parameters:
b - return true if error has occurred, false if not.
Returns:
S_OK - if successful.
E_FAIL - if unsucessful.

isFinished

HRESULT isFinished(/*[out,retval]*/ boolean * b)
Determine if absolute positioning control is finished positioning.
Parameters:
b - return true if done, false if not done.
Returns:
S_OK - if successful.
E_FAIL - if unsucessful.

isHardStopped

HRESULT isHardStopped(/*[out,retval]*/ boolean * b)
Determine if absolute positioning control is in hard stopped state.
Parameters:
b - return true if in state, false if not in state.
Returns:
S_OK - if successful.
E_FAIL - if unsucessful.

isHardStopping

HRESULT isHardStopping(/*[out,retval]*/ boolean * b)
Determine if absolute positioning control is in hard stopping state.
Parameters:
b - return true if in state, false if not in state.
Returns:
S_OK - if successful.
E_FAIL - if unsucessful.

isNormalStopped

HRESULT isNormalStopped(/*[out,retval]*/ boolean * b)
Query to see if absolute positioning control stopped normally.
Parameters:
b - return true if stopped normally, false if not.
Returns:
S_OK - if successful.
E_FAIL - if unsucessful.

isNormalStopping

HRESULT isNormalStopping(/*[out,retval]*/ boolean * b)
Query to see if absolute positioning control is stopping normally.
Parameters:
b - return true if stopping normally, false if not.
Returns:
S_OK - if successful.
E_FAIL - if unsucessful.

isResetting

HRESULT isResetting(/*[out,retval]*/ boolean * b)
Query to see if absolute positioning control is resetting from abnormal stopped state.
Parameters:
b - return true if state, false if not.
Returns:
S_OK - if successful.
E_FAIL - if unsucessful.

isStopped

HRESULT isStopped(/*[out,retval]*/ boolean * b)
Query to see if absolute positioning control is stopped.
Parameters:
b - return true if stopped, false if not.
Returns:
S_OK - if successful.
E_FAIL - if unsucessful.

isStopping

HRESULT isStopping(/*[out,retval]*/ boolean * b)
Query to see if absolute positioning control is in any state of stopping motion.
Parameters:
b - return true if stopping, false if not.
Returns:
S_OK - if successful.
E_FAIL - if unsucessful.

resetAbsolutePosAction

HRESULT resetAbsolutePosAction()
Action to reset absolute positioning motion control after error occurred.
Returns:
S_OK - if successful.
E_FAIL - if unsucessful.

startAbsolutePosAction

HRESULT startAbsolutePosAction(/*[in]*/ double position)
Action to start absolute positioning motion control.
Parameters:
position -  absolute position to move to.
Returns:
S_OK - if successful.
E_FAIL - if unsucessful.

stopAbsolutePosAction

HRESULT stopAbsolutePosAction()
Action taken to stop absolute positioning motion control. If in the absolutePositioning state, a stopAbsolutePosition event causes this action to be undertaken, and the next state to be stoppingAbsolutePositioning if multiple cycle required, or enabled state if transition takes only one cycle to stop. To determine if next state is to be enabled, query isCompleted();
Returns:
S_OK - if successful.
E_FAIL - if unsucessful.

updateAbnormalStoppingAbsolutePosAction

HRESULT updateAbnormalStoppingAbsolutePosAction()
State updating activity to be taken while in abnormal stopping state under absolute positioning control. Abnormal stop means stop as quickly as possible, but save the hardware.' Internal failure or safety violation detected and causes an abnormal stop.
Returns:
S_OK - if successful.
E_FAIL - if unsucessful.

updateAbsolutePosAction

HRESULT updateAbsolutePosAction()
Action to update axis motion while absolute positioning state. An update event causes this action to be undertaken.
Returns:
S_OK - if successful.
E_FAIL - if unsucessful.

updateHardStoppingAbsolutePosAction

HRESULT updateHardStoppingAbsolutePosAction()
State updating activity to be taken while in estopping state under absolute positioning control. Hard or panic stop means exceed any limits, break any rules, stop as soon as possible. Emergency but safe shutdown action will still be expected.
Returns:
S_OK - if successful.
E_FAIL - if unsucessful.

updateResettingAbsolutePosAction

HRESULT updateResettingAbsolutePosAction()
State updating activity to be taken while in resetting from abnoraml stopped state under absolute positioning control.
Returns:
S_OK - if successful.
E_FAIL - if unsucessful.

updateStoppingAbsolutePosAction

HRESULT updateStoppingAbsolutePosAction()
State updating activity to be taken while in stopping state under absolute positioning control.
Returns:
S_OK - if successful.
E_FAIL - if unsucessful.

 Previous   Next