4.8.1 Protokoll : Modbus-IDA, seriell


 

Telegrammstruktur

Der Telegrammverkehr wird durch den Master kontrolliert, d. h. die RTU antwortet nur auf Anfrage. Die Analyse der Werte im Telegramm in Melderichtung ist nur in Bezug auf den zuvor in Steuerrichtung gesendeten Befehl/ Abfrage möglich. Deshalb werden für die Aufzeichnung zwei Kanäle benutzt, die miteinander korrespondieren. Man kann zwischen Kanal 1 + 2 oder 3 + 4 ( 5 + 6, 7 + 8, 9 + 10 oder 11 + 12 ) wählen. Auf dem 1. Kanal erfolgt die Aufzeichnung in Steuerrichtung ( Master -> RTU ) und auf dem 2. Kanal in Überwachungsrichtung ( RTU -> Master ). Diese 2-kanal Aufzeichnung hat den Vorteil, dass RTU Telegramme mit Hilfe des vorangegangenen Master-Befehls dargestellt werden können, z. B. wird die richtige Messwertnummer angezeigt.

 

Information zum Aufbau des Telegramms siehe
<MODBUS seriell : Telegrammstruktur im RTU-Mode>

 


MODBUS seriell : Konfiguration

 

 

Über den unteren Button ( Kanal 1 ...12 ) sind folgende Einstellungen möglich :

 

Die einzelnen Zeichen bestehen aus einem Start-Bit ( binär = 0 ), 8 Informationsbits, einem Paritätsbit ( normalerweise gerade ) und einem Stopp-Bit ( binär = 1 ).

 

Schnittstelle

Jedem Kanal kann eine beliebige COM-Schnittstelle ( COM 1 bis COM 24 ) zugeordnet werden.

Modem

Für jeden Kanal kann ein eigenes Modem installiert und angeschlossen sein. LIAN 98 bearbeitet bis zu zwölf Modems gleichzeitig im Bereich von COM1 bis COM24. Es wird das Modem angezeigt, welches dem eingestellten COM-Port zugeordnet ist. Normalerweise kennt LIAN 98 diese Zuordnung und stellt selbst das richtige Modem ein.

Setup Modem

Einstellungen für das Modem müssen generell über die WINDOWS Systemsteuerung "Telefon und Modemoptionen" durchgeführt werden. Über diesen Button kann man die Modem-Einstellungen nochmals überprüfen, ob sie mit der LIAN 98 Konfiguration übereinstimmen.

Verbindungsart

Achtung, für die Aufzeichnung ( Mithörbetrieb ) sollte immer Vollduplex eingestellt sein !
 

Vollduplex :

Die meisten Modems sind vollduplex und können Daten gleichzeitig in beide Richtungen übertragen. DTE ( LIAN 98 ) und DCE ( Modem ) arbeiten also simultan als Sender und Empfänger. Keiner der beiden Sender muss auf eine Sendefreigabe durch den Partner warten. Die Signale RTS und CTS sind also ohne Bedeutung. LIAN 98 setzt zwar die Signale RTS und DTR auf 1 solange es sende- und empfangsbereit ist, wertet dabei aber die Signale CTS und DSR nicht aus.

Halbduplex :

Bei der Halbduplexverbindung können sowohl DTE ( LIAN 98 ) als auch DCE ( Modem ) als Sender und Empfänger arbeiten, wobei nur eine einzige Datenleitung ( 2-Drahtverbindung ) zur Verfügung steht, die nur abwechselnd zum Senden oder Empfangen benutzt werden kann. Zur Verteilung der Rollen als Sender oder Empfänger dienen die Steuersignale RTS und CTS. Wenn LIAN 98 als Sender arbeiten möchte, aktiviert es das Signal RTS und wartet auf die Bestätigung über das Signal CTS vom Modem. Erhält LIAN 98 das Signal CTS werden die Daten gesendet und anschliessend das RTS-Signal zurückgenommen. In allen anderen Fällen abeitet LIAN 98 ausschliesslich als Empfänger.

