INOS
CINOSPhysicalAxis Class Reference

Provides physical aka real axis functionality. More...

#include <cinosphysicalaxis.h>

Inheritance diagram for CINOSPhysicalAxis:

Public Types

enum  EBorderType { eBorderPosition , eBorderSpeed , eBorderSensor , eBorderSpeedAbs }
 The different border types the system supports. More...
 
enum  EBorderStop { eBorderStopHard =0 , eBorderStopRamp =1 }
 The different border stopping types the system supports. More...
 
- Public Types inherited from CINOSBaseAxis
enum  { eFlgParamSetNone = 0x00000000 , eFlgParamSetSearchGlobal = 0x00000001 , eFlgParamSetIgnoreOverwrite = 0x00000002 }
 
enum  EActualType { eActInput , eActActual , eActOutput }
 

Public Member Functions

 CINOSPhysicalAxis (SINOSPhysicalAxis *apDesc)
 
 CINOSPhysicalAxis (SINOSPhysicalAxis *apDesc, CINOSBaseRamp *apRamp, CINOSBaseControl *apControl, CINOSBaseMotor *apMoto)
 
virtual uint32 Connect () override
 Connect axis to hardware.
 
virtual uint32 Activate (bool abCheckPos=true, bool abSimulatePos=false, bool abSimulateOut=false, bool abSimulateAct=false, CINOSSync *apSync=DF_INOS_SYNCHRONOUS) override
 Activate axis in a given mode, e.g Activate(true,true,true,true) enables the axis in a full simulated manner.
 
virtual uint32 InActivate (CINOSSync *apSync=DF_INOS_SYNCHRONOUS) override
 Inactivate axis.
 
virtual uint32 Relax (uint32 auTimeMs, CINOSSync *apSync=DF_INOS_SYNCHRONOUS) override
 Relax a coupled slave axis for a given time.
 
virtual uint32 Commutate ()
 
virtual uint32 ForceCommutate (bool abAlways=false)
 
virtual uint32 ReActivate (uint32 auDelayMs=100)
 
virtual uint32 Sync (real64 arPosition, CINOSSync *apSync=DF_INOS_SYNCHRONOUS) override
 Search reference mark till arPosition and set actual position to 0.0 at mark.
 
virtual uint32 Sync (real64 arPosition, SINOSRampParam *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS) override
 Search reference mark till arPosition and set actual position to 0.0 at mark.
 
virtual uint32 Sync (real64 arPosition, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS) override
 Search reference mark till arPosition and set actual position to 0.0 at mark.
 
virtual uint32 Sync (real64 arPosition, real64 arSyncPos, CINOSSync *apSync=DF_INOS_SYNCHRONOUS) override
 Search reference mark till arPosition and set actual position to arSyncPos at mark.
 
virtual uint32 Sync (real64 arPosition, real64 arSyncPos, SINOSRampParam *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS) override
 Search reference mark till arPosition and set actual position to arSyncPos at mark.
 
virtual uint32 Sync (real64 arPosition, real64 arSyncPos, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS) override
 Search reference mark till arPosition and set actual position to arSyncPos at mark.
 
virtual uint32 Sync (real64 arSyncPos, const char *apParam, CINCOObject *apObject, CINOSSync *apSync=DF_INOS_SYNCHRONOUS) override
 Search reference mark and set actual position to arSyncPos at mark.
 
