First time to try build my xml for not listed ethercat in-out component

  • bkt
  • bkt's Avatar Topic Author
  • Offline
  • Platinum Member
  • Platinum Member
More
18 Apr 2025 16:44 - 18 Apr 2025 18:47 #326611 by bkt
For first time try to build a correct .xml file for uses svelec i/o devices .... my first unworking test here ... in attach the product .xml file.

<master idx="0" appTimePeriod="8000000" refClockSyncCycles="1">
    <slave idx="0" type="S1-M20" name="S1-M20"/>
    <slave idx="1" type="generic" vid="0x00000B3D" pid="0x1201B602" rev="0x00000003" name="ECL16DP">
      <syncManager idx="0" dir="out" address="0x0f02" size="1" controlByte="0x44" enable="true" opOnly="true"/>
      <syncManager idx="1" dir="out" address="0x0f03" size="1" controlByte="0x44" enable="true" opOnly="true"/>
      <syncManager idx="2" dir="in" address="0x1000" size="2" controlByte="0x00" enable="true"/>
      <syncManager idx="0">
        <pdo idx="0x1600" name="Byte 0 outs">
          <pdoEntry idx="0x7000" subIdx="1" bitLen="1" halPin="out-0-bit-0" halType="bit"/>
          <pdoEntry idx="0x7000" subIdx="2" bitLen="1" halPin="out-0-bit-1" halType="bit"/>
          <pdoEntry idx="0x7000" subIdx="3" bitLen="1" halPin="out-0-bit-2" halType="bit"/>
          <pdoEntry idx="0x7000" subIdx="4" bitLen="1" halPin="out-0-bit-3" halType="bit"/>
          <pdoEntry idx="0x7000" subIdx="5" bitLen="1" halPin="out-0-bit-4" halType="bit"/>
          <pdoEntry idx="0x7000" subIdx="6" bitLen="1" halPin="out-0-bit-5" halType="bit"/>
          <pdoEntry idx="0x7000" subIdx="7" bitLen="1" halPin="out-0-bit-6" halType="bit"/>
          <pdoEntry idx="0x7000" subIdx="8" bitLen="1" halPin="out-0-bit-7" halType="bit"/>
        </pdo>
      </syncManager>
      <syncManager idx="1">
        <pdo idx="0x1601" name="Byte 1 outs">
          <pdoEntry idx="0x7001" subIdx="1" bitLen="1" halPin="out-1-bit-0" halType="bit"/>
          <pdoEntry idx="0x7001" subIdx="2" bitLen="1" halPin="out-1-bit-1" halType="bit"/>
          <pdoEntry idx="0x7001" subIdx="3" bitLen="1" halPin="out-1-bit-2" halType="bit"/>
          <pdoEntry idx="0x7001" subIdx="4" bitLen="1" halPin="out-1-bit-3" halType="bit"/>
          <pdoEntry idx="0x7001" subIdx="5" bitLen="1" halPin="out-1-bit-4" halType="bit"/>
          <pdoEntry idx="0x7001" subIdx="6" bitLen="1" halPin="out-1-bit-5" halType="bit"/>
          <pdoEntry idx="0x7001" subIdx="7" bitLen="1" halPin="out-1-bit-6" halType="bit"/>
          <pdoEntry idx="0x7001" subIdx="8" bitLen="1" halPin="out-1-bit-7" halType="bit"/>
        </pdo>
      </syncManager>
      <syncManager idx="2">
        <pdo idx="0x1a00" name="Byte 0 ins">
          <pdoEntry idx="0x6000" subIdx="1" bitLen="1" halPin="in-0-bit-0" halType="bit"/>
          <pdoEntry idx="0x6000" subIdx="2" bitLen="1" halPin="in-0-bit-1" halType="bit"/>
          <pdoEntry idx="0x6000" subIdx="3" bitLen="1" halPin="in-0-bit-2" halType="bit"/>
          <pdoEntry idx="0x6000" subIdx="4" bitLen="1" halPin="in-0-bit-3" halType="bit"/>
          <pdoEntry idx="0x6000" subIdx="5" bitLen="1" halPin="in-0-bit-4" halType="bit"/>
          <pdoEntry idx="0x6000" subIdx="6" bitLen="1" halPin="in-0-bit-5" halType="bit"/>
          <pdoEntry idx="0x6000" subIdx="7" bitLen="1" halPin="in-0-bit-6" halType="bit"/>
          <pdoEntry idx="0x6000" subIdx="8" bitLen="1" halPin="in-0-bit-7" halType="bit"/>
        </pdo>
        <pdo idx="0x1a01" name="Byte 1 ins">
          <pdoEntry idx="0x6001" subIdx="1" bitLen="1" halPin="in-1-bit-0" halType="bit"/>
          <pdoEntry idx="0x6001" subIdx="2" bitLen="1" halPin="in-1-bit-1" halType="bit"/>
          <pdoEntry idx="0x6001" subIdx="3" bitLen="1" halPin="in-1-bit-2" halType="bit"/>
          <pdoEntry idx="0x6001" subIdx="4" bitLen="1" halPin="in-1-bit-3" halType="bit"/>
          <pdoEntry idx="0x6001" subIdx="5" bitLen="1" halPin="in-1-bit-4" halType="bit"/>
          <pdoEntry idx="0x6001" subIdx="6" bitLen="1" halPin="in-1-bit-5" halType="bit"/>
          <pdoEntry idx="0x6001" subIdx="7" bitLen="1" halPin="in-1-bit-6" halType="bit"/>
          <pdoEntry idx="0x6001" subIdx="8" bitLen="1" halPin="in-1-bit-7" halType="bit"/>
        </pdo>
      </syncManager>
    </slave>
  </master>
