KL6ReadRegisters
Der Funktionsbaustein KL6ReadRegisters liest ein oder mehrere Register einer seriellen Busklemme KL6xxx.
Interface
VAR_INPUT
Execute : BOOL;
FirstRegister : UINT;
RegisterCount : UINT;
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 Lesevorgang.
FirstRegister : Legt das erst zu lesende Register fest. Ab dieser Registernummer, die zwischen 1 und 64 liegen darf, werden RegisterCount Daten gelesen und in der Registerliste vom Typ ComRegisterData_t abgelegt.
Wenn kein zusammenhängender Registerbereich gelesen werden soll, so kann FirstRegister mit dem Wert 16#FFFF belegt werden. In diesem Fall muss der Anwender die zu lesenden Registernummern in der Registerliste initialisieren, bevor der Baustein getriggert wird. In diesem Fall wird auch RegisterCount nicht verwendet.
RegisterCount : Legt die Anzahl der zu lesenden Register fest. Der Baustein liest einen zusammenhängenden Registerbereich ab FirstRegister und legt die Daten in der Registerliste ab.
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.
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.