Solange die LIAN 98 Software sende- und empfangsbereit ist setzt es das Signal DTR aktiv um dem Modem die Betriebsbereitschaft der DTE anzuzeigen, und erwartet ebenso vom Modem ein aktives DSR-Signal.

RTS-Vorlaufzeit

0 ... 1000 msec
Der Parameter ist nur für die Verbindunsart "halbduplex" von Bedeutung und wird durch das Einschwingverhalten der verwendeten Übertragungstechnik bestimmt.
Die RTS-Vorlaufzeit ist der Zeitraum von der Aktivierung des RTS-Signals bis zur Übertragung des ersten Zeichens und ist für Modems anwendbar die "kein CTS-Signal" zurückliefern. In diesem Fall, muss auch durch eine Lötbrücke im Monitor-Kabel das "RTS-Signal" über die "CTS-Leitung" zum PC zurückgeführt werden. Abhängig von dem verwendetem Modem ist es möglicherweise auch notwendig, zusätzlich den DTR-Pin mit dem DSR-Pin zu verbinden.
Diese Funktion ist deaktiviert, wenn die Vorlaufzeit und auch die Nachlaufzeit auf NULL gesetzt ist und somit die Steuersignale vom Modem ausgewertet werden.

RTS-Nachlaufzeit

0 ... 1000 msec
Der Parameter ist nur für die Verbindunsart "halbduplex" von Bedeutung und wird durch das Ausschwingverhalten der verwendeten Übertragungstechnik bestimmt.
Die RTS-Nachlaufzeit ist der Zeitraum nach der Übertragung des letzten Zeichens bis zum Löschen des RTS Signals.
Diese Funktion ist deaktiviert, wenn die Vorlaufzeit und auch die Nachlaufzeit auf NULL gesetzt ist.

 

Baudrate

Übertragungsgeschwindigkeit : 25 - 115200 Baud ( variabel )

Datenbyte

8 Bit ( fest )

Stopp Bit

1 Bit ( variabel )

Parität

gerade ( variabel )

Timeout

1 - 9999 msec ( variabel )

Der Timeout muss bei diesem Protokoll so kurz wie möglich gehalten werden, da mit dem Timeout das Telegrammende bzw. der Anfang des nächsten Telegramms erkannt wird. Als grundlegende Regel gilt, je höher die Baudrate um so niedriger der Timeout. Bei 19200 Baud etwa 20 bis 30 msec.

 

Richtung

Die Übertragungsrichtung ist anhand der Telegramme nicht erkennbar, deshalb muss hier dem Kanal unbedingt die richtige Richtung zugeordnet werden. Anderenfalls werden Telegramme als fehlerhaft markiert ( siehe auch Erklärung unter Telegrammstruktur ).

Dieser Parameter wird nur für die Aufzeichnung benötigt und ist bei der Simulation bedeutungslos.

Steuerung :

Diese Einstellung bei ungeraden Kanälen verwenden.

Steuerrichtung bzw. Befehlsrichtung sind die Telegramme vom Master zur Unterstation.

Überwachung :

Diese Einstellung bei geraden Kanälen verwenden.

Überwachungsrichtung bzw. Melderichtung sind die Telegramme von der Unterstation zum Master.

 

Berechnung des Timout's :

Der Timeout [ msec ] sollte minimal grösser sein, als das Ergebnis aus der folgenden Berechnung :

timeout  >  ( (1000 / Baudrate) * Anzahl Bits pro Charakter ) * max. Anzahl Bytes pro Telegramm

Anzahl Bits pro Charakter : 1 Startbit + Anzahl Datenbits + Anzahl Paritätsbits + Anzahl Stoppbits

 


MODBUS seriell : Simulation

 

MODBUS seriell : RTI ( Master )-Simulation

