Ich beschäftige mich seit kurzem mit der Anbindung eines Beckhoff BK 5120 an ein Beck IPC@CHIP@SC143-IEC-LF mit CANopen (ca. 1m Kabellänge). Ich nutze CoDeSys V2.3
Bisher habe ich noch keine Erfahrung mit CAN, CoDeSys & Co gehabt.
Die Kommunikation über CANopen funktioniert. Ich habe bisher 4 DI, 4 DO, 4 AI und 4AO angehangen. Mit meinem CAN-Monitor kann ich auch sehen, dass nur die bewusst erzeugten Nachrichten über den Bus kommen.
Das Problem: Mein System macht in unregelmäßigen Abständen einen kompletten Neustart.
Um so mehr Aus- und Eingänge ich verwende, desto instabiler wird alles. Ich habe zum Test einen toggelnden DO auf einen DI gelegt. Das verkraftet mein System gar nicht mehr. Es bricht aller 10 bis 15 Sekunden zusammen.
Jetzt weiß ich nicht wo ich ansetzen soll, um meinen Fehler zu finden
Ich vermutete die Parametrierung und habe deshalb sämtliche Parameterkonstellationen ausprobiert. Ich konnte es damit etwas verbessern, aber das Problem nicht beheben.
Meine jetzige Konfiguration ist:
Beck:
Baudrate: 125000
Com. Cycle Period [µs]: 30000
Sync. Window Length [µs]: 3000
Sync. COB-ID: 128: aktiviert
Automatisch starten: aktiviert
DSP301,V4.01 und DSP306 unterstützen: aktiviert
Heartbeat Master [ms]: 1000
Beckhoff:
DCF schreiben: nicht aktiviert
Alle SDOs erzeugen: aktiviert
Optionales Gerät: nicht aktiviert
Knoten zurücksetzen: nicht aktiviert
Nicht initialisieren: nicht aktiviert
Nodeguarding: nicht aktiviert
Heartbeaterzeugung aktivieren: aktiviert
Heartbeat Producer Time [ms]: 1000
Heartbeatverbrauch aktivieren: nicht aktiviert
Emergency-Telegramm: aktiviert
Communication Cycle: nicht aktiviert
PDO-Mapping Empfangen:
DO:
Typ: asynchron+geräteprofilspezifisch
Inhibit-Time [100µs]: 0
AO:
Typ: asynchron+geräteprofilspezifisch
Inhibit-Time [100µs]: 0
PDO-Mapping Senden:
DI:
Typ: asynchron+geräteprofilspezifisch
Inhibit-Time [100µs]: 500
AI:
Typ: zyklisch+synchron
Inhibit-Time [100µs]: 500
Taskkonfiguration:
Priorität: 0
Typ: Zyklisch (Intervall: 30ms)
Watchdog: aktiviert (300ms, Empfindlichkeit: 2)
Ich würde mich riesig über Hinweise zu möglichen Fehlerquellen freuen
Jan
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ein freundliches Hallo an alle Forenmitglieder!!!
Ich beschäftige mich seit kurzem mit der Anbindung eines Beckhoff BK 5120 an ein Beck IPC@CHIP@SC143-IEC-LF mit CANopen (ca. 1m Kabellänge). Ich nutze CoDeSys V2.3
Bisher habe ich noch keine Erfahrung mit CAN, CoDeSys & Co gehabt.
Die Kommunikation über CANopen funktioniert. Ich habe bisher 4 DI, 4 DO, 4 AI und 4AO angehangen. Mit meinem CAN-Monitor kann ich auch sehen, dass nur die bewusst erzeugten Nachrichten über den Bus kommen.
Das Problem: Mein System macht in unregelmäßigen Abständen einen kompletten Neustart.
Um so mehr Aus- und Eingänge ich verwende, desto instabiler wird alles. Ich habe zum Test einen toggelnden DO auf einen DI gelegt. Das verkraftet mein System gar nicht mehr. Es bricht aller 10 bis 15 Sekunden zusammen.
Jetzt weiß ich nicht wo ich ansetzen soll, um meinen Fehler zu finden
Ich vermutete die Parametrierung und habe deshalb sämtliche Parameterkonstellationen ausprobiert. Ich konnte es damit etwas verbessern, aber das Problem nicht beheben.
Meine jetzige Konfiguration ist:
Beck:
Baudrate: 125000
Com. Cycle Period [µs]: 30000
Sync. Window Length [µs]: 3000
Sync. COB-ID: 128: aktiviert
Automatisch starten: aktiviert
DSP301,V4.01 und DSP306 unterstützen: aktiviert
Heartbeat Master [ms]: 1000
Beckhoff:
DCF schreiben: nicht aktiviert
Alle SDOs erzeugen: aktiviert
Optionales Gerät: nicht aktiviert
Knoten zurücksetzen: nicht aktiviert
Nicht initialisieren: nicht aktiviert
Nodeguarding: nicht aktiviert
Heartbeaterzeugung aktivieren: aktiviert
Heartbeat Producer Time [ms]: 1000
Heartbeatverbrauch aktivieren: nicht aktiviert
Emergency-Telegramm: aktiviert
Communication Cycle: nicht aktiviert
PDO-Mapping Empfangen:
DO:
Typ: asynchron+geräteprofilspezifisch
Inhibit-Time [100µs]: 0
AO:
Typ: asynchron+geräteprofilspezifisch
Inhibit-Time [100µs]: 0
PDO-Mapping Senden:
DI:
Typ: asynchron+geräteprofilspezifisch
Inhibit-Time [100µs]: 500
AI:
Typ: zyklisch+synchron
Inhibit-Time [100µs]: 500
Taskkonfiguration:
Priorität: 0
Typ: Zyklisch (Intervall: 30ms)
Watchdog: aktiviert (300ms, Empfindlichkeit: 2)
Ich würde mich riesig über Hinweise zu möglichen Fehlerquellen freuen
Jan
Hallo!
Eine mir noch unverständliche Lösung meines Problem hat sich ergeben:
Wenn ich Heartbeat nicht verwende, dann funktioiniert alles. Ich habe deshalb auf Nodeguarding umgestellt.
Hat Jemand hierzu eine Erklärung?