A6 Ethercat - digital IO mapping?
- spumco
- Away
- Platinum Member
-
Less
More
- Posts: 2088
- Thank you received: 865
25 May 2026 23:58 #346631
by spumco
Replied by spumco on topic A6 Ethercat - digital IO mapping?
no sdos.txt was created.
pdos.txt below:
pdos.txt below:
M0: PhysAddr 0x1000, DefaultSize 256, ControlRegister 0x26, Enable 1
SM1: PhysAddr 0x1400, DefaultSize 256, ControlRegister 0x22, Enable 1
SM2: PhysAddr 0x1800, DefaultSize 12, ControlRegister 0x64, Enable 1
RxPDO 0x1600 ""
PDO entry 0x6040:00, 16 bit, ""
PDO entry 0x607a:00, 32 bit, ""
PDO entry 0x60b8:00, 16 bit, ""
PDO entry 0x6060:00, 8 bit, ""
PDO entry 0x60fe:01, 32 bit, ""
PDO entry 0x60fe:02, 32 bit, ""
SM3: PhysAddr 0x1c00, DefaultSize 28, ControlRegister 0x20, Enable 1
TxPDO 0x1a00 ""
PDO entry 0x6041:00, 16 bit, ""
PDO entry 0x6064:00, 32 bit, ""
PDO entry 0x60ba:00, 32 bit, ""
PDO entry 0x60bc:00, 32 bit, ""
PDO entry 0x60b9:00, 16 bit, ""
PDO entry 0x603f:00, 16 bit, ""
PDO entry 0x60fd:00, 32 bit, ""
PDO entry 0x60f4:00, 32 bit, ""Please Log in or Create an account to join the conversation.
- rodw
-
- Away
- Platinum Member
-
Less
More
- Posts: 11907
- Thank you received: 4051
26 May 2026 01:23 #346633
by rodw
Replied by rodw on topic A6 Ethercat - digital IO mapping?
ok, seems its like
Keep the rest of the entries there. Things like status words are important
Also make sure the total bits adds up to 32, pad out unused ones
<syncManager idx="3" dir="in">
<pdo idx="1a00">
.......
<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>
</pdo>Keep the rest of the entries there. Things like status words are important
Also make sure the total bits adds up to 32, pad out unused ones
Please Log in or Create an account to join the conversation.
- rodw
-
- Away
- Platinum Member
-
Less
More
- Posts: 11907
- Thank you received: 4051
26 May 2026 01:24 #346634
by rodw
Replied by rodw on topic A6 Ethercat - digital IO mapping?
To test output , connect one output to your coolant in hal and see if it triggers.
Please Log in or Create an account to join the conversation.
- rodw
-
- Away
- Platinum Member
-
Less
More
- Posts: 11907
- Thank you received: 4051
26 May 2026 01:30 #346635
by rodw
Replied by rodw on topic A6 Ethercat - digital IO mapping?
oops should be
Also
<pdoEntry idx="60FD" subIdx="2" bitLen="32" halType="complex"> seems like it will control whether the IO is enabled or not
<pdoEntry idx="60FD" subIdx="1" bitLen="32" halType="complex">Also
<pdoEntry idx="60FD" subIdx="2" bitLen="32" halType="complex"> seems like it will control whether the IO is enabled or not
The following user(s) said Thank You: spumco
Please Log in or Create an account to join the conversation.
- spumco
- Away
- Platinum Member
-
Less
More
- Posts: 2088
- Thank you received: 865
26 May 2026 01:53 #346639
by spumco
Replied by spumco on topic A6 Ethercat - digital IO mapping?
<pdoEntry idx="60FD" subIdx="2" bitLen="32" halType="complex">
does control the enable - or at least whatever that line in the object dictionary refers to.
I have no problem sending values to the drive, and can change the value by changing the bits and 'padding' in xml file.
What I don't know is which bit(s) - what value - the drive requires to turn the outputs on. As I mentioned earlier I've mapped bits 1 & 2 to both sub-index 1 and sub-index 2 and turned both 'on.' Tried the same thing for bits 16 & 17.
I guess I could just brute-force it and try ALL the 32 bits for botrh sub-indexes.
does control the enable - or at least whatever that line in the object dictionary refers to.
I have no problem sending values to the drive, and can change the value by changing the bits and 'padding' in xml file.
What I don't know is which bit(s) - what value - the drive requires to turn the outputs on. As I mentioned earlier I've mapped bits 1 & 2 to both sub-index 1 and sub-index 2 and turned both 'on.' Tried the same thing for bits 16 & 17.
I guess I could just brute-force it and try ALL the 32 bits for botrh sub-indexes.
Please Log in or Create an account to join the conversation.
- spumco
- Away
- Platinum Member
-
Less
More
- Posts: 2088
- Thank you received: 865
26 May 2026 02:53 #346643
by spumco
Replied by spumco on topic A6 Ethercat - digital IO mapping?
I found the following in the generic xml file from the Stepperonline site:
<DataType>
<Name>DT60FE</Name>
<BitSize>80</BitSize>
<SubItem>
<SubIdx>0</SubIdx>
<Name>SubIndex 000</Name>
<Type>USINT</Type>
<BitSize>8</BitSize>
<BitOffs>0</BitOffs>
<Flags>
<Access>ro</Access>
</Flags>
</SubItem>
<SubItem>
<SubIdx>1</SubIdx>
<Name>Physical outputs</Name>
<Type>UDINT</Type>
<BitSize>32</BitSize>
<BitOffs>16</BitOffs>
<Flags>
<Access>rw</Access>
<PdoMapping>R</PdoMapping>
</Flags>
</SubItem>
<SubItem>
<SubIdx>2</SubIdx>
<Name>Bit Mask</Name>
<Type>UDINT</Type>
<BitSize>32</BitSize>
<BitOffs>48</BitOffs>
<Flags>
<Access>rw</Access>
<PdoMapping>R</PdoMapping>
</Flags>
</SubItem>
I tried changing sub-index 1 to bit 4, and that sent a value of '16' to the drive.
Also changed sub-index 2 to bits 4&5, resulting in two HAL pins. When I turned both of those on the drive reported "48" in the 'Enable Physical Output' field.
No output turned on.
Maybe there's some way to interpret this to figure out what the values are?
Warning: Spoiler!
<DataType>
<Name>DT60FE</Name>
<BitSize>80</BitSize>
<SubItem>
<SubIdx>0</SubIdx>
<Name>SubIndex 000</Name>
<Type>USINT</Type>
<BitSize>8</BitSize>
<BitOffs>0</BitOffs>
<Flags>
<Access>ro</Access>
</Flags>
</SubItem>
<SubItem>
<SubIdx>1</SubIdx>
<Name>Physical outputs</Name>
<Type>UDINT</Type>
<BitSize>32</BitSize>
<BitOffs>16</BitOffs>
<Flags>
<Access>rw</Access>
<PdoMapping>R</PdoMapping>
</Flags>
</SubItem>
<SubItem>
<SubIdx>2</SubIdx>
<Name>Bit Mask</Name>
<Type>UDINT</Type>
<BitSize>32</BitSize>
<BitOffs>48</BitOffs>
<Flags>
<Access>rw</Access>
<PdoMapping>R</PdoMapping>
</Flags>
</SubItem>
I tried changing sub-index 1 to bit 4, and that sent a value of '16' to the drive.
Also changed sub-index 2 to bits 4&5, resulting in two HAL pins. When I turned both of those on the drive reported "48" in the 'Enable Physical Output' field.
No output turned on.
Maybe there's some way to interpret this to figure out what the values are?
Please Log in or Create an account to join the conversation.
Time to create page: 0.118 seconds