Hallo Jürgen,
mein aktueller Status - bzw. die getesteten Varianten:
wenn dein pyModbusTCP-Code (:= "mod.py") läuft, dann entsprechen die Meldungen deinem vorherigen Beitrag
Ablauf:
zuerst habe ich "sudo diagslave -m TCP" in Terminal gestartet:
A) "mod.py" mit SERVER_HOST:= "localhost":
"mod.py" läuft, diagslave meldet Verbindung zu "127.0.0.1" und quittiert die Aktivität
B) "mod.py" mit SERVER_HOST:= "PC.IP-LAN":
"mod.py" läuft, diagslave meldet Verbindung zu "PC.IP-LAN" und quittiert die Aktivität von "mod.py"
C) VPN gestartet:
diagslave meldet Verbindung zu "CMI.IP" und meldet ab und zu eine Aktivität. (ich vermute dass das die CMI-Ausgaben sind)
D) VPN offen + "mod.py" mit SERVER_HOST:= "localhost":
"mod.py" läuft, diagslave meldet Verbindung zu "CMI.IP" und meldet die "mod.py"-Aktivität + ab und zu eine Aktivität. (?CMI)
E) VPN offen + "mod.py" mit SERVER_HOST:= "PC.IP-VPN:
"mod.py" läuft, diagslave meldet Verbindung zu "CMI.IP" und meldet die "mod.py"-Aktivität + ab und zu eine Aktivität. (?CMI)
F) VPN offen + "mod.py" mit SERVER_HOST:= "CMI.IP"
"mod.py" bricht mit Fehlermeldung ab:
define modbus 192.168.188.29:502
while true 192.168.188.29:502
not c.is_open or reconnect 192.168.188.29:502" .... Abbruch mit Ctrl C
diagslave meldet Verbindung zu "CMI.IP" und meldet ab und zu eine Aktivität. (?CMI)
Es scheint so, als ob die Modbus-Verbindung von "mod.py" zum CMI nicht aufgebaut werden kann.
Eine *.tdw-Datei gibt es derzeit noch nicht, da ich noch im reine Ausprobieren der UVR16x2-Funktionen bin.
Im Moment habe ich diverse Eingänge im UVR definiert/belegt und in der WebOberfläche der UVR - quasi "vor Ort" - diverse Funktionen angelegt.
Um die Modbus-Koppelung zu probieren habe ich "händisch" den UVR.Eingang "T.Außen" auf den UVR.CAN-Ausgang.1 gelegt und dann im CMI mit CMI-CAN-Eingang.1 gekoppelt und anschließend als CMI-Modbus-Ausgang.1 angelegt. - bis hierher funktioniert es denn es erscheinen hier die richtigen Werte.
... in der Hoffnung, dass ich nun (erst mal auf meinem Laptop über VPN und später lokal auf dem Raspi3) mit als ModbusSlave mit dem CMI koppeln und diesen Wert im Python.Modbus.Slave.Modul empfangen zu können.
Das klappt aber leider noch nicht. Diagslave erkennt die CMI.IP (validateMasterIpAddr: accepting connection from 192.168.188.29)
aber dein/mein "mod.py" kann sich nicht verbinden.
hmmmm....