Kinko ECT coupler
- bkt
-
Topic Author
- Offline
- Platinum Member
-
Less
More
- Posts: 1111
- Thank you received: 114
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 .....
seems to work ... but for obtain the real value of pdos need to use these one ...
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 ....
regards
<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 17regards
Please Log in or Create an account to join the conversation.
- Hakan
- Offline
- Platinum Member
-
Less
More
- Posts: 1184
- Thank you received: 414
22 Jan 2026 10:33 - 22 Jan 2026 10:34 #341688
by Hakan
Replied by Hakan on topic Kinko ECT coupler
TryNote the bit.
<pdoEntry idx="0x7020" subIdx="0x01" bitLen="8" halPin="out-byte-0" halType="bit"/>
Last edit: 22 Jan 2026 10:34 by Hakan.
Please Log in or Create an account to join the conversation.
- rodw
-
- Away
- Platinum Member
-
Less
More
- Posts: 11701
- Thank you received: 3954
22 Jan 2026 11:11 #341691
by rodw
Replied by rodw on topic Kinko ECT coupler
Probably more like this where a bitmap exists. Note that in places its padded with unused bits
<pdoEntry idx="60FD" subIdx="0" bitLen="32" halType="complex">
<complexEntry bitLen="1" halPin="CW-limit" halType="bit"/>
<complexEntry bitLen="1" halPin="CCW-limit" halType="bit"/>
<complexEntry bitLen="1" halPin="in-home" halType="bit"/>
<complexEntry bitLen="13"/>
<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="10"/>
</pdoEntry> Please Log in or Create an account to join the conversation.
Time to create page: 0.053 seconds