INOS
CINOSMcRobot Class Reference
Inheritance diagram for CINOSMcRobot:

Public Member Functions

virtual CMcResult MoveAbs (real64 arPosition, real64 arExit, real64 arEnter, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Move to the requested absolute position and emit an OnExit and OnEnter event if requested. If the module has multiple axes, the first axis is taken.
 
virtual CMcResult MoveRel (real64 arPosition, real64 arExit, real64 arEnter, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Move relative the requested delta and emit an OnExit and OnEnter event if requested. If the module has multiple axes, the first axis is taken.
 
virtual CMcResult 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 CMcResult 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 CMcResult MoveFromBorder (real64 arPosition, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Move away from border.
 
virtual CMcResult MoveFromBorderDep (real64 arPosition, real64 arPositionVel, real64 arVelocity, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Depart from border.
 
virtual CMcResult MoveToDigitalSensor (const char *apName, real64 arPosition, real64 arSet, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Search digital sensor till arPosition and stop if found.
 
virtual CMcResult MoveToAnalogSensor (const char *apName, real64 arPosition, real64 arLevel, real64 arGreater, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Search analog sensor till arPosition and stop if found.
 
virtual CMcResult JoyEnb (CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Enable joystick mode. If the module has multiple axes, the first axis is taken, see also Joystick.
 
virtual CMcResult JoyDis (CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Disable joystick mode. If the module has multiple axes, the first axis is taken, see also Joystick.
 
virtual CMcResult JoyPos (CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Start a joystick move in positive direction. If the module has multiple axes, the first axis is taken, see also Joystick.
 
virtual CMcResult JoyNeg (CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Start a joystick move in negative direction. If the module has multiple axes, the first axis is taken, see also Joystick.
 
virtual CMcResult JoyAdc (real64 arSlow, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Update joystick move. If the module has multiple axes, the first axis is taken, see also Joystick.
 
virtual CMcResult JoyStop (CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Stop running joystick move. If the module has multiple axes, the first axis is taken, see also Joystick.
 
virtual CMcResult WheelEnb (CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 enable wheel mode
 
virtual CMcResult WheelDis (CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 disable wheel mode
 
virtual CMcResult WheelFactor (real64 arFactor, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 set wheel mode factor
 
virtual CMcResult On (tMcAxisName apAxis, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Axis "On".
 
virtual CMcResult Off (tMcAxisName apAxis, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 
virtual CMcResult Init (tMcAxisName apAxis, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 
virtual CMcResult Calib (tMcAxisName apAxis, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 calib axis
 
virtual CMcResult MoveAbs (tMcAxisName apAxis, real64 arPosition, real64 arExit, real64 arEnter, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Move to the requested absolute position and emit an OnExit and OnEnter event if requested.
 
virtual CMcResult MoveRel (tMcAxisName apAxis, real64 arPosition, real64 arExit, real64 arEnter, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Move relative the requested delta and emit an OnExit and OnEnter event if requested.
 
virtual CMcResult MoveToBorder (tMcAxisName apAxis, real64 arPosition, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Search border till arPosition and stop if found.
 
virtual CMcResult MoveToBorderApp (tMcAxisName apAxis, 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 CMcResult MoveFromBorder (tMcAxisName apAxis, real64 arPosition, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Move away from border.
 
virtual CMcResult MoveFromBorderDep (tMcAxisName apAxis, real64 arPosition, real64 arPositionVel, real64 arVelocity, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Depart from border.
 
virtual CMcResult MoveToDigitalSensor (tMcAxisName apAxis, const char *apName, real64 arPosition, real64 arSet, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Search digital sensor till arPosition and stop if found.
 
virtual CMcResult MoveToAnalogSensor (tMcAxisName apAxis, const char *apName, real64 arPosition, real64 arLevel, real64 arGreater, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Search analog sensor till arPosition and stop if found.
 
virtual CMcResult MoveCarefully (tMcAxisName apAxis, real64 arPosition, real64 arPosError, real64 arCurrent, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 
virtual CMcResult MoveEx (tMcAxisName apAxis, real64 arPosition, real64 arTrgPosition, uint32 auFlags, const char *apTrgName, real64 arTrgLevel, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 
virtual CMcResult JoyEnb (tMcAxisName apAxis, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Enable joystick mode, see also Joystick.
 
virtual CMcResult JoyDis (tMcAxisName apAxis, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Disable joystick mode, see also Joystick.
 
virtual CMcResult JoyPos (tMcAxisName apAxis, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Start a joystick move into positive direction, see also Joystick.
 
virtual CMcResult JoyNeg (tMcAxisName apAxis, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Start a joystick move into negative direction, see also Joystick.
 
virtual CMcResult JoyAdc (tMcAxisName apAxis, real64 arSlow, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Update joystick move, see also Joystick.
 
virtual CMcResult JoyStop (tMcAxisName apAxis, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Stop running joystick move, see also Joystick.
 
virtual CMcResult WheelEnb (tMcAxisName apAxis, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 enable wheel mode
 
virtual CMcResult WheelDis (tMcAxisName apAxis, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 disable wheel mode
 
virtual CMcResult WheelFactor (tMcAxisName apAxis, real64 arFactor, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 set wheel mode factor
 
virtual CINOSPhysicalAxisGetAxisResource (tMcAxisName apAxis) override
 
virtual void RegisterCheckLimitHook ()
 register hook for limit switch handler
 
uint32 GetAxisCount () const
 get number of axis this module handles
 
CINOSMcRobotAxisGetAxis (tMcAxisName apAxis) const
 get pointer to axis 'apName'
 
int32 GetAxisIndex (tMcAxisName apAxis) const
 get index of axis 'apName' (-1 if not found)
 
uint32 GetAxisSourceId (tMcAxisName apAxis) const
 get source id of axis 'apName'
 
CINOSMcRobotAxisGetAxis (uint32 auIndex) const
 
const charGetRealAxisName (tMcAxisName apAxis) const
 get real axis name
 
const charGetVirtAxisName (const char *apName) const
 get virtual axis name
 
virtual real64 GetLifetimeDistance (tMcAxisName apAxis)
 get lifetime distance of apAxis
 
virtual CMcResult ForceActivate (tMcAxisName apAxis, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Switch from position to force mode.
 
virtual CMcResult ForceInactivate (tMcAxisName apAxis, double adLimit, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Switch from force to position mode with optional active force limitation.
 
virtual CMcResult ForceApproach (tMcAxisName apAxis, 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. In case of success return the async result 'TouchPos' which contains the measured position at touch down.
 
virtual CMcResult ForceDepart (tMcAxisName apAxis, 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 CMcResult ForceMove (tMcAxisName apAxis, 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 CMcResult ForceMoveStop (tMcAxisName apAxis, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Stop the actual ForceMove with the given param set.
 
virtual CMcResult ForceBreak (tMcAxisName apAxis, 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. In case of success return the async result 'BreakForce' which contains the measured force at the collapse detection.
 
virtual CMcResult ForceTara (tMcAxisName apAxis, double adForce, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Set current force [N] to given value.
 
virtual CMcResult ForceSelect (tMcAxisName apAxis, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Select given param set.
 
virtual CMcResult ForceCheck (tMcAxisName apAxis, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Check current force state. Returns the following async results : 'State' : the current force control state 'Force' : the current measured force 'Position' : the current measured axis position 'Param' : the current selected param set.
 
 CINOSMcRobot (const char *apName, const char *apParam)
 constructor
 
 CINOSMcRobot (const char *apName, const char *apType, const char *apParam)
 constructor
 
virtual ~CINOSMcRobot ()
 destructor
 
- Public Member Functions inherited from CINOSMcModule
virtual CMcResult On (CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Switch module on.
 
virtual CMcResult Off (CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Switch module off.
 
virtual CMcResult Safe (CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Put module into a safe state.
 
virtual CMcResult Init (CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Init module. After a successful init the module is in state ready.
 
virtual CMcResult Home (CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Bring module into home position.
 
virtual CMcResult Recover (CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Recover module from a pending error.
 
virtual CMcResult Start (CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Depending on the current module state this method has different meanings. If the module is in state off -> On is called, if it is in state on -> Init is called, if it is in state ready->a production job is started.
 
virtual CMcResult Stop ()
 Stop a running production job.
 
virtual CMcResult Stop (CINOSSync *apSync)
 Stop a running production job.
 
virtual CMcResult Stop (const char *apParam)
 Stop a running production job.
 
virtual CMcResult Pause (CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Pause a running production job.
 
virtual CMcResult Resume (CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Acknowledge the first pending message with the flag INOS_MCMSG_FLAG_RESUME This method is used to go further in single step mode.
 
virtual CMcResult Cancel ()
 Cancel everything.
 
virtual CMcResult Cancel (CINOSSync *apSync)
 Cancel everything.
 
virtual CMcResult Cancel (const char *apParam)
 Cancel everything.
 
virtual CMcResult Retry (CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Acknowledge the first pending message with the flag INOS_MCMSG_FLAG_RETRY.
 
virtual CMcResult Confirm (CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Acknowledge the first pending message with the flag INOS_MCMSG_FLAG_CONFIRM.
 
virtual CMcResult Manual (CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Acknowledge the first pending message with the flag INOS_MCMSG_FLAG_MANUAL (obsolete)
 
virtual CMcResult Prepare (real64 arStage, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Prepare module for given stage. This method only makes sense if its internal implementation is overwritten by the user module.
 
virtual CMcResult Backup (CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Backup current state and call backup of all my chidren.
 
virtual CMcResult Restore (CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Restore backuped state call restore of all my chidren.
 
virtual CMcResult CreateSubModule (const char *apName, const char *apType, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Create a sub module, see also Creation.
 
virtual CMcResult DestroySubModule (const char *apName, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 Destroy requested sub module.
 
virtual CMcResult CreateData (const char *apName, const char *apType, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 create data (container)

 
virtual CMcResult DestroyData (const char *apName, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 destroy data (container)

 
virtual CMcResult MoveData (const char *apSrcName, const char *apDstModule, const char *apDstName, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 move data (container)
 
virtual CMcResult CreateJob (const char *apName, const char *apType, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 create job
 
virtual CMcResult DestroyJob (const char *apName, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 destroy Job
 
virtual CMcResult CreateScript (const char *apName, const char *apType, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 create script
 
virtual CMcResult DestroyScript (const char *apName, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 destroy script
 
virtual CMcResult RunJob (const char *apName, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 run job
 
virtual CMcResult RunScript (const char *apName, const char *apData, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 run script
 
virtual CMcResult SetMode (const char *apName, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 switch module to mode 'apName'
 
virtual CMcResult SetModeAuto (CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 switch module to auto mode
 
virtual CMcResult SetModeStep (CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 switch module to step mode
 
virtual CMcResult SetModeSetup (CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 switch setup mode on
 
virtual CMcResult ClrModeSetup (CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 switch setup mode off
 
virtual CMcResult SetOut (const char *apName, real64 arValue, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 
virtual CMcResult GetIO (const char *apName, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 
virtual CMcResult WaitBitEx (const char *apName, real64 arValue, real64 arTimeout, real64 arErrorType, real64 arErrorCode, real64 arErrorFlags, const char *apErrorText, real64 arErrorSend, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 waitbit
 
virtual CMcResult WaitInp (const char *apName, real64 arValue, real64 arTimeout, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 waitbit non blocking
 
virtual CMcResult WaitAdcNB (const char *apName, uint32 auSlope, real64 arValue, real64 arTimeout, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 waitadc non blocking
 
virtual CMcResult WaitPosNB (const char *apName, uint32 auSlope, real64 arValue, real64 arTimeout, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 waitpos non blocking
 
virtual CMcResult WaitAxis (const char *apName, uint32 auSlope, real64 arValue, real64 arTimeout, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 waitaxis non blocking
 
virtual CMcResult WaitAxisEx (const char *apName, uint32 auSlope, real64 arValue, real64 arTimeout, uint32 auFlags, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 waitaxis non blocking
 
virtual CMcResult CntInc (CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 increment actual counter 0
 
virtual CMcResult CntDec (CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 decrement actual counter 0
 
virtual CMcResult CntAdj (int32 aiValue, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 adjust actual counter 0 by aiValue
 
virtual CMcResult SetCounter (uint32 auType, uint32 auNbr, uint32 auValue, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 set counter
 
virtual CMcResult CronEnable (const char *apName, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 enable cron job apName
 
virtual CMcResult CronDisable (const char *apName, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 disable cron job apName
 
virtual CMcResult CronTouch (const char *apName, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 touch cron job apName
 
virtual CMcResult CronCount (const char *apName, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 count cron job apName
 
virtual CMcResult IsActionAllowed (const char *apScriptName, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 get fastload clearance
 
virtual CMcResult ValveActivate (const char *apName, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 activate a valve
 
virtual CMcResult ValveRelease (const char *apName, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 release a valve
 
CINOSMcModuleGetParent () const
 get pointer to parent
 
virtual CINOSMcModuleGetModule (uint32 auIndex)
 get pointer to child module auIndex
 
virtual CINOSMcModuleGetModule (const char *apName)
 get pointer to child module apName
 
virtual CINOSMcModuleFindSubModule (const char *apName)
 get pointer to child or sub-module apName (this may be expensive).
 
virtual CINOSMcGuardianGetGuardian () const
 get pointer to guardian
 
virtual CINOSMcBaseJobGetJob (const char *apName)
 get pointer to coordinator
 
virtual CINOSMcBaseScriptGetScript (uint32 auNr)
 get pointer to script auNr
 
virtual CINOSMcBaseScriptGetScript (const char *apName)
 get pointer to script apName
 
virtual void RemScript (const char *apName)
 remove script apName
 
virtual CINOSMcDataGetData (uint32 auNr)
 get pointer to data auNr
 
virtual CINOSMcDataGetData (const char *apName)
 get pointer to data apName
 
virtual CINOSMcDataGetData (const char *apPrefix, uint32 auNr)
 get pointer to data apPrefix (allows to iterate through a subfolder)
 
virtual CINOSMcDataGetData (const char *apPrefix, const char *apName)
 get pointer to data apPrefix.apName
 
virtual bool GetEmergency ()
 get emergency
 
virtual uint32 GetEmergencyDelay ()
 get emergency delay [ms]
 
virtual void EmergencyOnPurposeFollows ()
 set emergency on purpose
 
virtual CINOSBitGetEmergencyInput ()
 get pointer to emergency input
 
virtual bool DoPostEmergencyMessage ()
 return true if emergency postmessage requested
 
virtual bool DoPostSTOMessage ()
 return true if STO postmessage requested
 
virtual uint32 GetSimLevel ()
 get simlevel
 
virtual void SetSimLevel (uint32 auSimLevel, bool abNonVolatile)
 set simlevel
 
virtual real64 GetSlowMotion ()
 get slowmotion factor
 
virtual void SetSlowMotion (real64 arSlowMotion, bool abNonVolatile)
 set slowmotion factor
 
virtual real64 GetProp (const char *apName, real64 arDefValue, CINOSTaskExMsg *apMsg)
 get module property
 
virtual void GetProp (const char *apName, char *apBuffer, uint32 auLength, CINOSTaskExMsg *apMsg)
 get module property
 
virtual real64 GetProp (const char *apName, real64 arDefValue, CINOSMcData *apData)
 get data property
 
virtual void GetProp (const char *apName, const char *apDefault, char *apBuffer, uint32 auLength, CINOSMcData *apData)
 get data property
 
template<class T >
TGetResource (const char *apName)
 
CINOSBitGetInpResource (const char *apName)
 
CINOSBitGetOutResource (const char *apName)
 
CINOSBitGetFlgResource (const char *apName)
 
CINOSAdcChannelGetAdcResource (const char *apName)
 
CINOSDacChannelGetDacResource (const char *apName)
 
CINOSPosChannelGetPosResource (const char *apName)
 
tMsgId AddInpResource (const char *apResName, const char *apImageName, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 
tMsgId AddOutResource (const char *apResName, const char *apImageName, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 
tMsgId AddAdcResource (const char *apResName, const char *apImageName, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 
tMsgId AddDacResource (const char *apResName, const char *apImageName, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 
uint32 RegisterHook (uintid &aoHookId, const char *apResName, void *apHandler, void *apObject, int32 aiOrder)
 Register a hook with the given parameters running in the context of the given resource handler.
 
uint32 UnRegisterHook (uintid aoHookId, const char *apResName)
 Unregister a hook.
 
virtual CINCOObject * GetResObj ()
 get pointer to 'Res' inco folder
 
virtual uint32 GetMode ()
 get actual mode
 
virtual uint32 GetCntValue (uint32 auType, uint32 auNbr)
 get counter Value
 
virtual const charGetModuleName ()
 get module name
 
virtual void AddCommand (const char *apName, uint32 auCode, CINCOProcedure *apProc) override
 add inco command
 
virtual void AddCommand (CINOSTaskExMsg *apMsg, uint64 aChar, uint16 aKeyLevel, bool abRegisterInco=true) override
 add inco command
 
virtual void AddCommand (const char *apName, uint32 auCode, uint32 auType=eMsgCmd) override
 add internal command
 
virtual void RemCommand (const char *apName) override
 remove internal command
 
virtual void AddChildCommand (const char *apModuleName, const char *apFunctionName, CINOSTaskExMsg *apCmdMsg, bool abRegisterInco=true) override
 add child command
 
virtual void RemChildCommand (const char *apModuleName, const char *apFunctionName) override
 remove child command
 
virtual void AddChildModule (const char *apModuleName) override
 add child module
 
virtual void RemChildModule (const char *apModuleName) override
 remove child module
 
 CINOSMcModule (const char *apName, const char *apParam)
 module constructor
 
 CINOSMcModule (const char *apName, const char *apType, const char *apParam)
 module constructor
 
virtual ~CINOSMcModule ()
 module destructor
 
virtual void PostCreate (void *apParent) override
 called after creation
 
virtual bool PreDestroy (bool &bDeleteSelf) override
 called before destruction (return false if destruction not allowed)
 
virtual CINOSMcModuleResAddResource (const char *apName, uint32 auType, uint32 auFlags=CINOSMcModuleRes::eResFlgMandatory, CINCOObject *apObj=0)
 add resource
 
virtual CINOSMcModuleResAddResource (const char *apName, inosResName *apValue, uint32 auType, uint32 auFlags=CINOSMcModuleRes::eResFlgMandatory, CINCOObject *apObj=0)
 
virtual CINOSMcModuleResAddResource (const char *apName, void *apPtr, uint32 auType, uint32 auFlags=CINOSMcModuleRes::eResFlgMandatory, CINCOObject *apObj=0)
 
virtual CINOSMcModuleResAddResource (const char *apName, inosResName *apValue, void *apPtr, uint32 auType, uint32 auFlags=CINOSMcModuleRes::eResFlgMandatory, CINCOObject *apObj=0)
 
virtual CINOSMcModuleResiGetResource (const char *apName)
 
virtual CINOSMcModuleResiGetResource (uint32 auNumber)
 
template<typename F >
void iForEachResource (F &&f)
 
virtual void EnbResource (char *apName)
 
virtual void DisResource (char *apName)
 
virtual CMcResult PutMsg (CINOSTaskExMsg *apMsg, tMsgId aMsgId=0) override
 put message to queue and return command id
 
template<class T >
CINOSTaskEx::ERplId WaitVar (T *apVal, ETypWait aeTypWait, real64 arValue, real64 arTimeout, real64 &arUsed)
 
- Public Member Functions inherited from CINOSTaskEx
uint32 GetState ()
 get state
 
virtual void SetState (uint32 auState)
 set state
 
bool IsCmdBusy (uintptr auCmdCode)
 return true if task is actual command 'auCmdCode' busy
 
bool IsCmdDeferred (uint32 auCmdCode)
 return true if task has a deferred command 'auCmdCode'
 
virtual bool IsCmdAllowed (CINOSTaskExMsg *apMsg)
 
const charGetParam () const
 get pointer to param
 
const charGetType () const
 get pointer to type
 
const charGetAliasName () const
 get pointer to alias name
 
void SetAliasName (const char *apAlias)
 set alias name
 
virtual const charGetIncoName ()
 get requested inco folder name
 
virtual const charGetTreeName ()
 get requested binary tree name
 
uint32 GetSourceId ()
 get source id
 
CINOSTaskExGetParent () const
 get parent
 
virtual CMcResult Startup (real64 arStage)
 startup task (always asynchronous)
 
bool GetCommand (const char *apName) const
 return true if command 'aName' is requested in params
 
bool GetOption (const char *apName) const
 return true if option 'aName' is requested in params
 
bool GetOption (const char *apBase, const char *apName) const
 return true if option 'apBase=aName' is requested in params
 
bool GetOption (const char *apParams, const char *apBase, const char *apName) const
 return true if option 'apBase=aName' is requested in apParams
 
bool GetOptionEx (const char *apBase) const
 
bool GetOptionStr (const char *apBase, char *apResult, uint32 auSize) const
 return option string belonging to apBase 'apBase=optionstring'
 
bool GetOptionStr (const char *apParams, const char *apBase, char *apResult, uint32 auSize) const
 return option string belonging to apBase 'apBase=optionstring'
 
bool GetOptionNbr (const char *apBase, uintnbr &auNumber) const
 return option number belonging to apBase 'apBase=number'
 
bool GetOptionNbr (const char *apParams, const char *apBase, uintnbr &auNumber) const
 return option number belonging to apBase 'apBase=number'
 
bool GetOption (uint32 auOption) const
 return true if option available
 
bool GetFlag (const char *apName) const
 return true if flag 'aName' is requested in params
 
bool GetFlag (uint64 auFlag) const
 return true if flag available
 
uint64 GetFlags () const
 return all flags
 
bool GetRequest (uint32 auRequest) const
 return true if request set
 
bool GetCritical (uint32 auCritical) const
 return true if critical set
 
virtual CMcResult SetFlag (const char *apName, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 set flag apName
 
virtual CMcResult ClrFlag (const char *apName, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 clear flag apName
 
virtual CMcResult StopMsg (tMsgId atMsgId, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 stop message
 
virtual CMcResult SetIdleTimeout (uint32 auIdleTimeout, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 
uint32 GetIdleTimeout () const
 
void SetDispatchFlag (uint32 auFlag)
 
void ClrDispatchFlag (uint32 auFlag)
 clr dispatch flag. see SetDispatchFlag for further information
 
uint32 GetDispatchFlag () const
 set dispatch flag. see SetDispatchFlag for further information
 
virtual uint32 Shutdown (CINOSSync *apSync=DF_INOS_SYNCHRONOUS) override
 shutdown task
 
virtual tMsgId PutCmd (uint32 auCommand)
 put command to queue and return command id
 
virtual CMcResult PutMsgEx (CINOSTaskExMsg *apMsg, uint32 auFlags, tMsgId aMsgId=0)
 Put a message with flags to adjust behaviour.
 
virtual void PutReply (CINOSTaskExMsg *apMsg, tMsgId aMsgId)
 put reply message to queue
 
virtual CINOSTaskQueueGetMsgQueue ()
 get pointer to message queue
 
CINOSTaskExMsgGetActMsg ()
 get pointer to actually handled message
 
virtual const CINOSTaskExMsgGetCommandMsg (const char *apName)
 get pointer to command apName or NULL if not found
 
virtual CINOSTaskExMsgCreateMsgFromCommand (const char *apName, CINOSSync *apSync=DF_INOS_ASYNCHRONOUS)
 create a new message from command name or NULL if command not found. To call a command directly the template method CallCommand shlould be used instead.
 
template<typename... ParamType>
CMcResult CallCommand (const char *apName, ParamType... aParams, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
 calls a command given the command name. The function can be called using less than defined parameters, it then uses default parameters unless the parameter is defined to be mandatory. If the command is not found or called with wrong parameters a CMcResult with the according error is returned.
 
virtual const CINOSTaskExCmdHookBaseGetCommandHook (const char *apName)
 get pointer to command hook apName or NULL if not found
 
virtual CINCOObject * GetRegister (CINCOObject *apObject=0)
 get pointer to inco registration
 
virtual CINCOObject * SetCmdObj (CINCOObject *apCmd)
 set pointer to 'Cmd' inco folder and return old one
 
virtual CINCOObject * GetCmdObj ()
 get pointer to 'Cmd' inco folder
 
virtual CINCOObject * GetPropObj ()
 get pointer to 'Prop' inco folder
 
virtual CINCOObject * GetOptionsObj ()
 get pointer to 'Options' inco folder
 
virtual CINCOObject * GetFlagsObj ()
 get pointer to 'Flags' inco folder
 
virtual CINCOObject * GetRequestsObj ()
 get pointer to 'Requests' inco folder
 
virtual CINCOObject * GetCriticalsObj ()
 get pointer to 'Criticals' inco folder
 
virtual CINCOObject * GetActObj ()
 get pointer to 'Act' inco folder
 
virtual CINCOObject * GetStatObj ()
 get pointer to 'Stat' inco folder
 
virtual void AddProp (CINCOItem *apItem)
 add property to the 'Prop' folder
 
virtual void AddProp (const char *apName)
 add object property to the 'Prop' folder
 
virtual void AddProp ()
 add object property to the 'Prop' folder
 
virtual void AddProp (const char *apName, nvreal64 &aMember, real64 arDefault, real64 arMin, real64 arMax, const char *apUnit, uint32 auDigits, uint32 auCharactristics=defCharShowFix)
 add nvreal property to the 'Prop' folder
 
virtual void AddProp (const char *apName, nvuint32 &aMember, uint32 auDefault, uint32 auMin, uint32 auMax, const char *apUnit, uint32 auCharacteristics=defCharShowDec)
 add nvuint32 property to the 'Prop' folder
 
virtual void AddProp (const char *apName, nvstring &aMember, const char *apDefault="", const char *apComboData=NULL)
 add nvstring property to the 'Prop' folder
 
virtual void AddProp (const char *apName, nvlstring &aMember, const char *apDefault="")
 add nvlstring property to the 'Prop' folder
 
virtual void AddProp (const char *apName, nvbool &aMember, bool abDefault, uint32 auCharactristics=defCharShowDec)
 add nvbool property to the 'Prop' folder and register it as checkbox.
 
virtual void RemProp (const char *apName)
 remove object property apName
 
virtual void AddActual (CINCOItem *apItem)
 add actual to the 'Act' folder
 
virtual void AddActual (const char *apName)
 add object property to the 'Act' folder
 
virtual void AddActual ()
 add object property to the 'Act' folder
 
virtual void AddActual (const char *apName, nvreal64 &aMember, real64 arDefault, real64 arMin, real64 arMax, const char *apUnit, uint32 auDigits)
 add nvreal to the 'Act' folder
 
virtual void AddActual (const char *apName, nvuint32 &aMember, uint32 auDefault, uint32 auMin, uint32 auMax, const char *apUnit, uint32 auCharacteristics=defCharShowDec)
 add nvuint32 to the 'Act' folder
 
virtual void AddActual (const char *apName, nvstring &aMember, const char *apDefault=nullptr, const char *apComboData=nullptr)
 add nvstring to the 'Act' folder
 
virtual void AddActual (const char *apName, nvlstring &aMember, const char *apDefault=nullptr)
 add nvlstring to the 'Act' folder
 
virtual void AddActual (const char *apName, nvbool &aMember, bool abDefault, uint32 auCharactristics=defCharShowDec)
 add nvbool property to the 'Act' folder and register it as checkbox.
 
virtual void RemActual (const char *apName)
 remove object actual apName
 
virtual CINOSTaskExMsgCreateMsg (CINOSTaskExMsg *apMsg, CINOSMcDataInst *apData, const char *apAlias)
 create message from apMsg
 
CINOSMcMessage * GetMessageHndEx ()
 get message handler
 
void SetMessageHnd (CINOSMcMessage *apMessageHnd)
 set message handler
 
virtual CMcResult PostMessage (uint32 auMsgType, uint32 auMsgCode, uint32 auFlags, CINOSMcData *apInfo=0)
 post message
 
virtual CMcResult PostMessage (uint32 auMsgType, uint32 auMsgCode, uint32 auFlags, const char *apText, CINOSMcData *apInfo=0)
 post message
 
virtual CMcResult ModifyMessage (tMsgId aiId, uint32 auMsgType, uint32 auMsgCode, uint32 auFlags, CINOSMcData *apInfo=0, const char *apText=nullptr)
 modify message
 
 CINOSTaskEx (const char *apName, const char *apParam=0, uint32 aStackSize=defDefaultStackSize, uint32 aPriority=defLowestPriority, bool aFloatingPoint=true, uint32 aTimeSlice=defDefaultTimeSlice, bool aInterruptsDisabled=false)
 constructor
 
 CINOSTaskEx (const char *apName, const char *apType, const char *apParam=0, uint32 aStackSize=defDefaultStackSize, uint32 aPriority=defLowestPriority, bool aFloatingPoint=true, uint32 aTimeSlice=defDefaultTimeSlice, bool aInterruptsDisabled=false)
 constructor
 
virtual ~CINOSTaskEx ()
 destructor
 
int operator< (CINOSTaskEx &aTaskEx)
 binary tree operators
 
int operator== (CINOSTaskEx &aTaskEx)
 
int operator< (const char *aName)
 
int operator== (const char *aName)
 
virtual void MsgDonePnd (CINOSTaskExMsg *apMsg, tMcAppError aAppError=0)
 message done (and set 'pending' flag)
 
virtual void MsgDonePnd (CINOSTaskExMsg *apMsg, ERplId aRplId, tMcAppError aAppError=0)
 message done (and set 'pending' flag)
 
virtual void MsgInComplete (CINOSTaskExMsg *apMsg, tMcAppError aAppError=0)
 message incomplete
 
virtual void MsgIgnored (CINOSTaskExMsg *apMsg, tMcAppError aAppError=0)
 message ignored
 
virtual void MsgPaused (CINOSTaskExMsg *apMsg, tMcAppError aAppError=0)
 message paused. Deprecated!
 
virtual void MsgStopped (CINOSTaskExMsg *apMsg, tMcAppError aAppError=0)
 message stopped
 
virtual void MsgCanceled (CINOSTaskExMsg *apMsg, tMcAppError aAppError=0)
 message canceled
 
virtual void MsgRejected (CINOSTaskExMsg *apMsg, tMcAppError aAppError=0)
 message rejected
 
virtual void MsgFailed (CINOSTaskExMsg *apMsg, tMcAppError aAppError=0)
 message failed
 
virtual void MsgError (CINOSTaskExMsg *apMsg, tMcAppError aAppError)
 message error
 
virtual void MsgFatal (CINOSTaskExMsg *apMsg, tMcAppError aAppError)
 message fatal error
 
virtual tMsgId MsgDefer (CINOSTaskExMsg *apMsg, void *apHandler=0, void *apObject=0, bool abHandlesCommands=false)
 defer message and return according MsgId
 
virtual tMsgId MsgDefer (CINOSTaskExMsg *apMsg, tMsgId aMsgId, void *apHandler=0, void *apObject=0, bool abHandlesCommands=false)
 
virtual void AddCommand (CINOSTaskExMsg *apMsg, CINCOObject *apMsgCmdObj)
 add inco command
 
virtual void AddParam (const char *apName, real64 arValue, real64 arMin, real64 arMax, const char *apUnit, uint32 auChar, uint32 auFlags=0)
 add param to command. You can use REAL64MIN/MAX to allow all possible values.
 
virtual void AddParam (const char *apName, const char *apValue, uint32 auFlags=0)
 add param to command
 
virtual void AddParam (const char *apName, const char *apValue, const char *apComboData, uint32 auFlags=0)
 add string param with combobox data
 
virtual void AddParam (const char *apName, const char *apUnit, uint32 auValue, uint32 auMin, uint32 auMax, uint32 auChar, uint32 auFlags=0)
 Add uint32 parameter to command. You can use UINT32MIN/MAX to allow all possible values.
 
virtual void AddParam_int32 (const char *apName, const char *apUnit, int32 aiValue, int32 aiMin, int32 aiMax, uint32 auChar, uint32 auFlags=0)
 Add int32 parameter to command. You can use INT32MIN/MAX to allow all possible values.
 
virtual void AddParam_uint64 (const char *apName, const char *apUnit, uint64 auValue, uint64 auMin, uint64 auMax, uint32 auChar, uint32 auFlags=0)
 Add uint64 parameter to command. You can use UINT64MIN/MAX to allow all possible values.
 
virtual void AddParam_int64 (const char *apName, const char *apUnit, int64 aiValue, int64 aiMin, int64 aiMax, uint32 auChar, uint32 auFlags=0)
 Add int64 parameter to command. You can use INT64MIN/MAX to allow all possible values.
 
virtual void AddParam (const char *apName, const char *apComboData, uint32 auValue, uint32 auMin, uint32 auMax, const char *apUnit, uint32 auChar, uint32 auFlags=0)
 Add combo box parameter to command. You can use UINT32MIN/MAX to allow all possible values.
 
virtual void AddParam (const char *apName, bool abValue, uint32 auChar, uint32 auFlags=0)
 Add parameter of type bool to command.
 
template<typename T >
void AddParam (CINCOItem *apItem, T aValue, uint32 auFlags=0)
 
void ProcedureArgCheck (CINCOObject &aObject, const char *apParamName, const uint32 auExpectedIncoType)
 
virtual void AddEllipsis ()
 Add ellipsis to command.
 
void RegisterCommand (CINOSTaskExCmdBase *apCommand)
 register a command that will be added at startup (depending in the option)
 
void RegisterHook (CINOSTaskExCmdHookBase *apHook)
 register a command hook which can be set to a command later
 
- Public Member Functions inherited from CINOSTask
 CINOSTask (char *apName=nullptr, uint32 auStackSize=defDefaultStackSize, uint32 auPriority=DF_INOS_TASK_PRIO_LOWEST, bool abFloatingPoint=true, uint32 auTimeSlice=defDefaultTimeSlice, bool abInterruptsDisabled=false, void *apHandler=0, void *apObject=0)
 Create a task with given properties. One needs to Resume the task after creation to get it running.
 
 CINOSTask (std::function< void(void *)> aFunction, void *apParam=nullptr, uint8 auPriority=DF_INOS_TASK_PRIO_LOWEST)
 Create a task with given properties. One needs to Resume the task after creation to get it running.
 
 CINOSTask (const char *apName, std::function< void(void *)> aFunction, void *apParam=nullptr, uint8 auPriority=DF_INOS_TASK_PRIO_LOWEST)
 Create a task with given properties. One needs to Resume the task after creation to get it running.
 
virtual ~CINOSTask ()
 Destroy task.
 
virtual uint32 Join ()
 Join task or in other words, wait till it terminates.
 
virtual void Detach ()
 Detach task from parent. One uses this method if one doesn't want this task to be shut down if the parent shuts down.
 
virtual void Exit ()
 Terminate myself. Exit code is INOS_OK or the code previously set with SetExitCode.
 
virtual void Exit (uint32 auExitCode)
 Terminate myself.
 
virtual void SetExitCode (uint32 auExitCode)
 Set exit code.
 
virtual uint32 GetExitCode ()
 Get exit code.
 
virtual bool CheckShutdown ()
 Check if a shutdown is pending.
 
virtual void SetSuspendHook (void *apSuspendHook)
 Set Suspend hook.
 
virtual void ClrSuspendHook ()
 Clear Suspend hook.
 
virtual voidGetSuspendHook ()
 Get Suspend hook if any.
 
INOS_INLINE ETskType GetTskType ()
 Get task type.
 
INOS_INLINE ETskType SetTskType (ETskType aeType)
 Set task type.
 

Static Public Member Functions

static constexpr int GetLastCmd ()
 return last mcrobot command id
 
static constexpr int GetLastUsr ()
 return last mcrobot user id
 
- Static Public Member Functions inherited from CINOSMcModule
static CINOSMcModuleFindModule (const char *apName)
 get pointer global module apName (this may be expensive).
 
static CINOSMcModuleGetMachine (const char *apName)
 
static CINOSMcModuleGetMachine (uint32 auIndex)
 
static uint32 CreateMachine (CINOSMcModule *&apNewModule, const char *apName, const char *apType, const char *apParam)
 
static uint32 DestroyMachine (const char *apName)
 
static uint32 ShutdownRequest ()
 
static constexpr int GetLastCmd ()
 return last mcmodule command id
 
static constexpr int GetLastUsr ()
 return last mcmodule user id
 
- Static Public Member Functions inherited from CINOSTaskEx
static tMsgId GetMsgId ()
 get system wide unique message id
 
static tMsgId GetMsgId (uint32 auId, uint32 auMask)
 
static constexpr int GetLastCmd ()
 return last taskex command id
 
static constexpr int GetLastUsr ()
 return last taskex user id
 
static CINOSHookAddMsgDoneHook (void *apHandler, void *apObject=NULL)
 Add a hook to call some member function when MsgDone() gets called. This function is thread-safe.
 
static void RemoveMsgDoneHook (CINOSHook *apHook)
 Remove a previously added MsgDone() hook. This function is thread-safe.
 
static uint32 EncodeReplyCode (uint32 auReply, tMcAppError aAppError)
 

Public Attributes

TINOSTaskExCmdMsg< CINOSMcRobot, const char *, const char *, const char * > CreateSpeedset
 Create a new speedset for the McRobot axis. In case that apInitialValue is non-empty, it's important that it contains no syntax error and that it only specifies existing properties. Otherwise, the speedset creation will be aborted.
 
TINOSTaskExCmdMsg< CINOSMcRobot, const char *, const char *, const char * > CreateAxisSpeedSet
 
TINOSTaskExCmdMsg< CINOSMcRobot, const char *, const char * > DestroySpeedset
 
TINOSTaskExCmdMsg< CINOSMcRobot, const char *, const char * > DestroyAxisSpeedSet
 
TINOSTaskExCmdMsg< CINOSMcRobot, const char *, const char *, const char * > SetSpeedset
 Set/modify the parameters of an existing speedset.
 
TINOSTaskExCmdMsg< CINOSMcRobot, const char *, const char *, const char * > SetAxisSpeedSet
 
TINOSTaskExCmdMsg< CINOSMcRobot, const char *, const char * > GetSpeedset
 Get speedset of McRobot axis.
 
TINOSTaskExCmdMsg< CINOSMcRobot, const char *, const char * > GetAxisSpeedSet
 
- Public Attributes inherited from CINOSMcModule
TINOSTaskExCmdMsg< CINOSMcModule, const char *, boolSetItems
 Sets items (Prop, Act, Res etc.) of a module. Setting items of a sub-module is not allowed.
 

Protected Types

enum  {
  eOptMultiple = 0x00010000 , eOptJoy = 0x00020000 , eOptWheel = 0x00040000 , eOptLimitInv = 0x00080000 ,
  eOptEarlyInit =0x00100000 , eOptResMcR5 = 0x00200000 , eOptResMcR6 = 0x00400000 , eOptResMcR7 = 0x00800000
}
 
enum  {
  eCmdINOSMcRobotFirst = eCmdINOSMcModuleLast+1 , eCmdMoveAbs , eCmdMoveRel , eCmdMoveToBorder ,
  eCmdMoveToBorderApp , eCmdMoveFromBorder , eCmdMoveFromBorderDep , eCmdMoveToDigitalSensor ,
  eCmdMoveToAnalogSensor , eCmdMoveCarefully , eCmdMoveEx , eCmdJoyEnb ,
  eCmdJoyDis , eCmdJoyPos , eCmdJoyNeg , eCmdJoyAdc ,
  eCmdJoyStop , eCmdWheelEnb , eCmdWheelDis , eCmdWheelFactor ,
  eCmdSetBit , eCmdClrBit , eCmdCalib , eCmdPreparePath ,
  eCmdRunPath , eCmdRunPathStr , eCmdForceActivate , eCmdForceInactivate ,
  eCmdForceApproach , eCmdForceDepart , eCmdForceMove , eCmdForceMoveStop ,
  eCmdForceBreak , eCmdForceTara , eCmdForceSelect , eCmdForceCheck ,
  eCmdINOSMcRobotLast
}
 
enum  {
  eUsrINOSMcRobotFirst = eUsrINOSMcModuleLast+1 , eUsrDone , eUsrLimitSet , eUsrLimitClr ,
  eUsrLimitPosSet , eUsrLimitPosClr , eUsrLimitNegSet , eUsrLimitNegClr ,
  eUsrMonitorError , eUsrMonitorWarning , eUsrJoyDisAxisStopped , eUsrForceDone ,
  eUsrINOSMcRobotLast
}
 
enum  { eRplNotYet = 0xffffffff }
 
- Protected Types inherited from CINOSMcModule
enum  { eLcSoff , eLcSon , eLcSdown }
 

Protected Member Functions

virtual bool DispatchCmd (CINOSTaskExMsg *apMsg) override
 dispatch command message
 
virtual bool DispatchTmd (CINOSTaskExMsg *apMsg) override
 dispatch triggered command message
 
virtual bool DispatchUser (CINOSTaskExMsg *apMsg) override
 dispatch user message
 
virtual bool DispatchReply (CINOSTaskExMsg *apMsg) override
 dispatch reply message
 
virtual void iStartup (CINOSTaskExMsg *apMsg) override
 internal startup task
 
virtual void iStartup (real64 arStage) override
 internal startup task
 
virtual void iShutdown (CINOSTaskExMsg *apMsg) override
 internal shutdown task
 
virtual void iStop (CINOSTaskExMsg *apMsg) override
 internal stop
 
virtual void iCancel (CINOSTaskExMsg *apMsg) override
 internal cancel
 
virtual void iOn (CINOSTaskExMsg *apMsg) override
 internal on station
 
virtual void iOff (CINOSTaskExMsg *apMsg) override
 internal off station
 
virtual void iInit (CINOSTaskExMsg *apMsg) override
 internal init station
 
virtual void iInit (tMcAxisName apAxisName, CINOSTaskExMsg *apMsg)
 
virtual void iInitDone (CINOSMcRobotCmd *apCmd)
 internal init done
 
virtual void iCalib (CINOSTaskExMsg *apMsg)
 internal calib
 
virtual void iCalibDone (CINOSMcRobotCmd *apCmd)
 internal calib done
 
virtual void iRecover (CINOSTaskExMsg *apMsg) override
 internal recover station
 
virtual void iCreateSpeedset (CINOSTaskExMsg *apMsg)
 
virtual void iDestroySpeedset (CINOSTaskExMsg *apMsg)
 
virtual void iSetSpeedset (CINOSTaskExMsg *apMsg)
 
virtual void iGetSpeedset (CINOSTaskExMsg *apMsg)
 
virtual void iMoveAbs (CINOSTaskExMsg *apMsg)
 internal move axis absolute
 
virtual void iMoveRel (CINOSTaskExMsg *apMsg)
 internal move axis relative
 
virtual void iMoveToBorder (CINOSTaskExMsg *apMsg)
 internal move to border
 
virtual void iMoveToBorderApp (CINOSTaskExMsg *apMsg)
 internal move to border app
 
virtual void iMoveFromBorder (CINOSTaskExMsg *apMsg)
 internal move from border
 
virtual void iMoveFromBorderDep (CINOSTaskExMsg *apMsg)
 internal move from border depart
 
virtual void iMoveToDigitalSensor (CINOSTaskExMsg *apMsg)
 internal move to digital sensor
 
virtual void iMoveToAnalogSensor (CINOSTaskExMsg *apMsg)
 internal move to analog sensor
 
virtual void iMoveCarefully (CINOSTaskExMsg *apMsg)
 internal move carefully to position
 
virtual void iMoveEx (CINOSTaskExMsg *apMsg)
 internal move ex
 
virtual void iJoyEnb (CINOSTaskExMsg *apMsg)
 internal enable joystick mode
 
virtual void iJoyDis (CINOSTaskExMsg *apMsg)
 internal disable joystick mode
 
virtual void iJoyDisAxisStopped (CINOSTaskExMsg *apUsrMsg)
 
virtual void iJoyPos (CINOSTaskExMsg *apMsg)
 internal start joystick move into pos direction
 
virtual void iJoyNeg (CINOSTaskExMsg *apMsg)
 internal start joystick move into neg direction
 
virtual void iJoyAdc (CINOSTaskExMsg *apMsg)
 internal update joystick move
 
virtual void iJoyStop (CINOSTaskExMsg *apMsg)
 internal stop joystick move
 
virtual void iWheelEnb (CINOSTaskExMsg *apMsg)
 internal enable wheel mode
 
virtual void iWheelDis (CINOSTaskExMsg *apMsg)
 internal disable wheel mode
 
virtual void iWheelFactor (CINOSTaskExMsg *apMsg)
 internal set wheel mode factor
 
virtual void iSetBit (CINOSTaskExMsg *apMsg)
 internal setbit
 
virtual void iClrBit (CINOSTaskExMsg *apMsg)
 internal clrbit
 
virtual void iLimitSet (CINOSTaskExMsg *apMsg)
 limit set
 
virtual void iLimitClr (CINOSTaskExMsg *apMsg)
 limit clr
 
virtual void iLimitPosSet (CINOSTaskExMsg *apMsg)
 limit pos set
 
virtual void iLimitPosClr (CINOSTaskExMsg *apMsg)
 limit pos clr
 
virtual void iLimitNegSet (CINOSTaskExMsg *apMsg)
 limit neg set
 
virtual void iLimitNegClr (CINOSTaskExMsg *apMsg)
 limit neg clr
 
virtual void iMonitorError (CINOSTaskExMsg *apMsg)
 monitor error
 
virtual void iMonitorWarning (CINOSTaskExMsg *apMsg)
 monitor warning
 
virtual void iLinkDown (CINOSTaskExMsg *apMsg) override
 link down
 
virtual CMcResult PostAxisMessage (tMcAxisName apAxis, uint32 auType, uint32 auCode, uint32 auFlags)
 postmessage
 
virtual void iForceDone (CINOSTaskExMsg *apMsg)
 
virtual void iForceActivate (CINOSTaskExMsg *apMsg)
 
virtual void iForceInactivate (CINOSTaskExMsg *apMsg)
 
virtual void iForceApproach (CINOSTaskExMsg *apMsg)
 
virtual void iForceDepart (CINOSTaskExMsg *apMsg)
 
virtual void iForceMove (CINOSTaskExMsg *apMsg)
 
virtual void iForceMoveStop (CINOSTaskExMsg *apMsg)
 
virtual void iForceBreak (CINOSTaskExMsg *apMsg)
 
virtual void iForceTara (CINOSTaskExMsg *apMsg)
 
virtual void iForceSelect (CINOSTaskExMsg *apMsg)
 
virtual void iForceCheck (CINOSTaskExMsg *apMsg)
 
virtual void iForceCancel ()
 
virtual void iCmdDone (CINOSTaskExMsg *apMsg)
 internal command done
 
virtual void iCmdAdd (CINOSMcRobotCmd *apCmd)
 internal command add
 
virtual void iCmdRemove (CINOSMcRobotCmd *apCmd)
 internal command remove
 
virtual void iCancelDeferred () override
 overridden because we need to cancel all pending commands
 
virtual CINOSMcRobotCmdiCmdGet (tMsgId auId)
 internal command get
 
virtual CINOSMcRobotCmdiCmdGetFirst () const
 internal command get first
 
virtual void CmdStop (tMsgId auId, uint32 auReply=CINOSTaskEx::eRplStopped)
 internal command stop
 
virtual void iOnSlowMotionChanged (CINOSTaskExMsg *apMsg) override
 event handler 'iOnSlowMotionChanged'
 
virtual void iOnSimLevelChanged (uint32 auOldLevel, uint32 auNewLevel) override
 event handler 'iOnSimLevelChanged'
 
virtual void iSetModeSetup (CINOSTaskExMsg *apMsg) override
 internal set mode setup
 
virtual void iClrModeSetup (CINOSTaskExMsg *apMsg) override
 internal clear mode setup
 
virtual bool iCheckSetupMode () override
 internal check setup mode
 
virtual void iStepCanceled (CINOSTaskExMsg *apMsg) override
 step command canceled
 
virtual void iStepStopped (CINOSTaskExMsg *apMsg) override
 step command stopped
 
virtual void iStepSkipped (CINOSTaskExMsg *apMsg) override
 step command skipped
 
virtual void iMsgRejected (CINOSTaskExMsg *apMsg) override
 message rejected
 
virtual uint32 iOn (tMcAxisName apAxis)
 switch on apAxis
 
virtual uint32 iOff (tMcAxisName apAxis)
 switch off apAxis
 
virtual uint32 iRecover (tMcAxisName apAxis)
 recover apAxis
 
virtual uint32 iWaitForPower (tMcAxisName apAxis)
 wait for power
 
virtual bool iGetFlag (tMcAxisName apAxis, uint32 auFlag)
 get axis flag
 
virtual void iSetFlag (tMcAxisName apAxis, uint32 auFlag)
 set axis flag
 
virtual void iClrFlag (tMcAxisName apAxis, uint32 auFlag)
 clear axis flag
 
virtual uint32 iGetSimLevel (tMcAxisName apAxis)
 get simelevel of apAxis
 
virtual real64 iGetSlowMotion (tMcAxisName apAxis)
 get slowmotion of apAxis
 
virtual real64 GetRealPosition (tMcAxisName apAxis, const char *apBase)
 get real position of apAxis based on apBase
 
virtual real64 GetActPosition (tMcAxisName apAxis, const char *apBase)
 get actual (current commanded) position of apAxis based on apBase
 
virtual void SetActPosition (tMcAxisName apAxis, const char *apBase, real64 arPosition)
 get actual (current commanded) position of apAxis based on apBase
 
virtual void SetLifetimeDistance (tMcAxisName apAxis, real64 arDistance)
 set lifetime distance of apAxis
 
virtual void SaveLifetimeDistance (tMcAxisName apAxis=NULL)
 save lifetime distance of apAxis (or all axes if apAxes == NULL) in nvram
 
virtual uint32 GetDistanceCodedPosition (const char *apName, real64 arDistance, real64 &arPosition)
 
virtual bool iInitOk () const
 return true if all axes are successfully inited
 
virtual bool iIsIdle () const
 return true if currently no command running
 
virtual const charGetStateText () override
 return actual state text
 
virtual CINOSMcRobotAxisCreateMcRobotAxis (const char *apAlias, const char *apParam)
 Creates and adds a new McRobot axis to this module.
 
virtual void MsgDone (CINOSTaskExMsg *apMsg, uint32 auResult=0) override
 message done
 
virtual void MsgDone (CINOSTaskExMsg *apMsg, ERplId aRplId, uint32 auResult=0) override
 message done
 
virtual void CmdFailed (CINOSTaskExMsg *apMsg, uint32 auError)
 
CMcResult eMoveAbs (real64 arPosition, real64 arExit, real64 arEnter, const char *apParam)
 move axis absolute
 
CMcResult eMoveRel (real64 arPosition, real64 arExit, real64 arEnter, const char *apParam)
 move axis relative
 
CMcResult eMoveAbs (tMcAxisName apAxis, real64 arPosition, real64 arExit, real64 arEnter, const char *apParam)
 move axis absolute
 
CMcResult eMoveRel (tMcAxisName apAxis, real64 arPosition, real64 arExit, real64 arEnter, const char *apParam)
 move axis relative
 
CMcResult eMoveToBorder (real64 arPosition, const char *apParam)
 move to border
 
CMcResult eMoveToBorder (tMcAxisName apAxis, real64 arPosition, const char *apParam)
 move to border
 
CMcResult eMoveToBorderApp (real64 arPosition, real64 arPositionVel, real64 arVelocity, const char *apParam)
 move to border app
 
CMcResult eMoveToBorderApp (tMcAxisName apAxis, real64 arPosition, real64 arPositionVel, real64 arVelocity, const char *apParam)
 move to border
 
CMcResult eMoveFromBorder (real64 arPosition, const char *apParam)
 move from border
 
CMcResult eMoveFromBorder (tMcAxisName apAxis, real64 arPosition, const char *apParam)
 move from border
 
CMcResult eMoveFromBorderDep (real64 arPosition, real64 arPositionVel, real64 arVelocity, const char *apParam)
 move from border dep
 
CMcResult eMoveFromBorderDep (tMcAxisName apAxis, real64 arPosition, real64 arPositionVel, real64 arVelocity, const char *apParam)
 move from border dep
 
CMcResult eMoveToDigitalSensor (const char *apName, real64 arPosition, real64 arSet, const char *apParam)
 move to digital sensor
 
CMcResult eMoveToDigitalSensor (tMcAxisName apAxis, const char *apName, real64 arPosition, real64 arSet, const char *apParam)
 move to digital sensor
 
CMcResult eMoveToAnalogSensor (const char *apName, real64 arPosition, real64 arLevel, real64 arGreater, const char *apParam)
 move to analog sensor
 
CMcResult eMoveToAnalogSensor (tMcAxisName apAxis, const char *apName, real64 arPosition, real64 arLevel, real64 arGreater, const char *apParam)
 move to analog sensor
 
CMcResult eMoveCarefully (tMcAxisName apAxis, real64 arPosition, real64 arPosError, real64 arCurrent, const char *apParam)
 move carefully to position
 
CMcResult eJoyEnb ()
 enable joystick mode
 
CMcResult eJoyDis ()
 disable joystick mode
 
CMcResult eJoyPos ()
 start joystick move into pos direction
 
CMcResult eJoyNeg ()
 start joystick move into neg direction
 
CMcResult eJoyAdc (real64 arslow)
 update joystick move
 
CMcResult eJoyStop ()
 stop joystick move
 
CMcResult eJoyEnb (tMcAxisName apAxis)
 enable joystick mode
 
CMcResult eJoyDis (tMcAxisName apAxis)
 disable joystick mode
 
CMcResult eJoyPos (tMcAxisName apAxis)
 start joystick move into pos direction
 
CMcResult eJoyNeg (tMcAxisName apAxis)
 start joystick move into neg direction
 
CMcResult eJoyAdc (tMcAxisName apAxis, real64 arSlow)
 update joystick move
 
CMcResult eJoyStop (tMcAxisName apAxis)
 stop joystick move
 
CMcResult eWheelEnb ()
 enable wheel mode
 
CMcResult eWheelDis ()
 disable wheel mode
 
CMcResult eWheelFactor (real64 arFactor)
 set wheel mode factor
 
CMcResult eWheelEnb (tMcAxisName apAxis)
 enable wheel mode
 
CMcResult eWheelDis (tMcAxisName apAxis)
 disable wheel mode
 
CMcResult eWheelFactor (tMcAxisName apAxis, real64 arFactor)
 set wheel mode factor
 
- Protected Member Functions inherited from CINOSMcModule
virtual bool DispatchEvent (CINOSTaskExMsg *apMsg) override
 dispatch event message
 
virtual bool DispatchInternal (CINOSTaskExMsg *apMsg) override
 dispatch internal message
 
virtual void AdjTrigger (CINOSTaskExMsg *apMsg, real64 arCmdTime)
 adjust trigger
 
virtual void AdjTrigger (CINOSTaskExMsg *apMsg, CINOSBaseAxis *m_pAxis, real64 arStart, real64 arEnd, const char *apParam)
 adjust trigger
 
virtual bool iPostStartup () override
 internal post startup
 
virtual void iStartupDone ()
 
virtual void iCheckRes (CINOSTaskExMsg *apMsg)
 internal check resources
 
virtual void iEmgSet (CINOSTaskExMsg *apMsg)
 internal switch core
 
virtual void iEmgClr (CINOSTaskExMsg *apMsg)
 emergency cleared
 
virtual bool PreDispatchMsg (CINOSTaskExMsg *apMsg) override
 Pre dispatcher.
 
virtual void PostEmergency ()
 post emergency message
 
virtual CMcResult PostEmergencyStopMessage ()
 post emergency stop message
 
virtual void iiOn (CINOSTaskExMsg *apMsg)
 very internal on

 
virtual void irplOn (CINOSTaskExMsg *apMsg, CINOSTaskExMsg *apRpl)
 internal on reply
 
virtual void iiOff ()
 very internal off
 
virtual void irplOff (CINOSTaskExMsg *apMsg, CINOSTaskExMsg *apRpl)
 internal off reply
 
virtual void iSafe (CINOSTaskExMsg *apMsg)
 internal safe
 
virtual void irplSafe (CINOSTaskExMsg *apMsg, CINOSTaskExMsg *apRpl)
 internal safe reply
 
virtual void irplInit (CINOSTaskExMsg *apMsg, CINOSTaskExMsg *apRpl)
 internal init reply
 
virtual void iHome (CINOSTaskExMsg *apMsg)
 internal home
 
virtual void irplHome (CINOSTaskExMsg *apMsg, CINOSTaskExMsg *apRpl)
 internal home reply
 
virtual void irplRecover (CINOSTaskExMsg *apMsg, CINOSTaskExMsg *apRpl)
 internal recover reply
 
virtual void iStart (CINOSTaskExMsg *apMsg)
 internal start
 
virtual void iiStop ()
 internal stop
 
virtual void irplStop (CINOSTaskExMsg *apMsg, CINOSTaskExMsg *apRpl)
 internal stop reply
 
virtual void iPause (CINOSTaskExMsg *apMsg)
 internal pause
 
virtual void irplPause (CINOSTaskExMsg *apMsg, CINOSTaskExMsg *apRpl)
 internal pause reply
 
virtual void iResume (CINOSTaskExMsg *apMsg)
 internal resume
 
virtual void iiCancel (bool abHandleOffRequest=true)
 internal cancel
 
virtual void irplCancel (CINOSTaskExMsg *apMsg, CINOSTaskExMsg *apRpl)
 internal cancel reply
 
virtual void iRetry (CINOSTaskExMsg *apMsg)
 internal retry
 
virtual void iConfirm (CINOSTaskExMsg *apMsg)
 internal confirm
 
virtual void iManual (CINOSTaskExMsg *apMsg)
 internal manual
 
virtual void iPrepare (CINOSTaskExMsg *apMsg)
 internal prepare
 
virtual void iBackup (CINOSTaskExMsg *apMsg)
 internal backup
 
virtual void iRestore (CINOSTaskExMsg *apMsg)
 internal restore
 
virtual void irplRestore (CINOSTaskExMsg *apMsg, CINOSTaskExMsg *apRpl)
 internal restore reply
 
virtual void iCreateSubModule (CINOSTaskExMsg *apMsg)
 internal create sub module
 
virtual uint32 iCreateSubModule (const char *apName, const char *apType, const char *apParam)
 internal create sub module
 
virtual void iDestroySubModule (CINOSTaskExMsg *apMsg)
 internal destroy sub module
 
virtual uint32 iDestroySubModule (const char *apName)
 internal destroy sub module
 
virtual void iSetItems (CINOSTaskExMsg *apMsg)
 internal set items
 
virtual void iCreateData (CINOSTaskExMsg *apMsg)
 internal create data
 
virtual void iDestroyData (CINOSTaskExMsg *apMsg)
 internal destroy data
 
virtual void iMoveData (CINOSTaskExMsg *apMsg)
 internal move data
 
virtual void iMoveDataInt (CINOSTaskExMsg *apMsg)
 internal move data
 
virtual void iCreateJob (CINOSTaskExMsg *apMsg)
 internal create script
 
virtual void iDestroyJob (CINOSTaskExMsg *apMsg)
 internal destroy Job
 
virtual void iCreateScript (CINOSTaskExMsg *apMsg)
 internal create script
 
virtual void iDestroyScript (CINOSTaskExMsg *apMsg)
 internal destroy script
 
virtual void iRunJob (CINOSTaskExMsg *apMsg)
 internal runjob
 
virtual void irplRunJob (CINOSTaskExMsg *apMsg, CINOSTaskExMsg *apRpl)
 internal run job reply
 
virtual void iRunScript (CINOSTaskExMsg *apMsg)
 internal run script
 
virtual void irplRunScript (CINOSTaskExMsg *apMsg, CINOSTaskExMsg *apRpl)
 internal run script for coordinator
 
virtual void iSetMode (CINOSTaskExMsg *apMsg)
 internal run registered lua function
 
virtual void iSetModeAuto (CINOSTaskExMsg *apMsg)
 internal set auto mode
 
virtual void iSetModeStep (CINOSTaskExMsg *apMsg)
 internal set step mode
 
virtual void iSetMode (const char *apName)
 internal set mode
 
virtual void iSetOut (CINOSTaskExMsg *apMsg)
 internal setout
 
virtual void iGetIO (CINOSTaskExMsg *apMsg)
 internal setout
 
virtual void iWaitBitEx (CINOSTaskExMsg *apMsg)
 internal waitbit
 
virtual void iWaitInp (CINOSTaskExMsg *apMsg)
 internal non blocking waitbit
 
virtual void iWaitAdc (CINOSTaskExMsg *apMsg)
 handle for internal non blocking waitbit
 
virtual void iWaitPos (CINOSTaskExMsg *apMsg)
 internal non blocking waitbit
 
virtual void iWaitAxis (CINOSTaskExMsg *apMsg)
 internal non blocking wait axis
 
void WaitCond (TINOSMcModuleCondFunc aFunc, TINOSMcModuleCondHandler aSuccessFunc, TINOSMcModuleCondHandler aTimeoutFunc, real64 arTimeout=0.0, real64 arSimTimeout=0.0)
 Wait on arbitrary condition or timeout.
 
tMsgId MsgDeferWait (CINOSTaskExMsg *apMsg, CINOSMcModuleWaitObj *apWaitObj, real64 arTimeout=0.0)
 defer message until wait condition fulfilled or timeout [ms] expired
 
virtual void ihndlWait (CINOSTaskExMsg *apMyMsg, CINOSTaskExMsg *apNewMsg)
 handle for deferred wait messages
 
virtual void iWaitTimeout (CINOSTaskExMsg *apMsg)
 internal wait timeout
 
virtual void iCntInc (CINOSTaskExMsg *apMsg)
 internal inc counter
 
virtual void iCntDec (CINOSTaskExMsg *apMsg)
 internal dec counter
 
virtual void iCntAdj (CINOSTaskExMsg *apMsg)
 internal adj counter
 
virtual void iSetCounter (CINOSTaskExMsg *apMsg)
 internal set counter
 
virtual void iCronEnable (CINOSTaskExMsg *apMsg)
 internal enable cron job
 
virtual void iCronDisable (CINOSTaskExMsg *apMsg)
 internal disable cron job
 
virtual void iCronDisableAll ()
 internal disable all cron job
 
virtual void iCronTouch (CINOSTaskExMsg *apMsg)
 internal touch cron job
 
virtual void iCronCount (CINOSTaskExMsg *apMsg)
 internal count cron job
 
virtual void iIsActionAllowed (CINOSTaskExMsg *apMsg)
 get clearance to fastload a script
 
virtual void iValveActivate (CINOSTaskExMsg *apMsg)
 activate a valve
 
virtual void iValveRelease (CINOSTaskExMsg *apMsg)
 release a valve
 
virtual void iGetResource (CINOSTaskExMsg *apMsg)
 internal get resource
 
virtual void iOnCntSet (CINOSTaskExMsg *apMsg)
 event handler 'OnCntSet'
 
virtual void iOnCntInc (CINOSTaskExMsg *apMsg)
 event handler 'OnCntInc'
 
virtual void iOnCntDec (CINOSTaskExMsg *apMsg)
 event handler 'OnCntDec'
 
virtual void iOnCntSet (uint32 auType, uint32 auNbr, uint32 auVal, uint64 auTb)
 counter handler
 
virtual void iSetCntCmd (uint32 auNbr, uint32 auVal)
 set cmd counter
 
virtual void iOnMsgSet (CINOSTaskExMsg *apMsg)
 event handler 'OnMsgSet'
 
virtual void iOnMsgAck (CINOSTaskExMsg *apMsg)
 event handler 'OnMsgAck'
 
virtual void iOnSimLevelChanged (CINOSTaskExMsg *apMsg)
 event handler 'iOnSimLevelChanged'
 
virtual void iUpdate ()
 update state
 
virtual void SetFlag (uint64 auFlag, bool abUpdateState=false) override
 set flag
 
virtual void ClrFlag (uint64 auFlag, bool abUpdateState=false) override
 clr flag
 
virtual bool IsModeAllowed (const char *apMode)
 return true if switching to aMode is allowed
 
void iAddInpResource (CINOSTaskExMsg *apMsg)
 see AddInpResource
 
void iAddOutResource (CINOSTaskExMsg *apMsg)
 see AddOutResource
 
void iAddAdcResource (CINOSTaskExMsg *apMsg)
 see AddAdcResource
 
void iAddDacResource (CINOSTaskExMsg *apMsg)
 see AddDacResource
 
virtual ERplId WaitMs (real64 arTime)
 Synchronous wait for delay.
 
virtual ERplId WaitBit (CINOSBit *apBit, uint32 auValue, real64 arTimeout, real64 &arUsed)
 internal wait for bit and return reply code (eRplOk/Stopped/Canceled/Error)
 
virtual ERplId WaitAdc (CINOSAdcChannel *apAdc, ETypWait aeTypWait, real64 arValue, real64 arTimeout, real64 &arUsed)
 internal wait for adc and return reply code (eRplOk/Stopped/Canceled/Error)
 
virtual ERplId WaitPos (CINOSPosChannel *apPos, ETypWait aeTypWait, int32 aiValue, real64 arTimeout, real64 &arUsed)
 internal wait for pos and return reply code (eRplOk/Stopped/Canceled/Error)
 
virtual ERplId WaitPos (CINOSPhysicalAxis *apAxis, ETypWait aeTypWait, real64 arValue, real64 arTimeout, real64 &arUsed)
 internal wait for axis pos and return reply code (eRplOk/Stopped/Canceled/Error)
 
virtual ERplId WaitVar (CINOSTaskExMsg *apMsg, const char *apName, ETypWait aeTypWait, real64 arValue, real64 arTimeout, real64 &arUsed)
 internal wait for variable and return reply code (eRplOk/Stopped/Canceled/Error)
 
template<class T >
ERplId WaitVar (T *apVar, ETypWait aeTypWait, real64 arValue, real64 arTimeout, real64 &arUsed)
 internal wait for variable and return reply code (eRplOk/Stopped/Canceled/Error)
 
virtual bool TestBit (const char *apName)
 internal test bit with resource name 'apName'
 
virtual void SetBit (const char *apName)
 internal set bit with resource name 'apName'
 
virtual void ClrBit (const char *apName)
 internal test bit with resource name 'apName'
 
void SetModuleBase (const char *apAllowedBases)
 
void AddInp (CINOSMcModuleRes *apInp)
 add input
 
void AddOut (CINOSMcModuleRes *apOut)
 add output
 
uint32 CreateModule (const char *apName, const char *apType, const char *apParam)
 create module
 
uint32 DestroyModule (const char *apName)
 destroy module
 
CINOSContainer< CINOSMcData > * GetDataContainer ()
 get pointer to data container
 
virtual void JobCounterInc ()
 
virtual void JobCounterDec ()
 
void DisableModuleHlpHook ()
 disable module helper hook
 
void EnableModuleHlpHook ()
 enable module helper hook
 
virtual void iModuleHlpHook ()
 module helper hook
 
virtual void OnTargetError ()
 target error handler
 
 DECLARE_DYNAMIC (CINOSMcModule)
 dynamic object handling
 
- Protected Member Functions inherited from CINOSTaskEx
void Create ()
 do main creation work
 
virtual void Action () override
 main action
 
virtual void PostDispatchMsg ()
 PostDispatchMsg.
 
virtual bool DispatchSub (CINOSTaskExMsg *apMsg)
 dispatch sub message
 
virtual bool DispatchMessage (CINOSTaskExMsg *apMsg)
 dispatch message message
 
virtual bool DispatchOther (CINOSTaskExMsg *apMsg)
 dispatch other message
 
virtual void iFailure (CINOSTaskExMsg *apMsg)
 internal command handling failure
 
virtual uint32 iAddRegisteredCommands ()
 add registered commands (done between startup and post startup)
 
virtual void iShutdownRequest (CINOSTaskExMsg *apMsg)
 
virtual void iSetFlag (CINOSTaskExMsg *apMsg)
 internal switch core
 
virtual void iiSetFlag (const char *apName)
 
virtual void iClrFlag (CINOSTaskExMsg *apMsg)
 internal clear flag
 
virtual void iStopMsg (CINOSTaskExMsg *apMsg)
 stop message
 
virtual void iSetIdleTimeout (CINOSTaskExMsg *apMsg)
 internal set idle timeout
 
virtual void iHandleIdleTimeout ()
 internal handle idle timeout
 
void iCheckIdleTimeout ()
 internal check idle timeout
 
virtual void iAddCommand (CINOSTaskExMsg *apMsg)
 internal add command
 
virtual void iRemCommand (CINOSTaskExMsg *apMsg)
 internal add command
 
virtual void iDeleteCommand (CINOSTaskExMsg *apMsg)
 internal delete command (only used for commands of type call)
 
virtual void iGetCommands (CINOSTaskExMsg *apMsg)
 internal get commands
 
virtual void iGetProp (CINOSTaskExMsg *apMsg)
 internal get property
 
virtual void iSetProp (CINOSTaskExMsg *apMsg)
 internal set property
 
virtual void iAddProp (CINOSTaskExMsg *apMsg)
 internal set property
 
virtual void iGetActual (CINOSTaskExMsg *apMsg)
 internal get actual
 
virtual void iSetActual (CINOSTaskExMsg *apMsg)
 internal set actual
 
virtual void iAddActual (CINOSTaskExMsg *apMsg)
 reply to actual message
 
virtual void iMessageAdd (CINOSTaskExMsg *apMsg)
 internal message add
 
virtual void iMessageRemove (CINOSTaskExMsg *apMsg)
 internal message remove
 
virtual void iMessageModify (CINOSTaskExMsg *apMsg)
 internal message modify
 
virtual void iMessageAcknowledge (CINOSTaskExMsg *apMsg)
 internal message acknowledge
 
void Reply (CINOSTaskExMsg *apMsg, uint32 auReply, tMcAppError aAppError=0)
 reply to actual message
 
template<class T >
void ReplyParam (uint32 auReply, T)
 reply to actual message with param
 
virtual void SetTreeName (const char *apTreeName)
 set requested binary tree name
 
virtual void MsgDone (tMsgId aMsgId, tMcAppError aAppError=0)
 message done (used for deferred messages)
 
virtual void iUsrMsgDone (CINOSTaskExMsg *apMsg)
 internal user message done, used to handle message dones from other
 
virtual void FlushTmd (tMsgId aId=0)
 remove triggered messages auId of type eMsgCmd or all if auId==0
 
virtual void _AddCommand (CINOSTaskExMsg *apMsg, CINCOObject *apMsgCmdObj, int16 aiOrder=0)
 add inco command
 
virtual void AdjTrigger (CINOSTaskExMsg *apMsg)
 adjust trigger
 
CINOSTaskExDeferredMsgGetDeferredMsg (tMsgId auReplyId)
 get pointer to deferred message with given reply id
 
void RemDeferredMsg (CINOSTaskExDeferredMsg *apDef)
 remove deferred message from list
 
CINOSTaskExMsgGetDeferredMsgCmd (uint32 auCmdCode)
 get pointer to deferred message with given command code
 
charGetMsgName (CINOSTaskExMsg *apMsg)
 get message name
 
void SetParent (CINOSTaskEx *apParent)
 set parent pointer
 
void MptHook ()
 measure hook
 
void NvUpdate ()
 nvram update
 
virtual void iNvUpdate (CINOSTaskExMsg *apMsg)
 
virtual void SetRequest (uint32 auRequest)
 set request
 
virtual void ClrRequest (uint32 auRequest)
 clr request
 
void SetCritical (uint32 auCritical)
 set critical
 
void ClrCritical (uint32 auCritical)
 clr critical
 
virtual CINOSSyncGetSync () override
 get task sync object
 
virtual void SetCallResult (CMcResult aResult) override
 set sync call result
 
virtual CMcResult GetCallResult () override
 get sync call result
 
void RequestCritical ()
 request critical section
 
void ReleaseCritical ()
 release critical section
 
bool AddToInputQueue (CINOSTaskExMsg *apMsg, uint32 auFlags=0)
 
virtual void MsgCompleted (CINOSTaskExMsg *&apMsg)
 
uint8 GetRequestedPriority ()
 get requested priority
 
void SetRequestedPriority (uint8 auPrio)
 set requested priority
 
void HandleTriggerMsg (CINOSTaskExMsg *apMsg, EDispatchStyle aeDispStyle)
 handle message with a trigger
 
CINOSTaskExMsgGetTmpMsg ()
 Get temporary message (used for subclasses overriding AddCommand)
 

Friends

class CINOSMcRobotAxis
 
class CINOSMcRobotCmd
 
class CINOSMcRobotCmdInit
 
class CINOSMcRobotCmdCalib
 
class CINOSMcRobotCmdMove
 
class CINOSMcRobotCmdMoveToBorder
 
class CINOSMcRobotCmdMoveToBorderApp
 
class CINOSMcRobotCmdMoveToDigitalSensor
 
class CINOSMcRobotCmdMoveToAnalogSensor
 
class CINOSMcRobotCmdMoveCarefully
 
class CINOSMcRobotCmdMoveEx
 
class CINOSMcRobotCmdLinear
 
class CINOSMcRobotCmdEndless
 
class CINOSMcRobotCmdShape
 
class CINOSMcRobotCmdMoveSafe
 
class CINOSMcRobotCmdValveVC8
 
class CINOSMcRobotCmdPull
 
class CINOSMcRobotSync
 
class CINOSMcRobotForceSync
 
class CINCOaxspos
 
class CINCOcmdaxspos
 
class CINCOaxslifetime
 
class CINITTask
 

Additional Inherited Members

- Public Types inherited from CINOSMcModule
enum  {
  eCmdINOSMcModuleFirst = eCmdINOSTaskExLast+1 , eCmdOn , eCmdOff , eCmdSafe ,
  eCmdInit , eCmdHome , eCmdRecover , eCmdStart ,
  eCmdStop , eCmdPause , eCmdResume , eCmdCancel ,
  eCmdRetry , eCmdConfirm , eCmdManual , eCmdPrepare ,
  eCmdBackup , eCmdRestore , eCmdCreateSubModule , eCmdDestroySubModule ,
  eCmdCreateData , eCmdDestroyData , eCmdMoveData , eCmdMoveDataInt ,
  eCmdCreateJob , eCmdDestroyJob , eCmdCreateScript , eCmdDestroyScript ,
  eCmdRunJob , eCmdRunScript , eCmdRunRegisteredLuaFunction , eCmdSetMode ,
  eCmdSetModeAuto , eCmdSetModeStep , eCmdSetModeSetup , eCmdClrModeSetup ,
  eCmdSetOut , eCmdGetIO , eCmdWaitBitEx , eCmdWaitInp ,
  eCmdWaitAdc , eCmdWaitPos , eCmdWaitAxis , eCmdSetCounter ,
  eCmdCntInc , eCmdCntDec , eCmdCntAdj , eCmdCronEnable ,
  eCmdCronDisable , eCmdCronTouch , eCmdCronCount , eCmdCanLoad ,
  eCmdValveActivate , eCmdValveRelease , eCmdAddInpResource , eCmdAddOutResource ,
  eCmdAddAdcResource , eCmdAddDacResource , eCmdINOSMcModuleLast
}
 
enum  {
  eUsrINOSMcModuleFirst = eUsrINOSTaskExLast+1 , eUsrEmgSet , eUsrEmgClr , eUsrSTOSet ,
  eUsrSTOClr , eUsrMsgSet , eUsrMsgAck , eUsrSlowMotionChanged ,
  eUsrSimLevelChanged , eUsrLinkDown , eUsrSTOConfirmSet , eUsrSTOConfirmClr ,
  eUsrSafetyConfigUpdate , eUsrINOSMcModuleLast
}
 
enum  { eIntINOSMcModuleFirst = eIntINOSTaskExLast + 1 , eIntGetResource , eIntWaitTimeout , eIntINOSMcModuleLast }
 
enum  { eStaINOSMcModuleFirst = eStaINOSTaskExLast+1 , eStaINOSMcModuleLast }
 
enum  { eModAuto , eModSequential , eModStep , eModLast }
 
enum  { eSimNo , eSimSemi , eSimFull }
 
enum  {
  eStaJobNone , eStaJobRunning , eStaJobCompleted , eStaJobStopped ,
  eStaJobCanceled , eStaJobFailed , eStaJobError , eStaJobFatal ,
  eStaJobRejected , eStaJobIgnored , eStaJobInComplete , eStaJobPaused
}
 
enum  {
  eOptCoord = 0x00000100 , eOptMode = 0x00000200 , eOptGuard = 0x00000400 , eOptConc = 0x00000800 ,
  eOptCron = 0x00001000 , eOptSafety = 0x00002000 , eOptResMcM4 = 0x00004000 , eOptResMcM5 = 0x00008000
}
 
enum  EFlags : uint64 {
  eFlgResource = 0x00000100 , eFlgOn = 0x00000200 , eFlgInit = 0x00000400 , eFlgSetup = 0x00000800 ,
  eFlgJob = 0x00001000 , eFlgBackup = 0x00002000 , eFlgPaused = 0x00004000 , eFlgSafe = 0x00008000 ,
  eFlgCreated = 0x0000010000000000LL
}
 
enum  {
  eReqOff = 0x00000100 , eReqStop = 0x00000200 , eReqCancel = 0x00000400 , eReqStep = 0x00000800 ,
  eReqStart = 0x00001000 , eReqPause = 0x00002000 , eReqSafe = 0x00004000 , eReqSetup = 0x00008000
}
 
enum  {
  eCrtWaitObj = 0x00000100 , eCrtResMcM1 = 0x00000200 , eCrtResMcM2 = 0x00000400 , eCrtResMcM3 = 0x00000800 ,
  eCrtResMcM4 = 0x00001000 , eCrtResMcM5 = 0x00002000 , eCrtResMcM6 = 0x00004000 , eCrtResMcM7 = 0x00008000
}
 
enum  ETypWait {
  eTypWaitGt =0 , eTypWaitGte =1 , eTypWaitLt =2 , eTypWaitLte =3 ,
  eTypWaitEq =4 , eTypWaitNe =5
}
 
- Public Types inherited from CINOSTaskEx
enum  { eSourceIdMsg = 255 , eSourceIdLua = 254 , eSourceIdFastLoad = 253 }
 predefined source id's
 
enum  {
  eMsgCmd =CINOSTaskExDef::eMsgCmd , eMsgCall =CINOSTaskExDef::eMsgCall , eMsgEvent =CINOSTaskExDef::eMsgEvent , eMsgReply =CINOSTaskExDef::eMsgReply ,
  eMsgUser =CINOSTaskExDef::eMsgUser , eMsgSub =CINOSTaskExDef::eMsgSub , eMsgInternal =CINOSTaskExDef::eMsgInternal , eMsgMessage =CINOSTaskExDef::eMsgMessage
}
 message types
 
enum  ERplId {
  eRplOk =CINOSTaskExDef::eRplOk , eRplSkipped =CINOSTaskExDef::eRplSkipped , eRplInComplete =CINOSTaskExDef::eRplInComplete , eRplIgnored =CINOSTaskExDef::eRplIgnored ,
  eRplPaused =CINOSTaskExDef::eRplPaused , eRplStopped =CINOSTaskExDef::eRplStopped , eRplCanceled =CINOSTaskExDef::eRplCanceled , eRplRejected =CINOSTaskExDef::eRplRejected ,
  eRplFailed =CINOSTaskExDef::eRplFailed , eRplError =CINOSTaskExDef::eRplError , eRplFatal =CINOSTaskExDef::eRplFatal , eRplTimeout =CINOSTaskExDef::eRplTimeout
}
 reply id's
 
enum  {
  eCmdINOSTaskExFirst , eCmdFailure , eCmdStartup , eCmdShutdown ,
  eCmdShutdownRequest , eCmdSwitchCore , eCmdSetFlag , eCmdClrFlag ,
  eCmdStopMsg , eCmdSetIdleTimeout , eCmdINOSTaskExLast
}
 
enum  {
  eUsrINOSTaskExFirst , eUsrMsgDone , eUsrNvUpdate , eUsrIdleTimeout ,
  eUsrINOSTaskExLast
}
 
enum  {
  eIntINOSTaskExFirst , eIntAddCommand , eIntRemCommand , eIntDeleteCommand ,
  eIntGetCommands , eIntGetProp , eIntSetProp , eIntAddProp ,
  eIntGetActual , eIntSetActual , eIntAddActual , eIntINOSTaskExLast
}
 
enum  { eMessageAdd , eMessageRemove , eMessageModify , eMessageAcknowledge }
 
enum  { eEvtTicks , eEvtNs }
 
enum  {
  eStaStartup = DEF_eStaStartup , eStaOff = DEF_eStaOff , eStaWait = DEF_eStaWait , eStaOn = DEF_eStaOn ,
  eStaReady = DEF_eStaReady , eStaBusy = DEF_eStaBusy , eStaError = DEF_eStaError , eStaINOSTaskExLast
}
 
enum  {
  eOptOwner = 0x00000001 , eOptStat = 0x00000002 , eOptMsg = 0x00000004 , eOptNvR = 0x00000008 ,
  eOptOvld = 0x0000010 , eOptCaS = 0x0000020 , eOptResTsk2 = 0x0000040 , eOptResTsk3 = 0x0000080
}
 
enum  {
  eFlgError = 0x00000001 , eFlgFatal = 0x00000002 , eFlgEmergency =0x00000004 , eFlgSTO = 0x00000008 ,
  eFlgResTsk4 = 0x00000010 , eFlgResTsk5 = 0x00000020 , eFlgResTsk6 = 0x00000040 , eFlgResTsk7 = 0x00000080
}
 
enum  {
  eReqResTsk0 = 0x00000001 , eReqResTsk1 = 0x00000002 , eReqResTsk2 = 0x00000004 , eReqResTsk3 = 0x00000008 ,
  eReqResTsk4 = 0x00000010 , eReqResTsk5 = 0x00000020 , eReqResTsk6 = 0x00000040 , eReqResTsk7 = 0x00000080
}
 
enum  {
  eCrtSendMsg = 0x00000001 , eCrtResTsk1 = 0x00000002 , eCrtResTsk2 = 0x00000004 , eCrtResTsk3 = 0x00000008 ,
  eCrtResTsk4 = 0x00000010 , eCrtResTsk5 = 0x00000020 , eCrtResTsk6 = 0x00000040 , eCrtResTsk7 = 0x00000080
}
 
enum  { eDispFlagINCOSync = 0x00000001 }
 
enum  eTaskExMsgFlags { eMsgFlagNone = 0x00000000 , eMsgFlagNoWait = 0x00000001 }
 
enum  EDispatchStyle { eDispatchNone , eDispatchNormal , eDispatchInternal , eDispatchPre }
 
- Public Types inherited from CINOSTask
enum  ETskType {
  eTskTypeBoot = 0 , eTskTypeResource = 1 , eTskTypeSystem = 2 , eTskTypeApplication = 3 ,
  eTskTypeCommunication = 4 , eTskTypeRealtime = 5 , eTskTypeInterrupt = 6 , eTskTypeBackground = 7 ,
  eTskTypeLua = 8 , eTskTypeTest = 9 , eTskTypeReserved0 = 10 , eTskTypeReserved1 = 11 ,
  eTskTypeUser0 = 12 , eTskTypeUser1 = 13 , eTskTypeUser2 = 14 , eTskTypeUser3 = 15
}
 Task types.
 
- Static Protected Member Functions inherited from CINOSTaskEx
static uint32 iSetIncoItemsFromParamStruct (CINCOItem *apIncoItem, long alOffset, CINOSTaskExMsgParam *apParams, bool abOverwrite, inosName128 &oErrorItemName)
 Helper function for commands that set INCO items from a parameter stucture.
 
static void INCOItemToMessageResult (CINCOItem *apItem, const char *apParentPath, CINOSTaskExMsg *apMsg)
 Add value of INCO item to results of apMsg.
 
static void INCOItemsToMessageResults (CINCOItem *apItem, const char *apParentPath, CINOSTaskExMsg *apMsg)
 Add the value of the INCO item apItem and all its children (if any) as named results to the message (apMsg).
 
static void CallMsgDoneHooks (CINOSTaskExMsg *apMsg, ERplId aRplId, tMcAppError aAppError)
 Call hooks to notify observers about MsgDone, passing all arguments for inspection. This function is thread-safe.
 
- Protected Attributes inherited from CINOSMcModule
tMsgId m_uEmergencyMessageId
 emergency message id
 
tMsgId m_uSTOMessageId
 sto message id
 
bool m_bUniqueResourceNaming
 
nvstring m_cJobName
 module properties
 
nvstring m_cJobParam
 job param
 
inosName32 m_cMode
 actual selected mode
 
uint32 m_uMode
 actual selected mode
 
int32 m_iSimLevel
 simulation level
 
nvuint32 m_uSimLevel
 
nvreal64 m_rSlowMotion
 slowmotion factor
 
nvreal64 m_rSlowMotionSetup
 setup slowmotion factor
 
nvreal64 m_rOnDelay
 ondelay [ms]
 
nvuint32 m_uAutoInit
 auto init [yes/no]
 
uint32 m_uActJobs
 number of actual running scripts/jobs
 
uint32 m_uEmgDelay
 emergency delay
 
uint32 m_uEmgFilter
 emergency filter
 
nvstring m_cActJobName
 module actuals
 
nvuint32 m_uActJobState
 act job state
 
nvuint32 m_uActJobResult
 act job result
 
nvlstring m_cActScriptName
 paused script name
 
nvuint32 m_uActChecksum
 paused checksum
 
nvuint32 m_uActCmdId
 paused cmd id
 
tMsgId m_uActJobId
 paused job
 
uint32 m_uCntNbr
 number of counters
 
nvuint32m_pCntCmd [8]
 commanded counters
 
nvuint32m_pCntAct [8]
 actual counters
 
nvuint32m_pCntBad [8]
 bad counters
 
nvuint32m_pCntUph [8]
 uph [units/hour]
 
nvuint32m_pCntUphType [8]
 uph type [0-standard, 1-ignore first and last, 2-start/average]
 
nvreal64m_pCntUphFactor [8]
 uph factor [*]
 
nvuint32m_pCntUphStart [8]
 uph start
 
nvuint32m_pCntUphAverage [8]
 uph average
 
nvreal64m_pCntTim [8]
 cycle time [ms]
 
nvreal64m_pCntLft [8]
 left time [sec]
 
uint64 * m_pCntTimeBase [8]
 timebase of last count
 
uint8 m_uCntTimeBaseIndex [8]
 timebase index
 
inosName m_cCntUnit [8]
 unit buffers
 
CINOSMcValvesm_pValves
 pointer to valves
 
CINOSMcDataInstm_pOffDataInst = nullptr
 pointer to off script data instance
 
enum CINOSMcModule:: { ... }  m_eLcState
 
uint8 m_uLcMask
 bus mask
 
bool m_bResRegistred
 resources registred
 
CINOSBitm_pDiEmergency
 pointer to emergency input
 
uint32 m_uTgtErrorFlags = 0
 
- Protected Attributes inherited from CINOSTaskEx
CINCOObject * m_pRegister
 pointer to my inco registration
 
uint32 m_uOptions
 task options
 
std::atomic< uint64 > m_uFlags
 task flags
 
uint32 m_uRequests
 task requests
 
uint32 m_uCriticals
 task critical sections
 
uint32 m_uState
 task state
 
CINCOObject * m_pNvInitObj
 pointer to temporary nvobj
 
uint32 m_uPropOrder
 prop folder order
 
uint32 m_uActOrder
 act folder order
 
- Static Protected Attributes inherited from CINOSMcModule
static CINOSContainer< CINOSMcModule > * m_pMachine
 
static CINOSMutex s_MachineMutex
 
static bool s_bRegisterInContainer
 

Member Function Documentation

◆ CmdFailed()

virtual void CINOSMcRobot::CmdFailed ( CINOSTaskExMsg apMsg,
uint32  auError 
)
protectedvirtual

Will be called by INOS_MCROBOT_CMD_RUN if running a command fails e.g. because pre-checks returned an error. This implementation performs a MsgError(apMsg, auError), but a derived class may decide to act differently, e.g. with MsgFailed or however.

◆ DispatchCmd()

virtual bool CINOSMcRobot::DispatchCmd ( CINOSTaskExMsg apMsg)
overrideprotectedvirtual

dispatch command message

Reimplemented from CINOSMcModule.

◆ DispatchReply()

virtual bool CINOSMcRobot::DispatchReply ( CINOSTaskExMsg apMsg)
overrideprotectedvirtual

dispatch reply message

Reimplemented from CINOSMcModule.

◆ DispatchTmd()

virtual bool CINOSMcRobot::DispatchTmd ( CINOSTaskExMsg apMsg)
overrideprotectedvirtual

dispatch triggered command message

Reimplemented from CINOSMcModule.

◆ DispatchUser()

virtual bool CINOSMcRobot::DispatchUser ( CINOSTaskExMsg apMsg)
overrideprotectedvirtual

dispatch user message

Reimplemented from CINOSMcModule.

◆ ForceActivate()

virtual CMcResult CINOSMcRobot::ForceActivate ( tMcAxisName  apAxis,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Switch from position to force mode.

Parameters
apAxisName of the axis
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 CMcResult CINOSMcRobot::ForceApproach ( tMcAxisName  apAxis,
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. In case of success return the async result 'TouchPos' which contains the measured position at touch down.

Parameters
apAxisName of the axis
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 CMcResult CINOSMcRobot::ForceBreak ( tMcAxisName  apAxis,
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. In case of success return the async result 'BreakForce' which contains the measured force at the collapse detection.

Parameters
apAxisName of the axis
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

◆ ForceCheck()

virtual CMcResult CINOSMcRobot::ForceCheck ( tMcAxisName  apAxis,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Check current force state. Returns the following async results : 'State' : the current force control state 'Force' : the current measured force 'Position' : the current measured axis position 'Param' : the current selected param set.

Parameters
apAxisName of the axis
Returns
Returns an according error code or 0 in case of success

◆ ForceDepart()

virtual CMcResult CINOSMcRobot::ForceDepart ( tMcAxisName  apAxis,
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
apAxisName of the axis
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()

virtual CMcResult CINOSMcRobot::ForceInactivate ( tMcAxisName  apAxis,
double  adLimit,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Switch from force to position mode with optional active force limitation.

Parameters
apAxisName of the axis
adLimitThe requested force limit [N] or 0.0 if no limit
Returns
Returns an according error code or 0 in case of success

◆ ForceMove()

virtual CMcResult CINOSMcRobot::ForceMove ( tMcAxisName  apAxis,
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
apAxisName of the axis
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 CMcResult CINOSMcRobot::ForceMoveStop ( tMcAxisName  apAxis,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Stop the actual ForceMove with the given param set.

Parameters
apAxisName of the axis
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

◆ ForceSelect()

virtual CMcResult CINOSMcRobot::ForceSelect ( tMcAxisName  apAxis,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Select given param set.

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

◆ ForceTara()

virtual CMcResult CINOSMcRobot::ForceTara ( tMcAxisName  apAxis,
double  adForce,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Set current force [N] to given value.

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

◆ GetAxis()

CINOSMcRobotAxis * CINOSMcRobot::GetAxis ( uint32  auIndex) const

get pointer to axis at index auIndex.

Returns
NULL if no axis is available at auIndex (means: auIndex is out of range).

◆ GetAxisResource()

virtual CINOSPhysicalAxis * CINOSMcRobot::GetAxisResource ( tMcAxisName  apAxis)
overridevirtual

Reimplemented from CINOSMcModule.

◆ GetDistanceCodedPosition()

virtual uint32 CINOSMcRobot::GetDistanceCodedPosition ( const char apName,
real64  arDistance,
real64 &  arPosition 
)
inlineprotectedvirtual

Return distance coded position for given axis. A descendant class needs to return the required position at the second reference mark. The given value is the distance between the first and the second found reference (positive value -> the search was in positive direction and vice versa)

◆ GetStateText()

virtual const char * CINOSMcRobot::GetStateText ( )
overrideprotectedvirtual

return actual state text

Reimplemented from CINOSTaskEx.

◆ iCancel()

virtual void CINOSMcRobot::iCancel ( CINOSTaskExMsg apMsg)
overrideprotectedvirtual

internal cancel

Reimplemented from CINOSMcModule.

◆ iCancelDeferred()

virtual void CINOSMcRobot::iCancelDeferred ( )
overrideprotectedvirtual

overridden because we need to cancel all pending commands

Reimplemented from CINOSTaskEx.

◆ iCheckSetupMode()

virtual bool CINOSMcRobot::iCheckSetupMode ( )
overrideprotectedvirtual

internal check setup mode

Reimplemented from CINOSMcModule.

◆ iClrModeSetup()

virtual void CINOSMcRobot::iClrModeSetup ( CINOSTaskExMsg apMsg)
overrideprotectedvirtual

internal clear mode setup

Reimplemented from CINOSMcModule.

◆ iInit() [1/2]

virtual void CINOSMcRobot::iInit ( CINOSTaskExMsg apMsg)
overrideprotectedvirtual

internal init station

Reimplemented from CINOSMcModule.

◆ iInit() [2/2]

virtual void CINOSMcRobot::iInit ( tMcAxisName  apAxisName,
CINOSTaskExMsg apMsg 
)
protectedvirtual

internal init function. In contrast to the above overload, this function does NOT anymore access any msg params. apMsg will only be used for MsgDone & friends. This function has been introduced to allow customer code to re-use the init functionality for arbitrary CINOSTaskExMsg objects, which may contain 'msg paramas' different to axis name or may even contain additional ones, etc.

◆ iJoyDisAxisStopped()

virtual void CINOSMcRobot::iJoyDisAxisStopped ( CINOSTaskExMsg apUsrMsg)
protectedvirtual

internal called when the axis actually stopped, if iJoyDis needed to stop the axis

◆ iLinkDown()

virtual void CINOSMcRobot::iLinkDown ( CINOSTaskExMsg apMsg)
overrideprotectedvirtual

link down

Reimplemented from CINOSMcModule.

◆ iMsgRejected()

virtual void CINOSMcRobot::iMsgRejected ( CINOSTaskExMsg apMsg)
overrideprotectedvirtual

message rejected

Reimplemented from CINOSMcModule.

◆ Init()

virtual CMcResult CINOSMcRobot::Init ( tMcAxisName  apAxis,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Axis "Init". Also known as "homing" or "referencing". The axis init will be performed as configured in "Prop.Axes.${apAxis}.Init". Note that, if initialization of the axis succeeds, the function will iterate through all axes belonging to this module and checks whether they are initialized as well. If one or multiple axes are not initialized, the function executes a MsgInComplete. Only if all axes are initialized, it executes a MsgDone.

Parameters
apAxisThe axis name
apSyncExecution synchronization, see mcrobot_synch

◆ iOff()

virtual void CINOSMcRobot::iOff ( CINOSTaskExMsg apMsg)
overrideprotectedvirtual

internal off station

Reimplemented from CINOSMcModule.

◆ iOn()

virtual void CINOSMcRobot::iOn ( CINOSTaskExMsg apMsg)
overrideprotectedvirtual

internal on station

Reimplemented from CINOSMcModule.

◆ iOnSimLevelChanged()

virtual void CINOSMcRobot::iOnSimLevelChanged ( uint32  auOldLevel,
uint32  auNewLevel 
)
overrideprotectedvirtual

event handler 'iOnSimLevelChanged'

Reimplemented from CINOSMcModule.

◆ iOnSlowMotionChanged()

virtual void CINOSMcRobot::iOnSlowMotionChanged ( CINOSTaskExMsg apMsg)
overrideprotectedvirtual

event handler 'iOnSlowMotionChanged'

Reimplemented from CINOSMcModule.

◆ iRecover()

virtual void CINOSMcRobot::iRecover ( CINOSTaskExMsg apMsg)
overrideprotectedvirtual

internal recover station

Reimplemented from CINOSMcModule.

◆ iSetModeSetup()

virtual void CINOSMcRobot::iSetModeSetup ( CINOSTaskExMsg apMsg)
overrideprotectedvirtual

internal set mode setup

Reimplemented from CINOSMcModule.

◆ iShutdown()

virtual void CINOSMcRobot::iShutdown ( CINOSTaskExMsg apMsg)
overrideprotectedvirtual

internal shutdown task

Reimplemented from CINOSMcModule.

◆ iStartup() [1/2]

virtual void CINOSMcRobot::iStartup ( CINOSTaskExMsg apMsg)
overrideprotectedvirtual

internal startup task

Reimplemented from CINOSMcModule.

◆ iStartup() [2/2]

virtual void CINOSMcRobot::iStartup ( real64  arStage)
overrideprotectedvirtual

internal startup task

Reimplemented from CINOSMcModule.

◆ iStepCanceled()

virtual void CINOSMcRobot::iStepCanceled ( CINOSTaskExMsg apMsg)
overrideprotectedvirtual

step command canceled

Reimplemented from CINOSMcModule.

◆ iStepSkipped()

virtual void CINOSMcRobot::iStepSkipped ( CINOSTaskExMsg apMsg)
overrideprotectedvirtual

step command skipped

Reimplemented from CINOSMcModule.

◆ iStepStopped()

virtual void CINOSMcRobot::iStepStopped ( CINOSTaskExMsg apMsg)
overrideprotectedvirtual

step command stopped

Reimplemented from CINOSMcModule.

◆ iStop()

virtual void CINOSMcRobot::iStop ( CINOSTaskExMsg apMsg)
overrideprotectedvirtual

internal stop

Reimplemented from CINOSMcModule.

◆ JoyAdc() [1/2]

virtual CMcResult CINOSMcRobot::JoyAdc ( real64  arSlow,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Update joystick move. If the module has multiple axes, the first axis is taken, see also Joystick.

Parameters
arSlowRequested slowmotion factor
Returns
Returns an according error code or 0 in case of success.

◆ JoyAdc() [2/2]

virtual CMcResult CINOSMcRobot::JoyAdc ( tMcAxisName  apAxis,
real64  arSlow,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Update joystick move, see also Joystick.

Parameters
apAxisName of the requested axis.
arSlowRequested slowmotion factor
Returns
Returns an according error code or 0 in case of success.

◆ JoyDis() [1/2]

virtual CMcResult CINOSMcRobot::JoyDis ( CINOSSync apSync = DF_INOS_SYNCHRONOUS)
virtual

Disable joystick mode. If the module has multiple axes, the first axis is taken, see also Joystick.

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

◆ JoyDis() [2/2]

virtual CMcResult CINOSMcRobot::JoyDis ( tMcAxisName  apAxis,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Disable joystick mode, see also Joystick.

Parameters
apAxisName of the requested axis.
Returns
Returns an according error code or 0 in case of success.

◆ JoyEnb() [1/2]

virtual CMcResult CINOSMcRobot::JoyEnb ( CINOSSync apSync = DF_INOS_SYNCHRONOUS)
virtual

Enable joystick mode. If the module has multiple axes, the first axis is taken, see also Joystick.

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

◆ JoyEnb() [2/2]

virtual CMcResult CINOSMcRobot::JoyEnb ( tMcAxisName  apAxis,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Enable joystick mode, see also Joystick.

Parameters
apAxisName of the requested axis.
Returns
Returns an according error code or 0 in case of success.

◆ JoyNeg() [1/2]

virtual CMcResult CINOSMcRobot::JoyNeg ( CINOSSync apSync = DF_INOS_SYNCHRONOUS)
virtual

Start a joystick move in negative direction. If the module has multiple axes, the first axis is taken, see also Joystick.

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

◆ JoyNeg() [2/2]

virtual CMcResult CINOSMcRobot::JoyNeg ( tMcAxisName  apAxis,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Start a joystick move into negative direction, see also Joystick.

Parameters
apAxisName of the requested axis.
Returns
Returns an according error code or 0 in case of success.

◆ JoyPos() [1/2]

virtual CMcResult CINOSMcRobot::JoyPos ( CINOSSync apSync = DF_INOS_SYNCHRONOUS)
virtual

Start a joystick move in positive direction. If the module has multiple axes, the first axis is taken, see also Joystick.

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

◆ JoyPos() [2/2]

virtual CMcResult CINOSMcRobot::JoyPos ( tMcAxisName  apAxis,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Start a joystick move into positive direction, see also Joystick.

Parameters
apAxisName of the requested axis.
Returns
Returns an according error code or 0 in case of success.

◆ JoyStop() [1/2]

virtual CMcResult CINOSMcRobot::JoyStop ( CINOSSync apSync = DF_INOS_SYNCHRONOUS)
virtual

Stop running joystick move. If the module has multiple axes, the first axis is taken, see also Joystick.

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

◆ JoyStop() [2/2]

virtual CMcResult CINOSMcRobot::JoyStop ( tMcAxisName  apAxis,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Stop running joystick move, see also Joystick.

Parameters
apAxisName of the requested axis.
Returns
Returns an according error code or 0 in case of success.

◆ MoveAbs() [1/2]

virtual CMcResult CINOSMcRobot::MoveAbs ( real64  arPosition,
real64  arExit,
real64  arEnter,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Move to the requested absolute position and emit an OnExit and OnEnter event if requested. If the module has multiple axes, the first axis is taken.

Parameters
arPositionThe position where to move to.
arExitMarks the delta position from the beginning of the move where to emit an OnExit event. If set to 0.0, no event is thrown.
arEnterMarks the delta position from the end of the move where to emit an OnEnter event. If set to 0.0, no event is thrown.
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.

◆ MoveAbs() [2/2]

virtual CMcResult CINOSMcRobot::MoveAbs ( tMcAxisName  apAxis,
real64  arPosition,
real64  arExit,
real64  arEnter,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Move to the requested absolute position and emit an OnExit and OnEnter event if requested.

Parameters
apAxisName of axis to move with
arPositionThe position where to move to.
arExitMarks the delta position from the beginning of the move where to emit an OnExit event. If set to 0.0, no event is thrown.
arEnterMarks the delta position from the end of the move where to emit an OnEnter event. If set to 0.0, no event is thrown.
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.

◆ MoveCarefully()

virtual CMcResult CINOSMcRobot::MoveCarefully ( tMcAxisName  apAxis,
real64  arPosition,
real64  arPosError,
real64  arCurrent,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Move axis with reduced current and separate position error. During the move, the reduced current value will be set to arCurrent, the current reduction will be enabled on the axis. Moreover, the defined position error arPosError will be used to detect a "collision situation", while the "normal" position error check will be disabled for the duration of this command.

Returns
Ok if the move completed without position errors bigger than arPosError. A Failure if the position error arPosError exceeded during the move.

◆ MoveEx()

virtual CMcResult CINOSMcRobot::MoveEx ( tMcAxisName  apAxis,
real64  arPosition,
real64  arTrgPosition,
uint32  auFlags,
const char apTrgName,
real64  arTrgLevel,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Move extended. Move with additional flags.

◆ MoveFromBorder() [1/2]

virtual CMcResult CINOSMcRobot::MoveFromBorder ( real64  arPosition,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Move away from border.

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. Returns also the named result 'Position' with the axis position at the found event.

◆ MoveFromBorder() [2/2]

virtual CMcResult CINOSMcRobot::MoveFromBorder ( tMcAxisName  apAxis,
real64  arPosition,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Move away from border.

Parameters
apAxisName of the axis to move with.
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. Returns also the named result 'Position' with the axis position at the found event.

◆ MoveFromBorderDep() [1/2]

virtual CMcResult CINOSMcRobot::MoveFromBorderDep ( real64  arPosition,
real64  arPositionVel,
real64  arVelocity,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Depart from border.

Parameters
arPositionThe position where to move to.
arPositionVelReduced velocity till this position
arVelocityRequested reduced velocity
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. Returns also the named result 'Position' with the axis position at the found event.

◆ MoveFromBorderDep() [2/2]

virtual CMcResult CINOSMcRobot::MoveFromBorderDep ( tMcAxisName  apAxis,
real64  arPosition,
real64  arPositionVel,
real64  arVelocity,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Depart from border.

Parameters
apAxisName of the axis to move with.
arPositionThe position where to move to.
arPositionVelReduced velocity till this position
arVelocityRequested reduced velocity
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. Returns also the named result 'Position' with the axis position at the found event.

◆ MoveRel() [1/2]

virtual CMcResult CINOSMcRobot::MoveRel ( real64  arPosition,
real64  arExit,
real64  arEnter,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Move relative the requested delta and emit an OnExit and OnEnter event if requested. If the module has multiple axes, the first axis is taken.

Parameters
arPositionThe delta to move.
arExitMarks the delta position from the beginning of the move where to emit an OnExit event. If set to 0.0, no event is thrown.
arEnterMarks the delta position from the end of the move where to emit an OnEnter event. If set to 0.0, no event is thrown.
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.

◆ MoveRel() [2/2]

virtual CMcResult CINOSMcRobot::MoveRel ( tMcAxisName  apAxis,
real64  arPosition,
real64  arExit,
real64  arEnter,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Move relative the requested delta and emit an OnExit and OnEnter event if requested.

Parameters
apAxisName of axis to move with
arPositionThe delta to move.
arExitMarks the delta position from the beginning of the move where to emit an OnExit event. If set to 0.0, no event is thrown.
arEnterMarks the delta position from the end of the move where to emit an OnEnter event. If set to 0.0, no event is thrown.
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() [1/2]

virtual CMcResult CINOSMcRobot::MoveToAnalogSensor ( const char apName,
real64  arPosition,
real64  arLevel,
real64  arGreater,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Search analog sensor till arPosition and stop if found.

Parameters
apNameName of the resource or 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 Returns also the named result 'Position' with the axis position at the found event.

◆ MoveToAnalogSensor() [2/2]

virtual CMcResult CINOSMcRobot::MoveToAnalogSensor ( tMcAxisName  apAxis,
const char apName,
real64  arPosition,
real64  arLevel,
real64  arGreater,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Search analog sensor till arPosition and stop if found.

Parameters
apAxisName of the axis to move with.
apNameName of the resource or 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 Returns also the named result 'Position' with the axis position at the found event.

◆ MoveToBorder() [1/2]

virtual CMcResult CINOSMcRobot::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. Returns also the named result 'Position' with the axis position at the found event.

◆ MoveToBorder() [2/2]

virtual CMcResult CINOSMcRobot::MoveToBorder ( tMcAxisName  apAxis,
real64  arPosition,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Search border till arPosition and stop if found.

Parameters
apAxisName of the axis to move with.
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. Returns also the named result 'Position' with the axis position at the found event.

◆ MoveToBorderApp() [1/2]

virtual CMcResult CINOSMcRobot::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. Returns also the named result 'Position' with the axis position at the found event.

◆ MoveToBorderApp() [2/2]

virtual CMcResult CINOSMcRobot::MoveToBorderApp ( tMcAxisName  apAxis,
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
apAxisName of the axis to move with.
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. Returns also the named result 'Position' with the axis position at the found event.

◆ MoveToDigitalSensor() [1/2]

virtual CMcResult CINOSMcRobot::MoveToDigitalSensor ( const char apName,
real64  arPosition,
real64  arSet,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Search digital sensor till arPosition and stop if found.

Parameters
apNameName of the resource or 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. Returns also the named result 'Position' with the axis position at the found event.

◆ MoveToDigitalSensor() [2/2]

virtual CMcResult CINOSMcRobot::MoveToDigitalSensor ( tMcAxisName  apAxis,
const char apName,
real64  arPosition,
real64  arSet,
const char apParam,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Search digital sensor till arPosition and stop if found.

Parameters
apAxisName of the axis to move with.
apNameName of the resource or 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. Returns also the named result 'Position' with the axis position at the found event.

◆ MsgDone() [1/2]

virtual void CINOSMcRobot::MsgDone ( CINOSTaskExMsg apMsg,
ERplId  aRplId,
uint32  auResult = 0 
)
overrideprotectedvirtual

message done

Reimplemented from CINOSMcModule.

◆ MsgDone() [2/2]

virtual void CINOSMcRobot::MsgDone ( CINOSTaskExMsg apMsg,
uint32  auResult = 0 
)
overrideprotectedvirtual

message done

Reimplemented from CINOSMcModule.

◆ Off()

virtual CMcResult CINOSMcRobot::Off ( tMcAxisName  apAxis,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Axis "Off". This will "inactivate" the axis (aka power off).

Parameters
apAxisThe axis name
apSyncExecution synchronization, see mcrobot_synch

◆ On()

virtual CMcResult CINOSMcRobot::On ( tMcAxisName  apAxis,
CINOSSync apSync = DF_INOS_SYNCHRONOUS 
)
virtual

Axis "On".

This will "activate" the axis (aka power on). In other words: If the function succeeds, the axis will afterwards be controlled. Note that, if activating the axis succeeds, the function will iterate through all axes belonging to this module and checks whether they are all activated. If one or multiple axes are not activated, then the function executes a MsgInComplete. If all axes are activated, it executes a MsgDone.

As side effects of this function, "Check limits hook" and "Axis monitoring" will be enabled if these features are setup to be used.

Parameters
apAxisThe McRobot axis name on which the command operates
apSyncThe synchronization method used to execute the command

Member Data Documentation

◆ CreateAxisSpeedSet

TINOSTaskExCmdMsg<CINOSMcRobot, const char*, const char*, const char*> CINOSMcRobot::CreateAxisSpeedSet
Initial value:
{
"CreateAxisSpeedSet", &CINOSMcRobot::iCreateSpeedset, nullptr, *this,
{ "Axis", "" },
{ "SpeedSetName", "" },
{ "InitialValues", "", nullptr, CINOSTaskExMsgParam::eFlgStructure},
0xFFFFFFFF, "Cmd=SpeedSet", defCharInvisible
}
Definition cinosmcmodule.h:1900

◆ CreateSpeedset

TINOSTaskExCmdMsg<CINOSMcRobot, const char*, const char*, const char*> CINOSMcRobot::CreateSpeedset
Initial value:
{
"CreateSpeedset", &CINOSMcRobot::iCreateSpeedset, nullptr, *this,
{ "Axis", "" },
{ "SpeedsetName", "" },
{ "InitialValues", "", nullptr, CINOSTaskExMsgParam::eFlgStructure}
}

Create a new speedset for the McRobot axis. In case that apInitialValue is non-empty, it's important that it contains no syntax error and that it only specifies existing properties. Otherwise, the speedset creation will be aborted.

Parameters
apAxisThe axis name, use empty string to access global speedsets.
apSpeedsetNameThe speedset name
apInitialValueEither an empty string or a JSON object defining speedset initial values. The JSON string must be in the following format:
{
"Ramp": {
"cmdV":1.1,
"cmdJ":1.2,
"cmdJ": {
"cmdJb": 1.4
}
},
"Prop": {
"PosType": 1
}
}

As can be seen, the structure is equal to the structure in the INCO tree. Also, the names are exactly the same. Therefore, in order to get aware of what properties exist and how they're spelled, check the INCO tree (see Axis.AXISNAME.Param.Entity.SPEEDSETNAME) and create the JSON string accordingly. Also respect the min/max values of the props, as otherwise, the speedset creation will be aborted with an according error.

Parameters
apSyncExecution synchronization

◆ DestroyAxisSpeedSet

TINOSTaskExCmdMsg<CINOSMcRobot, const char*, const char*> CINOSMcRobot::DestroyAxisSpeedSet
Initial value:
{
"DestroyAxisSpeedSet", &CINOSMcRobot::iDestroySpeedset, nullptr, *this,
{ "Axis", "" },
{ "SpeedsetName", "" },
0xFFFFFFFF, "Cmd=SpeedSet", defCharInvisible
}

◆ DestroySpeedset

TINOSTaskExCmdMsg<CINOSMcRobot, const char*, const char*> CINOSMcRobot::DestroySpeedset
Initial value:
{
"DestroySpeedset", &CINOSMcRobot::iDestroySpeedset, nullptr, *this,
{ "Axis", "" },
{ "SpeedsetName", "" },
}

Destroy an existing speedset.

Parameters
apAxisThe axis name, use empty string to access global speedsets.
apSpeedsetNameThe speedset name
apSyncExecution synchronization
Returns
INOS_OK if the speedset existed and was successfully destroyed, an error code otherwise.

◆ GetAxisSpeedSet

TINOSTaskExCmdMsg<CINOSMcRobot, const char*, const char*> CINOSMcRobot::GetAxisSpeedSet
Initial value:
{
"GetAxisSpeedSet", &CINOSMcRobot::iGetSpeedset, nullptr, *this,
{ "Axis", "" },
{ "SpeedSetName", "" },
0xFFFFFFFF, "Cmd=SpeedSet", defCharInvisible
}

◆ GetSpeedset

TINOSTaskExCmdMsg<CINOSMcRobot, const char*, const char*> CINOSMcRobot::GetSpeedset
Initial value:
{
"GetSpeedset", &CINOSMcRobot::iGetSpeedset, nullptr, *this,
{ "Axis", "" },
{ "SpeedsetName", "" },
}

Get speedset of McRobot axis.

This function adds named results for all parameters of the speedset. IOW: The value of each INCO item is added to the return value with it's name and value. The named results can be get by the fully qualified name, such as "Ramp.cmdV" or "Prop.PosType", see also CreateSpeedset to get more information about how the axis speedset properties are related to the INCO tree.

Parameters
apAxisThe axis name, use empty string to access global speedsets.
apSpeedsetNameThe speedset name
apSyncExecution synchronization
Returns
INOS_OK if the speedset exists. In that case, named results have been added to the CMcResult, one for each axis speedset property.

◆ SetAxisSpeedSet

TINOSTaskExCmdMsg<CINOSMcRobot, const char*, const char*, const char*> CINOSMcRobot::SetAxisSpeedSet
Initial value:
{
"SetAxisSpeedSet", &CINOSMcRobot::iSetSpeedset, nullptr, *this,
{ "Axis", "" },
{ "SpeedSetName", "" },
{ "Values", "", nullptr, CINOSTaskExMsgParam::eFlgStructure},
0xFFFFFFFF, "Cmd=SpeedSet", defCharInvisible
}

◆ SetSpeedset

TINOSTaskExCmdMsg<CINOSMcRobot, const char*, const char*, const char*> CINOSMcRobot::SetSpeedset
Initial value:
{
"SetSpeedset", &CINOSMcRobot::iSetSpeedset, nullptr, *this,
{ "Axis", "" },
{ "SpeedsetName", "" },
{ "Values", "", nullptr, CINOSTaskExMsgParam::eFlgStructure}
}

Set/modify the parameters of an existing speedset.

Parameters
apAxisThe axis name, use empty string to access global speedsets.
apSpeedsetNameThe speedset name
apValueA JSON string that contains the parameters to be set. Refer to the documentation of CreateSpeedset to get more details about the format of it.
apSyncExecution synchronization
Returns
CMcResult McRobot result

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