KL6Configuration

KL6Configuration 1:

Der Funktionsbaustein KL6configuration initialisiert und konfiguriert eine serielle Busklemme KL6xxx.

Der Funktionsbaustein ersetzt ab der Version 2.0 der Bibliothek die hardwareabhängigen Funktionsbausteine KL6Config und KL6Config5B.

Hinweis: Der Funktionsbaustein verwendet die bei KL-Klemmen übliche Registerkommunikation zur Konfiguration. Bei EtherCAT Klemmen EL ist diese Registerkommunikation nicht möglich. EL-Klemmen können mit Funktionsbausteinen aus der EtherCAT-Bibliothek konfiguriert werden (FB_EcCoeSdoWrite).

Interface

VAR_INPUT
    Execute         : BOOL;
    Mode            : ComSerialLineMode_t;
    Baudrate        : UDINT;            (* 115200, 57600, 38400, 19200, 9600, 4800, 2400, 1200 *)
    NoDatabits      : BYTE;             (* 7 or 8 *)
    Parity          : ComParity_t;        (* PARITY_NONE=0, PARITY_EVEN=1, PARITY_ODD=2 *)
    Stopbits        : BYTE;             (* 1 or 2 *)
    Handshake       : ComHandshake_t;         (* HANDSHAKE_NONE=0, HANDSHAKE_RTSCTS=1, HANDSHAKE_XONXOFF=2 *)
    ContinousMode   : BOOL;             (* don't start transmission before transmit buffer is filled *)
    pComIn          : POINTER TO BYTE;      (* for universal register communication *)
    pComOut         : POINTER TO BYTE;      (* for universal register communication *)
    SizeComIn       : UINT;
END_VAR
VAR_OUTPUT
    Done        : BOOL;
    Busy        : BOOL;
    Error       : BOOL;
    ErrorId     : ComError_t;
END_VAR

Execute : Eine steigende Flanke am Eingang Execute führt einen Reset der angeschlossenen seriellen Hardware durch.

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

Baudrate : Die Baudrate, soweit durch die serielle Hardware unterstützt

NoDatabits : Anzahl der Nutzdatenbits in einem Datenbyte

Parity : Typ des Paritybits eines Datenbytes

Stopbits : Anzahl der Stoppbits pro Datenbyte

Handshake : Typ des verwendeten Handshakes soweit durch die serielle Hardware unterstützt

ContinousMode : Schaltet das kontinuierliche Senden ein, wenn es durch die serielle Hardware unterstützt wird.

Wenn ContinousMode TRUE ist, werden gesendete Daten erst dann aus der seriellen Hardware abgeschickt, wenn der Hardware-Sendepuffer voll ist. Dadurch wird ein zeitlückenfreies Senden gewährleistet, solange die Datenmenge in der Größenordnung des Hardware-Sendepuffers liegt. Der continous mode wird nur in besonderen Fällen benötigt, wenn das Endgerät auf Zeitlücken mit einem Timeout reagiert.

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.

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.