sön 2024-06-16 klockan 18:59 +0000 skrev John Morris: > ... (though I'd like to rewrite that ugliness), works with or without ROS, > works with Machinekit or LinuxCNC HAL, and > was designed to work with regular CANopen devices in the future. It would be > pretty easy to add support for a new > device, including the CiA301 and optional CiA402 features, and replace the > EtherCAT interface with CAN bus instead.
CiA301 should be almost the same for CANopen over ethercat as over ordinary CAN netork. There is no sync message on Etherecat I think anyway but there is instead a distributed clock and is possible to trigger execution in devices using this clock sot synchonize devices in case the small delay between nodes is a problem. There also some differences for addressing, CAN networks use COB-ID while Ethercat use node number but they are both a number so should make very little difference I guess. There is small difference Ethecat have extra indexes 1C10h, 1C11h, 1C12h, 1C13h in particular to configure which PDOs are part of messages. Pretty sure it should be possible to use the same software for CANopen protocol, dictionary and configuration of PDO mappings. Also possible to use same syntax in configuration files. There is however a difference between the .edf or .dcf file formats for CANopen and .esi files for Ethercat. Configuration files with mappings I only have a fast hack. For configuration I have added possibility to connect via CiA309-3 and written a small graphical configuration program with hard coded entries no reading of any device files. Well defined binary protocol is usually simpler to handle in software but as CiA309-3 is standard I used it. Implementation of parser in both end may be good enough to re use if needed. Nicklas Karlsson _______________________________________________ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers