Hal to Registers. Come in, Registers. Over.

More
27 Sep 2023 20:38 #281739 by endian
Hello,

Yes, there is running stuff from Sockheaven but be very carefully... there is config for AKD2G - which is gantry hardware...

Try :

1) put your DC config at the end of the configuration 
<syncManager idx="0" dir="out"> </syncManager>
<syncManager idx="1" dir="in"> </syncManager>
<syncManager idx="2" dir="out">
<pdo idx="1600">
<pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="TxControlWord" halType="u32"> </pdoEntry>
<pdoEntry idx="607A" subIdx="00" bitLen="32" halPin="TxPositionCommand" halType="u32"/>
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="1a00">
<pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="RxStatusWord" halType="u32"/>
<pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="RxPositionFeedback" halType="float"/>
</pdo>
</syncManager>
<dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0"/>
</slave>
</master>
</masters>

2) configPdos="true" have to he true because you are something setuping

3) setup SDOs have to be at the beginning before definition of cyclic communicaiton objects 
<!--  Set OpMode to Cyclic Synchronous Position  -->
<sdoConfig idx="6060" subIdx="00">
<sdoDataRaw data="08"/>
</sdoConfig>
<!--  Set Cycle Time  -->
<sdoConfig idx="60C2" subIdx="01">
<sdoDataRaw data="01"/>
</sdoConfig>
<!--  Set Cycle exp  -->
<sdoConfig idx="60C2" subIdx="02">
<sdoDataRaw data="FD"/>
</sdoConfig>

<syncManager idx="0" dir="out"> </syncManager>
<syncManager idx="1" dir="in"> </syncManager>
<syncManager idx="2" dir="out">

4) DC config should looks like this 
<!-- <dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0"/> -->
and value of  assignActivate="" should be greater by greating number of active cyclic PDOs ... I do not know if I am right but this parameter is like time window for communication slave in DC synchronized on the fly train ... I am with my old stuff running with 7 in and 4 out cyclic PDOs at assignActivate="660"

from my point of view your basic .xml file should looks like 
<masters>
<master idx="0" appTimePeriod="1000000" refClockSyncCycles="1">
<slave idx="0" type="generic" vid="0000006A" pid="00414b44" configPdos="true">
<!--  Clear SM PDOs  -->
<sdoConfig idx="1C12" subIdx="00">
<sdoDataRaw data="00"/>
</sdoConfig>
<!--  Clear SM PDOs  -->
<sdoConfig idx="1C13" subIdx="00">
<sdoDataRaw data="00"/>
</sdoConfig>
<!--  Clear RX PDO1  -->
<sdoConfig idx="1A00" subIdx="00">
<sdoDataRaw data="00"/>
</sdoConfig>
<!--  Map status word to RX-PDO1  -->
<!--   0x6041 0010  -->
<sdoConfig idx="1A00" subIdx="01">
<sdoDataRaw data="10 00 41 60"/>
</sdoConfig>
<!--  Map position feedback to RX-PDO1  -->
<!--  0x6064 0020  -->
<sdoConfig idx="1A00" subIdx="02">
<sdoDataRaw data="20 00 64 60"/>
</sdoConfig>
<!--  Set RX-PDO1 count to 2  -->
<sdoConfig idx="1A00" subIdx="00">
<sdoDataRaw data="02"/>
</sdoConfig>

<!--  Clear RX-PDO2  -->
<sdoConfig idx="1A01" subIdx="00">
<sdoDataRaw data="00"/>
</sdoConfig>
<!--  Clear RX-PDO3  -->
<sdoConfig idx="1A02" subIdx="00">
<sdoDataRaw data="00"/>
</sdoConfig>
<!--  Clear RX-PDO4  -->
<sdoConfig idx="1A03" subIdx="00">
<sdoDataRaw data="00"/>
</sdoConfig>

<!--  Clear TX-PDO1  -->
<sdoConfig idx="1600" subIdx="00">
<sdoDataRaw data="00"/>
</sdoConfig>
<!--  Map control word to TX-PDO1  -->
<!--  0x6040 0010  -->
<sdoConfig idx="1600" subIdx="01">
<sdoDataRaw data="10 00 40 60"/>
</sdoConfig>
<!--  Map position command to TX-PDO1  -->
<!--  0x607A 0020  -->
<sdoConfig idx="1600" subIdx="02">
<sdoDataRaw data="20 00 7A 60"/>
</sdoConfig>
<!--  Set TX-PDO1 count to 2  -->
<sdoConfig idx="1600" subIdx="00">
<sdoDataRaw data="02"/>
</sdoConfig>

<!--  Clear TX-PDO2  -->
<sdoConfig idx="1601" subIdx="00">
<sdoDataRaw data="00"/>
</sdoConfig>
<!--  Clear TX-PDO3  -->
<sdoConfig idx="1602" subIdx="00">
<sdoDataRaw data="00"/>
</sdoConfig>
<!--  Clear TX-PDO4  -->
<sdoConfig idx="1603" subIdx="00">
<sdoDataRaw data="00"/>
</sdoConfig>

<!--  Download PDO 0x1C12:01 index  -->
<!--  0x1600  -->
<sdoConfig idx="1C12" subIdx="01">
<sdoDataRaw data="00 16"/>
</sdoConfig>
<!--  Download PDO 0x1C12 count  -->
<sdoConfig idx="1C12" subIdx="00">
<sdoDataRaw data="01"/>
</sdoConfig>

<!--  Download PDO 0x1C13:01 index  -->
<!--  0x1A00  -->
<sdoConfig idx="1C13" subIdx="01">
<sdoDataRaw data="00 1A"/>
</sdoConfig>
<!--  Download PDO 0x1C13 count  -->
<sdoConfig idx="1C13" subIdx="00">
<sdoDataRaw data="01"/>
</sdoConfig>


<!--  Set OpMode to Cyclic Synchronous Position  -->
<sdoConfig idx="6060" subIdx="00">
<sdoDataRaw data="08"/>
</sdoConfig>
<!--  Set Cycle Time  -->
<sdoConfig idx="60C2" subIdx="01">
<sdoDataRaw data="01"/>
</sdoConfig>
<!--  Set Cycle exp  -->
<sdoConfig idx="60C2" subIdx="02">
<sdoDataRaw data="FD"/>
</sdoConfig>

<syncManager idx="0" dir="out"> </syncManager>
<syncManager idx="1" dir="in"> </syncManager>
<syncManager idx="2" dir="out">
<pdo idx="1600">
<pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="TxControlWord" halType="u32"> </pdoEntry>
<pdoEntry idx="607A" subIdx="00" bitLen="32" halPin="TxPositionCommand" halType="s32" />
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="1A00">
<pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="RxStatusWord" halType="u32"/>
<pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="RxPositionFeedback" halType="s32"/>
</pdo>
</syncManager>
<dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0"/>
</slave>
</master>
</masters>

I am glad to hear something was helpful... try to learn on someones fails no on your owns 
The following user(s) said Thank You: rwistort

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

Time to create page: 0.337 seconds
Powered by Kunena Forum