Uebung_204b: Interlock: ILOCK_CONFLICT_TRIP (Motor-Sicherheitsabschaltung mit Reset)¶
Einleitung¶
In dieser Übung wird eine Motor-Sicherheitsabschaltung mit Reset realisiert. Sie basiert auf dem Funktionsbaustein ILOCK_CONFLICT_TRIP, der eine Verriegelung (Interlock) für zwei gegenläufige Motorrichtungen (Rechts- und Linkslauf) implementiert. Tritt ein Konflikt auf (beide Richtungen gleichzeitig aktiv), wird der Motor gestoppt und ein Alarm (Trip) ausgelöst. Ein separater Reset-Eingang erlaubt das Zurücksetzen des Trip-Zustands.
Die Steuerung erfolgt über drei digitale Eingänge: - I1 – Anforderung Rechtslauf - I2 – Anforderung Linkslauf - I3 – Reset
Als Ausgänge stehen zur Verfügung: - Q5 – Rechtslauf - Q6 – Linkslauf - Q4 – Trip-Anzeige - Q56 – Low-Side-Treiber (gemeinsame Freigabe für beide Motorrichtungen)
Verwendete Funktionsbausteine (FBs)¶
Die Übung verwendet folgende Funktionsbausteine:
DigitalInput_I1(Typ:logiBUS::io::DI::logiBUS_IX)- Parameter:
QI= TRUE,Input=Input_I1 -
Wandelt das digitale Eingangssignal I1 in ein internes Signal um.
-
DigitalInput_I2(Typ:logiBUS::io::DI::logiBUS_IX) - Parameter:
QI= TRUE,Input=Input_I2 -
Wandelt das digitale Eingangssignal I2 in ein internes Signal um.
-
DigitalInput_Reset(Typ:logiBUS::io::DI::logiBUS_IX) - Parameter:
QI= TRUE,Input=Input_I3 -
Wandelt das digitale Eingangssignal I3 (Reset) in ein internes Signal um.
-
ILOCK(Typ:logiBUS::signalprocessing::interlock::ILOCK_CONFLICT_TRIP) - Keine Parameter
-
Kernbaustein dieser Übung. Er realisiert die Verriegelungslogik mit Konflikterkennung und Trip-Funktion.
-
Rechtslauf(Typ:logiBUS::io::DQ::logiBUS_QX) - Parameter:
QI= TRUE,Output=Output_Q5 -
Steuert den Ausgang Q5 für Rechtslauf des Motors.
-
Linkslauf(Typ:logiBUS::io::DQ::logiBUS_QX) - Parameter:
QI= TRUE,Output=Output_Q6 -
Steuert den Ausgang Q6 für Linkslauf des Motors.
-
Trip_Anzeige(Typ:logiBUS::io::DQ::logiBUS_QX) - Parameter:
QI= TRUE,Output=Output_Q4 -
Steuert den Ausgang Q4 als Anzeige für den Trip-Zustand.
-
LowSide_Treiber(Typ:logiBUS::io::DQ::logiBUS_QX) - Parameter:
QI= TRUE,Output=Output_Q56 -
Steuert den Ausgang Q56 als gemeinsame Freigabe (Low-Side-Treiber) für beide Motorrichtungen.
-
OR_2_BOOL(Typ:iec61131::bitwiseOperators::OR_2_BOOL) - Keine Parameter
- Logisches ODER-Gatter; verknüpft die Signale für Rechts- und Linkslauf, um den Low-Side-Treiber anzusteuern.
Programmablauf und Verbindungen¶
Der Ablauf gliedert sich in folgende Schritte:
- Eingangserfassung:
Die drei digitalen Eingänge (I1, I2, I3) werden über die entsprechendenlogiBUS_IX-Bausteine eingelesen. DigitalInput_I1liefert den Rechtslauf-Wunsch (BOOL) und ein EreignisIND.DigitalInput_I2liefert den Linkslauf-Wunsch und ein EreignisIND.-
DigitalInput_Resetliefert das Reset-Signal und ein EreignisIND. -
Verarbeitung im ILOCK-Baustein:
- Der Baustein
ILOCKempfängt die Ereignisse von den Eingängen:EI_UPwird durchDigitalInput_I1.INDgetriggert.EI_DOWNwird durchDigitalInput_I2.INDgetriggert.EI_RESETwird durchDigitalInput_Reset.INDgetriggert.
- Die Datenwerte (BOOL) werden über die entsprechenden Datenports übertragen:
DI_UPvonDigitalInput_I1.INDI_DOWNvonDigitalInput_I2.IN
-
Der Baustein entscheidet basierend auf seiner internen Zustandslogik, ob die Anforderung gültig ist, ein Konflikt vorliegt oder ein Reset durchgeführt wird.
-
Ausgabe der Motorrichtungen:
- Bei gültiger Rechtslauf-Anforderung erzeugt
ILOCKein EreignisEO_UPund setzt den DatenausgangDO_UPauf TRUE. - Bei gültiger Linkslauf-Anforderung erzeugt
ILOCKein EreignisEO_DOWNund setztDO_DOWNauf TRUE. - Im Fehlerfall (Konflikt) erzeugt
ILOCKein EreignisEO_TRIPund setztDO_TRIPauf TRUE. - Die Ereignisse werden an die entsprechenden Ausgangsbausteine weitergeleitet:
EO_UP→Rechtslauf.REQEO_DOWN→Linkslauf.REQEO_TRIP→Trip_Anzeige.REQ
-
Die Datenwerte werden über die Datenverbindungen auf die Ausgangsbausteine übertragen:
DO_UP→Rechtslauf.OUTDO_DOWN→Linkslauf.OUTDO_TRIP→Trip_Anzeige.OUT
-
Low-Side-Treiber:
- Der Low-Side-Treiber (Ausgang Q56) wird aktiviert, sobald entweder Rechts- oder Linkslauf aktiv ist.
- Dazu werden die Ereignisse
EO_UPundEO_DOWN(beide) an den BausteinOR_2_BOOL.REQgeleitet. - Die Datenwerte
DO_UPundDO_DOWNwerden an die EingängeIN1bzw.IN2des ODER-Gatters geführt. - Der Ausgang
OR_2_BOOL.OUTist TRUE, wenn mindestens eine der beiden Anforderungen aktiv ist. - Das Ereignis
OR_2_BOOL.CNFtriggert den BausteinLowSide_Treiber.REQ, und der DatenwertOR_2_BOOL.OUTwird anLowSide_Treiber.OUTübergeben.
Lernziele¶
- Verständnis des Interlock-Konzepts für Motorsteuerungen
- Umgang mit dem Baustein
ILOCK_CONFLICT_TRIP(Konflikt-/Trip-Logik) - Verknüpfung von Ereignis- und Datenflüssen in der 4diac-IDE
- Anwendung eines ODER-Gatters zur gemeinsamen Freigabe
- Fehlerbehandlung durch Reset-Mechanismus
Schwierigkeitsgrad¶
Fortgeschritten – Grundkenntnisse in der 4diac-IDE und im Umgang mit Funktionsbausteinen werden vorausgesetzt.
Vorkenntnisse¶
- Grundlagen der IEC 61499
- Ablaufsteuerungen und Verriegelungen
- Ein-/Ausgabe-Konfiguration mit logiBUS-Bausteinen
Start der Übung¶
- Öffnen Sie die 4diac-IDE und laden Sie die Übung
Uebung_204b. - Stellen Sie sicher, dass die benötigten logiBUS-Bibliotheken importiert sind (siehe CompilerInfo).
- Überprüfen Sie die Verbindungen zwischen den Bausteinen.
- Simulieren Sie das Verhalten durch Anlegen der Eingangssignale I1, I2 und I3.
Zusammenfassung¶
Die Übung Uebung_204b demonstriert den Einsatz des Funktionsbausteins ILOCK_CONFLICT_TRIP für eine Motor-Sicherheitsabschaltung. Durch die Kombination von drei digitalen Eingängen (zwei Richtungswünsche und ein Reset) wird eine Verriegelung realisiert, die Konflikte erkennt und im Fehlerfall einen Trip auslöst. Die Ansteuerung der Ausgänge erfolgt über getrennte Kanäle für Rechtslauf, Linkslauf sowie eine gemeinsame Low-Side-Freigabe. Die Lösung zeigt exemplarisch, wie sicherheitsgerichtete Steuerungen mit der 4diac-IDE umgesetzt werden können.