Profibus DP -> Arduino/RasPi

OP #4916896
Lesenswert?

Hi,

kann mir jemand eine Lösung nennen, wie ich einen Arduino oder RasPi mit 
einem Profibus DP Master verbinde? Es gibt offenbar fertige Umsetzer die 
zumindest aus dem Profibus ein normales RS232 machen, diese sind aber 
relativ teuer.

Davon ab braucht es ja aber wahrscheinlich nach wie vor eine Library für 
das Profibus-Protokoll auch wenn es auf RS232 umgesetzt wurde, oder?

Es sollen nur IST-Werte aus einem Messumformer ausgelesen werden.
#4916903
Lesenswert?

OP #4916908
Lesenswert?

Da ist ja auch noch jemand wach... Oscars? ;)

Mein Problem ist, ich hab so gar keinen Hang zum programmieren, 
geschweige denn meine eigene Schnittstellenbibliothek schreiben. Wenn da 
nichts fertiges existiert bin ich am Arsch.

Wenn der Master wenigstens automatisch die Daten regelmäßig rauspusten 
würde, aber das passiert nur auf Anfrage über den Bus.
#4916911
Lesenswert?

Denni D. schrieb:
> Da ist ja auch noch jemand wach... Oscars? ;)

Stirn runzel?
Was interessiert mich die Selbstbeweihräucherung irgendwelcher 
Multimillionäre? Ich kenn ja noch nich mal einen, von diesen 
Gesichtsverleihern!


> Mein Problem ist, ich hab so gar keinen Hang zum programmieren,
> geschweige denn meine eigene Schnittstellenbibliothek schreiben. Wenn da
> nichts fertiges existiert bin ich am Arsch.

Na so weit würde ich jetz nicht (mit) gehen, aber nah ran würd's mich 
doch bringen ;)

Da wird's schon was geben, das Dich weiter bringt. Nur Geduld und weiter 
suchen.... :/
OP #4919138
Lesenswert?

Uwe C. schrieb:
> Messumformer dient als Master ?

Ja, ein Messumformer, und dieser ist ein Profibus-Master. Alle nötigen 
Infos in einem Satz.

> Du wirst hier und woanders mit Deiner Art
> abgesehen von dem erheblichen Problem des Protkolles
> keine Antwort finden.

"Deiner Art"? Sorry, ich glaube wenn du jetzt anfangen willst zu 
stänkern will ich von dir auch keine Antwort haben. Du scheinst ja eh 
alles anders zu verstehen als man es schreibt?

> Schrott-Bus???
> Komisch das die Industrie seit Jahren auf Schrott setzt.....

Und schon wieder, lies was ich oben geschrieben habe und verstehe die 
Worte.
Nichts desto trotz dass es nicht meine Worte waren: wenn die Industrie 
nicht die Protokolle offen legt ist es in erster Linie nutzlos für 
nicht-industrielle Zwecke.
Gast #4919225
Lesenswert?

Also zum Profibus gibt es zahlreiche Unterlagen und die Funktionsweise 
ist auch nicht geheim, weil es eben auf RS485 basiert.
Schau mal unter folgendem Link, da hi ts viele kostenlose Dokumente:

http://www.profibus.com/download/?pxdprofibusfilter_technology[0]=2&pxdprofibusfilter_technology[1]=3

Zu deiner eigentlichen Frage wie man einen RasPi mit dem Profibus zum 
laufen bringt, kann ich lediglich nur sagen dass du dir ein RS485 
Transceiver IC besorgst und den kannst du an einen UART vom RasPi dran 
hängen. Die Telegramm-Auswertung musst du Software-seitig umsetzen. Ob 
es da fertige Libs gibt, kann ich dir auch nicht sagen, da ich mit einem 
RasPi nicht viel arbeite.
Um welchen Profibus handelt es sich? DP-V0, DP-V1, DP-V2, PA?
Soll der RasPi denn als Master (Klasse 1 oder 2) oder Slave dienen?
Mit welcher Baud-Rate läuft der Bus denn aktuell?

Im Zweifelsfall kann ich dir dazu Unterlagen privat zukommen lassen, da 
ich sie nicht öffentlich zur Verfügung stellen darf.

