EtherCat I/O
17 Jul 2024 20:25 #305538
by rodw
Replied by rodw on topic EtherCat I/O
I have no idea about anything you are talking about.
I just type ethercat sdos and ethercat pdos and write the xml file we need.
We did work out the deiwu settings and is in my git
github.com/rodw-au/linuxcnc-cia402/blob/...hercat-conf.xml#L158
Note this is slave 3 in my config. That may be different for you.
Some devices, there are existing drivers in the repo I linked earlier but this one we needed to use the generic driver and define its pins. Take the time to read the docs in that repo.
I just type ethercat sdos and ethercat pdos and write the xml file we need.
We did work out the deiwu settings and is in my git
github.com/rodw-au/linuxcnc-cia402/blob/...hercat-conf.xml#L158
Note this is slave 3 in my config. That may be different for you.
Some devices, there are existing drivers in the repo I linked earlier but this one we needed to use the generic driver and define its pins. Take the time to read the docs in that repo.
Please Log in or Create an account to join the conversation.
- Ethercatuser
- Offline
- New Member
Less
More
- Posts: 6
- Thank you received: 0
17 Jul 2024 22:00 #305542
by Ethercatuser
Replied by Ethercatuser on topic EtherCat I/O
Thanks for your help, I guess I could create a xml file in the format that I need though it is a little more difficult and I guess I'll find software to do it based on the info you've provided. If it works for you then the indexes must be correct.
I really hope the vendor gets back to me, as much as I'm a bit interested, I don't really want to spend time on this tbh. I hope all the info needed is in the file you have provided otherwise buying a different device would probably be wiser rather than trying to guess some default values added by the software you use which may or may not be in the documentation which is probably aimed at the user level.
Maybe I could ask how you arrived at the addresses for the pdo and sdo index and sub-index?
Some time you might be interested to see what the normal standards are and how they are used with Twincat and Codesys, both can run g-code and twincat is very advanced in that area.
thanks
I really hope the vendor gets back to me, as much as I'm a bit interested, I don't really want to spend time on this tbh. I hope all the info needed is in the file you have provided otherwise buying a different device would probably be wiser rather than trying to guess some default values added by the software you use which may or may not be in the documentation which is probably aimed at the user level.
Maybe I could ask how you arrived at the addresses for the pdo and sdo index and sub-index?
Some time you might be interested to see what the normal standards are and how they are used with Twincat and Codesys, both can run g-code and twincat is very advanced in that area.
thanks
Please Log in or Create an account to join the conversation.
17 Jul 2024 22:12 #305543
by rodw
Yes what I did will work.
If you want to make it easier, use Beckhoff hardware as its well supported via single line entriesd in the xml file.
We don't need another motion controller that interprets gcode. We use Linuxcnc for that.
I have no interest in Windows anymore. I use Linux for everything now.
Replied by rodw on topic EtherCat I/O
The addresses I used came from the commands I quoted.Thanks for your help, I guess I could create a xml file in the format that I need though it is a little more difficult and I guess I'll find software to do it based on the info you've provided. If it works for you then the indexes must be correct.
I really hope the vendor gets back to me, as much as I'm a bit interested, I don't really want to spend time on this tbh. I hope all the info needed is in the file you have provided otherwise buying a different device would probably be wiser rather than trying to guess some default values added by the software you use which may or may not be in the documentation which is probably aimed at the user level.
Maybe I could ask how you arrived at the addresses for the pdo and sdo index and sub-index?
Some time you might be interested to see what the normal standards are and how they are used with Twincat and Codesys, both can run g-code and twincat is very advanced in that area.
thanks
Yes what I did will work.
If you want to make it easier, use Beckhoff hardware as its well supported via single line entriesd in the xml file.
We don't need another motion controller that interprets gcode. We use Linuxcnc for that.
I have no interest in Windows anymore. I use Linux for everything now.
Please Log in or Create an account to join the conversation.
- Ethercatuser
- Offline
- New Member
Less
More
- Posts: 6
- Thank you received: 0
17 Jul 2024 23:03 #305545
by Ethercatuser
Replied by Ethercatuser on topic EtherCat I/O
Well I'm not fan of windows either but I suppose you'll be happy to hear that the runtime of codesys can be executed on linux and twincat on bsd. I use the preempt-rt patch and a dedicated core to run ethercat. It's surprisingly good 1-7us jitter most of the time and nearly always under 100us.
Please Log in or Create an account to join the conversation.
- Ethercatuser
- Offline
- New Member
Less
More
- Posts: 6
- Thank you received: 0
18 Jul 2024 07:23 #305560
by Ethercatuser
Replied by Ethercatuser on topic EtherCat I/O
I'm still talking with the vendor and realising that nobody seems to know that ethercat is a standard and has rules.
Doing stuff like this creates a mess in the long run. Ethercat is a very good standard and I heard good things about linuxcnc but this makes it look bad tbh.
Now vendors are selling products that don't support the standard it would seem. I think this started in Asia because others appear to be doing it for factory automation there.
There's a reason linux is good and ignoring standards isn't it
Doing stuff like this creates a mess in the long run. Ethercat is a very good standard and I heard good things about linuxcnc but this makes it look bad tbh.
Now vendors are selling products that don't support the standard it would seem. I think this started in Asia because others appear to be doing it for factory automation there.
There's a reason linux is good and ignoring standards isn't it
Please Log in or Create an account to join the conversation.
18 Jul 2024 07:53 #305561
by rodw
Replied by rodw on topic EtherCat I/O
I'm not convinced that codesys or twincat is a standard.
But CIA402 over ethercat is.
When I attended a seminar where Martin Rosten, the head of the Ethercat Technology Group spoke when he was in Australia, the Ethercat standard he described was all around the TCP packet structure and its handling.
But CIA402 over ethercat is.
When I attended a seminar where Martin Rosten, the head of the Ethercat Technology Group spoke when he was in Australia, the Ethercat standard he described was all around the TCP packet structure and its handling.
Please Log in or Create an account to join the conversation.
- Ethercatuser
- Offline
- New Member
Less
More
- Posts: 6
- Thank you received: 0
18 Jul 2024 12:27 - 18 Jul 2024 12:28 #305571
by Ethercatuser
Replied by Ethercatuser on topic EtherCat I/O
Ethercat is a standard created by and registered to beckhoff. Codesys and Twincat are a blanket term for programming and runtime environments along with related technologies.
Ethercat does not use TCP nor can you have TCP on the bus.
This is the esi file, I haven't tried it yet but the OEM sent it over along with an older version.
<!-- AX58100 EVB ESI Sample File - "AX58100 EVB (Digital 16-Input/16-Output)" -->
<EtherCATInfo xmlns:xsi="www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="EtherCATInfo.xsd" Version="1.2">
<Vendor>
...
</Vendor>
<Descriptions>
<Groups>
<Group>
...
</Group>
</Groups>
<Devices>
<!-- DIO, GPIO, FMMU=2, SM=3, DI=16, DO=16, ProductCode="#x00010200" RevisionNo="#x00000001" -->
<Device Physics="YY">
<Type ProductCode="#x00010200" RevisionNo="#x00000001">AX58100_EVB_DIO_16</Type>
<Name LcId="1031">AX58100 EVB (Digital 16-Input/16-Output)</Name>
<GroupType>AX58100_EVB</GroupType>
<Fmmu>Outputs</Fmmu>
<Fmmu>Inputs</Fmmu>
<Sm StartAddress="#x0f02" ControlByte="#x44" Enable="1" OpOnly="1">Outputs</Sm>
<Sm StartAddress="#x0f03" ControlByte="#x44" Enable="1" OpOnly="1">Outputs</Sm>
<Sm StartAddress="#x1000" ControlByte="0" Enable="1">Inputs</Sm>
<RxPdo Fixed="1" Sm="0">
<Index>#x1a00</Index>
<Name>Byte 0</Name>
<Entry>
<Index>#x3101</Index>
<SubIndex>1</SubIndex>
<BitLen>8</BitLen>
<Name>Output</Name>
<DataType>BITARR8</DataType>
</Entry>
</RxPdo>
<RxPdo Fixed="1" Sm="1">
<Index>#x1a01</Index>
<Name>Byte 1</Name>
<Entry>
<Index>#x3101</Index>
<SubIndex>2</SubIndex>
<BitLen>8</BitLen>
<Name>Output</Name>
<DataType>BITARR8</DataType>
</Entry>
</RxPdo>
<TxPdo Fixed="1" Sm="2">
<Index>#x1600</Index>
<Name>Byte 0</Name>
<Entry>
<Index>#x3001</Index>
<SubIndex>1</SubIndex>
<BitLen>8</BitLen>
<Name>Input</Name>
<DataType>BITARR8</DataType>
</Entry>
</TxPdo>
<TxPdo Fixed="1" Sm="2">
<Index>#x1601</Index>
<Name>Byte 1</Name>
<Entry>
<Index>#x3001</Index>
<SubIndex>2</SubIndex>
<BitLen>8</BitLen>
<Name>Input</Name>
<DataType>BITARR8</DataType>
</Entry>
</TxPdo>
<Dc>
<OpMode>
<Name>DcOff</Name>
<Desc>DC unused</Desc>
<AssignActivate>#x0000</AssignActivate>
</OpMode>
<OpMode>
<Name>DcSync</Name>
<Desc>DC for synchronization</Desc>
<AssignActivate>#x0100</AssignActivate>
<CycleTimeSync0 Factor="1">0</CycleTimeSync0>
<ShiftTimeSync0>0</ShiftTimeSync0>
</OpMode>
</Dc>
<Eeprom>
<ByteSize>2048</ByteSize>
<ConfigData>040f0044102700ff000000000000</ConfigData>
</Eeprom>
</Device>
</Devices>
</Descriptions>
</EtherCATInfo>
Ethercat does not use TCP nor can you have TCP on the bus.
This is the esi file, I haven't tried it yet but the OEM sent it over along with an older version.
<!-- AX58100 EVB ESI Sample File - "AX58100 EVB (Digital 16-Input/16-Output)" -->
<EtherCATInfo xmlns:xsi="www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="EtherCATInfo.xsd" Version="1.2">
<Vendor>
...
</Vendor>
<Descriptions>
<Groups>
<Group>
...
</Group>
</Groups>
<Devices>
<!-- DIO, GPIO, FMMU=2, SM=3, DI=16, DO=16, ProductCode="#x00010200" RevisionNo="#x00000001" -->
<Device Physics="YY">
<Type ProductCode="#x00010200" RevisionNo="#x00000001">AX58100_EVB_DIO_16</Type>
<Name LcId="1031">AX58100 EVB (Digital 16-Input/16-Output)</Name>
<GroupType>AX58100_EVB</GroupType>
<Fmmu>Outputs</Fmmu>
<Fmmu>Inputs</Fmmu>
<Sm StartAddress="#x0f02" ControlByte="#x44" Enable="1" OpOnly="1">Outputs</Sm>
<Sm StartAddress="#x0f03" ControlByte="#x44" Enable="1" OpOnly="1">Outputs</Sm>
<Sm StartAddress="#x1000" ControlByte="0" Enable="1">Inputs</Sm>
<RxPdo Fixed="1" Sm="0">
<Index>#x1a00</Index>
<Name>Byte 0</Name>
<Entry>
<Index>#x3101</Index>
<SubIndex>1</SubIndex>
<BitLen>8</BitLen>
<Name>Output</Name>
<DataType>BITARR8</DataType>
</Entry>
</RxPdo>
<RxPdo Fixed="1" Sm="1">
<Index>#x1a01</Index>
<Name>Byte 1</Name>
<Entry>
<Index>#x3101</Index>
<SubIndex>2</SubIndex>
<BitLen>8</BitLen>
<Name>Output</Name>
<DataType>BITARR8</DataType>
</Entry>
</RxPdo>
<TxPdo Fixed="1" Sm="2">
<Index>#x1600</Index>
<Name>Byte 0</Name>
<Entry>
<Index>#x3001</Index>
<SubIndex>1</SubIndex>
<BitLen>8</BitLen>
<Name>Input</Name>
<DataType>BITARR8</DataType>
</Entry>
</TxPdo>
<TxPdo Fixed="1" Sm="2">
<Index>#x1601</Index>
<Name>Byte 1</Name>
<Entry>
<Index>#x3001</Index>
<SubIndex>2</SubIndex>
<BitLen>8</BitLen>
<Name>Input</Name>
<DataType>BITARR8</DataType>
</Entry>
</TxPdo>
<Dc>
<OpMode>
<Name>DcOff</Name>
<Desc>DC unused</Desc>
<AssignActivate>#x0000</AssignActivate>
</OpMode>
<OpMode>
<Name>DcSync</Name>
<Desc>DC for synchronization</Desc>
<AssignActivate>#x0100</AssignActivate>
<CycleTimeSync0 Factor="1">0</CycleTimeSync0>
<ShiftTimeSync0>0</ShiftTimeSync0>
</OpMode>
</Dc>
<Eeprom>
<ByteSize>2048</ByteSize>
<ConfigData>040f0044102700ff000000000000</ConfigData>
</Eeprom>
</Device>
</Devices>
</Descriptions>
</EtherCATInfo>
Last edit: 18 Jul 2024 12:28 by Ethercatuser. Reason: format
Please Log in or Create an account to join the conversation.
Time to create page: 0.360 seconds