MC_CamOut_BkPlcMc (ab V3.0)
Der Funktionsbaustein löst eine durch einen MC_CamIn_BkPlcMc Baustein gestartete Kurvenscheiben-Kopplung zwischen zwei Achsen.
Eingänge
VAR_INPUT
Execute: BOOL;
ND_VAR
Name | Typ | Beschreibung |
---|---|---|
Execute | BOOL | Eine steigende Flanke an diesem Eingang startet die Kopplung. |
Ein-/Ausgänge
VAR_INOUT
Slave: Axis_Ref_BkPlcMc;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Slave | Axis_Ref_BkPlcMc | Hier ist die Adresse einer Variablen vom Typ Axis_Ref_BkPlcMc zu übergeben. |
Ausgänge
VAR_OUTPUT
Busy: BOOL;
Done: BOOL;
Error: BOOL;
ErrorID: UDINT;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Busy | BOOL | Hier wird signalisiert, dass ein Kommando abgearbeitet wird. |
Done | BOOL | Hier wird die erfolgreiche Abarbeitung des Kommandos 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:
- Wenn der Pointer pStAxParams in Axis_Ref_BkPlcMc nicht initialisiert ist wird mit Error und ErrorID:=dwTcHydErrCdPtrPlcMc reagiert.
- Wenn der Pointer pStAxRtData in Axis_Ref_BkPlcMc nicht initialisiert ist wird mit Error und ErrorID:=dwTcHydErrCdPtrMcPlc reagiert.
- Wenn sich die Achse nicht gekoppelt ist reagiert der Baustein ohne weitere Prüfungen oder Aktivitäten mit Done.
- Ist die aktuelle Sollgeschwindigkeit der Achse kleiner als die von pStAxParams.fCreepSpeed festgelegte Geschwindigkeit geht die Achse unmittelbar in McState_Standstill über und baut die Restgeschwindigkeit ab. Es wird Done signalisiert und alle weiteren Überprüfungen oder Aktivitäten werden unterlassen.
Wenn diese Überprüfungen ohne Problem durchgeführt werden konnten und nicht bereits aus einem der genannten Gründe Done signalisiert wird erfolgt eine Umwandlung der von der Kurvenscheibenkopplung kontrollierten Bewegung in eine vom Master unabhängige endlose Bewegung mit gleicher Geschwindigkeit und Richtung. Wenn diese Umwandlung erfolgreich ausgeführt wurde wird Done signalisiert, andernfalls wird mit Error und ErrorID:=Fehlercode reagiert.
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. |