Hello everyone,
I need help with the unusual problem:
I use a delta Asda-a2-e servo. They have a function "Z phase offset"
The offset between the motor position and Z phase. The range is from -5000 to +5000. If the position is the same as Z phase, its value is 0. The bigger the value is, the more the offset will be.
I want to use this feature to remove the physical inaccuracies of the endpoints sensors.
I need to do so:
- I pressed the "Home All" button.
- The axis hit the sensor.
- The axis begins to slowly return
- When the axis has moved off the sensor, the motor should continue to drive up to the Z phase (value is 0)
If the parameter P0-17 write the value 18, then you can read the value of the "Z phase" in the parameter P0-09.
ok, i will can done it with help of terminal:
Code:
Part of XML file:
....
<Index>#x2009</Index>
<Name>DRV's Parameter P0-09</Name>
<Type>UDINT</Type>
<BitSize>32</BitSize>
.....
<Index>#x2011</Index>
<Name>DRV's Parameter P0-17</Name>
<Type>UINT</Type>
<BitSize>16</BitSize>
.....
With this command, load the number 18 in the parameter P0-17:
ethercat download -p 0 -t uint16 0x2011 0 18
Now i can get the value of the "Z phase" by using the next command:
ethercat upload -p 0 -t int32 0x2009 0
Output example: 0x00000652 1618
I don't know English well and hope I explained it clearly
So my question is:
Do you have any ideas to read parameter P0-09 in linuxcnc? I hope for your ideas and help
Thanks,
Ilya