Einleitung Vorwort D iese Anleitung wendet sich an den Anlagenhersteller mit fachbezogener Aus b ildung und PC-Kenntnissen. L esen Sie diese Anleitung, bevor Sie mit Ihrer Arbeit am Gerät beginnen. Be w ahren Sie die Anleitung an einem für alle Benutzer jederzeit zugänglichen Platz auf. Mit Ihren Anregungen können Sie uns helfen, diese Anleitung zu ver b essern. A lle erforderlichen Einstellungen sind in der vorliegenden Anleitung beschrie b en. Sollten bei der Inbetriebnahme Schwierigkeiten auftreten, bitten wir Sie, keine eigenmächtigen Manipulationen vorzunehmen, die nicht in der Anleitung beschrieben sind. Sie gefährden dadurch Ihren Gewährleistungsanspruch. Bitte setzen Sie sich mit der nächsten Niederlassung oder dem Stammhaus in Verbindung. Typografische Konventionen Warnende Zeichen: ACHTUNG Dieses Zeichen wird benutzt, wenn es durch ungenaues Befolgen oder Nichtbefolgen von Anweisungen zu Beschädigungen von Geräten oder Daten kommen kann! Hinweisende Zeichen: HINWEIS Dieses Zeichen wird benutzt, wenn Sie auf etwas Besonderes aufmerksam gemacht werden sollen.
Protokollbeschreibung Master-Slave-Prinzip Die Kommunikation zwischen einem Master (z. B. PC) und einem Slave (z. B. Mess- und Regelsystem) mit Modbus findet nach dem Master-Slave-Prinzip in Form von Datenanfrage/Anweisung - Antwort statt. Master Slave 1 Slave 2 Slave n Der Master steuert den Datenaustausch, die Slaves haben lediglich Antwort f unktion. Sie werden anhand ihrer Geräteadresse identifiziert. Übertragungsmodus (RTU) Als Übertragungsmodus wird der RTU-Modus (Remote Terminal Unit) verwen d et. Die Übertragung der Daten erfolgt im Binärformat (hexadezimal) mit 8Bits. Das LSB (least significant bit, engl. das niederwertigste Bit) wird zuerst übertragen. Die Betriebsart ASCII-Modus wird nicht unterstützt. Datenformat Mit dem Datenformat wird der Aufbau eines übertragenen Zeichens beschrie-ben. Es sind folgende Möglichkeiten des Datenformats gegeben: Datenwort Paritätsbit Stoppbit ½ Bit Bitanzahl 8 Bit – 8 Bit gerade (even) 8 Bit ungerade (odd) 8 Bit –...
Protokollbeschreibung Geräteadresse D ie Geräteadresse des Slaves ist zwischen 0 und 254 einstellbar. Die Geräte a dresse 0 ist reserviert. Über die RS485-Schnittstelle können maximal 31 Slaves angespro c hen werden. Es gibt zwei Varianten des Datenaustausches: Query D atenanfrage/Anweisung des Masters an einen Slave über die entsprechende Geräteadresse. Der angesprochene Slave antwortet. Broadcast A nweisung des Masters an alle Slaves über die Geräteadresse 0 (z. B. zur Übertragung eines bestimmten Wertes an alle Slaves). D ie angeschlossenen Slaves antworten nicht. Die richtige Übernahme des Wertes durch die Slaves sollte in diesem Fall durch anschließendes Auslesen an jedem einzelnen Slave kontrolliert werden. Eine Datenanfrage mit der Geräteadresse 0 ist nicht sinnvoll. Zeitlicher Ablauf der Kommunikation A nfang und Ende eines Datenblocks sind durch Übertragungspausen gekenn z eichnet. Zwischen zwei aufeinanderfolgenden Zeichen darf maximal das Dreifache der Zeit zum Übertragen eines Zeichens vergehen. D ie Zeichenübertragungszeit (Zeit für die Übertragung eines Zeichens) ist ab h ängig von der Baudrate und dem verwendeten Datenformat (Stoppbits und Paritätsbit). B ei einem Datenformat von 8 Datenbits, keinem Paritätsbit und einem Stopp b it ergibt sich: Zeichenübertragungszeit [ms] = 1000 * 9 Bit/Baudrate Bei den anderen Datenformaten ergibt sich:...
Seite 55
Protokollbeschreibung Ablauf Datenanfrage vom Master Übertragungszeit = n Zeichen * 1000 * x Bit/Baudrate Kennzeichen für Datenanfrage-Ende 3 Zeichen * 1000 * x Bit/Baudrate Bearbeitung der Datenanfrage durch den Slave (≤ 250ms) Antwort des Slaves Übertragungszeit = n Zeichen * 1000 * x Bit/Baudrate Kennzeichen für Antwort-Ende 3 Zeichen * 1000 * x Bit/Baudrate Example K ennzeichen für Datenanfrage- oder Antwort-Ende bei Datenformat 10/9 Bits Wartezeit = 3 Zeichen * 1000 * 10 Bit/Baudrate Wartezeit [ms] Baudrate [Baud] Datenformat [Bit] (3 Zeichen) 0.79 38400 0.71 1.57 19200 1.41 3.13 9600 2.82 nVent.com | 55...
Seite 56
Protokollbeschreibung Zeitschema Eine Datenanfrage läuft nach folgendem Zeitschema ab: Datenanfrage Datenanfrage Master Antwort Slave E ndekennzeichen = 3 Zeichen (die Zeit ist von der Baudrate abhängig) D iese Zeit ist von der internen Bearbeitung abhängig. Die maximale Bearbeitungszeit liegt bei 250 ms. I n dem Gerät kann unter dem Menüpunkt "Schnittstelle" eine minima l e Antwortzeit eingestellt werden. Diese eingestellte Zeit wird minde-stens eingehalten, bevor eine Antwort gesendet wird (0…500 ms). Wird ein kleiner Wert eingestellt, so kann die Antwortzeit größer sein als der eingestellte Wert (die interne Bearbeitungszeit ist länger), das Gerät antwortet dann unmittelbar nachdem die interne Bearbeitung abgeschlossen ist. Eine eingestellte Zeit von 0 ms bedeutet, dass das Gerät mit der maximal möglichen Geschwindigkeit antwortet. D ie minimal einstellbare Antwortzeit wird bei der RS485-Schnittstelle vom Master benötigt, um die Schnittstellentreiber von Senden auf Empfangen umzustellen. Diese Zeit braucht der Slave, um von Senden wieder auf Empfangen um z uschalten. Diese Zeit muß der Master einhalten, bevor er eine neue Da t enanfrage stellt. Sie muß immer eingehalten werden, auch wenn die neue Datenanfrage an ein anderes Gerät gerichtet ist.
Protokollbeschreibung Funktionscodes D ie nachfolgend beschriebenen Funktionen stehen zum Auslesen von Mess w erten, Geräte- und Prozessdaten sowie zum Schreiben von bestimmten Da t en zur Verfügung. Funktions- übersicht Funktions- nummer Funktion Begrenzung 0x03 oder 0x04 Lesen von n Worten max. 32 Worte (64 Byte) 0x06 Schreiben eines Wortes max. 1 Wort (2 Byte) 0x10 Schreiben von n Worten max. 32 Worte (64 Byte) ð W enn das Gerät auf diese Funktionen nicht reagiert oder einen Feh l ercode ausgibt, siehe Kapitel 2.9 Fehlerbehandlung, Seite 18. 2.6.1 Lesen von n Worten M it dieser Funktion werden n (n ≤ 32) Worte ab einer bestimmten Adresse ge l esen. Datenanfrage Slave- Funktion Adresse...
Protokollbeschreibung 2.6.2 Schreiben eines Wortes B ei der Funktion Wortschreiben sind die Datenblöcke für Anweisung und Ant w ort identisch. Anweisung Slave- Funktion Checksumme Adresse 0x06 Wortadresse Wortwert CRC16 1 Byte 1 Byte 2 Byte 2 Bytes 2 Byte Antwort Slave- Funktion Checksumme Adresse 0x06 Wortadresse Wortwert CRC16 1 Byte 1 Byte 2 Byte 2 Byte 2 Byte Beispiel S chreiben des Grenzwertes AL von Limitkomparator 1 = 275.0 (Wert = 0x80004389 im Modbus-Float-Format) Wortadresse = 0x0057 Anweisung: Schreiben des ersten Teils des Wertes...
Protokollbeschreibung Übertragungsformat (Integer-, Float- und Text-Werte) Integer-Werte I nteger-Werte werden über Modbus im folgenden Format übertragen: Zuerst das High-, dann das Low-Byte. Beispiel A bfrage des Integer-Wertes von Adresse 0x0021, wenn unter dieser Adresse der Wert "4" (Wortwert 0x0004) steht. Anfrage: 01 03 0021 0001 (+ 2 Byte CRC16) Antwort: 01 03 02 0004 (+ 2 Byte CRC16) Float-Werte B ei Float-Werten wird im Modbus mit dem IEEE-754-Standard-Format (32bit)gearbeitet, allerdings mit dem Unterschied, dass Byte 1 und 2 mit Byte 3 und 4 vertauscht sind. Single-float-Format (32bit) nach Standard IEEE 754 SEEEEEEE EMMMMMMM MMMMMMMM MMMMMMMM Byte 1 Byte 2 Byte 3 Byte 4 S - Vorzeichen-Bit E - Exponent (2er-Komplement) M - 23Bit normalisierte Mantisse Modbus-float-Format Modbus-Adresse x Modbus-Adresse x+1 MMMMMMMM MMMMMMMM...
Seite 62
Protokollbeschreibung Zeichenketten (Texte) Zeichenketten (Texte) werden im ASCII-Format übertragen. Als letztes Zeichen kann ein "\0" (ASCII-Code 0x00) als Endekennung übertragen werden. Danach folgende Zeichen haben keine Bedeu-tung. I n den Adresstabellen ist die max. mögliche Zeichenanzahl im Daten t yp angegeben, z. B. "TEXT24" (24 Zeichen). Bei Verwendung einer Endekennung stehen bei diesem Beispiel nur noch 23 lesbare Zei c hen für den Text zur Verfügung. W ird keine Endekennung verwendet, muss beim Schreiben die im Da t entyp angegebene max. Zeichenanzahl (z. B. TEXT8 = 8 Zeichen) ge n utzt werden. So wird verhindert, dass noch im Speicher vorhandene Zeichen an den Text angehängt werden. D a die Übertragung von Texten wortweise (16 Bit) erfolgt, wird bei ei n er ungeraden Zeichenanzahl (inkl. "\0") zusätzlich 0x00 angehängt. Beispiel für Datentyp TEXT4 Lesen des Textes (hier: "AbC ") unter Adresse 0x0067 (max. 4 Zeichen können gespeichert werden) ASCII-Code für "AbC " (mit einem Leerzeichen am Ende): 0x41, 0x62, 0x43, 0x20 Anfrage: 01 03 0067 0002 (+ 2 Byte CRC16) Slave-Adresse = 01 Funktion = 03, d. h. Lesen von n Worten Adresse = 0067 Anzahl der zu lesenden Worte = 0002, da max. 4 Zeichen...
Protokollbeschreibung Checksum (CRC16) The checksum (CRC16) serves to recognize transmission errors. If an error is identified during evaluation, the device concerned does not respond. Berechnungs schema CRC = 0xFFFF CRC = CRC XOR ByteOfMessage For (1 bis 8) CRC = SHR(CRC) if (rechts hinausgeschobenes Flag = 1) then else CRC = CRC XOR 0xA001 while (nicht alle ByteOfMessage bearbeitet); Das Low-Byte der Checksumme wird zuerst übertragen, dann folgt das High-Byte. Beispiel Datenanfrage: Lesen von zwei Worten ab Adresse 0x00CE (CRC16 = 0x92A5) CRC16 Antwort: (CRC16 = 0xF5AD) Wort 1 Wort 2 CRC16 nVent.com | 63...
Seite 64
Protokollbeschreibung Error processing Fehlercodes Es existieren folgende Fehlercodes: ungültige Funktion ungültige Parameteradresse oder zu große Anzahl von Worten soll gelesen oder geschrieben werden Schreibzugriff auf Parameter verweigert Antwort im Fehlerfall Slave- Funktion Checksumme Adresse XX OR 80h Fehlercode CRC16 1 Byte 1 Byte 1 Byte 2 Bytes Der Funktionscode wird mit 0x80 verODERt, d. h., das MSB (most significant bit, engl. das höchstwertige Bit) wird auf 1 gesetzt. Beispiel Datenanfrage: CRC16 Antwort (mit Fehlercode 2): CRC16 Sonderfälle Wenn der Slave nicht antwortet, können folgende Ursachen vorliegen: - B audrate und/oder Datenformat stimmen beim Master und beim Slave nicht überein - die verwendete Geräteadresse stimmt nicht mit der Slaveadresse überein - die Checksumme (CRC16) ist nicht korrekt - die Anweisung des Masters ist unvollständig oder überdefiniert - die Anzahl der zu lesenden Worte ist Null In diesen Fällen sollte die Datenanfrage nach Ablauf der Timeout-Zeit (2s) erneut...
Seite 65
RAYCHEM RS485-Schnittstelle Anschlussplan ð Dieses Gerät kann optional mit einer nVent RAYCHEM RS485-Schnittstelle bestellt werden. Bestellangaben finden Sie in der in der Betriebs- und Montageanleitung INSTALL-149 (Typenerklärung). N(L-) RxD/TxD L1(L+) (1) RS485-Schnittstelle Die Schirmung der Schnittstellenleitung ist einseitig im Schalt s chrank zu erden. nVent.com | 65...
Seite 66
RAYCHEM RS485-Schnittstelle Konfiguration D ie folgende Tabelle zeigt die möglichen Einstellungen der Modbus-Schnittstelle, die in der Konfigurationsebene (ConF IntF) bzw. im Setup-Programm vorgenommen ➔ werden. ð W eitere Informationen zur Konfiguration können der Betriebs- und Montageanleitung INSTALL-149 entnommen werden. Wert/ Symbol Auswahl Beschreibung Baudrate 9600 Baud bdrt 19200 Baud 38400 Baud Datenformat 8 Datenbits, 1 Stoppbit, keine Parität 8 Datenbits, 1 Stoppbit, ungerade Parität 8 Datenbits, 1 Stoppbit, gerade Parität 8 Datenbits, 2 Stoppbits, keine Parität Geräteadresse 0…1…255 Adresse im Datenverbund Die Adressen 0 und 255 sind für bestimmte Zwecke vorgesehen und sollten hier nicht verwendet werden.
Modbus addresses Datentyp, Zugriffsart In den folgenden Tabellen sind alle Prozess- und Gerätedaten mit ihren Adres s en, dem Datentyp und der Zugriffsart aufgeführt. Hierbei bedeutet: R/O Zugriff nur lesend W/O Zugriff nur schreibend R/W Zugriff lesend und schreibend INT Integer (8 oder 16 Bit) Bit x Bit Nr. x (Bit 0 ist das niederwertigste Bit LONG Long Integer (4 Byte) FLOAT Float-Wert (4 Byte) nach IEEE 754 TEXT4 Text 4 Zeichen Schreiboperationen auf R/W-Parameter bewirken ein Abspeichern im EEPROM. Diese Speicherbausteine haben nur eine begrenzte Anzahl von Schreibzyklen (ca. 10000), weshalb bei häufiger Programmierung diese Funktion abgeschaltet werden kann. Die Parameterwerte sind dann nur im flüchtigen Speicher (RAM) gespeichert und nach einem Netzausfall verloren.
Seite 68
Modbus-Adressen Datentyp/ Adresse Bitnummer Zugriff Signalbezeichnung 0x0023 Binäreingänge 1...2 (Schaltzustände 0 = offen / 1 = geschlossen) Bit 0 Eingang 1 (= 0x0001) Bit 1 Eingang 2 (= 0x0002) 0x0024 Limitkomparatoren 1...2 Bit 0 Limitkomparator 1 (= 0x0001) Bit 1 Limitkomparator 2 (= 0x0002) 0x0025 Ansteuerung Binärausgänge (einzeln) Bit 0 + Bit 8 Ausgang K1 (= 0x0101) Bit 1 + Bit 9 Ausgang K2 (= 0x0202) Bit 2 + Bit 10 Ausgang K3 (= 0x0404) Bit 3 + Bit 11 Ausgang K4 (= 0x0808) 0x0026 FLOAT Analogeingang [mV] 0x0028 FLOAT Interner Pt100 [Ohm] 0x002A Abtastzeit 0x002B FLOAT Analogeingang [Anzeigewert] 0x002D...
Seite 70
Modbus-Adressen Kommandos Datentyp/ Adresse Bitnummer Zugriff Signalbezeichnung 0x004D Binärfunktionen REGLER Bit 0 Selbstoptimierung Start (= 0x0001) Bit 1 Selbstoptimierung Abbruch (= 0x0002) Bit 2 Handbetrieb (= 0x0004) Bit 3 Automatikbetrieb (= 0x0008) Bit 4 Regler aus (= 0x0010) Bit 5 Verriegelung Handbetrieb (= 0x0020) Bit 6 Rampe Halt (= 0x0040) Bit 7 Rampe Abbruch (= 0x0080) Bit 8 Rampe Neustart (= 0x0100) Bit 9 Timer Start (= 0x0200) Bit 10 Timer Abbruch (= 0x0400) Bit 11 Timer Halt (= 0x0800) 0x004E Binärfunktionen BEDIENUNG Bit 0 Verriegelung Tastatur (= 0x0001) Bit 1 Verriegelung Konfigurations- und Parameterebene (= 0x0002) Bit 3 Anzeige AUS (= 0x0008) Bit 5...
Seite 71
Modbus-Adressen RAM-Speicher Datentyp/ Adresse Bitnummer Zugriff Signalbezeichnung 0x3200 FLOAT Regler-Sollwert (beschreibbar) 0x3202 FLOAT Regler-Istwert (beschreibbar) 0x3204 FLOAT Interner Analogwert 1 (beschreibbar) 0x3206 FLOAT Interner Analogwert 2 (beschreibbar) 0x3208 Interne Binärwerte (beschreibbar) Bit 0 + Bit 7 Binärwert L1 (= 0x0081) Bit 1 + Bit 7 Binärwert L2 (= 0x0082) Über Modbus ist der direkte Zugriff auf den RAM-Speicher des Gerätes möglich, um den Regler-Sollwert (0x3200), den Regler-Istwert (0x3202) und die Internen Analogwerte (0x3204, 0x3206) sowie die Internen Binärwerte (0x3208) zu schreiben. Beim Schreiben steht für die Werte von Regler-Sollwert, Regler-Istwert und für die Internen Analogwerte ein Bereich von -1999 bis +9999 zur Verfügung. Statt des Originalwertes wird dann der ins Gerät geschriebene Wert verwendet. Soll am Gerät wieder der Originalwert verwendet werden, muss der Wert 200001 über Modbus in die jeweilige Speicherstelle geschrieben werden.