Forum: Mikrocontroller und Digitale Elektronik Realiseren einer Profinet Kommunikation


von blusser (Gast)


Lesenswert?

Guten Tag,

ich bin Student für Elektrotechnik und Informationstechnik mit der 
Vertiefung Automatisierung und Informationstechnik und hätte eine 
Bachelorarbeit in Aussicht, bei der ich eine Kommunikation über Profinet 
zwischen einem µC und einer S7 SPS herstellen soll.
Mein Chef würde ganz gerne den ESP32 mit dem Arduino Framework nehmen. 
Hierfür gibt es einen Treiber der einen UART - Ethernet Controller dazu 
befähigt mit der S7 zu kommunizieren. Hier bei gibt es aber 
Geschwindigkeitsprobleme.

Als alternative habe ich vorgeschlagen einen µC von STM (STM32F7508-DK) 
zu nehmen, der bereits einen Ethnernet Treiber für das Ethnernet Modul 
schon hat.
Meine Frage ist nun:
Was ist besser?
Eine vorgefertigte Library zu verwenden, oder eine Lib selber schreiben?
Würde ich das Dev Board von STM nehmen, hätte ich schon alle Komponenten 
(ein großes Display und Ethernet-Modul)?
Würde ich den ESP32 nehmen hätte ich aber einen schnelleren µC und einen 
Kern mehr aber weitaus schlechterer Doku und ohne integriertem 
Ethernetmodul.

Meine persöhnlicher Favorit wäre Variante 2  weil es sich für mich 
professioneller Anfühlt als sich Quellcode aus dem Internet 
zusammenkopieren.

MFG

von Maxe (Gast)


Lesenswert?

Geht denn Profinet ueber Standardethernet? Typischerweise hat doch ein 
Profinet-Slave ('Device') zwei Ports mit integriertem Switch. Braucht 
ihr das nicht?

von Dirk F. (dirkf)


Lesenswert?

Maxe schrieb:
> Typischerweise hat doch ein
> Profinet-Slave ('Device') zwei Ports mit integriertem Switch

Unsinn:  Siemens S7-1200  hat auch nur einen Port.
Und ja: Es geht über normales Ethernet.

von Dirk F. (dirkf)


Lesenswert?

Unterschätze nicht den Aufwand, ein Profinet Stack selber zu schreiben.
Ich denke, ist für dich unmöglich.

Alternative 1:
Zusätzlich zur MCU einen fertigen Profinet Chip (z.B. HMS Anybus IC) 
verwenden

Alternative 2:
Einen fertigen Proinet Stack für STM F4 von PORT  kaufen  (ca. € 30.000)

von MaWin (Gast)


Lesenswert?

blusser schrieb:
> bei der ich eine Kommunikation über Profinet zwischen einem µC und einer
> S7 SPS herstellen soll

Mach das.

ProfiNet ist zwar ziemlich mies designter Scheiss, mit dämlichen 
Konfigurationsdateien und einer Hülle und Fülle von Möglichkeiten die zu 
unerklärlichen Fehlern führen,

aber:

blusser schrieb:
> Eine vorgefertigte Library zu verwenden

Macht weniger Arbeit, aber wenn die fehlerhaft oder unflexibel ist oder 
schlechte Performance bringt ist man ihr auf Gedeih und Verderb 
ausgeliefert

> oder eine Lib selber schreiben?

Bringt mehr Verständnis, mehr Flexibilität, aber man darf erst mal 
selber alle Fehler machen, die Andere schon hinter sich haben. Ob das 
Ergebnis also BESSER wird loegt dann ganz an dir..Teurer wird es auf 
jeden Fall und Dumm bleiben wie bei fertigen Libs wirst du auf die Art 
nicht.

blusser schrieb:
> Hier bei gibt es aber Geschwindigkeitsprobleme.

ProfiBus ist nicht besonders anfordernd, auch ein ESP kann da problemlos 
mithalten. WENN die Software ordentlich geschrieben wurde. 
Performanceprobleme mit fertigen Libs deuten also eher auf schlechte 
Implementation der Lib als auf unzureichende Hardware hin.

Wenn man mit der miesen Software leben muss weil man nicht in der Lage 
ist sie selber besser zu schreiben, muss man also in Hardware nachlegen.

Gute Software kostet EIN MAL Entwicklungskosten, performantere Hardware 
kostet bei jeder verkauften Stückzahl. Es ist also ausrechenbar, was 
sich mehr lohnt.

von blusser (Gast)


Lesenswert?

>Alternative 1:
>Zusätzlich zur MCU einen fertigen Profinet Chip (z.B. HMS Anybus IC)
>verwenden
>Alternative 2:
>Einen fertigen Proinet Stack für STM F4 von PORT  kaufen  (ca. € 30.000)
Ich denke das ist beides keine Option weil der Übersetzer kostet auch 
600€?

Am besten wird das Problem halt so günstig und so einfach wie möglich 
gelöst (siehe Arduino IDE und darf muss so wenig wie möglich kosten)...

Wo würde man den Informationen dazu finden, wie man sich so nen Stack 
selber schreibt? Gibt's da irgend einen Standard oder schaffe ich das 
nur durch trial and error?

Der ESP32 hat auch ein integriertes Ethernetmodul und TWAI, aber ich 
würde halt immer dazu tendieren die Peripherie einzusetzen (genau dafür 
hat man sie ja) anstatt irgendwelche Zustatzmodule für 500€ zu kaufen, 
die dann das System langsamer machen, nach jahren nicht mehr erhältlich 
sind. Ich habe aber auch sehr wenig praktische Erfahrung (Student).

von Frank K. (fchk)


Lesenswert?

blusser schrieb:

[...]

Schau Dir die TI Sitara Prozessoren an. Die haben neben dem ARM-Kern 
sogenannte PRUs (Programmable Realtime Unit), auf denen man auch 
Kommunikationsprotokolle wie Ethercat oder Profinet laufen lassen kann.

https://www.ti.com/lit/wp/spry252d/spry252d.pdf

https://www.ti.com/lit/ug/tiduak0/tiduak0.pdf

Das wäre eine geeignete Hardwareplattform.

fchk

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.