Registerbeschreibung
Die Register können über die Registerkommunikation ausgelesen oder beschrieben werden. Sie dienen zur Parametrierung der Klemme.
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 ADC-Rohwert (X_R)
Dieses Register beinhaltet den mit Gain- und Offset-Fehler behafteten ADC-Rohwert
- R1 bis R5: Reserviert
- R6: Diagnoseregister
- High-Byte: reserviert
- Low-Byte: Status Byte
- 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.
- R17: Hardware-Abgleich - Offset (B_a)
KL3102: [ca. 0x00XX], KL3112 u. KL3122 [0xFBxx]
16 Bit signed Integer*2^-16+1
Über dieses Register erfolgt der Offset-Abgleich der Klemme (Gl. 1.1).
- R18: Hardware-Abgleich - Gain (A_a)
KL3102: [ca. 0x24XX], KL3112 u. KL3122 [0x48xx]
16 Bit signed Integer*2^-16+1
Über dieses Register erfolgt der Gain-Abgleich der Klemme (Gl. 1.1).
Eine 1 entspricht dabei 0x0000, eine 2 entspricht 0xFFFF
- R19: Hersteller-Skalierung - Offset (B_h)
16 Bit signed Integer [0x0000]
Dieses Register beinhaltet den Offset der Herstellergeradengleichung (Gl. 1.3). Die Geradengleichung wird über Register R32 aktiviert.
- R20: Hersteller-Skalierung - Gain (A_h)
KL3102: [0x0100], KL3112 und KL3122: [0x0000]
16 Bit signed Integer*2^-8
Dieses Register beinhaltet den Skalierungsfaktor der Herstellergeradengleichung (Gl. 1.3). Die Geradengleichung wird über Register R32 aktiviert.
Eine 1 entspricht dem Registerwert 0x0400.
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
Funktionsweise des Code-Wort-Registers 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
KL3102: [0x1106], KL3112 und KL3122 [0x0002]
Dieses Register legt die Betriebsarten der Klemme fest. So kann z. B. eine anwenderspezifische Skalierung bei den analogen E/As aktiviert werden.
Wertebereich der KL3112 und KL3122 Aus Kompatibilitätsgründen ist das Standard-Ausgabeformat 16-Bit signed Integer (defaultmäßig eingestellt). Der positive Wertebereich für 0 mA / 4 mA bis 20 mA erstreckt sich demzufolge von 0 bis 32767 (0x7FFF). Dies entspricht 15 Bit. Um alle 16 Bit der Klemme zu nutzen, muss die Herstellerskalierung deaktiviert werden. |
Feature Bit Nr. |
| Beschreibung der Betriebsart |
---|---|---|
Bit 0 | 1 | Anwender Skalierung (R33, R34) aktiv [0] |
Bit 1 | 1 | Hersteller Skalierung (R19, R20) aktiv [1] |
Bit 2 | 0 | Watchdog-Timer aktiv [0] |
Bit 3 | 1 | Betrags- Vorzeichendarstellung [0] |
Bit 4…7 | - | Reserviert, dont`t change |
Bit 9 | 1 | Grenzwert 1 aktiv [0] |
Bit 10 | 1 | Grenzwert 2 aktiv [0] |
Bit 11…15 | - | Reserviert, dont`t change |
- R35: Grenzwert 1 (Y_2)
[0x0000]
Über- bzw. unterschreiten die Prozessdaten diesen Grenzwert, so werden die entsprechenden Bits im Status-Byte gesetzt.
- R36: Grenzwert 2 (Y_2)
[0x0000]
Über- bzw. unterschreiten die Prozessdaten diesen Grenzwert, so werden die entsprechenden Bits im Status-Byte gesetzt.
- R37: Filterkonstante des A/D-Wandlers und Konfigurationsbits für die Filter
(Default-Wert: 35C0hex)
Die Klemme besitzt zwei Tiefpass-Filterstufen: - Die erste Stufe besteht aus einem sinc3 Filter, welcher immer aktiv ist.
- Die zweite Stufe besteht aus einem FIR-Filter 22. Ordnung, welches deaktiviert werden kann.
Bit | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Name | Filterkonstante Nf (Nf.11 bis Nf.0) | Null | Null | Skip | Fast |
Hinweise zum Filter
Die Filterarchitektur der KL31x2 ist wie folgt:
- Der Sinc³ ist immer aktiv
- Im 2.Schritt kann gewählt werden
- Der veränderliche FIR-Filter. Er ist ein NotchFilter (Kerbfilter), Auslegungskennzahl ist hier die erste Notchfrequenz die genauso wie die Vielfachen davon annähernd vollständig gedämpft wird. Die -3dB Frequenz liegt entsprechend deutlich höher. Ein typischer Dämpfungsverlauf:
- Alternativ kann der FastStep Filter genutzt werden. Trotz normal aktiver FIR Filterstufe erfolgt eine schnelle Reaktion auf Sprünge am Eingang: wenn ein schneller Pegelwechsel von >1% des Messbereichs zwischen 2 Samples erkannt wird, schaltet der FastStep automatisch für kurze Zeit in einen sich selbst verstellenden Mittelwertfilter um und danach wieder auf den FIR-Filter zurück. So können Signalwechsel schnell verfolgt werden.
- Oder es wird per „Skip“ kein zweiter Filter genutzt und nur der sinc³ Filter ist aktiv.
Bit | Name | Beschreibung | Default |
---|---|---|---|
R37.15 | Filterkonstante Nf | Die Filterkonstante Nf legt das Verhalten von sinc3 und FIR-Filter zusammen fest. Der Wertebereich erstreckt sich von 150 bis 2047. | 35Chex (860dez) |
... | |||
R37.4 |
| Skip = 0 | FGrenz = 11981 / Nf |
|
| FStop = 43008 / Nf |
| Skip = 1 | FGrenz = 81076 / Nf |
Bit | Name | Beschreibung | Default | |
---|---|---|---|---|
R37.3 | Null | 0bin | Siehe folgenden Hinweis | 0bin |
R37.2 | Null | 0bin | 0bin |
Nicht ändern Die Bits R37.2 und R37.3 müssen immer Null sein, andernfalls treten im A/D-Wandler Fehler auf! |
Bit | Name | Beschreibung | Default | |
---|---|---|---|---|
R37.1 | Skip | 0bin | FIR-Filter ist aktiviert. | 0bin |
1bin | FIR-Filter und Fast-Step wird umgangen. | |||
R37.0 | Fast | 0bin | Fast-Step-Modus und FIR-Filter sind deaktiviert. | 0bin |
1bin | Fast-Step-Modus und FIR-Filter sind aktiviert |
Beispiele
Achtung, die oberen 3 Ziffern vom Wert in R37 in hex sind die Filterkonstante, die 4.Ziffer ist die Skip/FastStep-Einstellung.
Wert in R37 | FStop | Zykluszeit |
---|---|---|
0x35C0 | 50 Hz | 140 ms |
0x2660 | 70 Hz | 100 ms |
0x1330 | 140 Hz | 50 ms |
0x7FF1 (Fast-Step aktiviert) |
| 40 ms |
0x3FF1 (Fast-Step aktiviert) |
| 20 ms |
0x1001 (Fast-Step aktiviert) |
| <4 ms |
Wert in R37 | FGrenz | Zykluszeit |
---|---|---|
0x7FF2 (Skip-Modus, nur sinc³ aktiv) | 39,6 Hz | 40 ms |
0x3FF2 Skip-Modus, nur sinc³ aktiv) | 77,36 Hz | 20 ms |
0x1002 (Skip-Modus, nur sinc³ aktiv) | 158 Hz | <4 ms |