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