KL6ReadRegisters

KL6ReadRegisters 1:

Der Funktionsbaustein KL6ReadRegisters liest ein oder mehrere Register einer seriellen Busklemme KL6xxx.

KL6ReadRegisters 2: Eingänge

VAR_INPUT
  Execute          : BOOL;
  FirstRegister    : UINT;
  RegisterCount    : UINT;
  Mode             : ComSerialLineMode_t;
  pComIn           : POINTER TO BYTE;
  pComOut          : POINTER TO BYTE;
  SizeComIn        : UINT;
  pRegisterList    : POINTER TO ARRAY[0..63] OF ComRegisterData_t;
  SizeRegisterList : UINT;
END_VAR

Name

Typ

Beschreibung

Execute

BOOL

Eine steigende Flanke am Eingang Execute startet den Lesevorgang.

FirstRegister

UINT

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

UINT

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

ComSerialLineMode_t

Der Mode-Eingang legt eindeutig fest, welche serielle Hardware verwendet wird.

pComIn

POINTER TO BYTE

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

pComOut

POINTER TO BYTE

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

SizeComIn

UINT

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

pRegisterList

POINTER TO ARRAY[0..63] OF ComRegisterData_t

Startadresse einer Registerliste. Die Startadresse kann mit ADR(Registerliste) ermittelt werden.

SizeRegisterList

UINT

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

KL6ReadRegisters 3: Ausgänge

VAR_OUTPUT
  Done       : BOOL;
  Busy       : BOOL;
  Error      : BOOL;
  ErrorID    : ComError_t;
END_VAR

Name

Typ

Beschreibung

Done

BOOL

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

Busy

BOOL

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

Error

BOOL

Der Error Ausgang wird TRUE, sobald ein Fehler auftritt.

ErrorID

ComError_t

Der ErrorID Ausgang gibt im Fehlerfall einen Fehlercode aus.

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken

TwinCAT v3.1.4012

PC oder CX (ARM, x86, x64)

Tc2_SerialCom