LIAN 98 simuliert im Linienbetrieb einen MASTER und kann mit bis zu 32 angeschlossenen Unterstationen gleichzeitig kommunizieren.

 

 

Stationsadresse
( Adresse der Zielstation )

Alle zu sendenden Telegramme werden während der Master-Simulation mit der Stationsadresse aus der SIM-Liste versehen.

Ausgenommen :
. Enthält ein Telegramm im TDB Puffer die Stationsadresse 255, so wird das Telegramm mit der Adresse = 0 ( Befehl 'AN ALLE' ) gesendet.
. Ist im Telegramm eine Adresse aus der Server-Liste eingetragen, so wird das Telegramm unverändert mit der bereits eingetragenen Adresse gesendet.

Wartezeit auf Quittung

1 - 30 000 msec

Der Modbus-Standard schreibt ein festes Zeitüberwachungsintervall vor, das für wiederholte Übertragungen verwendet werden muss. Dieses Zeitüberwachungsintervall und die maximale Anzahl der Wiederholungen sind konfigurierbar und geeignete Werte sind vom Übertragungssystem abhängig.

Dieser Parameter bestimmt die Zeit in Millisekunden, die LIAN 98 als Primärstation maximal auf eine Quittung warten soll, bevor es die letzte Übertragung wiederholt.

Anzahl Telegrammwiederholungen

0 - 255

Mit diesem Parameter legt man fest, wie oft nach dem Fehlen der Antwort das Senden wiederholt werden soll.

Slave- / Server-Adressen einfügen
Anzahl Adressen
entfernen
einfügen

Linienbetrieb : ( Gemeinschaftsverkehr )
In der Server-Liste werden alle Stationen eingetragen, die an dieser Linie bearbeitet werden sollen. LIAN 98 stellt die Verbindung mit all diesen Stationen ( max. 32 Stationen ) her und fragt anschliessend die Daten von diesen Stationen ab.

Zum Eintagen der Adressen gehen Sie wie folgt vor :

"Server-Adresse einfügen" aktivieren ( Button "einfügen" erscheint ).
Im Felde "Stationsadresse" die einzutragende Station angeben.
Mit "einfügen" die Adresse in die Server-Liste übernehmen.
Nachdem alle Stationen eingetragen sind, "Server Adresse einfügen" wieder deaktivieren ( Button "einfügen" verschwindet ).

Zum Löschen die Station in der Liste auswählen und auf "entfernen" klicken.

Automatische Abfragen sperren

ja / nein

Nach dem starten der RTI Simulation, beginnt LIAN 98 automatisch mit dem Abfragen der Daten. Sollte das nicht gewünscht sein, kann das Abfragen hier deaktiviert werden.

Datenabfrage ( TDBnum von )

Nummer des TDB Puffers in dem das erste Abfragetelegramm gespeichert ist.

Datenabfrage ( TDBnum bis )

Nummer des TDB Puffers in dem das letzte Abfragetelegramm gespeichert ist.

Ist die Puffernummer ( z.B. gleich 0 ) kleiner als die Nummer des TDB-Puffers "von", so wird nur die Abfrage im Feld "von" verwendet.

Abfrage delay

0 - 30 000 msec

Dieser Parameter bestimmt die Zeit, die das Programm LIAN 98 die nächste Abfrage verzögert.

 

MODBUS seriell : RTU ( Slave )-Simulation

 

 

Stationsadresse

Während der Slave-Simulation werden alle Sendetelegramme mit der Stationsadresse aus der SIM-Liste versehen.

Prozessabbild initialisieren

ja / nein

 

MODBUS seriell : Routing Daten

 

 

 

 

aktiviere Router

ja / nein

Ist dieser Parameter aktiviert, startet LIAN 98 für den zugeordneten Kanal den "Modbus RTU Master" mit Router-Funktion und baut eine Verbindung zur Unterstation auf. Die Zuordnung zum Kanal wird in der Konfiguration ( KNF ) über den Parameter "Simulationsliste" eingestellt.
siehe auch MODBUS seriell : RTI ( Master )-Simulation

