CANopen, Beckhoff BK 5120 - unbekanntes Problem

jan84
2009-11-26
2009-12-01
  • jan84 - 2009-11-26

    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

     
  • jan84 - 2009-12-01

    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?

     

Log in to post a comment.