Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 7 von 7

Thema: CANopen, BECK IPC@CHIP@SC143-IEC-LF , Beckhoff BK 5120 - unbekanntes Problem

  1. #1
    Registriert seit
    12.11.2009
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    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
    Zitieren Zitieren CANopen, BECK IPC@CHIP@SC143-IEC-LF , Beckhoff BK 5120 - unbekanntes Problem  

  2. #2
    jan84 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    12.11.2009
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    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?

  3. #3
    Registriert seit
    24.02.2009
    Beiträge
    1.242
    Danke
    23
    Erhielt 276 Danke für 235 Beiträge

    Standard

    Weiss jetzt nicht ob es zu deinem Problem passt, aber ich hatte bei CANopen immer das Problem, wenn ich zuviele PDOs asynchron betrieben habe, bekam ich selbst bei 1MBaud ständig Datenstau im Bus.
    Heartbeat hatte ich nicht aktiviert gehabt, aber evtl. kann es daran liegen das das Signal nicht mehr durchkommt wenn die Leitung dicht ist.

  4. #4
    jan84 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    12.11.2009
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ja genau, mir scheint es auch, dass der Bus einfach voll ist. Ich bin gerade auf der Suche nach einem Weg die Buslast prozentual herauszubekommen.

    Was mich nur verwundert ist, dass in der Beckhoff-Doku und auch in einem Buch über CANopen (CANopen, Holger Zeltwanger, VDE Verlag) geschrieben wird, dass Heartbeat gegenüber Nodeguarding zu bevorzugen ist, da es nicht auf CAN-Remote-Frames zugreift und so flexiblere Überwachungsstrukturen zulässt.

    Mit Nodeguarding kann ich selbst alle In-/ und Outputs zyklisch-synchron abfragen. Das ging mit Heartbeat nur asynchron (außer AI, der per Default nur zyklisch-synchron zu lesen ist)

  5. #5
    Registriert seit
    24.02.2009
    Beiträge
    1.242
    Danke
    23
    Erhielt 276 Danke für 235 Beiträge

    Standard

    Die Buslast kannst du vermindern indem du die PDO auf synchron umstellst. Dann werden die Daten ja getaktet gesendet und kommen schön ordentlich in Reih und Glied.
    Asynchron würde ich nur Daten verschicken, die wirklich wichtig sind und sich nur selten ändern (alarmmeldung etc. ). Asynchrone PDO werden ja "Event Getriggert" um es mal neudeutsch auszudrücken. Jedesmal wenn sich ein Wert im PDO ändert wird dieser sofort gesendet. Machen das mehrere PDOs gleichzeitig und ständig, is der Bus ratz fatz voll.

    Alternativ kannst du ja auch die inhibit time der async pdo raufsetzen um ihnen mal ne sendepause zu verpassen.
    Geändert von MasterOhh (01.12.2009 um 20:09 Uhr)

  6. #6
    jan84 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    12.11.2009
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hi MasterOhh,

    Mein Bus ist seltsamerweise voller, wenn ich die PDOs synchron sende. Deshalb habe ich auf asynchron umgestellt. Warum das so ist, verstehe ich aber auch noch nicht, da sich manche Ein- und Ausgänge jeden Zyklus ändern.

    Grüße

    Jan

  7. #7
    Registriert seit
    24.02.2009
    Beiträge
    1.242
    Danke
    23
    Erhielt 276 Danke für 235 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ja das ist ein wenig Tricky. Wir mussten da auch ewig rumprobieren bis wir ein Setting gefunden hatten (Sendeintervalle ändern etc) das gut lief.
    Ich glaub am einfachsten ist doch erstmal die PDO asynchron zu betreiben und die Inhibit time der TxPDOs rauf zu setzen (100ms oder höher). Wenn es dann besser läuft kann der Wert ja wieder schrittweise verringert werden.

Ähnliche Themen

  1. Moeller SPS an Beckhoff CANopen Knoten
    Von Novize im Forum Sonstige Steuerungen
    Antworten: 6
    Letzter Beitrag: 19.10.2017, 09:02
  2. Problem beim Ansteuern Maxon Motor mit Beckhoff über CANopen
    Von mrx3 im Forum CODESYS und IEC61131
    Antworten: 18
    Letzter Beitrag: 12.09.2017, 15:15
  3. CANOpen Feldbus mit Beckhoff CX1010 aufbauen
    Von Eisbaer_vw im Forum Feldbusse
    Antworten: 3
    Letzter Beitrag: 27.09.2011, 14:09
  4. Beckhoff BK 5120
    Von snork007 im Forum Feldbusse
    Antworten: 1
    Letzter Beitrag: 21.07.2007, 11:08
  5. Unbekanntes ASI-Bus Problem
    Von TD2 im Forum Feldbusse
    Antworten: 3
    Letzter Beitrag: 17.07.2007, 11:22

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •