Kinko ECT coupler

  • bkt
  • bkt's Avatar Topic Author
  • Offline
  • Platinum Member
  • Platinum Member
More
19 Jan 2026 12:27 #341575 by bkt
Kinko ECT coupler was created by bkt
hello at all ... i try to load new coupler kinko etc .... with some in / out analogue in and out relays ... i try to use a custo xml based on pdos and sdos teminal reply .....
<masters>
  <master idx="0" appTimePeriod="1000000" refClockSyncCycles="1">
    <slave idx="0" type="generic" vid="0x00681168" pid="0x52503230" configPdos="true">

      <sdoConfig idx="0x1c12" subIdx="0"><sdoDataRaw data="00"/></sdoConfig>
      <sdoConfig idx="0x1c13" subIdx="0"><sdoDataRaw data="00"/></sdoConfig>
      <sdoConfig idx="0x1c12" subIdx="1"><sdoDataRaw data="0216"/></sdoConfig>
      <sdoConfig idx="0x1c12" subIdx="2"><sdoDataRaw data="0316"/></sdoConfig>
      <sdoConfig idx="0x1c12" subIdx="0"><sdoDataRaw data="02"/></sdoConfig>
      <sdoConfig idx="0x1c13" subIdx="1"><sdoDataRaw data="001a"/></sdoConfig>
      <sdoConfig idx="0x1c13" subIdx="2"><sdoDataRaw data="011a"/></sdoConfig>
      <sdoConfig idx="0x1c13" subIdx="0"><sdoDataRaw data="02"/></sdoConfig>

      <syncManager idx="2" dir="out">
        <pdo idx="0x1602">
          <pdoEntry idx="0x7020" subIdx="0x01" bitLen="8" halPin="out-byte-0" halType="u32"/>
          <pdoEntry idx="0x7020" subIdx="0x02" bitLen="8" halPin="out-byte-1" halType="u32"/>
        </pdo>
        <pdo idx="0x1603">
          <pdoEntry idx="0x7030" subIdx="0x01" bitLen="8" halPin="relay-byte-0" halType="u32"/>
        </pdo>
      </syncManager>

      <syncManager idx="3" dir="in">
        <pdo idx="0x1a00">
          <pdoEntry idx="0x6000" subIdx="0x01" bitLen="8" halPin="in-byte-0" halType="u32"/>
          <pdoEntry idx="0x6000" subIdx="0x02" bitLen="8" halPin="in-byte-1" halType="u32"/>
        </pdo>
        <pdo idx="0x1a01">
          <pdoEntry idx="0x6010" subIdx="0x01" bitLen="16" halPin="analog-0" halType="s32"/>
          <pdoEntry idx="0x6010" subIdx="0x02" bitLen="16" halPin="analog-1" halType="s32"/>
          <pdoEntry idx="0x6010" subIdx="0x03" bitLen="16" halPin="analog-2" halType="s32"/>
          <pdoEntry idx="0x6010" subIdx="0x04" bitLen="16" halPin="analog-3" halType="s32"/>
        </pdo>
      </syncManager>

    </slave>
  </master>
</masters>

seems to work ... but for obtain the real value of pdos need to use these one ...
<masters>
  <master idx="0" appTimePeriod="1000000" refClockSyncCycles="1">
    <slave idx="0" type="generic" vid="0x00681168" pid="0x52503230" configPdos="true">

      <sdoConfig idx="0x1c12" subIdx="0"><sdoDataRaw data="00"/></sdoConfig>
      <sdoConfig idx="0x1c13" subIdx="0"><sdoDataRaw data="00"/></sdoConfig>
      <sdoConfig idx="0x1c12" subIdx="1"><sdoDataRaw data="0216"/></sdoConfig>
      <sdoConfig idx="0x1c12" subIdx="2"><sdoDataRaw data="0316"/></sdoConfig>
      <sdoConfig idx="0x1c12" subIdx="0"><sdoDataRaw data="02"/></sdoConfig>
      <sdoConfig idx="0x1c13" subIdx="1"><sdoDataRaw data="001a"/></sdoConfig>
      <sdoConfig idx="0x1c13" subIdx="2"><sdoDataRaw data="011a"/></sdoConfig>
      <sdoConfig idx="0x1c13" subIdx="0"><sdoDataRaw data="02"/></sdoConfig>

      <syncManager idx="2" dir="out">
        <pdo idx="0x1602">
          <pdoEntry idx="0x7020" subIdx="0x01" bitLen="8" halPin="out-byte-0" halType="u32"/>
          <pdoEntry idx="0x7020" subIdx="0x02" bitLen="8" halPin="out-byte-1" halType="u32"/>
        </pdo>
        <pdo idx="0x1603">
          <pdoEntry idx="0x7030" subIdx="0x01" bitLen="8" halPin="relay-byte-0" halType="u32"/>
        </pdo>
      </syncManager>

      <syncManager idx="3" dir="in">
        <pdo idx="0x1a00">
          <pdoEntry idx="0x6000" subIdx="0x01" bitLen="8" halPin="in-byte-0" halType="u32"/>
          <pdoEntry idx="0x6000" subIdx="0x02" bitLen="8" halPin="in-byte-1" halType="u32"/>
        </pdo>
        <pdo idx="0x1a01">
          <pdoEntry idx="0x6010" subIdx="0x01" bitLen="16" halPin="analog-0" halType="s32"/>
          <pdoEntry idx="0x6010" subIdx="0x02" bitLen="16" halPin="analog-1" halType="s32"/>
          <pdoEntry idx="0x6010" subIdx="0x03" bitLen="16" halPin="analog-2" halType="s32"/>
          <pdoEntry idx="0x6010" subIdx="0x04" bitLen="16" halPin="analog-3" halType="s32"/>
        </pdo>
      </syncManager>

    </slave>
  </master>
</masters>

problem become create everytime a new .hal file based on new module added .... for obtain bit correctly need to use bitslice component .... that is no so fast .... there is a giude for create a new lcec-kinko-c e lcec-kinko.h library so no need to use bitsile or other component for reading and writing bit?? ... thanks to any help .... (p.s. analogue reading is good) .... for better explaine me I add some pdos reading ....
adm1@db13:~$ sudo ethercat reg_read -p 0 -t uint8 3

0x00 0

adm1@db13:~$ sudo ethercat reg_read -p 0 -t uint8 4

0x08 8

adm1@db13:~$ sudo ethercat reg_read -p 0 -t uint8 3

[sudo] password for adm1:

0x00 0

adm1@db13:~$ sudo ethercat reg_read -p 0 -t uint8 2

0x03 3

adm1@db13:~$ sudo ethercat reg_read -p 0 -t uint8 1

0x00 0

adm1@db13:~$ sudo ethercat reg_read -p 0 -t uint8 0

0x11 17

adm1@db13:~$ sudo ethercat reg_read -p 0 -t uint8 4

0x08 8

adm1@db13:~$ sudo ethercat reg_read -p 0 -t uint8 3

0x00 0

adm1@db13:~$ sudo ethercat reg_read -p 0 -t uint8 2

0x03 3

adm1@db13:~$ sudo ethercat reg_read -p 0 -t uint8 1

0x00 0

adm1@db13:~$ sudo ethercat reg_read -p 0 -t uint8 0

0x11 17

regards

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

Time to create page: 0.066 seconds
Powered by Kunena Forum