Hallo zusammen,
Mein Vorhaben:
Ich möchte mittels RevPi Connect und der integrierten RS485 Schnittstelle bis zu 8 EnergyMeter (Stromzähler) auslesen, die Werte verarbeiten und auf einer CAN-Schnittstelle ausgeben.
Die Hardware:
RevPi Connect
RevPi con CAN Schnittstelle
Schneider Electric iEM 3155 (Stromzähler)
Die Software:
Ich habe zur bessern Übersicht mein Programm in drei Teile geteilt:
1. ModBus Kommunikation
2. CAN-Kommunikation (läuft bereits tadellos)
3. Eine Art "Main" um die Abläufe zu steuern
Das Problem:
Ich lese bereits über den Modbus RTU Master 150 Werte ein und greife mittels Python Skript auf das Prozessabbild wie von Volker in seinem "Zugriff mit Python" Beitrag beschrieben zu. viewtopic.php?f=10&t=32
Soweit so gut. Leider bekomme ich immer wieder inkorrekte Werte angezeigt. Lasse ich mir zum Beispiel die Spannung der Phase 1 (Offset 27) anzeigen spuckt meine Funktion erst 233,xxxx Volt aus dann wieder "nan" sprich "not a number". (siehe Bilder)
Auch wenn ich mir die Werte direkt über piTest -r Slv1_Volt_P1_A anzeigen lasse sehe ich direkt das die Werte hier auch zwischen korrekt (~0x436C) und inkorrekt (0xFFC0) schwanken.
Dies bedeutet für mich das ich entweder zur falschen Zeit auf das Prozessabbild zugreife oder das ich falsche Werte empfangen.
Um dies genauer analysieren zu können habe ich eine weiter Config in PiCtory erstellt und lese in dieser nur 4 Register fehlerfrei ein.
Auch habe ich mal die Action Intervalle verändert (deshalb die ungeraden Zahlen im Bild unten) aber bringt nur eine geringe Verbesserung.
Ich komme wirklich nicht mehr weiter und wende mich nun an euch!