Seite 1
JUMO DICON touch Zweikanal-Prozess- und Programmregler mit Bildschirmschreiber und Touchscreen B 703571.2.0 Schnittstellenbeschreibung Modbus 2015-05-01/00612268...
1 Sicherheitshinweise Warnende Zeichen GEFAHR! Dieses Zeichen weist darauf hin, dass ein Personenschaden durch Stromschlag eintreten kann, wenn die entsprechenden Vorsichtsmaßnahmen nicht getroffen werden. WARNUNG! Dieses Zeichen in Verbindung mit dem Signalwort weist darauf hin, dass ein Personenscha- den eintreten kann, wenn die entsprechenden Vorsichtsmaßnahmen nicht getroffen werden. VORSICHT! Dieses Zeichen in Verbindung mit dem Signalwort weist darauf hin, dass ein Sachschaden oder ein Datenverlust auftritt, wenn die entsprechenden Vorsichtsmaßnahmen nicht getrof-...
2 Modbus-Protokollbeschreibung Master-Slave-Prinzip Die Kommunikation zwischen einem Master (z. B. SCADA-System oder SPS) und einem Ge- rät Typ 703571 als Slave findet nach dem Master-Slave-Prinzip in Form von Datenanfrage - Antwort statt. Die Busteilnehmer (Master und Slaves) werden je nach Übertragungstechnolo- gie wie folgt adressiert: •...
2 Modbus-Protokollbeschreibung Übertragungsmedien für Modbus Serielle Schnittstelle Die Modbus-Spezifikation sieht für die Datenkommunikation über serielle Schnittstelle die Übertragungsmodi den RTU-Modus (Remote Terminal Unit) und ASCII-Modus (Übertragung der Daten im ASCII-Format) vor. Das Gerät Typ 703571 ünterstützt nur den RTU-Modus. Hier- bei werden die Daten im Binärformat über den seriellen Bus (RS422/485) übertragen.
2 Modbus-Protokollbeschreibung Funktionscodes Funktionsübersicht Die nachfolgend beschriebenen Funktionen des Modbus-Standards stehen zum Auslesen von Messwerten, Geräte- und Prozessdaten sowie zum Schreiben von Daten zur Verfügung. Funktionscode Funktion Begrenzung Hex. Dez. 03 oder 04 3 oder 4 Lesen von n Worten Max.
2 Modbus-Protokollbeschreibung 2.4.1 Lesen von n Worten Mit dieser Funktion werden n Worte ab einer bestimmten Adresse gelesen. Datenanfrage Slave-Adresse Funktionscode Adresse Wortanzahl Checksumme CRC 0x03 oder 0x04 erstes Wort 1 Byte 1 Byte 2 Bytes 2 Bytes 2 Bytes Antwort Slave-Adresse Funktionscode...
2 Modbus-Protokollbeschreibung Datentypen Datentyp Beschreibung Zugriff Mögliche Anzahl Funktions- Modbus- codes Register Byte Low-Byte eines Wortes als ganzzahliger Wert, das High-Byte read only 03, 04 wird nicht verwendet Wertebereiche: read/write 03, 04, 06, 16 0 ... 255 für vorzeichenlose Daten -127 ...
Seite 16
2 Modbus-Protokollbeschreibung Datentyp Beschreibung Zugriff Mögliche Anzahl Funktions- Modbus- codes Register char [60] Zeichenkette für bis zu 20 Unicode-Zeichen in UTF-8-Kodierung read only 03, 04 mit bis zu 3 Bytes je Zeichen Die Zeichenkette besteht demnach insgesamt aus bis zu 60 Bytes.
2 Modbus-Protokollbeschreibung Beispiele für die Übertragung von Daten Zum Auslesen von Integer-, Float- und Text-Werten wird die Funktion 0x03 (Lesen) oder 0x04 (Schreiben eines Wortes) verwendet. Datenanfrage Slave-Adresse Funktionscode Adresse Wortanzahl Checksumme CRC 0x03 oder 0x04 erstes Wort 1 Byte 1 Byte 2 Bytes 2 Bytes...
2 Modbus-Protokollbeschreibung 2.6.2 Float-Werte Das Gerät Typ 703571 arbeitet bei Float-Werten mit dem IEEE-754-Standard-Format (32 Bit), allerdings mit dem Unterschied, dass Byte 1 und 2 mit Byte 3 und 4 vertauscht sind. Single-Float-Format (32 Bit) nach Standard IEEE 754 „Float (LSB)“ SEEEEEEE EMMMMMMM MMMMMMMM...
2 Modbus-Protokollbeschreibung Nach der Übertragung vom Gerät müssen die Bytes des Float-Wertes entsprechend ver- tauscht werden. Viele Compiler (z.B. Microsoft Visual C++) legen die Float-Werte in folgender Reihenfolge ab: Float-Wert Adresse x Adresse x+1 Adresse x+2 Adresse x+3 MMMMMMMM MMMMMMMM SEEEEEEE EMMMMMMM Byte 4...
2 Modbus-Protokollbeschreibung Checksumme (CRC16) Berechnungsschema Anhand der Checksumme (CRC16) werden Übertragungsfehler erkannt. Wird bei der Auswer- tung ein Fehler festgestellt, antwortet das entsprechende Gerät nicht. CRC = 0xFFFF CRC = CRC XOR ByteOfMessage For (1 bis 8) CRC = SHR(CRC) if (rechts hinausgeschobenes Flag = 1) then else...
2 Modbus-Protokollbeschreibung Fehlermeldungen 2.8.1 Modbus-Fehlercodes Voraussetzungen für die Modbus-Kommunikation Folgende Bedingungen müssen erfüllt sein, damit ein Slave Anfragen empfangen, bearbeiten und beantworten kann: • Baudrate und/oder Datenformat von Master und Slave müssen übereinstimmen. • In der Anfrage muss die korrekte Slave-Adresse verwendet werden. •...
2 Modbus-Protokollbeschreibung 2.8.2 Fehlermeldungen bei ungültigen Werten Bei Messwerten im Float-Format wird die Fehlernummer im Wert selbst dargestellt, d.h. anstatt des Messwerts ist die Fehlernummer enthalten. Fehlercode bei Fehler Float-Werten 1,0 × 10 Messbereichsunterschreitung 2,0 × 10 Messbereichsüberschreitung 3,0 × 10 kein gültiger Eingangswert 4,0 ×...
2 Modbus-Protokollbeschreibung 2.8.3 Fehlercodes als Integer-Rückgabewerte Bei einigen längeren Abläufen (z. B. der E-Mail-Versand oder die aktive Übertragung von Frames als Modbus-Master) wird am Ende ein Fehlercode in ein Ergebnisfeld oder die Ereig- nisliste eingetragen. Kapitel 7.3.18 „Modbusserror", Seite 79 Fehlercodes Fehlercode Beschreibung...
Seite 24
2 Modbus-Protokollbeschreibung Fehlercode Beschreibung Keine DB-Nummer für Prozesswerte von SPS Drucker belegt oder nicht bereit Sollwert 1 wurde nicht programmiert Drucker einstellen (konfig. / Schnittstelle) Nur möglich, wenn Gerät im HAND-Mode Selbstoptimierung läuft bereits Zeitachse abgelaufen oder nicht programmiert Zeitachse kann nicht kopiert werden Zeitachse nicht vorhanden Programm-Änderung ist gesperrt HAND-Betrieb ist gesperrt...
Seite 25
2 Modbus-Protokollbeschreibung Fehlercode Beschreibung Hardware-Timer not created Fehlerliste: Flashbearbeitung Schreibfehler Datenflash Fehlerliste: Sonstige Fehler undefinierter Fehler Division durch Null Kann RAM-Speicherstelle nicht finden RTC-Laufzeitüberschreitung ID existiert nicht Index zu groß (Überlauf) Daten nicht gültig Ungültiger Parameter String ohne Nullzeichen Time-Out Überschreitung bei der Initialisierung Wert darf nicht beschrieben werden Logeintrag mit Fehlerbits, die Debug-Modus auslösen Fehlerliste: E-Mail-Versand über Modem und Ethernet...
Seite 26
2 Modbus-Protokollbeschreibung Fehlercode Beschreibung Unbekanntes PPP-Protokoll Unbekannter PAP-Code Unberücksichtigte IPCP-Option Unberücksichtigter IPCP-Code Unbekannter CHAP-Code IP-Checksumme falsch Unbekanntes IP-Protokoll Unbekannter ICMP-Typ Unbekannter LCP-Typ Als Client DNS-Anfrage empfangen Unbekannter DNS-Fehler DNS-Antwort ist aufgeteilt Per DNS keine IP empfangen Unbekannter UDP-Port TCP-Checksumme falsch TCP-Port falsch Unbekannte TCP-SYN-Option Unbenutzter TCP-Port...
Seite 27
2 Modbus-Protokollbeschreibung Fehlercode Beschreibung Fehler beim Deinstallieren des Partitions-Managers Fehler beim Deinstallieren des Filesystems MFS...
3 Schnittstellen Lage der Schnittstellen Das Gerät Typ 703571 verfügt serienmäßig über eine RS485-Schnittstelle (COM 1). Diese ist zur Übertragung unter Verwendung des Modbus-Protokolls (Slave oder Master) und zur Anbin- dung einer Relaisbaugruppe ER8 vorgesehen. Optional kann eine weitere RS422/485-, PROFIBUS-DP- oder eine Ethernet-Schnittstelle im Optionssteckplatz COM 2 nachgerüstet werden.
3 Schnittstellen HINWEIS! Zum Anschluss der RS422/485-Schnittstelle ist eine verdrillte Anschlussleitung mit Abschir- mung zu verwenden, die Möglichst nicht in der Nähe stromdurchflossener Bauteile oder Lei- tungen verlegt und deren Schirmung einseitig geerdet werden sollte. Um Übertragungsfehler zu vermeiden, dürfen nur die oben aufgeführten Signale angeschlos- sen werden.
Schreiberdaten abgeschlossen und ein neuer Auf- zeichnungsabschnitt begonnen. HINWEIS! Änderungen der in diesem Kapitel beschriebenen Konfigurationseinstellungen können direkt am Gerät oder mit dem JUMO PC-Setup-Programm vorgenommen werden. HINWEIS! Das Ändern von Einstellungen im Menü „Konfiguration“ ist nur dann möglich, wenn ein Benutzer mit entsprechenden Benutzerrechten angemeldet ist.
Seite 33
3 Schnittstellen Einstellungen für serielle Schnittstellen Damit alle Teilnehmergeräte in einem Bus miteinander kommunizieren können, müssen ihre Schnittstellen-Einstellungen übereinstimmen. Die folgende Tabelle stellt die Einstellmöglich- keiten der seriellen Schnittstellen des Geräts Typ 703571 dar. Aufruf: G > K > S >...
Seite 34
Zur Nutzung der Ethernet-Schnittstelle ist ein Patch-/Crossover-Kabel erforderlich, welches mit einem RJ45-Stecker ausgestattet ist. Die Konfiguration der Ethernet-Schnittstelle kann am Gerät selber, aber auch mit Hilfe des JUMO PC-Setup-Programms erfolgen. Über Ethernet können folgende Protokolle für die Kommunikation genutzt werden: •...
Seite 35
3 Schnittstellen Konfigurations- Auswahl/Einstellungen Beschreibung punkt Übertragungsrate automatisch Übertragungsgeschwindigkeit (Bitrate) und 10 Mbit/s Halbduplex Duplex-Modus der Ethernet-Optionsplatine 10 Mbit/s Vollduplex 100 Mbit/s Halbduplex Diese Einstellung muss mit der Einstellung des 100 Mbit/s Vollduplex Switch- oder Router-Ports übereinstimmen, mit dem das Gerät Typ 703571 verbunden wird. Für die manuelle Eingabe einer IP-Konfiguration für das Gerät Typ 703571 muss eine gültige freie IP- Adresse des Netzwerks bekannt sein.
4 Modbus über serielle Schnittstelle Modbus-Timing bei serieller Schnittstelle RS422/485 Das Gerät Typ 703571 besitzt serienmäßig 1 serielle Schnittstelle RS485 auf COM1. Eine weitere RS422/485 kann auf Optionsplatz „COM 2 nachgerüstet werden. Diese Schnittstellen können zum Anschluss des Gerätes an bis zu 2 Bussysteme genutzt wer- den.
4 Modbus über serielle Schnittstelle HINWEIS! Das Ende-Kennzeichen nach einer Datenanfrage oder Datenantwort ist 3 Zeichen lang. Die Dauer dieser 3 Zeichen ist abhängig von der Baudrate. Zeichenübertragungszeit Anfang und Ende eines Datenblocks sind durch Übertragungspausen gekennzeichnet. Die Zeichenübertragungszeit (Zeit für die Übertragung eines Zeichens) ist abhängig von der Baud- rate und dem verwendeten Datenformat.
Seite 39
4 Modbus über serielle Schnittstelle Software vorzugeben. Für jeden Frame kann eingegeben werden, von welcher Geräte-Adres- se und welcher Modbus-Adresse der Wert angefordert wird. Jeder programmierte Frame lässt sich inaktiv schalten, indem für den Parameter „Schnittstelle“ die Einstellung „Modbus-Slave“ gewählt wird. Maximal 8 Frames können zum Lesen und maximal 8 Frames zum Schreiben aktiviert werden.
4 Modbus über serielle Schnittstelle Modbus-Slave-Betrieb Wenn das Gerät Typ 703571 als Slave konfiguriert wurde, antwortet er im Netz auf Modbus- Anfragen des Masters. Der Master steuert den Datenaustausch und die Slaves haben lediglich Antwortfunktion. Sie werden anhand ihrer Geräteadresse identifiziert. Der Master ist üblicherweise ein PC mit einem Setup- oder Visualisierungsprogramm oder ein anderes Modbus-fähiges Gerät.
5 Modbus und andere Protokolle über Ethernet Modbus/TCP Protokoll Modbus/TCP nutzt die Ethernet-Schnittstelle zur Kommunikation der Modbus-Daten. Die Mod- bus-Telegramme werden dabei mit Hilfe des TCP-Protokolls der TCP/IP-Protokollfamilie über ein Ethernet-Netzwerk (IEEE 802.3) übertragen. Das Gerät Typ 703571 kann auch hier die Rolle des Slaves oder Masters übernehmen. Aufbau eines Modbus/TCP-Telegramms Modbus/TCP ist ein standardisiertes Verfahren, bei dem ein Modbus-Telegramm in ein TCP- Segment eingekapselt über Ethernet übertragen wird.
Seite 42
5 Modbus und andere Protokolle über Ethernet Beispiel: Lesen von n Worten Es soll die Uhrzeit des Gerätes gelesen werden. Es handelt sich hier im Beispiel um die Adres- 0x11E6 0x11E8. Siehe auch Modbus-Beispiel in Kapitel 2.4.1 „Lesen von n Worten", Seite 12. Anfrage: MBAP-Header Modbus-Telegramm...
5 Modbus und andere Protokolle über Ethernet Vernetzung bei Modbus/TCP Das nachfolgende Bild gibt einen Überblick über die Vernetzung bei Verwendung des Modbus/ TCP-Protokolls: Jeder Modbus/TCP-Knoten ist durch eine IP-Adresse eindeutig adressierbar. Die im Protokoll zusätzlich enthaltene „Unit-ID“ (= Geräteadresse) muss für den direkt am Netz hängenden Knoten 0xFF sein.
5 Modbus und andere Protokolle über Ethernet Zeitlicher Ablauf Die jeweilige Schnittstelle sucht alle für sie konfigurierten Frames (Setup-Programm: N > M > Menüpunkt S ) und überträgt ODBUS RAMES ZUM ESEN CHREIBEN CHNITTSTELLE diese der Reihe nach zyklisch, wie im unteren Bild beispielhaft an Frame 1, Frame 2 und Frame 3 dargestellt.
5 Modbus und andere Protokolle über Ethernet Browser-Anschluss und Webserver Per HTTP-Protokoll kann auch mit einem Browser auf das Gerät Typ 703571 zugegriffen wer- den. Die dafür erforderliche URL ist die IP-Adresse von Gerät Typ 703571 (in obigem Beispiel 192.168.0.100). Dadurch wird auf die HTML-Startseite „index.htm“ zugegriffen, von der aus auf weitere HTML-Seiten verzweigt werden kann.
5 Modbus und andere Protokolle über Ethernet E-Mail (SMTP und POP3) Das Gerät Typ 703571 kann E-Mails (z. B. Alarme) senden. Es ist in diesem Fall Master (Cli- ent) und kann SMTP-Server am Standard-Port (25) sowie POP3-Server am Standard-Port (110) ansprechen. Setup-PC IP=x.x.x.x IP=x.x.x.x...
Seite 47
5 Modbus und andere Protokolle über Ethernet Proxy: Dient als Gateway vom lokalen Firmennetzwerk zum weltweiten Internet. Hier findet auch die Umset- zung von "lokalen" IP-Adressen (im Firmennetzwerk verwendet) in "einmalige" IP-Adressen (im Inter- net verwendet) statt. Die Geräte-Software kann keinen Proxy adressieren! Es gibt jedoch auch „transparente Proxys“, die weltweite IP-Adressen ohne spezielles Protokoll adressierbar machen.
Seite 48
5 Modbus und andere Protokolle über Ethernet Senden einer E-Mail über Internet Hier bestehen in vielen Schritten Abhängigkeiten von konfigurierten Geräteparametern. Aus dem Fehlercode des Ereigniseintrags (besonders die Fehlercodes 120 bis 175) kann auf einen falsch eingestellten Parameter geschlossen werden. Zum Beispiel erzeugt eine falsch einge- gebene IP-Adresse des DNS-Servers den Fehlercode 153 = „Per DNS keine IP empfangen“...
6 User-Frames Allgemeines Das Gerät Typ 703571 bietet dem Anwender die Möglichkeit, Modbus-Frames individuell für seine Applikation zusammenzustellen. Dadurch wird ein Höchstmaß an Flexibilität erreicht, und der Benutzer kann so den Datenaustausch auf dem Bus auf das für ihn nötige Maß redu- zieren.
Seite 50
6 User-Frames HINWEIS! Bei aktiver Übertragung als Modbus-Master werden Wiederholungsfehler in die Ereignisliste eingetragen. Entsprechende Fehlercodes sind dem Kapitel 2.8.3 „Fehlercodes als Integer- Rückgabewerte", Seite 23 zu entnehmen. Fehlerüberwachung Jeder Frame wird auf Datenübertragung überwacht. Im Falle eines Fehlers wird das entspre- chende Fehlerflag gesetzt, ein Fehlercode zusätzlich zu jedem Frame abgelegt und ein Eintrag in die Ereignisliste geschrieben.
6 User-Frames Zusammenstellen von Modbus-Frames Im Setup-Programm sind die Optionen „Modbus-Frames zum Lesen“ und „Modbus-Frames zum Schreiben“ unter S > N zu finden. ETUPNAME ETUP 6.3.1 Modbus-Frames zum Lesen Mit dieser Funktion lassen sich bis zu acht Modbus-Frames zum Lesen von Prozesswerten ex- terner Geräte (über Schnittstelle) individuell für die jeweilige Gegenseite zusammenstellen.
Seite 52
6 User-Frames Parameter Auswahl/Einstellungen Beschreibung Schnittstelle Die Auswahl entscheidet, ob der Frame aktiv als Master übertragen wird oder nur für Abfragen als Slave zur Verfügung steht. Im Falle von Modbus-Master wird auch die Schnittstelle vorgegeben, an welcher betreffende Frame verwendet wird. Han- delt es sich um die LAN-Schnittstelle, ist ebenfalls das zu adressierende externe Gerät auszuwählen.
6 User-Frames Editieren Nach Betätigen der Schaltfläche „Editieren“ öffnet sich dieses Fenster: Parameter Parameter Auswahl/Einstellungen Beschreibung Variablen Analog-, Digital-, Integer- und Text-Variablen Inaktiv Keine Variable ausgewählt Variable auswählen Selektor zur Auswahl einer Variablen Datentyp Der Datentyp wird in Abhängigkeit von der Art des externen Eingangs im Setup- Programm voreingestellt.
6 User-Frames Parameter Auswahl/Einstellungen Beschreibung Faktor Durch Verwendung des Faktors ist es möglich, Fließkommawerte im Integer-For- mat zu übertragen. Der Sender muss die Daten vor dem Senden mit dem entspre- chenden Faktor multiplizieren. Im Empfänger müssen die Daten durch denselben Wert dividiert werden.
Seite 55
6 User-Frames Parameter Parameter Auswahl/Einstellungen Beschreibung Kommentar Frame 1 Kommentar zur näheren Bezeichnung des Frames Werkseitig eingestellten Text verwenden oder Text editieren. Schnittstelle Die Auswahl entscheidet, ob der Frame aktiv als Master übertragen wird oder nur für Abfragen als Slave zur Verfügung steht. Im Falle von Modbus-Master wird auch die Schnittstelle vorgegeben, an welcher der betreffende Frame verwendet wird.
Seite 56
6 User-Frames Editieren Nach Betätigen der Schaltfläche „Editieren“ öffnet sich dieses Fenster: Parameter Parameter Auswahl/Einstellungen Beschreibung Prozesswertse- Analog-, Digital-, Integer- und Textselektor lektor Inaktiv Keine Variable ausgewählt Variable auswählen Selektor zur Auswahl einer Variablen Datentyp Der Datentyp wird in Abhängigkeit von der Art des Prozesswerts im Setup-Pro- gramm voreingestellt.
6 User-Frames Parameter Auswahl/Einstellungen Beschreibung Faktor Durch Verwendung des Faktors ist es möglich, Fließkommawerte im Integer-For- mat zu übertragen. Der Sender muss die Daten vor dem Senden mit dem entspre- chenden Faktor multiplizieren. Im Empfänger müssen die Daten durch denselben Wert dividiert werden.
7 Modbus-Adresstabellen In den Tabellen in diesem Kapitel sind alle Prozess- und Gerätedaten des Geräts Typ 703571 mit ihrer Modbus-Adresse, dem Datentyp und den möglichen Zugriffsmöglichkeiten (Modbus- Funktionscodes) aufgeführt. VORSICHT! Schreiboperationen auf R/W-Konfigurationsparameter bewirken ein Abspeichern im EEPROM oder Flash-Speicher. Diese Speicherbausteine haben nur eine begrenzte Anzahl von Schreibzyklen (ca.