Delta EtherCAT Programming Manual page 170

Table of Contents

Advertisement

EtherCAT Programming Guide
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;
}
}
Description
Please refer to the following diagram (figure 8.22.1) when activating Touch Probe function.
1. When 60B8 bit 1 is set to 0, Touch Probe function will be triggered for a single time.
2. Since this API function is not enabled, when it is triggered for the 0
triggered and the value of 60BA (the recorded pulse position) is invalid.
3. When it is triggered for the 1
pulse position will be stored in OD code – 60BA.
4. When it is triggered for the second time and also this API is applied (60B8 bit 4 is on), the
recorded pulse position is still invalid. This is because setting 60B8 bit 1 to 0 means the
signal will be triggered for once only.
- If 60B8 bit 1 is set to 1, then the new pulse position will be recorded.
- To record this pulse position, please refer to Trigger for the 3
Users should use the API "_ECAT_Slave_Motion_Set_TouchProbe_Disable" ( section 8.24)
to disable the Touch Probe function and restart it.
- Apart from the method mentioned above, you can API
"_ECAT_Slave_Motion_Set_TouchProbe_QuickDone" (section 8.23) to restart Touch Probe
function.
March, 2017
st
time (60B8 bit 4 is on), 60B9 bit 1 is triggered and the captured
General Operation of Motion Axis
th
time, 60B9 bit 1 is not
rd
time (see the figure below).
8
8-29

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents