EL6731 changes cyclically to INIT status

More
03 Mar 2025 18:49 - 03 Mar 2025 18:53 #323101 by fabi0696
I have a problem with the Beckhoff Profibus card EL6731.

It always switches to the INIT state after a few seconds. And this happens again and again. Before that, however, it is always in OP status and data is also exchanged with the slaves. It looks like a timeout to me, but after about 2 days of searching I still haven't found the solution. Maybe someone here can help me and give me the right tip.
I have already replaced the card to exclude a defective card
In the dmesg.txt file in line 1896 you can see that the status changes to INIT. The file contains the complete output after Linuxcnc was started.

I have attached my configuration. If anything else is missing, I can upload it.
I have also attached the TwinCAT project as an archive. I changed the extension “tszip” to “zip” so that I could upload it.


 

File Attachment:

File Name: io.hal
File Size:3 KB

File Attachment:

File Name: ethercat-config.xml
File Size:19 KB

File Attachment:

File Name: dmesg.txt
File Size:250 KB

File Attachment:

File Name: LinuxcncNeu.zip
File Size:194 KB
Attachments:
Last edit: 03 Mar 2025 18:53 by fabi0696.

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

More
03 Mar 2025 19:18 #323103 by endian
Replied by endian on topic EL6731 changes cyclically to INIT status
hello,

trust me... 2 days is nothing

is it all working in the TwinCAT3 enviroment with all your stuff ?

I think this will help you...
replace 
<sdoDataRaw data="03 00 01 00 40 42 0F 00 00 00 00 00"/>
to 
<sdoDataRaw data="03 00 03 00 40 42 0F 00 00 00 00 00"/>

and check timing of profibus inside el6731 master... it can be setted up in a GC mode which is similar to DC in the ethercat world ...
data are cyclical exchange... but a lcnc thread will must be moved to 2ms ... but 2ms for normal cnc are enough

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

More
10 Mar 2025 10:39 #323598 by fabi0696
Replied by fabi0696 on topic EL6731 changes cyclically to INIT status
hello,
Thank you for your answer.
Sorry for the late reply. I've been a bit ill and didn't get a chance to test it.

I have changed the line as described.
 <sdoDataRaw data="03 00 03 00 40 42 0F 00 00 00 00 00"/>

It actually seems to be working better now.
I still have the problem that when I restart the coupler it doesn't work right away... it only works after I have loaded the configuration once with TwinCAT. I think I'll have to see which CoE register might have a different value.

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

More
10 Mar 2025 13:28 #323604 by endian
Replied by endian on topic EL6731 changes cyclically to INIT status
If you are following steps which I have desribed somewhere here at the forum... It has to working properly every time on startup.. I am running profibus, profinet and canopen on single koppler in same time over ethercat

After koppler restart have a look at command -

sudo systemctl restart ethercat.service

... But U are decribing other type of problem... I am currently working on C# console app which will generate us configuration from ethercat slaves && ethercat pdos commands ... I have beta version but it is not too adult to outcome on public... Do U have a TC3 project?

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

More
10 Mar 2025 15:41 #323614 by fabi0696
Replied by fabi0696 on topic EL6731 changes cyclically to INIT status
Okay, then I'll look for this post.

The other terminals, e.g. the EL7041 terminals, work straight away. Only the ProfiBus does not start straight away after a Koppler restart.

I have the current TC3 project here again. I have changed the file extension tnzip to zip so that I can upload it.

 

File Attachment:

File Name: LinuxcncNe...3-10.zip
File Size:195 KB
Attachments:

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

More
11 Mar 2025 09:06 #323663 by endian
Replied by endian on topic EL6731 changes cyclically to INIT status
it is for EL6751 but it is basically the same ... check my reply maybe it will help U

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

More
15 Mar 2025 20:14 #324022 by endian
Replied by endian on topic EL6731 changes cyclically to INIT status
hello,

have you tried the PDO config download during the configuration in the TC3?

