Hardware Configuration and Examples #112
Replies: 2 comments 5 replies
-
Hi Emi, You can have a look at the 4-channel digital output configuration file in the library: https://github.com/ICube-Robotics/ethercat_driver_ros2_examples/blob/main/ethercat_slave_description/config/beckhoff/beckhoff_el2124.yaml Tip: an other document is very useful apart from the datasheet is the ESI (EtherCAT Slave Information file). It provides hardware information in a condensed format (link here https://www.beckhoff.com/en-en/products/i-o/ethercat-terminals/el2xxx-digital-output/el2809.html? a zip containing all the ESI files, the one I looked was Beckhoff EL2xxx.xml). As I understand it, those modules are digital output, so usually one commands them to output some data using their rpdo. # Configuration file for Beckhoff EL2809
# All data was found in the ESI file for this module
vendor_id: 0x00000002
product_id: 0x0af93052
rpdo1: # RxPDO
- index: 0x1600
channels:
- {
index: 0x7000,
sub_index: 0x01,
type: bool,
mask: 1,
command_interface: dig_output.1,
}
- index: 0x1601
channels:
- {
index: 0x7010,
sub_index: 0x01,
type: bool,
mask: 2,
command_interface: dig_output.2,
}
- index: 0x1602
channels:
- {
index: 0x7020,
sub_index: 0x01,
type: bool,
mask: 4,
command_interface: d_output.3,
}
- index: 0x1603
channels:
- {
index: 0x7030,
sub_index: 0x01,
type: bool,
mask: 8,
command_interface: d_output.4,
}
- index: 0x1604
channels:
- {
index: 0x7040,
sub_index: 0x01,
type: bool,
mask: 16,
command_interface: d_output.5,
}
- index: 0x1605
channels:
- {
index: 0x7050,
sub_index: 0x01,
type: bool,
mask: 32,
command_interface: d_output.6,
}
- index: 0x1606
channels:
- {
index: 0x7060,
sub_index: 0x01,
type: bool,
mask: 64,
command_interface: d_output.7,
}
- index: 0x1607
channels:
- {
index: 0x7070,
sub_index: 0x01,
type: bool,
mask: 128,
command_interface: d_output.8,
}
rpdo2:
- index: 0x1608
channels:
- {
index: 0x7080,
sub_index: 0x01,
type: bool,
mask: 1,
command_interface: d_output.9,
}
- index: 0x1609
channels:
- {
index: 0x7090,
sub_index: 0x01,
type: bool,
mask: 2,
command_interface: d_output.10,
}
- index: 0x160a
channels:
- {
index: 0x70a0,
sub_index: 0x01,
type: bool,
mask: 4,
command_interface: d_output.11,
}
- index: 0x160b
channels:
- {
index: 0x70b0,
sub_index: 0x01,
type: bool,
mask: 8,
command_interface: d_output.12,
}
- index: 0x160c
channels:
- {
index: 0x70c0,
sub_index: 0x01,
type: bool,
mask: 16,
command_interface: d_output.13,
}
- index: 0x160d
channels:
- {
index: 0x70d0,
sub_index: 0x01,
type: bool,
mask: 32,
command_interface: d_output.14,
}
- index: 0x160e
channels:
- {
index: 0x70e0,
sub_index: 0x01,
type: bool,
mask: 64,
command_interface: d_output.15,
}
- index: 0x160f
channels:
- {
index: 0x70f0,
sub_index: 0x01,
type: bool,
mask: 128,
command_interface: d_output.16,
}
sm: # Sync Manager
- { index: 0, type: output, pdo: rpdo1, watchdog: enable }
- { index: 1, type: output, pdo: rpdo2, watchdog: enable } I cannot test it (since we do not have this slave), but if you got a working file, we would be happy to have the feedback to add the config file to the library.
|
Beta Was this translation helpful? Give feedback.
-
Just a simple other idea, have you verified that your config file is well installed: ls /home/probot-linux-pc/dev_ws/install/gpio_controller/share/gpio_controller/beckhoff_hardware_config/EL2809.yaml |
Beta Was this translation helpful? Give feedback.
-
Howdy!
I am currently making a very simple system that I would like to control with ros2_control.
I have my system configured to the point where I can see my hardware when I run
ethercat slave
. This is the output of that:I am hooked up to an EK1100. Connected to the EK1100 is an EL2809. I keep running into an issue with how my configuration file is set up for the EL2809. I tried to replicate what I found on the Generic EtherCAT Slave configuration page but I was not successful.
This is the output I get when I try to launch my gpio_controller:
Below is my configuration file for the EL2809. I am not very confident in this file and would love to learn more about how ethercat_driver would like the files to be formatted.
Below is my XACRO file for the description. I don't have a robot with any joints (for now) so I just made a link to get the controller_manger happy (it seems it is not happy still).
And here is my controller configuration file too:
I apologize if this is not the right place to post this. Please direct me to the right place if possible.
Thank you in advance to anyone who can help!
Best,
Emi
Beta Was this translation helpful? Give feedback.
All reactions