SetAxisHomeSwitch
Sets a digital sensor to be used as a homing switch.
Syntax
KsError SetAxisHomeSwitch(
int Index,
BOOL AxisSwitch,
int ModuleIndex,
int BitOffset,
BOOL Invert
);
Parameters
Index: the index of an axis. Indexes are zero based. Aliases affect this parameter.
AxisSwitch: set to TRUE if the sensor is connected to an axis input, or set to FALSE if it is connected to an I/O module.
ModuleIndex: identifies which I/O module or axis contains the sensor. Aliases affect this parameter.
BitOffset: the offset in bit of the sensor digital input in the module input variables.
Invert: inverts the sensor value.
Return value
If the function succeeds, it returns errNoError, otherwise an error code. For more information about the error code, see the KsError list.
Remarks
Used to set which digital input to use as a sensor before starting homing.
Example
VOID HomeSensor(INT Index) {
//Configure the switch to use for homing
KsError nRet = SetAxisHomeSwitch(Index, TRUE, 0, 1, FALSE);
//The axis will move in the preset homing direction when the sensor is low
//The axis will move in the reverse direction when the sensor is high
//The axis starts moving at the high velocity
/*The velocity will be divided by 10 every time the direction is reversed
until it finds the sensor in the preset direction at the low velocity*/
KsCommandStatus home = WaitForCommand(30, TRUE, HomeAxis(Index, 0, 360, 36,
3600, 3600, 3600000, mcPositiveDirection, homingSensor));
double homePosition = 1;
GetAxisPosition(Index, mcActualValue, &homePosition);
RtPrintf("Home position: %d\n", (int)homePosition);
}
Requirements
| RT | Win32 | |
|---|---|---|
| Minimum supported version | 4.0 | 4.0 |
| Header | ksmotion.h | ksmotion.h |
| Library | KsApi_Rtss.lib | KsApi.lib |
See also