8.22 _ECAT_Slave_Motion_Set_TouchProbe_QuickStart
Syntax
U16 PASCAL _ECAT_Slave_Motion_Set_TouchProbe_QuickStart(U16 CardNo,
U16 AxisNo, U16 SlotNo)
Purpose
This is for enabling the first Touch Probe function (Touch Probe 1). Use this API to set OD code –
60B8 bit 4 to 1.
Parameter
Name Data type Property Description
CardNo U16 Number Card No.
AxisNo U16 Number Node ID
SlotNo U16 Number Slot ID
Example
U16 Status, TouchProbe_Status, CardNo=16,AxisNo=1,SlotNo=0;
I32 LatchPosition = 0;
U16 TriggerMode =0; // It records the pulse (position) when the signal is triggered for the first
time.
U16 Signal_Source=1; // Motor’s Z pulse signal is regarded as the trigger signal of the first Touch
Probe function.
Status = _ECAT_Slave_Motion_Set_TouchProbe_Config(CardNo, AxisNo, SlotNo,
TriggerMode, Signal_Source);
Status = _ECAT_Slave_Motion_Set_TouchProbe_QuickStart(CardNo, AxisNo, SlotNo);
while (1)
{
Status = _ECAT_Slave_Motion_Get_TouchProbe_Status(CardNo, AxisNo, SlotNo, &
TouchProbe_Status);
if (TouchProbe_Status & 0x2)
{
Status = _ECAT_Slave_Motion_Get_TouchProbe_Position(CardNo, AxisNo, SlotNo,
&LatchPosition);
break;
}
}
// Users have to enable the Touch Probe function again to record the pulse.
Status = _ECAT_Slave_Motion_Set_TouchProbe_Disable(CardNo, AxisNo, SlotNo);
Status = _ECAT_Slave_Motion_Set_TouchProbe_QuickStart(CardNo, AxisNo, SlotNo);