Hi Rainer,

Wow!  I'm impressed, sounds like your driver is on another level.  I respect 
your position regarding uploading a proprietary solution to GIT,  and I will 
try to pose my questions in a LinuxCNC scenario only.  

This is the part that I have not been able to figure out, and is in my opinion 
the crux of the matter

" I added a parameter AUTOHOMING_SERVOSYSTEM = 1 in ini File " 
How? I have tried adding a variable but cannot use it to take control in 
homing.c,   

"and a new flag in the homing flags section"
As in 
- created a new section similar to HOME_SEARCH_WAIT that resets the timer and 
calls a void (routine) that syncs the servo position feed back to commanded 
position ?
- this section also handles limit and e-stop
- modification of the homing.h header file and the file that determines homing 
state change definition is required as well?
-????


" My  CAN / CANOpen HAL driver provides two additional pins.
An Input "do-homing" and an output "servo-homed".
These are connected to the axis component. When a homing request is received, 
the DS402 drive statemachine is walked through."
I believe the above section can be handled by custom m-codes and ladder logic 
but,  if you could explain this part as well, that would be helpful since it is 
the more elegant solution.


 " setup an Ethercat  LinuxCNC system to port the self homing servo solution 
for field bus operated servo drives"  
Not sure exactly what this means  but providing only this part of the solution 
is probably all that is necessary to open the door so to speak and would still 
be a significant contribution. 
Please know, I understand that even this is no small task as I have been 
working on this literally for years.  That being said there is probably even 
more to it ...I'm punching above my weight here. Lol

Your proprietary CANOpen Protocol stack with XML parser  seems like a more 
powerful alternative to the original ethercat-hal-driver/ethercat-master  that 
I can't even begin to comprehend. However, the ethercat hal driver works well 
enough, and the xml file is not difficult to manually compile but it lacks 
complete integration with Linuxcnc due to the aforementioned limitation.  

Hoping that you can help without divulging all of your wizard secrets. 

Kind regards,
Dan

PS
" Hints regarding the EtherCAT Hardware are welcome"
I have Delta ASDA-A2-E  2 KW amps and a Delta C2000 VFD running on ethercat, 
are you looking for something specific?




 
-----Original Message-----
From: Rainer <r.stel...@sgs-robotics.de> 
Sent: September 17, 2021 1:54 AM
To: Emc-developers@lists.sourceforge.net
Subject: Re: [Emc-developers] Addition Ethercat Homing Routine/Variable

Hi Dan,

I think this feature is needed for all fieldbus solutions with modern servos.

I'm using CAN with CANOpen servo-drives, spindle drives and Wago I/O, to 
retrofit an air beared granite CNC router .
(old PCB router, linear scales on all axes, 3 metric tons weight, a monster).

The servos (Danaher/Kollmorgen Servostar 300) are operated in autohoming too, 
because the Haidenhain linear scales  are connected to the servo drives.

I added a parameter AUTOHOMING_SERVOSYSTEM = 1 in ini File and a new flag in 
the homeing flags section.

My  CAN / CANOpen HAL driver provides two additional pins.

An Input "do-homing" and an output "servo-homed".

These are connected to the axis component. When a homing request is received, 
the DS402 drive statemachine is walked through.

Works fine for me for 5 years now.

I didn't check this solution into GIT, and this is why i didn't:
I'm a self employed contract developer.
Doing hard and software development for industrial applications is my first job.
Part of my solution is a CANOpen Protocol stack with XML parser to read the 
config.
The CANOpen protocol stack is a huge chunk of software that has grow over years.
It's one of my products I sell.
Porting this to RTAI/LinuxCNC was a project to get a grasp on how to work with 
hard realtime Linux, compared to vxworks (my most favourite RTOS).
So  I can not publish this CANOpen master protocol stack and convert it to open 
source by doing this.

BUT:
CANOpen is extremely powerful in configuring and describing industrial 
devices to combine them in numerous different configurations
and keeping the devices exchangeable, not to be bound to one supplier.

It does this that good, that Beckhoffs Ethercat designers didn't spend 
the effort to reinvent it.
They just reuse the definition layer and called it CANopen over EtherCAT 
(CoE). Quite clever.

In the configuration process a configuration tool reads the electronic 
datasheets(eds-file) from each device you want to use on the bus(ses)
and connects datapoints,  like "speed set output" from the CANOpen 
Master to "speed set intput" from the servo drive.
(defines fall back and error handling, bus usage by transfer methods and 
much more.)  This is made very generic, what makes is quite complicated.

However, if the application is given, like in a 3 axis CNC machine, the 
effort to configure this once by hand is manageable.
As far as I kept track of the LinuxCNC EtherCAT solutions, there is no 
full CoE Stack used.
They did it manually (correct me if I'm wrong).


long story short:
Thanks to the chip crisis i have "some" delay in my projects and will 
probably find the time to setup an Ethercat  LinuxCNC system to port the 
self homing servo solution for field bus operated servo drives.

Hints regarding the EtherCAT Hardware are welcome.
I retrofitted and run a Brother TC221 Tapping center with QtPyVCP and a 
modified probe basic.

The 30 year servo drives still work surprisingly well, but the amps 
sound like the HV-capacitors run dry. The end seems to be near.
So a new set of servos will be needed anyhow.
200 Watts for X&Y and 400 Watts for Z are used now in the machine.
Hints regarding EtherCAT servos in this power range are welcome, too.


Cheers,

Rainer





_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers



_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to