Benutzer-Werkzeuge

Webseiten-Werkzeuge


profibus_master

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

profibus_master [22.01.2015 19:56] (aktuell)
Florens Kauer angelegt
Zeile 1: Zeile 1:
 +====== Profibus Master ======
 +Der Profibus Master Treiber ermöglicht es Datenpunke/​Bytes aus Profibus Slave Teilnehmern auszulesen und zu beschreiben. Dabei können maximal 244 Byte in jeder Richtung übertragen werden.
  
 +Der Name des Profibus-Master-Treibers lautet: //dpmh//\\
 +Die Routing-Adresse des ersten Profibus-Master-Treibers ist die //1060//\\
 +Die Datenpunktdatei für den ersten Profibus-Master-Treiber heißt: //​dpmh1.txt//​\\
 +Die Konfigurationsdatei für globale Einstellungen des ersten Profibus-Master-Treibers heißt: [[profibus_master_cfg|dpmh1.cfg]]\\ In der //​dpmh1.cfg//​ müssen unter anderem die Cfg- und Prm-Daten aus den *.gsd-Dateien der anzubindenden Slaves eingetragen werden.
 +
 +Bei dem Profibus-Treiber sowie allen weiteren Gateway-Treibern gilt für die Definiton von Datenpunkten in der Datenpunktdatei:​
 +
 +^Typ:  ^Bedeutung ​ ^
 +^M |Ganzzahliger Wert (Binäre Datenpunkte,​Zählwerte) der vom Gateway nur gelesen werden kann/​soll. ​ |
 +^S |Ganzzahliger Wert der vom Gateway gelesen sowie geschrieben werden kann/​soll. ​ |
 +^X |Analogwert (mit Nachkommastellen) der vom Gateway nur gelesen werden kann/​soll. ​ |
 +^Y |Analogwert (mit Nachkommastellen) der vom Gateway gelesen sowie geschrieben werden kann/​soll. ​ |
 +^A |String, findet z.B. Verwendung bei BACnet Trends und ESPA4.4.4 Datenpunkten ​ |
 +
 +Die Adressen sind wie folgt aufgebaut.
 +
 +"<​typ>​ <​slave>​.<​byte>​[.<​bit>​]"​
 +
 +Dabei gilt folgende Definition: ​
 +
 +^  ^Wertebereich ​ ^Beschreibung ​ ^
 +^Typ  |inbyte\\ ​  ​inbit\\ ​  ​outbyte\\ ​  ​outbit ​ |Bytewert der vom Master gelesen werden kann.\\ ​  ​Einzelbit das vom Master gelesen werden kann.\\ ​  ​Bytewert der vom Master geschrieben werden kann.\\ ​  ​Einzelbit das vom Master geschrieben werden kann.  |
 +^slave ​ |1 - 125
 +^byte  |0 - 243  |n-te Byte im Eingangs- bzw. Ausgangsregister ​ |
 +^bit  |0 - 7  |Einzelbit innerhalb des n-ten Bytes  |
 +
 +Die Adresse des //inbyte 120// vom Slave //2// wird demnach wie folgt in der Datei dpmh1.txt angegeben: ​
 +
 +[X inbyte 2.120]
 +
 +Um dem Treiber mitzuteilen wie er die unter einer Adresse abgelegten Informationen auswerten kann
 +muss für jeden Datenpunkt das Format übergeben werden. Dies erfolgt anhand der Formatdefinition:​
 +
 +format = <​format>​ [S:<​swap>​] [F:<​fact>​]
 +
 +Dabei kann <​format>​ folgende Werte annehmen:
 +
 +^<​format> ​ ^Beschreibung ​ ^
 +^BIT  |Einzelbit ​ |
 +^UINT8 ​ |8bit unsigned ​ |
 +^SINT8 ​ |8bit signed ​ |
 +^UINT16 ​ |16bit unsigned ​ |
 +^SINT16 ​ |16bit signed ​ |
 +^UINT32 ​ |32bit unsigned ​ |
 +^SINT32 ​ |32bit signed ​ |
 +^FLOAT32 ​ |32bit floating point (IEEE) ​ |
 +^FLOAT64 ​ |64bit floating point (IEEE) ​ |
 +
 +Formate größer 8bit benötigen mehr als ein Byte,
 +daher werden nachfolgende Bytes genutzt.
 +Diese Bytes sind dann für andere Datenpunkte nicht mehr verwendbar!
 +
 +Für die Interpretation der Datenpunkte einiger Geräte kann es nötig sein die Bytereihenfolge
 +eines Formates zu tauschen. Dies kann mit dem <​swap>​ Parameter übergeben werden.
 +
 +Dabei kann <​swap>​ folgende Werte annehmen:
 +
 +^<​swap>​ ^Beschreibung ​ ^
 +^0  |little endian (Intel) ​ |
 +^1  |big endian (Motorola, default) ​ |
 +
 +Mit dem Parameter "​F:"​ kann dem Datenpunkt ein Faktor übergeben werden. Der empfangene Wert wird dann
 +jeweils durch den als Faktor angegebenen Wert geteilt.
 +Um mit Integer-Werten z.B. analoge Daten mit Nachkommastelle abbilden zu können kann z.B. der Wert
 +auf Seite des sendenden Gerätes mit 10 Multipliziert und beim Empfänger wieder durch
 +10 Dividiert werden. Die Temperatur 20,5 °C wird so beispielsweise als 205 übertragen. Damit diese auf
 +dem Gateway wiederrum korrekt dargestellt wird wird an das Format der Parameter F:10.0 übergeben. ​  
 +Als Faktor kann jede beliebige Fließkommazahl angegeben werden. Ist kein Faktor angegeben wir der
 +Faktor 1.0 verwendet.
 +
 +Typische Datenpunktdefinitionen können demnach sein:
 +
 +  [M inbit 2.120.0]
 +   name = digitale Betriebsmeldung
 +   query = pe
 +   ​format = BIT
 +
 +  [S outbit 2.120.0]
 +   name = digitaler Sollwert
 +   query = pe
 +   ​format = BIT
 +   ​writecache = yes
 +
 +  [M inbyte 2.15]
 +   name = multistate Meldung z.B. 0,1,2 für Aus,An,Auto
 +   query = pe
 +   ​format = UINT8
 +   ​writecache = yes
 +
 +  [S outbyte 2.16]
 +   name = multistate Sollwert ​ z.B. Stufenschalter 0,1,2 für Aus,An,Auto
 +   query = pe
 +   ​format = UINT8
 +   ​writecache = yes
 +
 +  [X inbyte 2.17]
 +   name = Temperatur Messwert (Byte 17+18+19+20)
 +   query = pe
 +   ​format = FLOAT32
 +
 +  [Y outbyte 2.17]
 +   name = Temperatur Sollwert, eine Nachkommastelle (Byte 17+18)
 +   query = pe
 +   ​format = SINT16 F:10
profibus_master.txt · Zuletzt geändert: 22.01.2015 19:56 von Florens Kauer