KGW Kaltgasregler SC4/5 Programmierung



Der SC4/5 besteht aus zwei unabhängigen Geräten, welche intern als ModBus-Slaves RS485 miteinander verbunden sind:

Der Jumo Regler (Adresse 1) ist für die Heater- und Kammerregelung und der Sicherheitscontroller (Adresse 11) ist für den Jet und die Haupt-Stromversorgung zuständig.

Der RS485 Anschluss ist nach aussen geführt und kann dazu benutzt werden, mit den beiden Controllern über ModBus zu kommunizieren.

Dokumentation des Jumo Controllers

Schnittstellenbeschreibung Jumo

Dokumentation des Sicherheitscontrollers

Befehlsübersicht Sicherheitscontroller (Stellgrad = Jet)

Beispiel-Code in C#, .NET 2.0, Microsoft Visual Studio 2010. Die ModBus Kommunikation wird von der NModBus Bibliothek erledigt:

KaltgasExample.zip

Der allgemeine Ablauf der ModBus-Kommunikation ist in der Schnittstellenbeschreibung des Jumo-Controllers in Kapitel 2 bis 4 beschrieben, die Adressen in Kapitel 5.

Beispiele
  • Lesen der Heater-Temperatur (heaterTemp = _Controller.Analogeingang1)

    • Lesen eines Float Wertes vom Jumo Controller an Adresse 0x0050 (_mbus.ReadFloat(0x0050))
  • Setzen eines neuen Sollwertes (_Controller.Sollwert = newSollwert)

    • Schreiben eines Float Wertes in den Jumo Controller an Adresse 0x0050 (_mbus.WriteFloat(0x0050, newSollwert))
  • Setzen eines neuen Jet-Wertes (_Controller.Jet = newJet)

    • Schreiben eines Int Wertes in den Sicherheitscontroller an Adresse 0x0050 (_mbus.WriteInt(0x0050, newJet, 11))
  • Lesen des Jet-Wertes (jet = _Controller.Jet)

    • Lesen eines Int Wertes vom Sicherheitscontroller von Adresse 0x0050 (_mbus.ReadInt(0x0050, 11))
  • Einschalten des Parametersatzes des Jumo Controllers (Device.SwitchParameterPage(true))

    • Schreiben des Int Wertes 2 (2 = ein, 0 = aus) in den Jumo Controller an Adresse 0x0013 (_mbus.WriteInt(0x0013, 2))
    • Hiermit werden im Speicher des Jumo Controllers die Werte der Parameter sichtbar. Um wieder im “normalen” Speicher lesen/schreiben zu können, nicht vergessen, dies wieder auf 0 zurückzusetzen.
  • Umschalten der Regelung auf die Kammer anstelle des Heaters (_Controller.IsControllingChamber = true)

    1. Einschalten des Parametersatzes des Jumo Controllers
    2. Umschalten auf den zweiten Parametersatz ders Reglers durch schreiben des Wertes 2 in das untere Byte der Adresse 0x300c des Jumo Controllers ( _mbus.WriteInt(0x300c, 2*256+getUByte(_mbus.ReadInt(0x300c))) )
    3. Ausschalten des Parametersatzes des Jumo Controllers
    4. Schreiben von 2 in den Jumo Controller an Adresse 0x0074 ( _mbus.WriteInt(0x0074, 2) )
Achtung

Der Sollwert muss unter 200°C (Controller.Maxtemp) liegen und SPH kleiner gleich 120°C (Controller.ParameterSphMax) sein.