MC_GearInPos_BkPlcMc (ab V3.0.33)
Der Funktionsbaustein startet und überwacht eine fliegende 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;
MasterSyncPosition: LREAL;
SlaveSyncPosition: LREAL;
SyncMode: INT;
MasterStartDistance: LREAL;
Acceleration: LREAL;
Deceleration: LREAL;
Jerk: LREAL; (ab/from V3.0.5)
BufferMode: MC_BufferMode_BkPlcMc:=Aborting_BkPlcMc;
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. |
MasterSyncPosition | LREAL | [mm] Ab dieser Master-Position ist die Kopplung vollständig wirksam. |
SlaveSyncPosition | LREAL | [mm] Ab dieser Slave-Position ist die Kopplung vollständig wirksam. |
SyncMode | INT | derzeit nicht unterstützt. |
MasterStartDistance | LREAL | [mm] Über diesen Weg des Masters wird die Kopplung aufgebaut. |
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
StartSync: BOOL;
InSync: BOOL;
Busy: BOOL;
Active: BOOL;
CommandAborted: BOOL;
Error: BOOL;
ErrorID: UDINT;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
StartSync | BOOL | Hier wird die Übergangsphase zwischen Ruhezustand und vollständig wirksamer Kopplung signalisiert. |
InSync | 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. |
Busy | BOOL | Hier wird signalisiert, dass ein Kommando abgearbeitet wird. |
Active | BOOL | Hier wird signalisiert, dass ein Kommando abgearbeitet wird. |
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. |
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.
- Ist der RatioDenominator kleiner als 0 wird mit Error und ErrorID:=dwTcHydErrCdNotSupport reagiert.
- Die Kopplung kann nur dann aktiviert werden, wenn der Slave im Stillstand ist. Andernfalls wird mit Error und ErrorID:=dwTcHydErrCdNotStartable reagiert.
- Wenn der Absolutwert des MasterStartDistance zu klein ist wird mit Error und ErrorID:=dwTcHydErrCdCannotSynchronize reagiert.
- Wenn die Istposition des Masters nicht zwischen MasterSyncPosition und dem von MasterStartDistance festgelegten Ende der Synchronisationsstrecke liegt wird mit Error und ErrorID:=dwTcHydErrCdCannotSynchronize reagiert.
Wenn diese Überprüfungen ohne Problem durchgeführt werden konnten wird die Kopplung initiiert. Die Slave-Achse befindet sich zunächst weiter im Zustand McState_Standstill. Erst wenn die Master-Achse erstmalig den Anfang der Synchronisationsstrecke erreicht meldet die Slave-Achse McState_Synchronizedmotion, signalisiert StartSync und der Baustein beginnt mit der Überwachung der Kopplung. Sobald die Achse erstmalig das Ende der Synchronisationsstrecke erreicht signalisiert die Slave-Achse InSync. Sollte die Master-Achse zu einem späteren Zeitpunkt den Anfang der Synchronisationsstrecke rückwärts passieren, wird die Kopplung nicht wieder gelöst.
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.
Es steht unter #103 ein Beispiel zur Verfügung.
Der Baustein unterstützt nicht den Funktionsumfang der TwinCAT NC. |
Der Ausgang Active ist derzeit mit dem Ausgang Busy identisch. |