Delta EtherCAT Programming Manual page 172

Table of Contents

Advertisement

EtherCAT Programming Guide
Example
U16 Status, TouchProbe_Status;
U16 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 is regarded as 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;
}
}
// This API simplifies the step of re-activating the Touch Probe function (TriggerMode=0).
Status = _ECAT_Slave_Motion_Set_TouchProbe_QuickDone(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;
}
}
March, 2017
General Operation of Motion Axis
8
8-31

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents