-> Hier kostenlos registrieren
Hi, ich habe paar Schwierigkeiten auf meinen Raspberry Pi 3 (Model B+) die CANbus Werte auszulesen bzw. zu senden. Unten eine kurze Übersicht meine Konfiguration, ich hoffe ihr könnt mir helfen:
KONFIGURATION:
SITUATION / PROBLEM:
Im LXTerminal sende ich folgendes (Wasserdruck):
can0 10A [7] 31 00 1C 00 00 00 00
Und bekomme folgendes zurück:
can0 180 [7] 22 0A 1C 05 14 00 00
Hier ist das 4. Und 5. Byte für mich interessant (05 14), bedeutet 0514 hex -> dez = 1300 / 10 => 1,30 bar
Das Problem bei mir ist, dass ich es im Codesys nicht schaffe die o.g. Befehle zu senden und empfangen!
Ich habe bis dato nur mit ModBUS gearbeitet und komme nicht drauf wo ich den Identifier + DLC + Datenfelder (7 Byte) einstellen bzw. übermitteln und auslesen kann!
ZIEL:
Möchte nur paar Werte (Temperaturen, Wärmemenge, Modus, etc.) aus der Wärmepumpe an die Logo SPS über den PI übertragen.
Also wie kann ich im Codesys am einfachsten so eine Art Gateway CANbus <-> ModBUS herstellen?
Habe mir das so vorgestellt, 1x in der Minute den Befehl z.B. für Wasserdruck (siehe oben) in CANbus senden. Auf Antwort warten und dann die Werte über Codesys an ModBUS senden, so dass die LogoSPS die auslesen kann.
KONFIGURATION:
- Raspberry Pi 3 (Mod.B+) + Waveshare RS485+CAN Hat -> CANbus funktioniert im LXTerminal, bin mir aber nicht sicher ob der CANbus in Codesys tatsächlich läuft (siehe unten)
- ROTEX Wärmepumpe HPSU über CAN-L + CAN-H an o.g. CAN Hat angeschlossen – Die WP kommuniziert über den CAN-Bus in der 11-Bit-Variante (Basisformat), siehe unteren Link
- Siemens Logo SPS -> mittels ModBUS TCP an Codesys = Ich kann Werte auslesen (siehe unten)
SITUATION / PROBLEM:
Im LXTerminal sende ich folgendes (Wasserdruck):
can0 10A [7] 31 00 1C 00 00 00 00
Und bekomme folgendes zurück:
can0 180 [7] 22 0A 1C 05 14 00 00
Hier ist das 4. Und 5. Byte für mich interessant (05 14), bedeutet 0514 hex -> dez = 1300 / 10 => 1,30 bar
Das Problem bei mir ist, dass ich es im Codesys nicht schaffe die o.g. Befehle zu senden und empfangen!
Ich habe bis dato nur mit ModBUS gearbeitet und komme nicht drauf wo ich den Identifier + DLC + Datenfelder (7 Byte) einstellen bzw. übermitteln und auslesen kann!
ZIEL:
Möchte nur paar Werte (Temperaturen, Wärmemenge, Modus, etc.) aus der Wärmepumpe an die Logo SPS über den PI übertragen.
Also wie kann ich im Codesys am einfachsten so eine Art Gateway CANbus <-> ModBUS herstellen?
Habe mir das so vorgestellt, 1x in der Minute den Befehl z.B. für Wasserdruck (siehe oben) in CANbus senden. Auf Antwort warten und dann die Werte über Codesys an ModBUS senden, so dass die LogoSPS die auslesen kann.