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

Reply via email to