Telegrammformat

Mit diesem Parameter wird das Telegrammformat des angeschlossenen Client/ Masters ausgewählt ( Modbus NET Client ).

Routing Kanal einfügen
Anzahl Kanäle
löschen
einfügen

In die Kanalliste werden alle angeschlossenen Clients eingetragen, die vom LIAN 98 Router berücksichtigt werden sollen.

Zum Eintragen der Kanalnummern gehen Sie wie folgt vor :

"Routing Kanal einfügen" aktivieren ( Button "einfügen" erscheint ).
Im Feld "Kanalnummer" die einzutragende Kanalnummer angeben. Mit "einfügen" die Kanalnummer in die Kanalliste übernehmen. Nachdem alle Kanäle eingetragen sind, "Routing Kanal einfügen" wieder deaktivieren ( Button "einfügen" verschwindet wieder ).

Zum Löschen, ein oder mehrere Kanäle in der Liste auswählen und auf "entfernen" klicken.

 


MODBUS seriell : Vorfilter/ Vortrigger

 

MODBUS seriell : Empfangsfilter

 

Empfangsfilter dienen dazu, die Aufzeichnung auf bestimmte, vorher genau definierte Datensätze zu beschränken. Bei einer entsprechenden Filterwahl wird eine gezielte Datenvorauswahl erreicht, wodurch bereits bei der Aufzeichnung eine Datenreduktion für die spätere Analyse erzielt wird.

 

 

Filter freigeben

ja / nein

Mit dieser Option können für einen Kanal bereits eingestellte Filter vorübergehend deaktiviert werden ohne diese zu löschen.

protokoll-spezifische
Filtermaske

Hier lässt sich die Aufzeichnung nach telegramm-spezifischen Merkmalen filtern, wobei mehrere ODER- verknüpfte Filtermasken für einen Kanal bestimmt werden können.

= Es werden nur Werte gleich 'von' durchgelassen.
# Es werden nur Werte ungleich 'von' durchgelassen.
< Es werden nur Werte kleiner 'von' durchgelassen.
> Es werden nur Werte grösser 'von' durchgelassen.
B Der Bereich wird durch 'von' und 'bis' definiert.
hinzufügen Fügt das nächste ODER-Element hinzu.
entfernen Entfernt das aktuelle Oder-Element.

 

MODBUS seriell : Aktionsfilter

 

Für die Simulation bzw. die Durchführung von Datentests lassen sich beim Empfang bestimmter Sätze Sendeaktionen auslösen. Zu diesem Zweck besteht die Möglichkeit, Aktionsfilter zu definieren, die eine Sendefolge starten bzw. einen oder mehrere Telegrammpuffer ( TDB ) senden.

 

 

Aktionsfilter freigeben

ja / nein

Mit dieser Option können für einen Kanal bereits eingestellte Aktionsfilter vorübergehend deaktiviert werden ohne diese zu löschen.

protokoll-spezifische
Filtermaske

Der Aktionsfilter wird über telegramm-spezifische Merkmale, entsprechend einer Filtereinstellung, beschrieben. Zusätzlich muss zu jedem Aktionsfilter eine Zuweisung zu einem Sendepuffer oder alternativ zu einer Sendesequenz erfolgen.

= Es werden nur Werte gleich 'von' durchgelassen.
# Es werden nur Werte ungleich 'von' durchgelassen.
< Es werden nur Werte kleiner 'von' durchgelassen.
> Es werden nur Werte grösser 'von' durchgelassen.
B Der Bereich wird durch 'von' und 'bis' definiert.
Sendepuffernummer
( von, von/ bis )

Bei Übereinstimmung mit dem Aktionsfilter wird der Telegrammpuffer "von" bzw. die Telegrammpuffer "von - bis" gesendet.

