MC_CamTableSelect_BkPlcMc (ab V3.0)
Der Funktionsbaustein initialisiert eine Variable vom Typ MC_CAM_ID_BkPlcMc und bereitet dadurch eine Kurvenscheibe für die Kopplung von zwei Achsen vor.
Eingänge
VAR_INPUT
Execute: BOOL;
Periodic: BOOL;
MasterAbsolute: BOOL;
SlaveAbsolute: BOOL;
ND_VAR
Name | Typ | Beschreibung |
---|---|---|
Execute | BOOL | Eine steigende Flanke an diesem Eingang startet das Kommando. |
Periodic | BOOL | Nicht unterstützt: Hier ist derzeit FALSE zu übergeben. |
MasterAbsolute | BOOL | Nicht unterstützt: Hier ist derzeit TRUE zu übergeben. |
SlaveAbsolute | BOOL | Nicht unterstützt: Hier ist derzeit TRUE zu übergeben. |
Ein-/Ausgänge
VAR_INOUT
Master: Axis_Ref_BkPlcMc;
Slave: Axis_Ref_BkPlcMc;
CamTable: MC_CAM_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. |
CamTable | MC_CAM_REF_BkPlcMc | Hier ist eine Variable des Typs MC_CAM_REF_BkPlcMc zu übergeben. |
Ausgänge
VAR_OUTPUT
Busy: BOOL;
Done: BOOL;
Error: BOOL;
ErrorID: UDINT;
CamTableId: MC_CAM_ID_BkPlcMc;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Busy | BOOL | Hier wird signalisiert, dass ein Kommando abgearbeitet wird. |
Done | BOOL | Hier wird die erfolgreiche Initialisierung von CamTableId signalisiert. |
Error | BOOL | Hier wird das Auftreten eines Fehlers signalisiert. |
ErrorID | UDINT | Hier wird eine codierte Fehlerursache bereitgestellt. |
CamTableId | MC_CAM_ID_BkPlcMc | Hier wird eine Variable des Typs MC_CAM_ID_BkPlcMc zurückgegeben, die an einen Baustein des Typs MC_CamIn_BkPlcMc weitergegeben werden kann. |
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 CamTable.pTable nicht initialisiert ist wird mit Error und ErrorID:=dwTcHydErrCdPtrPlcMc reagiert.
- Wenn CamTable.nLastIdx nicht grösser als CamTable.nFirstIdx ist wird mit Error und ErrorID:=dwTcHydErrCdTblEntryCount reagiert.
- Wenn CamTable.nFirstIdx und CamTable.nLastIdx eine Tabelle mit mehr als 100 Zeilen definieren wird mit Error und ErrorID:=dwTcHydErrCdTblLineCount reagiert.
- Wenn MasterAbsolute oder SlaveAbsolute nicht gesetzt oder Periodic gesetzt ist wird mit Error und ErrorID:=dwTcHydErrCdNotSupport reagiert.
Wenn diese Überprüfungen ohne Problem durchgeführt werden konnten wird CamTableId initialisiert. Dazu werden die Daten aus CamTable und die Eingangsdaten des Bausteins übernommen. CamTableId wird als gültig und verändert markiert. Mit Done wird die Abarbeitung des Kommandos gemeldet.
Eine fallende Flanke an Execute löscht alle anstehenden Ausgangssignale.
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. |