Unnamed CATIO-A Device Configuration (help!)
- MTate01
- Offline
- New Member
-
Less
More
- Posts: 6
- Thank you received: 0
22 May 2025 09:28 #328900
by MTate01
Unnamed CATIO-A Device Configuration (help!) was created by MTate01
I am trying to get an un-named, un-branded etherCAT IO module to work - the company I work for had picked it up some years ago for a project that fell through. I don't have an ESI for the board, and so I am trying to rely on what i can read from etherCAT. attached are images of the device with a switch and LED wired (next problem)
here is my output of ethercat xml -p1:
and so i tried to add it to my ethercat-conf.xml file as such (the following is an extract from a working config):I tried adjusting configPdos to true, as well as false with as little provided information as possible... still won't enter SAFEOP or OP state and instead errors out and back to PREOP E. here is the output from halcmd dmesg -w:
Can anyone help me with configuring this module?
here is my output of ethercat xml -p1:
?xml version="1.0" ?>
<EtherCATInfo>
<!-- Slave 1 -->
<Vendor>
<Id>591240</Id>
</Vendor>
<Descriptions>
<Devices>
<Device>
<Type ProductCode="#x00109252" RevisionNo="#x00058100">IMC IO EtherCAT</Type>
<Name><![CDATA[IMC IO MODEL with EtherCAT]]></Name>
<Sm Enable="1" StartAddress="#x1000" ControlByte="#x26" DefaultSize="128" />
<Sm Enable="1" StartAddress="#x1100" ControlByte="#x22" DefaultSize="128" />
<Sm Enable="1" StartAddress="#x1200" ControlByte="#x64" DefaultSize="0" />
<Sm Enable="1" StartAddress="#x1400" ControlByte="#x20" DefaultSize="0" />
<RxPdo Sm="2" Fixed="1" Mandatory="1">
<Index>#x1600</Index>
<Name>RxPDO-Map</Name>
<Entry>
<Index>#x7000</Index>
<SubIndex>1</SubIndex>
<BitLen>8</BitLen>
<Name></Name>
<DataType>UINT8</DataType>
</Entry>
</RxPdo>
<TxPdo Sm="3" Fixed="1" Mandatory="1">
<Index>#x1a00</Index>
<Name>TxPDO-Map</Name>
<Entry>
<Index>#x6000</Index>
<SubIndex>1</SubIndex>
<BitLen>8</BitLen>
<Name></Name>
<DataType>UINT8</DataType>
</Entry>
</TxPdo>
</Device>
</Devices>
</Descriptions>
</EtherCATInfo>
and so i tried to add it to my ethercat-conf.xml file as such (the following is an extract from a working config):
<slave idx="1" type="generic" vid="0x00090588" pid="0x00109252" configPdos="false">
<syncManager idx="2" dir="out">
<pdo idx="1600">
<pdoEntry idx="7000" subIdx="01" bitLen="8" halPin="imcio-do0" halType="bit"/>
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="1a00">
<pdoEntry idx="6000" subIdx="01" bitLen="8" halPin="imcio-di0" halType="bit"/>
</pdo>
</syncManager>
</slave>
[270386.928285] EtherCAT ERROR 0-1: Failed to set SAFEOP state, slave refused state change (PREOP + ERROR).
[270386.929285] EtherCAT ERROR 0-1: AL status message 0x0017: "Invalid sync manager configuration".
Can anyone help me with configuring this module?
Please Log in or Create an account to join the conversation.
- Hakan
- Offline
- Platinum Member
-
Less
More
- Posts: 721
- Thank you received: 244
22 May 2025 09:59 #328901
by Hakan
Replied by Hakan on topic Unnamed CATIO-A Device Configuration (help!)
Generally, try the output of "lcec_configgen" for this slave and see if that helps.
Then if no success, hook it up to TwinCAT and see if you can find anything helpful there.
And of course googleing, found this forum.linuxcnc.org/ethercat/53438-etherc...pindle-estop-and-mpg
Then if no success, hook it up to TwinCAT and see if you can find anything helpful there.
And of course googleing, found this forum.linuxcnc.org/ethercat/53438-etherc...pindle-estop-and-mpg
Please Log in or Create an account to join the conversation.
- MTate01
- Offline
- New Member
-
Less
More
- Posts: 6
- Thank you received: 0
23 May 2025 05:44 #328959
by MTate01
Replied by MTate01 on topic Unnamed CATIO-A Device Configuration (help!)
lcec_configgen resulted in a fairly similar output to what I had already configured.
From that additional post you linked, they found the config files for what seems to be a very similar IO board/device to mine, but the ESI (xml file) seems to be rather... convoluted?
I have attached it, but unfortunately didnt' reveal enough information for me to figure out anything new - and thus i'm still stuck on PREOP E.
I'm also not sure how TwinCAT is supposed to work - but i'll keep playing with that and hopefully have some luck. maybe you could suggest which package I need?
Here's my whole ethercat-conf.xml as a side note, in case you see something wrong with it: [/code]
From that additional post you linked, they found the config files for what seems to be a very similar IO board/device to mine, but the ESI (xml file) seems to be rather... convoluted?
I have attached it, but unfortunately didnt' reveal enough information for me to figure out anything new - and thus i'm still stuck on PREOP E.
I'm also not sure how TwinCAT is supposed to work - but i'll keep playing with that and hopefully have some luck. maybe you could suggest which package I need?
Here's my whole ethercat-conf.xml as a side note, in case you see something wrong with it:
[code]<masters>
<master idx="0" appTimePeriod="1000000" refClockSyncCycles="1000">
<slave idx="0" type="generic" vid="00000A88" pid="0a880013" configPdos="true">
<!-- Joint 0 -->
<syncManager idx="0" dir="out">
</syncManager>
<syncManager idx="1" dir="out">
</syncManager>
<syncManager idx="2" dir="out">
<pdo idx="1600">
<pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="cia-controlword" halType="u32" />
<pdoEntry idx="607a" subIdx="00" bitLen="32" halPin="target-position" halType="s32" />
<pdoEntry idx="60b8" subIdx="00" bitLen="16" halPin="touchprobefunction0" halType="bit"/>
</pdo>
<pdo idx="1601">
<pdoEntry idx="6081" subIdx="00" bitLen="32" halPin="profile-velocity" halType="u32"/>
<pdoEntry idx="6083" subIdx="00" bitLen="32" halPin="target-accel" halType="u32" />
<pdoEntry idx="6084" subIdx="00" bitLen="32" halPin="target-decel" halType="u32" />
<pdoEntry idx="6060" subIdx="00" bitLen="8" halPin="opmode" halType="s32"/>
</pdo>
<pdo idx="1602">
<pdoEntry idx="60ff" subIdx="00" bitLen="32" halPin="target-velocity" halType="s32"/>
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="1a00">
<pdoEntry idx="603f" subIdx="00" bitLen="16" halPin="errorcode" halType="bit" />
<pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="cia-statusword" halType="u32" />
<pdoEntry idx="6061" subIdx="00" bitLen="8" halPin="opmode-display" halType="s32"/>
<pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="actual-position" halType="s32" />
<pdoEntry idx="60b9" subIdx="00" bitLen="16" halPin="touchprobestat" halType="bit"/>
<pdoEntry idx="60ba" subIdx="00" bitLen="32" halPin="touchprobe1pos" halType="s32"/>
<pdoEntry idx="60fd" subIdx="00" bitLen="32" halPin="digitalinputs" halType="s32"/>
</pdo>
<pdo idx="1a01">
<pdoEntry idx="606c" subIdx="00" bitLen="32" halPin="actual-velocity" halType="s32"/>
</pdo>
</syncManager>
<dcConf assignActivate="300" sync0Cycle="1000000"/>
</slave>
<slave idx="1" type="generic" vid="0x00090588" pid="0x00109252" configPdos="false">
<!--IMC IO MODEL with EtherCAT-->
<syncManager idx="0" dir="out"/>
<syncManager idx="1" dir="out"/>
<syncManager idx="2" dir="out">
<pdo idx="1600">
<pdoEntry idx="7000" subIdx="01" bitLen="8" halPin="imcio-do0" halType="bit"/>
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="1a00">
<pdoEntry idx="6000" subIdx="01" bitLen="8" halPin="imcio-di0" halType="bit"/>
</pdo>
<dcConf assignActivate="300" sync0Cycle="0"/>
</slave>
</master>
</masters>
Please Log in or Create an account to join the conversation.
- Hakan
- Offline
- Platinum Member
-
Less
More
- Posts: 721
- Thank you received: 244
23 May 2025 09:01 #328965
by Hakan
Replied by Hakan on topic Unnamed CATIO-A Device Configuration (help!)
Twincat is a Windows program, a huge one with a learning curve so if you haven't use it before then it's not worthwhile now. It's anyway only an easier way to view data from the drive and it would be some detective work to see why yours doesn't go OP.
Google is your friend, or actually the search on this forum.
I found this forum.linuxcnc.org/ethercat/52997-ethercat-catio-module-help with what seems like a working config.
And you you should definitely do ajust to make sure the master's data about the client is up-to-date.
Google is your friend, or actually the search on this forum.
I found this forum.linuxcnc.org/ethercat/52997-ethercat-catio-module-help with what seems like a working config.
And you you should definitely do a
ethercat rescan
The following user(s) said Thank You: rodw, MTate01
Please Log in or Create an account to join the conversation.
- Soccer Kid
-
- Offline
- Junior Member
-
Less
More
- Posts: 30
- Thank you received: 5
27 May 2025 01:27 #329186
by Soccer Kid
Replied by Soccer Kid on topic Unnamed CATIO-A Device Configuration (help!)
Hello friend, please refer to the following code. I have the same module and it has been tested and is available. The corresponding pulse counting and other modules only require you to add PDO as needed.
<!-- IO -->
<slave idx="5" type="generic" vid="90588" pid="109252" configPdos="true">
<syncManager idx="2" dir="out">
<pdo idx="1600">
<pdoEntry idx="0x2300" subIdx="00" bitLen="16" halPin="out00" halType="u32"/>
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="1A00">
<pdoEntry idx="2020" subIdx="00" bitLen="32" halPin="encoder" halType="u32"/>
<pdoEntry idx="2000" subIdx="0" bitLen="16" halType="complex">
<complexEntry bitLen="1" halPin="in-1" halType="bit"/>
<complexEntry bitLen="1" halPin="in-2" halType="bit"/>
<complexEntry bitLen="1" halPin="in-3" halType="bit"/>
<complexEntry bitLen="1" halPin="in-4" halType="bit"/>
<complexEntry bitLen="1" halPin="in-5" halType="bit"/>
<complexEntry bitLen="1" halPin="in-6" halType="bit"/>
<complexEntry bitLen="1" halPin="in-7" halType="bit"/>
<complexEntry bitLen="1" halPin="in-8" halType="bit"/>
<complexEntry bitLen="1" halPin="in-9" halType="bit"/>
<complexEntry bitLen="1" halPin="in-10" halType="bit"/>
<complexEntry bitLen="1" halPin="in-11" halType="bit"/>
</pdoEntry>
</pdo>
</syncManager>
</slave>
<!-- IO -->
<slave idx="5" type="generic" vid="90588" pid="109252" configPdos="true">
<syncManager idx="2" dir="out">
<pdo idx="1600">
<pdoEntry idx="0x2300" subIdx="00" bitLen="16" halPin="out00" halType="u32"/>
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="1A00">
<pdoEntry idx="2020" subIdx="00" bitLen="32" halPin="encoder" halType="u32"/>
<pdoEntry idx="2000" subIdx="0" bitLen="16" halType="complex">
<complexEntry bitLen="1" halPin="in-1" halType="bit"/>
<complexEntry bitLen="1" halPin="in-2" halType="bit"/>
<complexEntry bitLen="1" halPin="in-3" halType="bit"/>
<complexEntry bitLen="1" halPin="in-4" halType="bit"/>
<complexEntry bitLen="1" halPin="in-5" halType="bit"/>
<complexEntry bitLen="1" halPin="in-6" halType="bit"/>
<complexEntry bitLen="1" halPin="in-7" halType="bit"/>
<complexEntry bitLen="1" halPin="in-8" halType="bit"/>
<complexEntry bitLen="1" halPin="in-9" halType="bit"/>
<complexEntry bitLen="1" halPin="in-10" halType="bit"/>
<complexEntry bitLen="1" halPin="in-11" halType="bit"/>
</pdoEntry>
</pdo>
</syncManager>
</slave>
The following user(s) said Thank You: MTate01
Please Log in or Create an account to join the conversation.
Time to create page: 0.251 seconds