Your config is missing of the DC configuration adn SDO datas cofig too... if your config do not have a DC ... It will be synchronned by the sync manager which behaviour are pure asynchorious ...

If you do not need the FoE and AoE ... it is the best practice to turn them off all ...

save extra time with next features ... maybe it will help you to digging out of this rabbit hole

let me know 

regards

 

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

More
17 Mar 2025 11:08 #324103 by fabi0696
Replied by fabi0696 on topic EL6731 changes cyclically to INIT status
Hello,

thanks for the help... But nothing is working at the moment. :-D 

The best thing to do with 
<sdoDataRaw data=“03 00 01 00 40 42 0F 00 00 00 00 00 00”/>
worked... except that the card always restarted. But with the configuration the process data exchange worked anyway.

Maybe I don't quite understand this.
The operating mode of the EL6731 “DP (Equidistant / no GC)” is correct, isn't it?
That also changes to
<sdoDataRaw data=“03 00 03 00 40 42 0F 00 00 00 00 00 00”/>

I have now deactivated the FoE and AoE. I really don't need that now.

The slaves seem to remain offline and no data exchange.

How can I understand this?

Your config is missing of the DC configuration adn SDO datas cofig too

What have I forgotten?

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

More
23 Mar 2025 11:37 - 23 Mar 2025 17:39 #324649 by endian
Replied by endian on topic EL6731 changes cyclically to INIT status
Hello,

if your config with profibus needs a sync movements... It is necessary to use a Equidistant mode... if not it should be in the free run -

DC sync in your case 1C32 parameter is -
 “03 00 03 00 40 42 0F 00 00 00 00 00 00”
- 40 42 0f 00 == 1ms but it is too short and I can guarantee timing incidents ..

Free run in your case 1C32 parameter is - 
 “03 00 01 00 40 42 0F 00 00 00 00 00 00”
 - 40 42 0f 00 == 1ms but real synchronization it based on scan time of profibus

then you configuration is missing the SDOs -
<!--Slave PDO configuration shaping...-->
<!--EL67xx CoE Init Cmd 0 (1C32:00)-->
<sdoConfig idx="1C32" subIdx="complete">
  <sdoDataRaw data="03 00 03 00 40 42 0F 00 00 00 00 00" />
</sdoConfig>
<!--EL67xx CoE Init Cmd 1 (1C33:00)-->
<sdoConfig idx="1C33" subIdx="complete">
  <sdoDataRaw data="03 00 22 00 00 00 00 00 00 00 00 00" />
</sdoConfig>
<!--EL67xx CoE Init Cmd 2 (F800:00)-->
<sdoConfig idx="F800" subIdx="complete">
  <sdoDataRaw data="11 00 01 09 E8 03 0B 00 20 03 09 10 64 7E 04 01 0A 00 04 00 10 00 00 00 00 00 05 00" />
</sdoConfig>
<!--EL67xx CoE Init Cmd 3 (8000:00)-->
<sdoConfig idx="8000" subIdx="complete">
  <sdoDataRaw data="2D 00 0A 00 00 00 00 00 00 00 00 00 00 00 A8 01 00 00 40 34 00 00 00 00 26 02 00 00 00 00 88 01 14 0B BE CE 00 C0 00 08 00 00 00 00 40 00 63 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 21" />
</sdoConfig>
<!--EL67xx CoE Init Cmd 4 (8010:00)-->
<sdoConfig idx="8010" subIdx="complete">
  <sdoDataRaw data="2D 00 1F 00 00 00 00 00 00 00 00 00 00 00 A0 01 00 00 06 00 00 00 00 00 0A 05 00 00 00 00 80 01 14 0B 81 22 00 00 00 00 C0 07 0D 01 00" />
</sdoConfig>
<!--download pdo 0x1C12 index-->
<sdoConfig idx="1C12" subIdx="complete">
  <sdoDataRaw data="02 00 00 16 01 16" />
