MC_Power_BkPlcMc (ab V3.0)
Der Funktionsbaustein dient zum Ansteuern eines externen Stellgeräts. Weitere Informationen zu diesem Thema finden Sie unter FAQ #9.
Eingänge
VAR_INPUT
Enable: BOOL;
Enable_Positive: BOOL;
Enable_Negative: BOOL;
BufferMode: MC_BufferMode_BkPlcMc:=Aborting_BkPlcMc; (ab/from V3.0.8)
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Enable | BOOL | Ein TRUE an diesem Eingang schaltet ein externes Stellgerät einer Achse aktiv. |
Enable_Positive | BOOL | Ein TRUE an diesem Eingang schaltet die richtungsbezogene Freigabe eines externen Stellgeräts einer Achse für Bewegungen in positiver Richtung aktiv. |
Enable_Negative | BOOL | Ein TRUE an diesem Eingang schaltet die richtungsbezogene Freigabe eines externen Stellgeräts einer Achse für Bewegungen in negativer Richtung aktiv. |
BufferMode | MC_BufferMode_BkPlcMc | reserviert. Dieser Eingang wurde vorbereitend ergänzt und sollte derzeit nicht oder mit der Konstanten Aborting_BkPlcMc belegt werden. (ab V3.0.8) |
Ein-/Ausgänge
VAR_INOUT
Axis: Axis_Ref_BkPlcMc;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Axis | Axis_Ref_BkPlcMc | Hier ist die Adresse einer Variablen vom Typ Axis_Ref_BkPlcMc zu übergeben. |
Ausgänge
VAR_OUTPUT
Busy: BOOL;
Status: BOOL;
Error: BOOL;
ErrorID: UDINT;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Busy | BOOL | Hier wird signalisiert, dass ein Kommando abgearbeitet wird. |
Status | BOOL | Hier wird die Betriebsbereitschaft signalisiert. |
Error | BOOL | Hier wird das Auftreten eines Fehlers signalisiert. |
ErrorID | UDINT | Hier wird eine codierte Fehlermeldung bereitgestellt. |
Verhalten des Bausteins
Dieser Baustein dient zur Steuerung von externen Stellgeräten. Dabei kann es sich um Baugruppen zur Ventilansteuerung (Onboard Endstufe des Ventils oder Schaltschrank-Baugruppe), um Frequenzumrichter oder Servoverstärker handeln. Diese Geräte benötigen in der Regel ein digitales Signal zur Freigabe der Energieabgabe durch eine Leistungsstufe. Je nach Ausführung des Geräts können zusätzlich die Bewegungsrichtungen "Positiv" und "Negativ" gezielt aktiv geschaltet werden.
Die Eingangssignale des Bausteins werden in die Interfaces zum Peripherie-Gerät weitergereicht. Zusätzlich wird durch Enable eine Fehlerüberwachung aktiviert.
Bei jedem Aufruf untersucht der Baustein das übergebene Achsinterface. Dabei können eine Reihe von Problemen erkannt und gemeldet werden:
- Ist in nDrive_Type in pStAxParams der Wert iTcMc_DriveAx2000_XXXXX eingestellt, wird wie folgt weiter verfahren:
- Ist einer der Pointer pStDeviceOutput und pStDeviceInput in Axis_Ref_BkPlcMc nicht initialisiert reagiert der Baustein mit Error und ErrorID:=dwTcHydErrCdPtrPlcDriveIn bzw. dwTcHydErrCdPtrPlcDriveOut. Status ist dann FALSE.
- Wenn in der Kommunikation mit dem AX-Gerät eine Störung erkannt wird oder im pStDeviceInput Interface eine Störmeldung des AX-Geräts auftritt reagiert der Baustein mit Error und einem ErrorID, der in den Globalen Konstanten der Bibliothek definiert ist. Status ist dann FALSE und die Achse wird in einen Störzustand mit dem Achsfehler dwTcHydErrCdDriveNotReady versetzt.
- Andernfalls wird am Status der Wert von Enable zurückgegeben.
- Ist in nDrive_Type in pStAxParams der Wert iTcMc_DriveKL2531 oder iTcMc_DriveKL2541 eingestellt, wird wie folgt weiter verfahren:
- Die Pointer pStDeviceOutput und pStDeviceInput in Axis_Ref_BkPlcMc werden überprüft. Sind diese Pointer nicht initialisiert reagiert der Baustein mit Error und ErrorID:=dwTcHydErrCdPtrPlcDriveIn bzw. dwTcHydErrCdPtrPlcDriveOut. Status ist dann FALSE.
- Wenn in der Kommunikation mit der E/A-Klemme eine Störung erkannt wird oder im pStDeviceInput Interface eine Störmeldung der Klemme auftritt reagiert der Baustein mit Error und einem ErrorID, der in den Globalen Konstanten der Bibliothek definiert ist. Status ist dann FALSE und die Achse wird in einen Störzustand mit dem Achsfehler dwTcHydErrCdDriveNotReady versetzt.
- Enable wird benutzt um die Klemmenendstufe durch ein Bit in pStDeviceOutput.bTerminalCtrl zu aktivieren. Das Bereit-Signal in bTerminalCtrl.bTerminalState wird als Status zurückgegeben.
- Der Wert von Enable_Positive wird bei fehlerfreiem Zustand des Antriebsinterfaces mit der Maske dwTcHydDcDwFdPosEna in nDeCtrlDWord von pStAxRtData eingetragen.
- Der Wert von Enable_Negative wird bei fehlerfreiem Zustand des Antriebsinterfaces mit der Maske dwTcHydDcDwFdNegEna in nDeCtrlDWord von pStAxRtData eingetragen.
- Andernfalls wird eine Überprüfung der Pointer pStDeviceInput und pStDeviceOutput in Axis_Ref_BkPlcMc vorgenommen. Sind diese Pointer nicht initialisiert reagiert der Baustein mit Error und ErrorID:=dwTcHydErrCdPtrPlcDriveIn bzw. dwTcHydErrCdPtrPlcDriveOut. Status ist dann FALSE.
- Andernfalls wird am Status der Wert von bPowerOk aus pStDeviceInput zurückgegeben.
- Der Wert von Enable wird bei fehlerfreiem Zustand des Antriebsinterfaces mit der Maske dwTcHydDcDwCtrlEnable in nDeCtrlDWord von pStAxRtData eingetragen.
- Der Wert von Enable_Positive wird bei fehlerfreiem Zustand des Antriebsinterfaces mit der Maske dwTcHydDcDwFdPosEna in nDeCtrlDWord von pStAxRtData eingetragen.
- Der Wert von Enable_Negative wird bei fehlerfreiem Zustand des Antriebsinterfaces mit der Maske dwTcHydDcDwFdNegEna in nDeCtrlDWord von pStAxRtData eingetragen.
Dieser Baustein benötigt keine Zeit zur Durchführung seiner Aufgaben. Der Ausgang Busy wird zu keinem Zeitpunkt den Wert TRUE annehmen und ist nur aus Kompatibilitätsgründen vorhanden. |