Profinet IO-Device


 

Der Profinet IO-Device Treiber ermöglicht es Datenpunke/Bytes als Profinet IO-Device zur Verfügung zu stellen. Dabei können maximal 1007 Byte in jeder Richtung übertragen werden.

Die benötigte GSD-Datei ist,

für Version 2.31, bis Gateway Firmware Version V4, Größe 9 KB, die:
https://www.mbs-solutions.de/s/GSDML-V231-MBS-MICRO3004-20150206.zip

und für die Version 2.35, ab Gateway Firmware Version V5, Größe 10 KB, die:
https://www.mbs-solutions.de/s/GSDML-V235-MBS-MICRO3004-20210316.zip

Der Name des UGW im Profinet (NameOfStation) ist bei der Auslieferung 'ugw-micro'. Siehe dazu Profinet-Name.

Der Name des Profinet IO-Device Treibers lautet: pnetd
Die Routing-Adresse des ersten Profinet-Slave-Treibers ist: 1190
Die Datenpunktdatei für den ersten Profinet-IO-Device-Treiber heißt: pnetd1.txt
Die Konfigurationsdatei für globale Einstellungen des ersten Profinet-IO-Device-Treibers heißt: pnetd1.cfg

Bei dem Profinet-IO-Device-Treiber sowie allen weiteren Gateway-Treibern gilt für die Definiton von Datenpunkten in der Datenpunktdatei:

Typ:Bedeutung
MGanzzahliger Wert (Binäre Datenpunkte,Zählwerte) der vom Gateway nur gelesen werden kann/soll.
SGanzzahliger Wert der vom Gateway gelesen sowie geschrieben werden kann/soll.
XAnalogwert (mit Nachkommastellen) der vom Gateway nur gelesen werden kann/soll.
YAnalogwert (mit Nachkommastellen) der vom Gateway gelesen sowie geschrieben werden kann/soll.
AString, findet z.B. Verwendung bei BACnet Trends und ESPA4.4.4 Datenpunkten

Die Adressen sind wie folgt aufgebaut.

„<typ> <byte>[.<bit>]“

Je nachdem ob Werte oder Einzelbits übertragen werden sollen gilt für den Typ folgende Definition.

WertebereichBeschreibung
Typinbyte
inbit
outbyte
outbit
Bytewert der vom Controller gelesen werden kann
Einzelbit das vom Controller gelesen werden kann
Bytewert der vom Controller geschrieben werden kann
Einzelbit das vom Controller geschrieben werden kann
byte0 - 339bis Version 4, n-te Byte im Eingangs- bzw. Ausgangsregister
byte0 - 1007ab Version 5, n-te Byte im Eingangs- bzw. Ausgangsregister
bit0 - 7Einzelbit innerhalb des n-ten Bytes

Die Adresse des ersten Bytes, das zum Controller übertragen werden kann, wird demnach wie folgt in der Datei pnetd1.txt angegeben:

[Y inbyte 0]

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> [F:<fact>]

Dabei kann <format> folgende Werte annehmen:

<format>Beschreibung
BITEinzelbit
UINT88bit unsigned
SINT88bit signed
UINT1616bit unsigned
SINT1616bit signed
UINT3232bit unsigned
SINT3232bit signed
FLOAT3232bit floating point (IEEE)
FLOAT6464bit 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 zu tauschen. Dies kann in der Datei pnet1.cfg als Parameter übergeben werden.

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 wiederum 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:

[S inbit 1.0]
name = digitale Betriebsmeldung
query = pe
format = BIT
writecache = yes

[M outbit 1.0]
name = digitaler Sollwert
query = pe
format = BIT

[S inbyte 15]
name = multistate Meldung z.B. 0,1,2 für Aus,An,Auto
query = pe
format = UINT8
writecache = yes

[M outbyte 16]
name = multistate Sollwert z.B. Stufenschalter 0,1,2 für Aus,An,Auto
query = pe
format = UINT8

[Y inbyte 17]
name = Temperatur Messwert (Byte 17+18+19+20)
query = pe
format = FLOAT32
writecache = yes

