Thema:
- Kann die Motorbewegung durch die EPOS4 automatisch gestoppt werden, falls vom Master (SPS, PC, ...) keine Befehle und Informationen mehr empfangen werden (z.B. aufgrund eines Fehlers oder Unterbruch der Datenleitung)?
Ausgangslage:
Bei einer Anwendung soll der Antriebsregler (z.B. EPOS4) erkennen, ob der Datenaustausch mit dem übergeordneten System (= Master, z.B. SPS, PC, ...) "offline" (= unterbrochen) ist. Dies könnte zum Beispiel auftreten, falls typischerweise die Datenverbindung / -leitung unterbrochen wurde oder eventuell der Master nicht mehr korrekt funktioniert. Der Antriebsregler sollte in diesem Fall selbstständig in Fehlerzustand übergehen und eine eventuell noch aktive Bewegung des Motors stoppen.
Lösung:
Die Antwort auf diese Frage hängt stark von der verwendeten Bus-Schnittstelle des Systems ab. Nachfolgend sind einige mögliche Ansätze in Abhängigkeit von der genutzten Bus-Schnittstelle beschrieben. Zusätzlich müssen jedoch auch der Sicherheitsanforderungen der benötigten Lösung und eventuell notwendige ergänzende Massnahmen abgeklärt werden (siehe im letzten Abschnitt "Allgemeine Anmerkungen: Sicherheitsnormen?").
I.) CANopen:
I.1.) Grundlagen
Falls die CAN-Schnittstelle und ein CANopen Master (z.B. SPS) genutzt wird, bildet das sogenannte "Heartbeat" Protokoll die Grundlagen um gegenseitig eine blockierte Schnittstellenkommunikation des CANopen Masters wie auch Slaves (z.B. EPOS4) zu erkennen.
Mindestens ein oder mehrere Teilnehmer im CAN-Netzwerk sind dabei sogenannte "Heartbeat producer" während alle Teilnehmer sogenannte "Heartbeat consumer" sein können. Falls von dem "Heartbeat Consumer" innerhalb eines konfigurierbaren Zeitfensters keine erzeugte "Heartbeat" Nachricht des "Heartbeat Producers" mehr erkannt wird, versetzt sich der "Consumer" selbstständig in einen "CAN heartbeat error" Zustand (EPOS4: Error code = 0x8130). In der Regel stoppt der "Heartbeat Consumer" (= Motorsteuerung) bei Kommunikationsfehlern den Motor und deaktiviert die Regelung (d.h. setzt die Leistungsendstufe in den "Disable"-Zustand). Bei der EPOS4 kann das gewünschte Stopp-Verhalten aus einer Liste ausgewählt (d.h. konfiguriert) werden.
I.2.) Konfigurationshinweise
Falls die Slaves (z.B. EPOS4) bei fehlender Master-Kommunikation den Motor selbstständig stoppen sollen, empfiehlt sich die folgende Konfiguration:
- Der CANopen Master (z.B. SPS) wird als "Heartbeat producer" konfiguriert.
Das notwendige Setup muss über das Objekt "Producer heartbeat time" (0x1017) des Masters oder mit den Inbetriebnahme- / Systemmanager-Tools des Masters erfolgen. - Die CANopen Slaves (z.B. EPOS4) werden als "Heartbeat consumer" konfiguriert.
Die Konfiguration geschieht mit dem Objekt "Consumer heartbeat time" (0x1016) jedes Slaves oder sehr komfortabel mit dem EPOS Studio "CANopen / Error protocol" Wizard.- "Daumenregel":
"Consumer heartbeat time" >= "Producer heartbeat time" + 20 ms
- "Daumenregel":
- EPOS4: Reaktion im Fehlerfall
Die Reaktion der EPOS4 im Falle eines "CAN heartbeat error" (oder anderer Kommunikationsfehler) kann über das Objekt "Abort connection option code" (0x6007) konfiguriert werden.
I.3.) CANopen Master: Anforderungen
Der sogenannte Systemmanager oder andere Tools des Hersteller eines echtzeitfähigen CANopen-Masters (z.B. SPS) bieten in der Regel eine einfache Möglichkeit um den "Heartbeat" zu konfigurieren und automatisch beim Systemstart zu aktivieren.
Hinweise im Falle eines nicht(!) echtzeitfähigen Masters:
Auch im Falle eines nicht echtzeitfähigen Masters (z.B. PC, Microcontroller) kann es möglich sein periodische "Heartbeat" Nachrichten zu versenden. Diese müssen dann zum Beispiel als eine Task in der zyklischen Hauptschleife des Anwendungsprogramms erzeugt und versandt werden. Solche programmseitigen Lösungen besitzen jedoch häufig stärkere zeitliche Schwankungen (d.h. geringere Genauigkeit) beim Versand der "Heartbeat" Nachrichten falls die Ausführungszeit der Programmschleife von verschiedenen Zuständen und Aktionen der einzelnen weiteren Tasks abhängt. Es empfiehlt sich deshalb die "Consumer Heartbeat time" der Slaves (= EPOS4) bei solchen Lösungen auf den zwei- bis fünffachen Wert der erwarteten Ausführungszeit des Hauptschleife des Master-Programms zu konfigurieren, z.B.:
"Consumer heartbeat time" = 3 x "Ausführungszeit der Hauptschleife des Anwendungsprogramms"
Einschränkungen bei Nutzung der "EPOS Command Library":
Die "EPOS Command Library" unterstützt weder die automatische Erzeugung von "Heartbeat" Nachrichten und im Falle der EPOS4 auch keine Funktionen zur Erzeugung einer solchen Nachricht in einem Anwendungsprogramm. Falls die "EPOS Command Library" bei Windows oder Linux-basierenden Systemen verwendet wird, kann der "Heartbeat" Mechanismus nicht verwendet werden.
I.4.) Querverweise
- "EPOS4 Application Notes Collection":
- Kapitel "5.6. Heartbeat Protocol"
- "EPOS4 Firmware Specification":
- Kapitel "6.2.9 Consumer heartbeat time" (Object: 0x1016)
- Kapitel 6.2.89 "Abort connection option code" (Object: 0x6007)
- Kapitel "7.2.34 CAN heartbeat error" (Error code: 0x8130)
- EPOS Studio's "CANopen Wizard / Error Protocol":
II.) EtherCAT communication:
II.1.) Grundlagen
Ein EtherCAT Netzwerk benötigt keine spezifische Konfiguration um Probleme aufgrund einer Unterbrechung der Datenleitungen zu entdecken. EtherCAT basiert immer auf einem zyklischen Datenaustausch (typ. 1 - 5 ms) im Betrieb. Falls dieser nicht mehr erfolgt kann jeder Teilnehmer seinen Fehlerzustand auslösen. Bei der EPOS4 ist dies der Fehlerzustand "EtherCAT communication error" (= Fehler-Code: 0x8180). Die Reaktion der EPOS4 auf Kommunikationsfehler kann mit dem Objekt "Abort connection option code" (Objekt: 0x6007) konfiguriert werden.
II.2.) Querverweise
- "EPOS4 Firmware Specification":
- Kapitel 6.2.89 "Abort connection option code" (Object: 0x6007)
- Kapitel "7.2.36 EtherCAT communication error" (Error code: 0x8180)
III.) RS232 und USB
III.1.) Grundlagen
Aufgrund der Tatsache, dass das RS232 und USB Protokoll keinen zwingenden zyklischen Datenaustausch beinhaltet, kann die EPOS4 (oder auch EPOS2) nicht entscheiden, ob der Master zu einem Zeitpunkt bewusst keine neuen Nachrichten sendet oder die Kommunikation aufgrund einer defekten Datenleitung (oder Fehlfunktion des Masters) unterbrochen ist.
III.2) Mögliche Lösung / "Workaround"
Mit der folgenden Konfiguration und Verdrahtung kann zumindest bei einem Defekt der Datenleitung ein Stopp der Motorbewegung ausgelöst werden. Voraussetzung für die beschriebene Lösung ist jedoch, dass der Master (z.B. Rapsberry Pi, Microcontroller) einen digitalen Ausgang besitzt und sowohl der Master als auch die EPOS4 noch korrekt funktionieren.
- Einen Digital-Eingang der EPOS4 als "Quick stop" konfigurieren.
- Mit dem Master den Inhalt eines EPOS4 Objekts zyklisch pollen (z.B. alle 100 ms).
- Tipp:
Am sinnvollsten ist es das Objekt "Statusword" (0x6041) oder "Position actual value" (0x6064) zyklisch zu pollen. Die meisten Anwendungsprogramme werden die aktuellen Informationen dieser Objekte ohnehin immer wieder benötigen.
- Tipp:
- Falls der Master keine Rückantwort von der EPOS4 erhält, d.h. eine Zeitüberschreitung (= "Time-out") auftritt, ist möglicherweise die Datenleitung gestört oder unterbrochen. Der Master kann in einem solchen Fall den Digitalausgang setzen und hiermit bei der EPOS4 einen "Quick stop" auslösen.
Randbedingungen: Diese Art von Stopp setzt voraus, dass ...- ... der Master noch korrekt funktioniert um den Ausgang zu setzen.
- ... die I/O-Leitung nicht unterbrochen ist.
- ... die EPOS4 noch korrekt funktioniert um auf das Eingangssignal zu reagieren.
Allgemeine Anmerkung: Sicherheitsnormen?
Es ist zu beachten, dass mit allen oben genannten Lösungen spezifische Sicherheitsanforderungen oder Sicherheitsnormen (SIL...) nicht(!!) erfüllt werden können. Falls das Endgerät oder die Maschine solche spezifischen Normen erfüllen muss oder die Gefahr von Personenschaden besteht, kann es notwendig sein eine separate zertifizierte Sicherheitssteuerung vorzusehen, die im kritischen Fall zu einem "sicheren" Stopp des Antriebs bei der Fehlfunktion einer Einzelkomponente (z.B. Master, Slave, Verdrahtung) führt.
Kommentare
0 Kommentare
Zu diesem Beitrag können keine Kommentare hinterlassen werden.