Handbuch als PDF

Datenkommunikation
V1.6.0
Handbuch
HANDBUCH
DatenKommunikation
V1.6.0de/07.03.16
Haftung für Irrtümer und Druckfehler ausgeschlossen.
Datenkommunikation
3
HANDBUCH
4
Datenkommunikation
Haftung für Irrtümer und Druckfehler ausgeschlossen.
V1.6.0de/07.03.16
HANDBUCH
Inhaltsverzeichnis
V1.6.0de/07.03.16
V1.6.0de/07.03.16
1
Anwendungsgebiet ......................................................................6
2
Allgemeine Regeln der PB-Kommandos .......................................6
3
Eigenschaften der PB-Kommandos ..............................................7
4
Zeitverhalten (Timing) bei PB-Kommandos ..................................8
4.1
4.2
Timing-Regeln ................................................................................................ 8
Timing-Empfehlungen .................................................................................... 8
5
Allgemeine Beschreibung eines PB-Kommandos .........................9
5.1
5.2
Aufbau ........................................................................................................... 9
Regelverletzungen ......................................................................................... 9
6
Spezielle Beschreibung der PB-Kommandos ..............................10
7
PB-Kommando Beispiele ............................................................24
8
PB-Kommandos mit größerem Wertebereich und höherer
Genauigkeit ...............................................................................26
8.1
Beispiele ...................................................................................................... 27
9
PB-Paketkommando ..................................................................28
9.1
9.2
9.3
9.4
Aufbau ......................................................................................................... 28
Aufbau mit größerem Wertebereich und höherer Genauigkeit ..................... 29
Konfiguration ............................................................................................... 29
Beispiele ...................................................................................................... 30
10
Modbus .....................................................................................33
10.1
10.2
10.3
10.4
10.4.1
10.4.1.1
10.4.1.2
10.4.2
10.4.2.1
10.4.2.2
10.4.2.3
10.4.2.4
10.4.2.5
Allgemeine Beschreibung ............................................................................. 33
Datentypen .................................................................................................. 34
Fehlerbehandlung ........................................................................................ 34
Spezielle Beschreibung der Funktionscodes .................................................. 34
Public Funktionscodes..................................................................................... 35
Read Holding Registers (FC 0x03) ............................................................... 35
Write Single Holding Register (FC 0x06) ..................................................... 36
User-Defined Functioncodes........................................................................... 38
Kommunikationstest (FC 0x41) ................................................................... 38
PB-Variable abfragen (FC 0x42).................................................................. 38
PB-Variable ändern und abfragen (FC 0x43) .............................................. 39
PB-Paketkommando abfragen (FC 0x44).................................................... 40
PB-Paketkommando ändern und abfragen (FC 0x45) ................................ 42
Haftung für Irrtümer und Druckfehler ausgeschlossen.
Datenkommunikation
5
Anwendungsgebiet
HANDBUCH
Kapitel 1
1 Anwendungsgebiet
Huber bietet für seine Thermostate je nach Bedieneinheit unterschiedliche Schnittstellen an. Über
diese ist es möglich mit dem Thermostat zu kommunizieren. Dazu zählen RS232, RS485, Ethernet
oder USB. Über alle diese Schnittstellen ist es möglich die hier beschriebenen Kommandos zu verwenden.
Dieses Handbuch beschreibt die Verwendung der PB-Kommandos. PB-Kommandos sind bei allen
Thermostaten mit grafischem Display (Unistat Control/Pilot, CC-Pilot und Pilot ONE®) implementiert.
Sollen mehrere PB-Kommandos gleichzeitig in einer einzelnen Datenübertragung angesprochen
werden, können diese zu einem PB-Paketkommando zusammengefasst werden.
Des Weiteren beschreibt dieses Handbuch die Verwendung des Modbus-Protokolls bei Thermostaten mit Pilot ONE®. Es wird jedoch nur die Betriebsart Modbus TCP über die Ethernet Schnittstelle
unterstützt.
INFORMATION.
Außer den in diesem Handbuch beschriebenen PB-Kommandos gibt es noch die PP- und LAIKommandos. Diese werden ebenfalls weiterhin unterstützt. Für Neuentwicklungen ist es jedoch
ratsam die PB-Kommandos aufgrund ihrer einfachen und einheitlichen Programmierung zu verwenden.
INFORMATION.
Sollen an einem RS485 Bus mehrere Thermostate angesteuert werden, ist die Verwendung der PBKommandos nicht möglich. Für diesen Zweck sind die LAI-Kommandos zu verwenden, die hier nicht
weiter beschrieben werden.
INFORMATION.
Bei einer Ethernet Kommunikation mit dem Pilot ONE erfolgt diese über TCP (Transmission Control
Protocol), Port 8101. Bei der Verwendung der Schnittstelle sind die Spezifikationen der allgemeingültigen Standards zu beachten.
INFORMATION.
Die älteren Reglergenerationen Unistat Control/Pilot und CC-Pilot unterstützen nicht alle hier beschriebenen Kommandos (Kommandos an Adresse 0 – 0x47 werden unterstützt).
Möglicherweise ist es notwendig die Software des Thermostats auf den neusten Stand zu bringen,
um alle beschriebenen Funktionalitäten verwenden zu können.
2 Allgemeine Regeln der PB-Kommandos
Die PB-Kommandos sind für den Datenaustausch mit genau zwei Teilnehmern gedacht. Diese Kommandos sind einfach aufgebaut, die Übertragung ist nicht über Prüfsummen abgesichert, deshalb ist
die Kommunikationssoftware auch sehr einfach.
Die Motivation für die Entwicklung bestand darin, die zu übertragenden Zeichenketten möglichst
einfach zu halten. Damit kann der Aufwand in der weiteren Datenverarbeitung klein gehalten werden. Um einen sicheren Betrieb zu gewährleisten muss die Antwort des Thermostats empfangen
und ausgewertet werden. Bei Ethernet wird zusätzlich eine Datensicherheit durch das Protokoll
TCP/IP gewährleistet.
INFORMATION.
Manche der im Folgenden beschriebenen Kommandos sind möglicherweise gesperrt. Diese können
durch Einspielen des geeigneten E-grades freigeschaltet werden. Weitere Informationen finden Sie
auf unserer Homepage www.huber-online.com. Es wird eine kostenfreie 30 tägige Evaluierungsversion angeboten.
Generell gilt, dass alle Einstellungen die durch ein Datenkommando verändert werden nicht permanent gespeichert werden und nach einer Unterbrechung der Spannungsversorgung auf den zuletzt
von Hand eingegebenen Wert zurückgesetzt sind.
6
Datenkommunikation
Haftung für Irrtümer und Druckfehler ausgeschlossen.
V1.6.0de/07.03.16
Eigenschaften der PB-Kommandos
Kapitel 3
HANDBUCH
3 Eigenschaften der PB-Kommandos
 Die PB-Kommandos sind für Geräte mit Unistat Pilot, CC-Pilot oder Pilot ONE® verfügbar (Geräte
ab 2005).
 PB-Kommandos sind in Punkt zu Punkt-Übertragungen einsetzbar.
 PB-Kommandos bestehen aus Zeichenketten.
 Es gilt das Master / Slave Prinzip. Der Thermostat ist immer der Slave. Das bedeutet, dass der
Thermostat immer nur dann ein Kommando sendet, wenn eine Anforderung vom Master empfangen wurde. Der Slave sendet immer eine Antwort wenn die empfangene Zeichenfolge als gütiges Kommando erkannt wurde. Kein Slave darf unaufgefordert senden.
 Zahlen werden als hexadezimale Zahlen im Zweierkomplement dargestellt. Bei der Zahlenübertragung werden die ASCII-Zeichen ‚0’ … ‚9’ und ‚A’ ... ‚F’ verwendet. Pro Byte müssen demnach 2 Zeichen übertragen werden.
 Die Struktur der PB-Kommandos ist sehr einfach. Die Länge eines Kommandos beträgt immer 10
Zeichen.
 Das Timing der Datenübertragung wird durch das Antwortprinzip bestimmt (siehe Kapitel Zeitverhalten).
 Die PB-Kommandos sind in Form einer Tabelle organisiert. Jeder Variablen ist eine Adresse zugeordnet. Eine Variable kann verändert oder abgefragt werden, indem die zugehörige Adresse angesprochen wird.
 Wird eine nicht definierte oder nicht freigeschaltete (vergl. E-grade) Adresse angesprochen, so
wird das Kommando mit der gleichen Adresse und dem Wert „7FFF“ beantwortet.
 Nur auf syntaktisch richtig empfangene PB-Kommandos gibt es eine Antwort.
 Ein Kommando setzt den aktuellen Wert und gibt den aktuellen Wert der angesprochenen Variable zurück. Soll der Zeitverlauf einer Variable beobachtet werden, so muss das Kommando wiederholt gesendet werden.
 Pro Kommando kann immer nur ein einzelner Variablenwert abgefragt werden. Es ist nicht möglich mehrere Werte aneinanderzureichen.
 Die Tabelle kann bei Bedarf erweitert werden, alte Inhalte werden nicht verändert.
