EtherCat I/O
27 Sep 2021 20:29 - 27 Sep 2021 20:29 #221715
by ChapEng
EtherCat I/O was created by ChapEng
I'm wondering if I can use a lower cost Ethercat I/O module (rather than the name brand Bekhoff ones). Has anyone used/tried this?
Aliexpress Ethercat IO
Aliexpress Ethercat IO
Last edit: 27 Sep 2021 20:29 by ChapEng.
Please Log in or Create an account to join the conversation.
02 Oct 2021 12:44 #222010
by pyzworld
Replied by pyzworld on topic EtherCat I/O
Can be used, but you need to write your own driver
Please Log in or Create an account to join the conversation.
02 Oct 2021 18:41 - 02 Oct 2021 18:47 #222038
by rollfree
Replied by rollfree on topic EtherCat I/O
The question is whether the HW is well done. If the inputs and outputs are well protected, if there are no firmware errors, missing EEPROM and so on.
Connecting the system to an IgH EtherCAT master should not be a problem. All you have to do is write a configuration XML file. It's not complicated for an I/O coupler.
Connecting the system to an IgH EtherCAT master should not be a problem. All you have to do is write a configuration XML file. It's not complicated for an I/O coupler.
Last edit: 02 Oct 2021 18:47 by rollfree.
Please Log in or Create an account to join the conversation.
04 Jun 2023 07:53 #272867
by ChapEng
Replied by ChapEng on topic EtherCat I/O
I know I'm dragging up an old post here, but I hate when people ask questions and don't provide solutions. I stumbled across this old post of mine when looking for something else and figured I shouldn't be that bad person and answer my own question for anyone else looking in the future.
Preamble done.
Bottom line, you can do it, easily. This is the module I settled on: Diewu Ethercat Slave Io Module 8 Channels 16 Input 16 Output Npn Input Module 100mbps With Dual Rj45 Port Ab Phase Encoder - Network Switches - AliExpress
You should be able to just throw the below code into your ethercat *.xml file (taking care to ensure that your slave id, pid and pdo's have the right lables) and then you'll have the pins available to you, in my case listed as: lcec.0.4.in-XX or lcec.0.4.out-XX
I hope that helps someone else.
<!-- I/O Device -->
<slave idx="4" type="generic" vid="00000b95" pid="0x00010200" configPdos="false">
<dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0"/>
<syncManager idx="2" dir="out">
<pdo idx="1a00">
<!-- Digtial Outputs (DIEWU_EtherCAT_DIO_16)-->
<pdoEntry idx="3101" subIdx="01" bitLen="8" halType="complex">
<complexEntry bitLen="1" halPin="out-01" halType="bit"/>
<complexEntry bitLen="1" halPin="out-02" halType="bit"/>
<complexEntry bitLen="1" halPin="out-03" halType="bit"/>
<complexEntry bitLen="1" halPin="out-04" halType="bit"/>
<complexEntry bitLen="1" halPin="out-05" halType="bit"/>
<complexEntry bitLen="1" halPin="out-06" halType="bit"/>
<complexEntry bitLen="1" halPin="out-07" halType="bit"/>
<complexEntry bitLen="1" halPin="out-08" halType="bit"/>
</pdoEntry>
</pdo>
<pdo idx="1a01">
<!-- Digtial Outputs (DIEWU_EtherCAT_DIO_16)-->
<pdoEntry idx="3101" subIdx="02" bitLen="8" halType="complex">
<complexEntry bitLen="1" halPin="out-09" halType="bit"/>
<complexEntry bitLen="1" halPin="out-10" halType="bit"/>
<complexEntry bitLen="1" halPin="out-11" halType="bit"/>
<complexEntry bitLen="1" halPin="out-12" halType="bit"/>
<complexEntry bitLen="1" halPin="out-13" halType="bit"/>
<complexEntry bitLen="1" halPin="out-14" halType="bit"/>
<complexEntry bitLen="1" halPin="out-15" halType="bit"/>
<complexEntry bitLen="1" halPin="out-16" halType="bit"/>
</pdoEntry>
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="1000">
<!-- Digtial_inputs -->
<pdoEntry idx="3001" subIdx="01" bitLen="8" halType="complex">
<complexEntry bitLen="1" halPin="in-01" halType="bit"/>
<complexEntry bitLen="1" halPin="in-02" halType="bit"/>
<complexEntry bitLen="1" halPin="in-03" halType="bit"/>
<complexEntry bitLen="1" halPin="in-04" halType="bit"/>
<complexEntry bitLen="1" halPin="in-05" halType="bit"/>
<complexEntry bitLen="1" halPin="in-06" halType="bit"/>
<complexEntry bitLen="1" halPin="in-07" halType="bit"/>
<complexEntry bitLen="1" halPin="in-08" halType="bit"/>
</pdoEntry>
<pdoEntry idx="3001" subIdx="02" bitLen="8" halType="complex">
<complexEntry bitLen="1" halPin="in-09" halType="bit"/>
<complexEntry bitLen="1" halPin="in-10" halType="bit"/>
<complexEntry bitLen="1" halPin="in-11" halType="bit"/>
<complexEntry bitLen="1" halPin="in-12" halType="bit"/>
<complexEntry bitLen="1" halPin="in-13" halType="bit"/>
<complexEntry bitLen="1" halPin="in-14" halType="bit"/>
<complexEntry bitLen="1" halPin="in-15" halType="bit"/>
<complexEntry bitLen="1" halPin="in-16" halType="bit"/>
</pdoEntry>
</pdo>
</syncManager>
</slave>
Preamble done.
Bottom line, you can do it, easily. This is the module I settled on: Diewu Ethercat Slave Io Module 8 Channels 16 Input 16 Output Npn Input Module 100mbps With Dual Rj45 Port Ab Phase Encoder - Network Switches - AliExpress
You should be able to just throw the below code into your ethercat *.xml file (taking care to ensure that your slave id, pid and pdo's have the right lables) and then you'll have the pins available to you, in my case listed as: lcec.0.4.in-XX or lcec.0.4.out-XX
I hope that helps someone else.
Warning: Spoiler!
<!-- I/O Device -->
<slave idx="4" type="generic" vid="00000b95" pid="0x00010200" configPdos="false">
<dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0"/>
<syncManager idx="2" dir="out">
<pdo idx="1a00">
<!-- Digtial Outputs (DIEWU_EtherCAT_DIO_16)-->
<pdoEntry idx="3101" subIdx="01" bitLen="8" halType="complex">
<complexEntry bitLen="1" halPin="out-01" halType="bit"/>
<complexEntry bitLen="1" halPin="out-02" halType="bit"/>
<complexEntry bitLen="1" halPin="out-03" halType="bit"/>
<complexEntry bitLen="1" halPin="out-04" halType="bit"/>
<complexEntry bitLen="1" halPin="out-05" halType="bit"/>
<complexEntry bitLen="1" halPin="out-06" halType="bit"/>
<complexEntry bitLen="1" halPin="out-07" halType="bit"/>
<complexEntry bitLen="1" halPin="out-08" halType="bit"/>
</pdoEntry>
</pdo>
<pdo idx="1a01">
<!-- Digtial Outputs (DIEWU_EtherCAT_DIO_16)-->
<pdoEntry idx="3101" subIdx="02" bitLen="8" halType="complex">
<complexEntry bitLen="1" halPin="out-09" halType="bit"/>
<complexEntry bitLen="1" halPin="out-10" halType="bit"/>
<complexEntry bitLen="1" halPin="out-11" halType="bit"/>
<complexEntry bitLen="1" halPin="out-12" halType="bit"/>
<complexEntry bitLen="1" halPin="out-13" halType="bit"/>
<complexEntry bitLen="1" halPin="out-14" halType="bit"/>
<complexEntry bitLen="1" halPin="out-15" halType="bit"/>
<complexEntry bitLen="1" halPin="out-16" halType="bit"/>
</pdoEntry>
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="1000">
<!-- Digtial_inputs -->
<pdoEntry idx="3001" subIdx="01" bitLen="8" halType="complex">
<complexEntry bitLen="1" halPin="in-01" halType="bit"/>
<complexEntry bitLen="1" halPin="in-02" halType="bit"/>
<complexEntry bitLen="1" halPin="in-03" halType="bit"/>
<complexEntry bitLen="1" halPin="in-04" halType="bit"/>
<complexEntry bitLen="1" halPin="in-05" halType="bit"/>
<complexEntry bitLen="1" halPin="in-06" halType="bit"/>
<complexEntry bitLen="1" halPin="in-07" halType="bit"/>
<complexEntry bitLen="1" halPin="in-08" halType="bit"/>
</pdoEntry>
<pdoEntry idx="3001" subIdx="02" bitLen="8" halType="complex">
<complexEntry bitLen="1" halPin="in-09" halType="bit"/>
<complexEntry bitLen="1" halPin="in-10" halType="bit"/>
<complexEntry bitLen="1" halPin="in-11" halType="bit"/>
<complexEntry bitLen="1" halPin="in-12" halType="bit"/>
<complexEntry bitLen="1" halPin="in-13" halType="bit"/>
<complexEntry bitLen="1" halPin="in-14" halType="bit"/>
<complexEntry bitLen="1" halPin="in-15" halType="bit"/>
<complexEntry bitLen="1" halPin="in-16" halType="bit"/>
</pdoEntry>
</pdo>
</syncManager>
</slave>
The following user(s) said Thank You: tommylight, Abdulkareem
Please Log in or Create an account to join the conversation.
04 Jun 2023 08:59 #272868
by pippin88
Replied by pippin88 on topic EtherCat I/O
Thanks for reporting back. I have been wondering about the cheap ethercat IO units like these.
It is called 8 channel. Does it really have 16 inputs and 16 outputs?
(There are some other similar ones that have 16 in, OR 16 out, OR 8 in and 8 out)
It is called 8 channel. Does it really have 16 inputs and 16 outputs?
(There are some other similar ones that have 16 in, OR 16 out, OR 8 in and 8 out)
Please Log in or Create an account to join the conversation.
04 Jun 2023 09:06 #272869
by ChapEng
Replied by ChapEng on topic EtherCat I/O
The one I linked above from diewu is 16 in 16 out. The inputs are physically grouped in 4 blocks of 4 (each block can be a different voltage and npn or pnp) and the outputs are in 2 blocks of 8.
It works quite well. No complaints from me here.
Now I just need to work out my new ethercat servo that seems to have two massive pdos not smaller separate control word, status word etc pdos like my steppers. That's what lead me to search for more ethercat stuff and come across my original post, ha.
It works quite well. No complaints from me here.
Now I just need to work out my new ethercat servo that seems to have two massive pdos not smaller separate control word, status word etc pdos like my steppers. That's what lead me to search for more ethercat stuff and come across my original post, ha.
The following user(s) said Thank You: rodw
Please Log in or Create an account to join the conversation.
04 Jun 2023 12:09 #272873
by rodw
Replied by rodw on topic EtherCat I/O
The I/O modules are fairly easy to sort out. The original one might be a bit more challenging as its got a lot more than just I/O on it.
re the servo type
ethercat pdos >pdos.txt and share here. Somebody may have some ideas on where to go.
re the servo type
ethercat pdos >pdos.txt and share here. Somebody may have some ideas on where to go.
Please Log in or Create an account to join the conversation.
04 Jun 2023 12:47 #272876
by ChapEng
Replied by ChapEng on topic EtherCat I/O
Rod, you pop up everywhere, even if you're not already on the thread hahah.
Attached is the pdos.txt
Attached is the pdos.txt
Please Log in or Create an account to join the conversation.
04 Jun 2023 21:20 #272912
by rodw
Replied by rodw on topic EtherCat I/O
Yeh, neverr let my mates down
It looks it still has the 6040 and 6041 registers so they should map to status word and control word
the other 32 bit registers are probably for commanded position and velocity and actual positin and velocity
SO if you set the drive up the same as the other ones with a control word and a status word and the other 4 pins as the commanded and actual pins was the cia402 drives, you will never now your luck. If we are right, the actual position should count with movement.
It looks it still has the 6040 and 6041 registers so they should map to status word and control word
the other 32 bit registers are probably for commanded position and velocity and actual positin and velocity
SO if you set the drive up the same as the other ones with a control word and a status word and the other 4 pins as the commanded and actual pins was the cia402 drives, you will never now your luck. If we are right, the actual position should count with movement.
Please Log in or Create an account to join the conversation.
- Sakhalin_Cat
- Offline
- Junior Member
Less
More
- Posts: 22
- Thank you received: 7
27 Aug 2023 00:08 #279042
by Sakhalin_Cat
Replied by Sakhalin_Cat on topic EtherCat I/O
Hello.
Thanks for the information you provided. I found an EtherCat module on Aliexpress - aliexpress.ru/item/1005005335192044.html, but I don't know if it will work with your driver. I don't understand programming and writing a driver on my own causes me difficulties. Therefore, before purchasing this device, I would like to understand that the purchase makes sense. Please see if this device can be used with LCNC and how difficult it is to register it in the system. Modules based on Beckhoff couplers work perfectly on my machine, I am delighted with them. But connecting other non-Beckhoff devices raises only many question for me.
Thanks a lot for your attention. Good luck.
Thanks for the information you provided. I found an EtherCat module on Aliexpress - aliexpress.ru/item/1005005335192044.html, but I don't know if it will work with your driver. I don't understand programming and writing a driver on my own causes me difficulties. Therefore, before purchasing this device, I would like to understand that the purchase makes sense. Please see if this device can be used with LCNC and how difficult it is to register it in the system. Modules based on Beckhoff couplers work perfectly on my machine, I am delighted with them. But connecting other non-Beckhoff devices raises only many question for me.
Thanks a lot for your attention. Good luck.
Please Log in or Create an account to join the conversation.
Time to create page: 0.106 seconds