Häufig gestellte Fragen PROFIBUS

Aus Deutschmann Wiki
Zur Navigation springen Zur Suche springen

Bei der Inbetriebnahme eines PROFIBUS-Slaves sieht man keine Eingangsdaten und man kann auch keine Daten an das Gerät senden.

Bei CPU's der Firma Siemens ist nur ein direkter Zugriff bis 4 Byte möglich. Sollen Nutzdaten > 4 Byte gelesen bzw. beschrieben werden, so muss der Zugriff über den SFC14 (lesen) und SFC15 (schreiben) erfolgen. Weitere Informationen finden Sie in der Hilfe der Projektierungssoftware.

Wie kann man das UNIGATE IC PROFIBUS DPV1 5V ohne 485 Treiber einsetzen und wie viel Strom kann der DC/DC Wandler auf der Feldbusseite leisten?

Deutschmann setzt einen 1W-DC/DC Wandler ein, der bei 5v 200mA versorgen kann. Von diesen 200mA benötigen wir auf der Platine ohne Treiber selbst deutlich weniger als 50mA, so dass für den Anwender 150mA verbleiben, die sicherlich ausreichend sind.

Slave ID ändern über SPS

ID wird im EEROM gespeichert.

var LBusState     : Long ;
var L0xE0         : Long ;         moveconst ( L0xE0, 0xE0);

BusStart ;
//Wait ( Bus_Active ) ;

:LoopBusState;
Get ( ReadBusState , LBusState ) ;
if LBusState less L0xE0 then :LoopBusState;   //!!! neu

Welche GSD Datei ist für mein Gerät?

Wir unterscheiden zwischen 2 Varianten; DPV0 und DPV1. Welches Gerät man vor sich hat, kann man der Artikelbezeichnung entnehmen. Ein »DP« steht für DPV0; ein »DPV1« für sich selbst. Das UNIGATE IC-DPL und UNIGATE CL ist ein DPV1 Gerät.

Im Downloadbereich gibt es für das entsprechende Gerät auch nur die jeweils gültige GSD Datei zum Download.

Ein DPV1 Slave ist abwärtskompatibel und kann auch im DPV0 Modus laufen. Es muss aber trotzdem die DPV1 GSD Datei verwendet werden.

DPV0 Slave → GSD Datei »DAGW2079.GSD«

DPV1 Slave → GSD Datei »UGIC3218.GSD«

Wie erstellt man eine andere Konfiguration bei einer GSD Datei?

Konfiguration erstellen

In einigen Konfigurationstools wie Step 7 kann ein "Universal Modul" verwendet werden, dies wird im GSD file nicht erwähnt. Dies scheint ein spezielles Feature zu sein. In diesem Modul kann jede Größe gewählt werden.

Slave ID über den Master setzen

Wird die Slave ID über einen Master gesetzt und dabei das MSB gesetzt („Slave Adresse kann nicht mehr verändert werden“), kann man das Flag nur durch ein „Reset Device“ mit WINGATE im Konfigmode zurückgesetzt werden. Achtung: Dabei wird das EEROM neu initialisiert und das Script gelöscht.

Wie realisiert man die Umsetzung vom Feldbus ↔ Modbus RTU (Master)?

Stellvertretend für alle UNIGATEs und die damit unterstützten Feldbusse bezieht sich diese Vorgehensweise auf ein UNIGATE CL-PROFIBUS DPV1. Das UNIGATE CL wird mit einem Universalscript ausgeliefert, welches es ermöglicht das "Modbus RTU (Master)" Protokoll sehr einfach einzustellen. Eine genaue Anleitung, wie man das Gerät konfiguriert, finden Sie hier.

Hinweis: Sollten Sie mehrfach hintereinander das gleiche Register auslesen wollen, so sollte der Paramter "Data Exchange" auf "On Trigger" gesetzt werden. In diesem Fall erwartet das UNIGATE im ersten Byte vom Feldbusmaster das togglebyte.

Anwendung:

Der Feldbusmaster erfragt (read holding register = 03) vom Modbus Slave mit der ID=2 das Register "4567" mit der Länge von 1 Wort. Die resultierende Anfrage des Profibus-Masters an das UNIGATE ergibt:

02 03 45 67 00 01

(ID=2, read register=03, Register=4567 und Länge in Worten high + low=0001)

Das UNIGATE setzt die Daten auf Modbus um und fügt die Checksumme (=xx) hinzu:

02 03 45 67 00 01 xx

Als Antwort bekommt das UNIGATE vom Modbus Slave mit der ID=2 die Antwort:

02 03 02 03 E8 xx

(ID=2, read register=03, Länge in Bytes=02, Wert des Registers4567=03E8 und Checksumme=xx)

Das UNIGATE legt die Antwort des Modbusslaves auf den Feldbus:

02 03 02 03 E8

Somit ist eine vollständige Anfrage des Feldbusmasters auf Modbus umgesetzt worden und die Antwort des Slaves wiederum auf den Feldbus ausgegeben worden. Die oben genannte Vorgehensweise beschreibt die Funktion des UNIGATE RS, UNIGATE CL mit Universalscript und konfigurierten Mobus-RTU(Master) Protokolls sowie unsere Scriptbeispiele Modbus-RTU(Master). Es gibt auch Applikationen, in denen nur über ein 1Byte Kommando des Feldbusmaster das UNIGATE ein entsprechendes Register auslesen soll oder aber auch dass das UNIGATE zyklisch immer ein und das gleiche Register liest. Mit unserem UNIGATE CL, SC und IC ist das problemlos möglich. In diesen beiden Fällen muss das Script lediglich diesbezüglich angepasst werden. Nutzen Sie dazu unsere Scriptbeispiele.