V1.6.0de/07.03.16
Haftung für Irrtümer und Druckfehler ausgeschlossen.
Datenkommunikation
7
Zeitverhalten (Timing) bei PB-Kommandos
HANDBUCH
Kapitel 4
4 Zeitverhalten (Timing) bei PB-Kommandos
4.1 Timing-Regeln
Die Softwareprotokolle sind so strukturiert, dass sehr einfache Timing-Regeln anwendbar sind:
Der Datenfluss innerhalb eines Befehls sollte nicht unterbrochen werden. Pausen von mehr als
100 ms zwischen den Zeichen eines Befehls führen im Thermostat zum Abbruch des gerade eingehenden Befehls.
Manchmal kann das Betriebssystem des Masters für solche Probleme verantwortlich sein. Zur Überprüfung kann ein Oszilloskop oder auch ein Datenlogger, der auf einem schnellen Mithör-PC installiert ist, helfen.
Die Protokolle sind so aufgebaut, dass auf eine korrekte Anfrage immer eine Antwort vom Thermostat gesendet wird. Bevor ein neues Kommando gesendet werden kann, muss die vollständige Antwort des Thermostats abgewartet werden. Wird vorher ein neues Kommando gesendet, so wird dieses verworfen. Hat der Master die Antwort des Thermostats empfangen, so kann sofort das nächste
Kommando gesendet werden. Normalerweise vergehen nur wenige Zehntelsekunden bis zur Antwort des Thermostats. Die typische Antwortzeit liegt unterhalb 300 ms.
Ist nach dieser Zeit keine Antwort eingegangen, sollte das Kommando nochmals wiederholt werden.
Zur Sicherheit kann die Zeit bis zur Wiederholung auch etwas größer gewählt werden. Generell empfehlen wir mindestens eine Sekunde auf die Antwort zu warten um auch in ungünstigen Situationen
keine unnötigen Timeouts zu riskieren.
INFORMATION.
Bei Verwendung des Com.G@te® oder Web.G@te® können etwas längere Antwortzeiten entstehen,
die 300 ms überschreiten. Passen sie in diesem Fall ihre Timeout Bedingung entsprechend an.
4.2 Timing-Empfehlungen
Wenn die Geschwindigkeit aufs Maximale ausgereizt wird, so bekommt man einen Datendurchsatz
der für ein Temperiergerät sehr hoch ist. Auch wenn Master und Slave das verkraften, sollte überlegt werden, welche Erneuerungsrate wirklich benötigt wird. Man wird feststellen, dass es fast immer reichen wird, im Bereich einiger Sekunden zu bleiben. Es macht technisch wenig Sinn, die Festplatte mit redundanten Daten zu verstopfen oder dem Thermostaten die Rechenzeit unnötig abzuziehen.
Sollen recht große Datenmengen übertragen werden müssen, wie es gelegentlich für die Prozessdokumentation gefordert wird, dann kann gegebenenfalls die Wiederholrate an die jeweilige Signaldynamik angepasst werden. Das bedeutet, dass manche Signale dann häufiger abgefragt werden als
andere.
Wenn von „großen Datenmengen“ gesprochen wird, sind in diesem Zusammenhang letztlich Größenordnungen von 10 oder 20 Bytes/s gemeint. Aber zusammen mit typischerweise langen Laufzeiten bei Temperierprozessen kommen dann doch respektable Mengen Zustande. Bei 20 Bytes/s wird
ein Megabyte schon in ca. 14 Stunden erreicht.
8
Datenkommunikation
Haftung für Irrtümer und Druckfehler ausgeschlossen.
V1.6.0de/07.03.16
Allgemeine Beschreibung eines PB-Kommandos
Kapitel 5
HANDBUCH
5 Allgemeine Beschreibung eines PB-Kommandos
5.1 Aufbau
Ein PB-Kommando besteht aus 10 Zeichen. Der Aufbau eines PB-Kommandos ist wie folgt:
{mttvvvv<CR><LF>
{
m
tt
vvvv
<CR>
<LF>
Startzeichen (ASCII Code 0x7B): Identifiziert das PB-Kommando
Senderkennung: Master-Anfrage ‚M’ (ASCII Code 0x4D) oder Slave-Antwort ‚S’ (ASCII Code
0x53) zur Richtungskennzeichnung.
Das Automatisierungssystem (PC, SPS, PLS, …) ist immer der Master. Seine Anfrage ist durch
ein ‚M’ gekennzeichnet.
Der Thermostat ist immer der Slave. Die Antwort des Thermostats ist durch das ‚S’ gekennzeichnet.
Adresse (entspricht dem Tabellenplatz): 2 Zeichen (1 Byte in Hexadezimaldarstellung).
Variablenwert: 4 Zeichen (2 Bytes als Hexadezimalstring)
Soll eine Variable nur abgefragt und nicht verändert werden, so ist als Variablenwert „****“
zu senden.
Die Antwort bei nicht vorhandenen Temperaturen ist -151,00 °C. Dies entspricht der Zeichenfolge „C504“.
Das Zeichen Carriage Return (ASCII Code 0x0D)
Das Zeichen Line Feed (ASCII Code 0x0A)
5.2 Regelverletzungen
Was soll darunter verstanden werden?
Eine ungenaue Programmierung eines Kommandostrings oder ein zu knapp bemessenes Timing. Zufällige und seltene Abweichungen durch Übertragungsfehler führen im Allgemeinen auch zu Regelverletzungen, sind aber nicht durch die Software begründet.
Wie werden Regelverletzungen behandelt?
Prinzipiell gilt: Wenn die Kommandos nicht erkannt werden, Zeichen fehlen oder zusätzlich vorkommen, wird die Verarbeitung abgebrochen, es gibt keine Antwort. Nicht einmal ein allgemeines
Kommando wie mit der Bedeutung „nicht verstanden“ wird geschickt, weil dem Slave nicht bekannt
sein kann, ob es eine Buskommunikation oder einen Punkt zu Punkt Verbindung ist. Die Bushoheit
könnte also gerade von einem anderen Gerät angefordert worden sein.
V1.6.0de/07.03.16
Haftung für Irrtümer und Druckfehler ausgeschlossen.
Datenkommunikation
9
Spezielle Beschreibung der PB-Kommandos
HANDBUCH
Kapitel 6
6 Spezielle Beschreibung der PB-Kommandos
Nachfolgend wird die Kommandotabelle aufgeführt. Spezielle Hinweise zum Variablentyp, zur Auflösung und zum Wertebereich werden gegeben.
Erklärungen zur Tabelle:
Adresse
Die Adresse ist jeweils in Dezimal- als auch in Hexadezimalschreibweise (vorangestelltes 0x) angegeben und entspricht dem Tabellenplatz.
Variable
Kurzbezeichnung zu Dokumentationszwecken
Beschreibung
Kurze Beschreibung der Variable
Typ
R: Auf die Variable kann nur lesend zugegriffen werden
R / W: Auf die Variable kann lesend und schreibend zugegriffen werden
LSB
Die kleinste darstellbare Einheit
„0,01 °C“ bedeutet beispielweise, dass ein Variablenwert von 1 einer Temperatur
von 0,01 °C oder der Wert 100 einer Temperatur von 1,00 °C entspricht.
Datentyp
Ganzzahl: Alle Werte im angegebene Wertebereich können vorkommen
Bitfeld: Der Wert muss bitweise betrachtet werden. Jedes Bit hat eine andere Bedeutung.
Wertebereich
Der Bereich den der Variablenwert annehmen kann (Dezimaldarstellung).
Bei einem Wertebereich von -15100 … 32700 und einem LSB von 0,01 °C können
also Temperaturen von -151,00 °C bis 327,00 °C verarbeitet werden.
Für Bitfelder gilt:
Bei Schreibvorgängen dürfen nur die jeweils vereinbarten Bits mit 1 belegt werden. Bei Lesevorgängen dürfen nur die jeweils vereinbarten Bits bewertet werden, alle anderen Bits sind undefiniert.
E-grade
Je nachdem welches E-grade für ein Gerät freigeschaltet wurde, stehen verschiedene Kommandos zur Verfügung. Da die verschiedenen E-grades aufeinander
aufbauen (Basic, Exclusive, Professional, Explore), sind Kommandos, welche in der
Tabelle einem E-grade zugeordnet sind, auch mit einem höherwertigen E grade
verfügbar. Beispielsweise enthält das E grade Professional alle Funktionen die
auch im E grade Exclusive enthalten sind.
Das E-grade Explore wird nur bei den Unistaten angeboten. Falls einige PBKommando Variablen daraus benötiget werden besteht die Möglichkeit das DVE-grade zu erwerben. Damit sind alle PB-Kommando Variablen freigeschaltet.
Hinweis:
Die Zuordnung der verschiedenen PB-Kommando Variablen zu den E-grades hat
sich im Laufe der Zeit verändert. Die E-grade Angaben gelten für Geräte mit Pilot
ONE® Regler und aktueller Softwareversion. Bei Geräten der älteren Reglergenerationen Unistat Control/Pilot und CC-Pilot sind nur ein kleiner Teil den PBKommando Variablen frei zugänglich. Alle anderen Befehle können durch das DV
E-grade freigeschaltet werden. Weitere Informationen hierzu können beim technischen Service angefragt werden.
Manchen Variablen können abhängig vom Thermostat nutzlos sein, wenn die erforderlichen Sensoren oder Aktoren nicht vorhanden sind.
Adresse (hex)
Variable
Beschreibung
00
vSP
Sollwert Temperaturregler
Typ
LSB
Datentyp
Wertebereich
E-grade
R/W
0,01 °C
Ganzzahl
-15100 … 32700
Basic
Der Sollwert wird vom Temperaturregler verwendet. Bei Internregelung gilt der Sollwert für die
Interntemperatur, bei Prozessregelung für die Prozesstemperatur.
Bitte beachten: Die Sollwertvorgabe kann durch andere Sollwertgeber überschrieben werden (z.B.
Temperierprogramm, Analoge 4…20 mA Schnittstelle, …).
Adresse (hex)
Variable
Beschreibung
01
vTI
Interntemperatur
Typ
LSB
Datentyp
Wertebereich
E-grade
R
0,01 °C
Ganzzahl
-15100 … 32700
Basic
Aus Sicht des Temperiergerätes die aktuelle Temperatur des Thermofluids welches zur Anwendung
strömt. Die Interntemperatur wird manchmal auch als Vorlauf-, Mantel- oder Badtemperatur bezeichnet.
10
Datenkommunikation
Haftung für Irrtümer und Druckfehler ausgeschlossen.
V1.6.0de/07.03.16
Spezielle Beschreibung der PB-Kommandos
Kapitel 6
HANDBUCH
Adresse (hex)
Variable
Beschreibung
02
vTR
Rücklauftemperatur
Typ
LSB
Datentyp
Wertebereich
E-grade
R
0,01 °C
Ganzzahl
-15100 … 32700
Explore
Aus Sicht des Temperiergerätes die aktuelle Temperatur des Thermofluids welches von der Anwendung zurück zum Temperiergerät strömt. Nicht alle Temperiergeräte messen diese Temperatur.
Typischerweise ist dieser Sensor bei Unistaten installiert.
Ist der Sensor nicht vorhanden, wird der Wert -15100 zurückgegeben.
Adresse (hex)
Variable
Beschreibung
03
vpP
Pumpendruck (absolut)
Typ
LSB
Datentyp
Wertebereich
E-grade
R
1 mbar
Ganzzahl
0 … 32000
Basic
Absoluter Pumpendruck am Drucksensor im Thermofluid-Kreislauf des Thermostats (nur falls Drucksensor vorhanden).
Adresse (hex)
Variable
Beschreibung
04
vPow
Aktuelle Leistung
Typ
LSB
Datentyp
Wertebereich
E-grade
R
1W
Ganzzahl
0 … 32000
Explore
Die aktuell resultierende Leistung des Thermostats in Watt.
Der Wert ist negativ wenn der Thermostat kühlt und positiv wenn der Thermostat heizt. Er entspricht der Leistung, die der Anwendung zur Verfügung gestellt wird. Die Wellenleistung der innen
liegenden Standard-Umwälzpumpe ist nicht berücksichtigt. Die Kälteleistungsberechnung erfolgt
indirekt über den aktuellen Arbeitspunkt des Kompressors. Die Heizleistung wird über die Nennspannung lt. Typenschild berechnet.
Zur Genauigkeit: Die Leistungswerte sollten bei Anforderungen an die Genauigkeit eher zu einer
relativen Bestimmung herangezogen werden, ggf. nach Bewertung an einer "Eichheizung". Der
bereitgestellte Wert ist vorsichtig zu bewerten, es ist eine Schätzung. In vergleichbaren Arbeitspunkten ist die erzielte reproduzierbare Genauigkeit besser als die absolute Genauigkeit. Um verlässliche
Bewertungen zu erhalten sind regelmäßige Vergleichsmessungen zu empfehlen.
Adresse (hex)
Variable
Beschreibung
05
vError
Störungsmeldung
Typ
LSB
Datentyp
Wertebereich
E-grade
R
1
Ganzzahl
-1023 … 0
Basic
Die Nummer der zuerst aufgetretenen Störungsmeldung.
Wird 0 zurückgegeben ist keine Störung aufgetreten und das Gerät ist betriebsbereit, ansonsten
kann anhand der Nummer auf die Art der Störung geschlossen werden.
Adresse (hex)
Variable
Beschreibung
06
vWarn
Warnungsmeldung
Typ
LSB
Datentyp
Wertebereich
E-grade
R
1
Ganzzahl
-4095 … 0
Basic
Die Nummer der zuletzt aufgetretenen Warnungsmeldung.
Möglicherweise bedarf der Thermostat ihrer Aufmerksamkeit falls eine Zahl ungleich 0 zurückgegeben wird. Wird 0 zurückgegeben ist keine neue Warnung aufgetreten, ansonsten kann anhand der
Nummer auf die Art der Warnung geschlossen werden. Wurde die Warnung abgefragt, wird bei der
nächsten Abfrage wieder 0 zurückgegeben sofern nicht erneut eine Warnung aufgetreten ist.
Adresse (hex)
Variable
Beschreibung
07
vTE
Prozesstemperatur (Lemosa)
Typ
LSB
Datentyp
Wertebereich
E-grade
R
0,01 °C
Ganzzahl
-15100 ... 32700
Basic
Die aktuelle Prozesstemperatur wird zurückgegeben.
Genau genommen wird der Messwert des Pt100 Sensors zurückgegeben, der an der LEMOSA Buchse angeschlossen ist. Typischerweise wird dort der Prozessfühler angeschlossen.
Ist kein Fühler angeschlossen, so wird der Wert -151 °C zurückgegeben.
V1.6.0de/07.03.16
Haftung für Irrtümer und Druckfehler ausgeschlossen.
Datenkommunikation
11
Spezielle Beschreibung der PB-Kommandos
HANDBUCH
Kapitel 6
Adresse (hex)
Variable
Beschreibung
08
vIntMove
Istwertvorgabe Interntemperatur
Typ
LSB
Datentyp
Wertebereich
E-grade
R/W
0,01 °C
Ganzzahl
-15100 … 32700
Explore
Dem Internregler kann hiermit ein alternativer Messwert, außerhalb des Thermostats vorgegeben
werden.
Die Schutzeinrichtungen verwenden trotzdem den internen Pt100 Sensor. Das Kommando muss im
Zusammenhang mit Kommando 0x18 (vCITM) verwendet werden, ansonsten findet ein vorgegebener Wert keine Beachtung. Kontrolle ist über Kommando 0x0A (vStatus1, Bit 10) möglich.
Adresse (hex)
Variable
Beschreibung
09
vExtMove
Vorgabe Prozesstemperatur
Typ
LSB
Datentyp
Wertebereich
E-grade
R/W
0,01 °C
Ganzzahl
-15100 … 32700
Explore
Bei Prozessregelung kann hiermit der Prozess-Messwert zur Temperaturregelung vorgegeben werden.
Das Kommando muss im Zusammenhang mit Kommando 0x19 (vCETM) verwendet werden, ansonsten findet ein vorgegebener Wert keine Beachtung. Kontrolle ist über Kommando 0x0A (vStatus1,
Bit 11) möglich.
Adresse (hex)
Variable
Beschreibung
0A
vStatus1
Status des Thermostats
Typ
LSB
Datentyp
Wertebereich
E-grade
R
--Bitfeld
--Basic
Abfrage des aktuellen Thermostat-Status.
Bei dem zurückgegebenen Wert handelt es sich um ein Bitfeld. Die einzelnen Bits sind unabhängig
voneinander zu betrachten.
Bit 0
Betriebsart Temperierung: 1: aktiv / 0: inaktiv
Bit 1
Betriebsart Umwälzen: 1: aktiv / 0: inaktiv
Bit 2
Kompressor der Kältemaschine: 1: eingeschaltet / 0: ausgeschaltet
Bit 3
Temperiermode "Prozessregelung": 1: aktiv / 0: inaktiv
Bit 4
Umwälzpumpe: 1: eingeschaltet / 0: ausgeschaltet
Bit 5
Kälteleistung verfügbar: 1: verfügbar / 0: nicht verfügbar
Bit 6
Tastensperre: 1: aktiv / 0: inaktiv
Bit 7
PID-Parametersatz Temperaturregler : 1: Automatikmodus / 0: Expertenmodus
Bit 8
Störung: 1: Störung aufgetreten / 0: keine Störung
Bit 9
Warnung: 1: neue Warnung aufgetreten / 0: keine neue Warnung
Bit 10
Modus zur Vorgabe der Interntemperatur (vergl. Adresse 8): 1: aktiv / 0: inaktiv
Bit 11
Modus zur Vorgabe der Externtemperatur (vergl. Adresse 9): 1: aktiv / 0: inaktiv
Bit 12
DV E-grade: 1: aktiviert / 0: nicht aktiviert
Bit 14
Neustart der Elektronik / Netzunterbrechung (*): 1: kein Neustart / 0: Neustart
Bit 15
Einfrierschutz (nicht bei allen Geräten verfügbar): 1: aktiv / 0: inaktiv
(*) Dieses Bit wird bei einem Neustart des Reglers auf 0 gesetzt. Wird die Variable vStatus1 nach
einem Neustart zum ersten Mal gelesen, ist dieses Bit nicht gesetzt. Bei allen weiteren Lesevorgängen liefert dieses Bit eine 1 zurück. Damit kann ein unerwarteter Neustart erkannt werden.
Adresse (hex)
Variable
Beschreibung
0B
vBDPos
Blow-Down Schieber ansteuern
Typ
LSB
Datentyp
Wertebereich
E-grade
R/W
1
Ganzzahl
-32700 ... 32700
Basic
Blow-Down Schieber Position vorgeben und aktuelle Position abfragen.
Um diese Funktion nutzen zu können muss eine spezielle Blow-Down Hardware vorhanden sein.
Typische Positionen des Blow-Down Schiebers:
Position 0: Temperierung (Normalzustand)
Position 4500: Ausblasen (Blow down)
Position 8266: Halten
Position 2666: Entleeren
Wird ein Wert kleiner 0 übergeben, so wird von der aktuellen Position aus eine Referenzfahrt gestartet. Dabei fährt der Schrittmotor um die angegebenen Schritte in die Richtung des mechanischen Anschlags und setzt danach seine Istposition auf den Wert 0. Der übergebene Wert muss so
groß sein, dass der mechanische Anschlag tatsächlich erreicht wird. Um eine vollständige Schließung
zu erreichen sollte ein Wert von -10000 übergeben werden.
Die Antwort des Thermostats enthält die aktuelle Position des Blow-Down Schiebers.
12
Datenkommunikation
Haftung für Irrtümer und Druckfehler ausgeschlossen.
V1.6.0de/07.03.16
Spezielle Beschreibung der PB-Kommandos
Kapitel 6
HANDBUCH
Adresse (hex)
Variable
Beschreibung
0C
vBDHeat
Blow-Down Schieber Heizung freischalten
Typ
LSB
Datentyp
Wertebereich
E-grade
R/W
1
Ganzzahl
0 ... 1
Basic
Heizung für Blow-Down Schieber freigeben.
Die Freigabe wird per Watchdog überwacht. Wird die Freigabe nicht innerhalb von 10 s erneut an
den Thermostat gesendet, so wird die Heizung ausgeschaltet.
Um diese Funktion nutzen zu können muss eine spezielle Blow-Down Hardware mit integrierter
Beheizung vorhanden sein.
Adresse (hex)
Variable
Beschreibung
0D
vVHT
Nur für Servicezwecke
Typ
LSB
Datentyp
Wertebereich
R
1
Ganzzahl
0 ... 32700
Bitte diese Variable nur nach Rücksprache verwenden!
Adresse (hex)
Variable
Beschreibung
0E
vVNT
Nur für Servicezwecke
Typ
LSB
Datentyp
Wertebereich
R
1
Ganzzahl
0 ... 32700
Bitte diese Variable nur nach Rücksprache verwenden!
E-grade
für Service vorbehalten
E-grade
für Service vorbehalten
Adresse (hex)
Variable
Beschreibung
0F
vNiv
Füllstand
Typ
LSB
Datentyp
Wertebereich
E-grade
R
0,1 %
Ganzzahl
-1 ... 1000
Basic
Füllstand des Thermostats.
Diese Funktion ist nur verfügbar, falls in ihrem Thermostat eine analoge Füllstandsanzeige integriert
ist. Wird der Wert -1 zurückgegeben, dann ist ein Problem bei der Füllstandsmessung aufgetreten.
Adresse (hex)
Variable
Beschreibung
10
vPV
Nur für Servicezwecke
Typ
LSB
Datentyp
Wertebereich
R
1
Ganzzahl
0 ... 32700
Bitte diese Variable nur nach Rücksprache verwenden!
E-grade
für Service vorbehalten
Adresse (hex)
Variable
Beschreibung
12
vAutoPID
PID-Parameter Automatik Temperaturregler
Typ
LSB
Datentyp
Wertebereich
E-grade
R /W
1
Ganzzahl
0 ... 1
Basic
Aktuell verwendeter Parametersatz des Temperaturreglers setzen und abfragen.
Der Temperaturregler arbeitet je nach Auswahl mit dem PID-Parametersatz im Automatik- oder im
Expertenmodus. Der Wert 1 bedeutet, dass der Regler im Automatikmodus arbeitet, bei 0 arbeitet
der Regler im Expertenmodus. Falls sie im Expertenmodus arbeiten möchten, müssen zunächst die
einzelnen Reglerparameter vorgegeben werden (siehe Adresse 0x1D – 0x25).
Adresse (hex)
Variable
Beschreibung
13
vTmpMode
Temperiermodus
Typ
LSB
Datentyp
Wertebereich
R /W
1
Ganzzahl
0 ... 1
Temperiermodus des Thermostats setzen und abfragen.
0: Temperiermodus Intern
1: Temperiermodus Prozess (Kaskadenregelung)
E-grade
Exclusive
Adresse (hex)
Variable
Beschreibung
14
vTmpActive
Temperierung
Typ
LSB
Datentyp
Wertebereich
E-grade
R /W
1
Ganzzahl
0 ... 1
Basic
Temperierung des Thermostats starten, stoppen oder den aktuellen Zustand abfragen.
0: Temperierung nicht aktiv
1: Temperierung aktiv
V1.6.0de/07.03.16
Haftung für Irrtümer und Druckfehler ausgeschlossen.
Datenkommunikation
13
Spezielle Beschreibung der PB-Kommandos
HANDBUCH
Kapitel 6
Adresse (hex)
Variable
Beschreibung
15
vCompAuto
Betriebsmodus Kompressor
Typ
LSB
Datentyp
Wertebereich
E-grade
R/W
1
Ganzzahl
0 ... 2
Basic
Der Betriebsmodus des Kompressors kann gesetzt und abgefragt werden.
0: Die Kompressorautomatik ist aktiv. Der Thermostat entscheidet selbständig ob der Kompressor
momentan zur Temperierung benötigt wird und schaltet diesen je nach Bedarf ein und aus.
1: Der Kompressor ist immer eingeschaltet solange die Temperierung aktiv ist.
2: Der Kompressor ist immer ausgeschaltet, egal in welchem Betriebsmodus sich der Thermostat
befindet.
Adresse (hex)
Variable
Beschreibung
16
vCircActive
Umwälzung
Typ
LSB
Datentyp
Wertebereich
E-grade
R /W
1
Ganzzahl
0 ... 1
Basic
Umwälzung des Thermostats starten, stoppen oder den aktuellen Zustand abfragen. Diese Betriebsart wird typischerweise zum Einrichten der Anlage benötigt.
0: Betriebsart Umwälzung nicht aktiv
1: Betriebsart Umwälzung aktiv
Hinweis: Ist die Temperierung aktiv so erfolgt ebenfalls eine Umwälzung, trotzdem ist die Betriebsart Umwälzung nicht aktiv.
Adresse (hex)
Variable
Beschreibung
17
vKeyLock
Bediensperre
Typ
LSB
Datentyp
Wertebereich
E-grade
R /W
--Bitfeld
--Basic
Bediensperre am Pilot aktivieren, deaktivieren oder abfragen.
Bit 0:
Bediensperre aktiv oder inaktiv
0: Bediensperre inaktiv.
1: Bediensperre aktiv. Eine manuelle Bedienung des Thermostats über den Pilot ist nicht
möglich.
Bit 1:
Watchdog Verhalten
0: Watchdog inaktiv.
1: 30 s Watchdog aktivieren. Wird das Bit 1 nicht innerhalb von 30 s erneut gesetzt, so
wird die Bediensperre automatisch aufgehoben. Dies kann verwendet werden um eine
manuelle Bedienung wieder zuzulassen, falls die Kommunikation mit dem Thermostat aus
einem beliebigen Grund unterbrochen wird.
Adresse (hex)
Variable
Beschreibung
18
vCITM
Modus Istwertvorgabe Interntemperatur
Typ
LSB
Datentyp
Wertebereich
E-grade
R /W
-Bitfeld
--Explore
Betriebsmodus zur Vorgabe der Interntemperatur aktivieren, deaktivieren oder abfragen.
Bit 0:
Betriebsmodus aktiv oder inaktiv
0: Modus nicht aktiv.
1: Modus aktiv. Der Temperaturregler verwendet zur Regelung anstatt der Interntemperatur den aktuellen Inhalt der Variable 0x08 (vIntMove) zur Berechnung der Stellgröße.
Gleichzeitig wird beim erstmaligen Setzen dieses Bits ein Watchdog aktiviert, der nach Ablauf von 30 s reagiert. Durch regelmäßiges Setzen der Variable 0x08 (vIntMove) kann verhindert werden, dass der Watchdog auslöst.
Bit 1:
Watchdog Verhalten
Legt das Verhalten des Thermostats fest, falls ein Problem der Datenkommunikation festgestellt wird.
0: Der Thermostat erzeugt die Warnung -2129, deaktiviert die Istwertvorgabe und temperiert weiter indem der Internfühler des Thermostats verwendet wird.
1: Der Thermostat erzeugt die Störung -328 und wechselt in den Standby Mode (Temperierung wird gestoppt).
14
Datenkommunikation
Haftung für Irrtümer und Druckfehler ausgeschlossen.
V1.6.0de/07.03.16
Spezielle Beschreibung der PB-Kommandos
Kapitel 6
HANDBUCH
Adresse (hex)
Variable
Beschreibung
19
vCETM
Modus Istwertvorgabe Prozesstemperatur
Typ
LSB
Datentyp
Wertebereich
E-grade
R /W
-Bitfeld
--Explore
Betriebsmodus zur Vorgabe der Prozesstemperatur aktivieren, deaktivieren oder abfragen.
Bit 0:
Betriebsmodus aktiv oder inaktiv
0: Modus nicht aktiv.
1: Modus aktiv. Der Temperaturregler verwendet zur Regelung anstatt der Prozesstemperatur den aktuellen Inhalt der Variable 0x09 (vExtMove) zur Berechnung der Stellgröße.
Gleichzeitig wird beim erstmaligen Setzen dieses Bits ein Watchdog aktiviert, der nach Ablauf von 30 s reagiert. Durch regelmäßiges Setzen der Variable 0x09 (vExtMove) kann verhindert werden, dass der Watchdog auslöst.
Bit 1:
Watchdog Verhalten
Legt das Verhalten des Thermostats fest, falls ein Problem der Datenkommunikation festgestellt wird.
0: Der Thermostat erzeugt die Warnung -2130, deaktiviert die Istwertvorgabe, wechselt
von Prozess- zur Internregelung (vgl. vTmpMode, Variable 19) und temperiert weiter.
1: Der Thermostat erzeugt die Störung -329 und wechselt in den Standby Mode (Temperierung wird gestoppt).
Adresse (hex)
Variable
Beschreibung
1A
vICE
Einfrierschutz
Typ
LSB
Datentyp
Wertebereich
E-grade
R /W
1
Ganzzahl
0 ... 1
Basic
Einfrierschutz des Thermostats aktivieren, deaktivieren oder abfragen.
0: Einfrierschutz nicht aktiv
1: Einfrierschutz aktiv
Bitte beachten Sie, dass ein Einfrierschutz nicht bei allen Thermostaten verfügbar ist.
Adresse (hex)
Variable
Beschreibung
1B + 1C
vSNRL + vSNRH
Seriennummer
Typ
LSB
Datentyp
Wertebereich
E-grade
R
1
Ganzzahl
0 ... 65535
Basic
Abfrage der Seriennummer des Thermostats.
Da die Seriennummer größere Werte als 65535 annehmen kann, aber nur 2 Bytes pro Variable zur
Verfügung stehen, setzt sich die Seriennummer aus 2 Datenworten (Low + High) mit jeweils 2 Bytes
zu einem 4 Bytes Wert zusammen.
Variable 0x1B (vSNRL) enthält die niederwertigen Bytes, Variable 0x1C (vSNRH) enthält die hochwertigen Bytes.
Adresse (hex)
Variable
Beschreibung
1D
vKpInt
Kp des Internreglers
Typ
LSB
Datentyp
Wertebereich
E-grade
R /W
1
Ganzzahl
0 ... 32000
Basic
Verstärkung des PID-Reglers bei Internregelung ändern und abfragen.
Eine Änderung wirkt sich auf den kompletten Regler (P-, I- und D-Anteil) aus.
Der Parameter wird nur verwendet, falls der Expertenmodus aktiviert wurde (vgl. vAutoPID, Variable 0x12).
Adresse (hex)
Variable
Beschreibung
1E
vTnInt
Tn des Internreglers
Typ
LSB
Datentyp
Wertebereich
E-grade
R /W
0,1 s
Ganzzahl
0 ... 32000
Basic
Nachstellzeit des PID-Reglers bei Internregelung ändern und abfragen.
Eine Änderung wirkt sich nur auf den I-Anteil des Reglers aus. Wird diese Variable auf 0 gesetzt, so
ist der I-Anteil des Reglers deaktiviert.
Der Parameter wird nur verwendet, falls der Expertenmodus aktiviert wurde (vgl. vAutoPID, Adresse
0x12).
V1.6.0de/07.03.16
Haftung für Irrtümer und Druckfehler ausgeschlossen.
Datenkommunikation
15
Spezielle Beschreibung der PB-Kommandos
HANDBUCH
Kapitel 6
Adresse (hex)
Variable
Beschreibung
1F
vTvInt
Tv des Internreglers
Typ
LSB
Datentyp
Wertebereich
E-grade
R /W
0,1 s
Ganzzahl
0 ... 32000
Basic
Vorhaltezeit des PID-Reglers bei Internregelung ändern und abfragen.
Eine Änderung wirkt sich nur auf den D-Anteil des Reglers aus.
Der Parameter wird nur verwendet, falls der Expertenmodus aktiviert wurde (vgl. vAutoPID, Adresse
0x12).
Adresse (hex)
Variable
Beschreibung
20
vKpJack
Kp des Mantelreglers
Typ
LSB
Datentyp
Wertebereich
E-grade
R /W
1
Ganzzahl
0 ... 32000
Exclusive
Verstärkung des PID-Reglers bei Mantelregelung ändern und abfragen.
Eine Änderung wirkt sich auf den kompletten Regler (P-, I- und D-Anteil) aus.
Der Parameter wird nur bei Prozessregelung verwendet, falls der Expertenmodus aktiviert wurde
(vgl. vAutoPID, Adresse 0x12).
Der Mantelregler ist der unterlagerte Regler bei aktivierter Prozessregelung.
Adresse (hex)
Variable
Beschreibung
21
vTnJack
Tn des Mantelreglers
Typ
LSB
Datentyp
Wertebereich
E-grade
R /W
0,1 s
Ganzzahl
0 ... 32000
Exclusive
Nachstellzeit des PID-Reglers bei Mantelregelung ändern und abfragen.
Eine Änderung wirkt sich nur auf den I-Anteil des Reglers aus.
Beim Mantelregler handelt es sich prinzipiell um den gleichen Regler wie den Internregler, allerdings
als unterlagerter Regler in der Prozess-Kaskadenregelung. Der Sinn der Unterscheidung liegt darin,
dass man bei Prozessregelung dem Regler der Interntemperatur andere Parameter zuweisen möchte als bei Internregelung. Dies ist auch sinnvoll, da für den unterlagerten Regler bei Prozessregelung
kein I-Anteil notwendig ist.
Wird diese Variable auf 0 gesetzt, so ist der I-Anteil des Reglers deaktiviert. Dies ist auch der Normalfall.
Der Parameter wird nur bei Prozessregelung (vgl. vTmpMode, Variable 0x13) verwendet, falls der
Expertenmodus aktiviert wurde (vgl. vAutoPID, Adresse 0x12).
Adresse (hex)
Variable
Beschreibung
22
vTvJack
Tv des Mantelreglers
Typ
LSB
Datentyp
Wertebereich
E-grade
R /W
0,1 s
Ganzzahl
0 ... 32000
Exclusive
Vorhaltezeit des PID-Reglers bei Mantelregelung ändern und abfragen.
Eine Änderung wirkt sich nur auf den D-Anteil des Reglers aus.
Im Normalfall ist dieser Wert mit 0 belegt.
Der Parameter wird nur bei Prozessregelung verwendet, falls der Expertenmodus aktiviert wurde
(vgl. vAutoPID , Adresse 0x12).
Adresse (hex)
Variable
Beschreibung
23
vKpProc
Kp des Prozessreglers
Typ
LSB
Datentyp
Wertebereich
E-grade
R /W
0,01
Ganzzahl
0 ... 32000
Exclusive
Verstärkung des PID-Reglers bei Prozessregelung ändern und abfragen.
Eine Änderung wirkt sich auf den kompletten Regler (P-, I- und D-Anteil) aus.
Der Parameter wird nur bei Prozessregelung verwendet, falls der Expertenmodus aktiviert wurde
(vgl. vAutoPID, Adresse 0x12).
Adresse (hex)
Variable
Beschreibung
24
vTnProc
Tn des Prozessreglers
Typ
LSB
Datentyp
Wertebereich
E-grade
R /W
0,1 s
Ganzzahl
0 ... 32000
Exclusive
Nachstellzeit des PID-Reglers bei Prozessregelung ändern und abfragen.
Eine Änderung wirkt sich nur auf den I-Anteil des Reglers aus.
Wird diese Variable auf 0 gesetzt, so ist der I-Anteil des Reglers deaktiviert.
Der Parameter wird nur bei Prozessregelung (vgl. vTmpMode, Adresse 0x13) verwendet, falls der
Expertenmodus aktiviert wurde (vgl. vAutoPID , Adresse 0x12).
16
Datenkommunikation
Haftung für Irrtümer und Druckfehler ausgeschlossen.
V1.6.0de/07.03.16
Spezielle Beschreibung der PB-Kommandos
Kapitel 6
HANDBUCH
Adresse (hex)
Variable
Beschreibung
25
vTvProc
Tv des Prozessreglers
Typ
LSB
Datentyp
Wertebereich
E-grade
R /W
0,1 s
Ganzzahl
0 ... 32000
Exclusive
Vorhaltezeit des PID-Reglers bei Prozessregelung ändern und abfragen.
Eine Änderung wirkt sich nur auf den D-Anteil des Reglers aus.
Der Parameter wird nur bei Prozessregelung (vgl. vTmpMode, Adresse 0x13) verwendet, falls der
Expertenmodus aktiviert wurde (vgl. vAutoPID , Adresse 0x12).
Adresse (hex)
Variable
Beschreibung
26
vnP
Pumpendrehzahl
Typ
LSB
Datentyp
Wertebereich
E-grade
R
1 / min
Ganzzahl
0 ... 32000
Basic
Die aktuelle Pumpendrahzahl abfragen.
Beachten Sie, dass die aktuelle Pumpendrehzahl nicht bei allen Thermostaten zur Verfügung steht.
Adresse (hex)
Variable
Beschreibung
27 - 2B
Temperaturen für Service und Wartung
Typ
LSB
Datentyp
Wertebereich
E-grade
R
0,01 °C
Ganzzahl
-15100 … 32700
für Service vorbehalten
Bitte diese Variable nur nach Rücksprache verwenden!
Verschiedene Service Temperaturen
Adresse (hex)
Variable
Beschreibung
2C
vTKwIn
Kühlwassereintrittstemperatur
Typ
LSB
Datentyp
Wertebereich
E-grade
R
0,01 °C
Ganzzahl
-15100 … 32700
Explore
Aktueller Messwert der Kühlwassereintrittstemperatur.
Adresse (hex)
Variable
2D
vpKw
Typ
LSB
Datentyp
R
1 mbar
Ganzzahl
Aktueller Messwert der Kühlwasserdrucks.
Beschreibung
Kühlwasserdruck
Wertebereich
0 … 32000
E-grade
Explore
Adresse (hex)
Variable
Beschreibung
2E
vPowCon
Netzanschlussbedingungen
Typ
LSB
Datentyp
Wertebereich
E-grade
R /W
-Bitfeld
--Explore
Bei einigen Temperiergeräten muss der Anwender die Netzanschlusswerte dem Thermostat mitteilen. Dies geschieht im Normalfall durch eine Menüeingabe. Diese manuelle Einstellung wird hier
nachempfunden. Eine Benutzung dieser Variablen muss bei den betreffenden Geräten erfolgen. Ein
Eintrag bei Geräten die diese Angaben nicht benötigen wird ignoriert.
Bit 0 - 2: Einstellung der Netzspannung und Netzfrequenz bei umschaltbarer Spannungsversorgung:
000
Kein Eintrag erfolgt / undefiniert
001
400 V / 50 Hz
010
400 V / 60 Hz
011
460 V / 60 Hz
100
480 V / 60 Hz
Bits 8 – 9: Berücksichtigung der maximalen Strombelastung durch die Vorabsicherung. Das Gerät
reduziert die maximale elektrische Leistungsaufnahme so, dass die angegebenen Maximalströme
nicht überzogen werden.
Diese Funktion ist nur bei einigen Geräten mit 230 V Spannungsversorgung verhanden.
00
Kein Eintrag erfolgt / undefiniert
01
16A
10
13A
11
10A
Adresse (hex)
Variable
Beschreibung
30
vMinSP
Minimaler Sollwert
Typ
LSB
Datentyp
Wertebereich
E-grade
R/W
0,01 °C
Ganzzahl
-15100 … 32700
Basic
Dieser minimale Sollwert wird vom Temperaturregler verwendet. Er begrenzt den Sollwertbereich
des Intern- und des Prozessreglers nach unten.
V1.6.0de/07.03.16
Haftung für Irrtümer und Druckfehler ausgeschlossen.
Datenkommunikation
17
Spezielle Beschreibung der PB-Kommandos
HANDBUCH
Kapitel 6
Adresse (hex)
Variable
Beschreibung
31
vMaxSP
Maximaler Sollwert
Typ
LSB
Datentyp
Wertebereich
E-grade
R/W
0,01 °C
Ganzzahl
-15100 … 32700
Basic
Dieser maximale Sollwert wird vom Temperaturregler verwendet. Er begrenzt den Sollwertbereich
des Intern- und des Prozessreglers nach oben.
Adresse (hex)
Variable
Beschreibung
33
vNivHi
Überniveaugrenze
Typ
LSB
Datentyp
Wertebereich
E-grade
R/W
0,1 %
Ganzzahl
0 … 1000
Basic
Einstellung der Füllstandsobergrenze. Ein höherer Füllstand erzeugt eine Meldung (optionale Einrichtung)
Adresse (hex)
Variable
Beschreibung
34
vNivLo
Unterniveaugrenze
Typ
LSB
Datentyp
Wertebereich
E-grade
R/W
0,1 %
Ganzzahl
0 … 1000
Basic
Einstellung der Füllstandsuntergrenze. Ein niedrigerer Füllstand erzeugt eine Meldung (optionale
Einrichtung)
Adresse (hex)
Variable
Beschreibung
35
vNivCont
Einstellung digitaler Niveauausgang
Typ
LSB
Datentyp
Wertebereich
E-grade
R/W
-Bitfeld
--Basic
Einstellung des Schaltsinns für Niveaukontakte (optionale Einrichtung).
Es handelt sich dabei um zwei digitale Ausgänge die wahlweise als Öffner oder Schließer eingestellt
werden können. Der eine Ausgang meldet eine Überniveau, der andere ein Unterniveau.
Bit 0:
0: Unterniveauausgang als Öffner
1: Unterniveauausgang als Schließer
Bit 1:
0: Überniveauausgang als Öffner
1: Überniveauausgang als Schließer
Adresse (hex)
Variable
Beschreibung
36 - 39
Servicefunktion
Typ
LSB
Datentyp
Wertebereich
R/W
1
Ganzzahl
-32700 … 32700
Bitte diese Variablen nur nach Rücksprache verwenden!
Verschiedene Serviceeinstellungen.
E-grade
für Service vorbehalten
Adresse (hex)
Variable
Beschreibung
3A
vTProc
Prozesstemperatur
Typ
LSB
Datentyp
Wertebereich
E-grade
R
0,01 °C
Ganzzahl
-15100 … 32700
Exclusive
Der Istwert der vom Prozessregler verwendeten Temperatur wird zurückgegeben.
Ist kein Fühler angeschlossen und der Wert wird auch nicht durch eine Kommando oder den Analogeingang des Com.G@tes vorgegeben, so wird der Wert -151 °C zurückgegeben.
Adresse (hex)
Variable
Beschreibung
3B
vT0V
Temperatur für Service und Wartung
Typ
LSB
Datentyp
Wertebereich
E-grade
R
0,01 °C
Ganzzahl
-15100 … 32700
für Service vorbehalten
Bitte diese Variable nur nach Rücksprache verwenden!
Service Temperatur
18
Datenkommunikation
Haftung für Irrtümer und Druckfehler ausgeschlossen.
V1.6.0de/07.03.16
Spezielle Beschreibung der PB-Kommandos
Kapitel 6
HANDBUCH
Adresse (hex)
Variable
Beschreibung
3C
vStatus2
Status des Thermostats
Typ
LSB
Datentyp
Wertebereich
E-grade
R
--Bitfeld
--Basic
Abfrage des aktuellen Thermostat-Status.
Bei dem zurückgegebenen Wert handelt es sich um ein Bitfeld. Die einzelnen Bits sind unabhängig
voneinander zu betrachten.
Bit 0
Reglung: 1: Der Prozessregler gibt momentan die Stellgröße vor / 0: Der Internregler gibt
momentan die Stellgröße vor
Bit 1-4 aktiver Kälteregler (zur internen Verwendung)
Bit 5
Die Tropfwanne ist voll und muss entleert werden (Leckage der Pumpendichtung) (nur bei
spezielle Einrichtung)
Adresse (hex)
Variable
Beschreibung
3D
vDistFeed
Störgrößenaufschaltung
Typ
LSB
Datentyp
Wertebereich
E-grade
R/W
1W
Ganzzahl
-32700 … 32700
Explore
Bei vorhersehbaren Laständerungen kann dem Thermostat, bevor sich die Temperatur tatsächlich
ändert, mitgeteilt werden, dass er seine Leistung um den aktuellen Wert anpassen soll. Somit können Störgrößeneinflüsse, die der Regler erst nach einer gewissen Totzeit am Regelfühler feststellen
kann, vermindert werden.
Adresse (hex)
Variable
Beschreibung
3E
vpPIn
Druck im Rücklauf (absolut)
Typ
LSB
Datentyp
Wertebereich
E-grade
R
1 mbar
Ganzzahl
0 … 32000
Basic
Absoluter Druck am Rücklauf des Thermofluid-Kreislauf des Thermostats (nur mit optionaler Messeinrichtung).
Adresse (hex)
Variable
Beschreibung
3F
vBlDwn
Status Blow-Down
Typ
LSB
Datentyp
Wertebereich
R/W
-Bitfeld
--Status der optionalen Blow-Down Einrichtung.
Bit 0
Druckluft OK
Bit 1
Übertemperaturstatus OK
Bit 2
Betriebsart OK
(Standby)
Bit 3
Interntemperatur ist OK (< 70°C)
Bit 4
Druck im Hydraulikkreislauf (Pumpendruck) ist OK (< 300mbar)
Bit 5
Schieberposition OK
Bit 8
Magnetventil bzw. Blow-Down Prozess ein- / ausschalten
Bei einem schreibenden Zugriff wird nur Bit 8 ausgewertet.
E-grade
Basic
Adresse (hex)
Variable
Beschreibung
40
vWD1
Watchdog (Störung)
Typ
LSB
Datentyp
Wertebereich
E-grade
R/W
1s
Ganzzahl
0 … 150
Basic
Watchdog Timer zur Überwachung der Datenkommunikation.
Wird der Timer auf einen Wert ungleich Null gesetzt, so ist der Watchdog aktiv. Die Variable muss
regelmäßig mit dem gewünschten Zeitlimit beschrieben werden, ansonsten erzeugt der Thermostat
nach Ablauf der Zeit eine Störung.
Wird die Variable mit dem Wert Null beschrieben, so wird der Watchdog deaktiviert.
Adresse (hex)
Variable
Beschreibung
41
vWD2
Watchdog (2. Sollwert)
Typ
LSB
Datentyp
Wertebereich
E-grade
R/W
1s
Ganzzahl
0 … 150
Professional
Watchdog Timer zur Überwachung der Datenkommunikation.
Wird der Timer auf einen Wert ungleich Null gesetzt, so ist der Watchdog aktiv. Die Variable muss
regelmäßig mit dem gewünschten Zeitlimit beschrieben werden, ansonsten wird nach Ablauf der
Zeit der „2. Sollwert“ als Sollwert übernommen. Nach Wiederaufbau der Kommunikation kann der
Sollwert überschrieben werden.
Wird die Variable mit dem Wert Null beschrieben, so wird der Watchdog deaktiviert.
V1.6.0de/07.03.16
Haftung für Irrtümer und Druckfehler ausgeschlossen.
Datenkommunikation
19
Spezielle Beschreibung der PB-Kommandos
HANDBUCH
Kapitel 6
Adresse (hex)
Variable
Beschreibung
42
vSP2
2. Sollwert
Typ
LSB
Datentyp
Wertebereich
E-grade
R/W
0,01 °C
Ganzzahl
-15100 … 32700
Professional
Einstellung des „2. Sollwerts“. Dieser Wert sollte auf einen Temperaturwert gesetzt werden, bei
dem sich der Prozess in einem sicheren Zustand befindet. Der Sollwert wird nur beim Eintritt bestimmter Ereignisse aktiviert.
Adresse (hex)
Variable
Beschreibung
43
vPMAMode
PMA Modus
Typ
LSB
Datentyp
Wertebereich
E-grade
R/W
1
Ganzzahl
0…1
Explore
Im sogenannten PMA-Modus ist es möglich den Temperaturregler des Thermostats zu übergehen
und direkt die gewünschte Leistung (Kälteleistung/Heizleistung) vorzugeben.
Vor der Leistungsvorgabe (vergl. vPMA, Adresse 0x44) muss der PMA Modus aktiviert werden.
0: PMA Modus nicht aktiv
1: PMA Modus aktiv
Adresse (hex)
Variable
Beschreibung
44
vPMA
PMA Leistung vorgeben
Typ
LSB
Datentyp
Wertebereich
E-grade
R/W
0,1 %
Ganzzahl
-1000 … 1000
Explore
Prozentuale Leistungsvorgabe im PMA Modus. Negative Werte für Kälteleistung, positive Werte für
Heizleistung. Zuvor muss der PMA Modus aktiviert werden (PB Kommando 0x43).
Adresse (hex)
Variable
Beschreibung
45
vPMHMode
PMH Modus
Typ
LSB
Datentyp
Wertebereich
E-grade
R/W
1
Ganzzahl
0…1
Explore
Im sogenannten PMH-Modus ist es möglich den Temperaturregler des Thermostats zu übergehen
und direkt die gewünschte Heizleistung vorzugeben.
Vor der Leistungsvorgabe (vergl. vPMH, Adresse 0x46 und vFixCool, Adresse 0x47) muss der PMH
Modus aktiviert werden.
0: PMH Modus nicht aktiv
1: PMH Modus aktiv
Adresse (hex)
Variable
Beschreibung
46
vPMH
Heizleistung vorgeben
Typ
LSB
Datentyp
Wertebereich
E-grade
R/W
0,1 %
Ganzzahl
0 … 1000
Explore
Prozentuale Heizleistungsvorgabe im PMH Modus. Zuvor muss der PMA Modus aktiviert werden (PB
Kommando 0x45).
Adresse (hex)
Variable
Beschreibung
47
vFixCool
Kühlleistung vorgeben
Typ
LSB
Datentyp
Wertebereich
E-grade
R/W
0,1 %
Ganzzahl
0 … 1000
Basic
Prozentuale Kühlleistungsvorgabe. Diese Funktion kann sowohl im Zusammenhang mit einer Leistungsvorgabe im PMH-Modus (vergl. vPMHMode, Adresse 0x45) oder auch im normalen Regelbetrieb verwendet werden.
Bei Verwendung im Regelbetrieb wird die Kühlleistung auf den vorgegebenen Wert festgestellt und
vom Temperaturregler nur noch die Heizleistung automatisch angepasst um den gewünschten
Sollwert zu erreichen.
Adresse (hex)
Variable
Beschreibung
48
vnPSet
Sollwert Pumpendrehzahl
Typ
LSB
Datentyp
Wertebereich
E-grade
R/W
1 / min
Ganzzahl
0 ... 32000
Basic
Den aktuellen Pumpendrehzahl-Sollwert setzen und abfragen.
Beachten Sie, dass diese Funktion nur bei Thermostaten mit drehzahlregelbarer Pumpe gegeben ist.
20
Datenkommunikation
Haftung für Irrtümer und Druckfehler ausgeschlossen.
V1.6.0de/07.03.16
Spezielle Beschreibung der PB-Kommandos
Kapitel 6
HANDBUCH
Adresse (hex)
Variable
Beschreibung
49
vpPSet
Sollwert Pumpendruck
Typ
LSB
Datentyp
Wertebereich
E-grade
R/W
1 mbar
Ganzzahl
0 ... 32000
Basic
Den aktuellen Pumpendruck-Sollwert setzen und abfragen.
Beachten Sie, dass diese Funktion nur bei Thermostaten mit drehzahlregelbarer Pumpe oder VPCBypass gegeben ist.
Adresse (hex)
Variable
Beschreibung
4A
vVPCMode
VPC-Bypass Betriebsmodus
Typ
LSB
Datentyp
Wertebereich
E-grade
R /W
1
Ganzzahl
0 ... 1
Basic
Betriebsmodus des VPC-Bypass setzen und abfragen.
0: Automatische Regelung des VPC-Bypass nach dem Pumpendruck Sollwert
1: Positionsvorgabe durch Automatisierungssystem
Adresse (hex)
Variable
Beschreibung
4B
vVPCPos
VPC-Bypass Sollposition
Typ
LSB
Datentyp
Wertebereich
E-grade
R/W
0,1 %
Ganzzahl
0 ... 1000
Basic
VPC-Bypass Position vorgeben oder aktuelle Vorgabe abfragen.
Beachten Sie, dass die Vorgabe einer VPC-Bypass Position nur möglich ist, wenn zunächst der Betriebsmodus auf Positionsvorgabe umgestellt wurde (vergl. vVPCMode, Adresse 0x4A).
Adresse (hex)
Variable
Beschreibung
4C
vTKwOut
Kühlwasseraustrittstemperatur
Typ
LSB
Datentyp
Wertebereich
E-grade
R
0,01 °C
Ganzzahl
-15100 … 32700
Explore
Aktueller Messwert der Kühlwasseraustrittstemperatur.
Adresse (hex)
Variable
Beschreibung
4D
vFluidFlow
Thermofluid Volumenstrom
Typ
LSB
Datentyp
Wertebereich
E-grade
R
0,1 l/min Ganzzahl
0 … 10000
Explore
Aktueller Messwert des Thermofluid Volumenstroms.
Bitte beachten Sie, dass dieser Messwert nur zur Verfügung steht, wenn eine spezielle Volumenstrom Messeinrichtung vorhanden ist.
Adresse (hex)
Variable
Beschreibung
4E
vFluidFlowSet
Sollwert Thermofluid Volumenstrom
Typ
LSB
Datentyp
Wertebereich
E-grade
R/W
0,1 l/min Ganzzahl
0 … 10000
Explore
Aktueller Sollwert des Thermofluid Volumenstroms.
Bitte beachten Sie, dass diese Funktion nur zur Verfügung steht, wenn eine spezielle Volumenstrom
Messeinrichtung vorhanden ist. Außerdem muss entweder eine drehzahlregelbare Pumpe oder ein
VPC-Bypass vorhanden sein um eine Regelung zu ermöglichen.
Adresse (hex)
Variable
Beschreibung
4F
vDeltaT
Sollwert Delta-T Regelung
Typ
LSB
Datentyp
Wertebereich
E-grade
R/W
0,01 K
Ganzzahl
0 … 32700
Exclusive
Der Sollwert wird vom Temperaturregler verwendet. Bei Internregelung wird dieser Wert ignoriert,
bei Prozessregelung wird dadurch die Temperaturdifferenz zwischen Intern- und Prozesstemperatur
begrenzt.
Bitte beachten Sie, dass diese Soll-Temperaturdifferenz je nach Qualität der Reglerparametrierung
überschritten werden kann.
Adresse (hex)
Variable
Beschreibung
50
vDeltaTAlarm
Alarmgrenze Delta-T
Typ
LSB
Datentyp
Wertebereich
E-grade
R/W
0,01 K
Ganzzahl
0 … 32700
Exclusive
Alarmgrenze für die Differenz zwischen Intern- und Prozesstemperatur setzen und abfragen.
Bei Internregelung wird dieser Wert ignoriert, bei Prozessregelung wird dadurch die Temperaturdifferenz zwischen Intern- und Prozesstemperatur überwacht und bei einem Überschreiten eine Störung ausgelöst.
V1.6.0de/07.03.16
Haftung für Irrtümer und Druckfehler ausgeschlossen.
Datenkommunikation
21
Spezielle Beschreibung der PB-Kommandos
HANDBUCH
Kapitel 6
Adresse (hex)
Variable
Beschreibung
51
vTIAlarmHi
Obere Alarmgrenze Interntemperatur
Typ
LSB
Datentyp
Wertebereich
E-grade
R/W
0,01 °C
Ganzzahl
-15100 … 32700
Basic
Obere Alarmgrenze für die Interntemperatur setzen und abfragen.
Überschreitet die Interntemperatur diesen Wert, so wird eine Störung erzeugt.
Adresse (hex)
Variable
Beschreibung
52
vTIAlarmLo
Untere Alarmgrenze Interntemperatur
Typ
LSB
Datentyp
Wertebereich
E-grade
R/W
0,01 °C
Ganzzahl
-15100 … 32700
Basic
Untere Alarmgrenze für die Interntemperatur setzen und abfragen.
Unterschreitet die Interntemperatur diesen Wert, so wird eine Störung erzeugt.
Adresse (hex)
Variable
Beschreibung
53
vTEAlarmHi
Obere Alarmgrenze Prozesstemperatur
Typ
LSB
Datentyp
Wertebereich
E-grade
R/W
0,01 °C
Ganzzahl
-15100 … 32700
Basic
Obere Alarmgrenze für die Prozesstemperatur setzen und abfragen.
Überschreitet die Prozesstemperatur diesen Wert, so wird eine Störung erzeugt.
Adresse (hex)
Variable
Beschreibung
54
vTEAlarmLo
Untere Alarmgrenze Prozesstemperatur
Typ
LSB
Datentyp
Wertebereich
E-grade
R/W
0,01 °C
Ganzzahl
-15100 … 32700
Basic
Untere Alarmgrenze für die Prozesstemperatur setzen und abfragen.
Unterschreitet die Prozesstemperatur diesen Wert, so wird eine Störung erzeugt.
Adresse (hex)
Variable
Beschreibung
55
vOTHeater
Einstellung Übertemperaturschutz Heizung
Typ
LSB
Datentyp
Wertebereich
E-grade
R
0,01 °C
Ganzzahl
-15100 … 32700
Basic
Aktuelle Einstellung des Übertemperaturschutz-Auslösewertes der Heizung(en) abfragen.
Steigt die Temperatur in einer der Heizungen über diesen Wert an, dann wird eine Störung erzeugt.
Adresse (hex)
56
Variable
vOTExpVessel
Beschreibung
Einstellung Übertemperaturschutz Expansionsgefäß
Typ
LSB
Datentyp
Wertebereich
E-grade
R
0,01 °C
Ganzzahl
-15100 … 32700
Basic
Aktuelle Einstellung des Übertemperaturschutz-Auslösewertes des Expansionsgefäßes abfragen.
Steigt die Temperatur im Expansionsgefäß über diesen Wert an, dann wird eine Störung erzeugt.
Adresse (hex)
Variable
Beschreibung
57
vLimitMinOffset
Nur für Servicezwecke
Typ
LSB
Datentyp
Wertebereich
R/W
0,01 °C
Ganzzahl
-15100 … 32700
Bitte diese Variablen nur nach Rücksprache verwenden!
E-grade
Basic
Adresse (hex)
Variable
Beschreibung
58
vProgramStart
Temperierprogramm starten
Typ
LSB
Datentyp
Wertebereich
E-grade
R/W
1
Ganzzahl
1 … 10
Exclusive
Temperierprogramm starten oder Kennung des laufenden Temperierprogramms abfragen.
Startet ein bereits eingegebenes Temperierprogramm.
Adresse (hex)
Variable
Beschreibung
59
vRampDuration
Rampendauer vorgeben
Typ
LSB
Datentyp
Wertebereich
E-grade
R/W
1s
Ganzzahl
-32767 … 32767
Exclusive
Rampendauer in Sekunden vorgeben und nach Rampenstart verbleibende Rampendauer abfragen.
Gibt die Dauer einer Rampe vor. Die Rampe wird durch die Eingabe eines Sollwertes mit Befehl 0x5A
gestartet. Wird bei einer laufenden Rampe ein Wert kleiner 0 gesendet, stoppt die Rampe.
22
Datenkommunikation
Haftung für Irrtümer und Druckfehler ausgeschlossen.
V1.6.0de/07.03.16
Spezielle Beschreibung der PB-Kommandos
Kapitel 6
HANDBUCH
Adresse (hex)
Variable
Beschreibung
5A
vRampStart
Rampe starten
Typ
LSB
Datentyp
Wertebereich
E-grade
R/W
0,01 °C
Ganzzahl
-15100 … 32700
Exclusive
Rampe starten und aktuellen Sollwert abfragen.
Gibt den Sollwert einer Rampe vor, deren Dauer zuvor mit Befehl 0x59 bestimmt wurde. Der aktuelle Sollwert kann abgefragt werden.
Adresse (hex)
Variable
Beschreibung
5B
vBlowDownPos
Blow-Down Betriebszustand vorgeben
Typ
LSB
Datentyp
Wertebereich
E-grade
R/W
1
Ganzzahl
0, 2666, 4500, 8266
Basic
Blow-Down Betriebszustand vorgeben oder abfragen.
0: Temperieren
2666: Entleeren
4500: Ausblasen (Blow down)
8266: Halten
Gibt den neuen Sollzustand zurück.
Adresse (hex)
Variable
Beschreibung
5C
vMaintenanceDays Tage bis zur Wartung
Typ
LSB
Datentyp
Wertebereich
E-grade
R
1d
Ganzzahl
-1 …
Basic
Abfrage, in wie vielen Tagen die nächste Wartungsmeldung erscheint. Wenn als Rückgabewert -1
kommt wurde die Erinnerung noch nicht aktiviert.
Adresse (hex)
Variable
Beschreibung
5D
vFGasDays
Tage bis zur F-Gas Überprüfung
Typ
LSB
Datentyp
Wertebereich
E-grade
R
1d
Ganzzahl
-1 …
Basic
Abfrage, in wie vielen Tagen die nächste Wartungsmeldung zur F-Gas Überprüfung erscheint. Wenn
als Rückgabewert -1 kommt wurde die Erinnerung noch nicht aktiviert.
Adresse (hex)
Variable
Beschreibung
5E
vServicePackage
Service Packet erzeugen
Typ
LSB
Datentyp
Wertebereich
E-grade
R/W
1
Ganzzahl
-1, 0, 1, 2
Basic
Wird als Parameter 1 übergeben, so wird das Service Packet auf dem USB Stick gespeichert. Rückgabewert: -1 (Fehler), 0 (Initialisiert), 1 (in Bearbeitung), 2 (Erfolgreich Abgeschlossen).
Adresse (hex)
Variable
Beschreibung
5F
vProgramState
Programm Status ändern
Typ
LSB
Datentyp
Wertebereich
E-grade
R/W
1
Ganzzahl
0…4
Exclusive
Ändern des Status eines laufenden Temperierprogrammes oder aktueller Status abfragen.
Vorgabe:
1: Laufendes Temperierprogramm fortsetzen (nach einer Pause)
2: Laufendes Temperierprogramm pausieren
3: Zum nächsten Segment springen
4: Laufendes Temperierprogramm beenden
Antwort:
0: kein Temperierprogramm aktiv
1: Temperierprogramm läuft
2: Temperierprogramm pausiert
3: Zum nächsten Segment gewechselt
4: Temperierprogramm beendet
V1.6.0de/07.03.16
Haftung für Irrtümer und Druckfehler ausgeschlossen.
Datenkommunikation
23
PB-Kommando Beispiele
HANDBUCH
Kapitel 7
7 PB-Kommando Beispiele
Beispiel 1: Sollwert soll auf 20 °C eingestellt werden
Der Sollwert für den Temperaturregler befindet sich auf Adresse 0x00.
Der Wert muss in der Einheit 0,01 °C übergeben werden. Das heißt es muss (in Dezimaldarstellung)
ein Wert von 2000 übergeben werden. Dieser Wert muss jedoch als Hexadezimalwert mit 4 Stellen
übergeben werden. 2000 entspricht in der Hexadezimaldarstellung dem Wert 7D0. Um 4 Stellen
übergeben zu können muss noch eine führende 0 angehängt werden. Der Hexadezimalwert muss
nun in einen String gewandelt werden.
Folgender String muss an das Gerät gesendet werden:
{M0007D0<CR><LF>
Dabei entspricht <CR> dem Zeichen Carriage Return (mit dem ASCII Code 13 bzw. 0x0D) und <LF>
dem Zeichen Line Feed (mit dem ASCII Code 10 bzw. 0x0A).
Der Thermostat antwortet (falls der Wert zulässig war und nicht begrenzt wurde) mit dem Kommando:
{S0007D0<CR><LF>
Beispiel 2: Sollwert soll auf -23,15 °C eingestellt werden
Es muss (in Dezimaldarstellung) ein Wert von -2315 übergeben werden. In der Hexadezimaldarstellung entspricht dies dem Wert F6F5.
Folgender String muss an das Gerät gesendet werden:
{M00F6F5<CR><LF>
Der Thermostat antwortet (falls der Wert zulässig war und nicht begrenzt wurde) mit dem Kommando:
{S00F6F5<CR><LF>
Beispiel 3: Abfrage des Sollwerts
Wenn eine Variable nur abgefragt und nicht gesetzt werden soll, dann wird anstatt des Wertes die
Zeichenfolge **** eingesetzt.
Master sendet:
{M00****<CR><LF>
Antwort des Thermostats:
{S00FFCC<CR><LF>
In diesem Beispiel antwortet der Thermostat mit dem Hexadezimalwert FFCC. Dies entspricht in Dezimaldarstellung dem Wert -52. Der aktuelle Sollwert ist demnach auf -0,52 °C eingestellt.
Beispiel 4: Abfrage der aktuellen Interntemperatur
Master sendet:
{M01****<CR><LF>
Antwort des Thermostats:
{S011010<CR><LF>
In diesem Beispiel antwortet der Thermostat mit dem Hexadezimalwert 1010. Dies entspricht in Dezimaldarstellung dem Wert 4112. Die Intertemperatur beträgt somit aktuell 41,12 °C.
Beispiel 5: Abfrage der aktuellen Prozesstemperatur (gemessen an der LEMOSA Buchse)
Master sendet:
{M07****<CR><LF>
Antwort des Thermostats:
{S07087F<CR><LF>
Der Hexadezimalwert 087F entspricht einer Temperatur von 21,75°C.
Antwortet der Thermostat mit dem Kommando
{S07C504<CR><LF>
so entspricht dies einer Temperatur von -151 °C. Der Wert -151 °C bedeutet, dass entweder kein
Fühler angeschlossen, oder der Fühler defekt ist.
Beispiel 6: Abfrage der Rücklauftemperatur
Zur Abfrage der Rücklauftemperatur muss das DV E-grade oder E-grade Explore vorhanden sein.
Die Rücklauftemperatur befindet sich auf Adresse 0x02.
Master sendet:
{M02****<CR><LF>
Antwort des Thermostats:
{S0207E7<CR><LF>
Die aktuelle Rücklauftemperatur beträgt demnach 20,23°C.
Ist das notwendige E-grade nicht freigeschaltet, so antwortet der Thermostat mit dem Kommando:
{S027FFFF<CR><LF>
Der Wert 7FFF bedeutet, dass entweder das notwendige E-grade nicht vorhanden, oder die angesprochene Variable nicht implementiert ist.
24
Datenkommunikation
Haftung für Irrtümer und Druckfehler ausgeschlossen.
V1.6.0de/07.03.16
PB-Kommando Beispiele
Kapitel 7
HANDBUCH
Beispiel 7: Auslesen des maximalen Sollwerts
Um die Datenübertragung zu verdeutlichen soll in diesem Beispiel der zu sendende String nochmals
byteweise betrachtet werden.
Das Kommando um den Wert der maximalen Sollwertbegrenzung (Adresse 0x31) auszulesen sieht
so aus:
{M31****<CR><LF>
Jedes der Zeichen entspricht einem zu übertragenden Byte die unterschiedlich dargestellt werden
können.
Darstellung als Text:
{
M
3
1
*
*
*
*
<CR>
<LF>
Darstellung des ASCII Codes im Dezimalformat:
123 77
51
49
42
42
42
42
13
10
Darstellung des ASCII Codes im Hexadezimalformat :
7B 4D
33
31
2A
2A
2A
2A
0D
0A
Beispiel 8: Vorgabe der Prozesstemperatur
Vor der Modus Umschaltung sollte einmalig ein Prozesswert vorgegeben werden um die entsprechende Variable vorzubelegen:
Vorgabe einer Prozesstemperatur von 15,12 °C:
Master sendet:
{M0905E8<CR><LF>
Antwort des Thermostats:
{S0905E8<CR><LF>
Modus Umschaltung (Watchdog löst eine Warnung aus, falls keine neuen Befehle empfangen werden):
Master sendet:
{M190001<CR><LF>
Antwort des Thermostats:
{S190001<CR><LF>
Von nun an sollten ständig (wenn möglich 1-mal pro Sekunde) neue Prozesstemperaturwerte gesendet werden.
Wichtig: Vor dem Senden eines neuen Kommandos immer die Antwort vom Thermostat abwarten.
Vorgabe einer Prozesstemperatur von 15,13 °C:
Master sendet:
{M0905E9<CR><LF>
Antwort des Thermostats:
{S0905E9<CR><LF>
Vorgabe einer Prozesstemperatur von 15,14 °C:
Master sendet:
{M0905EA<CR><LF>
Antwort des Thermostats:
{S0905EA<CR><LF>
Vorgabe einer Prozesstemperatur von 15,15 °C:
Master sendet:
{M0905EB<CR><LF>
Antwort des Thermostats:
{S0905EB<CR><LF>
V1.6.0de/07.03.16
Haftung für Irrtümer und Druckfehler ausgeschlossen.
Datenkommunikation
25
PB-Kommandos mit größerem Wertebereich und höherer Genauigkeit
HANDBUCH
Kapitel 8
8 PB-Kommandos mit größerem Wertebereich und
höherer Genauigkeit
INFORMATION.
Diese Funktionalität steht nur bei Geräten mit Pilot ONE® Regler zur Verfügung.
Teilweise ist der Wertebereich bei 2 Byte Werten nicht ausreichend. Dies betrifft beispielsweise Geräte mit einem Temperaturbereich über 300 °C oder mit Leistungen über 30 kW. Aus diesem Grund
wurden die PB Kommandos so erweitert, dass auch größere Werte abgefragt und gesetzt werden
können.
Im Standardformat der PB-Kommandos werden Werte immer mit 2 Bytes (bzw. 4 Zeichen) übertragen. Durch eine Ergänzung von 2 weiteren Bytes (entspricht 4 weiteren Zeichen) kann der Wertebereich und die Auflösung erhöht werden. In diesem Fall ändern sich folgende Eigenschaften der PBKommandos (vergl. Kapitel 3 »Eigenschaften der PB-Kommandos«):
 Die Länge eines Kommandos beträgt immer 14 Zeichen.
 Wird eine nicht definierte oder nicht freigeschaltete (vergl. E-grade) Adresse angesprochen, so
wird das Kommando mit der gleichen Adresse und dem Wert „7FFFFFFF“ beantwortet.
Im Vergleich zu Kapitel 6 »Spezielle Beschreibung der PB-Kommandos« ändern sich folgende Eigenschaften einiger Variablen:
 Die Werte aller PB-Kommando Variablen die Temperaturen beinhalten (Sollwerttemperatur, Interntemperatur, …) werden mit 3 Nachkommastellen (Auflösung 0,001 °C statt 0,01 °C) und einen
Wertebereich von -274000 … 500000 übertragen. Der Messbereich beträgt -200 °C … 500 °C, nicht
vorhandene Sensoren bzw. defekte Sensoren melden -274 °C. Nur bei freigeschaltetem DV-Egrade bringt die zusätzliche Nachkommastelle wirklich neue Informationen mit sich. Ansonsten
wird der Wert auf Hundertstel °C gerundet, die letzte Stelle enthält in diesem Fall immer d Ziffer
0.
 Die Werte aller PB-Kommando Variablen die Volumenströme beinhalten (Thermofluid Volumenstrom, Sollwert Thermofluid Volumenstrom) werden mit 3 Nachkommastellen (Auflösung 0,001
l/min statt 0,1 l/min) übertragen. Nur bei freigeschaltetem DV-E-grade bringen die zusätzlichen
Nachkommastellen wirklich neue Informationen mit sich. Ansonsten wird der Wert auf Zehntel
l/min gerundet, die letzten beiden Stellen enthalten in diesem Fall immer die Ziffer 0.
 Für die Abfrage der Seriennummer sind im Standardformat zwei PB-Kommandos notwendig,
vSNRL (0x1B) und vSNRH (0x1C). Bei Verwendung des größeren Wertebereichs liefern beide
Kommandos die vollständige Seriennummer. Es ist daher nicht notwendig zwei Kommandos zu
senden.
Der Aufbau eines PB-Kommandos mit größerem Wertebereich ist wie folgt:
{mttvvvvyyyy<CR><LF>
{
m
tt
vvvvyyyy
<CR>
<LF>
Startzeichen (ASCII Code 0x7B): Identifiziert das PB-Kommando
Senderkennung: Master-Anfrage ‚M’ (ASCII Code 0x4D) oder Slave-Antwort ‚S’ (ASCII
Code 0x53) zur Richtungskennzeichnung.
Das Automatisierungssystem (PC, SPS, PLS, …) ist immer der Master. Seine Anfrage
ist durch ein ‚M’ gekennzeichnet.
Der Thermostat ist immer der Slave. Die Antwort des Thermostats ist durch das ‚S’
gekennzeichnet.
Adresse (entspricht dem Tabellenplatz): 2 Zeichen (1 Byte in Hexadezimaldarstellung).
Variablenwert: 8 Zeichen (4 Bytes als Hexadezimalstring)
Soll eine Variable nur abgefragt und nicht verändert werden, so ist als Variablenwert
„********“ zu senden.
Die Antwort bei nicht vorhandenen Temperaturen ist -274,000 °C. Dies entspricht
der Zeichenfolge „FFFBD1B0“.
Das Zeichen Carriage Return (ASCII Code 0x0D)
Das Zeichen Line Feed (ASCII Code 0x0A)
Im Vergleich zum Standard PB-Kommando ändert sich somit lediglich die Länge des Variablenwertes
und damit auch die Länge des gesamten Kommandos.
26
Datenkommunikation
Haftung für Irrtümer und Druckfehler ausgeschlossen.
V1.6.0de/07.03.16
PB-Kommandos mit größerem Wertebereich und höherer Genauigkeit
Kapitel 8
HANDBUCH
8.1 Beispiele
Beispiel 9: Sollwert soll auf 20,000 °C eingestellt werden (mit höherer Auflösung)
Der Sollwert für den Temperaturregler befindet sich an Adresse 0x00.
Bei einer höheren Auflösung muss der Wert in der Einheit 0,001 °C übergeben werden. Hier muss (in
Dezimaldarstellung) ein Wert von 20000 übergeben werden. In der Hexadezimaldarstellung (mit 8
Zeichen) entspricht dies dem Wert 00004E20. Der Hexadezimalwert muss nun in einen String gewandelt werden.
Folgender String muss damit an das Gerät gesendet werden:
{M0000004E20<CR><LF>
Dabei entspricht <CR> dem Zeichen Carriage Return (mit dem ASCII Code 13 bzw. 0x0D) und <LF>
dem Zeichen Line Feed (mit dem ASCII Code 10 bzw. 0x0A).
Der Thermostat antwortet (falls der Wert zulässig war und nicht begrenzt wurde) mit dem Kommando:
{S0000004E20<CR><LF>
Beispiel 10: Sollwert soll auf -23,150 °C eingestellt werden (mit höherer Auflösung)
Bei einer höheren Auflösung muss (in Dezimaldarstellung) ein Wert von -23150 übergeben werden.
In der Hexadezimaldarstellung entspricht dies dem Wert FFFFA592.
Folgender String muss damit an das Gerät gesendet werden:
{M00FFFFA592<CR><LF>
Der Thermostat antwortet (falls der Wert zulässig war und nicht begrenzt wurde) mit dem Kommando:
{S00FFFFA592<CR><LF>
Beispiel 11: Abfrage des Sollwerts (mit höherer Auflösung)
Wenn eine Variable nur abgefragt und nicht gesetzt werden soll, dann muss anstatt des Wertes die
Zeichenfolge ******** eingesetzt.
Master sendet:
{M00********<CR><LF>
Antwort des Thermostats:
{S00 FFFFFDF8<CR><LF>
In diesem Beispiel antwortet der Thermostat mit dem Hexadezimalwert FFFFFDF8. Dies entspricht in
Dezimaldarstellung dem Wert -520. Der aktuelle Sollwert ist demnach auf -0,520 °C eingestellt.
V1.6.0de/07.03.16
Haftung für Irrtümer und Druckfehler ausgeschlossen.
Datenkommunikation
27
PB-Paketkommando
HANDBUCH
Kapitel 9
9 PB-Paketkommando
INFORMATION.
Diese Funktionalität steht nur bei Geräten mit Pilot ONE® Regler zur Verfügung.
Mit dem PB-Paketkommando besteht die Möglichkeit, mehrere PB-Kommandos zu einem einzigen
Kommando zusammenzufassen. Damit kann die Kommunikation zwischen Automatisierungssystem
und Thermostat wesentlich beschleunigt werden.
Vor der Verwendung des PB-Paketkommandos muss dieses am Pilot ONE® Regler konfiguriert werden. Dabei wird festgelegt, welche PB-Kommando Adressen zu einem PB-Paketkommando zusammengefasst werden sollen. Das Paketkommando enthält dann nur noch die zu übertragenden Werte
der verschiedenen PB-Kommando Adressen, nicht mehr die Adressen selbst. Die Reihenfolge der
Werte entspricht dabei der Reihenfolge der am Pilot ONE® konfigurierten Adressen. In dieser Reihenfolge werden die PB-Kommandos abgearbeitet.
9.1 Aufbau
Bei der Kommunikation zwischen Automatisierungssystem (Master) und Regler (Slave) werden keine
Binärdaten, sondern ASCII-Zeichen übertragen. Alle Zahlenwerte werden in Hexadezimaldarstellung
übertragen.
Das Paketkommando setzt sich wie folgt zusammen:
[mssillbdddd….ddddpp<CR>
[
Starterkennung (1 Zeichen)
Als Startkennung ist das Zeichen ‚[‘ definiert.
m
Kommunikationsrichtung (1 Zeichen)
Das Zeichen ‚M‘ steht für eine Master-Anfrage (vom Automatisierungssystem).
Das Zeichen ‚S’ steht für eine Slave-Antwort (vom Thermostat).
ss
Slave-Adresse (2 Zeichen in Hexadezimaldarstellung)
Standardmäßig wird die Slave-Adresse 1 verwendet. Bei der Kommunikation über die
RS232 oder RS485 Schnittstelle des Com.G@tes kann die Slave-Adresse im Menü der
Pilot ONE® Reglers verändert werden.
i
Identifier der Datengruppe (1 Zeichen)
Für das PB-Paketkommando ist der Buchstabe ‚B‘ definiert.
ll
Länge des Kommandos (2 Zeichen in Hexadezimaldarstellung)
Die Länge des Kommandos entspricht der Anzahl der Zeichen ohne Prüfsumme und
ohne Endekennung.
b
Blockzähler
Der Blockzähler muss auf 0 gesetzt werden.
dddd…dddd Werte zu den PB-Kommando Adressen: (jeweils 4 Zeichen)
Die einzelnen Werte werden als 16 bit Zahlen übergeben. In Hexadezimaldarstellung
entspricht dies einer Zahl mit 4 Ziffern. Für jede Ziffer wird ein Zeichen übertragen.
Gültige Zeichen sind 0-9 und A-Z. Bei einer Master-Anfrage ist zudem die Zeichenfolge ‚****‘ zulässig um dem Regler mitzuteilen, dass auf diese Adresse nur lesend zugegriffen wird.
Die Darstellung entspricht damit der Wertedarstellung der PB-Kommandos.
Enthält das Slave-Antwortkommando anstelle der erwarteten Werte lediglich die
Zeichenfolge „EL“ oder „EB“ (inklusive der Anführungszeichen), weist dies auf ein
syntaktisch richtiges, aber inhaltlich falsches PB-Paketkommando hin. „EL“ besagt,
dass die Anzahl der in der Master-Anfrage enthaltenen Werte nicht mit der projektierten Anzahl übereinstimmt. „EB“ besagt, dass ein ungültiger Blockzähler empfangen wurde.
Maximal können 61 PB-Kommando Adressen mit einem PB-Paketkommando angesprochen werden. Damit ergibt sich für das gesamte Kommando eine maximale Länge von 255 Zeichen.
pp
Prüfsumme (2 Zeichen)
Die ASCII-Codes aller vorangehenden Zeichen werden in einer Byte-Variable aufaddiert (Bereichsüberläufe werden ignoriert). Das Ergebnis entspricht der Prüfsumme
und muss in Hexadezimaldarstellung mit 2 Zeichen eingetragen werden.
<CR>
Endekennung
<CR> steht stellvertretend für das nicht druckbare Zeichen Carriage Return (ASCII
Code 0x0D). Dieses Zeichen signalisiert das Ende des Kommandos.
28
Datenkommunikation
Haftung für Irrtümer und Druckfehler ausgeschlossen.
V1.6.0de/07.03.16
PB-Paketkommando
Kapitel 9
HANDBUCH
9.2 Aufbau mit größerem Wertebereich und höherer Genauigkeit
Ist der Wertebereich nicht ausreichend kann dieser beim Paketkommando ebenfalls erweitert werden. Es gelten die gleichen Eigenschaften wie sie im Kapitel 8 »PB-Kommandos mit größerem Wertebereich und höherer Genauigkeit« beschrieben wurden.
Das Paketkommando mit größerem Wertebereich setzt sich wie folgt zusammen:
[mssillbdddddddd….ddddddddpp<CR>
[
Starterkennung (1 Zeichen)
Als Startkennung ist das Zeichen ‚[‘ definiert.
m
Kommunikationsrichtung (1 Zeichen)
Das Zeichen ‚M‘ steht für eine Master-Anfrage (vom Automatisierungssystem).
Das Zeichen ‚S’ steht für eine Slave-Antwort (vom Thermostat).
ss
Slave-Adresse (2 Zeichen in Hexadezimaldarstellung)
Standardmäßig wird die Slave-Adresse 1 verwendet. Bei der Kommunikation über die RS232 oder RS485 Schnittstelle des Com.G@tes kann die SlaveAdresse im Menü der Pilot ONE® Reglers verändert werden.
i
Identifier der Datengruppe (1 Zeichen)
Für das PB-Paketkommando ist der Buchstabe ‚B‘ definiert.
ll
Länge des Kommandos (2 Zeichen in Hexadezimaldarstellung)
Die Länge des Kommandos entspricht der Anzahl der Zeichen ohne Prüfsumme und ohne Endekennung.
b
Blockzähler
Da die Kommandolänge systembedingt auf 255 Zeichen begrenzt ist können hier maximal 30 Adressen mit einem Kommando angesprochen werden. Sollen mehr Adressen angesprochen werden, muss dies durch Verwendung der Blockzähler B und C geschehen.
Für den ersten Block (1…30) wird das Zeichen ‚A‘ verwendet.
Für den zweiten Block (31…60) wird das Zeichen ‚B‘ verwendet.
Für den dritten Block (61) wird das Zeichen ‚C‘ verwendet.
dddddddd…dddddddd Werte zu den PB-Kommando Adressen: (jeweils 8 Zeichen)
Die einzelnen Werte werden als 32 bit Zahlen übergeben. In Hexadezimaldarstellung entspricht dies einer Zahl mit 8 Ziffern. Für jede Ziffer wird ein
Zeichen übertragen. Gültige Zeichen sind 0-9 und A-Z. Bei einer MasterAnfrage ist zudem die Zeichenfolge ‚********‘ zulässig um dem Regler mitzuteilen, dass auf diese Adresse nur lesend zugegriffen wird.
Die Darstellung entspricht damit der Wertedarstellung der PB-Kommandos
mit größerem Wertebereich.
Enthält das Slave-Antwortkommando anstelle der erwarteten Werte lediglich die Zeichenfolge „EL“ oder „EB“ (inklusive der Anführungszeichen),
weist dies auf ein syntaktisch richtiges, aber inhaltlich falsches PBPaketkommando hin. „EL“ besagt, dass die Anzahl der in der MasterAnfrage enthaltenen Werte nicht mit der projektierten Anzahl übereinstimmt. „EB“ besagt, dass ein ungültiger Blockzähler empfangen wurde.
Maximal können 30 PB-Kommando Adressen mit einem PB-Paketkommando angesprochen werden. Damit ergibt sich für das gesamte
Kommando eine maximale Länge von 251 Zeichen.
pp
Prüfsumme (2 Zeichen)
Die ASCII-Codes aller vorangehenden Zeichen werden in einer ByteVariable aufaddiert (Bereichsüberläufe werden ignoriert). Das Ergebnis
entspricht der Prüfsumme und muss in Hexadezimaldarstellung mit 2 Zeichen eingetragen werden.
<CR>
Endekennung
<CR> steht stellvertretend für das nicht druckbare Zeichen Carriage Return
(ASCII Code 0x0D). Dieses Zeichen signalisiert das Ende des Kommandos.
9.3 Konfiguration
Die Konfiguration des PB-Paketkommandos erfolgt am Pilot ONE® Regler. Dazu muss im Hauptmenüpunkt ‚Schnittstellen‘ der Punkt ‚PB-Paket‘ aufgerufen werden. Ohne vorherige Konfiguration
durch den Anwender ist bereits eine Standardkonfiguration vorhanden. Diese kann frei verändert
werden. Es können PB-Kommando Adressen hinzugefügt oder entfernt werden und die Reihenfolge
der Adressen festgelegt werden.
Adressen welche nicht freigeschaltet sind (vergl. E-grade) sind in der Auswahlliste ausgegraut.
V1.6.0de/07.03.16
Haftung für Irrtümer und Druckfehler ausgeschlossen.
Datenkommunikation
29
PB-Paketkommando
HANDBUCH
Kapitel 9
9.4 Beispiele
Für die folgenden Beispiele wurde am Pilot ONE® Regler festgelegt, dass mit jedem PBPaketkommando 2 Adressen angesprochen werden sollen die den Sollwert (vSP, Adresse 0x00) und
die Interntemperatur (vTI, Adresse 0x01) enthalten.
Diese Konfiguration dient als Grundlage für die folgenden Beispiele.
Beispiel 1: Sollwert und Interntemperatur abfragen
Die beiden konfigurierten Werte sollen abgefragt werden.
Master sendet:
[M01B100********2C<CR>
Das Kommando setzt sich wie folgt zusammen:
[
Die Startkennung.
M
Die Kennung für eine Master-Anfrage.
01
Die Slave-Adresse wurde auf 1 festgelegt.
B
Die Kennung des PB-Paketkommandos.
10
Die Länge des PB Paketkommandos ohne Prüfsumme und ohne Endezeichen beträgt 16 Zeichen, was in Hexadezimaldarstellung 10 entspricht.
0
Der Blockzähler (immer 0).
**** Der Wert zur 1. konfigurierten Adresse (hier: vSP, Adresse 0x00, Sollwert) soll abgefragt
werden.
**** Der Wert zur 2. konfigurierten Adresse (hier: vTI, Adresse 0x01, Interntemperatur) soll abgefragt werden.
2C
Die Prüfsumme welche durch Addition der ASCII-Codes der vorangehenden Zeichen berechnet wurde.
Den Zeichen des PB-Paketkommandos
[
M
0
1
B
1
0
0
*
*
*
*
*
*
*
*
entsprechen folgende Werte in Dezimaldarstellung
91 77 48 49 66 49 48 48 42 42 42 42 42 42 42 42
Zur Berechnung der Prüfsumme werden die Werte addiert:
91 + 77 + 48 + 49 + 66 + 49 + 48 + 48 + 42 + 42 + 42 + 42 + 42 + 42 + 42 + 42 = 812
Die Zahl 812 entspricht in Hexadezimaldarstellung der Zahl 32C. Da von der Prüfsumme nur
die letzten beiden Zeichen (das niederwertigste Byte) verwendet wird, ergibt sich eine Prüfsumme von 2C.
<CR> Das ASCII Zeichen Carriage Return.
Antwort des Thermostats:
[S01B10007D009F19D<CR>
Die ersten 8 Zeichen der Antwort entsprechen denen der Anfrage mit dem Unterschied, dass statt
der Master-Kennung ‚M‘ eine Slave-Kennung ‚S‘ enthalten ist.
In diesem Beispiel liefert der Thermostat als 1. Wert die Hexadezimalzahl 07D0 welche in Dezimaldarstellung 2000 entspricht. Der aktuelle Sollwert beträgt somit 20,00 °C.
Als 2. Wert wird die Hexadezimalzahl 09F1 zurückgegeben welche in Dezimaldarstellung 2545 entspricht. Die aktuelle Interntemperatur beträgt somit 25,45 °C.
Die Prüfsumme der Antwort ist 9D.
30
Datenkommunikation
Haftung für Irrtümer und Druckfehler ausgeschlossen.
V1.6.0de/07.03.16
PB-Paketkommando
Kapitel 9
HANDBUCH
Beispiel 2: Sollwert setzen, Interntemperatur abfragen
Der Sollwert soll auf 30,00 °C gesetzt werden und gleichzeitig die Interntemperatur abgefragt werden.
Master sendet:
[M01B1000BB8****70<CR>
Um den Sollwert auf 30,00 °C einzustellen muss der Hexadezimalwert 0BB8 gesendet werden. Zur
Abfrage der Interntemperatur wird **** gesendet.
Antwort des Thermostats:
[S01B1000BB809FCC0<CR>
Der Thermostat gibt für den Sollwert den Wert 0BB8 zurück – der neue Sollwert wurde somit übernommen. Als Interntemperatur wird der Wert 09FC zurückgegeben welcher in Dezimaldarstellung
2556 bzw. 25,56 °C entspricht.
Beispiel 3: Ungültige Anzahl an Werten
Der Master sendet ein PB-Paketkommando mit nur einem Wert (hier ‚****‘), obwohl 2 Werte konfiguriert wurden.
Master sendet:
[M01B0C0****96<CR>
Antwort des Thermostats:
[S01B0C0”EL”C9<CR>
Der Thermostat gibt die Fehlermeldung „EL“ zurück.
Beispiel 4: Ungültiger Blockzähler
Der Master sendet ein PB-Paketkommando mit einem ungültigen Blockzähler. Der Master sendet als
Blockzähler den Wert 1, der Slave beantwortet die mit der Fehlermeldung‚ „EB“.
Master sendet:
[M01B101********2D<CR>
Antwort des Thermostats:
[S01B0C1”EB”C0<CR>
Der Thermostat gibt die Fehlermeldung „EB“ zurück.
Beispiel 5: Sollwert und Interntemperatur mit größerem Wertebereich abfragen
Die beiden konfigurierten Werte sollen mit einer höheren Auflösung abgefragt werden.
Master sendet:
[M01B18A****************95<CR>
Das Kommando setzt sich wie folgt zusammen:
[
Die Startkennung.
M
Die Kennung für eine Master-Anfrage.
01
Die Slave-Adresse wurde auf 1 festgelegt.
B
Die Kennung des PB-Paketkommandos.
18
Die Länge des PB Paketkommandos ohne Prüfsumme und ohne Endezeichen beträgt
24 Zeichen, was in Hexadezimaldarstellung 18 entspricht.
A
Der Blockzähler für den ersten Block.
********
Der Wert zur 1. konfigurierten Adresse (hier: vSP, Adresse 0x00, Sollwert) soll abgefragt werden.
********
Der Wert zur 2. konfigurierten Adresse (hier: vTI, Adresse 0x01, Interntemperatur)
soll abgefragt werden.
95
Die Prüfsumme
<CR>
Das ASCII Zeichen Carriage Return.
Antwort des Thermostats:
[S01B18A00004E2000003B973C<CR>
Die ersten 8 Zeichen der Antwort entsprechen denen der Anfrage mit dem Unterschied, dass statt
der Master-Kennung ‚M‘ eine Slave-Kennung ‚S‘ enthalten ist.
In diesem Beispiel liefert der Thermostat als 1. Wert die Hexadezimalzahl 00004E20 welche in Dezimaldarstellung 20000 entspricht. Der aktuelle Sollwert beträgt somit 20,000 °C.
Als 2. Wert wird die Hexadezimalzahl 00003B97 zurückgegeben welche in Dezimaldarstellung 15255
entspricht. Die aktuelle Interntemperatur beträgt somit 15,255 °C.
Die Prüfsumme der Antwort ist 3C.
Beispiel 7: Ungültige Blockanfrage bei größerem Wertebereich
Der Master sendet ein PB-Paketkommando mit zwei Werten (hier, ****************), jedoch wird
für den Blockzähler das Zeichen ‚B‘ verwendet. Da die Anzahl der konfigurierten PB-Kommandos
nicht größer als die maximale Blockgröße bei höherer Auflösung ist, wird der zweite Block nicht verwendet. Der Thermostat gibt die Fehlermeldung „EL“ zurück.
Master sendet:
[M01B18B****************96<CR>
Mit dem gesendeten Kommando sollen bei 32 konfigurierten Adressen die 31. und 32. Variable abgefragt werden. Da allerdings nur 2 Adressen konfiguriert wurden, antwortet der Thermostat mit einem Fehler.
Antwort des Thermostats:
[S01B0CB“EL“DB<CR>
V1.6.0de/07.03.16
Haftung für Irrtümer und Druckfehler ausgeschlossen.
Datenkommunikation
31
PB-Paketkommando
HANDBUCH
Kapitel 9
Beispiel 8: PB-Paketkommando mit größerem Wertebereich, wenn die Anzahl der konfigurierten
PB-Kommandos die maximale Blockgröße überschreitet
Abweichend von der Beispielkonfiguration wurden am Pilot ONE® Regler 35 PB-Kommando Variablen zu dem PB-Paketkommando zusammengefügt. Dies überschreitet bei einem größeren Wertebereich die maximale Anzahl an Kommandos, die in einer Nachricht zusammengefasst werden können
(maximale Anzahl 30 PB-Kommando Variablen). Es ist daher nicht möglich das gesamte PBPaketkommando auf einmal zu bearbeiten, es müssen zwei PB-Paketkommandos gesendet werden.
Das erste PB-Paketkommando bearbeitet die ersten 30 konfigurierten PB-Kommando Variablen.
Hierzu muss für den Blockzähler das Zeichen ‚A‘ verwendet werden. Die resultierende Länge des PBPaketkommandos ohne Prüfsumme und Endezeichen beträgt 248 Zeichen (8 + 30 * 8), was in Hexadezimaldarstellung F8 entspricht.
Das zweite PB-Paketkommando bearbeitet die folgenden 5 konfigurierten PB-Kommandos. Hierzu
muss für den Blockzähler das Zeichen ‚B‘ verwendet werden. Die resultierende Länge des PBPaketkommandos ohne Prüfsumme und Endezeichen beträgt 48 (8 + 5 * 8), was in Hexadezimaldarstellung 30 entspricht.
32
Datenkommunikation
Haftung für Irrtümer und Druckfehler ausgeschlossen.
V1.6.0de/07.03.16
Modbus
Kapitel 10
HANDBUCH
10 Modbus
Das Modbus Protokoll ermöglicht es auf die zuvor beschriebenen PB-Kommando Adressen zuzugreifen.
Bei der Kommunikation mit dem Modbus Protokoll müssen die Regeln wie sie im Kapitel 4
»Zeitverhalten (Timing) bei PB-Kommandos« beschrieben sind ebenfalls beachtet werden.
INFORMATION.
Diese Funktionalität steht nur bei Geräten mit Pilot ONE® Regler zur Verfügung. Das Modbus Protokoll ist bereits ab E-grade Basic freigeschaltet, allerdings kann zur Verwendung verschiedener PBKommando Adressen eine zusätzliche E-grade Aktivierung notwendig sein (vergl. Kapitel 6
»Spezielle Beschreibung der PB-Kommandos«).
10.1 Allgemeine Beschreibung
Beschrieben wird hier nur der allgemeine Aufbau eines Modbus Kommandos in der Betriebsart
Modbus TCP. Die Modbus Spezifikation ist über www.modbus.org verfügbar.
INFORMATION.
Die Kommunikation zwischen dem Modbus Master und dem Modbus Slave (Thermostat mit Pilot
ONE® Regler) erfolgt über den, für Modbus TCP reservierten, Ethernet Port 502.
Auf jedes syntaktisch richtige Modbus Kommando erfolgt eine Antwort durch den Modbus Slave.
Ein Modbus Kommando wird im Allgemeinen als „Application Data Unit“ (ADU) bezeichnet. Jedes
Kommando setzt sich aus 6 (unterschiedlich langen) Blöcken zusammen:
TID
Transaction Identifier
2 Bytes
Modbus Application Protocol Header (MBAP)
PID
Length
Protocol Identifier
Message Length
2 Bytes
2 Bytes
UID
Unit Identifier
1 Byte
Protocol Data Unit (PDU)
FC
Data
Function Code
User Data
1 Byte
n Bytes
Dabei werden die Blöcke TID, PID, Length und UID zusammenfassend als „Modbus Application Protocol Header“ (MBAP) und die Blöcke FC und Data zusammen als „Protocol Data Unit“ (PDU) bezeichnet.
Transaction Identifier
Protocol Identifier
Message Length
Function Code
Unit Identifier
User Data
INFORMATION.
V1.6.0de/07.03.16
Transaktionsnummer (TID) zur Synchronisierung gleichzeitiger Anfragen
zwischen Server und Client.
Das Protokollkennzeichen (PID) wird bei Modbus TCP nicht verwendet, es
muss immer mit 0x0000 belegt sein.
Die Nachrichtenlänge (Length) gibt die Anzahl der nachfolgenden Bytes
im Kommando (UID + PDU) an.
Der Funktionscode (FC) gibt an, welche Funktion der Modbus Slave ausführen soll.
Die Geräteadresse (UID) hat bei Modbus TCP keine Auswirkung, da die
Slaves über ihre IP Adresse angesprochen werden. Daher wird dieser
Wert bei Modbus TCP immer auf 0xFF gesetzt.
Die Benutzerdaten (Data) enthalten die zu übertragenden Informationen.
Im Gegensatz zu den PB-Kommandos, bei denen die Werte in Zeichenketten umgewandelt werden,
werden hier Binärdaten ausgetauscht.
Haftung für Irrtümer und Druckfehler ausgeschlossen.
Datenkommunikation
33
Modbus
HANDBUCH
Kapitel 10
10.2 Datentypen
Es werden die folgenden Datentypen unterstützt:
 Byte (8 Bit)
 Register (16 Bit)
 32-Bit Integer (32 Bit)
INFORMATION.
Gemäß Modbus Spezifikation erfolgt die Übertragung der Daten als Big-Endian. Das heißt, bei Register bzw. 32-Bit Integer Werten wird das höherwertige Byte zuerst übertragen.
10.3 Fehlerbehandlung
Im Fehlerfall müssen zwei unterschiedliche Fehlerarten betrachtet werden. Wird ein Kommando gesendet, welches syntaktisch inkorrekt ist, so wird vom Client keine Antwortnachricht gesendet. Dies
führt in der Regel zu einem Server-Timeout. Auf ein syntaktisch korrektes, aber inhaltlich falsches
Kommando, wird eine Fehlernachricht an den Server zurück geschickt.
Fehler-Antwort:
MBAP Header
PID
Length
7 Bytes
TID
UID
FC + 0x80
1 Byte
PDU
Data (Fehlercode)
1 Byte
MBAP Header TID, PID und UID werden von der Request Nachricht übernommen. Length = 0x03.
FC + 0x80
Im Fehlerfall wird zu dem empfangenen Funktionscode 0x80 addiert.
Fehlercode
Die unterstützten Fehlercodes werden in der folgenden Tabelle beschrieben:
Fehlercode
Name
0x01
ILLEGAL FUNCTION
0x02
ILLEGAL DATA ADDRESS
0x03
ILLEGAL DATA VALUE
0x04
SLAVE DEVICE FAILURE
Beschreibung
Der empfangene Funktionscode wird vom SlaveGerät nicht unterstützt. Sollte der verwendete
Funktionscode in diesem Handbuch beschrieben
sein, deutet dies darauf hin, dass dieser Funktionscode im verwendeten Softwarestand des Pilot
ONE® Reglers noch nicht implementiert ist. Ein
Update auf einen neueren Softwarestand ist notwendig.
Die Daten Adresse (Register Adresse) ist nicht im
gültigen Bereich.
Die Länge der Benutzerdaten passt nicht zum
Funktionscode. Möglicherweise sind in den Benutzerdaten mehr oder weniger Bytes vorhanden als
für die entsprechende Funktion erforderlich.
Eine Konfiguration am Slave-Gerät verhindert die
Verwendung dieser Funktionalität.
10.4 Spezielle Beschreibung der Funktionscodes
Nachfolgend werden die Funktionscodes (FC) aufgeführt, welche bei Thermostaten mit Pilot ONE®
Regler unterstützt werden.
Es werden zwei Arten von Modbus Funktionscodes unterstützt:
 Public Function Codes
 User-Defined Function Codes
INFORMATION.
34
Datenkommunikation
Von den Public Function Codes gemäß Modbus Spezifikation werden nur die Funktionen 0x03 (Read
Holding Registers) und 0x06 (Write Single Register) unterstützt.
Diese basieren auf den PB-Kommandos (vergl. Kapitel 6 »Spezielle Beschreibung der PBKommandos«) und werden als 2 Byte (Register) Wert übertragen.
Haftung für Irrtümer und Druckfehler ausgeschlossen.
V1.6.0de/07.03.16
Modbus
Kapitel 10
HANDBUCH
INFORMATION.
Für User-Defined Function Codes, welche PB-Kommandos als Grundlage haben, gelten folgende
Bestimmungen:
Im Gegensatz zu den Public Function Codes, basieren die Modbus Kommandos auf den PBKommandos mit größerem Wertebereich. Dies bedeutet, dass die Werte immer mit 4 Bytes übertragen werden (vergl. Kapitel 8 »PB-Kommandos mit größerem Wertebereich und höherer Genauigkeit« und Kapitel 9.2 »Aufbau mit größerem Wertebereich und höherer Genauigkeit«).
Des Weiteren gelten alle Bestimmungen für PB-Kommandos mit größerem Wertebereich.
INFORMATION.
In den Beispielen zu den einzelnen Funktionscodes wird für die Transaktionsnummer (TID) ein beispielhafter Wert verwendet. Dieser kann jedoch beliebig gewählt werden und hat für die Ausführung der Funktion keine Auswirkung.
10.4.1 Public Funktionscodes
10.4.1.1 Read Holding Registers (FC 0x03)
Der Funktionscode 0x03 wird zum Abfragen mehrerer aufeinander folgenden Register verwendet.
Die Adressen der Register können aus Kapitel 6 (»Spezielle Beschreibung der PB-Kommandos«)
entnommen werden.
PDU der Anfrage:
FC
0x03
1 Byte
Start Adresse
2 Byte
Data
Anzahl
2 Bytes
PDU der Antwort:
FC
0x42
1 Byte
Data
Anzahl der folgenden Bytes
1 Byte
Werte
N * 2 Bytes
Fehlerbehandlung:
Name
ILLEGAL DATA ADDRESS (0x02)
ILLEGAL DATA VALUE (0x03)
Beschreibung
 Die Startadresse ist größer als die größte PB-Kommando
Adresse.
 Die Summe aus Startadresse + Anzahl der zu lesenden PBAdressen ist größer als die größte PB-Kommando Adresse.
 Die Länge der Anfrage ist nicht korrekt.
 Die Anzahl der zu lesenden PB-Adressen ist nicht korrekt.
Sie wird durch die maximal zur Verfügung stehenden PBAdressen begrenzt.
Beispiel 1: Abfragen der ersten 3 PB-Kommando Adressen
Es sollen die ersten 3 PB-Kommando Adressen (Sollwerttemperatur vSP (0x00), Interntemperatur vTI
(0x01), Rücklauftemperatur vTR (0x02)) abgefragt werden.
Der Client sendet folgende Anfrage an den Modbus Slave:
00 01 00 00 00 06 FF 03 00 00 00 03
Das Kommando setzt sich wie folgt zusammen:
00 01
TID (beliebige Zahl die es ermöglicht die Antwort einer Anfrage zuzuordnen)
00 00
PID (immer 0x0000)
00 06
Die Nachrichtenlänge beträgt 6 Bytes. Davon wird 1 Byte für die Geräteadresse, 1
Byte für den Funktionscode und 2 Bytes für die Startadresse und 2 Bytes für die Anzahl der zu lesenden PB-Adressen verwendet.
FF
Geräteadresse (UID, immer 0xFF)
03
Funktionscode 0x03 für Reading Holding Registers
00 00
Startadresse (vSP 0x00)
00 03
3 aufeinander folgende PB-Adressen sollen gelesen werden
V1.6.0de/07.03.16
Haftung für Irrtümer und Druckfehler ausgeschlossen.
Datenkommunikation
35
Modbus
HANDBUCH
Kapitel 10
Der Modbus Slave sendet folgende Antwort zurück:
00 01 00 00 00 09 FF 03 06 08 98 01 2C FE 0C
Die Antwort setzt sich wie folgt zusammen:
00 01
TID (von der Anfrage übernommen)
00 00
PID (immer 0x0000)
00 09
Die Nachrichtenlänge beträgt 9 Bytes. Davon wird 1 Byte für die Geräteadresse, 1
Byte für den Funktionscode, 1 Byte für die Anzahl der folgenden Bytes und 6 Bytes (3
* 2 Bytes) für die Werte der PB-Variable verwendet.
FF
Geräteadresse (UID, immer 0xFF)
03
Funktionscode 0x03 für Reading Holding Registers
08 98
Der Wert der Sollwerttemperatur beträgt 0x0898. Dies entspricht in Dezimaldarstellung 2200, was einer Temperatur von 22,00 °C entspricht.
01 2C
Der Wert der Intern Temperatur beträgt 0x012C. Dies entspricht in Dezimaldarstellung 300, was einer Temperatur von 3,00 °C entspricht.
FE 0C
Der Wert der Rücklauftemperatur beträgt 0xFE70. Die entspricht in Dezimaldarstellung -500, was einer Temperatur von -5 °C entspricht.
10.4.1.2 Write Single Holding Register (FC 0x06)
Der Funktionscode 0x06 wird zum Schreiben einer einzelnen PB-Adresse. Die Adressen der Register
können aus Kapitel 6 (»Spezielle Beschreibung der PB-Kommandos«) entnommen werden.
PDU der Anfrage:
FC
0x06
1 Byte
PB-Adresse
2 Byte
Data
Wert
2 Bytes
PDU der Antwort:
FC
0x06
1 Byte
PB-Adresse
2 Byte
Data
Wert
2 Bytes
Fehlerbehandlung:
Name
ILLEGAL DATA ADDRESS (0x02)
ILLEGAL DATA VALUE (0x03)
Beschreibung
 Die PB-Adresse ist größer als die größte PB-Kommando
Adresse.
 Die Länge der Anfrage ist nicht korrekt.
Beispiel 2: Sollwerttemperatur ändern (positiver Wert)
Der Wert der Sollwerttemperatur (vSP 0x00) soll auf einen positiven Wert geändert werden. Dieser
Wert liegt innerhalb der Sollwertgrenzen.
Der Client sendet also folgende Anfrage an den Modbus Slave:
00 02 00 00 00 06 FF 06 00 00 05 DC
Das Kommando setzt sich wie folgt zusammen:
00 02
TID (beliebige Zahl die es ermöglicht die Antwort einer Anfrage zuzuordnen)
00 00
PID (immer 0x0000)
00 06
Die Nachrichtenlänge beträgt 6 Bytes. Davon wird 1 Byte für die Geräteadresse, 1
Byte für den Funktionscode,2 Bytes für die PB-Adresse und 2 Bytes für den zu schreibenden Wert verwendet.
FF
Geräteadresse (UID, immer 0xFF)
06
Funktionscode 0x06 für Writing Single Holding Registers
00 00
PB-Adresse (vSP 0x00)
05 DC
Die Sollwerttemperatur soll auf 15,00 °C eingestellt werden. Der Wert 1500 entspricht in Hexadezimaldarstellung 0x05DC.
Der Modbus Slave sendet folgende Antwort zurück:
00 02 00 00 00 06 FF 06 00 00 05 DC
Die Antwort ist in diesem Fall ein Echo der Anfrage. Daraus geht hervor, dass die Sollwerttemperatur
korrekt auf 15,00 °C gesetzt werden konnte.
36
Datenkommunikation
Haftung für Irrtümer und Druckfehler ausgeschlossen.
V1.6.0de/07.03.16
Modbus
Kapitel 10
HANDBUCH
Beispiel 3: Sollwerttemperatur ändern (negativer Wert)
Der Wert der Sollwerttemperatur (vSP 0x00) soll auf einen negativen Wert geändert werden. Dieser
Wert liegt innerhalb der Sollwertgrenzen.
Der Client sendet folgende Anfrage an den Modbus Slave:
00 03 00 00 00 06 FF 06 00 00 F8 30
Das Kommando setzt sich wie folgt zusammen:
00 03
TID (beliebige Zahl die es ermöglicht die Antwort einer Anfrage zuzuordnen)
00 00
PID (immer 0x0000)
00 06
Die Nachrichtenlänge beträgt 6 Bytes. Davon wird 1 Byte für die Geräteadresse, 1
Byte für den Funktionscode, 2 Bytes für die PB-Adresse und 2 Bytes für den zu
schreibenden Wert verwendet.
FF
Geräteadresse (UID, immer 0xFF)
06
Funktionscode 0x06 für Writing Single Holding Registers
00 00
PB-Adresse (vSP 0x00)
F8 30
Die Sollwerttemperatur soll auf -20,00 °C eingestellt werden. Der Wert -2000 entspricht in Hexadezimaldarstellung 0xF830.
Der Modbus Slave sendet folgende Antwort zurück:
00 03 00 00 00 06 FF 06 00 00 F8 30
Die Antwort ist in diesem Fall ein Echo der Anfrage. Daraus geht hervor, dass die Sollwerttemperatur
korrekt auf -20,00 °C gesetzt werden konnte.
Beispiel 4: Sollwerttemperatur ändern (negativer Wert wird begrenzt)
Der Wert der Sollwerttemperatur (vSP 0x00) soll auf einen negativen Wert geändert werden. Dieser
Wert liegt außerhalb der Sollwertgrenzen.
Die minimale Sollwertgrenze ist am Pilot ONE auf -30,00 °C eingestellt.
Der Client sendet folgende Anfrage an den Modbus Slave:
00 04 00 00 00 06 FF 06 00 00 F2 54
Das Kommando setzt sich wie folgt zusammen:
00 04
TID (beliebige Zahl die es ermöglicht die Antwort einer Anfrage zuzuordnen)
00 00
PID (immer 0x0000)
00 06
Die Nachrichtenlänge beträgt 6 Bytes. Davon wird 1 Byte für die Geräteadresse, 1
Byte für den Funktionscode, 2 Bytes für die PB-Adresse und 2 Bytes für den zu
schreibenden Wert.
FF
Geräteadresse (UID, immer 0xFF)
06
Funktionscode 0x06 für Writing Single Holding Registers
00 00
PB-Adresse (vSP 0x00)
F2 54
Die Sollwerttemperatur soll auf -35,00 °C eingestellt werden. Der Wert -3500 entspricht in Hexadezimaldarstellung 0xF254.
Der Modbus Slave sendet folgende Antwort zurück:
00 04 00 00 00 06 FF 06 00 00 F4 58
Die Antwort setzt sich wie folgt zusammen:
00 04
TID (beliebige Zahl die es ermöglicht die Antwort einer Anfrage zuzuordnen)
00 00
PID (immer 0x0000)
00 06
Die Nachrichtenlänge beträgt 6 Bytes. Davon wird 1 Byte für die Geräteadresse, 1
Byte für den Funktionscode, 2 Bytes für die PB-Adresse und 2 Bytes für den übernommenen Wert.
FF
Geräteadresse (UID, immer 0xFF)
06
Funktionscode 0x06 für Writing Single Holding Registers
00 00
PB-Adresse (vSP 0x00)
F4 58
Der Wert der Sollwerttemperatur beträgt 0xF458. Dies entspricht in Dezimaldarstellung -3000, was einer Temperatur von -30,00 °C entspricht.
Daraus ergibt sich, dass die Sollwerttemperatur auf die untere Sollwertgrenze begrenzt wurde.
V1.6.0de/07.03.16
Haftung für Irrtümer und Druckfehler ausgeschlossen.
Datenkommunikation
37
Modbus
HANDBUCH
Kapitel 10
10.4.2 User-Defined Functioncodes
10.4.2.1 Kommunikationstest (FC 0x41)
Diese Funktion wird verwendet, um die Kommunikation zum Modbus Slave zu testen. Die Anfrage
wird unverändert als Antwort zurückgesendet.
PDU der Anfrage:
FC
0x41
1 Byte
Data
0 Bytes
PDU der Antwort:
FC
0x41
1 Byte
Data
0 Bytes
Beispiel 1: Kommunikationstest
Zum Testen der Kommunikation sendet der Client folgende Anfrage an den Modbus Slave:
00 01 00 00 00 02 FF 41
Das Kommando setzt sich wie folgt zusammen:
00 01
Transaktionsnummer (TID, beliebige Zahl die es ermöglicht die Antwort einer Anfrage zuzuordnen)
00 00
Protokollkennzeichen (PID, immer 0x0000)
00 02
Die Nachrichtenlänge (Length, Länge der nachfolgenden Bytes) beträgt 2 Bytes. Davon wird 1 Byte für die Geräteadresse und 1 Byte für den Funktionscode verwendet.
Die Benutzerdaten entfallen beim Kommunikationstest.
FF
Geräteadresse (UID, immer 0xFF)
41
Funktionscode (FC) 0x41 für den Kommunikationstest
Die Antwort des Modbus Slave ist in diesem Fall identisch aufgebaut:
00 01 00 00 00 02 FF 41
10.4.2.2 PB-Variable abfragen (FC 0x42)
Der Funktionscode 0x42 wird zum Abfragen einer einzelnen PB-Kommando Adresse verwendet. Diese Adresse kann der Tabelle aus Kapitel 6 (»Spezielle Beschreibung der PB-Kommandos«) entnommen werden.
PDU der Anfrage:
FC
0x42
1 Byte
Data
PB-Adresse
1 Byte
PDU der Antwort:
FC
0x42
1 Byte
PB-Adresse
1 Byte
Data
Wert
4 Bytes
Beispiel 2: Abfragen der Interntemperatur (vTI)
Die Interntemperatur soll abgefragt werden. Entsprechend der Tabelle hat die PB-Variable „vTI“ die
Adresse 0x01.
38
Datenkommunikation
Haftung für Irrtümer und Druckfehler ausgeschlossen.
V1.6.0de/07.03.16
Modbus
Kapitel 10
HANDBUCH
Der Client sendet also folgende Anfrage an den Modbus Slave:
00 02 00 00 00 03 FF 42 01
Das Kommando setzt sich wie folgt zusammen:
00 02
TID (beliebige Zahl die es ermöglicht die Antwort einer Anfrage zuzuordnen)
00 00
PID (immer 0x0000)
00 03
Die Nachrichtenlänge beträgt 3 Bytes. Davon wird 1 Byte für die Geräteadresse, 1
Byte für den Funktionscode und 1 Byte für die PB-Adresse verwendet.
FF
Geräteadresse (UID, immer 0xFF)
42
Funktionscode 0x42 für PB-Variable abfragen
01
Es soll die PB-Variable vTI mit der Adresse 0x01 abgefragt werden.
Der Modbus Slave sendet folgende Antwort zurück:
00 02 00 00 00 07 FF 42 01 00 00 5B A0
Die Antwort setzt sich wie folgt zusammen:
00 02
TID (von der Anfrage übernommen)
00 00
PID (immer 0x0000)
00 07
Die Nachrichtenlänge beträgt 7 Bytes. Davon wird 1 Byte für die Geräteadresse, 1
Byte für den Funktionscode, 1 Byte für die PB-Adresse und 4 Bytes für den Wert der
PB-Variable verwendet.
FF
Geräteadresse (UID, immer 0xFF)
42
Funktionscode 0x42 für PB-Variable abfragen
01
PB-Variable „vTI“ (0x01)
00 00 5B A0 Der Wert der Interntemperatur beträgt 0x00005BA0. Dies entspricht in Dezimaldarstellung 23456, was einer Temperatur von 23,456 °C entspricht.
Beachte: Bei Modbus TCP werden die Daten immer mit erhöhter Auflösung übertragen (vergl. Kapitel 8 »PB-Kommandos mit größerem Wertebereich und höherer Genauigkeit«).
Beispiel 3: Abfrage einer PB-Variable die nicht existiert
Wird eine PB-Variable abgefragt, welche nicht existiert, wird eine Fehlerantwort zurück gesendet. In
diesem Fall soll eine PB-Variable mit der Adresse 0xFA (250) abgefragt werden.
Der Client sendet folgende Anfrage an den Modbus Slave.
00 03 00 00 00 03 FF 42 FA
Das Kommando setzt sich wie folgt zusammen:
00 03
TID (von der Anfrage übernommen)
00 00
PID (immer 0x0000)
00 03
Die Nachrichtenlänge beträgt 3 Bytes.
FF
Geräteadresse (UID, immer 0xFF)
42
Funktionscode 0x42 für PB-Variable abfragen
FA
Es soll die (nicht existierende) PB-Variable mit der Adresse 0xFA abgefragt werden
Der Modbus Slave sendet folgende Fehlerantwort zurück.
00 03 00 00 00 03 FF C2 03
Die Antwort setzt sich wie folgt zusammen:
00 03
TID (von der Anfrage übernommen)
00 00
PID (immer 0x0000)
00 03
Die Nachrichtenlänge beträgt 3 Bytes.
FF
Geräteadresse (UID, immer 0xFF)
C2
Funktionscode (0x42) +0x80 (siehe Kapitel 10.3 »Fehlerbehandlung«)
03
Fehlercode 0x03 ILLEGAL DATA VALUE
10.4.2.3 PB-Variable ändern und abfragen (FC 0x43)
Diese Funktion ermöglicht es eine PB-Kommando Variable zu verändern. Dazu muss bei den Benutzerdaten zum einen die PB-Adresse gemäß Kapitel 6 (»Spezielle Beschreibung der PBKommandos«) angegeben werden. Des Weiteren wird der Wert, welcher gesetzt werden soll, hinzugefügt. Die Antwort des Modbus Slave beinhaltet den aktuellen Wert nach der Änderung.
Alternativ zu FC 0x42 ist es auch hier möglich Werte nur abzufragen ohne sie zu verändern. Dazu
muss bei den Benutzerdaten (Data) für den zu sendenden Variablenwert 0x7FFFFFFF eingetragen
werden.
V1.6.0de/07.03.16
Haftung für Irrtümer und Druckfehler ausgeschlossen.
Datenkommunikation
39
Modbus
HANDBUCH
Kapitel 10
PDU der Anfrage:
FC
0x43
1 Byte
PB-Adresse
1 Byte
Data
Wert
4 Bytes
PDU der Antwort:
FC
0x43
1 Byte
PB-Adresse
1 Byte
Data
Wert
4 Bytes
Beispiel 4: Starten der Temperierung
Die PB-Variable „vTmpActive“ zum Starten der Temperierung liegt an Adresse 0x14.
Der Client sendet folgende Anfrage an den Modbus Slave.
00 04 00 00 00 07 FF 43 14 00 00 00 01
Das Kommando setzt sich wie folgt zusammen:
00 04
TID (beliebige Zahl die es ermöglicht die Antwort einer Anfrage zuzuordnen)
00 00
PID (immer 0x0000)
00 07
Die Nachrichtenlänge beträgt 7 Bytes. Davon wird 1 Byte für die Geräteadresse, 1
Byte für den Funktionscode, 1 Byte für die PB-Adresse und 4 Bytes für den zu schreibenden Wert der PB-Variable verwendet.
FF
Geräteadresse (UID, immer 0xFF)
43
Funktionscode 0x43 für PB-Variable ändern und abfragen
14
Es soll die PB-Variable „vTmpActive“ mit der Adresse 0x14 gesetzt werden.
00 00 00 01
Zum Starten der Temperierung wird der Wert 0x00000001 gesendet.
Der Modbus Slave sendet folgende Antwort zurück.
00 04 00 00 00 07 FF 43 14 00 00 0001
Das Kommando setzt sich wie folgt zusammen:
00 04
TID (von der Anfrage übernommen)
00 00
PID (immer 0x0000)
00 07
Es folgen 7 weitere Bytes in dieser Nachricht.
FF
Geräteadresse (UID, immer 0xFF)
43
Funktionscode 0x43 für PB-Variable ändern und abfragen
14
PB-Variable „vTmpActive“ (Adresse 0x14)
00 00 00 01
Zustand der Temperierung. Die 1 bedeutet Temperierung aktiv.
10.4.2.4 PB-Paketkommando abfragen (FC 0x44)
Diese Funktion ermöglicht die Abfrage mehrerer Variablen mit einem einzelnen Paketkommando.
Dazu muss zunächst das Paket wie in Kapitel 9.3 »Konfiguration« beschrieben konfiguriert werden.
Die Benutzerdaten der Anfrage enthalten lediglich die Anzahl der konfigurierten PB- Variablen.
Stimmt diese nicht mit der im Pilot ONE® Regler konfigurierten Anzahl überein, wird eine Fehlerantwort zurückgesendet.
Die Benutzerdaten der Antwort enthalten zusätzlich die Werte der abgefragten PB-Variablen.
PDU der Anfrage:
FC
0x44
1 Byte
Data
Anzahl Adresse
1 Byte
PDU der Antwort:
FC
0x44
1 Byte
Anzahl Adressen
1 Byte
Wert 1
4 Bytes
Data
…
…
Wert n
4 Bytes
Beispiel 5: Abfrage der konfigurierten Adressen
Für dieses Beispiel wurde das PB-Paketkommando wie folgt konfiguriert:
 vSP (0x00) Sollwert
 vTI (0x01) Interntemperatur
40
Datenkommunikation
Haftung für Irrtümer und Druckfehler ausgeschlossen.
V1.6.0de/07.03.16
Modbus
Kapitel 10
HANDBUCH
Der Client sendet folgende Anfrage an den Modbus Slave:
00 05 00 00 00 03 FF 44 02
Das Kommando setzt sich wie folgt zusammen:
00 05
TID (beliebige Zahl die es ermöglicht die Antwort einer Anfrage zuzuordnen)
00 00
PID (immer 0x0000)
00 03
Die Nachrichtenlänge beträgt 3 Bytes (UID + FC + Data).
FF
UID (immer 0xFF)
44
Funktionscode 0x44 für PB-Paketkommando abfragen
02
Anzahl der konfigurierten PB-Variablen im PB-Paketkommando.
Der Modbus Slave sendet folgende Antwort zurück:
00 05 00 00 00 0B FF 44 02 00 00 61 A8 FF FF EC 78
Das Kommando setzt sich wie folgt zusammen:
00 05
TID (von der Anfrage übernommen)
00 00
PID (immer 0x0000)
00 0B
Die Nachrichtenlänge beträgt 11 (0x000B) Bytes. Davon wird 1 Byte für die Geräteadresse (UID), 1 Byte für den Funktionscode, 1 Byte für die Anzahl der PB-Adressen
und 2 mal 4 Bytes für die aktuellen Werte der PB-Variablen verwendet.
FF
UID (immer 0xFF)
44
Funktionscode 0x44 für PB-Paketkommando abfragen.
00 00 61 A8 Sollwert: 0x000061A8 entspricht in Dezimaldarstellung 25000, und somit, bei der
verwendeten höheren Auflösung, einer Temperatur von 25,000 °C.
FF FF EC 78
Interntemperatur: 0xFFFFEC78 entspricht in Dezimaldarstellung -5000, und somit,
bei einer höheren Auflösung, einer Temperatur von -5,000 °C.
Beispiel 6: Abfrage entspricht nicht der Konfiguration
Für dieses Beispiel wurde das PB-Paketkommando wie folgt konfiguriert:
 vSP (0x00) Sollwert
 vTI (0x01) Interntemperatur
Der Client sendet folgende Anfrage an den Modbus Slave:
00 06 00 00 00 03 FF 44 03
Das Kommando setzt sich wie folgt zusammen:
00 06
TID (beliebige Zahl die es ermöglicht die Antwort einer Anfrage zuzuordnen)
00 00
PID (immer 0x0000)
00 03
Die Nachrichtenlänge beträgt 3 Bytes (UID + FC + Data)
FF
UID (immer 0xFF)
44
Funktionscode 0x44 für PB-Paketkommando abfragen.
03
Dieser Wert stimmt nicht mit der Anzahl an konfigurierten PB-Variablen im PBPaketkommando überein (es wurden 2 Variablen konfiguriert, es werden aber 3 Variablen abgefragt).
Der Modbus Slave sendet folgende Fehlerantwort zurück:
00 06 00 00 00 03 FF C4 03
Das Kommando setzt sich wie folgt zusammen:
00 06
TID (von der Anfrage übernommen)
00 00
PID (immer 0x0000)
00 03
Die Nachrichtenlänge beträgt 3 Bytes (UID + FC + Data)
FF
UID (immer 0xFF)
C4
Funktionscode 0x44 +0x80 (siehe Fehlerbehandlung)
03
Fehlercode 0x03 ILLEGAL DATA VALUE
Beispiel 7: Konfiguriertes PB-Paketkommando enthält keine PB-Variablen
Wenn das konfigurierte PB-Paketkommando keine PB-Variablen enthält, wird auf eine Anfrage eine
Fehlerantwort zurückgesendet.
Der Client sendet folgende Anfrage an den Modbus Slave:
00 07 00 00 00 03 FF 44 02
Das Kommando setzt sich wie folgt zusammen:
00 07
TID (beliebige Zahl die es ermöglicht die Antwort einer Anfrage zuzuordnen)
00 00
PID (immer 0x0000)
00 03
Die Nachrichtenlänge beträgt 3 Bytes (UID + FC + Data)
FF
UID (immer 0xFF)
44
Funktionscode 0x44 für PB-Paketkommando abfragen.
02
Es wird angenommen, dass zwei PB-Variablen im PB-Paketkommando konfiguriert
sind.
V1.6.0de/07.03.16
Haftung für Irrtümer und Druckfehler ausgeschlossen.
Datenkommunikation
41
Modbus
HANDBUCH
Kapitel 10
Der Modbus Slave sendet folgende Fehlerantwort zurück:
00 07 00 00 00 03 FF C4 04
Das Kommando setzt sich wie folgt zusammen:
00 07
TID (von der Anfrage übernommen)
00 00
PID (immer 0x0000)
00 03
Die Nachrichtenlänge beträgt 3 Bytes (UID + FC + Data)
FF
UID (immer 0xFF)
C4
Funktionscode 0x44 +0x80 (siehe Kapitel 10.3 »Fehlerbehandlung«)
04
Fehlercode 0x04 „SLAVE DEVICE FAILURE“
10.4.2.5 PB-Paketkommando ändern und abfragen (FC 0x45)
Diese Funktion ermöglicht es mehrere Variablen mit einem einzelnen Kommando zu ändern und den
Zustand nach der Änderung abzufragen. Dazu muss zunächst ein Paket wie in Kapitel 9.3
»Konfiguration« beschrieben konfiguriert werden.
Die Benutzerdaten der Anfrage enthalten die Anzahl der konfigurierten PB-Variablen. Stimmt diese
nicht mit der im Pilot ONE® konfigurierten Anzahl überein, wird eine Fehlerantwort zurückgesendet.
Sollen nur bestimmte Variablen durch das PB-Paketkommando verändert werden, andere aber unverändert bleiben, so muss für diejenigen Variablen auf die nur lesend zugegriffen werden soll der
Wert 0x7FFFFFFF gesendet werden.
Die Antwort besitzt die gleiche Struktur wie die Anfrage.
PDU der Anfrage:
FC
0x45
1 Byte
Anzahl Adressen
1 Byte
Wert 1
4 Bytes
Anzahl Adressen
1 Byte
Wert 1
4 Bytes
Data
…
…
Wert n
4 Bytes
…
…
Wert n
4 Bytes
PDU der Antwort:
FC
0x45
1 Byte
Data
Beispiel 8: Verändern der Sollwert Temperatur, abfragen der übrigen Variablen
Für dieses Beispiel wurde das PB-Paketkommando wie folgt konfiguriert:
 vSP (0x00)
Sollwert
 vTI (0x01)
Interntemperatur
 vTmpActive (0x14)
Zustand Temperierung
Der Client sendet folgende Anfrage an den Modbus Slave:
00 08 00 00 00 0F FF 45 03 00 00 53 FC 7F FF FF FF 7F FF FF FF
Das Kommando setzt sich wie folgt zusammen:
00 08
TID (beliebige Zahl die es ermöglicht die Antwort einer Anfrage zuzuordnen)
00 00
PID (immer 0x0000)
00 0F
Die Nachrichtenlänge beträgt 15 (0x000F) Bytes. Davon wird 1 Byte für die Geräteadresse (UID), 1 Byte für den Funktionscode, 1 Byte für die Anzahl der PB-Adressen
und 3 mal 4 Bytes für die zu schreibenden Werte der PB-Variablen verwendet.
FF
UID (immer 0xFF)
45
Funktionscode 0x45 für PB-Paketkommando ändern und abfragen
03
Anzahl der konfigurierten PB-Variablen im PB-Paketkommando.
00 00 53 FC
Sollwert Temperatur auf 21,500 °C setzen (21500 entspricht 0x000053FC)
7F FF FF FF
Die Interntemperatur kann nur abgefragt werden
7F FF FF FF
Der Zustand der Temperierung soll nicht verändert, nur abgefragt werden
42
Der Modbus Slave sendet folgende Antwort zurück.
00 08 00 00 00 0F FF 45 03 00 00 53 FC 00 00 61 40 00 00 00 01
Das Kommando setzt sich wie folgt zusammen:
00 08
TID (von der Anfrage übernommen)
00 00
PID (immer 0x0000)
00 0F
15 Bytes (0x000F) folgen
FF
UID (immer 0xFF)
45
Funktionscode 0x45 für PB-Paketkommando ändern und abfragen
03
Anzahl der konfigurierten PB-Variablen im PB-Paketkommando
00 00 53 FC
Sollwert: 0x000053FC entspricht 21,500 °C
00 00 61 40
Interntemperatur: 0x00006140 entspricht 24,896 °C
00 00 00 01
Temperierung aktiv
Datenkommunikation
Haftung für Irrtümer und Druckfehler ausgeschlossen.
V1.6.0de/07.03.16
Modbus
Kapitel 10
V1.6.0de/07.03.16
HANDBUCH
Haftung für Irrtümer und Druckfehler ausgeschlossen.
Datenkommunikation
43
Peter Huber Kältemaschinenbau GmbH
Werner-von-Siemens-Straße 1
D-77656 Offenburg / Germany
tel. +49-781-9603-0
fax +49-781-57211
e-mail: [email protected]
www.huber-online.com
H o t li n e : +4 9 - 781-9603-244