Registerbeschreibung
Die Register können über die Registerkommunikation ausgelesen oder beschrieben werden. Sie dienen zur Parametrierung der Klemme.
Allgemeine Registerbeschreibung
Komplexe Klemmen die einen Prozessor besitzen, sind in der Lage mit der übergeordneten Steuerung bidirektional Daten auszutauschen. Diese Klemmen werden im Folgenden als intelligente Busklemmen bezeichnet. Zu ihnen zählen die analogen Eingänge (0 bis 10 V, -10 bis 10 V, 0 bis 20 mA, 4 bis 20 mA), die analogen Ausgänge (0 bis 10 V, -10 bis 10 V, 0 bis 20 mA, 4 bis 20 mA), serielle Schnittstellenklemmen (RS485, RS232, TTY, Datenaustausch-Klemmen), Zähler-Klemmen, Encoder-Interface, SSI-Interface, PWM-Klemme und alle anderen parametrierbaren Klemmen.
Alle intelligenten Klemmen besitzen intern eine in ihren wesentlichen Eigenschaften identisch aufgebaute Datenstruktur. Dieser Datenbereich ist wortweise organisiert und umfasst 64 Speicherplätze. Über diese Struktur sind die wesentlichen Daten und Parameter der Klemme lesbar und einstellbar. Zusätzlich sind Funktionsaufrufe mit entsprechenden Parametern möglich. Jeder logische Kanal einer intelligenten Klemme besitzt eine solche Struktur (4-Kanal analog Klemmen besitzen also vier Registersätze).
Die Struktur gliedert sich in folgende Bereiche:
Bereich | Registernummer |
---|---|
Prozessvariablen | 0 bis 7 |
Typ-Register | 8 bis 15 |
Hersteller Parameter | 16 bis 30 |
Anwender Parameter | 31 bis 47 |
Erweiterter Anwenderbereich | 48 bis 63 |
R0 bis R7: Register im internen RAM der Klemme
Die Prozessvariablen können ergänzend zum eigentlichen Prozessabbild genutzt werden und sind in ihrer Funktion klemmenspezifisch.
- R0 bis R5: Diese Register besitzen eine vom Klemmen-Typ abhängige Funktion.
- R0: Anzahl der Datenbytes im Sende-FIFO
Im Low-Byte steht die Anzahl der Daten im Sende-FIFO. Das High-Byte ist nicht benutzt.
- R1: Anzahl der Datenbytes im Empfangs-FIFO
Im Low-Byte steht die Anzahl der Daten im Empfangs-FIFO. Das High-Byte ist nicht benutzt.
- R2 bis R5: ohne Funktion
- R6: Diagnoseregister
Das Diagnoseregister kann zusätzliche Diagnose-Information enthalten. So werden z. B. bei seriellen Schnittstellenklemmen Paritäts-Fehler, die während der Datenübertragung aufgetreten sind, angezeigt.
- R6: Diagnoseregister
High-Byte: nicht benutzt
Low-Byte: Status des Empfangskanals (Bit 0 - 7)
Bit-Nr. |
| Bedeutung |
---|---|---|
Bit 0 | 1 | Der Empfangspuffer ist übergelaufen, ankommende Daten gehen verloren. |
Bit 1 | 1 | Parity Error ist aufgetreten. |
Bit 2 | 1 | Framing Error ist aufgetreten. |
Bit 3 | 1 | Overrun Error ist aufgetreten. |
Bit 4 | 1 | Puffer ist voll |
Bit 5 - 15 | - | nicht benutzt, nicht ändern! |
- R7: Kommandoregister
High-Byte_Write = Funktionsparameter
Low-Byte_Write = Funktionsnummer
High-Byte_Read = Funktionsergebnis
Low-Byte_Read = Funktionsnummer
R8 bis R15: Register im internen ROM der Klemme
Die Typ- und Systemparameter sind fest vom Hersteller programmiert und können vom Anwender nur ausgelesen und nicht verändert werden.
- R8: Klemmentyp
Der Klemmentyp in Register R8 wird zur Identifizierung der Klemme benötigt.
- R9: Softwareversion (X.y)
Die Software-Version kann als ASCII-Zeichenfolge gelesen werden.
- R10: Datenlänge
R10 beinhaltet die Anzahl der gemultiplexten Schieberegister und deren Länge in Bit.
Der Buskoppler sieht diese Struktur.
- R11: Signalkanäle
Im Vergleich zu R10 steht hier die Anzahl der logisch vorhandenen Kanäle. So kann z. B. ein physikalisch vorhandenes Schieberegister durchaus aus mehreren Signalkanälen bestehen.
- R12: Minimale Datenlänge
Das jeweilige Byte enthält die minimal zu übertragene Datenlänge eines Kanals. Ist das MSB gesetzt, so ist das Control- und Status-Byte nicht zwingend notwendig für die Funktion der Klemme und wird bei entsprechender Konfiguration des Buskopplers nicht zur Steuerung übertragen.
- R13: Datentypregister
Datentypregister | Bedeutung |
---|---|
0x00 | Klemme ohne gültigen Datentyp |
0x01 | Byte-Array |
0x02 | Struktur 1Byte n Bytes |
0x03 | Word-Array |
0x04 | Struktur 1 Byte n Worte |
0x05 | Doppelwort-Array |
0x06 | Struktur 1 Byte n Doppelworte |
0x07 | Struktur 1 Byte 1 Doppelwort |
0x08 | Struktur 1 Byte 1 Doppelwort |
0x11 | Byte-Array mit variabler logischer Kanallänge |
0x12 | Struktur 1 Byte n Bytes mit variabler logischer Kanallänge (z.B. 60xx) |
0x13 | Word-Array mit variabler logischer Kanallänge |
0x14 | Struktur 1 Byte n Worte mit variabler logischer Kanallänge |
0x15 | Doppelwort-Array mit variabler logischer Kanallänge |
0x16 | Struktur 1 Byte n Doppelworte mit variabler logischer Kanallänge |
- R14: reserviert
- R15: Alignment-Bits (RAM)
Mit den Alignment-Bits wird die Analogklemme im Buskoppler auf eine Bytegrenze gelegt.
R16 bis R30: Bereich der Herstellerparameter (SEEROM)
Die Herstellerparameter sind spezifisch für jeden Klemmentyp. Sie sind vom Hersteller programmiert, können jedoch auch von der Steuerung geändert werden. Die Herstellerparameter sind spannungsausfallsicher in einem seriellen EERPOM in der Klemme gespeichert.
Diese Register können nur nach dem Setzen eines Code-Worts in R31 geändert werden.
- R18: Buffer-Größe
[0x0080]
Das Register R18 legt die Anzahl der Daten im Empfangs-FIFO fest, ab der das BUF_F-Bit im Status-Byte gesetzt wird.
Low-Byte: wird dieser Wert erreicht, so wird BUF_F im Status gesetzt
High-Byte: nicht benutzt
R31 bis R47: Bereich der Anwenderparameter (SEEROM)
Die Anwenderparameter sind spezifisch für jeden Klemmentyp. Sie können vom Programmierer geändert werden. Die Anwenderparameter sind spannungsausfallsicher in einem seriellen EEPROM in der Klemme gespeichert. Der Anwenderbereich ist über ein Code-Wort schreibgeschützt.
• R31: Code-Wort-Register im RAM Damit Parameter im Anwender-Bereich geändert werden können muss hier das Code-Wort 0x1235 eingetragen werden. Wird ein abweichender Wert in dieses Register eingetragen, so wird der Schreibschutz gesetzt. Bei inaktivem Schreibschutz wird das Code-Wort beim Lesen des Registers zurückgegeben. Ist der Schreibschutz aktiv, enthält das Register den Wert Null. |
- R32: Feature-Register
Dieses Register legt die Betriebsarten der Klemme fest. So kann z. B. eine anwenderspezifische Skalierung bei den analogen E/A aktiviert werden.
Die Default-Werte werden in eckigen Klammern dargestellt.
- R32: Baudrate
[0x0006]
Bit Nr. |
| Baudrate |
---|---|---|
Bit 2, Bit 1, Bit 0 |
|
|
| 011 | 1200 Baud |
| 100 | 2400 Baud |
| 101 | 4800 Baud |
| 110 | 9600 Baud |
| 111 | 19200 Baud |
Bit 3 - 15 | - | nicht benutzt, nicht ändern! |
Des Weiteren kann die Baudrate nach folgender Gleichung eingestellt werden:
Baudrate = 4 MHz/(16*(HB+1))
Dabei muss das Low-Byte mit 0xFF beschrieben werden und das High-Byte (HB) gibt den Operator an.
- R33 - R47
Vom Klemmentyp abhängige Register.
- R33: Datenrahmen
[0x0003]
In diesem Register wird die Einstellung des Datenrahmens vorgenommen.
Bit-Nr. |
| Baudrate |
---|---|---|
Bit 2, Bit 1, Bit 0 |
|
|
| 0 0 1 | 7 Datenbits, even-Parity |
| 0 1 0 | 7 Datenbits,odd-Parity |
| 0 1 1 | 8 Datenbits, no Parity [0 1 1] |
| 1 0 0 | 8 Datenbits, even-Parity |
| 1 0 1 | 8 Datenbits, odd-Parity |
Bit 3 | 0/1 | 0: 1 Stop-Bit [0] |
Bit 4 - 15 | - | nicht benutzt, nicht ändern! |
- R34: Feature-Register
[0x0002]
Das Feature-Register legt die Betriebsarten der Klemme fest.
Feature Bit Nr. |
| Beschreibung der Betriebsart |
---|---|---|
Bit 0 | 1 | /RTS, /CTS enable [1[ |
Bit 1 | 0/1 | 0: Standard Ausgabenformat (R35 beachten!) |
Bit 2 | 1 | Das Status-Byte wird von der Klemme einen Zyklus später als die höherwertigen Datenbytes in die Schieberegister des K-Busses kopiert. Dadurch verringert sich die Datenübertragungsrate zur Steuerung. [0] |
Bit 3 | 1 | Das XON/XOFF-Protokoll wird von der Klemme beim Senden von Daten unterstützt, d.h. die Klemme sendet die von der Steuerung übergebenen Daten, bis sie das Zeichen XOFF (DC3==0x13) vom Partner empfängt. Das Senden wird daraufhin solange unterbunden bis das Zeichen XON (DC1==0x11) empfangen wird. [0] |
Bit 4 | 1 | Das XON/XOFF-Protokoll wird von der Klemme beim Daten-Empfang unterstützt. Die Klemme sendet das Steuerzeichen XOFF, wenn 118 Zeichen im Puffer der Klemme stehen, XON wird gesendet, wenn vorher XOFF gesendet wurde und die Puffer-Grenze von 18 Byte Unterschriften wurde. [0] |
Bit 5 | - | nicht benutzt, nicht ändern! |
Bit 6 | 1 | Kontinuierliches Senden der Daten aus dem FIFO. Über die Steuerung wird der Sendepuffer gefüllt (bis zu 16 Byte). Mit steigender Flanke im Control Byte 3 wird der gefüllte Puffer-Inhalt gesendet. Sind die Daten übertragen, so wird dies durch das Setzen des Bits Stauts Byte 2 von der Klemme an die Steuerung quittiert. Status Byte 2 wird mit Control Byte 3 zurückgenommen. |
Bit 7-15 | - | nicht benutzt, nicht ändern! |
Hinweis zu Bit 6 Dieses Feature ist gültig für alle Klemmen ab Software Version 3x. Die Versionsangabe ist auf der rechten Seitenfläche der Klemme zu finden, in der Seriennummer: xxxx3xxx |
- R35: Anzahl der im Buskoppler gemappten Datenbytes
[0x0003]
Low Byte: Anzahl der im Buskoppler und zur Steuerung übertragenen Datenbytes. Es können zwischen 1 und 5 Datenbytes übertragen werden. Sollen mehr als 3 Byte Nutzdaten übertragen werden, muss die neue Byte Anzahl in dieses Register eingetragen werden.
High-Byte = nicht benutzt
- R47 - R63
Registererweiterung mit zusätzlichen Funktionen.