Gruß Julian
OP #4919888
Lesenswert?

Juli schrieb:

> Um welchen Profibus handelt es sich? DP-V0, DP-V1, DP-V2, PA?
> Soll der RasPi denn als Master (Klasse 1 oder 2) oder Slave dienen?
> Mit welcher Baud-Rate läuft der Bus denn aktuell?

Soweit ich das verstanden habe noch mit gar nichts, weil der Bus bisher 
noch nicht angeschlossen ist. Der Umformer ist dann aber auf jeden Fall 
der Master, ich denke laut Diagram in dem Betriebshandbuch können nur 
Master Daten anfordern?

> Im Zweifelsfall kann ich dir dazu Unterlagen privat zukommen lassen, da
> ich sie nicht öffentlich zur Verfügung stellen darf.

Das wäre prima :)

Rufus Τ. F. schrieb:
> Denni D. schrieb:
>> Ja, ein Messumformer, und dieser ist ein Profibus-Master.
>
> Mir kommt das merkwürdig vor. Magst Du eine Typenbezeichnung nennen?

https://portal.endress.com/wa001/dla/5000319/0381/000/05/TI00194CDE_1514.pdf

:)
(Firma: privat) #4920299
Lesenswert?

Ich bin es halt nicht gewohnt als Fragesteller der um
eine Hilfestellung bittet ( wo war bitte? ) rum k...
das Er sich mit Schrott beschäftigen muss.

Deine Antwort das die Industrie keine Daten offenlegt
bestätigt das. Warum soll jemand der gutes Geld verdient
es "fertig" zur Verfügung stellen?
Es gibt sehr gute, leider recht grosse Literatur über den
Bus und vor allem das Protokoll.
Hardwartechnisch ist das heute gut machbar, aber wenn Du nicht
in die Tiefe einsteigen willst wird es leider nichts werden.
Habe mich auch schon damit beschäftigt und habe aufgegeben.
Wenn Du mal google bemühst wirst Du günstige Hardware finden mit
der Du Deinen Sensor auslesen / anschliessen kannst.
Aber dann musste halt Step7/TIA/Codesys, also wieder programmieren.

Viele Erfolg
#4920340
Lesenswert?

Denni D. schrieb:
> kann mir jemand eine Lösung nennen, wie ich einen Arduino oder RasPi mit
> einem Profibus DP Master verbinde?
> Es sollen nur IST-Werte aus einem Messumformer ausgelesen werden.

Ich verstehe das jetzt so, dass der Messumformer der PB-Slave ist und 
der Raspi den DP-Master bildet.

Mit etwas Arbeit könnte man das mit meiner PiLC bzw. dessen 
PyProfibus-Modul ans Laufen bekommen:
https://bues.ch/a/pilc
https://bues.ch/a/profibus

PiLC nutzt den RS232 des Raspi und macht die ganze Profibus-Geschichte 
in Software. Ein PB-ASIC wird hier nicht benötigt.
Entsprechend langsam ist es dann aber auch.
Eine Baudrate von 19200 ist mit dem Raspi möglich. Je nach Slave 
vielleicht auch noch etwas mehr. Das kommt dann darauf an, ob es eine 
entsprechende Baudrate gibt, die der Slave und der Raspi gleichzeitig 
unterstützen.

Die PiLC ist allerdings weit entfernt von einer fertigen Lösung. Derzeit 
funktioniert PiLC nur im DP Master Modus und auch nur mit einem Slave am 
Bus.

Die PiLC ist Open Source und gute Beiträge sind entsprechend willkommen. 
:)
#4920345
Lesenswert?

Juli schrieb:
> Also zum Profibus gibt es zahlreiche Unterlagen und die Funktionsweise
> ist auch nicht geheim

Geheim ist es nicht. Aber teuer.
Frei verfügbar sind sehr sehr wenig Detailinformationen über die 
Protokolle.

>, weil es eben auf RS485 basiert.

RS485 hat nicht viel mit Profibus zu tun. RS485 wird von Profibus-DP als 
Physical-layer verwendet. Das war es aber auch schon. Das komplizierte 
Zeugs läuft alles auf den darüberliegenden Transport- und 
Applikations-Schichten ab.
#4920363
Lesenswert?

