EL7221-9014/15 LCEC Driver Support
- rbobey1989
-
Topic Author
- Offline
- Premium Member
-
Less
More
- Posts: 126
- Thank you received: 33
06 Jun 2026 19:09 #346941
by rbobey1989
EL7221-9014/15 LCEC Driver Support was created by rbobey1989
Hello guys, it's been longer than I'd like since the last time...
Without further ado, I'll get to the point:
I want to try the EL7221 module. I've read some of the manual and I see that there are different versions depending on the profile:
EL7221-9014 --> MDP742 profile
EL7221-9015 --> DS402 (CIA402) profile
I've also seen that the lcec_el7211.c driver included in linuxcnc-ethercat supports the EL7221 module, although version 9014/15 isn't specified. The EL7201-9014 module is specified, and for the latter, a separate initialization function is used:
static lcec_typelist_t types[] = {
{"EL7201_9014", LCEC_BECKHOFF_VID, 0x1C213052, 0, NULL, lcec_el7201_9014_init},
{"EL7211", LCEC_BECKHOFF_VID, 0x1C2B3052, 0, NULL, lcec_el7211_init},
{"EL7221", LCEC_BECKHOFF_VID, 0x1C353052, 0, NULL, lcec_el7211_init},
{NULL},
};
Another thing I have noticed is that the "product code" for the EL7221 also does not match the one specified by the el72x1-901x_en.pdf manual:
1018:02 | Product code | Product code of the EtherCAT slave | UINT32 RO | 0x1C213052
The product code matches for the EL7201-9014.
Therefore, here are a couple of questions:
1- Is the EL7221-9014 module truly supported by the lcec_el7211.c driver?
2- Would I have to use the driver, configuring the ethercat_conf.xml file for the EL7201-9014 module, even though the actual module is the EL7221-9014?
The last question is based on the fact that the models EL7201-9014, EL7211-9014, and EL7221-9014 have the same PDOs/SDOs objects.
Another issue I see is that if the EL7221-9014/15 module is supported, the driver doesn't fully utilize its potential. However, using it in CSV mode and having position feedback is sufficient for LinuxCNC, so this shouldn't be a problem. Nevertheless, it excludes modes like CSP and homing procedures that the module could handle.
Now, after reading the el72x1-901x_en.pdf manual, it occurred to me that the module complies with the DS402/CIA402 standard. I could use lcec_class_cia402.c from the same repository, so I turned to the linuxcnc-ethercat documentation, specifically cia402.md, and found this:
"Notable non-Cia 402 devices are Beckhoff EL7xxx and AX5xxx series drives."
However, the manual states:
Terminal designation MDP742 and DS402 profile
Note that the servomotor terminal is given a different type designation in TwinCAT as a result of the profile change process described above.
The terminal then represents itself in the TwinCAT system manager as one of the following devices:
- Servomotor terminal with MDP742 profile: EL72x1-0010 or EL72x1-9014
- Servomotor terminal with DS402 profile: EL72x1-0011 or EL72x1-9015
So here's another question:
3- Does the lcec_class_cia402.c driver support the EL7221-9015 module with DS402/CIA402 profile?
In conclusion, I've seen that in the examples directory of the linuxcnc-ethercat repository there's a fairly practical example for an AM8121 motor using the EL7211 module, although the version isn't specified. From my reading and comparison between the manuals el72x1-901x_en.pdf and el72x1_en.pdf, I see that the SDO objects are quite similar.
4- Does anyone have experience with an EL7221-9014/15 module who could offer some assistance?
I haven't purchased my hardware yet, but I plan to use the EL7221-9014 module and the AM8131-0J00-0000 motor.
As always, I tend to elaborate in my explanations, so thank you in advance.
Without further ado, I'll get to the point:
I want to try the EL7221 module. I've read some of the manual and I see that there are different versions depending on the profile:
EL7221-9014 --> MDP742 profile
EL7221-9015 --> DS402 (CIA402) profile
I've also seen that the lcec_el7211.c driver included in linuxcnc-ethercat supports the EL7221 module, although version 9014/15 isn't specified. The EL7201-9014 module is specified, and for the latter, a separate initialization function is used:
static lcec_typelist_t types[] = {
{"EL7201_9014", LCEC_BECKHOFF_VID, 0x1C213052, 0, NULL, lcec_el7201_9014_init},
{"EL7211", LCEC_BECKHOFF_VID, 0x1C2B3052, 0, NULL, lcec_el7211_init},
{"EL7221", LCEC_BECKHOFF_VID, 0x1C353052, 0, NULL, lcec_el7211_init},
{NULL},
};
Another thing I have noticed is that the "product code" for the EL7221 also does not match the one specified by the el72x1-901x_en.pdf manual:
1018:02 | Product code | Product code of the EtherCAT slave | UINT32 RO | 0x1C213052
The product code matches for the EL7201-9014.
Therefore, here are a couple of questions:
1- Is the EL7221-9014 module truly supported by the lcec_el7211.c driver?
2- Would I have to use the driver, configuring the ethercat_conf.xml file for the EL7201-9014 module, even though the actual module is the EL7221-9014?
The last question is based on the fact that the models EL7201-9014, EL7211-9014, and EL7221-9014 have the same PDOs/SDOs objects.
Another issue I see is that if the EL7221-9014/15 module is supported, the driver doesn't fully utilize its potential. However, using it in CSV mode and having position feedback is sufficient for LinuxCNC, so this shouldn't be a problem. Nevertheless, it excludes modes like CSP and homing procedures that the module could handle.
Now, after reading the el72x1-901x_en.pdf manual, it occurred to me that the module complies with the DS402/CIA402 standard. I could use lcec_class_cia402.c from the same repository, so I turned to the linuxcnc-ethercat documentation, specifically cia402.md, and found this:
"Notable non-Cia 402 devices are Beckhoff EL7xxx and AX5xxx series drives."
However, the manual states:
Terminal designation MDP742 and DS402 profile
Note that the servomotor terminal is given a different type designation in TwinCAT as a result of the profile change process described above.
The terminal then represents itself in the TwinCAT system manager as one of the following devices:
- Servomotor terminal with MDP742 profile: EL72x1-0010 or EL72x1-9014
- Servomotor terminal with DS402 profile: EL72x1-0011 or EL72x1-9015
So here's another question:
3- Does the lcec_class_cia402.c driver support the EL7221-9015 module with DS402/CIA402 profile?
In conclusion, I've seen that in the examples directory of the linuxcnc-ethercat repository there's a fairly practical example for an AM8121 motor using the EL7211 module, although the version isn't specified. From my reading and comparison between the manuals el72x1-901x_en.pdf and el72x1_en.pdf, I see that the SDO objects are quite similar.
4- Does anyone have experience with an EL7221-9014/15 module who could offer some assistance?
I haven't purchased my hardware yet, but I plan to use the EL7221-9014 module and the AM8131-0J00-0000 motor.
As always, I tend to elaborate in my explanations, so thank you in advance.
Please Log in or Create an account to join the conversation.
- endian
-
- Offline
- Platinum Member
-
Less
More
- Posts: 336
- Thank you received: 132
07 Jun 2026 13:40 #346951
by endian
Replied by endian on topic EL7221-9014/15 LCEC Driver Support
I replied at github post ...
try to handle it and let me know what is yout root problem then
try to handle it and let me know what is yout root problem then
Please Log in or Create an account to join the conversation.
- rbobey1989
-
Topic Author
- Offline
- Premium Member
-
Less
More
- Posts: 126
- Thank you received: 33
07 Jun 2026 18:32 #346955
by rbobey1989
Replied by rbobey1989 on topic EL7221-9014/15 LCEC Driver Support
Hi Endian, first of all, thanks for replying.
Your comments make a lot of sense, although I think you're mixing up issues, haha. In the GitHub discussion, I was talking with Grandiximo about the EL7342 module and wanting to use it in velocity mode to use the internal PID to control speed and close position in Linux CNC. I've tested this, and it works quite well, I should add. On the other hand, I mentioned that after testing it on the machine, it's too small for my needs because my motor consumes too much power, hence the need to migrate to an AM8131 servo motor with an EL7221-9014 driver.
The envelope and card analogy was a good one. I'm not an Ethercat expert; my knowledge is more intermediate/basic. I've only tried a few things that have worked quite well so far, so I need to read your GitHub reply very carefully, hehe.
You asked me about my main problem. In my previous post, I asked a few questions, and from four to what I need, I'd now reduce them to three:
1- Is the EL7221-9014 module actually compatible with the lcec_el7211.c driver?
2- Would I have to use the driver, configuring the ethercat_conf.xml file for the EL7201-9014 module, even though the actual module is the EL7221-9014?
3- Does anyone have experience with an EL7221-9014 module who could offer some help?
To further describe the architecture I want to use, I'd like the module to handle the speed loop and close the position loop in Linux CNC. From what I've read, I believe the lcec_el7211.c driver practically works this way; I see that the command pins are for speed and provide speed and position feedback.
From your response on GitHub, I gather it would be best to close both loops in LinuxCNC. I'd have to test it, however, my experience with this architecture and the modifications made to the EL7342 module worked quite well. I plan to perform the homing using LinuxCNC.
I saw that in a previous post on this forum you mentioned wanting to try an EL7221 module. I'd like to know:
-- Which driver did you use, lcec_el7211.c?
-- Do you have the same hardware, EL7221-9014?
I always greatly appreciate the help I've received from this forum, so thank you very much in advance. Best regards.
Your comments make a lot of sense, although I think you're mixing up issues, haha. In the GitHub discussion, I was talking with Grandiximo about the EL7342 module and wanting to use it in velocity mode to use the internal PID to control speed and close position in Linux CNC. I've tested this, and it works quite well, I should add. On the other hand, I mentioned that after testing it on the machine, it's too small for my needs because my motor consumes too much power, hence the need to migrate to an AM8131 servo motor with an EL7221-9014 driver.
The envelope and card analogy was a good one. I'm not an Ethercat expert; my knowledge is more intermediate/basic. I've only tried a few things that have worked quite well so far, so I need to read your GitHub reply very carefully, hehe.
You asked me about my main problem. In my previous post, I asked a few questions, and from four to what I need, I'd now reduce them to three:
1- Is the EL7221-9014 module actually compatible with the lcec_el7211.c driver?
2- Would I have to use the driver, configuring the ethercat_conf.xml file for the EL7201-9014 module, even though the actual module is the EL7221-9014?
3- Does anyone have experience with an EL7221-9014 module who could offer some help?
To further describe the architecture I want to use, I'd like the module to handle the speed loop and close the position loop in Linux CNC. From what I've read, I believe the lcec_el7211.c driver practically works this way; I see that the command pins are for speed and provide speed and position feedback.
From your response on GitHub, I gather it would be best to close both loops in LinuxCNC. I'd have to test it, however, my experience with this architecture and the modifications made to the EL7342 module worked quite well. I plan to perform the homing using LinuxCNC.
I saw that in a previous post on this forum you mentioned wanting to try an EL7221 module. I'd like to know:
-- Which driver did you use, lcec_el7211.c?
-- Do you have the same hardware, EL7221-9014?
I always greatly appreciate the help I've received from this forum, so thank you very much in advance. Best regards.
Please Log in or Create an account to join the conversation.
- endian
-
- Offline
- Platinum Member
-
Less
More
- Posts: 336
- Thank you received: 132
16 Jun 2026 15:56 #347116
by endian
1- Is the EL7221-9014 module actually compatible with the lcec_el7211.c driver? - y
2- Would I have to use the driver, configuring the ethercat_conf.xml file for the EL7201-9014 module, even though the actual module is the EL7221-9014? - tell me more about it
3- Does anyone have experience with an EL7221-9014 module who could offer some help? - n but I can take a look
I saw that in a previous post on this forum you mentioned wanting to try an EL7221 module. I'd like to know:
-- Which driver did you use, lcec_el7211.c? - future custom own driver with probing, no because it has no homming internal subroutine and I plan to code my own..
-- Do you have the same hardware, EL7221-9014? - yes I have some of them and I want to use it in the near future .. just after I will finish driver to @zmrdko
let me know
Replied by endian on topic EL7221-9014/15 LCEC Driver Support
/** @file el7211.c
* @brief Driver for the Beckhoff EL7211/EL7221/EL7201-9014 servo motor terminals.
*
* Implements CiA-402 velocity-mode control for Beckhoff BLDC servo terminals.
* The driver reads the 16-bit status word (0x6010:01), 32-bit actual velocity
* (0x6010:07), 16-bit actual torque (0x6010:08), and 32-bit encoder position
* (0x6000:11), then writes a 16-bit CiA-402 control word (0x7010:01) and
* 32-bit velocity command (0x7010:06) each cycle.
*
* The EL7201-9014 variant additionally exposes digital inputs (info1) and
* an extended error word (info2) via two extra TxPDOs.
*
* @copyright Copyright (C) 2018-2026 Sascha Ittner <sascha.ittner@modusoft.de>1- Is the EL7221-9014 module actually compatible with the lcec_el7211.c driver? - y
2- Would I have to use the driver, configuring the ethercat_conf.xml file for the EL7201-9014 module, even though the actual module is the EL7221-9014? - tell me more about it
3- Does anyone have experience with an EL7221-9014 module who could offer some help? - n but I can take a look
I saw that in a previous post on this forum you mentioned wanting to try an EL7221 module. I'd like to know:
-- Which driver did you use, lcec_el7211.c? - future custom own driver with probing, no because it has no homming internal subroutine and I plan to code my own..
-- Do you have the same hardware, EL7221-9014? - yes I have some of them and I want to use it in the near future .. just after I will finish driver to @zmrdko
let me know
Please Log in or Create an account to join the conversation.
Time to create page: 0.099 seconds