[X outbyte 17]
name = Temperatur Sollwert, eine Nachkommastelle (Byte 17+18)
query = pe
format = SINT16 F:10

Ab Version 5 weitere vordefinierte Datenpunkte, die über den Zustand der Geräte-LEDs Auskunft geben:

[M led_bf]
name = led bus failure
query = pe

[M led_sf]
name = led software failure
query = pe

[M led_mt]
name = led maintenance
query = pe

[M led_rdy]
name = led ready
query = pe

[M led_link 1]
name = led link 1
query = pe

[M led_link 2]
name = led link 2
query = pe

Datentransfer

In Step7 oder TIA ist darauf zu achten, dass die Daten in die Peripherie übertragen werden müssen. Bei TIA ist dazu hinter die eigentliche Adresse (z. B. „E700“) noch ein „:P“ anzuhängen. In Step7 würde das dann z. b. „PED700“ heißen.

IP-Adressen und Gerätenamen

Die IP-Adresse des Gateways hat nichts mit der IP-Adresse der ProfiNet-Seite zu tun. Eine Einstellung der IP-Adresse auf der ProfiNet-Seite muss über Step7 oder TIA erfolgen, eine Verstellung über die Oberfläche des Gateways ist nicht möglich.

Wenn sich die Netzwerkschnittstelle des Gateways und die Netzwerkschnittstelle vom ProfiNet im gleichen Netzwerk (also z. B. auf dem gleichen VLAN/Switch) befinden, müssen die IP-Adressen unterschiedlich sein, da es ansonsten zu Kommunikationsproblemen kommen kann.

Sind in einem Netzwerk mehrere ProfiNet-Gateways im Einsatz, so ist auch darauf zu achten, dass auch die Namen der Geräte geändert werden müssen. Es ist nicht zulässig, in einem Netz mehrere Geräte mit identischem Namen zu betreiben.

Im Auslieferzustand ist die IP-Adresse der ProfiNet-Karte die 192.168.16.227 (/24 bzw. 255.255.255.0) und der Gerätename „ugw-micro“.

Vorgehen bei Änderungen der Hardware-Konfiguration

Bei Änderungen an der Hardware-Konfiguration des Gateways ist normalerweise ein Reboot des Systems ausreichend.

Es kann manchmal vorkommen, dass nach einem Reboot keine Kommunikation mehr aufgebaut wird, obwohl beide Seiten identisch konfiguriert sind. In diesem Fall ist es ausreichend, das Gateway für eine längere Zeit (ca. 30 Sekunden) stromlos zu schalten. Falls dieser Workaround nicht funktioniert, kontaktieren Sie bitte den Support.

Hinweise, mögliche Probleme

Kommunikation wird nicht aufgebaut, BusFehler-LED leuchtet

Wenn am Gateway die Busfehler-LED leuchtet, oder alternativ die Kommunikation nur teilweise funktioniert, das Gerät im Step7/TIA nicht online geht, dann ist höchstwahrscheinlich die Hardware-Konfiguration von S7 und Gateway nicht übereinstimmend. Die in der S7 verwendeten Bausteine müssen in der gleichen Reihenfolge auch in der ProfiNet-Konfigurationsdatei (pnetd1.cfg) angelegt werden. Dabei sollte auch darauf geachtet werden, dass auf der S7-Seite in der Hardware-Konfiguration keine Leerzeilen definiert sind, diese verhindern ebenfalls einen korrekten Kommunikationsaufbau.

Hinweis

Bei neueren Gateways wird auch eine automatische Konfiguration unterstützt, hier übernimmt das Gateway dann die Bausteinkonfiguration, die die SPS vorgibt. Der erkannte Bausteinaufbau befindet sich dann auch in der pnetd1.cfg

Adressierung in SPS/Gateway

Die Adressierung im Gateway erfolgt immer ab Start des Datenblocks, die erste Adresse ist „inbyte 0“ respektive „outbyte 0“. Die in der Hardwarekonfiguration zugewiesenen Adressen sind für das Gateway nicht relevant.