</masters>


if possible try to have some suggestion or link for make it working ... [img]/media/kunena/emoticons/silly.png[/img]
Attachments:
Last edit: 18 Apr 2025 18:47 by bkt.

Please Log in or Create an account to join the conversation.

More
18 Apr 2025 19:08 #326625 by endian
Hi,

share outcome from the command of
ethercat pdos

and 
ethercat slaves -v

then you will be able to create PDOs ...

If slave has DC or any configuration over SDOs - easist way is do it over TC3 - my experiences
The following user(s) said Thank You: bkt

Please Log in or Create an account to join the conversation.

More
18 Apr 2025 19:47 #326627 by Hakan
If I understand right you have bit-arrays and need to create individual pins for each bit. You do that with complexEntry, for example like this.
        <pdo idx="1a00">
          <pdoEntry idx="6000" subIdx="00" bitLen="32" 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"/>
            <complexEntry bitLen="1" halPin="in-12" halType="bit"/>
            <complexEntry bitLen="20"/>
          </pdoEntry>
        </pdo>
Create a close-to-working config using "lcec_configgen".
Debug output including config errors/warnings/info with "sudo dmesg" the last couple of lines.
 

Please Log in or Create an account to join the conversation.

More
19 Apr 2025 07:54 #326668 by rodw
hakan is on the right track
There are a couple of xml files here with configs for Rtelligent and Deiwu I.O modules created exactly how endian menrions
github.com/rodw-au/linuxcnc-cia402
The following user(s) said Thank You: bkt

Please Log in or Create an account to join the conversation.

  • bkt
  • bkt's Avatar Topic Author
  • Offline
  • Platinum Member
  • Platinum Member
More
19 Apr 2025 13:17 #326706 by bkt
you are in right but nor have tc3 avaiable now .... and not interested in license buy.

more late try if pdos command sho sometings ... i have some doubt .... they are strage unit ....

regards
 

Please Log in or Create an account to join the conversation.

  • bkt
  • bkt's Avatar Topic Author
  • Offline
  • Platinum Member
  • Platinum Member
More
19 Apr 2025 13:37 #326709 by bkt
.... whit ethercat pdos obtain think long list of all devices possible to connect to coupler .... copy here ...
Warning: Spoiler!

Please Log in or Create an account to join the conversation.

  • bkt
  • bkt's Avatar Topic Author
  • Offline
  • Platinum Member
  • Platinum Member
More
19 Apr 2025 15:21 #326713 by bkt
so now modify my xml in these way .... but have error .... onf: ERROR: Parse error at line 1: not well-formed (invalid token)  .... and real these is not understand ....

Warning: Spoiler!

Please Log in or Create an account to join the conversation.

More
19 Apr 2025 17:16 #326723 by Hakan
Run the "lcec_configgen" command and put the output in a file.
It will have all the pdos, but you can just delete all except the ones you need. So you need to figure out which PDOs you need to use.
It will also have all the numbers etc in the right places, so if you are lucky it can work.
At least use it as starting point.
 
The following user(s) said Thank You: bkt

Please Log in or Create an account to join the conversation.

  • bkt
  • bkt's Avatar Topic Author
  • Offline
  • Platinum Member
  • Platinum Member
More
20 Apr 2025 07:34 #326747 by bkt
Thanks but lcec configgen and ethercat pdos ... seems to reply with complete list of supported expansion module of coupler S1-M20.... maybe module need to be configure via tc3 for see from linuxcnc .....

.xml send to me from svelec talk exactly of 0x1600 and 0x1601 register that not compare in the list .... compare only 0x1600 and 0x1610 .... real strange situation. Perhaps I verify el1x.c file .... ecl16dp-in is equal to el1809 module, 16bit register for 0x1600 .... and el2x.c file can work for ecl16dp-out too with same register ...

Please Log in or Create an account to join the conversation.

More
20 Apr 2025 07:50 #326748 by Hakan
Please post the output of lcec_configgen.
The following user(s) said Thank You: bkt

Please Log in or Create an account to join the conversation.

Time to create page: 0.266 seconds
Powered by Kunena Forum