MC_AxUtiReadRegEncTerm_BkPlcMc (ab V3.0)
Der Funktionsbaustein liest den Inhalt eines Registers aus der KL-Klemme, die als Encoderschnittstelle für die Achse dient.
Eingänge
VAR_INPUT
Execute: BOOL;
Select: INT;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Execute | BOOL | Eine steigende Flanke an diesem Eingang startet den Lesevorgang. |
Select | INT | Hier ist die Registernummer zu übergeben. |
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
RegData: WORD;
Busy: BOOL;
Done: BOOL;
CommandAborted: BOOL;
Error: BOOL;
ErrorID: UDINT;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
RegData | WORD | Hier wird der gelesene Wert ausgegeben. |
Busy | BOOL | Hier wird signalisiert, dass ein Kommando abgearbeitet wird. |
Done | BOOL | Hier wird das erfolgreiche Laden des Parameters signalisiert. |
CommandAborted | BOOL | Hier wird ein Abbruch des Lesevorgangs 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 einer der Pointer ST_TcPlcDeviceInput und ST_TcPlcDeviceOutput nicht initialisiert ist wird mit Error und ErrorID:=dwTcHydErrCdPtrPlcMc reagiert.
- Wenn die Achse für den Betrieb freigegeben ist wird mit Error und ErrorID:=dwTcHydErrCdNotReady reagiert.
- Wenn Select ausserhalb des zulässigen Bereichs von 0 bis 63 liegt wird mit Error und ErrorID:=dwTcHydErrCdTblIllegalIndex reagiert.
- Wenn in den Achsparametern als nEncoder_Type eine E/A-Baugruppe eingestellt ist, die keine Parameterkommunikation unterstützt wird mit Error und ErrorID:=dwTcHydErrCdNotCompatible reagiert.
Wenn diese Überprüfungen ohne Problem durchgeführt werden konnten wird der Lesevorgang initiiert.
Eine fallende Flanke an Execute löscht alle anstehenden Ausgangssignale. Wird Execute bereits bei noch aktivem Ladevorgang auf FALSE gesetzt wird der eingeleitete Vorgang unbeeinflusst weiter bearbeitet. Die Signale am Ende der Operation (RegData, Done, CommandAborted, Error, ErrorID, Done) werden für einen Zyklus gegeben.
Die Drivetypes iTcMc_EncoderKL3002, iTcMc_EncoderKL3042, iTcMc_EncoderKL3062, iTcMc_EncoderKL3162, iTcMc_EncoderKL5101, iTcMc_EncoderKL5111, iTcMc_EncoderKL2521, iTcMc_EncoderKL2531 und iTcMc_EncoderKL2541 unterstützen die Parameterkommunikation. |