</sdoConfig>
<!--download pdo 0x1C13 index-->
<sdoConfig idx="1C13" subIdx="complete">
  <sdoDataRaw data="03 00 00 1A 01 1A 80 1A" />
</sdoConfig>
<!--DP PrmData Slave 010-->
<sdoConfig idx="8001" subIdx="00">
  <sdoDataRaw data="80 01 14 0B BE CE 00 C0 00 08 00 00 00 00 40 00 63 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" />
</sdoConfig>
<!--DP CfgData Slave 010-->
<sdoConfig idx="8002" subIdx="00">
  <sdoDataRaw data="11 21" />
</sdoConfig>
<!--DP PrmData Slave 031-->
<sdoConfig idx="8011" subIdx="00">
  <sdoDataRaw data="80 01 14 0B 81 22 00 00 00 00" />
</sdoConfig>
<!--DP CfgData Slave 031-->
<sdoConfig idx="8012" subIdx="00">
  <sdoDataRaw data="C0 07 0D 01 00" />
</sdoConfig>
<!--Slave PDO configuration shaping end...-->

it will be right behind the "complete" mapping guys but in front off sync managers ... 
How can I understand this?

Your config is missing of the DC configuration adn SDO datas cofig too

What have I forgotten?

If you will choose the DC operation mode - somewhere in the slave config it has to be a DC configuration of the slave - something like 
                    <!-- EL6731 -->
                    <pdo idx="1A80">
                      <pdoEntry idx="F102" subIdx="01" bitLen="08" halPin="state-Slave-F102-01" halType="u32" />
                      <pdoEntry idx="F102" subIdx="02" bitLen="08" halPin="state-Slave-F102-02" halType="u32" />
                      <pdoEntry idx="F102" subIdx="03" bitLen="08" halPin="state-Slave-F102-03" halType="u32" />
                      <pdoEntry idx="F102" subIdx="04" bitLen="08" halPin="state-Slave-F102-04" halType="u32" />
                      <pdoEntry idx="F102" subIdx="05" bitLen="08" halPin="state-Slave-F102-05" halType="u32" />
                      <pdoEntry idx="F102" subIdx="06" bitLen="08" halPin="state-Slave-F102-06" halType="u32" />
                      <pdoEntry idx="F102" subIdx="07" bitLen="08" halPin="state-Slave-F102-07" halType="u32" />
                      <pdoEntry idx="F101" subIdx="03" bitLen="08" halPin="state-EL6731" halType="u32" />
                      <pdoEntry idx="F101" subIdx="14" bitLen="01" halPin="diagFlag-EL6731" halType="bit" />
                      <pdoEntry idx="F103" subIdx="01" bitLen="01" halPin="diagFlagSlave-F103-01" halType="bit" />
                      <pdoEntry idx="F103" subIdx="02" bitLen="01" halPin="diagFlagSlave-F103-02" halType="bit" />
                      <pdoEntry idx="F103" subIdx="03" bitLen="01" halPin="diagFlagSlave-F103-03" halType="bit" />
                      <pdoEntry idx="F103" subIdx="04" bitLen="01" halPin="diagFlagSlave-F103-04" halType="bit" />
                      <pdoEntry idx="F103" subIdx="05" bitLen="01" halPin="diagFlagSlave-F103-05" halType="bit" />
                      <pdoEntry idx="F103" subIdx="06" bitLen="01" halPin="diagFlagSlave-F103-06" halType="bit" />
                      <pdoEntry idx="F103" subIdx="07" bitLen="01" halPin="diagFlagSlave-F103-07" halType="bit" />
                      <pdoEntry idx="0000" subIdx="00" bitLen="08" halPin="GAP-0000-0" halType="u32" />
                    </pdo>
                </syncManager>
                <dcConf assignActivate="1000" sync0Cycle="*1" sync0Shift="0" sync1Cycle="*1" sync1Shift="100"/>    
Attachments:
Last edit: 23 Mar 2025 17:39 by endian. Reason: editing

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

Time to create page: 0.068 seconds
Powered by Kunena Forum