Sequenz-Zeilennummer
( von, von/ bis )

Bei Übereinstimmung mit dem Aktionsfilter wird die Sendesequenz bei der Zeilennummer "von" gestartet, bzw. eine Teil-Sequenz bei der Zeilennummer "von" gestartet und bei Zeilennummer "bis" beendet.

hinzufügen Fügt das nächste ODER-Element hinzu.
entfernen Entfernt das aktuelle Oder-Element.

 

MODBUS seriell : Start Trigger

 

Beim Empfang eines als Starttrigger definierten Telegramms wird die Aufzeichnung gestartet.

 

 

Start Trigger freigeben

ja / nein

Mit dieser Option können für einen Kanal bereits eingestellte Trigger vorübergehend deaktiviert werden ohne diese zu löschen.

protokoll-spezifische
Triggermaske

Hier lassen sich telegramm-spezifische Start Trigger definieren, wobei mehrere ODER-verknüpfte Trigger für einen Kanal bestimmt werden können.

= Es werden nur Werte gleich 'von' durchgelassen.
# Es werden nur Werte ungleich 'von' durchgelassen.
< Es werden nur Werte kleiner 'von' durchgelassen.
> Es werden nur Werte grösser 'von' durchgelassen.
B Der Bereich wird durch 'von' und 'bis' definiert.
hinzufügen Fügt das nächste ODER-Element hinzu.
entfernen Entfernt das aktuelle Oder-Element.

 

MODBUS seriell : Stopp Trigger

 

Mit Hilfe eines telegramm-spezifischen Stopptriggers und/ oder mit "Stopp bei Fehler" wird die Aufzeichnung nach einer bestimmten Anzahl nachfolgender Empfangssätze beendet. Die Anzahl wird mit dem Feld "Sätze nach Stopp bei Fehler/ Stopptrigger" in den globalen VFL-Einstellungen festgelegt.

 

 

Stopp Trigger freigeben

ja / nein

Mit dieser Option können für einen Kanal bereits eingestellte Trigger vorübergehend deaktiviert werden ohne diese zu löschen.

protokoll-spezifische Triggermaske

Hier lassen sich für die Auswertung telegramm-spezifische Stopp Trigger definieren, wobei mehrere ODER-verknüpfte Trigger für einen Kanal bestimmt werden können.

= Es werden nur Werte gleich 'von' durchgelassen.
# Es werden nur Werte ungleich 'von' durchgelassen.
< Es werden nur Werte kleiner 'von' durchgelassen.
> Es werden nur Werte grösser 'von' durchgelassen.
B Der Bereich wird durch 'von' und 'bis' definiert.
hinzufügen Fügt das nächste ODER-Element hinzu.
entfernen Entfernt das aktuelle Oder-Element.

 


Jede Änderungen in den Filtern wird durch einen Stern * in der Titelleiste angezeigt und ist erst nach dem Speichern wirksam.

 


MODBUS seriell : Telegrammausgabeformat

 

Die gesendeten bzw. empfangenen Sätze aller Kanäle werden binär in der sogenannten Archivdatei abgelegt. Vor der Ausgabe werden sie in Klartext übersetzt und auf dem Bildschirm dargestellt, wobei das Ausgabeformat für jeden Kanal getrennt eingestellt wird. Um die Ausgabe zu optimieren kann zwischen drei verschiedenen Klartext-Einstellungen gewählt werden.
( siehe "FMT File - Ausgabeformat" )

 

 

Klartext-Format 1

Alles anzeigen : Telegramm-Header und Informationselemente

Klartext-Format 2, 3

Alles ohne Telegramm-Header anzeigen : Nur Informationselemente

Klartext-Format 4, 5

Alles ohne Informationselemente anzeigen : Nur Telegramm-Header

 

