28#ifndef INC_CINOSMCROBOT_H
29#define INC_CINOSMCROBOT_H
36#define INOS_MCROBOT_CMD_BEGIN_INST(_inst_,_msg_) \
37 CINOSMcRobotCmd* __c = _inst_.iCmdGet(_msg_->GetId()); \
39#define INOS_MCROBOT_CMD_RUN_INST(_inst_,_cmd_) \
41 uint32 __e = __c->Check(); \
43 _inst_.CmdFailed(__c->GetMsg(), __e); \
47 _inst_.iCmdAdd(__c); \
49 CINOSTaskExMsg* __m = __c->GetMsg(); \
50 if (__m->GetTrigger()){ \
51 uint32 __e = __c->Trigger(); \
53 _inst_.iCmdRemove(__c); \
54 _inst_.CmdFailed(__m, __e); \
59 if (__m->GetCanceled()){ \
60 CINOSTaskExMsg* usr = new CINOSTaskExMsg(CINOSTaskEx::eMsgUser, \
61 CINOSMcRobot::eUsrDone); \
62 usr->AddParam(__m->GetId()); \
63 usr->AddParam((uint32)0); \
67 uint32 __e = __c->Run(); \
69 _inst_.iCmdRemove(__c); \
70 _inst_.CmdFailed(__m, __e); \
74 _inst_.MsgDefer(__m); \
76#define INOS_MCROBOT_CMD_BEGIN(_msg_) INOS_MCROBOT_CMD_BEGIN_INST((*this),_msg_)
77#define INOS_MCROBOT_CMD_RUN(_msg_) INOS_MCROBOT_CMD_RUN_INST((*this),_msg_)
79#define INOS_MCROBOT_CMD_SETOUT(aCmd,aBit,aEvent) \
80 if (!__m->GetTrigger()){ \
82 CINOSTaskExMsg* msg = new CINOSTaskExMsg(eMsgCmd, eCmdSetBit); \
83 msg->SetName("SetOut"); \
84 msg->AddParam((uintptr)aBit); \
87 if (__c->GetEventTicks(aEvent, uBusTicks, uBusId)){ \
88 msg->SetTrigger(uBusTicks, uBusId); \
93 INOS_WARNING("INOS_MCROBOT_CMD_SETOUT(aCmd,aBit,'%s') used without a valid event name",aEvent);\
97 INOS_WARNING("INOS_MCROBOT_CMD_SETOUT(aCmd,???,'%s') used without a valid bit pointer",aEvent); \
100#define INOS_MCROBOT_CMD_CLROUT(aCmd,aBit,aEvent) \
101 if (!__m->GetTrigger()){ \
103 CINOSTaskExMsg* msg = new CINOSTaskExMsg(eMsgCmd, eCmdClrBit); \
104 msg->SetName("ClrOut"); \
105 msg->AddParam((uintptr)aBit); \
108 if (__c->GetEventTicks(aEvent, uBusTicks, uBusId)){ \
109 msg->SetTrigger(uBusTicks, uBusId); \
114 INOS_WARNING("INOS_MCROBOT_CMD_CLROUT(aCmd,aBit,'%s') used without a valid event name",aEvent);\
118 INOS_WARNING("INOS_MCROBOT_CMD_CLROUT(aCmd,???,'%s') used without a valid bit pointer",aEvent); \
121#define INOS_MCROBOT_CMD_SENDCMD(aCmd,aCmdId,aEvent) \
122 if (!aCmd->GetMsg()->GetTrigger()){ \
123 CINOSTaskExMsg* msg = new CINOSTaskExMsg(eMsgCmd, aCmdId); \
124 msg->AddParam(aCmd->GetId()); \
127 if (aCmd->GetEventTicks(aEvent, uBusTicks, uBusId)){ \
128 msg->SetTrigger(uBusTicks, uBusId); \
133 INOS_WARNING("INOS_MCROBOT_CMD_SENDCMD(aCmd,aCmdId,'%s') used without a valid event name",aEvent);\
136#define INOS_MCROBOT_CMD_SENDCMD_NAME(aCmd,aName,aCmdId,aEvent) \
137 if (!aCmd->GetMsg()->GetTrigger()){ \
138 CINOSTaskExMsg* msg = new CINOSTaskExMsg(eMsgCmd, aCmdId); \
139 msg->SetName(aName); \
140 msg->AddParam(aCmd->GetId()); \
143 if (aCmd->GetEventTicks(aEvent, uBusTicks, uBusId)){ \
144 msg->SetTrigger(uBusTicks, uBusId); \
149 INOS_WARNING("INOS_MCROBOT_CMD_SENDCMD(aCmd,aCmdId,'%s') used without a valid event name",aEvent);\
152#define INOS_MCROBOT_CMD_SENDCMD_PARAM(aCmd,aCmdId,aEvent,aParam) \
153 if (!aCmd->GetMsg()->GetTrigger()){ \
154 CINOSTaskExMsg* msg = new CINOSTaskExMsg(eMsgCmd, aCmdId); \
155 msg->AddParam(aCmd->GetId()); \
156 msg->AddParam(aParam); \
159 if (aCmd->GetEventTicks(aEvent, uBusTicks, uBusId)){ \
160 msg->SetTrigger(uBusTicks, uBusId); \
165 INOS_WARNING("INOS_MCROBOT_CMD_SENDCMD_PARAM(aCmd,aCmdId,'%s') used without a valid event name",aEvent);\
177#include <cinoscalib.h>
178#include <cinoscalibs.h>
179#include <cinosshape.h>
180#ifdef INOS_MOVEPATH_SUPPORT
211#ifdef INOS_MOVEPATH_SUPPORT
259 "CreateSpeedset", &CINOSMcRobot::iCreateSpeedset,
nullptr, *
this,
261 {
"SpeedsetName",
"" },
262 {
"InitialValues",
"",
nullptr, CINOSTaskExMsgParam::eFlgStructure}
267 "CreateAxisSpeedSet", &CINOSMcRobot::iCreateSpeedset,
nullptr, *
this,
269 {
"SpeedSetName",
"" },
270 {
"InitialValues",
"",
nullptr, CINOSTaskExMsgParam::eFlgStructure},
282 "DestroySpeedset", &CINOSMcRobot::iDestroySpeedset,
nullptr, *
this,
284 {
"SpeedsetName",
"" },
289 "DestroyAxisSpeedSet", &CINOSMcRobot::iDestroySpeedset,
nullptr, *
this,
291 {
"SpeedsetName",
"" },
304 "SetSpeedset", &CINOSMcRobot::iSetSpeedset,
nullptr, *
this,
306 {
"SpeedsetName",
"" },
307 {
"Values",
"",
nullptr, CINOSTaskExMsgParam::eFlgStructure}
312 "SetAxisSpeedSet", &CINOSMcRobot::iSetSpeedset,
nullptr, *
this,
314 {
"SpeedSetName",
"" },
315 {
"Values",
"",
nullptr, CINOSTaskExMsgParam::eFlgStructure},
336 "GetSpeedset", &CINOSMcRobot::iGetSpeedset,
nullptr, *
this,
338 {
"SpeedsetName",
"" },
343 "GetAxisSpeedSet", &CINOSMcRobot::iGetSpeedset,
nullptr, *
this,
345 {
"SpeedSetName",
"" },
685 #ifdef INOS_MOVEPATH_SUPPORT
760 {
return m_uAxesNbr;};
778 #ifdef INOS_MOVEPATH_SUPPORT
784 #ifdef INOS_FORCE_CONTROL_SUPPORT
886 return eCmdINOSMcRobotLast;
890 return eUsrINOSMcRobotLast;
909 friend class CINOSMcRobotCmdValveVC8;
910 friend class CINOSMcRobotCmdPull;
912 friend class CINOSMcRobotForceSync;
913 friend class CINCOaxspos;
914 friend class CINCOcmdaxspos;
915 friend class CINCOaxslifetime;
916 friend class CINITTask;
1052 #ifdef INOS_MOVEPATH_SUPPORT
1074 #ifdef INOS_FORCE_CONTROL_SUPPORT
1086 virtual void iForceCancel();
1102 {
return m_pFstCmd;};
1276 #ifdef INOS_MOVEPATH_SUPPORT
1280 TINOSMovePathVec&
vPos,
1281 TINOSMovePathVec&
vVel,
1282 TINOSMovePathVec&
vAcc,
1283 TINOSMovePathVec&
vJrk) {
1290 eOptMultiple= 0x00010000,
1291 eOptJoy = 0x00020000,
1292 eOptWheel = 0x00040000,
1293 eOptLimitInv= 0x00080000,
1294 eOptEarlyInit=0x00100000,
1295 eOptResMcR5 = 0x00200000,
1296 eOptResMcR6 = 0x00400000,
1297 eOptResMcR7 = 0x00800000
1302 eCmdINOSMcRobotFirst = eCmdINOSMcModuleLast+1,
1306 eCmdMoveToBorderApp,
1308 eCmdMoveFromBorderDep,
1309 eCmdMoveToDigitalSensor,
1310 eCmdMoveToAnalogSensor,
1328 #ifdef INOS_FORCE_CONTROL_SUPPORT
1330 eCmdForceInactivate,
1345 eUsrINOSMcRobotFirst = eUsrINOSMcModuleLast+1,
1355 eUsrJoyDisAxisStopped,
1356 #ifdef INOS_FORCE_CONTROL_SUPPORT
1364 eRplNotYet = 0xffffffff
1372 void iCheckLimitHook();
1374 void iHandleCmdHook();
1376 void iMonitorHook();
1391 inosName64 m_cPositionBase;
1393 uintid m_uCheckLimitHookId;
1395 uintid m_uHandleCmdHookId;
1397 uintid m_uMonitorHookId;
1399 #ifdef INOS_SAFETY_SUPPORT
1407 uint32 m_uCycleTime;
1409 uint32 m_uCycleNumber;
1417 bool m_bJoyDisAsyncStop;
1424 #ifdef INOS_MOVEPATH_SUPPORT
1436 static int32 m_uTmpIndex;
1760 eInitStallWithTolerance = 7,
1761 eInitResolverAbsolute = 8,
1762 eInitAbsoluteEncoder = 9,
1769 eFlgOn = 0x00000200,
1770 eFlgInit = 0x00000400,
1771 eFlgSlave = 0x08000000,
1772 eFlgPureLimit = 0x10000000,
1773 eFlgShared = 0x20000000,
1774 eFlgCoupled = 0x40000000,
1775 eFlgSimulated = 0x80000000,
1780 eMonError = 0x00000001,
1781 eMonWarning = 0x00000002
1793 eStaMoveToBorder = 7,
1794 eStaMoveToBorderApp = 8,
1795 eStaMoveToDigitalSensor = 9,
1796 eStaMoveToAnalogSensor = 10,
1798 eStaMoveCarefully = 12,
1799 eStaJoyStickDisabling = 13,
1808 eRefYesOpposite = 2,
1809 eRefYesDistanceCoded= 3,
1814 eRefSearchDefault = 0,
1815 eRefSearchSingle = 1,
1817 eRefSearchSafeController= 3,
1822 eJoyTypeDigital = 0,
2194 #ifdef INOS_USE_CUSTOMER_IMAGE_DATA
2234 eFlgBegin = 0x00000001,
2235 eFlgEnd = 0x00000002,
2236 eFlgMoveTime = 0x00000004,
2237 eFlgSlowMotion = 0x00000008,
2238 eFlgFireEvent = 0x00000010,
2239 eFlgLength = 0x00000020,
2240 eFlgDepart = 0x00000040,
2241 eFlgMultipleEvent = 0x00000080,
2242 eFlgEmgStop = 0x40000000,
2243 eFlgDone = 0x80000000
2272 #ifdef INOS_USE_CUSTOMER_IMAGE_DATA
2350 virtual uint32
Run()
override;
2391 void CalcMoveTime();
2393 uint32 GetSyncTime(
const char*
apSync, real64&
arTime);
2398 virtual void Handle()
override;
2497 void CalcMoveTime();
2499 uint32 GetSyncTime(
const char*
apSync, real64&
arTime);
2501 virtual void Handle();
2503 #ifdef INOS_SAFETY_SUPPORT
2510 inosName64 m_cParam;
2516 real64 m_rMoveLength;
2518 real64 m_rSlowMotion;
2524 #ifdef INOS_SAFETY_SUPPORT
2539 #ifdef INOS_SAFETY_SUPPORT
2540 uint8 m_uSafetyType;
2614 inosName64 m_cParam;
2622 real64 m_rSlowMotion;
2704 inosName32 m_cAxis1;
2708 inosName32 m_cAxisP;
2715 real64 m_rPosition1;
2721 inosName64 m_cParam1;
2725 inosName64 m_cParam2;
2730 real64 m_rPositionP;
2732 inosName64 m_cParamP;
2737 uint64 m_uOnEndTicks;
2739 uint8 m_uOnEndBusId;
2811 inosName64 m_cParam;
2887 real64 m_rPositionVel;
2895 inosName64 m_cParam;
3025 real64 m_rPositionVel{};
3026 real64 m_rVelocity{};
3067 void CalcMoveTime();
3069 uint32 GetSyncTime(
const char*
apSync, real64&
arTime);
3082 real64 m_rSlowMotion;
3083 real64 m_rMoveTime{};
3090 inosName64 m_cSensor;
3100 uint32 m_uTimeFlags;
3102 inosName64 m_cParam;
3184 inosName64 m_cSensor;
3196 inosName64 m_cParam;
3259 real64 m_rCurLimitOrig;
3264 real64 m_rPosErrorOrig;
3266 real64 m_rBorderPosUnused;
3268 inosName64 m_cParam;
3329 inosName64 m_cTriggerName;
3333 real64 m_rTrgPosition;
3335 inosName64 m_cParam;
3552 bool m_bSetTolerance;
3704 friend class CINITTask;
3727 eFlgStopped = 0x40000000,
3728 eFlgDone = 0x80000000
3812 friend class CCALIBTask;
3827 eFlgStopped = 0x40000000,
3828 eFlgDone = 0x80000000
const char * tMcAxisName
The name of a McRobot axis.
Definition cinosmcrobot.h:193
#define DECLARE_DYNAMIC(aClass)
Definition cinospartitionmemory.h:328
Definition cinosadcchannel.h:53
Definition cinosbaseramp.h:752
static CINOSBus * GetFirstBus()
Return first valid bus (aka "g_pBus[0]").
Definition cinosbus.h:641
Definition cinosmcmodule.h:126
uint32 GetResId() const
get resource id
Definition cinosmcmodule.h:196
Definition cinosmcmodule.h:1900
Definition cinosmcmodule.h:296
Definition cinosmcrobot.h:1447
const char * GetWheelParam() const
get wheel param
Definition cinosmcrobot.h:1705
uint32 m_uFlags
axis flags
Definition cinosmcrobot.h:1864
CINOSPosChannel * m_pWheel
pointer to wheel pos channel
Definition cinosmcrobot.h:1920
uint32 GetSourceId() const
get source id
Definition cinosmcrobot.h:1496
real64 GetMinPositionOn() const
get minposition at on
Definition cinosmcrobot.h:1481
nvuint32 m_uInitBorder
init border support
Definition cinosmcrobot.h:1967
nvreal64 m_rInitReferenceTol
init reference tolerance
Definition cinosmcrobot.h:1973
inosResName m_cJoyAdc
joystick adc name
Definition cinosmcrobot.h:1888
bool m_bLimitNeg
neg limit reached
Definition cinosmcrobot.h:1949
bool HasLimit() const
return true if axes has limit supervision
void HndBrakeReleaseRequest()
handle brake release request
nvreal64 m_rInitZeroSlow
init zero search slowmotion factor
Definition cinosmcrobot.h:1987
nvreal64 m_rMaxPositionOn
max. allowed position at 'on'
Definition cinosmcrobot.h:1937
CINOSMcRobotAxis(CINOSMcRobot *apModule, uint32 auNumber, const char *apAlias=0, const char *apParam=0)
script constructor
void SetWheelFactor(real64 arFactor)
set wheel factor
Definition cinosmcrobot.h:1699
void SetAxis(CINOSPhysicalAxis *apAxis)
set pointer axis
Definition cinosmcrobot.h:1505
uint32 GetInitOrder() const
get init order
Definition cinosmcrobot.h:1556
real64 GetSlowMotion() const
get slowmotion factor
Definition cinosmcrobot.h:1475
virtual bool DispatchReply(CINOSTaskExMsg *apMsg)
dispatch reply message
real64 GetInitMovePos() const
get init move
Definition cinosmcrobot.h:1628
nvreal64 m_rInitMovePos
init move position
Definition cinosmcrobot.h:2001
nvreal64 m_rInitRange
init search range
Definition cinosmcrobot.h:1993
nvuint32 m_uWheelFilterLength
wheel filter length
Definition cinosmcrobot.h:2045
nvuint32 m_uInitType
init type
Definition cinosmcrobot.h:1957
CINOSBit * GetBrake() const
get pointer brake
Definition cinosmcrobot.h:1529
nvreal64 m_rLifetimeDistance
lifetime distance
Definition cinosmcrobot.h:1933
void ResetState(uint32 auNewState, uint32 auOldState)
reset state
real64 m_rMinPosition
min. position
Definition cinosmcrobot.h:1942
nvuint32 m_uInitCurrentLimit
init currentlimit support
Definition cinosmcrobot.h:1981
nvreal64 m_rJoyDeltaUnit
joystick delta [unit]
Definition cinosmcrobot.h:2034
void RegisterIO(CINCOObject *apParent)
register axis IO's
CINOSMcModuleRes * m_pJoyAdcRes
pointer to joyadc resource
Definition cinosmcrobot.h:1918
void ClrFlag(uint32 auFlag)
clear flag
Definition cinosmcrobot.h:1466
CINOSMcModuleRes * m_pWheelRes
pointer to wheel resource
Definition cinosmcrobot.h:1922
virtual void AddProp(const char *apName, nvreal64 &aMember, real64 arDefault, real64 arMin, real64 arMax, const char *apUnit, uint32 auDigits)
add nvreal property to the 'Prop' folder
virtual ~CINOSMcRobotAxis()
destructor
nvuint32 m_uMonitorActionError
monitor action error [0-no,1-cancel,2-cancel parent]
Definition cinosmcrobot.h:2058
real64 GetInitPos() const
get init position
Definition cinosmcrobot.h:1607
bool HasPosNegLimit() const
return true if axes has pos/neg limit supervision
void CheckLimit()
do limitcheck
uint32 CheckWarning(tMsgId &auMsgId)
check actual axis warning
CINOSBit * m_pZero
pointer to zero input
Definition cinosmcrobot.h:1900
void SaveLifetimeDistance()
save lifetime distance
real64 GetInitReferenceSearchTol() const
get init reference search tolerance
Definition cinosmcrobot.h:1577
nvstring m_cJoyParam
joystick param
Definition cinosmcrobot.h:2036
uint32 GetInitReferenceSearchType() const
get init reference search type
Definition cinosmcrobot.h:1574
nvuint32 m_uInitDirection
init direction
Definition cinosmcrobot.h:1961
SINOSRampParam m_sInitParam
init param's rounded to a integral V value
Definition cinosmcrobot.h:1924
uint32 GetInitEdge() const
get init edge
Definition cinosmcrobot.h:1562
SINOSRampParam * GetRampParam(const char *apParam, SINOSRampParam *apResult=NULL)
get ramp param (handles also names like e.g. Rapid[V=2.0 a=100.0])
CINOSBit * m_pLimitPos
pointer to zero input
Definition cinosmcrobot.h:1904
CINOSBit * m_pJoyPos
pointer to joypos input
Definition cinosmcrobot.h:1908
real64 GetMaxPositionOn() const
get maxposition at on
Definition cinosmcrobot.h:1484
CINOSMcModuleRes * m_pJoyNegRes
pointer to joyneg resource
Definition cinosmcrobot.h:1914
real64 GetInitZeroLeave() const
get zero leave distance
Definition cinosmcrobot.h:1604
void SetState(uint32 auState)
set state
bool HasBrake() const
return true if axis has brake
Definition cinosmcrobot.h:1655
nvuint32 m_uMonitorType
monitor enable request [0-no,1-error,2-warning,3-error/warning]
Definition cinosmcrobot.h:2056
bool GetOption(const char *apOption) const
get option
Definition cinosmcrobot.h:1469
CINOSMcModule * GetModule()
get pointer to my module
Definition cinosmcrobot.h:1834
int32 GetBrakeWaitOn() const
get brake wait on
Definition cinosmcrobot.h:1658
bool CheckLimitNeg() const
check neg limit
CINOSBit * GetZero()
get pointer zero input
Definition cinosmcrobot.h:1508
uint32 GetJoyDeltaInc() const
get joy delta inc
Definition cinosmcrobot.h:1681
CINOSBit * m_pLimitNeg
pointer to zero input
Definition cinosmcrobot.h:1906
SINOSRampParam m_sCalibParam
calib param's rounded to a integral V value
Definition cinosmcrobot.h:1926
uint32 GetMonitorType() const
get monitor type
Definition cinosmcrobot.h:1723
CINOSPhysicalAxis * m_pAxis
pointer to axis
Definition cinosmcrobot.h:1896
bool m_bLimitPos
pos limit reached
Definition cinosmcrobot.h:1947
real64 GetInitRange() const
get init range
Definition cinosmcrobot.h:1613
int32 GetBrakeWaitOff() const
get brake wait off
Definition cinosmcrobot.h:1661
nvuint32 m_uJoyType
joystick type
Definition cinosmcrobot.h:2028
real64 GetCalibTolerance() const
get calib tolerance
Definition cinosmcrobot.h:1643
real64 GetInitMaxCurrent() const
get init max current
Definition cinosmcrobot.h:1595
nvreal64 m_rMinPositionOn
min. allowed position at 'on'
Definition cinosmcrobot.h:1935
uint32 m_uMonitorPending
monitor pending
Definition cinosmcrobot.h:2054
CINOSxmsHandler * m_pBrakeReleaseHnd
brake release handler
Definition cinosmcrobot.h:2023
CINOSBit * GetLimitPos() const
get pointer limit pos input
Definition cinosmcrobot.h:1519
CINOSAdcChannel * m_pJoyAdc
pointer to joyadc channel
Definition cinosmcrobot.h:1916
uint32 GetMonitorActionError() const
get monitor action
Definition cinosmcrobot.h:1726
uint32 GetJoyWait() const
get joy wait
Definition cinosmcrobot.h:1678
void SetWarningMsgId(tMsgId aId)
set warning message id
Definition cinosmcrobot.h:1732
nvreal64 m_rCalibTolerance
calib tolerance
Definition cinosmcrobot.h:2010
tMsgId m_LimitPosMsgId
limit message id
Definition cinosmcrobot.h:1951
nvreal64 m_rInitReferenceSearchTol
init reference search tolerance
Definition cinosmcrobot.h:1977
nvreal64 m_rInitMaxCurrent
init max init current
Definition cinosmcrobot.h:1983
uint32 GetInitReference() const
get init reference support
Definition cinosmcrobot.h:1571
nvstring m_cInitParam
init param
Definition cinosmcrobot.h:1997
nvuint32 m_uMonitorActionWarning
monitor action warning [0-no,1-stop,2-stop parent]
Definition cinosmcrobot.h:2060
uint32 m_uBrakeReleaseRequest
brake release request
Definition cinosmcrobot.h:2021
nvreal64 m_rInitReferencePos
init reference position
Definition cinosmcrobot.h:1971
inosResName m_cZero
zero input name
Definition cinosmcrobot.h:1876
nvuint32 m_uSimLevel
sim level
Definition cinosmcrobot.h:1929
nvint32 m_iBrakeWaitOff
brake wait off [ms]
Definition cinosmcrobot.h:2019
inosResName m_cJoyPos
joystick pos name
Definition cinosmcrobot.h:1884
void SetBrakeReleaseRequest(int32 aiMs)
set brake release request
void SetInitMovePos(real64 arInitMovePos)
set init move
Definition cinosmcrobot.h:1631
uint32 GetWheelFilterLength() const
get wheel filter length
Definition cinosmcrobot.h:1702
void DisableMonitor(uint32 auType)
disable monitor
Definition cinosmcrobot.h:1717
const char * GetInitMoveParam() const
get init move param
Definition cinosmcrobot.h:1634
nvreal64 m_rInitPos
initial position
Definition cinosmcrobot.h:1991
CINCOObject * m_pRegister
pointer to axis properties folder
Definition cinosmcrobot.h:1892
SINOSRampParam * GetAdjCalibParam()
get adjusted calib params
Definition cinosmcrobot.h:1649
nvreal64 m_rPowerTimeout
power timeout
Definition cinosmcrobot.h:1939
inosResName m_cName
axis name
Definition cinosmcrobot.h:1874
tMsgId m_WarningMsgId
warning message id
Definition cinosmcrobot.h:2062
void EnableMonitor(uint32 auType)
enable monitor
Definition cinosmcrobot.h:1714
uint32 GetInitMove() const
get init reference support
Definition cinosmcrobot.h:1625
uint32 GetInitType() const
get init type
Definition cinosmcrobot.h:1553
uint32 GetMonitorActionWarning() const
get monitor warning
Definition cinosmcrobot.h:1729
nvreal64 m_rInitReferenceSearchBack
init reference search back
Definition cinosmcrobot.h:1979
CINOSMcRobot * m_pModule
pointer to my module
Definition cinosmcrobot.h:1866
nvuint32 m_uInitCommutation
init post commutation support
Definition cinosmcrobot.h:1965
real64 GetInitBorderLimit() const
get init border limit
Definition cinosmcrobot.h:1598
nvstring m_cWheelParam
wheel param
Definition cinosmcrobot.h:2047
uint32 CheckLimit(real64 arPosition)
do limitcheck
uint32 m_uMonitorEnabled
monitor enabled
Definition cinosmcrobot.h:2052
nvreal64 m_rInitSlaveBack
init slave backward
Definition cinosmcrobot.h:1995
nvuint32 m_uInitReference
init reference support
Definition cinosmcrobot.h:1969
nvuint32 m_uInitEdge
init input edge
Definition cinosmcrobot.h:1963
CINOSBit * m_pJoyNeg
pointer to joyneg input
Definition cinosmcrobot.h:1912
uint32 GetSimLevel() const
get simlevel
Definition cinosmcrobot.h:1472
void DoBrakeRelease()
brake release
Definition cinosmcrobot.h:1669
CINOSBit * GetLimitNeg() const
get pointer limit neg input
Definition cinosmcrobot.h:1524
inosResName m_cWheel
wheel pos channel name
Definition cinosmcrobot.h:1890
void SetName(const char *apName)
set axis name
Definition cinosmcrobot.h:1493
nvuint32 m_uJoyDeltaInc
joystick delta [inc]
Definition cinosmcrobot.h:2032
real64 GetInitReferenceTol() const
get init reference tolerance
Definition cinosmcrobot.h:1589
uint32 GetJoyType() const
get joy type
Definition cinosmcrobot.h:1675
inosResName m_cLimitNeg
zero input name
Definition cinosmcrobot.h:1882
uint32 GetNumber() const
get axis number
Definition cinosmcrobot.h:1499
nvreal64 m_rSlowMotion
slowmotion factor
Definition cinosmcrobot.h:1931
uint32 m_uStateCount
state count
Definition cinosmcrobot.h:1862
CINCOObject * GetRegister(CINCOObject *apParent=0)
get inco registration
CINOSBit * m_pBrake
pointer to brake output
Definition cinosmcrobot.h:1902
SINOSRampParam * GetAdjInitParam()
get adjusted init params
Definition cinosmcrobot.h:1622
void DoBrake()
brake
Definition cinosmcrobot.h:1666
uint32 GetState()
get state
Definition cinosmcrobot.h:1453
const char * GetJoyParam() const
get joy param
Definition cinosmcrobot.h:1687
real64 GetInitZeroSlow() const
get zero slowmotion
Definition cinosmcrobot.h:1601
uint32 CheckConfig()
check axis config
real64 m_rMaxPosition
max. position
Definition cinosmcrobot.h:1944
nvuint32 m_uWheelType
wheel type
Definition cinosmcrobot.h:2041
CINOSMcRobotAxis * m_pNext
pointer to next axis in list
Definition cinosmcrobot.h:2065
void SetInitPos(real64 arInitPos)
set init position
Definition cinosmcrobot.h:1610
char m_cInitGeneric[256]
init generic parameter
Definition cinosmcrobot.h:1959
inosResName m_cJoyNeg
joystick neg name
Definition cinosmcrobot.h:1886
uint32 GetMonitorEnabled(uint32 auType)
get monitoring enabled
Definition cinosmcrobot.h:1720
inosName64 m_cAlias
axis name
Definition cinosmcrobot.h:1870
inosResName m_cBrake
brake output name
Definition cinosmcrobot.h:1878
uint32 GetInitCurrentLimit() const
get init currentlimit support
Definition cinosmcrobot.h:1592
real64 GetJoyDeltaUnit() const
get joy delta unit
Definition cinosmcrobot.h:1684
real64 GetInitSlaveBack() const
get init slave backward
Definition cinosmcrobot.h:1616
bool CheckLimitPos() const
check pos limit
void UpdateResource(const char *apName)
update given axis resource
real64 GetInitReferenceSearchBack() const
get init reference search back
Definition cinosmcrobot.h:1580
uint32 GetWheelType() const
get wheel type
Definition cinosmcrobot.h:1693
bool GetFlag(uint32 auFlag) const
get flag
Definition cinosmcrobot.h:1460
nvint32 m_iBrakeWaitOn
brake wait on [ms]
Definition cinosmcrobot.h:2017
uint32 GetInitBorder() const
get init border support
Definition cinosmcrobot.h:1568
nvreal64 m_rWheelFactor
wheel factor [*]
Definition cinosmcrobot.h:2043
CINOSMcModuleRes * m_pAxisRes
pointer to axis resource
Definition cinosmcrobot.h:1898
const char * GetWheelName() const
get wheel name
Definition cinosmcrobot.h:1709
const char * GetCalibParam() const
get calib params
Definition cinosmcrobot.h:1646
uint32 GetCalibType() const
get calib type
Definition cinosmcrobot.h:1640
uint32 m_uState
axis state
Definition cinosmcrobot.h:1860
nvstring m_cCalibParam
calib param
Definition cinosmcrobot.h:2012
uint32 GetInitCommutation() const
get init post commutation support
Definition cinosmcrobot.h:1565
CINOSMcModuleRes * m_pJoyPosRes
pointer to joypos resource
Definition cinosmcrobot.h:1910
real64 GetPowerTimeout() const
get power timeout
Definition cinosmcrobot.h:1487
nvstring m_cInitMoveParam
init move param
Definition cinosmcrobot.h:2003
real64 GetWheelFactor() const
get wheel factor
Definition cinosmcrobot.h:1696
nvreal64 m_rInitBorderLimit
init borderlimit
Definition cinosmcrobot.h:1985
nvuint32 m_uInitReferenceSearchType
init reference search type
Definition cinosmcrobot.h:1975
inosResName m_cLimitPos
zero input name
Definition cinosmcrobot.h:1880
void SetInitReferencePos(real64 arReferencePos)
set init reference position
Definition cinosmcrobot.h:1586
uint32 m_uNumber
axis number
Definition cinosmcrobot.h:1868
char m_cParam[32]
axis param
Definition cinosmcrobot.h:1872
nvuint32 m_uInitMove
init move support
Definition cinosmcrobot.h:1999
real64 GetInitReferencePos() const
get init reference position
Definition cinosmcrobot.h:1583
DECLARE_DYNAMIC(CINOSMcRobotAxis)
dynamic object handling
const char * GetName() const
get axis name
Definition cinosmcrobot.h:1490
uint32 CheckError(bool abPostMessage=true)
uint32 GetInitDirection() const
get init direction
Definition cinosmcrobot.h:1559
void SetFlag(uint32 auFlag)
set flag
Definition cinosmcrobot.h:1463
nvreal64 m_rInitZeroLeave
init zero leave distance
Definition cinosmcrobot.h:1989
CINOSPhysicalAxis * GetAxis() const
get pointer axis
Definition cinosmcrobot.h:1502
uint32 m_uOrder
prop order
Definition cinosmcrobot.h:1894
const char * GetInitParam() const
get init params
Definition cinosmcrobot.h:1619
nvuint32 m_uCalibType
calib type
Definition cinosmcrobot.h:2008
void SetSlowMotion(real64 arSlowMotion)
set slowmotion factor
Definition cinosmcrobot.h:1478
nvuint32 m_uJoyWait
joystick wait [ms]
Definition cinosmcrobot.h:2030
Definition cinosmcrobot.h:3770
virtual void GetCmdPosition(real64 &arPosition)
get cmd position
virtual void GetActVelocity(real64 &arVelocity)
get act velocity
real64 m_rNegBorder
negative border position found
Definition cinosmcrobot.h:3842
void EmgStopCalib(SINOSMcRobotCmdCalibPart *apPart)
emergency stop calib
virtual void Done(uintid auPartId)
done command
virtual uint32 Stop(uint32 auReply)
stop command
void StopCalib(SINOSMcRobotCmdCalibPart *apPart)
stop calib
virtual void SetSlowMotion(real64 arSlowMotion)
set slowmotion (not supported)
Definition cinosmcrobot.h:3797
virtual uint32 EmgStop()
emergency stop command
CINOSMcRobotCmdCalib(CINOSTaskExMsg *apMsg, void *apCallBack=NULL, void *apCallBackObject=NULL)
constructor
void PreCalib(SINOSMcRobotCmdCalibPart *apPart)
pre calib
virtual uint32 Trigger()
prepare command
void AddCalib(tMcAxisName apAxis)
add calib to command
virtual uint32 Run()
run command
real64 m_rPosBorder
positive border position found
Definition cinosmcrobot.h:3844
SINOSMcRobotCmdCalibPart * m_pFstPart
pointer to first calib part
Definition cinosmcrobot.h:3836
real64 m_rInitPos
reference position found
Definition cinosmcrobot.h:3840
SINOSMcRobotCmdCalibPart * m_pLstPart
pointer to last calib part
Definition cinosmcrobot.h:3838
void Standard(SINOSMcRobotCmdCalibPart *apPart)
standard calib
virtual void GetActPosition(real64 &arPosition)
get act position
virtual ~CINOSMcRobotCmdCalib()
destructor
bool m_bExceptionPending
exception pending
Definition cinosmcrobot.h:3834
eFlags
validity
Definition cinosmcrobot.h:3826
virtual uint32 Check()
check command
DECLARE_DYNAMIC(CINOSMcRobotCmdCalib)
dynamic object handling
void PostCalib(SINOSMcRobotCmdCalibPart *apPart, uint32 auResult=0)
post calib
INOS McRobot command to move one axis endlessly towards a certain direction with a specific speed set...
Definition cinosmcrobot.h:2561
virtual uint32 Trigger()
prepare command
virtual void GetActPosition(real64 &arPosition)
get act position
virtual uint32 Run()
run command
virtual uint32 Check()
check command
virtual void Done(uintid auPartId)
done command
virtual void GetActVelocity(real64 &arVelocity)
get act velocity
CINOSMcRobotCmdEndless(CINOSTaskExMsg *apMsg, tMcAxisName apAxis, bool abPositive, const char *apParam, void *apCallBack, void *apCallBackObject, real64 arSlowMotion=REAL64(0.0))
virtual uint32 Stop(uint32 auReply)
stop command
CINOSMcRobotCmdEndless(CINOSTaskExMsg *apMsg, tMcAxisName apAxis, bool abPositive, const char *apParam, void *apCallBack=NULL, real64 arSlowMotion=REAL64(0.0))
constructor
virtual ~CINOSMcRobotCmdEndless()
destructor
virtual void SetSlowMotion(real64 arSlowMotion)
set slowmotion
virtual uint32 EmgStop()
emergency stop command
virtual void GetCmdPosition(real64 &arPosition)
get cmd position
Definition cinosmcrobot.h:3644
bool m_bExceptionPending
exception pending
Definition cinosmcrobot.h:3753
void AddInit(tMcAxisName apAxis)
add init to command
virtual uint32 Stop(uint32 auReply)
stop command
void EmgStopInit(SINOSMcRobotCmdInitPart *apPart)
emergency stop init
uint32 m_uActOrder
actual init order
Definition cinosmcrobot.h:3747
void Shared(SINOSMcRobotCmdInitPart *apPart)
Shared init.
void Stall(SINOSMcRobotCmdInitPart *apPart)
stall init
SINOSMcRobotCmdInitPart * m_pFstPart
pointer to first init part
Definition cinosmcrobot.h:3755
void Custom(SINOSMcRobotCmdInitPart *apPart)
Custom init.
void Standard(SINOSMcRobotCmdInitPart *apPart)
standard init
void ResolverAbsolute(SINOSMcRobotCmdInitPart *apPart)
Resolver absolute init.
virtual void SetSlowMotion(real64 arSlowMotion)
set slowmotion (not supported)
Definition cinosmcrobot.h:3671
CINOSMcRobotCmdInit(CINOSTaskExMsg *apMsg, void *apCallBack=NULL, void *apCallBackObject=NULL)
constructor
void Position(SINOSMcRobotCmdInitPart *apPart)
Position init.
virtual uint32 Run()
run command
void StopInit(SINOSMcRobotCmdInitPart *apPart)
stop init
EOrder
init order
Definition cinosmcrobot.h:3732
void Border(SINOSMcRobotCmdInitPart *apPart)
border init
void None(SINOSMcRobotCmdInitPart *apPart)
None init.
virtual ~CINOSMcRobotCmdInit()
destructor
EFlags
validity
Definition cinosmcrobot.h:3726
virtual void GetActPosition(real64 &arPosition)
get act position
virtual void Done(uintid auPartId)
done command
virtual void GetCmdPosition(real64 &arPosition)
get cmd position
SINOSMcRobotCmdInitPart * m_pLstPart
pointer to last init part
Definition cinosmcrobot.h:3757
void PostInit(SINOSMcRobotCmdInitPart *apPart, uint32 auResult=0)
post init
void AbsoluteEncoder(SINOSMcRobotCmdInitPart *apPart)
Absolute encoder.
virtual uint32 Check()
check command
uint32 HandleReferenceCnt(SINOSMcRobotCmdInitPart *apPart)
handle reference count
virtual void GetActVelocity(real64 &arVelocity)
get act velocity
void PreInit(SINOSMcRobotCmdInitPart *apPart)
pre init
uint32 ApplyAbsoluteEncoderPos(CINOSMcRobotAxis *mcra)
update actual position from absolute encoder
uint32 CheckBlockedReference(SINOSMcRobotCmdInitPart *apPart)
check blocked reference
void StallTolerance(SINOSMcRobotCmdInitPart *apPart)
stall tolerance init
virtual uint32 Trigger()
prepare command
uint32 m_uFlags
flags
Definition cinosmcrobot.h:3751
uint32 m_uActCount
actual init count
Definition cinosmcrobot.h:3749
DECLARE_DYNAMIC(CINOSMcRobotCmdInit)
dynamic object handling
virtual uint32 EmgStop()
emergency stop command
Definition cinosmcrobot.h:2434
virtual void SetSlowMotion(real64 arSlowMotion)
set slowmotion
CINOSMcRobotCmdLinear(CINOSTaskExMsg *apMsg, const char *apParam, void *apCallBack, void *apCallBackObject, real64 arSlowMotion=REAL64(0.0))
virtual void SetMoveDep(real64 arDepPos, real64 arDepVel)
set depart param
virtual uint32 EmgStop()
emergency stop command
virtual uint32 Stop(uint32 auReply)
stop command
virtual ~CINOSMcRobotCmdLinear()
destructor
virtual void GetCmdPosition(real64 &arPosition)
get cmd position
virtual void Done(uintid auPartId)
done command
virtual uint32 Check()
check command
virtual uint32 Trigger()
prepare command
virtual void SetMoveApp(real64 arAppPos, real64 arAppVel)
set approach param
virtual void AddEvent(const char *apName, real64 arValue, eEventType aeEventType, bool abFireEvent=true, uint32 auFlags=0)
add event to command
virtual uint32 Run()
run command
virtual void GetActVelocity(real64 &arVelocity)
get act velocity
CINOSMcRobotCmdLinear(CINOSTaskExMsg *apMsg, const char *apParam, void *apCallBack=NULL, real64 arSlowMotion=REAL64(0.0))
constructor
void AddLinear(tMcAxisName apAxis, real64 arPosition, eMoveType aeMoveType=eTypAbsolute, bool abLength=true)
add linear to command
virtual bool GetEventTicks(const char *apName, uint64 &auBusTicks, uint8 &auBusId)
get event ticks
virtual void GetActPosition(real64 &arPosition)
get act position
Definition cinosmcrobot.h:3209
virtual ~CINOSMcRobotCmdMoveCarefully()
destructor
virtual void GetCmdPosition(real64 &arPosition)
get cmd position
virtual uint32 Stop(uint32 auReply)
stop command
virtual uint32 Check()
check command
virtual void GetActPosition(real64 &arPosition)
get act position
virtual void GetActVelocity(real64 &arVelocity)
get act velocity
virtual void SetSlowMotion(real64 arSlowMotion)
set slowmotion
CINOSMcRobotCmdMoveCarefully(CINOSTaskExMsg *apMsg, tMcAxisName apAxis, real64 arPosition, real64 arPosError, real64 arCurLimit, const char *apParam, void *apCallBack=NULL, void *apCallBackObject=NULL)
constructor
virtual uint32 Run()
run command
virtual uint32 EmgStop()
emergency stop command
virtual void Done(uintid auPartId)
done command
virtual uint32 Trigger()
prepare command
Definition cinosmcrobot.h:3279
virtual void Done(uintid auPartId)
done command
virtual uint32 Stop(uint32 auReply)
stop command
virtual void GetActPosition(real64 &arPosition)
get act position
virtual void GetActVelocity(real64 &arVelocity)
get act velocity
virtual void SetSlowMotion(real64 arSlowMotion)
set slowmotion
virtual void GetCmdPosition(real64 &arPosition)
get cmd position
virtual ~CINOSMcRobotCmdMoveEx()
destructor
virtual uint32 Trigger()
prepare command
virtual uint32 EmgStop()
emergency stop command
virtual uint32 Check()
check command
CINOSMcRobotCmdMoveEx(CINOSTaskExMsg *apMsg, tMcAxisName apAxis, real64 arPosition, real64 arTrgPosition, uint32 auFlags, const char *apTrgName, real64 arTrgLevel, const char *apParam, void *apCallBack=NULL, void *apCallBackObject=NULL)
constructor
virtual uint32 Run()
run command
Definition cinosmcrobot.h:2635
CINOSMcRobotCmdMoveSafe(CINOSTaskExMsg *apMsg, tMcAxisName apAxis1, real64 arPosition1, real64 arSafe1, real64 arSafe2, const char *apParam1, tMcAxisName apAxisP, real64 arPositionP, const char *apParamP, void *apCallBack=NULL, void *apCallBackObject=NULL)
constructors with one speedset for safe moves
virtual uint32 Run()
run command
virtual uint32 Trigger()
prepare command
virtual void GetCmdPosition(real64 &arPosition)
get cmd position
virtual uint32 Stop(uint32 auReply)
stop command
virtual void SetSlowMotion(real64 arSlowMotion)
set slowmotion
virtual void GetActVelocity(real64 &arVelocity)
get act velocity
virtual bool GetEventTicks(const char *apName, uint64 &auBusTicks, uint8 &auBusId)
get event ticks
virtual uint32 EmgStop()
emergency stop command
virtual void GetActPosition(real64 &arPosition)
get act position
virtual ~CINOSMcRobotCmdMoveSafe()
destructor
virtual uint32 Check()
check command
virtual void Done(uintid auPartId)
done command
CINOSMcRobotCmdMoveSafe(CINOSTaskExMsg *apMsg, tMcAxisName apAxis1, real64 arPosition1, real64 arSafe1, real64 arSafe2, const char *apParam1, const char *apParam2, tMcAxisName apAxisP, real64 arPositionP, const char *apParamP, void *apCallBack=NULL, void *apCallBackObject=NULL)
constructors with two speedset for safe moves
Definition cinosmcrobot.h:3118
virtual void GetActVelocity(real64 &arVelocity)
get act velocity
virtual uint32 Run()
run command
virtual uint32 Check()
check command
virtual uint32 EmgStop()
emergency stop command
virtual void GetCmdPosition(real64 &arPosition)
get cmd position
virtual void GetActPosition(real64 &arPosition)
get act position
virtual uint32 Stop(uint32 auReply)
stop command
CINOSMcRobotCmdMoveToAnalogSensor(CINOSTaskExMsg *apMsg, tMcAxisName apAxis, const char *apName, real64 arPosition, real64 arLevel, bool abGreater, const char *apParam, void *apCallBack=NULL, void *apCallBackObject=NULL)
constructor
virtual void Done(uintid auPartId)
done command
virtual ~CINOSMcRobotCmdMoveToAnalogSensor()
destructor
virtual uint32 Trigger()
prepare command
virtual void SetSlowMotion(real64 arSlowMotion)
set slowmotion
Definition cinosmcrobot.h:2822
virtual void Done(uintid auPartId)
done command
virtual uint32 Stop(uint32 auReply)
stop command
virtual void SetSlowMotion(real64 arSlowMotion)
set slowmotion
virtual uint32 Trigger()
prepare command
virtual void GetCmdPosition(real64 &arPosition)
get cmd position
CINOSMcRobotCmdMoveToBorderApp(CINOSTaskExMsg *apMsg, tMcAxisName apAxis, real64 arPosition, real64 arPositionVel, real64 arVelocity, const char *apParam, void *apCallBack=NULL, void *apCallBackObject=NULL)
constructor
virtual void GetActPosition(real64 &arPosition)
get act position
virtual void GetActVelocity(real64 &arVelocity)
get act velocity
virtual uint32 EmgStop()
emergency stop command
virtual uint32 Check()
check command
virtual ~CINOSMcRobotCmdMoveToBorderApp()
destructor
virtual uint32 Run()
run command
Definition cinosmcrobot.h:2750
virtual void GetActPosition(real64 &arPosition)
get act position
CINOSMcRobotCmdMoveToBorder(CINOSTaskExMsg *apMsg, tMcAxisName apAxis, real64 arPosition, const char *apParam, void *apCallBack=NULL, void *apCallBackObject=NULL)
constructor
virtual uint32 Run()
run command
virtual uint32 Trigger()
prepare command
virtual ~CINOSMcRobotCmdMoveToBorder()
destructor
virtual void GetActVelocity(real64 &arVelocity)
get act velocity
virtual uint32 Check()
check command
virtual void GetCmdPosition(real64 &arPosition)
get cmd position
virtual uint32 Stop(uint32 auReply)
stop command
virtual void SetSlowMotion(real64 arSlowMotion)
set slowmotion
virtual void Done(uintid auPartId)
done command
virtual uint32 EmgStop()
emergency stop command
Move one axis towards a certain direction to search for a sensor. The axis stops when either the sens...
Definition cinosmcrobot.h:2925
CINOSMcRobotCmdMoveToDigitalSensor(CINOSTaskExMsg *apMsg, tMcAxisName apAxis, const char *apName, real64 arPosition, bool abSet, const char *apParam, void *apCallBack=NULL, void *apCallBackObject=NULL)
Default constructor.
virtual ~CINOSMcRobotCmdMoveToDigitalSensor()
destructor
virtual uint32 Stop(uint32 auReply)
stop command
virtual uint32 Check()
check command
virtual void AddEvent(const char *apName, real64 arValue, eEventType aeEventType, bool abFireEvent=true, uint32 auFlags=0)
add event to command
virtual void SetSlowMotion(real64 arSlowMotion)
set slowmotion
virtual void GetActPosition(real64 &arPosition)
get act position
CINOSMcRobotCmdMoveToDigitalSensor(CINOSTaskExMsg *apMsg, tMcAxisName apAxis, real64 arPositionVel, real64 arVelocity, const char *apName, real64 arPosition, bool abSet, real64 &arResult, uint32 auFlags, const char *apParam, void *apCallBack=NULL, void *apCallBackObject=NULL)
virtual uint32 EmgStop()
emergency stop command
virtual bool GetEventTicks(const char *apName, uint64 &auBusTicks, uint8 &auBusId)
get event ticks
virtual uint32 Trigger()
prepare command
CINOSMcRobotCmdMoveToDigitalSensor(CINOSTaskExMsg *apMsg, tMcAxisName apAxis, const char *apName, real64 arPosition, bool abSet, real64 &arResult, const char *apParam, void *apCallBack=NULL, void *apCallBackObject=NULL)
Use this overloaded version if you're interested in the position at which the sensor has been found,...
virtual void Done(uintid auPartId)
done command
CINOSMcRobotCmdMoveToDigitalSensor(CINOSTaskExMsg *apMsg, tMcAxisName apAxis, const char *apName, real64 arPosition, bool abSet, real64 &arResult, uint32 auFlags, const char *apParam, void *apCallBack=NULL, void *apCallBackObject=NULL)
Use this overloaded version if you're interested in the position at which the sensor has been found,...
virtual uint32 Run()
run command
virtual void GetCmdPosition(real64 &arPosition)
get cmd position
virtual void GetActVelocity(real64 &arVelocity)
get act velocity
Definition cinosmcrobot.h:2294
virtual bool GetEventTicks(const char *apName, uint64 &auBusTicks, uint8 &auBusId) override
get event ticks
SINOSMcRobotCmdMovePart * m_pLstPart
pointer to last move part
Definition cinosmcrobot.h:2420
virtual ~CINOSMcRobotCmdMove()
destructor
DECLARE_DYNAMIC(CINOSMcRobotCmdMove)
dynamic object handling
void AddMoveApp(tMcAxisName apAxis, real64 arPosition, real64 arPositionVel, real64 arVelocity, const char *apParam, eMoveType aeMoveType=eTypAbsolute)
add moveapp to command
virtual void GetSlowMotion(real64 &arSlowMotion)
get slowmotion
Definition cinosmcrobot.h:2361
SINOSMcRobotCmdMovePart * m_pFstPart
pointer to first move part
Definition cinosmcrobot.h:2418
virtual void GetActVelocity(real64 &arVelocity) override
get act velocity
real64 m_rDepPosBgn
pos begin (used by movefromborderdep)
Definition cinosmcrobot.h:2412
real64 m_rMoveTime
moving time [ms]
Definition cinosmcrobot.h:2406
CINOSMcRobotCmdMove(CINOSTaskExMsg *apMsg, void *apCallBack, void *apCallBackObject, real64 arSlowMotion=REAL64(0.0))
virtual void GetActPosition(real64 &arPosition) override
get act position
virtual uint32 Check() override
check command
virtual void Done(uintid auPartId) override
done command
real64 m_rSlowMotion
requested slowmotion factor
Definition cinosmcrobot.h:2408
virtual struct SINOSMcRobotCmdMoveEvent * GetMultipleEventWithMaxTicks()
get event with max ticks
void AddMove(tMcAxisName apAxis, real64 arPosition, const char *apParam, real64 arSlowMotion, eMoveType aeMoveType=eTypAbsolute)
add move to command
virtual uint32 EmgStop() override
emergency stop command
virtual void GetCmdPosition(tMcAxisName apAxis, real64 &arPosition)
get cmd position of apAxis
real64 m_rDepPosVel
pos vel (used by movefromborderdep)
Definition cinosmcrobot.h:2414
void AddMove(tMcAxisName apAxis, real64 arPosition, const char *apParam, eMoveType aeMoveType=eTypAbsolute)
add move to command
virtual uint32 Stop(uint32 auReply) override
stop command
virtual uint32 Run() override
run command
virtual uint32 Trigger() override
prepare command
virtual void GetCmdPosition(real64 &arPosition) override
get cmd position
virtual void AddEvent(const char *apName, real64 arValue, eEventType aeEventType, bool abFireEvent=true, uint32 auFlags=0) override
add event to command
virtual void GetCmdVelocity(real64 &arVelocity)
get cmd velocity
bool m_bDepCurLim
cur limit (used by movefromborderdep)
Definition cinosmcrobot.h:2416
void AddMoveDep(tMcAxisName apAxis, real64 arPosition, real64 arPositionVel, real64 arVelocity, const char *apParam, eMoveType aeMoveType=eTypAbsolute)
add movedep to command
virtual void SetSlowMotion(real64 arSlowMotion) override
set slowmotion
real64 m_rSlowMotionOverwrite
requested slowmotion factor overwrite
Definition cinosmcrobot.h:2410
void AddMove(tMcAxisName apAxis, real64 arPosition, SINOSRampParam *apParam, eMoveType aeMoveType=eTypAbsolute)
add move to command
virtual uint32 GetEventMultiple(const char *apName)
get event multiple flag
CINOSMcRobotCmdMove(CINOSTaskExMsg *apMsg, void *apCallBack=NULL, real64 arSlowMotion=REAL64(0.0))
constructor
void AddMoveDep(tMcAxisName apAxis, real64 arPosition, real64 arPositionVel, real64 arVelocity, SINOSRampParam *apParam, eMoveType aeMoveType=eTypAbsolute)
add movedep to command
void AddMoveApp(tMcAxisName apAxis, real64 arPosition, real64 arPositionVel, real64 arVelocity, SINOSRampParam *apParam, eMoveType aeMoveType=eTypAbsolute)
add moveapp to command
uint32 m_uFlags
flags
Definition cinosmcrobot.h:2404
Definition cinosmcrobot.h:3373
virtual void CircleCC(tMcAxisName apAxis1, tMcAxisName apAxis2, double adMid1, double adMid2, double adAngle, bool abAngleAbsolute, uint32 auFlags=0)
add counter clock wise circle part with axes 'apAxis1' and 'apAxis2'
virtual void GetSlowMotion(real64 &arSlowMotion)
get slowmotion
Definition cinosmcrobot.h:3506
virtual void SetTolerance(real64 arTolerance)
set global shape tolerance
CINOSMcRobotCmdShape(CINOSTaskExMsg *apMsg, CINOSShape *apShape, const char *apParam, uint32 auPoints, void *apCallBack, void *apCallBackObject, real64 arSlowMotion=REAL64(0.0))
real64 m_rSlowMotion
requested slowmotion factor
Definition cinosmcrobot.h:3548
virtual void GetActVelocity(real64 &arVelocity)
get act velocity
virtual void SetEnd()
add set end
virtual void CircleCW(tMcAxisName apAxis1, tMcAxisName apAxis2, double adEnd1, double adEnd2, double adMid1, double adMid2, uint32 auFlags=0)
add clock wise circle part with axes 'apAxis1' and 'apAxis2'
virtual SINOSMcRobotCmdShapeEvent * GetEvent(const char *apName)
add event to command
uint32 m_uShapeFlags
shape flags
Definition cinosmcrobot.h:3544
virtual uint32 Run()
run command
virtual void Rapid(tMcAxisName apAxis, double adPosition, uint32 auFlags=0)
add rapid part of 'apAxis' to 'adPosition'
SINOSMcRobotCmdShapeEvent * m_pFstEvent
pointer to first event
Definition cinosmcrobot.h:3560
virtual void SetSpeedReductionConservative()
set 'speed reduction conservative' flag
Definition cinosmcrobot.h:3431
virtual uint32 Continue()
continue command
DECLARE_DYNAMIC(CINOSMcRobotCmdShape)
dynamic object handling
virtual void Linear(tMcAxisName apAxis, double adPosition, uint32 auFlags=0)
add linear part of 'apAxis' to 'adPosition'
virtual void SetCalcSync()
set 'calc synchronous' flag
Definition cinosmcrobot.h:3422
virtual void GetActPosition(real64 &arPosition)
get act position
inosName64 m_cShapeName
shape name
Definition cinosmcrobot.h:3540
CINOSMcRobotCmdShape(CINOSTaskExMsg *apMsg, const char *apParam, uint32 auPoints, void *apCallBack, void *apCallBackObject, real64 arSlowMotion=REAL64(0.0))
virtual void SetShapeFlags(uint32 auFlags)
set shape flags
Definition cinosmcrobot.h:3419
virtual CINOSShape * GetShape()
get shape
Definition cinosmcrobot.h:3483
real64 m_rTolerance
requested shape tolerance
Definition cinosmcrobot.h:3550
virtual uint32 EmgStop()
emergency stop command
CINOSMcRobotCmdShape(CINOSTaskExMsg *apMsg, CINOSShape *apShape, const char *apParam, uint32 auPoints=0, void *apCallBack=NULL, real64 arSlowMotion=REAL64(0.0))
constructor
virtual uint32 GetSets()
get number of sets
virtual void CircleCC(tMcAxisName apAxis1, tMcAxisName apAxis2, double adEnd1, double adEnd2, double adMid1, double adMid2, uint32 auFlags=0)
add counter clock wise circle part with axes 'apAxis1' and 'apAxis2'
virtual void Pause(double adTime)
set dwell time
virtual void Velocity(double adVelocity=DF_INOS_SHAPE_SET_NO_VELOCITY)
set or reset (DF_INOS_SHAPE_SET_NO_VELOCITY) velocity
virtual void AddEvent(const char *apName, real64 arValue, eEventType aeEventType, bool abFireEvent=true, uint32 auFlags=0)
add event to command
virtual void CircleCW(tMcAxisName apAxis1, tMcAxisName apAxis2, double adEnd1, double adEnd2, double adRadius, uint32 auFlags=0)
add clock wise circle part with axes 'apAxis1' and 'apAxis2'
uint32 m_uPoints
requested number of precalc points
Definition cinosmcrobot.h:3546
virtual void SetDryRun()
set 'dry run' flag
Definition cinosmcrobot.h:3428
virtual void GetCmdPosition(real64 &arPosition)
get cmd position
virtual uint32 Stop(uint32 auReply)
stop command
virtual uint32 Trigger()
prepare command
void SetupParam(const char *apParam)
create param
virtual void Done(uintid auPartId)
done command
virtual bool GetEventTicks(const char *apName, uint64 &auBusTicks, uint8 &auBusId)
get event ticks
CINOSMcRobotCmdShape(CINOSTaskExMsg *apMsg, const char *apName, const char *apParam, uint32 auPoints=0, void *apCallBack=NULL, real64 arSlowMotion=REAL64(0.0))
constructor
virtual void SetBegin(uint32 auSetNumber=DF_INOS_SHAPE_SET_NO_NUMBER)
add set begin
CINOSShape * m_pShape
THE shape.
Definition cinosmcrobot.h:3554
bool m_bShapeCreated
shape created flag
Definition cinosmcrobot.h:3556
virtual void Absolute(tMcAxisName apAxis="")
switches the requested axis to absolute mode (apAxis=="" -> all)
inosName64 m_cParam
paramset
Definition cinosmcrobot.h:3542
CINOSMcRobotCmdShape(CINOSTaskExMsg *apMsg, const char *apName, const char *apParam, uint32 auPoints, void *apCallBack, void *apCallBackObject, real64 arSlowMotion=REAL64(0.0))
virtual void CircleCW(tMcAxisName apAxis1, tMcAxisName apAxis2, double adMid1, double adMid2, double adAngle, bool abAngleAbsolute, uint32 auFlags=0)
add clock wise circle part with axes 'apAxis1' and 'apAxis2'
virtual void CircleCC(tMcAxisName apAxis1, tMcAxisName apAxis2, double adEnd1, double adEnd2, double adRadius, uint32 auFlags=0)
add counter clock wise circle part with axes 'apAxis1' and 'apAxis2'
virtual ~CINOSMcRobotCmdShape()
destructor
virtual uint32 Check()
check command
virtual void Linear(tMcAxisName apAxis, double adPosition, double adTolerance, uint32 auFlags=0)
add linear part of 'apAxis' to 'adPosition'
CINOSMcRobotCmdShape(CINOSTaskExMsg *apMsg, const char *apParam, uint32 auPoints=0, void *apCallBack=NULL, real64 arSlowMotion=REAL64(0.0))
constructor
virtual void GetCmdVelocity(real64 &arVelocity)
get cmd velocity
virtual void Incremental(tMcAxisName apAxis="")
switches the requested axis to incremental mode (apAxis=="" -> all)
virtual uint32 Break()
break command
SINOSMcRobotCmdShapeEvent * m_pLstEvent
pointer to last event
Definition cinosmcrobot.h:3562
virtual real64 GetMoveTime()
get move time of shape
SINOSRampParam * m_pParam
param overwrite
Definition cinosmcrobot.h:3558
virtual uint32 GetActSet()
get act set
virtual void ClrCalcSync()
clear 'calc synchronous' flag
Definition cinosmcrobot.h:3425
virtual void SetSlowMotion(real64 arSlowMotion)
set slowmotion
Definition cinosmcrobot.h:2079
virtual ~CINOSMcRobotCmd()
destructor
tMsgId m_uId
command id overwrite
Definition cinosmcrobot.h:2257
uint32 GetResult() const
get command result
Definition cinosmcrobot.h:2155
uint32 GetReply() const
get command reply
Definition cinosmcrobot.h:2149
CINOSTask * GetSender()
get command sender
Definition cinosmcrobot.h:2164
void * m_pCallBack
pointer to callback method if any
Definition cinosmcrobot.h:2265
void RemoveHandler()
remove cyclic handler
virtual uint32 Break()
break command
Definition cinosmcrobot.h:2128
virtual void Done(uintid auPartId)=0
done command
virtual void Handle()
command handler
Definition cinosmcrobot.h:2230
virtual uint32 Continue()
continue command
Definition cinosmcrobot.h:2131
uint32 SetReply(uint32 auReply)
set command reply
Definition cinosmcrobot.h:2152
void SetId(tMsgId auId)
set command id
Definition cinosmcrobot.h:2167
uint32 m_uReplySave
saved command reply
Definition cinosmcrobot.h:2253
CINOSMcRobotCmd * m_pNext
pointer to next command in list
Definition cinosmcrobot.h:2281
int32 GetBusTicks(uint8 auBusId, real64 arMs)
get bus ticks
virtual uint32 Stop(uint32 auReply)=0
stop command
virtual void GetCmdPosition(real64 &arPosition)=0
get cmd position
bool m_bEndEvent
command has 'eEvtEndCmd' event
Definition cinosmcrobot.h:2259
void * m_pCallBackObject
pointer to callback object if any
Definition cinosmcrobot.h:2267
virtual uint32 EmgStop()=0
emergency stop command
virtual void SetSlowMotion(real64 arSlowMotion)=0
set slowmotion
CINOSTaskExMsg * m_pMsg
pointer to according message
Definition cinosmcrobot.h:2269
bool m_bCyclicHandling
command needs cyclic handling
Definition cinosmcrobot.h:2261
tMsgId GetId()
get command id
Definition cinosmcrobot.h:2170
uint32 m_uResult
command result
Definition cinosmcrobot.h:2255
eEventType
event types
Definition cinosmcrobot.h:2106
uint32 SetResult(uint32 auResult)
set command result
Definition cinosmcrobot.h:2158
virtual void GetActPosition(real64 &arPosition)=0
get act position
uint32 m_uReply
command reply
Definition cinosmcrobot.h:2251
virtual uint32 Check()=0
check command
CINOSMcRobot * GetModule()
get pointer to module this command belongs to
Definition cinosmcrobot.h:2145
virtual uint32 Trigger()=0
trigger command
void * GetCallBack()
get callback
Definition cinosmcrobot.h:2215
virtual bool GetEventTicks(const char *apName, uint64 &auBusTicks, uint8 &auBusId)
get event ticks
Definition cinosmcrobot.h:2177
char m_cEndEvent[32]
end event name
Definition cinosmcrobot.h:2263
eCmdState GetState() const
get command state
Definition cinosmcrobot.h:2139
void SetCallBack(void *apCallBack)
set callback
Definition cinosmcrobot.h:2182
virtual uint32 Run()=0
run command
virtual void AddEvent(const char *apName, real64 arValue, eEventType aeEventType, bool abFireEvent=true, uint32 auFlags=0)
add event to command
Definition cinosmcrobot.h:2174
eFlags
validity
Definition cinosmcrobot.h:2233
void * GetCallBackObject()
Definition cinosmcrobot.h:2221
void InstallHandler()
install cyclic handler
eCmdState
command states
Definition cinosmcrobot.h:2091
@ eStaIdle
idle
Definition cinosmcrobot.h:2092
@ eStaReady
ready (to run)
Definition cinosmcrobot.h:2093
@ eStaRunning
running
Definition cinosmcrobot.h:2094
@ eStaDone
done (successfully)
Definition cinosmcrobot.h:2095
@ eStaError
error
Definition cinosmcrobot.h:2096
eMoveType
move types
Definition cinosmcrobot.h:2100
const char * GetName()
get command name
CINOSMcRobotCmd(CINOSTaskExMsg *apMsg, void *apCallBack=NULL, void *apCallBackObject=NULL)
constructor
CINOSTaskExMsg * GetMsg()
get command message
Definition cinosmcrobot.h:2161
virtual void GetActVelocity(real64 &arVelocity)=0
get act velocity
CINOSMcRobot * m_pModule
pointer to my module
Definition cinosmcrobot.h:2271
eCmdState m_eState
command state
Definition cinosmcrobot.h:2249
DECLARE_DYNAMIC(CINOSMcRobotCmd)
dynamic object handling
Definition cinosmcrobot.h:3609
virtual void SignalEx(CINOSTaskExMsg *apMsg, uint32 auRplId, uint32 auAppError)
overloaded signal
CINOSMcRobotInitSync(CINOSMcRobot *apModule, CINOSMcRobotCmdInit *apInitCmd, SINOSMcRobotCmdInitPart *apPart)
constructor
Definition cinosmcrobot.h:3573
CINOSMcRobotSync(tMsgId aCmdId, uintid auPartId=-1)
constructor
virtual void Signal()
overloaded signal
Definition cinosmcrobot.h:206
virtual void iRecover(CINOSTaskExMsg *apMsg) override
internal recover station
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.
CMcResult eMoveRel(tMcAxisName apAxis, real64 arPosition, real64 arExit, real64 arEnter, const char *apParam)
move axis relative
CINOSMcRobot(const char *apName, const char *apParam)
constructor
TINOSTaskExCmdMsg< CINOSMcRobot, const char *, const char * > GetSpeedset
Get speedset of McRobot axis.
Definition cinosmcrobot.h:335
virtual void iCancel(CINOSTaskExMsg *apMsg) override
internal cancel
virtual void iMoveCarefully(CINOSTaskExMsg *apMsg)
internal move carefully to position
virtual void iCalib(CINOSTaskExMsg *apMsg)
internal calib
virtual void iClrModeSetup(CINOSTaskExMsg *apMsg) override
internal clear mode setup
CMcResult eMoveAbs(tMcAxisName apAxis, real64 arPosition, real64 arExit, real64 arEnter, const char *apParam)
move axis absolute
virtual void iMoveFromBorder(CINOSTaskExMsg *apMsg)
internal move from border
virtual real64 GetRealPosition(tMcAxisName apAxis, const char *apBase)
get real position of apAxis based on apBase
virtual void iLimitSet(CINOSTaskExMsg *apMsg)
limit set
CINOSMcRobotAxis * GetAxis(tMcAxisName apAxis) const
get pointer to axis 'apName'
virtual void iSetBit(CINOSTaskExMsg *apMsg)
internal setbit
virtual void SaveLifetimeDistance(tMcAxisName apAxis=NULL)
save lifetime distance of apAxis (or all axes if apAxes == NULL) in nvram
CMcResult eMoveRel(real64 arPosition, real64 arExit, real64 arEnter, const char *apParam)
move axis relative
virtual CMcResult MoveToBorder(tMcAxisName apAxis, real64 arPosition, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
Search border till arPosition and stop if found.
virtual void iJoyEnb(CINOSTaskExMsg *apMsg)
internal enable joystick mode
virtual void iJoyDisAxisStopped(CINOSTaskExMsg *apUsrMsg)
virtual CMcResult MoveFromBorderDep(real64 arPosition, real64 arPositionVel, real64 arVelocity, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
Depart from border.
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...
virtual CMcResult WheelDis(CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
disable wheel mode
virtual const char * GetStateText() override
return actual state text
CMcResult eJoyDis(tMcAxisName apAxis)
disable joystick mode
virtual uint32 GetDistanceCodedPosition(const char *apName, real64 arDistance, real64 &arPosition)
Definition cinosmcrobot.h:1166
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 initiat...
virtual CMcResult WheelEnb(CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
enable wheel mode
virtual void iShutdown(CINOSTaskExMsg *apMsg) override
internal shutdown task
virtual void iStartup(real64 arStage) override
internal startup task
virtual CMcResult JoyDis(tMcAxisName apAxis, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
Disable joystick mode, see also Joystick.
CMcResult eMoveToAnalogSensor(const char *apName, real64 arPosition, real64 arLevel, real64 arGreater, const char *apParam)
move to analog sensor
virtual uint32 iWaitForPower(tMcAxisName apAxis)
wait for power
CMcResult eWheelDis()
disable wheel mode
virtual bool iIsIdle() const
return true if currently no command running
const char * GetRealAxisName(tMcAxisName apAxis) const
get real axis name
CMcResult eJoyPos(tMcAxisName apAxis)
start joystick move into pos direction
virtual void SetLifetimeDistance(tMcAxisName apAxis, real64 arDistance)
set lifetime distance of apAxis
CMcResult eMoveCarefully(tMcAxisName apAxis, real64 arPosition, real64 arPosError, real64 arCurrent, const char *apParam)
move carefully to position
CMcResult eMoveToBorderApp(tMcAxisName apAxis, real64 arPosition, real64 arPositionVel, real64 arVelocity, const char *apParam)
move to border
virtual void iStepSkipped(CINOSTaskExMsg *apMsg) override
step command skipped
virtual void iSetModeSetup(CINOSTaskExMsg *apMsg) override
internal set mode setup
virtual CMcResult Calib(tMcAxisName apAxis, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
calib axis
virtual CMcResult MoveCarefully(tMcAxisName apAxis, real64 arPosition, real64 arPosError, real64 arCurrent, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
virtual void iClrFlag(tMcAxisName apAxis, uint32 auFlag)
clear axis flag
CMcResult eWheelEnb()
enable wheel mode
virtual CMcResult ForceSelect(tMcAxisName apAxis, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
Select given param set.
virtual void iJoyDis(CINOSTaskExMsg *apMsg)
internal disable joystick mode
virtual CMcResult ForceCheck(tMcAxisName apAxis, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
Check current force state. Returns the following async results : 'State' : the current force control ...
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 MoveFromBorder(tMcAxisName apAxis, real64 arPosition, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
Move away from border.
CMcResult eMoveToBorderApp(real64 arPosition, real64 arPositionVel, real64 arVelocity, const char *apParam)
move to border app
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...
CMcResult eMoveToDigitalSensor(const char *apName, real64 arPosition, real64 arSet, const char *apParam)
move to digital sensor
static constexpr int GetLastCmd()
return last mcrobot command id
Definition cinosmcrobot.h:885
virtual CMcResult On(tMcAxisName apAxis, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
Axis "On".
CMcResult eJoyEnb(tMcAxisName apAxis)
enable joystick mode
virtual void iWheelEnb(CINOSTaskExMsg *apMsg)
internal enable wheel mode
virtual void iCalibDone(CINOSMcRobotCmd *apCmd)
internal calib done
Definition cinosmcrobot.h:968
virtual CINOSMcRobotAxis * CreateMcRobotAxis(const char *apAlias, const char *apParam)
Creates and adds a new McRobot axis to this module.
virtual void iClrBit(CINOSTaskExMsg *apMsg)
internal clrbit
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 void iMonitorError(CINOSTaskExMsg *apMsg)
monitor error
virtual void iInit(tMcAxisName apAxisName, CINOSTaskExMsg *apMsg)
virtual CMcResult WheelEnb(tMcAxisName apAxis, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
enable wheel mode
CMcResult eWheelFactor(tMcAxisName apAxis, real64 arFactor)
set wheel mode factor
virtual bool iInitOk() const
return true if all axes are successfully inited
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 void iJoyAdc(CINOSTaskExMsg *apMsg)
internal update joystick move
virtual void iStop(CINOSTaskExMsg *apMsg) override
internal stop
virtual void iLimitPosSet(CINOSTaskExMsg *apMsg)
limit pos set
virtual CMcResult PostAxisMessage(tMcAxisName apAxis, uint32 auType, uint32 auCode, uint32 auFlags)
postmessage
CMcResult eJoyNeg(tMcAxisName apAxis)
start joystick move into neg direction
virtual void iInit(CINOSTaskExMsg *apMsg) override
internal init station
virtual CMcResult JoyAdc(tMcAxisName apAxis, real64 arSlow, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
Update joystick move, see also Joystick.
virtual ~CINOSMcRobot()
destructor
virtual void iInitDone(CINOSMcRobotCmd *apCmd)
internal init done
Definition cinosmcrobot.h:964
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.
CMcResult eJoyAdc(tMcAxisName apAxis, real64 arSlow)
update joystick move
virtual void SetActPosition(tMcAxisName apAxis, const char *apBase, real64 arPosition)
get actual (current commanded) position of apAxis based on apBase
virtual void iLimitClr(CINOSTaskExMsg *apMsg)
limit clr
virtual real64 iGetSlowMotion(tMcAxisName apAxis)
get slowmotion of apAxis
virtual void iMoveToAnalogSensor(CINOSTaskExMsg *apMsg)
internal move to analog sensor
virtual CMcResult JoyStop(CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
Stop running joystick move. If the module has multiple axes, the first axis is taken,...
CMcResult eMoveFromBorder(tMcAxisName apAxis, real64 arPosition, const char *apParam)
move from border
virtual CMcResult MoveFromBorder(real64 arPosition, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
Move away from border.
CMcResult eJoyStop(tMcAxisName apAxis)
stop joystick move
CMcResult eJoyAdc(real64 arslow)
update joystick move
virtual void iJoyStop(CINOSTaskExMsg *apMsg)
internal stop joystick move
virtual void iOnSimLevelChanged(uint32 auOldLevel, uint32 auNewLevel) override
event handler 'iOnSimLevelChanged'
virtual void iStepCanceled(CINOSTaskExMsg *apMsg) override
step command canceled
virtual CMcResult JoyPos(tMcAxisName apAxis, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
Start a joystick move into positive direction, see also Joystick.
virtual bool iGetFlag(tMcAxisName apAxis, uint32 auFlag)
get axis flag
uint32 GetAxisCount() const
get number of axis this module handles
Definition cinosmcrobot.h:759
CMcResult eWheelFactor(real64 arFactor)
set wheel mode factor
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 asy...
CMcResult eJoyPos()
start joystick move into pos direction
CMcResult eMoveToDigitalSensor(tMcAxisName apAxis, const char *apName, real64 arPosition, real64 arSet, const char *apParam)
move to digital sensor
virtual void iMoveEx(CINOSTaskExMsg *apMsg)
internal move ex
CMcResult eWheelEnb(tMcAxisName apAxis)
enable wheel mode
virtual void iCmdAdd(CINOSMcRobotCmd *apCmd)
internal command add
virtual real64 GetLifetimeDistance(tMcAxisName apAxis)
get lifetime distance of apAxis
virtual void iMsgRejected(CINOSTaskExMsg *apMsg) override
message rejected
virtual void iLimitNegSet(CINOSTaskExMsg *apMsg)
limit neg set
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...
virtual void iMoveToDigitalSensor(CINOSTaskExMsg *apMsg)
internal move to digital sensor
virtual void iCmdDone(CINOSTaskExMsg *apMsg)
internal command done
virtual uint32 iOff(tMcAxisName apAxis)
switch off apAxis
virtual uint32 iOn(tMcAxisName apAxis)
switch on apAxis
virtual void MsgDone(CINOSTaskExMsg *apMsg, ERplId aRplId, uint32 auResult=0) override
message done
virtual bool DispatchUser(CINOSTaskExMsg *apMsg) override
dispatch user message
virtual CMcResult WheelFactor(real64 arFactor, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
set wheel mode factor
virtual void iLimitPosClr(CINOSTaskExMsg *apMsg)
limit pos clr
virtual bool DispatchReply(CINOSTaskExMsg *apMsg) override
dispatch reply message
virtual void iSetFlag(tMcAxisName apAxis, uint32 auFlag)
set axis flag
CMcResult eJoyDis()
disable joystick mode
virtual CMcResult ForceActivate(tMcAxisName apAxis, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
Switch from position to force mode.
CMcResult eJoyStop()
stop joystick move
CMcResult eMoveAbs(real64 arPosition, real64 arExit, real64 arEnter, const char *apParam)
move axis absolute
CMcResult eJoyEnb()
enable joystick mode
virtual void iStepStopped(CINOSTaskExMsg *apMsg) override
step command stopped
virtual bool iCheckSetupMode() override
internal check setup mode
virtual void iJoyNeg(CINOSTaskExMsg *apMsg)
internal start joystick move into neg direction
CMcResult eJoyNeg()
start joystick move into neg direction
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 befor...
virtual bool DispatchTmd(CINOSTaskExMsg *apMsg) override
dispatch triggered command message
virtual CMcResult JoyStop(tMcAxisName apAxis, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
Stop running joystick move, see also Joystick.
virtual void iMoveAbs(CINOSTaskExMsg *apMsg)
internal move axis absolute
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 void iOnSlowMotionChanged(CINOSTaskExMsg *apMsg) override
event handler 'iOnSlowMotionChanged'
virtual bool DispatchCmd(CINOSTaskExMsg *apMsg) override
dispatch command message
virtual void iCancelDeferred() override
overridden because we need to cancel all pending commands
virtual CMcResult JoyNeg(tMcAxisName apAxis, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
Start a joystick move into negative direction, see also Joystick.
virtual void CmdFailed(CINOSTaskExMsg *apMsg, uint32 auError)
CMcResult eMoveFromBorder(real64 arPosition, const char *apParam)
move from border
virtual CMcResult Init(tMcAxisName apAxis, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
CMcResult eMoveFromBorderDep(tMcAxisName apAxis, real64 arPosition, real64 arPositionVel, real64 arVelocity, const char *apParam)
move from border dep
virtual CMcResult MoveFromBorderDep(tMcAxisName apAxis, real64 arPosition, real64 arPositionVel, real64 arVelocity, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
Depart from border.
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 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....
virtual void iOn(CINOSTaskExMsg *apMsg) override
internal on station
virtual CMcResult WheelDis(tMcAxisName apAxis, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
disable wheel mode
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....
virtual void MsgDone(CINOSTaskExMsg *apMsg, uint32 auResult=0) override
message done
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 WheelFactor(tMcAxisName apAxis, real64 arFactor, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
set wheel mode factor
virtual CMcResult Off(tMcAxisName apAxis, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
CMcResult eWheelDis(tMcAxisName apAxis)
disable wheel mode
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.
CINOSMcRobotAxis * GetAxis(uint32 auIndex) const
virtual void iMoveToBorderApp(CINOSTaskExMsg *apMsg)
internal move to border app
virtual void iMonitorWarning(CINOSTaskExMsg *apMsg)
monitor warning
virtual void iMoveRel(CINOSTaskExMsg *apMsg)
internal move axis relative
virtual void iWheelDis(CINOSTaskExMsg *apMsg)
internal disable wheel mode
virtual void iCmdRemove(CINOSMcRobotCmd *apCmd)
internal command remove
CMcResult eMoveToBorder(tMcAxisName apAxis, real64 arPosition, const char *apParam)
move to border
TINOSTaskExCmdMsg< CINOSMcRobot, const char *, const char * > DestroySpeedset
Definition cinosmcrobot.h:281
CMcResult eMoveFromBorderDep(real64 arPosition, real64 arPositionVel, real64 arVelocity, const char *apParam)
move from border dep
TINOSTaskExCmdMsg< CINOSMcRobot, const char *, const char *, const char * > SetSpeedset
Set/modify the parameters of an existing speedset.
Definition cinosmcrobot.h:303
virtual void iLinkDown(CINOSTaskExMsg *apMsg) override
link down
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 void iWheelFactor(CINOSTaskExMsg *apMsg)
internal set wheel mode factor
virtual void CmdStop(tMsgId auId, uint32 auReply=CINOSTaskEx::eRplStopped)
internal command stop
virtual void iStartup(CINOSTaskExMsg *apMsg) override
internal startup task
int32 GetAxisIndex(tMcAxisName apAxis) const
get index of axis 'apName' (-1 if not found)
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 ForceMoveStop(tMcAxisName apAxis, const char *apParam, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
Stop the actual ForceMove with the given param set.
CMcResult eMoveToBorder(real64 arPosition, const char *apParam)
move to border
virtual real64 GetActPosition(tMcAxisName apAxis, const char *apBase)
get actual (current commanded) position of apAxis based on apBase
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 CINOSMcRobotCmd * iCmdGet(tMsgId auId)
internal command get
virtual void iMoveFromBorderDep(CINOSTaskExMsg *apMsg)
internal move from border depart
virtual uint32 iRecover(tMcAxisName apAxis)
recover apAxis
CINOSMcRobot(const char *apName, const char *apType, const char *apParam)
constructor
virtual CMcResult ForceTara(tMcAxisName apAxis, double adForce, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
Set current force [N] to given value.
virtual CMcResult JoyEnb(tMcAxisName apAxis, CINOSSync *apSync=DF_INOS_SYNCHRONOUS)
Enable joystick mode, see also Joystick.
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.
static constexpr int GetLastUsr()
return last mcrobot user id
Definition cinosmcrobot.h:889
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...
virtual void iOff(CINOSTaskExMsg *apMsg) override
internal off station
virtual void iJoyPos(CINOSTaskExMsg *apMsg)
internal start joystick move into pos direction
TINOSTaskExCmdMsg< CINOSMcRobot, const char *, const char *, const char * > CreateSpeedset
Create a new speedset for the McRobot axis. In case that apInitialValue is non-empty,...
Definition cinosmcrobot.h:258
virtual uint32 iGetSimLevel(tMcAxisName apAxis)
get simelevel of apAxis
uint32 GetAxisSourceId(tMcAxisName apAxis) const
get source id of axis 'apName'
virtual void iLimitNegClr(CINOSTaskExMsg *apMsg)
limit neg clr
const char * GetVirtAxisName(const char *apName) const
get virtual axis name
CMcResult eMoveToAnalogSensor(tMcAxisName apAxis, const char *apName, real64 arPosition, real64 arLevel, real64 arGreater, const char *apParam)
move to analog sensor
virtual CINOSMcRobotCmd * iCmdGetFirst() const
internal command get first
Definition cinosmcrobot.h:1101
virtual void iMoveToBorder(CINOSTaskExMsg *apMsg)
internal move to border
virtual void RegisterCheckLimitHook()
register hook for limit switch handler
Definition cinosmovepath.h:566
Definition cinosmutex.h:36
Provides physical aka real axis functionality.
Definition cinosphysicalaxis.h:286
Definition cinosposchannel.h:59
Definition cinostaskexdef.h:129
Definition cinostaskex.h:396
tMsgId GetId() const
get message id
Definition cinostaskex.h:588
CINOSTask * GetSender() const
get pointer to sender
Definition cinostaskex.h:617
Definition cinostaskex.h:966
ERplId
reply id's
Definition cinostaskex.h:1409
Definition cinostask.h:52
Definition inos_1ms.h:143
uint32 INOS_MCMSG_CODE_ROBOT_DIST_CODED_IMPL_MISSING
Definition inoserror.h:1677
#define INOS_OR(variable, mask)
Definition inosmacro.h:201
#define DF_INOS_SYNCHRONOUS
Definition inosmacro.h:332
#define INOS_AND(variable, mask)
Definition inosmacro.h:210
Definition cinosmcrobot.h:3346
CINOSMcRobotCmdMove::eEventType m_eType
type
Definition cinosmcrobot.h:3351
inosName64 m_cName
name
Definition cinosmcrobot.h:3353
uint64 m_uBusTicks
bus ticks
Definition cinosmcrobot.h:3361
real64 m_rMoveTime
movetime
Definition cinosmcrobot.h:3357
DECLARE_DYNAMIC(SINOSMcRobotCmdShapeEvent)
dynamic object handling
SINOSMcRobotCmdShapeEvent * m_pNext
pointer to next event
Definition cinosmcrobot.h:3364
real64 m_rValue
value
Definition cinosmcrobot.h:3355
uint32 m_uFlags
valid
Definition cinosmcrobot.h:3348
ramp parameters
Definition cinosbaseramp.h:503