Denni D. schrieb:
>>> Ja, ein Messumformer, und dieser ist ein Profibus-Master.
>>
>> Mir kommt das merkwürdig vor. Magst Du eine Typenbezeichnung nennen?
>
> https://portal.endress.com/wa001/dla/5000319/0381/000/05/TI00194CDE_1514.pdf
>
> :)

Ich sehe da nichts von DPM. Allerdings habe ich es nur grob überflogen.
Kannst du bitte das GSD, was zu zur Inbetriebnahme ja sowieso zwingend 
brauchst, hier mal hochladen?
Gast #4922024
Lesenswert?

EIne GSD ist eine Gerätebeschreibungsdatei.
Diese muss jeder Slave haben. Sie werden in einem Projektirungstool wie 
z.B. Step7 eingebunden.
Dort steht drin welche Baudraten der Slave unterstützt, welche Parameter 
wo liegen, mögliche Input-Output Daten, ...

Da dies ein *.txt Datei ist kann man auch selber die Infos rausholen.

Im Anhang eine Datei für ein RS232-Profibus Gateway.
Angehängte Dateien:
OP #5121999
Lesenswert?

Bastler schrieb:
> Du sagst es: Angeblich...

Sorry, das war das falsche PDF. Hier das richtige:

https://portal.endress.com/wa001/dla/5000000/0396/000/06/BA209CDE_1311.pdf

Ist doch ein Slave:


> Ausgangssignal PROFIBUS-PA gemäß IEC 61158-2, IEC 61158-2, Profil
> PA 2.0
> PA-Funktion Slave
> Übertragungsrate 31,25 kBit/s
> Signalcodierung Manchester II
> Antwortzeit Slave ca. 20 ms
> Ausfallsignal Signal: Statusbit wird gesetzt, letzter gültiger
> Messwert wird gehalten
> Display: Fehlercode
> Physikalische Schicht IEC 61158-2
> Busspannung 9 ... 32 V
> Stromaufnahme Bus 10 mA ±1 mA
> Ausgangssignal PROFIBUS-DP gemäß IEC 61158-2, Profil PA 2.0
> DP-Funktion Slave
> Übertragungsrate 9,6 kBit/s, 19,2 kBit/s, 93,75 kBit/s, 187,5 kBit/s,
> 500 kBit/s, 1,5 MBit/s
> Signalcodierung NRZ-Code
> Ausfallsignal Signal: Statusbit wird gesetzt, letzter gültiger
> Messwert wird gehalten
> Display: Fehlercode
> Physikalische Schicht RS 485


Übrigens: eine GSD-Datei ist nicht vorhanden, mangels entsprechender 
Hardware die diese Datei bräuchte. Der Kasten ist in der Installation 
alleine und wird nur über das Display ausgewertet, durch Ablesen.

Dafür gibt die PDF-Datei ab Seite 19 Aufschluss über die Zusammensetzung 
der Datenpakete? Leider sagt mir das jetzt noch nicht ob ich die Kiste 
durch Senden einer bestimmten Bitfolge dazu bekomme, die Werte zu 
senden.


Die MAX485 ICs sind doch für max. 12V vorgesehen, oder?
Ich hab so einen 5€-8Kanal/24MHz-Logicanalyzer der in Sigrok-Pulseview 
eigentlich ganz gut funktioniert. Ob ich den mal testweise mit einem 
SubD-Stecker über Spannungsteiler anschließe? Ist bekannt, ob die 
Versorgungsspannung bei Profibus generell gleich bleibt oder ob die 
Geräte on the fly the Spannung ändern? Dann würde ich vorher mal die 
Kontakte gegen Gehäusemasse messen und schauen wie viel Spannung da 
anliegt. Der LogicAnalyzer verträgt ja max. ~5V.

Die einzige belastbare Info bezüglich Profibus DP-Pinout ist:

1   VP         +5v supply for termination
2   Rxd/TxD-N  Data Line minus (A-line)
3   DGND       Data Earth
4   Rxd/TxD-P  Data Line plus (B-Line)
5   Shield Earth  Connection Data Earth
Thread   Shield Earth   Connection +5v supply for termination

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren