Programmierung der RS232/485-Schnittstelle

Im KL6xx1 Mode können beliebige serielle Protokolle implementiert werden. Dafür konfigurieren Sie im System Manager die Schnittstelle als KL6xx1-Mode.

Programmierung der RS232/485-Schnittstelle 1:

Dieser Mode verhält sich wie die der seriellen Schnittstellen-Klemmen von Beckhoff. Das bedeutet nur, dass die Programmierung und das Interface dem einer seriellen Schnittstelle ähnelt. Die Beckhoff Supplement Bausteine (wie ModbusRTU, COMLIB, ...) der seriellen Schnittstelle bieten in der Regel den 64-Byte-Modus für die PC Schnittstelle an.

Sie können dieses Interface auch selber bedienen und Programmieren.

Die Datenstruktur besteht aus einem Control- und Status-Wort (2 Byte) und einem Daten Array. Das Control-Byte wird von dem SPS-Programm beschreiben und bestätigt das Senden der Daten mit dem TR-Bit. Ein toggeln des Bits (Flankenwechsel) veranlasst die Anzahl an Daten (Länge der zu schreibenden Daten OL-Bits) diese aus dem Interface zu schicken. Das RA-Bit quittiert, dass die Empfangsdaten gelesen worden sind und damit kann die Schnittstelle erkennen, dass sie neue Daten in das Daten-Array kopieren kann. Im Status-Wort kann man auslesen, wie viele Daten gültig sind. Das Reset-Bit (IR Control.2, positive Flanke) löscht die Buffer und setzt die Schnittstelle zurück. Die Schnittstelle quittiert den Befehl im Status-Wort ebenfalls im Reset-Bit (IA Status.2). Danach setzen Sie das Reset-Bit (IR Control.2) wieder auf False.

Control-Wort

Bit

15

14

13

12

11

10

09

08

07

06

05

04

03

02

01

00

Name

Länge der zu schreibenden Daten (OL Bits)

Reserve

IR

RA

TR

Legende

Bit

Name

Kommentar

CW.3

Reserviert

-

-

CW.2

IR
(InitRequest)

1bin

Die Steuerung fordert die Klemme zur Initialisierung auf. Die Sende- und Empfangsfunktionen werden gesperrt, die FIFO-Zeiger werden zurückgesetzt und die Schnittstelle wird mit den Werten initialisiert. Die Ausführung der Initialisierung wird von dem Interface mit dem Bit SW.2 (IA) quittiert.

0bin

Die Steuerung fordert von dem Interface wieder die Bereitschaft für den seriellen Datenaustausch.

CW.1

RA
(ReceiveAccepted)

toggle

Die Steuerung quittiert die Entgegennahme von Daten mit Zustandsänderung dieses Bits. Erst daraufhin werden neue Daten von dem Interface zur Steuerung übertragen.

CW.0

TR
(TransmitRequest)

toggle

Über eine Zustandsänderung dieses Bits teilt die Steuerung dem Interface mit, dass sich die in mit den OL-Bits angezeigte Anzahl von Bytes in den DataOut-Bytes befinden. Das Interface quittiert die Entgegennahme der Daten im Status-Wort mit Zustandsänderung des Bits SW.0 (TA). Erst daraufhin werden neue Daten von der Steuerung zum Interface übertragen.

Status-Wort

Bit

15

14

13

12

11

10

09

08

07

06

05

04

03

02

01

00

Name

Länge der zu Daten im Puffer ((IL-Bits)

BUF_F

IA

RR

TA

Legende

Bit

Name

Kommentar

SW.3

BUF_F (buffer full)

1bin

Das Empfangs-FIFO ist voll. Alle ab jetzt eingehenden Daten gehen verloren!

SW.2

IA
(InitAccepted-Bit)

1bin

Die Initialisierung wurde von dem Interface ausgeführt.

0bin

Das Interface ist wieder für den seriellen Datenaustausch bereit.

SW.1

RR
(ReceiveRequest)

toggle

Über eine Zustandsänderung dieses Bits teilt das Interface der Steuerung mit, dass sich die in IL-Bits angezeigte Anzahl von Bytes in den DataIn-Bytes befinden. Die Steuerung muss die Entgegennahme der Daten im Control-Wort mit Zustandsänderung des Bits CW.1 (RA) quittieren. Erst daraufhin werden neue Daten von dem Interface zur Steuerung übertragen.

SW.0

TA
(TransmitAccepted)

toggle

Das Interface quittiert die Entgegennahme von Daten mit Zustandsänderung dieses Bits. Erst daraufhin werden neue Daten von der Steuerung zum Interface übertragen.

Ein einfaches Beispiel soll anhand der RS232 Schnittstelle das Interface und Arbeitsweise erläutern. Das Beispiel sendet Daten über die RS232 raus und durch eine Brücke (PIN 2 bis 3) werden die Daten wieder empfangen.  Download (zip)Programmierung der RS232/485-Schnittstelle 2: