KL6WriteRegisters

KL6WriteRegisters 1:

Der Funktionsbaustein KL6WrtieRegisters beschreibt ein oder mehrere Register einer seriellen Busklemme KL6xxx.

Interface

VAR_INPUT
    Execute         : BOOL;
    Mode            : ComSerialLineMode_t;
    pComIn          : POINTER TO ARRAY[0..65] OF BYTE; (* for universal register communication *)
    pComOut         : POINTER TO ARRAY[0..65] OF BYTE; (* for universal register communication *)
    SizeComIn       : UINT;
    pRegisterList   : POINTER TO ARRAY[0..63] OF ComRegisterData_t;
    SizeRegisterList: UINT;
END_VAR
VAR_OUTPUT
    Done        : BOOL;
    Busy        : BOOL;
    Error       : BOOL;
    ErrorId     : ComError_t;
END_VAR

Execute : Eine steigende Flanke am Eingang Execute startet den Schreibvorgang.
Die Registerliste muss initialisiert werden, bevor der Baustein getrigger wird. Das heißt es müssen Registernummern und Registerinhalt in die Liste eingetragen werden.

Mode : Der Mode-Eingang legt eindeutig fest, welche serielle Hardware verwendet wird (ComSerialLineMode_t).

pComIn : Universeller Pointer auf die Eingangsvariable der Prozessdaten der seriellen Hardware (Datentypen KL6inData, KL6inData5b, KL6inData22b, PcComInData). Der Pointer wird mit der ADR() Funktion zugewiesen.

pComOut : Universeller Pointer auf die Ausgangsvariable der Prozessdaten der seriellen Hardware (Datentypen KL6outData, KL6outData5b, KL6outData22b, PcComOutData). Der Pointer wird mit der ADR() Funktion zugewiesen.

SizeComIn : Größe des Eingangs-Prozessabbildes der verwendeten seriellen Hardware. Die Größe wird mit der SIZEOF() Funktion ermittelt und zugewiesen.

pRegisterList : Startadresse einer Registerliste vom Typ ComRegisterData_t. Die Startadresse kann mit ADR(Registerliste) ermittelt werden. Die Registerliste muss initialisiert werden, bevor der Baustein getrigger wird. Das heißt es müssen Registernummern und Registerinhalt in die Liste eingetragen werden.

SizeRegisterList : Größe der Registerliste in Bytes. Die Größe kann mit SIZE(Registerliste) ermittelt werden. Die Liste darf zwischen 1 und 64 Einträge haben.

Done : Der Ausgang Done wird TRUE wenn die Funktion fehlerfrei durchgeführt wurde.

Busy : Der Ausgang Busy wird mit steigender Flanke an Execute TRUE und bleibt solange TRUE, wie der Baustein seine Funktion ausführt.

Error : Der Error Ausgangs wird TRUE sobald ein Fehler auftritt.

ErrorID : Der ErrorID Ausgang gibt im Fehlerfall einen Fehlercode aus.