RaspberryPi mit Beckhoff EtherCAT I/Os verbinden + 1-Wire + MDB-daemon

LeFish

Level-1
Beiträge
60
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
RaspberryPi (CodeSys-RT) mit Beckhoff EtherCAT I/Os verbinden + 1-Wire + MDB-daemon

Hallo allerseits

ich möchte gerne einen RaspberryPi 4 nutzen um über einen Ethernet-Koppler mit I/Os zu kommunizieren.

Die benötigten Klemmen sind:

EK1100 EtherCAT Koppler (https://www.beckhoff.de/default.asp?ethercat/buskopl.htm?id=1633319839=) lt. Video Raspberry Pi + Beckhoff EK1100 EtherCat Coupler Codesys Demo
EL1512 Zählerkarte (https://www.beckhoff.co.th/default.asp?ethercat/el1512.htm?id=1989225649)
EL1002 DI (https://www.beckhoff.co.th/default.asp?ethercat/el1002.htm?id=1989211829266)
EL6224 IO-Link Master (https://infosys.beckhoff.de/index.p...1031/el6224/index.html&id=2836687218569022541)
EL2008 DO (https://infosys.beckhoff.de/index.p...20xx_el2124/index.html&id=8443491554944732007)

Warum gerade RaspberryPi?

Ich habe es mit einem Bezahlsystem zu tun (über MDB) und hierfür gibts von Beckhoff nix.
Für den Raspi gibt es Hats, die die Kommunikation übernehmen. (zB https://de.pinout.xyz/pinout/mdb_hat# bzw. https://docs.qibixx.com/mdb-products/mdb-payment-master-daemon#example-vend-requests)
Des weiteren möchte ich die günstigen 1-Wire Temperatursensoren benutzen, da ich mich nicht im Industrieumfeld und bei Kabellängen <3 m befinde befinde. IO-Link benutze ich dennoch, da von ifm die IO-Link-Sensoren für meine Anwendung perfekt passen. Auch für die Temperaturmessung gibts von Beckhoff nix. Ich möchte hierfür folgendes Hat verwenden: https://www.kiwi-electronics.nl/1-wire-pi-plus?search=1-wire&description=true)

Das HMI soll eine CodeSys WebVISU übernehmen: https://de.codesys.com/produkte/codesys-visualization/webvisu.html

3 Fragen stellen sich mir:
  • Kann ich die Daten zwischen 1-Wire-daemon, MDB-daemon und CodeSys-Runtime über zB zyklisch aufgerufene python-scripts austauschen?
  • Wenn nein, wie sollte ein Datenaustausch stattfinden?
  • Kann die CodeSys Runtime neben den daemons fehlerfrei (~Echtzeit) laufen?

Danke für eure Inputs!

Beste Grüße
LeFish
 
Zuletzt bearbeitet:
Hallo LeFish,
prinzipiell ja das geht das so,

  • Kann ich die Daten zwischen 1-Wire-daemon, MDB-daemon und CodeSys-Runtime über zB zyklisch aufgerufene python-scripts austauschen?
1 Wire temperatur sind integriert in die CODESYS runtime - dazu musst du ne eigene Task anlegen usw... dann hast du die Temp Werte in IEC -dazu gibt’s ein Projektbeispiel
MDB weis ich nicht genau was und wie das geht du kannst prinzipiell schon auch pyton scripte über einen IEC Aufruf machen -muss man sich aber genauer anschauen


  • Wenn nein, wie sollte ein Datenaustausch stattfinden?
Klar man könnte sich sicher auch was mit shared mem vorstellen - falls notwendig


  • Kann die CodeSys Runtime neben den daemons fehlerfrei (~Echtzeit) laufen?
braucht halt einen rt_preempt gepatchen Linux Kernel dann geht das.
 

Anhänge

  • IO-Link_EL6224_oneWire.jpg
    IO-Link_EL6224_oneWire.jpg
    94,9 KB · Aufrufe: 29
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo HausSPSler,

danke für den Hinweis bzgl. 1-wire.

Wo finde ich bitte das Projektbeispiel? Diesbzgl. habe ich nur https://forge.codesys.com/prj/codesys-example/home/Home/ gefunden.

Dort habe ich zwar shared mem gefunden: https://forge.codesys.com/prj/codesys-example/shared-memory/home/Home/ aber kein 1-wire

Btw: Shared Memory klingt sehr interessant für den Austausch mit dem MDB-daemon! Werde mich mit dem mal beschäftigen, sobald ich die Teile da hab!

Bzgl. 1-wire: Ich nehme an CodeSys spricht den GPIO Pin direkt an und benötigt kein PiHAT dazwischen? Welcher GPIO Pin ist für CodeSys 1-wire-DQ? Ist dieser einstellbar, falls GPIO Pin anderweitig belegt?

Sehr interessant auch das Bsp mit der EL6224! Ist die Verwendung von IO-Link über EK1100 an CodeSys-Laufzeit auf RaspberryPi also bereits gelebte Praxis, oder würde ich mich da auf Neuland begeben?

Beste Grüße
LeFish
 
Hallo LeFish,

es gibt ja einige Projektbeispiele die mit dem Package mitkommen:
"c:\Users\<WindowsUserName>\CODESYS Control for Raspberry PI\3.5.16.20\Examples\Onewire.project"
ein verbessertes Beispiel ( eigene Task für Onewire - der wird an GPIO 4 angeschlossen) findet man hier:
https://forge.codesys.com/forge/talk/Runtime/thread/04361f89ec/?limit=25#5be9
dafür braucht mein kein zusätzliches PiHAT

EL6224 -> kein Neuland wird oft so eingesetzt ( naja nicht gerade auf dem PI auf anderen SL Runtimes) aber das spielt keine Rolle.

Grüße
 
Hallo

Ich habe auch schon Versuche mit der IO-Link Masterklemme EL6224 gemacht.
Du benötigst noch zusätzlich die Lizenz "CODESYS IO-Link Master SL" aus dem CODESYS Store für 100€.
Dann klappt es aber auch gut.

Grüße
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Ich habe auch schon Versuche mit der IO-Link Masterklemme EL6224 gemacht.
Du benötigst noch zusätzlich die Lizenz "CODESYS IO-Link Master SL" aus dem CODESYS Store für 100€.
Dann klappt es aber auch gut.

Grüße

:shock::shock::shock:

Danke, din!

Das ist ein Brummer. Kostet das Doppelte der Runtime SL selbst...

Gibt es andere Runtimes bei dem das schon integriert ist?

Gibt es sonst noch böse Überraschungen, die bisher noch nicht genannt wurden? Habe das Setup-Up ja oben schon gepostet. Ich möchte hier keine Bastelstube mit CODESYS aufmachen.

Beste Grüße
LeFish
 
Zuletzt bearbeitet:
... Konverter MDB zu RS-232 ... über eine EL6001 angesprochen.

Hallo chrugle,

danke für deinen Input!
Prinzipiell auch eine sehr interessante Möglichkeit. Gibt es denn fertige Libs, um der Beckhoffsteuerung MDB beizubringen, oder ist das alles von dir selbst ausprogrammiert?
Ich möchte erst mit dem MDB Pi Hat von qibixx probieren, aber nur für den Fall: Würdest du mir deine Lib zukommen lassen?

Danke!

Beste Grüße
LeFish
 
Zurück
Oben