virtual uint32 Sync (real64 arPosition, real64 arSyncPos, uint32 auFlags, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 
virtual uint32 Sync (real64 arPosition, real64 arSyncPos, uint32 auFlags, SINOSRampParam *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 
virtual uint32 Sync (real64 arPosition, real64 arSyncPos, uint32 auFlags, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 
virtual uint32 SyncMove (real64 arPosition, real64 arSyncPos, real64 arMovePos, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Search reference till max. arPosition. If reference found, set position at reference to arSyncPos and finally move to arMovePos without an intermediate stop.
 
virtual uint32 SyncMove (real64 arPosition, real64 arSyncPos, real64 arMovePos, SINOSRampParam *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Search reference till max. arPosition. If reference found, set position at reference to arSyncPos and finally move to arMovePos without an intermediate stop.
 
virtual uint32 SyncMove (real64 arPosition, real64 arSyncPos, real64 arMovePos, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Search reference till max. arPosition. If reference found, set position at reference to arSyncPos and finally move to arMovePos without an intermediate stop.
 
virtual uint32 MoveEx (real64 arPosition, real64 &arTrgPos, uint32 auFlags, const char *apTrgName, real64 arTrgLevel, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 
virtual uint32 MoveEx (real64 arPosition, real64 &arTrgPos, uint32 auFlags, const char *apTrgName, real64 arTrgLevel, SINOSRampParam *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 
virtual uint32 MoveEx (real64 arPosition, real64 &arTrgPos, uint32 auFlags, const char *apTrgName, real64 arTrgLevel, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 
virtual uint32 MoveExApp (real64 arPosition, real64 arPositionVel, real64 arVelocity, real64 &arTrgPos, uint32 auFlags, const char *apTrgName, real64 arTrgLevel, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 
virtual uint32 MoveExApp (real64 arPosition, real64 arPositionVel, real64 arVelocity, real64 &arTrgPos, uint32 auFlags, const char *apTrgName, real64 arTrgLevel, SINOSRampParam *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 
virtual uint32 MoveExApp (real64 arPosition, real64 arPositionVel, real64 arVelocity, real64 &arTrgPos, uint32 auFlags, const char *apTrgName, real64 arTrgLevel, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 
virtual void SetBorderType (EBorderType auType)
 Set border limit type (used in MoveToBorder method)
 
virtual void GetBorderType (EBorderType &auType)
 Get border limit type (used in MoveToBorder method)
 
virtual void SetBorderLimit (real64 arLimit)
 Set border limit value (used in MoveToBorder method)
 
virtual void GetBorderLimit (real64 &arLimit)
 Get border limit value (used in MoveToBorder method)
 
virtual void SetBorderRelax (real64 arRelax)
 Set border relax value (used in MoveToBorder method)
 
virtual void GetBorderRelax (real64 &arRelax)
 Get border relax value (used in MoveToBorder method)
 
virtual uint32 ReleaseFromBorder ()
 Release from border (used after MoveToBorder)
 
virtual uint32 MoveToBorder (real64 arPosition, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Search border till arPosition and stop if found (use ReleaseFromBorder before other moves are initiated)
 
virtual uint32 MoveToBorder (real64 arPosition, real64 &arResult, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Search border till arPosition and stop if found (use ReleaseFromBorder before other moves are initiated)
 
virtual uint32 MoveToBorderApp (real64 arPosition, real64 arPositionVel, real64 arVelocity, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Search border till arPosition and stop if found. The current limitation is switched on at the reduced velocity point (use ReleaseFromBorder before other moves are initiated)
 
virtual uint32 MoveToBorderApp (real64 arPosition, real64 arPositionVel, real64 arVelocity, real64 &arResult, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Search border till arPosition and stop if found. The current limitation is switched on at the reduced velocity point (use ReleaseFromBorder before other moves are initiated)
 
virtual uint32 MoveToBorderApp (real64 arPosition, real64 arPositionVel, real64 arVelocity, real64 &arResult, uint32 auFlags, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Search border till arPosition and stop if found. The current limitation is switched on at the reduced velocity point (use ReleaseFromBorder before other moves are initiated)
 
virtual uint32 MoveToDigitalSensor (const char *apName, real64 arPosition, bool abSet, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Search digital sensor till arPosition and stop if found. If not found, the axis will go into "Failed" error state and requires to be recovered before it can be used again.
 
virtual uint32 MoveToDigitalSensor (const char *apName, real64 arPosition, bool abSet, real64 &arResult, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Search digital sensor till arPosition and stop if found. If not found, the axis will go into "Failed" error state and requires to be recovered before it can be used again.
 
virtual uint32 MoveToDigitalSensor (const char *apName, real64 arPosition, bool abSet, real64 &arResult, uint32 auFlags, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Search digital sensor till arPosition and stop if found. This overload allows to specify arbitrary MoveEx flags see auFlags. Among other use cases, use this overload if setting the axis to an error state when no sensor is found is undesired. In that case, pass in DF_MOVEEX_NO_ERROR (probably along with DF_MOVEEX_STOP_AT_EVENT, DF_MOVEEX_TRG_EQ and DF_MOVEEX_SET_TRG_POS).
 
virtual uint32 MoveToDigitalSensorApp (const char *apName, real64 arPosition, bool abSet, real64 arPositionVel, real64 arVelocity, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Search digital sensor till arPosition and stop if found.
 
virtual uint32 MoveToDigitalSensorApp (const char *apName, real64 arPosition, bool abSet, real64 arPositionVel, real64 arVelocity, real64 &arResult, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Search digital sensor till arPosition and stop if found.
 
virtual uint32 MoveToDigitalSensorApp (const char *apName, real64 arPosition, bool abSet, real64 arPositionVel, real64 arVelocity, real64 &arResult, uint32 auFlags, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Search digital sensor till arPosition and stop if found.
 
virtual uint32 MoveToAnalogSensor (const char *apName, real64 arPosition, real64 arLevel, bool abGreater, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Search analog sensor till arPosition and stop if found.
 
virtual uint32 MoveToAnalogSensor (const char *apName, real64 arPosition, real64 arLevel, bool abGreater, real64 &arResult, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Search analog sensor till arPosition and stop if found.
 
virtual uint32 MoveToAnalogSensor (const char *apName, real64 arPosition, real64 arLevel, bool abGreater, real64 &arResult, SINOSRampParam *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Search analog sensor till arPosition and stop if found.
 
virtual uint32 MoveToAnalogSensor (const char *apName, real64 arPosition, real64 arLevel, bool abGreater, real64 &arResult, uint32 auFlags, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Search analog sensor till arPosition and stop if found.
 
virtual uint32 MoveToAnalogSensor (const char *apName, real64 arPosition, real64 arLevel, bool abGreater, real64 &arResult, uint32 auFlags, SINOSRampParam *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Search analog sensor till arPosition and stop if found.
 
virtual uint32 MoveToAnalogSensorApp (const char *apName, real64 arPosition, real64 arLevel, bool abGreater, real64 arPositionVel, real64 arVelocity, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Search analog sensor till arPosition and stop if found.
 
virtual uint32 MoveToAnalogSensorApp (const char *apName, real64 arPosition, real64 arLevel, bool abGreater, real64 arPositionVel, real64 arVelocity, real64 &arResult, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Search analog sensor till arPosition and stop if found.
 
virtual uint32 MoveToAnalogSensorApp (const char *apName, real64 arPosition, real64 arLevel, bool abGreater, real64 arPositionVel, real64 arVelocity, real64 &arResult, SINOSRampParam *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Search analog sensor till arPosition and stop if found.
 
virtual uint32 MoveToAnalogSensorApp (const char *apName, real64 arPosition, real64 arLevel, bool abGreater, real64 arPositionVel, real64 arVelocity, real64 &arResult, uint32 auFlags, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Search analog sensor till arPosition and stop if found.
 
virtual uint32 MoveToAnalogSensorApp (const char *apName, real64 arPosition, real64 arLevel, bool abGreater, real64 arPositionVel, real64 arVelocity, real64 &arResult, uint32 auFlags, SINOSRampParam *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Search analog sensor till arPosition and stop if found.
 
virtual uint32 ForceActivate (const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Switch from position to force mode.
 
virtual uint32 ForceInactivate (CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Switch from force to position mode.
 
virtual uint32 ForceInactivate (double adLimit, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Switch from force to position mode but still limit force to given value [N].
 
virtual uint32 ForceApproach (double adPosition, double adPositionVel, double adVelocity, double adForce, double adForcelimit, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Search requested force [N], stop if found and switch to force mode.
 
virtual uint32 ForceDepart (double adPosition, double adPositionVel, double adVelocity, double adForceLimit, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Switch to position mode and depart from force point.
 
virtual uint32 ForceMove (double adForce, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Ramp the commanded force to the requested value [N] with the given param set.
 
virtual uint32 ForceMoveStop (const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Stop a running ForceMove with the given param set.
 
virtual uint32 ForceBreak (double adForce, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Ramp the commanded force to the requested value [N] with the given param set. Expect a collapse before the commanded force is reached.
 
virtual uint32 ForceTara (double adForce=0.0, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Set current force [N] to given value.
 
virtual uint32 ForceSelect (const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Select given param set.
 
virtual uint32 ForcePull (double adForce)
 Set a new force point start force pull mode if not et done. If one is running an axis in force pull mode, one has to provide a new force for every axis sample, e.g. if the axis is sampled over the fieldbus with 4kHz, dT between two points is 0.000250 s.
 
virtual uint32 EnableForceLimit (double adLimit)
 Enable force limitation to given limit.
 
virtual uint32 DisableForceLimit ()
 Disable force limitation.
 
virtual uint32 ForceCancel ()
 Cancels force controller.
 
virtual void SetPathPosition (real64 arPosition) override
 
virtual uint32 SetActPosition (real64 arPosition) override
 Sets the actual axis position. This method doesn't change a current following error and it is therefore allowed to change the axis position during a running move.
 
virtual void GetActPosition (real64 &arPosition, bool abRamp=true) override
 Gets the actual axis position.
 
virtual void GetActPosition (real64 &arPosition, uint64 auTicks) override
 
virtual void GetActPosition (real64 &arCmdPosition, real64 &arRealPosition)
 
virtual void GetActVelocity (real64 &arVelocity, bool abRamp=true) override
 
virtual void GetActVelocity (real64 &arCmdVelocity, real64 &arRealVelocity)
 
virtual void GetActAcceleration (real64 &arAcceleration, bool abRamp=true) override
 
virtual void GetActAcceleration (real64 &arCmdAcceleration, real64 &arRealAcceleration)
 
virtual void GetActJerk (real64 &arJerk, bool abRamp=true) override
 
virtual void GetActPosError (real64 &arPosError) override
 
virtual void GetActVelocityError (real64 &arVelocityError, bool abFiltered=false) override
 
virtual void GetPosErrorAtEvent (real64 &arPosError)
 
virtual uint32 SetRealPosition (real64 arPosition) override
 Sets the real axis position. This method ignores a current following error and should therefore NOT be used during a running move, as this leads to following error jumps. It is also important to mention, that one looses precision if this method is called (e.g. multiple times) on an axis that has a following error that is not equal to zero!
 
virtual void GetRealPosition (real64 &arPosition, bool abMapped=true) override
 Gets the real axis position.
 
virtual void GetRealVelocity (real64 &arVelocity) override
 
virtual void GetRealVelocityFiltered (real64 &arVelocity)
 
virtual void GetRealAcceleration (real64 &arAcceleration) override
 
virtual void GetRealJerk (real64 &arJerk) override
 
void SetLifetimeDistance (real64 arDistance)
 set lifetime distance (only used at startup by either mcrobot or user code)
 
void GetLifetimeDistance (real64 &arDistance)
 get current lifetime distance
 
virtual void GetUnitsPerInc (double &adUnits) override
 
virtual void SetIncsPerUnit (double adIncs)
 
virtual void GetIncsPerUnit (double &adIncs) override
 
virtual void SetGearRatio (double adGearRatio)
 
virtual void GetGearRatio (double &adGearRatio)
 
virtual void SetFeedPerTurn (double adFeedPerTurn)
 
virtual void GetFeedPerTurn (double &adFeedPerTurn)
 
virtual void SetIncsPerTurn (double adIncsPerTurn)
 
virtual void GetIncsPerTurn (double &adIncsPerTurn)
 
virtual void GetTurnsPerMin (double &adTurnsPerMin)
 
virtual void GetIncPosition (uint8 &auIncPosition)
 
virtual void SetInertia (double adInertia)
 
virtual void GetInertia (double &adInertia)
 
virtual void GetCycleTime (real64 &arCycleTime, bool abOversampled=false) override
 
virtual uint8 GetOversampling () override
 
virtual uint16 GetCycleNumber () override
 
virtual uint16 GetCycleId () override
 
virtual void UpdateCycleId (uint16 auCycleId) override
 
virtual uint8 GetBusId () override
 
virtual uint32 SetParam (const char *apName, real64 arValue) override
 
virtual uint32 GetParam (const char *apName, real64 &arResult) override
 
virtual int32 GetState () override
 
virtual int32 GetState (uint32 &auRampState) override
 
virtual int32 GetState (uint32 &auRampState, uint32 &auControlState)
 
virtual uint32 GetError (bool abResolveExternal=false) override
 
virtual uint64 GetErrorEx (bool abResolveExternal=false) override
 
virtual uint32 GetError (uint32 &auRampError, bool abResolveExternal=false) override
 
virtual uint64 GetErrorEx (uint64 &auRampError, bool abResolveExternal=false) override
 
virtual uint32 GetError (uint32 &auRampError, uint32 &auControlError, bool abResolveExternal=false)
 
virtual uint64 GetErrorEx (uint64 &auRampError, uint64 &auControlError, bool abResolveExternal=false)
 
virtual bool IsErrorFatal () override
 
virtual uint32 GetWarning (bool abResolveExternal=false) override
 
virtual uint64 GetWarningEx (bool abResolveExternal=false) override
 
virtual uint32 GetWarning (uint32 &auRampWarning, bool abResolveExternal=false) override
 
virtual uint64 GetWarningEx (uint64 &auRampWarning, bool abResolveExternal=false) override
 
virtual uint32 GetWarning (uint32 &auRampWarning, uint32 &auControlWarning, bool abResolveExternal=false)
 
virtual uint64 GetWarningEx (uint64 &auRampWarning, uint64 &auControlWarning, bool abResolveExternal=false)
 
virtual uint32 AcceptError () override
 
virtual uint32 AcceptError (uint32 auError) override
 
virtual uint32 AcceptError (uint32 auError, uint32 auRampError) override
 
virtual uint32 AcceptError (uint32 auError, uint32 auRampError, uint32 auControlError)
 
virtual uint32 AcceptWarning () override
 
virtual uint32 AcceptWarning (uint32 auWarning) override
 
virtual uint32 AcceptWarning (uint32 auWarning, uint32 auRampWarning) override
 
virtual uint32 AcceptWarning (uint32 auWarning, uint32 auRampWarning, uint32 auControlWarning)
 
virtual uint32 SetParam (const char *apName, uint64 auValue) override
 
virtual uint32 GetParam (const char *apName, uint64 &auResult) override
 
virtual CINCOObject * GetRegister () override
 
virtual CINOSBaseControlGetControl ()
 
virtual CINOSBaseMotorGetMotor ()
 
virtual class CINOSForceControlGetForce ()
 
virtual bool IsEmgInActivating ()
 
virtual void EnableSync (real64 arPosition=REAL64(0.0), uint8 auSyncMode=DF_INOS_AXIS_SYNC_NOADJ) override
 
virtual void DisableSync () override
 
virtual void GetSyncCount (uint32 &auSyncCount) override
 
virtual void SetSyncCount (uint32 auSyncCount) override
 
virtual void GetSyncCorr (real64 &arSyncCorr)
 
virtual bool EnableSafeSync ()
 
virtual void DisableSafeSync ()
 
virtual void EnableNorm (uint8 auMode=DF_INOS_AXIS_NORM_AFTER, uint8 auMoveDir=DF_INOS_AXIS_NORM_MOVE_DIR_NO, real64 arNormPos=REAL64(0.0)) override
 
virtual void DisableNorm () override
 
virtual void SetNormMode (uint8 auNormMode) override
 
virtual void EnableCurLimit () override
 
virtual void DisableCurLimit () override
 
virtual void SetCurLimit (bool abEnable)
 
virtual bool GetCurLimit () override
 
virtual void SetMaxCurrent (real64 arMaxCurrent)
 
virtual void GetMaxCurrent (real64 &arMaxCurrent)
 
CINOSPhysicalAxisGetCoupledAxis ()
 
uint32 GetCoupledOptions ()
 
virtual bool IsCouplingEnabled ()
 
virtual uint32 EnableCoupling (const char *apAxis, uint32 auOptions, real64 arMaxDelta)
 
virtual uint32 EnableCoupling (const char *apAxis, uint32 auOptions, real64 arMaxDelta, real64 arMaxCorr)
 
virtual uint32 EnableCoupling ()
 
virtual uint32 DisableCoupling ()
 
virtual uint32 EnableLoadBalancing (const char *apAxis, real64 arFactor)
 
virtual uint32 DisableLoadBalancing ()
 
virtual void SetCpdOption (uint32 auOption)
 
virtual void ClrCpdOption (uint32 auOption)
 
virtual void SetBorderLimit (CINOSBit *apLimitPos, CINOSBit *apLimitNeg, bool abInverted=false)
 
virtual void ResetBorderLimit ()
 
virtual CINOSBitGetPowerReady ()
 
virtual bool IsPowerReady ()
 
virtual bool IsOnline () const
 
void SetAxisEnableInput (const char *apInputName)
 set name of axis enable input
 
void GetAxisEnableInput (char *apResult, uint32 auSize) const
 get name of axis enable input
 
- Public Member Functions inherited from CINOSBaseAxis
 CINOSBaseAxis (SINOSBaseAxis *apDesc)
 Create an axis based on a descriptor (usually not used because this is done by the configuration system).
 
 CINOSBaseAxis (SINOSBaseAxis *apDesc, CINOSBaseRamp *apRamp)
 Create an axis based on a descriptor (usually not used because this is done by the configuration system).
 
virtual ~CINOSBaseAxis ()
 Destroy the axis (usually not used)
 
virtual uint32 WaitTicks (uint32 auTicks=1)
 Wait for the given axis control cycle ticks. This method can be useful if it is necessary to synchronize an application task somehow to the axis control cycle, e.g. auTicks = 1 means, the task returns after at least one axis control cycle occured.
 
virtual uint32 Enable (CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Enables a previously disabled axis. Only enabled axis can be activated.
 
virtual uint32 Disable (CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Disables an enabled axis. Only inactivated axis can be disabled. Use 'Enable' to reenable the axis.
 
void InitializeLimitChecker ()
 Initializes the limit checker if requested.
 
virtual uint32 Move (real64 arPosition, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Move to arPosition with actual commanded jerk, acc/deceleration and velocity.
 
virtual uint32 Move (real64 arPosition, SINOSRampParam *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Move to arPosition with speed set apParam.
 
virtual uint32 Move (real64 arPosition, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Move to arPosition with speed set apParam.
 
virtual uint32 MoveTime (real64 arPosition, real64 arTime, bool abUseP5=true, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Move to arPosition within the given time arTime. Actual commanded jerk, acc/deceleration and velocity are treated as max. values. If the required values would exceed the commanded ones an error is returned and the move is not started.
 
virtual uint32 MoveTime (real64 arPosition, real64 arTime, bool abUseP5, SINOSRampParam *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Move to arPosition within the given time arTime and the speedset apParam. The speed set values are treated as max. values. If the required values would exceed the speedset ones an error is returned and the move is not started.
 
virtual uint32 MoveTime (real64 arPosition, real64 arTime, bool abUseP5, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Move to arPosition within the given time arTime and the speedset apParam. The speed set values are treated as max. values. If the required values would exceed the speedset ones an error is returned and the move is not started.
 
virtual uint32 Move (real64 arPosition, real64 arSafe1, real64 arSafe2, SINOSRampParam *apParam1, SINOSRampParam *apParam2, real64 arPartner, SINOSRampParam *apPartner, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Move to arPosition with speed set apParam. The move is done in a so called safe way (backward -> partner -> forward). The partner axis has to be defined with the method SetPartner.
 
virtual uint32 Move (real64 arPosition, real64 arSave1, real64 arSave2, const char *apParam1, const char *apParam2, real64 arPartner, const char *apPartner, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Move to arPosition with speed set apParam. The move is done in a so called safe way (backward -> partner -> forward). The partner axis has to be defined with the method SetPartner.
 
virtual uint32 MoveApp (real64 arPosition, real64 arPositionVel, real64 arVelocity, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Move to arPosition with actual commanded jerk, acc/deceleration and velocity. Ensure after arPositionVel a velocity that is smaller than or equal to arVelocity.
 
virtual uint32 MoveApp (real64 arPosition, real64 arPositionVel, real64 arVelocity, SINOSRampParam *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Move to arPosition with speed set apParam. Ensure after arPositionVel a velocity that is smaller than or equal to arVelocity.
 
virtual uint32 MoveApp (real64 arPosition, real64 arPositionVel, real64 arVelocity, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Move to arPosition with speed set apParam. Ensure after arPositionVel a velocity that is smaller than or equal to arVelocity.
 
virtual uint32 MoveDep (real64 arPosition, real64 arPositionVel, real64 arVelocity, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Move to arPosition with actual commanded jerk, acc/deceleration and velocity. Ensure befor arPositionVel a velocity that is smaller than or equal to arVelocity.
 
virtual uint32 MoveDep (real64 arPosition, real64 arPositionVel, real64 arVelocity, SINOSRampParam *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Move to arPosition with speed set apParam. Ensure befor arPositionVel a velocity that is smaller than or equal to arVelocity.
 
virtual uint32 MoveDep (real64 arPosition, real64 arPositionVel, real64 arVelocity, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Move to arPosition with speed set apParam. Ensure before arPositionVel a velocity that is smaller than or equal to arVelocity.
 
virtual uint32 Toggle (real64 arPosition1, real64 arPosition2)
 Start an endless toggle between arPosition1 and arPosition2 with actual commanded a jerk, acc/deceleration and velocity.
 
virtual uint32 ToggleSection (real64 arPos1Min, real64 arPos1Max, real64 arPos2Min, real64 arPos2Max, uint32 auDelayMin, uint32 auDelayMax)
 Start an endless section toggle between arPosition1 and arPosition2 with actual commanded a jerk, acc/deceleration and velocity.
 
virtual uint32 Track (const char *apVarName, real64 arFactor, uint32 auFilterLength, uint32 auDirection=0)
 Track the variable with name apVarName.
 
virtual uint32 Track (const char *apVarName, real64 arFactor, uint32 auFilterLength, uint32 auDirection, const char *apParam)
 Track the variable with name apVarName.
 
virtual uint32 Track (const char *apVarName, real64 arCmdValue, real64 arFactor, uint32 auFilterLength)
 Track the variable with name apVarName to the commanded value arCmdValue.
 
virtual uint32 SetTrackFactor (real64 arFactor)
 Allows to live change the tracking factor of an active 'Track'.
 
virtual uint32 Endless (bool abPositive=true)
 Start and endless move in the requested direction with actual commanded acc/dec and velocity.
 
virtual uint32 Endless (bool abPositive, SINOSRampParam *apParam, CINOSSync *apSync=DF_INOS_ASYNCHRONOUS)
 Start and endless move in the requested direction with speed set apParam.
 
virtual uint32 Endless (bool abPositive, const char *apParam, CINOSSync *apSync=DF_INOS_ASYNCHRONOUS)
 Start and endless move in the requested direction with speed set apParam.
 
virtual uint32 Cursor (bool abPositive=true)
 Moves one 'inc' in the requested direction, waits 500ms and starts an endless move to the defined software limit. This move is usually stopped with the Stop command.
 
virtual uint32 Cursor (real64 arPosition)
 Moves one 'inc' in 'arPosition' direction, waits 500ms and then moves to arPosition. This move is usually stopped with the Stop command.
 
virtual uint32 Cursor (bool abPositive, uint32 auWaitTime)
 Moves one 'inc' in the requested direction, waits auWaitTime ms and starts an endless move to the defined software limit. This move is usually stopped with the Stop command.
 
virtual uint32 Cursor (real64 arPosition, uint32 auWaitTime)
 Moves one 'inc' in 'arPosition' direction, waits auWaitTime ms and then moves to arPosition. This move is usually stopped with the Stop command.
 
virtual uint32 Cursor (bool abPositive, uint32 auWaitTime, real64 arStep)
 Moves one arStep in the requested direction, waits auWaitTime ms and starts an endless move to the defined software limit. This move is usually stopped with the Stop command.
 
virtual uint32 Cursor (real64 arPosition, uint32 auWaitTime, real64 arStep)
 Moves one step in 'arPosition' direction, waits auWaitTime ms and then moves to arPosition. This move is usually stopped with the Stop command.
 
virtual uint32 Cursor (bool abPositive, uint32 auWaitTime, real64 arStep, SINOSRampParam *apParam)
 Moves one arStep in the requested direction, waits auWaitTime ms and starts an endless move to the defined software limit. This move is usually stopped with the Stop command.
 
virtual uint32 Cursor (real64 arPosition, uint32 auWaitTime, real64 arStep, SINOSRampParam *apParam)
 Moves one step in 'arPosition' direction, waits auWaitTime ms and then moves to arPosition. This move is usually stopped with the Stop command.
 
virtual uint32 Cursor (bool abPositive, uint32 auWaitTime, real64 arStep, const char *apParam)
 Moves one arStep in the requested direction, waits auWaitTime ms and starts an endless move to the defined software limit. This move is usually stopped with the Stop command.
 
virtual uint32 Cursor (real64 arbPosition, uint32 auWaitTime, real64 arStep, const char *apParam)
 Moves one step in 'arPosition' direction, waits auWaitTime ms and then moves to arPosition. This move is usually stopped with the Stop command.
 
virtual uint32 Update (CINOSSync *apSync=DF_INOS_ASYNCHRONOUS)
 Update a running Move to actual commanded values (acc,dec,vel,jerk) Signal apSync if constant velocity reached (acc = 0).
 
virtual uint32 Update (SINOSRampParam *apParam, CINOSSync *apSync=DF_INOS_ASYNCHRONOUS)
 Update a running Move to speed set apParam. Signal apSync if constant velocity reached (acc = 0).
 
virtual uint32 Update (const char *apParam, CINOSSync *apSync=DF_INOS_ASYNCHRONOUS)
 Update a running Move to speed set apParam. Signal apSync if constant velocity reached (acc = 0).
 
virtual SINOSTimeCharacteristics GetTimeCharacteristics (real64 arPosition)
 Calculate time characteristics of a move.
 
virtual SINOSTimeCharacteristics GetTimeCharacteristics (real64 arPosition, SINOSRampParam *apParam)
 Calculate time characteristics of a move.
 
virtual SINOSTimeCharacteristics GetTimeCharacteristics (real64 arPosition, const char *apParam)
 Calculate time characteristics of a move.
 
virtual SINOSTimeCharacteristics GetTimeCharacteristics (real64 arPosition, real64 arDelta)
 Calculate time characteristics of a move.
 
virtual SINOSTimeCharacteristics GetTimeCharacteristics (real64 arPosition, real64 arDelta, SINOSRampParam *apParam)
 Calculate time characteristics of a move.
 
virtual SINOSTimeCharacteristics GetTimeCharacteristics (real64 arPosition, real64 arDelta, const char *apParam)
 Calculate time characteristics of a move.
 
virtual SINOSTimeCharacteristics GetTimeCharacteristics (real64 arStartPosition, real64 arEndPosition, real64 arDelta)
 Calculate time characteristics of a move.
 
virtual SINOSTimeCharacteristics GetTimeCharacteristics (real64 arStartPosition, real64 arEndPosition, real64 arDelta, SINOSRampParam *apParam)
 Calculate time characteristics of a move.
 
virtual SINOSTimeCharacteristics GetTimeCharacteristics (real64 arStartPosition, real64 arEndPosition, real64 arDelta, const char *apParam)
 Calculate time characteristics of a move.
 
virtual real64 GetMoveTime (real64 arPosition)
 Calc time [sec] a Move(adPosition) needs until arPosition.
 
virtual real64 GetAccelerationTime (real64 arPosition)
 Calc time [sec] a Move(adPosition) needs for the acceleration part.
 
virtual real64 GetConstTime (real64 arPosition)
 Calc time [sec] a Move(adPosition) needs for the constant part.
 
virtual real64 GetDecelerationTime (real64 arPosition)
 Calc time [sec] a Move(adPosition) needs for the deceleration part.
 
virtual real64 GetMoveTime (real64 arPosition, SINOSRampParam *apParam)
 Calc time [sec] a Move(adPosition) needs until arPosition.
 
virtual real64 GetAccelerationTime (real64 arPosition, SINOSRampParam *apParam)
 Calc time [sec] a Move(adPosition) needs for the acceleration part.
 
virtual real64 GetConstTime (real64 arPosition, SINOSRampParam *apParam)
 Calc time [sec] a Move(adPosition) needs for the constant part.
 
virtual real64 GetDecelerationTime (real64 arPosition, SINOSRampParam *apParam)
 Calc time [sec] a Move(adPosition) needs for the deceleration part.
 
virtual real64 GetMoveTime (real64 arPosition, const char *apParam)
 Calc time [sec] a Move(adPosition) needs until arPosition.
 
virtual real64 GetAccelerationTime (real64 arPosition, const char *apParam)
 Calc time [sec] a Move(adPosition) needs for the acceleration part.
 
virtual real64 GetConstTime (real64 arPosition, const char *apParam)
 Calc time [sec] a Move(adPosition) needs for the constant part.
 
virtual real64 GetDecelerationTime (real64 arPosition, const char *apParam)
 Calc time [sec] a Move(adPosition) needs for the deceleration part.
 
virtual real64 GetMoveTime (real64 arPosition, real64 arDelta)
 Calc time [sec] a Move(adPosition) needs until arPosition-arDelta.
 
virtual real64 GetAccelerationTime (real64 arPosition, real64 arDelta)
 Calc time [sec] a Move(adPosition) needs for the acceleration part.
 
virtual real64 GetConstTime (real64 arPosition, real64 arDelta)
 Calc time [sec] a Move(adPosition) needs for the constant part.
 
virtual real64 GetDecelerationTime (real64 arPosition, real64 arDelta)
 Calc time [sec] a Move(adPosition) needs for the deceleration part.
 
virtual real64 GetMoveTime (real64 arPosition, real64 arDelta, SINOSRampParam *apParam)
 Calc time [sec] a Move(adPosition) needs until arPosition-arDelta.
 
virtual real64 GetAccelerationTime (real64 arPosition, real64 arDelta, SINOSRampParam *apParam)
 Calc time [sec] a Move(adPosition) needs for the acceleration part.
 
virtual real64 GetConstTime (real64 arPosition, real64 arDelta, SINOSRampParam *apParam)
 Calc time [sec] a Move(adPosition) needs for the constant part.
 
virtual real64 GetDecelerationTime (real64 arPosition, real64 arDelta, SINOSRampParam *apParam)
 Calc time [sec] a Move(adPosition) needs for the deceleration part.
 
virtual real64 GetMoveTime (real64 arPosition, real64 arDelta, const char *apParam)
 Calc time [sec] a Move(adPosition) needs until arPosition-arDelta.
 
virtual real64 GetAccelerationTime (real64 arPosition, real64 arDelta, const char *apParam)
 Calc time [sec] a Move(adPosition) needs for the acceleration part.
 
virtual real64 GetConstTime (real64 arPosition, real64 arDelta, const char *apParam)
 Calc time [sec] a Move(adPosition) needs for the constant part.
 
virtual real64 GetDecelerationTime (real64 arPosition, real64 arDelta, const char *apParam)
 Calc time [sec] a Move(adPosition) needs for the deceleration part.
 
virtual real64 GetMoveTime (real64 arStartPosition, real64 arEndPosition, real64 arDelta)
 Calc time [sec] a Move needs from arStartPosition until arEndPosition-arDelta.
 
virtual real64 GetAccelerationTime (real64 arStartPosition, real64 arEndPosition, real64 arDelta)
 Calc time [sec] a Move from arStartPosition until arEndPosition needs for the acceleration part.
 
virtual real64 GetConstTime (real64 arStartPosition, real64 arEndPosition, real64 arDelta)
 Calc time [sec] a Move from arStartPosition until arEndPosition needs for the const part.
 
virtual real64 GetDecelerationTime (real64 arStartPosition, real64 arEndPosition, real64 arDelta)
 Calc time [sec] a Move from arStartPosition until arEndPosition needs for the deceleration part.
 
virtual real64 GetMoveTime (real64 arStartPosition, real64 arEndPosition, real64 arDelta, SINOSRampParam *apParam)
 Calc time [sec] a Move needs from arStartPosition until arEndPosition-arDelta.
 
virtual real64 GetAccelerationTime (real64 arStartPosition, real64 arEndPosition, real64 arDelta, SINOSRampParam *apParam)
 Calc time [sec] a Move from arStartPosition until arEndPosition needs for the acceleration part.
 
virtual real64 GetConstTime (real64 arStartPosition, real64 arEndPosition, real64 arDelta, SINOSRampParam *apParam)
 Calc time [sec] a Move from arStartPosition until arEndPosition needs for the const part.
 
virtual real64 GetDecelerationTime (real64 arStartPosition, real64 arEndPosition, real64 arDelta, SINOSRampParam *apParam)
 Calc time [sec] a Move from arStartPosition until arEndPosition needs for the deceleration part.
 
virtual real64 GetMoveTime (real64 arStartPosition, real64 arEndPosition, real64 arDelta, const char *apParam)
 Calc time [sec] a Move needs from arStartPosition until arEndPosition-arDelta.
 
virtual real64 GetAccelerationTime (real64 arStartPosition, real64 arEndPosition, real64 arDelta, const char *apParam)
 Calc time [sec] a Move from arStartPosition until arEndPosition needs for the acceleration part.
 
virtual real64 GetConstTime (real64 arStartPosition, real64 arEndPosition, real64 arDelta, const char *apParam)
 Calc time [sec] a Move from arStartPosition until arEndPosition needs for the const part.
 
virtual real64 GetDecelerationTime (real64 arStartPosition, real64 arEndPosition, real64 arDelta, const char *apParam)
 Calc time [sec] a Move from arStartPosition until arEndPosition needs for the deceleration part.
 
virtual real64 GetMoveAppTime (real64 arPosition, real64 arPositionVel, real64 arVelocity)
 Calc time [sec] an according MoveApp needs.
 
virtual real64 GetMoveAppTime (real64 arPosition, real64 arPositionVel, real64 arVelocity, SINOSRampParam *apParam)
 Calc time [sec] an according MoveApp needs.
 
virtual real64 GetMoveAppTime (real64 arPosition, real64 arPositionVel, real64 arVelocity, const char *apParam)
 Calc time [sec] an according MoveApp needs.
 
virtual real64 GetMoveAppTime (real64 arPosition, real64 arPositionVel, real64 arVelocity, real64 arDelta)
 Calc time [sec] an according MoveApp needs until arPosition-arDelta.
 
virtual real64 GetMoveAppTime (real64 arPosition, real64 arPositionVel, real64 arVelocity, real64 arDelta, SINOSRampParam *apParam)
 Calc time [sec] an according MoveApp needs until arPosition-arDelta.
 
virtual real64 GetMoveAppTime (real64 arPosition, real64 arPositionVel, real64 arVelocity, real64 arDelta, const char *apParam)
 Calc time [sec] an according MoveApp needs until arPosition-arDelta.
 
virtual real64 GetMoveAppTime (real64 arStartPosition, real64 arEndPosition, real64 arPositionVel, real64 arVelocity, real64 arDelta)
 Calc time [sec] an according MoveApp needs until arEndPosition-arDelta.
 
virtual real64 GetMoveAppTime (real64 arStartPosition, real64 arEndPosition, real64 arPositionVel, real64 arVelocity, real64 arDelta, SINOSRampParam *apParam)
 Calc time [sec] an according MoveApp needs until arEndPosition-arDelta.
 
virtual real64 GetMoveAppTime (real64 arStartPosition, real64 arEndPosition, real64 arPositionVel, real64 arVelocity, real64 arDelta, const char *apParam)
 Calc time [sec] an according MoveApp needs until arEndPosition-arDelta.
 
virtual real64 GetMoveDepTime (real64 arPosition, real64 arPositionVel, real64 arVelocity)
 Calc time [sec] an according MoveDep needs.
 
virtual real64 GetMoveDepTime (real64 arPosition, real64 arPositionVel, real64 arVelocity, SINOSRampParam *apParam)
 Calc time [sec] an according MoveDep needs.
 
virtual real64 GetMoveDepTime (real64 arPosition, real64 arPositionVel, real64 arVelocity, const char *apParam)
 Calc time [sec] an according MoveDep needs.
 
virtual real64 GetMoveDepTime (real64 arPosition, real64 arPositionVel, real64 arVelocity, real64 arDelta)
 Calc time [sec] an according MoveDep needs until arPosition-arDelta.
 
virtual real64 GetMoveDepTime (real64 arPosition, real64 arPositionVel, real64 arVelocity, real64 arDelta, SINOSRampParam *apParam)
 Calc time [sec] an according MoveDep needs until arPosition-arDelta.
 
virtual real64 GetMoveDepTime (real64 arPosition, real64 arPositionVel, real64 arVelocity, real64 arDelta, const char *apParam)
 Calc time [sec] an according MoveDep needs until arPosition-arDelta.
 
virtual real64 GetMoveDepTime (real64 arStartPosition, real64 arEndPosition, real64 arPositionVel, real64 arVelocity, real64 arDelta)
 Calc time [sec] an according MoveDep needs until arEndPosition-arDelta.
 
virtual real64 GetMoveDepTime (real64 arStartPosition, real64 arEndPosition, real64 arPositionVel, real64 arVelocity, real64 arDelta, SINOSRampParam *apParam)
 Calc time [sec] an according MoveDep needs until arEndPosition-arDelta.
 
virtual real64 GetMoveDepTime (real64 arStartPosition, real64 arEndPosition, real64 arPositionVel, real64 arVelocity, real64 arDelta, const char *apParam)
 Calc time [sec] an according MoveDep needs until arEndPosition-arDelta.
 
virtual int32 GetMoveTicks (real64 arPosition)
 Calc bus ticks a Move(adPosition) needs until arPosition.
 
virtual int32 GetAccelerationTicks (real64 arPosition)
 Calc bus ticks a Move(adPosition) needs for the acceleration part.
 
virtual int32 GetConstTicks (real64 arPosition)
 Calc bus ticks a Move(adPosition) needs for the constant part.
 
virtual int32 GetDecelerationTicks (real64 arPosition)
 Calc bus ticks a Move(adPosition) needs for the deceleration part.
 
virtual int32 GetMoveTicks (real64 arPosition, SINOSRampParam *apParam)
 Calc bus ticks a Move(adPosition) needs until arPosition.
 
virtual int32 GetAccelerationTicks (real64 arPosition, SINOSRampParam *apParam)
 Calc bus ticks a Move(adPosition) needs for the acceleration part.
 
virtual int32 GetConstTicks (real64 arPosition, SINOSRampParam *apParam)
 Calc bus ticks a Move(adPosition) needs for the constant part.
 
virtual int32 GetDecelerationTicks (real64 arPosition, SINOSRampParam *apParam)
 Calc bus ticks a Move(adPosition) needs for the deceleration part.
 
virtual int32 GetMoveTicks (real64 arPosition, const char *apParam)
 Calc bus ticks a Move(adPosition) needs until arPosition.
 
virtual int32 GetAccelerationTicks (real64 arPosition, const char *apParam)
 Calc bus ticks a Move(adPosition) needs for the acceleration part.
 
virtual int32 GetConstTicks (real64 arPosition, const char *apParam)
 Calc bus ticks a Move(adPosition) needs for the constant part.
 
virtual int32 GetDecelerationTicks (real64 arPosition, const char *apParam)
 Calc bus ticks a Move(adPosition) needs for the deceleration part.
 
virtual int32 GetMoveTicks (real64 arPosition, real64 arDelta)
 Calc bus ticks a Move(adPosition) needs until arPosition-arDelta.
 
virtual int32 GetAccelerationTicks (real64 arPosition, real64 arDelta)
 Calc bus ticks a Move(adPosition) needs for the acceleration part.
 
virtual int32 GetConstTicks (real64 arPosition, real64 arDelta)
 Calc bus ticks a Move(adPosition) needs for the constant part.
 
virtual int32 GetDecelerationTicks (real64 arPosition, real64 arDelta)
 Calc bus ticks a Move(adPosition) needs for the deceleration part.
 
virtual int32 GetMoveTicks (real64 arPosition, real64 arDelta, SINOSRampParam *apParam)
 Calc bus ticks a Move(adPosition) needs until arPosition-arDelta.
 
virtual int32 GetAccelerationTicks (real64 arPosition, real64 arDelta, SINOSRampParam *apParam)
 Calc bus ticks a Move(adPosition) needs for the acceleration part.
 
virtual int32 GetConstTicks (real64 arPosition, real64 arDelta, SINOSRampParam *apParam)
 Calc bus ticks a Move(adPosition) needs for the constant part.
 
virtual int32 GetDecelerationTicks (real64 arPosition, real64 arDelta, SINOSRampParam *apParam)
 Calc bus ticks a Move(adPosition) needs for the deceleration part.
 
virtual int32 GetMoveTicks (real64 arPosition, real64 arDelta, const char *apParam)
 Calc bus ticks a Move(adPosition) needs until arPosition-arDelta.
 
virtual int32 GetAccelerationTicks (real64 arPosition, real64 arDelta, const char *apParam)
 Calc bus ticks a Move(adPosition) needs for the acceleration part.
 
virtual int32 GetConstTicks (real64 arPosition, real64 arDelta, const char *apParam)
 Calc bus ticks a Move(adPosition) needs for the constant part.
 
virtual int32 GetDecelerationTicks (real64 arPosition, real64 arDelta, const char *apParam)
 Calc bus ticks a Move(adPosition) needs for the deceleration part.
 
virtual int32 GetMoveTicks (real64 arStartPosition, real64 arEndPosition, real64 arDelta)
 Calc bus ticks a Move needs from arStartPosition until arEndPosition-arDelta.
 
virtual int32 GetAccelerationTicks (real64 arStartPosition, real64 arEndPosition, real64 arDelta)
 Calc bus ticks a Move from arStartPosition until arEndPosition needs for the acceleration part.
 
virtual int32 GetConstTicks (real64 arStartPosition, real64 arEndPosition, real64 arDelta)
 Calc bus ticks a Move from arStartPosition until arEndPosition needs for the const part.
 
virtual int32 GetDecelerationTicks (real64 arStartPosition, real64 arEndPosition, real64 arDelta)
 Calc bus ticks a Move from arStartPosition until arEndPosition needs for the deceleration part.
 
virtual int32 GetMoveTicks (real64 arStartPosition, real64 arEndPosition, real64 arDelta, SINOSRampParam *apParam)
 Calc bus ticks a Move needs from arStartPosition until arEndPosition-arDelta.
 
virtual int32 GetAccelerationTicks (real64 arStartPosition, real64 arEndPosition, real64 arDelta, SINOSRampParam *apParam)
 Calc bus ticks a Move from arStartPosition until arEndPosition needs for the acceleration part.
 
virtual int32 GetConstTicks (real64 arStartPosition, real64 arEndPosition, real64 arDelta, SINOSRampParam *apParam)
 Calc bus ticks a Move from arStartPosition until arEndPosition needs for the const part.
 
virtual int32 GetDecelerationTicks (real64 arStartPosition, real64 arEndPosition, real64 arDelta, SINOSRampParam *apParam)
 Calc bus ticks a Move from arStartPosition until arEndPosition needs for the deceleration part.
 
virtual int32 GetMoveTicks (real64 arStartPosition, real64 arEndPosition, real64 arDelta, const char *apParam)
 Calc bus ticks a Move needs from arStartPosition until arEndPosition-arDelta.
 
virtual int32 GetAccelerationTicks (real64 arStartPosition, real64 arEndPosition, real64 arDelta, const char *apParam)
 Calc bus ticks a Move from arStartPosition until arEndPosition needs for the acceleration part.
 
virtual int32 GetConstTicks (real64 arStartPosition, real64 arEndPosition, real64 arDelta, const char *apParam)
 Calc bus ticks a Move from arStartPosition until arEndPosition needs for the const part.
 
virtual int32 GetDecelerationTicks (real64 arStartPosition, real64 arEndPosition, real64 arDelta, const char *apParam)
 Calc bus ticks a Move from arStartPosition until arEndPosition needs for the deceleration part.
 
virtual int32 GetExitTicks ()
 Calc bus ticks needed till exit in a safe move.
 
virtual real64 GetMoveDist (real64 arTime)
 Calc distance [unit] a Move progresses in arTime [sec].
 
virtual real64 GetMoveDist (real64 arPosition, real64 arTime)
 Calc distance [unit] a Move(arPosition) progresses in arTime [sec].
 
virtual real64 GetMoveDist (real64 arTime, SINOSRampParam *apParam)
 Calc distance [unit] a Move progresses in arTime [sec].
 
virtual real64 GetMoveDist (real64 arPosition, real64 arTime, SINOSRampParam *apParam)
 Calc distance [unit] a Move(arPosition) progresses in arTime [sec].
 
virtual real64 GetMoveDist (real64 arTime, const char *apParam)
 Calc distance [unit] a Move progresses in arTime [sec].
 
virtual real64 GetMoveDist (real64 arPosition, real64 arTime, const char *apParam)
 Calc distance [unit] a Move(arPosition) progresses in arTime [sec].
 
virtual real64 GetMoveDist (real64 arPosition, uint32 auTicks)
 Calc distance [unit] a Move(arPosition) progresses in auTicks [bus ticks].
 
virtual real64 GetMoveDist (real64 arPosition, uint32 auTicks, SINOSRampParam *apParam)
 Calc distance [unit] a Move(arPosition) progresses in auTicks [bus ticks].
 
virtual real64 GetMoveDist (real64 arPosition, uint32 auTicks, const char *apParam)
 Calc distance [unit] a Move(arPosition) progresses in auTicks [bus ticks].
 
virtual real64 GetMoveDist (real64 arStartPosition, real64 arEndPosition, real64 arTime)
 Calc distance [unit] a move from arStartPosition to arEndPosition progresses in arTime [sec].
 
virtual real64 GetMoveDist (real64 arStartPosition, real64 arEndPosition, real64 arTime, SINOSRampParam *apParam)
 Calc distance [unit] a move from arStartPosition to arEndPosition progresses in arTime [sec].
 
virtual real64 GetMoveDist (real64 arStartPosition, real64 arEndPosition, real64 arTime, const char *apParam)
 Calc distance [unit] a move from arStartPosition to arEndPosition progresses in arTime [sec].
 
virtual real64 GetMoveDist (real64 arStartPosition, real64 arEndPosition, uint32 auTicks)
 Calc distance [unit] a move from arStartPosition to arEndPosition progresses in auTicks [bus ticks].
 
virtual real64 GetMoveDist (real64 arStartPosition, real64 arEndPosition, uint32 auTicks, SINOSRampParam *apParam)
 Calc distance [unit] a move from arStartPosition to arEndPosition progresses in auTicks [bus ticks].
 
virtual real64 GetMoveDist (real64 arStartPosition, real64 arEndPosition, uint32 auTicks, const char *apParam)
 Calc distance [unit] a move from arStartPosition to arEndPosition progresses in auTicks [bus ticks].
 
virtual uint64 GetStartTicks (real64 arDelta)
 Get absolut bus ticks the actual move reaches the start position + arDelta.
 
virtual uint64 GetTargetTicks ()
 Get absolut bus ticks the actual move reaches the target position.
 
virtual uint64 GetTargetTicks (real64 arDelta)
 Get absolut bus ticks the actual move reaches the target position - arDelta.
 
virtual uint32 SegBegin (real64 arSlowMotion=REAL64(1.0), real64 arStartVelocity=REAL64(0.0))
 Create a new segmentation move.
 
virtual uint32 SegBegin (real64 arSlowMotion, real64 arStartPosition, real64 arStartVelocity)
 Create a new segmentation move at given position.
 
virtual uint32 SegMove (real64 arPosition)
 Add a move to arPosition. Velocity and acceleration in arPosition have to be 0.0.

 
virtual uint32 SegMove (real64 arPosition, SINOSRampParam *apParam)
 Add a move to arPosition. Velocity and acceleration in arPosition have to be 0.0.

 
virtual uint32 SegMove (real64 arPosition, const char *apParam)
 Add a move to arPosition. Velocity and acceleration in arPosition have to be 0.0.

 
virtual uint32 SegMove (real64 arPosition, real64 arVelocity)
 Add a move to arPosition. Requested velocity in arPosition is arVelocity, the acceleration is 0.0..

 
virtual uint32 SegMove (real64 arPosition, real64 arVelocity, SINOSRampParam *apParam)
 Add a move to arPosition. Requested velocity in arPosition is arVelocity, the acceleration is 0.0..

 
virtual uint32 SegMove (real64 arPosition, real64 arVelocity, const char *apParam)
 Add a move to arPosition. Requested velocity in arPosition is arVelocity, the acceleration is 0.0..

 
virtual uint32 SegConst (real64 arPosition)
 Add a move to arPosition with actual velocity.

 
virtual uint32 SegPos (real64 arTime)
 stay at actual position for arTime [sec].

 
virtual uint32 SegPosSetTime (real64 arTime)
 Sets the time of the last added segpos segment [sec]. Can be used to adjust a previous added pos segment

 
virtual uint32 SegVelocity (real64 arVelocity, SINOSRampParam *apParam)
 Directly change velocity to the new value.
 
virtual uint32 SegVelocity (real64 arVelocity, const char *apParam)
 Directly change velocity to the new value.
 
virtual real64 SegTime ()
 Returns time the actual segment move takes.

 
virtual uint32 SegRun (CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Run actual segments.
 
virtual uint32 WaitInPosition ()
 Wait for any move to finish.
 
virtual uint32 GetBusTicksPerAxisTick ()
 Get number of bus ticks an axis tick takes.
 
virtual uint32 Pull (real64 arS, real64 arV, real64 arA, real64 arJ)
 Add a path point to the actual pull list and start pull mode if not et done. If one is running an axis in pull mode, one has to provide a new path point for every axis sample, e.g. if the axis is sampled over the fieldbus with 4kHz, dT between two points is 0.000250 s.
 
virtual uint32 Pull (SINOSRampData &aData)
 Add a path point to the actual pull list and start pull mode if not et done. If one is running an axis in pull mode, one has to provide a new path point for every axis sample, e.g. if the axis is sampled over the fieldbus with 4kHz, dT between two points is 0.000250 s.
 
virtual uint32 Pull (SINOSRampDataEx *apData)
 Add a path point to the actual pull list and start pull mode if not et done. If one is running an axis in pull mode, one has to provide a new path point for every axis sample, e.g. if the axis is sampled over the fieldbus with 4kHz, dT between two points is 0.000250 s.
 
void EnableRamp ()
 Enable a recently disabled trajectory generator.
 
void DisableRamp ()
 Disable the axis trajectory generator. Can be used to fill up a pull list without staring immediately.
 
virtual uint32 Stop (CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Stop a running move with the currently selected speed set.
 
virtual uint32 Stop (SINOSRampParam *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Stop a running move with the given speed set.
 
virtual uint32 Stop (const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Stop a running move with the given speed set.
 
virtual uint32 Stop (real64 arPosition, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Stop a running move with the currently selected speed set at requested position.
 
virtual uint32 Stop (real64 arPosition, SINOSRampParam *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Stop a running move with the given speed set at requested position.
 
virtual uint32 Stop (real64 arPosition, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Stop a running move with the given speed set at requested position.
 
virtual uint32 StopLive ()
 Stop a running move with the currently selected speed set. The stop is calculated live and therefore the most efficient way to stop an axis. This command should be used if one needs to stop an axis from within a high prio task (e.g. a fieldbus hook).
 
virtual uint32 StopLive (real64 arSlowMotion, SINOSRampParam *apParam)
 Stop a running move with the given speed set and required slowmotion factor. The stop is calculated live and therefore the most efficient way to stop an axis. This command should be used if one needs to stop an axis from within a high prio task (e.g. a fieldbus hook).
 
virtual uint32 StopLiveDelta (real64 arDelta, real64 arSlowMotion, SINOSRampParam *apParam=nullptr)
 Stop a running move with the given speed set and required slowmotion factor. The stop is calculated live and therefore the most efficient way to stop an axis. This command should be used if one needs to stop an axis from within a high prio task (e.g. a fieldbus hook).
 
virtual uint32 Break (CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Pause a running move with the currently selected speed set. The move is still pending and can be continued with Continue.
 
virtual uint32 Break (SINOSRampParam *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Pause a running move with the given speed set. The move is still pending and can be continued with Continue.
 
virtual uint32 Break (const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Pause a running move with the given speed set. The move is still pending and can be continued with Continue.
 
virtual uint32 Break (real64 arPosition, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Pause a running move with the currently selected speed set at requested position. The move is still pending and can be continued with Continue.
 
virtual uint32 Break (real64 arPosition, SINOSRampParam *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Pause a running move with the given speed set at requested position. The move is still pending and can be continued with Continue.
 
virtual uint32 Break (real64 arPosition, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Pause a running move with the given speed set at requested position. The move is still pending and can be continued with Continue.
 
virtual uint32 Continue (CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Continue a pause move.
 
virtual uint32 Continue (SINOSRampParam *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Continue a pause move with the given speed set.
 
virtual uint32 Continue (const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Continue a pause move with the given speed set.
 
virtual uint32 EmergencyStop (CINOSSync *apSync)
 Stop a running move with the defined emergency deceleration/jerk.
 
virtual uint32 EmergencyStop (uint16 auType=0xffff, uint16 auDelay=0xffff, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Stop a running move with the defined emergency deceleration/jerk.
 
virtual uint32 EmergencyStopLive ()
 Stop a running move with the defined emergency deceleration/jerk. The stop is calculated live and therefore the most efficient way to stop an axis. This command should be used if one needs to emergency stop an axis from within a high priority task (e.g. a fieldbus hook).
 
virtual uint32 EmergencyStopLive (uint16 auType, uint16 auDelay=0xffff)
 Stop a running move with the defined emergency deceleration/jerk. The stop is calculated live and therefore the most efficient way to stop an axis. This command should be used if one needs to emergency stop an axis from within a high priority task (e.g. a fieldbus hook).
 
virtual const charGetName ()
 
virtual const charGetType ()
 
virtual const charGetUnit ()
 
virtual uint32 GetCharacteristics ()
 
virtual uint8 GetNumber ()
 
virtual uint32 GetOptions ()
 
virtual char GetShort ()
 
virtual void SetShort (char acShort)
 
virtual void SetPartner (const char *apPartner)
 
virtual void SetPartner (CINOSBaseAxis *apPartner)
 
virtual void SetCmdPosition (real64 arPosition)
 
virtual void GetCmdPosition (real64 &arPosition)
 
virtual void SetCmdVelocity (real64 arVelocity)
 
virtual void GetCmdVelocity (real64 &arVelocity, CINOSBaseRamp::ECmdFlags aeFlags=CINOSBaseRamp::eFlgCmdNone)
 
virtual void SetCmdAcceleration (real64 arAcceleration)
 
virtual void GetCmdAcceleration (real64 &arAcceleration, CINOSBaseRamp::ECmdFlags aeFlags=CINOSBaseRamp::eFlgCmdNone)
 
virtual void SetCmdDeceleration (real64 arDeceleration)
 
virtual void GetCmdDeceleration (real64 &arDeceleration, CINOSBaseRamp::ECmdFlags aeFlags=CINOSBaseRamp::eFlgCmdNone)
 
virtual void SetCmdCruiseleration (real64 arCruiseleration)
 
virtual void GetCmdCruiseleration (real64 &arCruiseleration)
 
virtual void SetCmdJerk (real64 arJerk, uint32 auNumber=DF_INOS_RAMP_JERK_ALL)
 
virtual void GetCmdJerk (real64 &arJerk, uint32 auNumber=0)
 
virtual void SetCmdCruiseJerk (real64 arCruiseJerk)
 
virtual void GetCmdCruiseJerk (real64 &arCruiseJerk)
 
virtual void GetCmdRealJerk (real64 &arJerk, uint32 auNumber=0)
 
virtual void SetCmdSlowMotion (real64 arSlowMotion, bool abUpdate=false)
 
virtual void GetCmdSlowMotion (real64 &arSlowMotion, const char *apParam=0)
 
virtual void GetActSlowMotion (real64 &arSlowMotion, const char *apParam=0)
 
virtual void SetCmdRelaxTime (real64 arRelaxTime)
 
virtual void GetCmdRelaxTime (real64 &arRelaxTime)
 
virtual void SetEmgDeceleration (real64 arDeceleration)
 
virtual void GetEmgDeceleration (real64 &arDeceleration)
 
virtual void SetEmgPosition (real64 arPosition)
 
virtual void GetEmgPosition (real64 &arPosition)
 
double NormPosition (real64 arPosition) const
 Returned the 'normed' value of arPosition.
 
virtual uint32 NrmActPosition (real64 arRange=REAL64(0.0), bool abRound=false)
 
virtual uint32 AdjActTime (real64 arDelta)
 
virtual void SetMinPosition (real64 arPosition)
 
virtual void GetMinPosition (real64 &apPosition) const
 
virtual void SetMaxPosition (real64 arPosition)
 
virtual void GetMaxPosition (real64 &arPosition) const
 
virtual bool CheckPosition (real64 &arPosition, bool abIgnoreMapping=false, SINOSRampParam *apParam=nullptr)
 
virtual void SetMinVelocity (real64 arVelocity)
 
virtual void SetMaxVelocity (real64 arVelocity)
 
virtual void SetMaxSetupVelocity (real64 arVelocity)
 
virtual void SetMaxInitVelocity (real64 arVelocity)
 
virtual void GetMinVelocity (real64 &arVelocity)
 
virtual void GetMaxVelocity (real64 &arVelocity, uint32 auFlags=eMaxVelocityNone)
 
virtual void GetTrqVelocity (real64 &arVelocity)
 
virtual void GetMaxSetupVelocity (real64 &arVelocity)
 
virtual void GetMaxInitVelocity (real64 &arVelocity)
 
virtual void SetMinAcceleration (real64 arAcceleration)
 
virtual void SetMaxAcceleration (real64 arAcceleration)
 
virtual void SetMaxAccelerationPull (real64 arAcceleration)
 
virtual void GetMinAcceleration (real64 &arAcceleration)
 
virtual void GetMaxAcceleration (real64 &arAcceleration)
 
virtual void GetMaxAccelerationPull (real64 &arAcceleration)
 
virtual void GetTrqAcceleration (real64 &arAcceleration)
 
virtual void SetMinDeceleration (real64 arDeceleration)
 
virtual void SetMaxDeceleration (real64 arDeceleration)
 
virtual void GetMinDeceleration (real64 &arDeceleration)
 
virtual void GetMaxDeceleration (real64 &arDeceleration)
 
virtual void GetTrqDeceleration (real64 &arDeceleration)
 
virtual void SetMinCruiseleration (real64 arCruiseleration)
 
virtual void SetMaxCruiseleration (real64 arCruiseleration)
 
virtual void GetMinCruiseleration (real64 &arCruiseleration)
 
virtual void GetMaxCruiseleration (real64 &arCruiseleration)
 
virtual void SetMinJerk (real64 arJerk)
 
virtual void SetMaxJerk (real64 arJerk)
 
virtual void GetMinJerk (real64 &arJerk)
 
virtual void GetMaxJerk (real64 &arJerk)
 
virtual void GetEpsilon (real64 &arEpsilon)
 
virtual void GetCycleTimeUs (uint32 &auCycleTime)
 
virtual void GetCycleTimeNs (uint32 &auCycleTime)
 
virtual volatile real64 * GetParamAdr (const char *apName)
 
void SetFlag (uint32 auFlag)
 
void ClrFlag (uint32 auFlag)
 
uint32 GetFlag ()
 
void Absolute ()
 
void Incremental ()
 
virtual uint32 SetState (uint32 auState)
 
const charGetStateText () const
 
virtual bool IsBusy () const
 
virtual uint32 GetErrorHook ()
 
virtual uint32 GetLimitViolation ()
 
virtual void SetErrorMask (uint32 auMask)
 
virtual void SetWarningMask (uint32 auMask)
 
virtual void SetLimitViolation (uint32 auLimitViolation)
 
virtual uint32 GetErrorMask ()
 
virtual uint32 GetWarningMask ()
 
virtual uint32 AcceptLimitViolation ()
 
virtual void eCreateParamSet (const char *apSetName)
 
virtual CINOSBaseAxisParamSetCreateParamSet (const char *apSetName)
 
virtual void DestroyParamSet (const char *apSetName)
 
virtual bool SelectParamSet (const char *apSetName)
 
virtual CINOSBaseAxisParamSetGetParamSet (const char *apSetName, uint32 auFlags=eFlgParamSetSearchGlobal)
 
virtual SINOSRampParamGetRampParam (const char *apSetName, uint32 auFlags=eFlgParamSetSearchGlobal)
 
virtual bool GetRampParam (const char *apSetName, char *apResult, uint32 auSize, SINOSRampParam &aResult, uint32 auFlags=eFlgParamSetSearchGlobal)
 
virtual void PreDestroyRampParam (SINOSRampParam *apParam)
 
virtual void SetPosType (uint32 auPosType)
 
virtual void SetPosTime (uint32 auPosTime)
 
virtual void SetPosTimeout (uint32 auPosTimeout)
 
virtual void SetPosTolerance (real64 arPosTolerance)
 
void EnableCache (uint32 auSize=32)
 
CINOSRampCacheEnableCache (CINOSRampCache *apCache)
 
CINOSRampCacheDisableCache ()
 
void ReEnableCache ()
 
void FlushCache ()
 
void SetCacheEpsilon (real64 arEpsilon)
 
virtual void SetRamp (CINOSBaseRamp *apRamp)
 
CINOSBaseRampGetRamp ()
 
virtual CINOSMapping * GetMapping ()
 
uint32 GetMappingIndex ()
 
virtual uint32 RegisterHook (uintid &auHookId, void *apHandler, void *apObject, int32 aiOrder, bool abEnabled=true)
 
virtual uint32 UnRegisterHook (uintid auHookId)
 
virtual uint32 EnableHook (uintid auHookId)
 
virtual uint32 DisableHook (uintid auHookId)
 
virtual uint32 RegisterPostHook (uintid &auHookId, void *apHandler, void *apObject, int32 aiOrder, bool abEnabled=true)
 
virtual uint32 UnRegisterPostHook (uintid auHookId)
 
virtual uintid RegisterErrorHook (void *apHandler, void *apObject=0)
 
virtual void UnRegisterErrorHook (uintid auHookId)
 
virtual uintid RegisterWarningHook (void *apHandler, void *apObject=0)
 
virtual void UnRegisterWarningHook (uintid auHookId)
 
virtual uint8 GetNormMoveDir ()
 
virtual void SetNormMoveDir (uint8 auNormMoveDir)
 
virtual uint8 GetNormMode ()
 
SINOSRampDataGetActual (EActualType aeType=eActOutput, bool abCopy=true)
 get pointer to actual control values
 
SINOSRampDataGetRealVrt ()
 get pointer to real values
 
SINOSRampDataGetActVrt ()
 deprecated
 
SINOSRampDataGetActPhy ()
 deprecated
 
virtual void SetMoveSafeMin (real64 arMin, real64 arFact1=REAL64(0.0), real64 arFact2=REAL64(0.0))
 
virtual void ResetMoveSafeMin ()
 
void EnableSetupMode ()
 
void DisableSetupMode ()
 
virtual bool CheckSetupMode ()
 
virtual uint32 GetToggleCnt ()
 get current toggle counter
 
virtual void SetToggleCnt (uint32 auSetVal)
 set toggle counter to given value
 
SINOSBaseRampTrqLimitGetTrqLimitAcceleration ()
 get torque limit acceleration
 
SINOSBaseRampTrqLimitGetTrqLimitDeceleration ()
 get torque limit deceleration
 
uint8 GetCoreId ()
 get core id the axis is running on
 

Static Public Member Functions

static CINOSPhysicalAxisGetAxis (const char *apAxisName)
 
static CINOSPhysicalAxisGetAxis (uint32 auNumber)
 
- Static Public Member Functions inherited from CINOSBaseAxis
static CINOSBaseAxisGetAxis (const char *apAxisName)
 Get pointer to axis with name apAxisName.
 
static CINOSBaseAxisGetAxis (uint32 auNumber)
 Get pointer to axis with a given number.
 
static uint8 GetNumber (const char *apAxisName)
 Get number of axis apAxisName.
 
static void eCreateGlobalParamSet (const char *apSetName)
 
static CINOSBaseAxisParamSetCreateGlobalParamSet (const char *apSetName)
 
static void DestroyGlobalParamSet (const char *apSetName)
 
static CINOSBaseAxisParamSetGetGlobalParamSet (const char *apSetName)
 
static SINOSRampParamGetGlobalRampParam (const char *apSetName)
 

Protected Member Functions

void Create ()
 
SINOSBaseRampTrqLimitCreateTrqLimit (SINOSMotorTrqLimit *apLimit, real64 arAmax)
 
virtual void iInActivate () override
 
virtual void iStop (SINOSRampParam *apParam) override
 
virtual void iEmergencyStop (bool abLive=false) override
 
virtual void iSetCycleTime (real64 arCycleTime) override
 
virtual void iRegisterAxis () override
 
virtual uint32 iMoveEx (real64 arPosition, real64 &arTrgPos, uint32 auFlags, const char *apTrgName, real64 arTrgLevel, SINOSRampParam *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 
void iiMoveEx ()
 
bool iMoveExSetupTrigger (const char *apTrgName, real64 arTrgLevel)
 
bool iMoveExBorderReached ()
 
bool iMoveExBorder ()
 
bool iMoveExTriggerOccured ()
 
void iMoveExRestoreControl ()
 
void iMoveExCleanup ()
 
void iMoveExWaitForBorderDelayDone ()
 
void iMoveExWaitForEventBorderDelayDone ()
 
void iMoveExBorderOccured ()
 
void iMoveExBorderRelaxStart ()
 
void iMoveExBorderRelaxStop ()
 
virtual ICACHE void iPostMap () override
 
virtual ICACHE void iPostMapCpd ()
 
virtual ICACHE void iPostWrite () override
 
virtual ICACHE void iPostWriteCpd ()
 
virtual uint32 iEnableCoupling ()
 
virtual void iActivateCoupling ()
 
virtual void iInActivateCoupling ()
 
void iCheckErrors ()
 
void iCheckWarnings ()
 
virtual void iSetActRampPosition (real64 arPosition) override
 
uint32 eMoveEx (real64 arPosition, real64 arTrgPosition, uint32 auFlags, char *apTrgName, real64 arTrgLevel)
 
uint32 eMoveEx (real64 arPosition, real64 arTrgPosition, uint32 auFlags, char *apTrgName, real64 arTrgLevel, char *apParam)
 
uint32 eMoveToBorder (real64 arPosition, char *apParam)
 
uint32 eSync (real64 arPosition, real64 arSyncPosition, uint32 auFlags)
 
uint32 eSync (real64 arPosition, real64 arSyncPosition, uint32 auFlags, char *apParam)
 
void iLoadBalancingHook ()
 
void ForceSignal ()
 
void ForceSignal (CINOSSync *apSync)
 
void ForcePosition ()
 
void ForceHook ()
 
void ForceHookEnable ()
 
void ForceHookDisable ()
 
 DECLARE_DYNAMIC (CINOSPhysicalAxis)
 
- Protected Member Functions inherited from CINOSBaseAxis
void Create ()
 
real64 iNormPosition (real64 arPosition, real64 arRange=REAL64(0.0), bool abRound=false) const
 
void Signal (CINOSSync *&apSync)
 
virtual void SignalSync (CINOSSync &apSync)
 
virtual void SetError (uint32 auErrors)
 
virtual void SetWarning (uint32 auWarnings)
 
bool Enter (uint32 auCommand, CINOSSync *apSync=0)
 
void Exit ()
 
void Exit (CINOSSync *&apCmdSync, CINOSSync *apSync)
 
bool IsCritical ()
 
virtual uint32 iCursor (bool abPositive, uint32 auWaitTime, real64 arStep, SINOSRampParam *apParam)
 
virtual uint32 iCursor (real64 arPosition, uint32 auWaitTime, real64 arStep, SINOSRampParam *apParam)
 
real64 iGetAbsPosition (real64 arRelPosition)
 
real64 iGetNrmAbsPosition (real64 arRelPosition, SINOSRampParam *apParam=nullptr, bool abConsiderStop=false)
 
virtual ICACHE void iPreMap ()
 
ICACHE void iCheckRampLimits ()
 
void SetMapping (CINOSMapping *apMapping, uint32 auIndex)
 
void ResetMapping ()
 
virtual bool iInPosition (bool abEarlyDone)
 
virtual bool iInPosition ()
 
virtual void iAdjPreviousPositions (real64 arDifference)
 
virtual bool IsCheckPositionRequired ()
 
void SetDefaultParamIfRequired ()
 
void iSetupPositionType (SINOSRampParam *apParam=0)
 
virtual void iResetTrajectory ()
 
void iCoreMismatchError ()
 
INOS_INLINE void AtomicEnter (uint32 &auToken)
 
INOS_INLINE bool AtomicExit (uint32 auToken)
 

Static Protected Member Functions

static bool TestBit_0 (void *apAddress, void *apNumber)
 
static bool TestBit_1 (void *apAddress, void *apNumber)
 
static bool TestBit_true (void *apAddress, void *apNumber)
 

Protected Attributes

CINOSBaseMotorm_pMotor
 
CINOSBaseControlm_pControl
 
bool m_bSyncStop
 
bool m_bPowerOnCtr0
 
uint32 m_uMeFlags
 
SINOSRampParamm_pMeParam
 
uint32 m_uMeCtrFlag
 
uint32 m_uMeRmpFlag
 
real64 m_rMePosS
 
real64 m_rMePosErr
 
real64 m_rMePos1
 
real64 m_rMePos2
 
real64 * m_pMePosT
 
EBorderType m_eBorderType
 
EBorderStop m_eBorderStop
 
real64 m_rBorderLimit
 
real64 m_rBorderRelax
 
uint32 m_uBorderDelay
 
bool m_bBorderRelaxActive
 
voidm_pMeTrgSrcAdr
 
uint64 m_uMeTrgLevel
 
tpMeTrgFct m_pMeTrgFct
 
uint16 m_uMeTrgSrcTyp
 
uint16 m_uMeTrgSrcBit
 
real64 m_rMePositionVel
 
real64 m_rMeVelocity
 
real64 m_rMePositionMove
 
bool m_bMeMoveApp
 
bool m_bMeCurrentLimit
 
bool m_bMeRestoreControlFlags
 
bool m_bMeTriggerMasked
 
real64 m_rMePositionAtBorder
 
uint32 m_uCpdOptions
 
CINOSPhysicalAxism_pCpdAxis
 
CINOSBaseControlm_pCpdControl
 
uint16 m_uCpdWait
 
uint16 m_uCpdWaitCns
 
real64 m_rCpdOffset
 
real64 m_rCpdMaxDelta
 
real64 m_rCpdMaxCorr
 
real64 m_rCpdDelta
 
uint32 m_uRelaxTime
 
SINOSLoadBalancing m_CpdLoadBalancing
 
bool m_bLimitInv
 
CINOSBitm_pLimitPos
 
CINOSBitm_pLimitNeg
 
- Protected Attributes inherited from CINOSBaseAxis
int32 m_uState
 
uint32 m_uSubState
 
uint32 m_uNxtState
 
uint32 m_uPrvState
 
uint32 m_uBrkState
 
uint32 m_uRmpState
 
uint32 m_uError
 
uint32 m_uErrorMask
 
uint32 m_uErrorHook
 
uint32 m_uWarning
 
uint32 m_uWarningMask
 
uint32 m_uLimitViolation
 
uint32 m_uFlag
 
uint32 m_uFlagEnb
 
const charm_pName
 
const charm_pType
 
char m_cShort [2]
 
CINOSBaseAxism_pPartner
 
CINCOObject * m_pRegister
 
CINCOObject * m_pCommand
 
CINCOObject * m_pTest
 
CINCOObject * m_pError
 
CINCOObject * m_pWarning
 
CINCOObject * m_pLimitViolation
 
CINCOObject * m_pFlag
 
CINCOObject * m_pState
 
CINOSBaseRampm_pRamp
 
CINOSLimitCheckerm_pLimitChecker
 
CINOSMapping * m_pMapping
 
uint32 m_uMappingIndex
 
SINOSBaseAxism_pDesc
 
CINOSMutex m_CmdLock
 
CINOSSyncm_pActivate
 
CINOSSyncm_pInActivate
 
CINOSSyncm_pMove
 
CINOSSyncm_pEndless
 
CINOSSyncm_pStop
 
CINOSSyncm_pEmStop
 
CINOSSyncm_pBreak
 
CINOSSyncm_pVelocity
 
CINOSSyncm_pContinue
 
CINOSSyncm_pWaitInPosition
 
CINOSSyncm_pWaitInPositionDyn
 
CINOSSyncm_pWaitTicks
 
uint32 m_uWaitTicks
 
uintid m_uPreMapHookId
 
uintid m_uPostMapHookId
 
uintid m_uPostWriteHookId
 
uintid m_uPreHookId
 
uintid m_uPostHookId
 
SINOSBaseAxisHookm_pErrorHooks
 
SINOSBaseAxisHookm_pWarningHooks
 
TINOSNameBalancedBinaryTree< CINOSBaseAxisParamSet > * m_pParamSets
 
SINOSRampDataExm_pActual
 actual commanded values (handed over to control)
 
SINOSRampDataExm_pActRamp
 actual commanded values from ramp geni
 
SINOSRampDataExm_pActControl
 actual commanded values (valid if mapping active or after a SetActual)
 
SINOSRampDataExm_pRealVrt
 actual real virtual values
 
SINOSRampData m_sPreviousVrt [3]
 
real64 m_rPos1
 
real64 m_rPos1Max
 
real64 m_rPos2
 
real64 m_rPos2Max
 
uint32 m_uDelay
 
uint32 m_uDelayMax
 
uint32 m_uDelayAct
 
int32 m_iTicks
 
uint32 m_uToggleCnt
 
real64 m_rFeedPerTurn
 
real64 m_rFeedPerTurn_1
 
real64 m_rInertia
 
inosName32 m_cSelectedParamName
 
uint32 m_uEmergencyType
 
uint32 m_uEmergencyDelay
 
real64 m_rEmergencyPosition
 
uint16 m_uIntEmergencyType
 
uint16 m_uIntEmergencyDelay
 
SINOSRampParamm_pEmergency
 
uint32 m_uCurWaitTime
 
real64 m_rCurPosition
 
SINOSRampParamm_pCurParam
 
uint8 m_uSyncMode
 
bool m_bSyncAvailable = true
 
uint8 m_uNormMode
 
uint8 m_uNormMoveDir
 
real64 m_rNormPos
 
uint8 m_uCoreId = DF_INOS_CORE_DEFAULT
 id of core the axis is handled in
 
uint16 m_uTrackValType
 
uint16 m_uTrackDir
 
voidm_pTrackVal
 
real64 m_rTrackCyc
 
real64 m_rTrackFct
 
real64 m_rTrackPos
 
real64 m_rTrackVel
 
real64 m_rTrackCmd
 
real64 m_rTrackSum
 
uint16 m_uTrackLen
 
uint16 m_uTrackInd
 
int32 m_iTrackLst
 
int32 m_iTrackOld
 
real64 * m_pTrackBuf
 
tpGetter m_pTrackGet
 
real64 m_rTrackVmax
 
real64 m_rTrackAmax
 
real64 m_rTrackBmax
 
uint32 m_uPosType
 
uint32 m_uPosTime
 
uint32 m_uPosTimeout
 
int32 m_iPosTicks
 
int32 m_iPosTimeout
 
real64 m_rPosTolerance
 
real64 m_rExitTime
 
bool m_bPartnerMoving
 
uint32 m_uBusTicksPerAxisTick
 number of bus ticks an axis tick takes
 
uint16 m_uCycleId
 cycle id
 
uint32 m_ueActivateCheckPos
 
uint32 m_ueActivateSimulatePos
 
uint32 m_ueActivateSimulateOut
 
uint32 m_ueActivateSimulateAct
 
real64 m_rePosition
 
real64 m_rePositionVel {}
 
real64 m_reVelocity {}
 
real64 m_reSyncPosition
 
inosName32 m_ceParam
 
char m_ceVariable [64]
 
real64 m_reFactor
 
real64 m_reValue
 
uint32 m_ueFilter
 
uint32 m_ueTrackDir
 
uint32 m_ueDirection
 
uint32 m_ueWait
 
real64 m_reStep
 
real64 m_reReturn
 
real64 m_reDelta
 
real64 m_reStart
 
real64 m_reEnd
 
uint32 m_ueReturn
 
uint32 m_ueTicks
 
real64 m_reTime
 
real64 m_reSlowMotion
 

Additional Inherited Members

- Static Protected Attributes inherited from CINOSBaseAxis
static CINOSMutex m_GlobalParamSetsMutex
 
static TINOSNameBalancedBinaryTree< CINOSBaseAxisParamSet > * m_pGlobalParamSets
 

Detailed Description

Provides physical aka real axis functionality.

Author
Ch. Hirzel
Remarks
project         : INOS
language        : GNU C++
system          : Indel Targets

Long comment on this file.

Member Enumeration Documentation

◆ EBorderStop

The different border stopping types the system supports.

Enumerator
eBorderStopHard 

immediately stop the trajectory by setting cmdV = 0.0

eBorderStopRamp 

stop the move with a stopping ramp (cmdB)

◆ EBorderType

The different border types the system supports.

Enumerator
eBorderPosition 

use the current position check error to detect border

eBorderSpeed 

use the current speed error to detect border

eBorderSensor 

use a digital input to detect border

eBorderSpeedAbs 

use real speed to detect border

Member Function Documentation

◆ AcceptError() [1/3]

virtual uint32 CINOSPhysicalAxis::AcceptError ( )
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ AcceptError() [2/3]

virtual uint32 CINOSPhysicalAxis::AcceptError ( uint32  auError)
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ AcceptError() [3/3]

virtual uint32 CINOSPhysicalAxis::AcceptError ( uint32  auError,
uint32  auRampError 
)
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ AcceptWarning() [1/3]

virtual uint32 CINOSPhysicalAxis::AcceptWarning ( )
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ AcceptWarning() [2/3]

virtual uint32 CINOSPhysicalAxis::AcceptWarning ( uint32  auWarning)
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ AcceptWarning() [3/3]

virtual uint32 CINOSPhysicalAxis::AcceptWarning ( uint32  auWarning,
uint32  auRampWarning 
)
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ Activate()

virtual uint32 CINOSPhysicalAxis::Activate ( bool  abCheckPos = true,
bool  abSimulatePos = false,
bool  abSimulateOut = false,
bool  abSimulateAct = false,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
overridevirtual

Activate axis in a given mode, e.g Activate(true,true,true,true) enables the axis in a full simulated manner.

Parameters
abCheckPosEnable following position check
abSimulatePosActual position is simulated
abSimulateOutNo speed to external controller
abSimulateActNo power to real axis
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

Reimplemented from CINOSBaseAxis.

◆ Connect()

virtual uint32 CINOSPhysicalAxis::Connect ( )
overridevirtual

Connect axis to hardware.

Returns
Returns an according error code or 0 in case of success

Reimplemented from CINOSBaseAxis.

◆ DisableCurLimit()

virtual void CINOSPhysicalAxis::DisableCurLimit ( )
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ DisableForceLimit()

virtual uint32 CINOSPhysicalAxis::DisableForceLimit ( )
virtual

Disable force limitation.

Returns
Returns an according error code or 0 in case of success

◆ DisableNorm()

virtual void CINOSPhysicalAxis::DisableNorm ( )
overridevirtual

disable auto norm

Reimplemented from CINOSBaseAxis.

◆ DisableSync()

virtual void CINOSPhysicalAxis::DisableSync ( )
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ EnableCurLimit()

virtual void CINOSPhysicalAxis::EnableCurLimit ( )
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ EnableForceLimit()

virtual uint32 CINOSPhysicalAxis::EnableForceLimit ( double  adLimit)
virtual

Enable force limitation to given limit.

Parameters
adLimitThe requested force limit [N]
Returns
Returns an according error code or 0 in case of success

◆ EnableNorm()

virtual void CINOSPhysicalAxis::EnableNorm ( uint8  auMode = DF_INOS_AXIS_NORM_AFTER,
uint8  auMoveDir = DF_INOS_AXIS_NORM_MOVE_DIR_NO,
real64  arNormPos = REAL64(0.0) 
)
overridevirtual

Enable auto norm of position. This is often used on rotative axis which may be endlessly moved: Whenever the axis reaches 360.0 degree, you may want to "reset" the position to 0.0 degree. That's what "norming" does.

Parameters
auModeThe norming mode. Possible values are DF_INOS_AXIS_NORM_AFTER, DF_INOS_AXIS_NORM_LIVE, DF_INOS_AXIS_NORM_POSITIVE and DF_INOS_AXIS_NORM_ROUND
auMoveDirPossible values are DF_INOS_AXIS_NORM_MOVE_DIR_NO, DF_INOS_AXIS_NORM_MOVE_DIR_POS DF_INOS_AXIS_NORM_MOVE_DIR_NEG, DF_INOS_AXIS_NORM_MOVE_DIR_SHORT and DF_INOS_AXIS_NORM_MOVE_DIR_SHORT_EX
arNormPosBy default, this param is set to 0.0, which means the function takes the "feed per turn" as norm position. Often, for rotative axes, the position shall be normed after "each turn" (which is often 360.0 degree) and therefore this is often what the caller expects. arNormPos can take any value and may therefore even be used for linear axes. E.g. to reset the position of a feeder after every 10mm.

Reimplemented from CINOSBaseAxis.

◆ EnableSync()

virtual void CINOSPhysicalAxis::EnableSync ( real64  arPosition = REAL64(0.0),
uint8  auSyncMode = DF_INOS_AXIS_SYNC_NOADJ 
)
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ ForceActivate()

virtual uint32 CINOSPhysicalAxis::ForceActivate ( const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Switch from position to force mode.

Parameters
apParamName of requested param set.
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

◆ ForceApproach()

virtual uint32 CINOSPhysicalAxis::ForceApproach ( double  adPosition,
double  adPositionVel,
double  adVelocity,
double  adForce,
double  adForcelimit,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Search requested force [N], stop if found and switch to force mode.

Parameters
adPositionThe max. search position.
adPositionVelThe relative position (from endpoint) where to reduce the velocity to arVelocity.
adVelocityThe requested velocity at point arPosition-arPositionVel
adForceThe requested force [N]
adForceLimitThe requested force limit [N]
apParamName of requested speed set.
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

◆ ForceBreak()

virtual uint32 CINOSPhysicalAxis::ForceBreak ( double  adForce,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Ramp the commanded force to the requested value [N] with the given param set. Expect a collapse before the commanded force is reached.

Parameters
adForceThe commanded force [N]
apParamName of param set to use
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

◆ ForceCancel()

virtual uint32 CINOSPhysicalAxis::ForceCancel ( )
virtual

Cancels force controller.

Returns
Returns an according error code or 0 in case of success

◆ ForceDepart()

virtual uint32 CINOSPhysicalAxis::ForceDepart ( double  adPosition,
double  adPositionVel,
double  adVelocity,
double  adForceLimit,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Switch to position mode and depart from force point.

Parameters
arPositionThe position where to move to.
arPositionVelReduced velocity till this position
arVelocityRequested reduced velocity
adForceLimitThe requested force limit [N]
apParamName of requested speed set.
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

◆ ForceInactivate() [1/2]

virtual uint32 CINOSPhysicalAxis::ForceInactivate ( CINOSSync apSync = DF_INOS_SYNCHRONOUS)
virtual

Switch from force to position mode.

Parameters
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

◆ ForceInactivate() [2/2]

virtual uint32 CINOSPhysicalAxis::ForceInactivate ( double  adLimit,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Switch from force to position mode but still limit force to given value [N].

Parameters
adLimitThe requested force limit [N]
Returns
Returns an according error code or 0 in case of success

◆ ForceMove()

virtual uint32 CINOSPhysicalAxis::ForceMove ( double  adForce,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Ramp the commanded force to the requested value [N] with the given param set.

Parameters
adForceThe commanded force [N]
apParamName of param set to use
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

◆ ForceMoveStop()

virtual uint32 CINOSPhysicalAxis::ForceMoveStop ( const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Stop a running ForceMove with the given param set.

Parameters
apParamName of param set to use
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

◆ ForcePull()

virtual uint32 CINOSPhysicalAxis::ForcePull ( double  adForce)
virtual

Set a new force point start force pull mode if not et done. If one is running an axis in force pull mode, one has to provide a new force for every axis sample, e.g. if the axis is sampled over the fieldbus with 4kHz, dT between two points is 0.000250 s.

Parameters
adForceRequested force [unit] at time [t]
Returns
Returns an according error code or 0 in case of success

◆ ForceSelect()

virtual uint32 CINOSPhysicalAxis::ForceSelect ( const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Select given param set.

Parameters
apParamName of requested param set
Returns
Returns an according error code or 0 in case of success

◆ ForceTara()

virtual uint32 CINOSPhysicalAxis::ForceTara ( double  adForce = 0.0,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Set current force [N] to given value.

Parameters
adForceThe requested force [N]
Returns
Returns an according error code or 0 in case of success

◆ GetActAcceleration()

virtual void CINOSPhysicalAxis::GetActAcceleration ( real64 &  arAcceleration,
bool  abRamp = true 
)
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ GetActJerk()

virtual void CINOSPhysicalAxis::GetActJerk ( real64 &  arJerk,
bool  abRamp = true 
)
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ GetActPosError()

virtual void CINOSPhysicalAxis::GetActPosError ( real64 &  arPosError)
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ GetActPosition() [1/2]

virtual void CINOSPhysicalAxis::GetActPosition ( real64 &  arPosition,
bool  abRamp = true 
)
overridevirtual

Gets the actual axis position.

An axis has three different positions :

commanded the requested target position of a current or the last move
actual represents the calculated (ramp) and commanded (control loop) position at a certain point in time (e.g. now) during the move
real represents the actual (physical) position fed back from (or calculated by) the position channel

Parameters
arPositionActual axis position
abRampTrue if the position has to be get from the trajectory generator

Reimplemented from CINOSBaseAxis.

◆ GetActPosition() [2/2]

virtual void CINOSPhysicalAxis::GetActPosition ( real64 &  arPosition,
uint64  auTicks 
)
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ GetActVelocity()

virtual void CINOSPhysicalAxis::GetActVelocity ( real64 &  arVelocity,
bool  abRamp = true 
)
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ GetActVelocityError()

virtual void CINOSPhysicalAxis::GetActVelocityError ( real64 &  arVelocityError,
bool  abFiltered = false 
)
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ GetBorderLimit()

virtual void CINOSPhysicalAxis::GetBorderLimit ( real64 &  arLimit)
inlinevirtual

Get border limit value (used in MoveToBorder method)

Parameters
arLimitThe actual limit value.

◆ GetBorderRelax()

virtual void CINOSPhysicalAxis::GetBorderRelax ( real64 &  arRelax)
inlinevirtual

Get border relax value (used in MoveToBorder method)

Parameters
arRelaxThe actual relax value.

◆ GetBorderType()

virtual void CINOSPhysicalAxis::GetBorderType ( EBorderType auType)
inlinevirtual

Get border limit type (used in MoveToBorder method)

Parameters
auTypeThe actual border type (0-Serr, 1-V)

◆ GetBusId()

virtual uint8 CINOSPhysicalAxis::GetBusId ( )
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ GetCurLimit()

virtual bool CINOSPhysicalAxis::GetCurLimit ( )
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ GetCycleId()

virtual uint16 CINOSPhysicalAxis::GetCycleId ( )
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ GetCycleNumber()

virtual uint16 CINOSPhysicalAxis::GetCycleNumber ( )
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ GetCycleTime()

virtual void CINOSPhysicalAxis::GetCycleTime ( real64 &  arCycleTime,
bool  abOversampled = false 
)
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ GetError() [1/2]

virtual uint32 CINOSPhysicalAxis::GetError ( bool  abResolveExternal = false)
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ GetError() [2/2]

virtual uint32 CINOSPhysicalAxis::GetError ( uint32 &  auRampError,
bool  abResolveExternal = false 
)
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ GetErrorEx() [1/2]

virtual uint64 CINOSPhysicalAxis::GetErrorEx ( bool  abResolveExternal = false)
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ GetErrorEx() [2/2]

virtual uint64 CINOSPhysicalAxis::GetErrorEx ( uint64 &  auRampError,
bool  abResolveExternal = false 
)
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ GetIncsPerUnit()

virtual void CINOSPhysicalAxis::GetIncsPerUnit ( double adIncs)
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ GetOversampling()

virtual uint8 CINOSPhysicalAxis::GetOversampling ( )
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ GetParam() [1/2]

virtual uint32 CINOSPhysicalAxis::GetParam ( const char apName,
real64 &  arResult 
)
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ GetParam() [2/2]

virtual uint32 CINOSPhysicalAxis::GetParam ( const char apName,
uint64 &  auResult 
)
inlineoverridevirtual

Reimplemented from CINOSBaseAxis.

◆ GetRealAcceleration()

virtual void CINOSPhysicalAxis::GetRealAcceleration ( real64 &  arAcceleration)
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ GetRealJerk()

virtual void CINOSPhysicalAxis::GetRealJerk ( real64 &  arJerk)
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ GetRealPosition()

virtual void CINOSPhysicalAxis::GetRealPosition ( real64 &  arPosition,
bool  abMapped = true 
)
overridevirtual

Gets the real axis position.

An axis has three different positions :

commanded the requested target position of a current or the last move
actual represents the calculated (ramp) and commanded (control loop) position at a certain point in time (e.g. now) during the move
real represents the actual (physical) position fed back from (or calculated by) the position channel

Parameters
arPositionReal axis position
abMappedTrue if a currently active mapping should be taken into account

Reimplemented from CINOSBaseAxis.

◆ GetRealVelocity()

virtual void CINOSPhysicalAxis::GetRealVelocity ( real64 &  arVelocity)
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ GetRegister()

virtual CINCOObject * CINOSPhysicalAxis::GetRegister ( )
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ GetState() [1/2]

virtual int32 CINOSPhysicalAxis::GetState ( )
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ GetState() [2/2]

virtual int32 CINOSPhysicalAxis::GetState ( uint32 &  auRampState)
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ GetSyncCount()

virtual void CINOSPhysicalAxis::GetSyncCount ( uint32 &  auSyncCount)
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ GetUnitsPerInc()

virtual void CINOSPhysicalAxis::GetUnitsPerInc ( double adUnits)
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ GetWarning() [1/2]

virtual uint32 CINOSPhysicalAxis::GetWarning ( bool  abResolveExternal = false)
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ GetWarning() [2/2]

virtual uint32 CINOSPhysicalAxis::GetWarning ( uint32 &  auRampWarning,
bool  abResolveExternal = false 
)
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ GetWarningEx() [1/2]

virtual uint64 CINOSPhysicalAxis::GetWarningEx ( bool  abResolveExternal = false)
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ GetWarningEx() [2/2]

virtual uint64 CINOSPhysicalAxis::GetWarningEx ( uint64 &  auRampWarning,
bool  abResolveExternal = false 
)
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ iEmergencyStop()

virtual void CINOSPhysicalAxis::iEmergencyStop ( bool  abLive = false)
overrideprotectedvirtual

Reimplemented from CINOSBaseAxis.

◆ iInActivate()

virtual void CINOSPhysicalAxis::iInActivate ( )
overrideprotectedvirtual

Reimplemented from CINOSBaseAxis.

◆ InActivate()

virtual uint32 CINOSPhysicalAxis::InActivate ( CINOSSync apSync = DF_INOS_SYNCHRONOUS)
overridevirtual

Inactivate axis.

Parameters
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

Reimplemented from CINOSBaseAxis.

◆ iPostMap()

virtual ICACHE void CINOSPhysicalAxis::iPostMap ( )
overrideprotectedvirtual

Reimplemented from CINOSBaseAxis.

◆ iPostWrite()

virtual ICACHE void CINOSPhysicalAxis::iPostWrite ( )
overrideprotectedvirtual

Reimplemented from CINOSBaseAxis.

◆ iRegisterAxis()

virtual void CINOSPhysicalAxis::iRegisterAxis ( )
overrideprotectedvirtual

Reimplemented from CINOSBaseAxis.

◆ IsErrorFatal()

virtual bool CINOSPhysicalAxis::IsErrorFatal ( )
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ iSetActRampPosition()

virtual void CINOSPhysicalAxis::iSetActRampPosition ( real64  arPosition)
overrideprotectedvirtual

Reimplemented from CINOSBaseAxis.

◆ iSetCycleTime()

virtual void CINOSPhysicalAxis::iSetCycleTime ( real64  arCycleTime)
overrideprotectedvirtual

Reimplemented from CINOSBaseAxis.

◆ iStop()

virtual void CINOSPhysicalAxis::iStop ( SINOSRampParam apParam)
overrideprotectedvirtual

Reimplemented from CINOSBaseAxis.

◆ MoveToAnalogSensor() [1/5]

virtual uint32 CINOSPhysicalAxis::MoveToAnalogSensor ( const char apName,
real64  arPosition,
real64  arLevel,
bool  abGreater,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Search analog sensor till arPosition and stop if found.

Parameters
apNameName of analog input.
arPositionThe position where to move to.
arLevelThe requested level of the analog input.
abGreaterTrue if input needs to be greater than arLevel, false otherwise
apParamName of requested speed set.
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

◆ MoveToAnalogSensor() [2/5]

virtual uint32 CINOSPhysicalAxis::MoveToAnalogSensor ( const char apName,
real64  arPosition,
real64  arLevel,
bool  abGreater,
real64 &  arResult,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Search analog sensor till arPosition and stop if found.

Parameters
apNameName of analog input.
arPositionThe position where to move to.
arLevelThe requested level of the analog input.
abGreaterTrue if input needs to be greater than arLevel, false otherwise
arResultPosition at which the sensor was found
apParamName of requested speed set.
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

◆ MoveToAnalogSensor() [3/5]

virtual uint32 CINOSPhysicalAxis::MoveToAnalogSensor ( const char apName,
real64  arPosition,
real64  arLevel,
bool  abGreater,
real64 &  arResult,
SINOSRampParam apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Search analog sensor till arPosition and stop if found.

Parameters
apNameName of analog input.
arPositionThe position where to move to.
arLevelThe requested level of the analog input.
abGreaterTrue if input needs to be greater than arLevel, false otherwise
arResultPosition at which the sensor was found
auFlagsAdditional flags (see MoveEx command for details)
apParamrequested speed set.
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

◆ MoveToAnalogSensor() [4/5]

virtual uint32 CINOSPhysicalAxis::MoveToAnalogSensor ( const char apName,
real64  arPosition,
real64  arLevel,
bool  abGreater,
real64 &  arResult,
uint32  auFlags,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Search analog sensor till arPosition and stop if found.

Parameters
apNameName of analog input.
arPositionThe position where to move to.
arLevelThe requested level of the analog input.
abGreaterTrue if input needs to be greater than arLevel, false otherwise
arResultPosition at which the sensor was found
auFlagsAdditional flags (see MoveEx command for details)
apParamName of requested speed set.
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

◆ MoveToAnalogSensor() [5/5]

virtual uint32 CINOSPhysicalAxis::MoveToAnalogSensor ( const char apName,
real64  arPosition,
real64  arLevel,
bool  abGreater,
real64 &  arResult,
uint32  auFlags,
SINOSRampParam apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Search analog sensor till arPosition and stop if found.

Parameters
apNameName of analog input.
arPositionThe position where to move to.
arLevelThe requested level of the analog input.
abGreaterTrue if input needs to be greater than arLevel, false otherwise
arResultPosition at which the sensor was found
auFlagsAdditional flags (see MoveEx command for details)
apParamrequested speed set.
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

◆ MoveToAnalogSensorApp() [1/5]

virtual uint32 CINOSPhysicalAxis::MoveToAnalogSensorApp ( const char apName,
real64  arPosition,
real64  arLevel,
bool  abGreater,
real64  arPositionVel,
real64  arVelocity,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Search analog sensor till arPosition and stop if found.

Parameters
apNameName of analog input.
arPositionThe position where to move to.
arLevelThe requested level of the analog input.
abGreaterTrue if input needs to be greater than arLevel, false otherwise
arPositionVelThe relative position (from endpoint) where to reduce the velocity to arVelocity.
arVelocityThe requested velocity at point arPosition-arPositionVel
apParamName of requested speed set.
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

◆ MoveToAnalogSensorApp() [2/5]

virtual uint32 CINOSPhysicalAxis::MoveToAnalogSensorApp ( const char apName,
real64  arPosition,
real64  arLevel,
bool  abGreater,
real64  arPositionVel,
real64  arVelocity,
real64 &  arResult,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Search analog sensor till arPosition and stop if found.

Parameters
apNameName of analog input.
arPositionThe position where to move to.
arLevelThe requested level of the analog input.
abGreaterTrue if input needs to be greater than arLevel, false otherwise
arPositionVelThe relative position (from endpoint) where to reduce the velocity to arVelocity.
arVelocityThe requested velocity at point arPosition-arPositionVel
arResultPosition at which the sensor was found
apParamName of requested speed set.
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

◆ MoveToAnalogSensorApp() [3/5]

virtual uint32 CINOSPhysicalAxis::MoveToAnalogSensorApp ( const char apName,
real64  arPosition,
real64  arLevel,
bool  abGreater,
real64  arPositionVel,
real64  arVelocity,
real64 &  arResult,
SINOSRampParam apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Search analog sensor till arPosition and stop if found.

Parameters
apNameName of analog input.
arPositionThe position where to move to.
arLevelThe requested level of the analog input.
abGreaterTrue if input needs to be greater than arLevel, false otherwise
arPositionVelThe relative position (from endpoint) where to reduce the velocity to arVelocity.
arVelocityThe requested velocity at point arPosition-arPositionVel
arResultPosition at which the sensor was found
apParamRequested speed set.
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

◆ MoveToAnalogSensorApp() [4/5]

virtual uint32 CINOSPhysicalAxis::MoveToAnalogSensorApp ( const char apName,
real64  arPosition,
real64  arLevel,
bool  abGreater,
real64  arPositionVel,
real64  arVelocity,
real64 &  arResult,
uint32  auFlags,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Search analog sensor till arPosition and stop if found.

Parameters
apNameName of analog input.
arPositionThe position where to move to.
arLevelThe requested level of the analog input.
abGreaterTrue if input needs to be greater than arLevel, false otherwise
arPositionVelThe relative position (from endpoint) where to reduce the velocity to arVelocity.
arVelocityThe requested velocity at point arPosition-arPositionVel
arResultPosition at which the sensor was found
auFlagsAdditional flags (see MoveEx command for details)
apParamName of requested speed set.
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

◆ MoveToAnalogSensorApp() [5/5]

virtual uint32 CINOSPhysicalAxis::MoveToAnalogSensorApp ( const char apName,
real64  arPosition,
real64  arLevel,
bool  abGreater,
real64  arPositionVel,
real64  arVelocity,
real64 &  arResult,
uint32  auFlags,
SINOSRampParam apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Search analog sensor till arPosition and stop if found.

Parameters
apNameName of analog input.
arPositionThe position where to move to.
arLevelThe requested level of the analog input.
abGreaterTrue if input needs to be greater than arLevel, false otherwise
arPositionVelThe relative position (from endpoint) where to reduce the velocity to arVelocity.
arVelocityThe requested velocity at point arPosition-arPositionVel
arResultPosition at which the sensor was found
auFlagsAdditional flags (see MoveEx command for details)
apParamRequested speed set.
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

◆ MoveToBorder() [1/2]

virtual uint32 CINOSPhysicalAxis::MoveToBorder ( real64  arPosition,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Search border till arPosition and stop if found (use ReleaseFromBorder before other moves are initiated)

Parameters
arPositionThe position where to move to.
apParamName of requested speed set.
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

◆ MoveToBorder() [2/2]

virtual uint32 CINOSPhysicalAxis::MoveToBorder ( real64  arPosition,
real64 &  arResult,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Search border till arPosition and stop if found (use ReleaseFromBorder before other moves are initiated)

Parameters
arPositionThe position where to move to.
arResultPosition at which the border was found
apParamName of requested speed set.
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

◆ MoveToBorderApp() [1/3]

virtual uint32 CINOSPhysicalAxis::MoveToBorderApp ( real64  arPosition,
real64  arPositionVel,
real64  arVelocity,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Search border till arPosition and stop if found. The current limitation is switched on at the reduced velocity point (use ReleaseFromBorder before other moves are initiated)

Parameters
arPositionThe position where to move to.
arPositionVelThe relative position (from endpoint) where to reduce the velocity to arVelocity.
arVelocityThe requested velocity at point arPosition-arPositionVel
apParamName of requested speed set.
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

◆ MoveToBorderApp() [2/3]

virtual uint32 CINOSPhysicalAxis::MoveToBorderApp ( real64  arPosition,
real64  arPositionVel,
real64  arVelocity,
real64 &  arResult,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Search border till arPosition and stop if found. The current limitation is switched on at the reduced velocity point (use ReleaseFromBorder before other moves are initiated)

Parameters
arPositionThe position where to move to.
arPositionVelThe relative position (from endpoint) where to reduce the velocity to arVelocity.
arVelocityThe requested velocity at point arPosition-arPositionVel
arResultPosition at which the border was found
apParamName of requested speed set.
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

◆ MoveToBorderApp() [3/3]

virtual uint32 CINOSPhysicalAxis::MoveToBorderApp ( real64  arPosition,
real64  arPositionVel,
real64  arVelocity,
real64 &  arResult,
uint32  auFlags,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Search border till arPosition and stop if found. The current limitation is switched on at the reduced velocity point (use ReleaseFromBorder before other moves are initiated)

Parameters
arPositionThe position where to move to.
arPositionVelThe relative position (from endpoint) where to reduce the velocity to arVelocity.
arVelocityThe requested velocity at point arPosition-arPositionVel
arResultPosition at which the border was found
auFlagsAdditional flags (see MoveEx command for details)
apParamName of requested speed set.
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

◆ MoveToDigitalSensor() [1/3]

virtual uint32 CINOSPhysicalAxis::MoveToDigitalSensor ( const char apName,
real64  arPosition,
bool  abSet,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Search digital sensor till arPosition and stop if found. If not found, the axis will go into "Failed" error state and requires to be recovered before it can be used again.

Parameters
apNameName of digital input.
arPositionThe position where to move to.
abSetTrue if we want the input to be set, false otherwise
apParamName of requested speed set.
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

◆ MoveToDigitalSensor() [2/3]

virtual uint32 CINOSPhysicalAxis::MoveToDigitalSensor ( const char apName,
real64  arPosition,
bool  abSet,
real64 &  arResult,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Search digital sensor till arPosition and stop if found. If not found, the axis will go into "Failed" error state and requires to be recovered before it can be used again.

Parameters
apNameName of digital input.
arPositionThe position where to move to.
abSetTrue if we want the input to be set, false otherwise
arResultPosition at which the sensor was found
apParamName of requested speed set.
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

◆ MoveToDigitalSensor() [3/3]

virtual uint32 CINOSPhysicalAxis::MoveToDigitalSensor ( const char apName,
real64  arPosition,
bool  abSet,
real64 &  arResult,
uint32  auFlags,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Search digital sensor till arPosition and stop if found. This overload allows to specify arbitrary MoveEx flags see auFlags. Among other use cases, use this overload if setting the axis to an error state when no sensor is found is undesired. In that case, pass in DF_MOVEEX_NO_ERROR (probably along with DF_MOVEEX_STOP_AT_EVENT, DF_MOVEEX_TRG_EQ and DF_MOVEEX_SET_TRG_POS).

Parameters
apNameName of digital input.
arPositionThe position where to move to.
abSetTrue if we want the input to be set, false otherwise
arResultPosition at which the sensor was found. The value of arResult will not be altered if the sensor was not found. Allowing the caller to decide whether the sensor has been found if e.g. the auFlags was set with DF_MOVEEX_NO_ERROR and thus the "sensor found"-check can't be done by checking for an axis error.
auFlagsAdditional flags (see MoveEx command for details)
apParamName of requested speed set.
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

◆ MoveToDigitalSensorApp() [1/3]

virtual uint32 CINOSPhysicalAxis::MoveToDigitalSensorApp ( const char apName,
real64  arPosition,
bool  abSet,
real64  arPositionVel,
real64  arVelocity,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Search digital sensor till arPosition and stop if found.

Parameters
apNameName of digital input.
arPositionThe position where to move to.
abSetTrue if we want the input to be set, false otherwise
arPositionVelThe relative position (from endpoint) where to reduce the velocity to arVelocity.
arVelocityThe requested velocity at point arPosition-arPositionVel
apParamName of requested speed set.
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

◆ MoveToDigitalSensorApp() [2/3]

virtual uint32 CINOSPhysicalAxis::MoveToDigitalSensorApp ( const char apName,
real64  arPosition,
bool  abSet,
real64  arPositionVel,
real64  arVelocity,
real64 &  arResult,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Search digital sensor till arPosition and stop if found.

Parameters
apNameName of digital input.
arPositionThe position where to move to.
abSetTrue if we want the input to be set, false otherwise
arPositionVelThe relative position (from endpoint) where to reduce the velocity to arVelocity.
arVelocityThe requested velocity at point arPosition-arPositionVel
arResultPosition at which the sensor was found. The value of arResult will not be altered if the sensor was not found.
apParamName of requested speed set.
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

◆ MoveToDigitalSensorApp() [3/3]

virtual uint32 CINOSPhysicalAxis::MoveToDigitalSensorApp ( const char apName,
real64  arPosition,
bool  abSet,
real64  arPositionVel,
real64  arVelocity,
real64 &  arResult,
uint32  auFlags,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Search digital sensor till arPosition and stop if found.

Parameters
apNameName of digital input.
arPositionThe position where to move to.
abSetTrue if we want the input to be set, false otherwise
arPositionVelThe relative position (from endpoint) where to reduce the velocity to arVelocity.
arVelocityThe requested velocity at point arPosition-arPositionVel
arResultPosition at which the sensor was found. The value of arResult will not be altered if the sensor was not found.
auFlagsAdditional flags (see MoveEx command for details)
apParamName of requested speed set.
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

◆ Relax()

virtual uint32 CINOSPhysicalAxis::Relax ( uint32  auTimeMs,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
overridevirtual

Relax a coupled slave axis for a given time.

Parameters
apTimeMsRequested relax time [ms]
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

Reimplemented from CINOSBaseAxis.

◆ SetActPosition()

virtual uint32 CINOSPhysicalAxis::SetActPosition ( real64  arPosition)
overridevirtual

Sets the actual axis position. This method doesn't change a current following error and it is therefore allowed to change the axis position during a running move.

An axis has three different positions :

commanded the requested target position of a current or the last move
actual represents the calculated (ramp) and commanded (control loop) position at a certain point in time (e.g. now) during the move
real represents the actual (physical) position fed back from (or calculated by) the position channel

Parameters
arPositionRequested actual axis position
Returns
Returns an according error code or 0 in case of success

Reimplemented from CINOSBaseAxis.

◆ SetBorderLimit()

virtual void CINOSPhysicalAxis::SetBorderLimit ( real64  arLimit)
inlinevirtual

Set border limit value (used in MoveToBorder method)

Parameters
arLimitThe requested limit value.

◆ SetBorderRelax()

virtual void CINOSPhysicalAxis::SetBorderRelax ( real64  arRelax)
inlinevirtual

Set border relax value (used in MoveToBorder method)

Parameters
arRelaxThe requested relax value.

◆ SetBorderType()

virtual void CINOSPhysicalAxis::SetBorderType ( EBorderType  auType)
inlinevirtual

Set border limit type (used in MoveToBorder method)

Parameters
auTypeThe requested border type (0-Serr, 1-V)

◆ SetNormMode()

virtual void CINOSPhysicalAxis::SetNormMode ( uint8  auNormMode)
overridevirtual

set norm mode

Reimplemented from CINOSBaseAxis.

◆ SetParam() [1/2]

virtual uint32 CINOSPhysicalAxis::SetParam ( const char apName,
real64  arValue 
)
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ SetParam() [2/2]

virtual uint32 CINOSPhysicalAxis::SetParam ( const char apName,
uint64  auValue 
)
inlineoverridevirtual

Reimplemented from CINOSBaseAxis.

◆ SetPathPosition()

virtual void CINOSPhysicalAxis::SetPathPosition ( real64  arPosition)
inlineoverridevirtual

Reimplemented from CINOSBaseAxis.

◆ SetRealPosition()

virtual uint32 CINOSPhysicalAxis::SetRealPosition ( real64  arPosition)
overridevirtual

Sets the real axis position. This method ignores a current following error and should therefore NOT be used during a running move, as this leads to following error jumps. It is also important to mention, that one looses precision if this method is called (e.g. multiple times) on an axis that has a following error that is not equal to zero!

An axis has three different positions :

commanded the requested target position of a current or the last move
actual represents the calculated (ramp) and commanded (control loop) position at a certain point in time (e.g. now) during the move
real represents the actual (physical) position fed back from (or calculated by) the position channel

Parameters
arPositionRequested real axis position
Returns
Returns an according error code or 0 in case of success

Reimplemented from CINOSBaseAxis.

◆ SetSyncCount()

virtual void CINOSPhysicalAxis::SetSyncCount ( uint32  auSyncCount)
overridevirtual

Reimplemented from CINOSBaseAxis.

◆ Sync() [1/7]

virtual uint32 CINOSPhysicalAxis::Sync ( real64  arPosition,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
overridevirtual

Search reference mark till arPosition and set actual position to 0.0 at mark.

Parameters
arPositionThe position where to move to.
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

Reimplemented from CINOSBaseAxis.

◆ Sync() [2/7]

virtual uint32 CINOSPhysicalAxis::Sync ( real64  arPosition,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
overridevirtual

Search reference mark till arPosition and set actual position to 0.0 at mark.

Parameters
arPositionThe position where to move to.
apParamName of requested speed set.
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

Reimplemented from CINOSBaseAxis.

◆ Sync() [3/7]

virtual uint32 CINOSPhysicalAxis::Sync ( real64  arPosition,
real64  arSyncPos,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
overridevirtual

Search reference mark till arPosition and set actual position to arSyncPos at mark.

Parameters
arPositionThe position where to move to.
arSyncPosRequested position at reference mark.
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

Reimplemented from CINOSBaseAxis.

◆ Sync() [4/7]

virtual uint32 CINOSPhysicalAxis::Sync ( real64  arPosition,
real64  arSyncPos,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
overridevirtual

Search reference mark till arPosition and set actual position to arSyncPos at mark.

Parameters
arPositionThe position where to move to.
arSyncPosRequested position at reference mark.
apParamName of requested speed set.
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

Reimplemented from CINOSBaseAxis.

◆ Sync() [5/7]

virtual uint32 CINOSPhysicalAxis::Sync ( real64  arPosition,
real64  arSyncPos,
SINOSRampParam apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
overridevirtual

Search reference mark till arPosition and set actual position to arSyncPos at mark.

Parameters
arPositionThe position where to move to.
arSyncPosRequested position at reference mark.
apParamPointer to a structure containing the requested speed set.
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

Reimplemented from CINOSBaseAxis.

◆ Sync() [6/7]

virtual uint32 CINOSPhysicalAxis::Sync ( real64  arPosition,
SINOSRampParam apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
overridevirtual

Search reference mark till arPosition and set actual position to 0.0 at mark.

Parameters
arPositionThe position where to move to.
apParamPointer to a structure containing the requested speed set.
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

Reimplemented from CINOSBaseAxis.

◆ Sync() [7/7]

virtual uint32 CINOSPhysicalAxis::Sync ( real64  arSyncPos,
const char apParam,
CINCOObject *  apObject,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
overridevirtual

Search reference mark and set actual position to arSyncPos at mark.

Parameters
arSyncPosRequested position at reference mark.
apParamName of requested speed set.
apObjectPointer to inco object with additional parameters.
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

Reimplemented from CINOSBaseAxis.

◆ SyncMove() [1/3]

virtual uint32 CINOSPhysicalAxis::SyncMove ( real64  arPosition,
real64  arSyncPos,
real64  arMovePos,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Search reference till max. arPosition. If reference found, set position at reference to arSyncPos and finally move to arMovePos without an intermediate stop.

Parameters
arPositionThe max. position till where to search reference.
arSyncPosThe requested position at the reference
arMovePosThe requested (synced) position where to finally move
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

◆ SyncMove() [2/3]

virtual uint32 CINOSPhysicalAxis::SyncMove ( real64  arPosition,
real64  arSyncPos,
real64  arMovePos,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Search reference till max. arPosition. If reference found, set position at reference to arSyncPos and finally move to arMovePos without an intermediate stop.

Parameters
arPositionThe max. position till where to search reference.
arSyncPosThe requested position at the reference
arMovePosThe requested (synced) position where to finally move
apParamName of requested speedset
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

◆ SyncMove() [3/3]

virtual uint32 CINOSPhysicalAxis::SyncMove ( real64  arPosition,
real64  arSyncPos,
real64  arMovePos,
SINOSRampParam apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Search reference till max. arPosition. If reference found, set position at reference to arSyncPos and finally move to arMovePos without an intermediate stop.

Parameters
arPositionThe max. position till where to search reference.
arSyncPosThe requested position at the reference
arMovePosThe requested (synced) position where to finally move
apParamPointer to requested speedset
apSyncA pointer to a sync object if used asynchronous
Returns
Returns an according error code or 0 in case of success

◆ UpdateCycleId()

virtual void CINOSPhysicalAxis::UpdateCycleId ( uint16  auCycleId)
overridevirtual

Reimplemented from CINOSBaseAxis.


The documentation for this class was generated from the following file: