MC_GearIn_BkPlcMc (ab V3.0)
Der Funktionsbaustein startet und überwacht eine Kopplung zwischen zwei Achsen. Zum Lösen der Kopplung ist ein MC_GearOut_BkPlcMc Baustein zu verwenden.
Eingänge
VAR_INPUT
Execute: BOOL;
RatioNumerator: INT;
RatioDenominator: INT;
Acceleration: LREAL;
Deceleration: LREAL;
Jerk: LREAL; (ab/from V3.0.5)
BufferMode: MC_BufferMode_BkPlcMc:=Aborting_BkPlcMc; (ab/from V3.0.8)
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Execute | BOOL | Eine steigende Flanke an diesem Eingang startet die Kopplung. |
RatioNumerator | INT | [1, 1] Diese Parameter beschreiben den Kopplungsfaktor in der Form eines Getriebes. |
RatioDenominator | INT | [1, 1] Diese Parameter beschreiben den Kopplungsfaktor in der Form eines Getriebes. |
Acceleration | LREAL | [mm/s2] Die für das Aufsynchronisieren zulässige Beschleunigung in Istwert-Einheiten der Achse pro Quadrat-Sekunde. |
Deceleration | LREAL | [mm/s2] Die für das Aufsynchronisieren zulässige Verzögerung in Istwert-Einheiten der Achse pro Quadrat-Sekunde. |
Jerk | LREAL | [mm/s3] Der anzuwendende Ruck. |
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
Master: Axis_Ref_BkPlcMc;
Slave: Axis_Ref_BkPlcMc;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Master | Axis_Ref_BkPlcMc | Hier ist die Adresse einer Variablen vom Typ Axis_Ref_BkPlcMc zu übergeben. |
Slave | Axis_Ref_BkPlcMc | Hier ist die Adresse einer Variablen vom Typ Axis_Ref_BkPlcMc zu übergeben. |
Ausgänge
VAR_OUTPUT
Busy: BOOL;
InGear: BOOL;
CommandAborted: BOOL;
Error: BOOL;
ErrorID: UDINT;
Active: BOOL;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Busy | BOOL | Hier wird signalisiert, dass ein Kommando abgearbeitet wird. |
InGear | BOOL | Hier wird das erstmalige erfolgreiche Aufsynchronisieren der Achsen signalisiert. Das Signal bleibt anschließend auch dann anstehen, wenn die Synchronisierung zu einem späteren Zeitpunkt zeitweise oder bleibend aussetzt. |
CommandAborted | BOOL | Hier wird ein Abbruch der Kopplung signalisiert. |
Error | BOOL | Hier wird das Auftreten eines Fehlers signalisiert. |
ErrorID | UDINT | Hier wird eine codierte Fehlerursache bereitgestellt. |
Active | BOOL | Hier wird signalisiert, dass ein Kommando abgearbeitet wird. |
Verhalten des Bausteins
Auf eine steigende Flanke an Execute hin untersucht der Baustein das übergebene Achsinterface. Dabei können eine Reihe von Problemen erkannt und gemeldet werden:
- Als nächstes wird überprüft, ob RatioDenominator gleich 0 ist. In diesem Fall wird mit Error und ErrorID:=dwTcHydErrCdIllegalGearFactor reagiert.
- Derzeit kann die Kopplung nur dann aktiviert werden, wenn sowohl der Master als auch der Slave im Stillstand sind. Andernfalls wird mit Error und ErrorID:=dwTcHydErrCdNotStartable reagiert.
- Befindet sich die Achse in einem gestörten Zustand oder führt sie gerade eine Stopp-Operation durch wird mit Error und ErrorID:=dwTcHydErrCdNotReady reagiert.
- Wenn der Bewegungsalgorithmus bereits einen Fehlercode signalisiert wird mit Error und ErrorID:=Bewegungsalgorithmus-Fehlercode reagiert.
Wenn diese Überprüfungen ohne Problem durchgeführt werden konnten wird die Kopplung initiiert. Die Achse befindet sich ab jetzt im Zustand McState_Synchronizedmotion und der Baustein beginnt mit der Überwachung der Kopplung.
Wenn bei aktiver Kopplung die Slaveachse erstmalig die durch die Kopplung geforderte Geschwindigkeit erreicht wird dies am Ausgang InGear signalisiert. Da die Kopplung derzeit nur im Stillstand aktiviert werden kann ist dies unmittelbar der Fall. Sollte während aktiver Kopplung die Slaveachse aus einem beliebigen Grund den Vorgaben nicht folgen können bleibt InGear unverändert.
Tritt bei aktiver Kopplung im Bewegungsgenerator ein Fehlercode auf wird mit Error und ErrorID:=Bewegungsalgorithmus-Fehlercode reagiert.
Eine fallende Flanke an Execute löscht alle anstehenden Ausgangssignale. Wird Execute bereits bei noch aktiver Kopplung auf FALSE gesetzt bleibt die bestehende Kopplung unbeeinflusst wirksam.
Der Ausgang Active ist derzeit mit dem Ausgang Busy identisch. |