Falls so gewünscht, kann man sich zusätzlich zur Klartext-Ausgabe die Übertragungsdaten in hexadezimal, dezimal, ASCII, binär ( LSB first ) oder binär ( MSB first ) anzeigen lassen. Selbstverständlich kann die Klartext-Ausgabe auch deaktiviert werden um z.B. die Übertragungsdaten nur hexadezimal darzustellen.

 


MODBUS seriell : Fehlermeldungen

 

Fehlerprüfung beim Empfangen

 

pro Zeichen

das Start Bit, das Stopp Bit und die Parität.

pro Telegramm

den Funktionscode, die Telegrammprüfsumme und die Länge.

 

*** TimeOut !

Während der Telegrammübertragung dürfen zwischen den einzelnen Zeichen keine grossen Pausen entstehen. Beim Auftreten eines Timeouts wird davon ausgegangen, dass es sich um das Telegrammende handelt und die Telegrammprüfung gestartet. Die Empfindlichkeit wird in der Konfiguration parametriert ( Timeout ).
Normalerweise ist ein Timeout kein Fehler, aber er wird im Rahmen eines Serien-Fehlers zur besseren Analyse der fehlerhaften Übertragungsstrecke zusammen mit dem ursprünglichen Fehler ins PRO File eingetragen.

*F: COM-PORT !

Fehler beim Schreiben auf das COM Port. Möglicherweise ist es durch ein anderes Programm bereits belegt.

*F: Länge !

Die Telegrammlänge ist falsch.

*F: Prüfsumme !

Die Telegrammprüfsumme ( CRC16 ) im Prüfwort stimmt nicht.

*F: SYNC !

Das MODBUS Protokoll bietet zum Erkennen des Telegrammanfangs leider kein Startbyte. Somit setzt die Empfangsroutine den Telegrammbeginn unmittelbar nach einem TIMEOUT und plausibilitert das empfangene Telegramm auf Richtigkeit. Scheitert diese Plausibilitierung, wird ein Synchronisationsfehler vermerkt und das Telegramm ins PRO File eingetragen.

*F: Überlauf !

Fehlermeldung vom UART. Der Fehler wird nur im PRO File vermerkt.

*F: Parität !

Fehlermeldung vom UART. Der Fehler wird nur im PRO File vermerkt.

*F: Start/ Stopp !

Fehlermeldung vom UART. Der Fehler wird nur im PRO File vermerkt.

 

 

*F: TypeID !

Der im Telegramm angegebene Funktionscode ist nicht richtig.

 

Fehlerprüfung während der Simulation

 

*F: Link Adresse !

Die empfangene Server-Adresse ist falsch oder der Eintrag in der SIM Liste stimmt nicht.

*F: unerwartet !

Es erfolgte eine Rückmeldung, die zu diesem Zeitpunkt nicht erwartet wurde.

 


MODBUS seriell : Parameterliste

 

MODBUS seriell : Daten Modell

 

 

 

Gesamtlänge Prozessabbild

maximal 64 kByte ( 0000... FFFF ) = 65536 Bytes

 

 

 

Anfangsadresse Coils

0... 65535

 

Abbildlänge Coils

maximal 16 kByte

 

Anfangsadresse Discrete Inputs

0... 65535

 

Abbildlänge Discrete Inputs

maximal 16 kByte

 

Anfangsadresse Holding Registers

0... 65535

 

Abbildlänge Holding Registers

maximal 16 kByte

 

Anfangsadresse Input Registers

0... 65535

 

Abbildlänge Input Registers

maximal 16 kByte

 

 

MODBUS seriell : Prozessabbild

 

 

Abbild für Coils und Diskrete Inputs vorbesetzen

 

 

Abbild für Holding- und Input-Registers vorbesetzen

 

 

 


MAYR Software

Wuerzburger Ring 39,  D 91056 Erlangen

Handbuch LIAN 98


LIAN 98 Protocol Router, Simulator and Analyzer
© Copyright 2001, 2006, 2011 by Werner Mayr. All Rights reserved.