NEWS
Modbus - Fehlermeldung unklar
-
Ich habe 20 Modbus-Adressen einer Wago-SPS als Diskrete Ausgänge im Modbus Adapter definiert. Die Werte werden in der VIS mit einem jqui - IconToggle umgeschalten.
Bei 4 von den 20 bekomme ich eine Fehlermeldung wie im angehängten Screenshot.
Wodurch wird die ausgelöst? Ich finde keinen Unterschied zu den 16 anderen Knöpfen und Adressen?
Im Moment werden die Flags auf der SPS Seite auch richtig gesetzt, trotz Fehlermeldung, ich würde es aber trotzdem gerne verstehen.
Ideen?
Danke und Gruß
Jens -
@jensen
Das einzige was mir auffällt ist dass die angemeckerten Variablen in der SPS ein neues Register sind ($MX9.0 - 9.3) -
@dolomiti
Ja, das ist mir auch aufgefallen, aber was soll ich da tun? -
@jensen
Zeig mal bitte deine IoBroker-Konfig vom MB-Adapter.
Was ist bei dir unter beim markierten Punkt eingetragen. Liest du auch noch Merker aus die mit niedrigeren Adressen anfangen? Wenn ich %MX0.0 - %MX8.15 rechne sind das 128 Register. Es bezieht sich zwar auf´s lesen, vielleicht ist das beim schreiben auch ein Problem. Ist nur so ne Idee.
-
@dolomiti
hier ist die Konfig
bei Diskrete Ausgänge habe ich 127 Adressen im Bereich 12288 - 12640 -
Um nochmal mein Problem zu verdeutlichen, links die VIS, da bedeutet der linke von den Buttons mit - oder Ok, Rolladen abends automatisch runter. Die VIS sagt also, Ankleide und Balkon würden nicht automatisch fahren. Rechts die SPS-Steuerung sagt was ganz anderes, und was die sagt passiert.
Und mein Weib pumpt mir die Füße auf, wenn ich das nicht bald in den Griff bekomme.
Wenn ich die beiden Buttons klicke, dann sind sie blau (true), wenn ich den Modbus Adapter neu starte, sind sie wieder aus (false). Es wird also nicht korrekt von der Steuerung gelesen. Ich habe diese Leselänge mal auf 256 erhöht, ändert aber nichts. -
Also für mich sieht das jetzt nach einem Problem im Modbus Adapter aus.
Wenn ich den Adapter neu starte, werden genau diese 4 Werte (12432-12435 also MX9.0 - MX9.3) nicht richtig initialisiert. Auch ein Umstellen der Werte auf der Steuerung wird in der VIS für diese Werte nicht übernommen (also Darstellung falsch), für die Adressen vorher klappt das anstandslos.
Ist es vielleicht doch die 127er Grenze?
Oder wird der Wert (ich hatte auf 256 erhöht) nicht richtig übernommen? -
@jensen
Was passiert wenn du die direkt in den Objekten togglest? Im Log steht, dass die Variablen undefined sind. Das wundert mich etwas. Kannst du den MB-Adapter mal auf Debug stellen und hier posten. Alternativ mal einen Wireshark-Mitschnitt von dem togglen aus der VIS bzw. den Objekten heraus machen. -
@dolomiti
der Adapter steht auf Debug
Wireshark - da brauche ich sicher HilfeWenn ich direkt die Objekte umschalte, erscheint die LogMeldung nicht.
Das passiert tatsächlich nur über die VIS.
Aber nach Neustart des Modbus Adapters sind auch die Werte in der Objekttabelle falsch. -
@dolomiti
Wie und was muß ich in Wireshark einstellen, damit man was Plausibles sieht?
Ich hänge mit einem PC über WLAN an einer Fritzbox und bin über VPN mit dem Netz im Haus verbunden, wo der ioBroker-Server steht. -
@dolomiti
Oh, der Adapter stand auf Debug, die Log-Ausgabe aber noch nicht.
Es gibt gleich bessere Log-Ausgaben.das müßten eigentlich die entsprechenden Zeilen sein, oder?
2024-05-08 18:04:49.341 - [34mdebug[39m: modbus.1 (5752) [DevID_1/coils] Poll address 12288 - 16 bits
2024-05-08 18:04:49.343 - [34mdebug[39m: modbus.1 (5752) [DevID_1/coils] Poll address 12304 - 16 bits
2024-05-08 18:04:49.344 - [34mdebug[39m: modbus.1 (5752) [DevID_1/coils] Poll address 12320 - 64 bits
2024-05-08 18:04:49.345 - [34mdebug[39m: modbus.1 (5752) [DevID_1/coils] Poll address 12384 - 48 bits
2024-05-08 18:04:49.346 - [34mdebug[39m: modbus.1 (5752) [DevID_1/coils] Poll address 12480 - 48 bits
2024-05-08 18:04:49.347 - [34mdebug[39m: modbus.1 (5752) [DevID_1/coils] Poll address 12560 - 16 bits
2024-05-08 18:04:49.348 - [34mdebug[39m: modbus.1 (5752) [DevID_1/coils] Poll address 12608 - 48 bitshier wundert mich, daß es da Lücken gibt?
12288 + 16 = 12304
12304 + 16 = 12320
12320 + 64 = 12384
12384 + 48 = 12432
(12432 - 12479 ???) 12432 - 12435 sind die Adressen, die mir momentan Probleme machen
12480 + 48 = 12528
(12528 - 12559 ???)
12560 +16 = 12576
(12576 - 12607 ???)
12608 + 48 = 12656???
-
@jensen
Das heißt der PC steht nicht im Haus wo der ioBroker-Server steht?
Das Problem ist, das Wireshark auf deinem PC nichts nutzt. Du mußt Wireshark dafür in den Monitor/Promiskuitiven Modus schalten. Das können meines Wissens nach nicht alle WLAN-Module.
Auf was für einer Hardware läuft der Server. Am einfachsten wäre es tcpdump auf dem Server zu benutzen, also per SSH auf den Server und mittelstcpdump -w test.eth
mitschneiden. Danach die Datei vom Server mit z.B. WinSCP runterholen und hier anhängen. Wahrscheinlich mußt du tcpdump noch auf dem Server installieren.
Die Datei kann man in Wireshark öffnen. Bei mir sieht das dann z.B. so aus
-
@dolomiti
der Server ist ein W10 Rechner -
@jensen
Dann könntest du da direkt Wireshark installieren. Das macht die ganze Sache etwas einfacher -
@dolomiti
Ich installiere direkt, kann ja auch mit TeamViewer auf den Server.
Wird nur einen Moment dauern.
Hast Du eine Erklärung zu meinen Logs? -
@jensen
Gerade erst gesehen, dass du noch was geschrieben hast.versuche das gerade zu verstehen.
-
@jensen
D.h. nach den problematischen Adressen geht es noch weiter? -
@dolomiti
Ja, wie gesagt, geht bei 12288 los und hört bei 12640 auf. Ein paar Lücken sind auch bei mir drin._address name description formula role room poll wp cw isScale 12288 Abwesenheit state true false 12289 Test state true false 12306 WWPump_ok WW Umwälzpumpe betriebsbereit state true false false 12308 Sumpfpumpe_ok Sumpfpumpe ok state true false false 12309 Sumpfpumpe_run Sumpfpumpe läuft state true false false 12310 PV_Freigabe PV_Freigabe state true false false 12311 PV_Freigabe_override PV_Freigabe_override state true false false 12312 Lüftung_Zuluft Lüftung Zuluft state true false false 12313 Leda_LUC Alarm Unterdruckkontrolle state true false false 12335 Licht_00 Bastelkeller Mitte state true false 12336 Licht_01 Bastelkeller Werkbank state true false 12337 Licht_02 Mittelkeller state true false 12338 Licht_03 Kellertreppe state true false 12339 Licht_04 state true false 12340 Licht_05 state true false 12341 Licht_06 Heizungskeller state true false 12342 Licht_07 LED Trockenkeller state true false 12343 Licht_08 Leuchtstoffröhren Trockenkeller state true false 12344 Licht_09 state true false 12345 Licht_10 state true false 12346 Licht_11 state true false 12347 Licht_12 state true false 12348 Licht_13 state true false 12349 Licht_14 state true false 12350 Licht_15 state true false 12351 Licht_16 state true false 12352 Licht_17 state true false 12353 Licht_18 state true false 12354 Licht_19 state true false 12355 Licht_20 state true false 12356 Licht_21 state true false 12357 Licht_22 state true false 12358 Licht_23 state true false 12359 Licht_24 state true false 12360 Licht_25 state true false 12361 Licht_26 state true false 12362 Licht_27 state true false 12363 Licht_28 state true false 12364 Licht_29 state true false 12365 Licht_30 state true false 12366 Licht_31 Cam West state true false false 12367 Licht_32 Cam Ost state true false false 12368 Licht_33 Spitzboden Ost state true false false 12369 Licht_34 Spitzboden West state true false false 12370 Licht_35 Abstellraum state true false 12371 Licht_36 Galerie Dachfenster state true false 12372 Licht_37 Gästezimmer state true false 12373 Licht_38 state true false 12374 Licht_39 Schlafzimmer state true false 12375 Licht_40 gr.Bad state true false 12376 Licht_41 Ankleide state true false 12377 Licht_42 kl.Bad state true false 12378 Licht_43 state true false 12379 Licht_44 state true false 12380 Licht_45 state true false 12381 Licht_46 Gaube state true false 12382 Licht_47 Wandnische kl. Bad state true false 12383 Licht_48 Badewanne state true false 12399 Licht_64 Flur Strahler state true false false 12400 Raffstore_01_EnbNight state true false false 12401 Raffstore_01_EnbDay state true false false 12402 Raffstore_02_EnbNight state true false false 12403 Raffstore_02_EnbDay state true false false 12404 Raffstore_03_EnbNight state true false false 12405 Raffstore_03_EnbDay state true false false 12406 Raffstore_04_EnbNight state true false false 12407 Raffstore_04_EnbDay state true false false 12416 Rollo_01_EnbNight state true false false 12417 Rollo_01_EnbDay state true false false 12418 Rollo_02_EnbNight state true false false 12419 Rollo_02_EnbDay state true false false 12420 Rollo_03_EnbNight state true false false 12421 Rollo_03_EnbDay state true false false 12422 Rollo_04_EnbNight state true false false 12423 Rollo_04_EnbDay state true false false 12424 Rollo_05_EnbNight state true false false 12425 Rollo_05_EnbDay state true false false 12426 Rollo_06_EnbNight state true false false 12427 Rollo_06_EnbDay state true false false 12428 Rollo_07_EnbNight state true false false 12429 Rollo_07_EnbDay state true false false 12430 Rollo_08_EnbNight state true false false 12431 Rollo_08_EnbDay state true false false 12432 Rollo_09_EnbNight state true false false 12433 Rollo_09_EnbDay state true false false 12434 Rollo_10_EnbNight state true false false 12435 Rollo_10_EnbDay state true false false 12480 Rollo_01_STOP state true false false 12481 Rollo_02_STOP state true false false 12482 Rollo_03_STOP state true false false 12483 Rollo_04_STOP state true false false 12484 Rollo_05_STOP state true false false 12485 Rollo_06_STOP state true false false 12486 Rollo_07_STOP state true false false 12487 Rollo_08_STOP state true false false 12488 Rollo_09_STOP state true false false 12489 Rollo_10_STOP state true false false 12490 Raffstore_01_STOP state true false false 12491 Raffstore_02_STOP state true false false 12492 Raffstore_03_STOP state true false false 12493 Raffstore_04_STOP state true false false 12496 Terasse_Licht_0 state true false false 12497 Terasse_Licht_10 state true false false 12498 Terasse_Licht_20 state true false false 12499 Terasse_Licht_100 state true false false 12504 E_Luefter Elektro Heizung state true false false 12512 Licht_100 state true false false 12513 Licht_101 state true false false 12514 Licht_102 state true false false 12515 Licht_103 state true false false 12516 Test_Licht_100 state true false false 12560 Bad Licht Decke Bad unten Licht Decke state true false false 12561 Bad Licht Dusche Bad unten Licht Dusche state true false false 12562 Bad Licht Heizung Bad unten Licht Heizung state true false false 12563 Flur Licht ww Flur Licht LED ww state true false false 12564 Flur Licht cw Flur Licht LED cw state true false false 12575 SD_Werkbank Steckdosen Werkbank state true false false 12608 WWWP_on state true false false 12609 WWWP_standby state true false false 12610 WWWP letzte Anw. WWWP state true false false 12611 WWWP_LK_in Fortluft nach innen state true false false 12612 WWWP_LK_out Fortluft nach aussen state true false false 12613 WWWP_LK letzte Anw. WWWP_LK state true false false 12624 SD_Werkbank zeitgesteuert Steckdosen Werkbank state true false false 12625 SD_ELuefter zeitgesteuert Steckdose ELuefter state true false false 12634 Lüftung zeitgesteuert Lüftung Zuluft state true false false 12640 Licht_92 Deckenlicht Küche state true false false
-
Ich habe jetzt die Ausrichtung der Adressen geändert.
Nun sieht der Log anders aus und alle meine Adressen werden abgefragt,2024-05-08 19:04:48.581 - [34mdebug[39m: modbus.1 (8172) [DevID_1/coils] Poll address 12288 - 2 bits 2024-05-08 19:04:48.583 - [34mdebug[39m: modbus.1 (8172) [DevID_1/coils] Poll address 12306 - 8 bits 2024-05-08 19:04:48.584 - [34mdebug[39m: modbus.1 (8172) [DevID_1/coils] Poll address 12335 - 49 bits 2024-05-08 19:04:48.586 - [34mdebug[39m: modbus.1 (8172) [DevID_1/coils] Poll address 12399 - 37 bits 2024-05-08 19:04:48.587 - [34mdebug[39m: modbus.1 (8172) [DevID_1/coils] Poll address 12480 - 37 bits 2024-05-08 19:04:48.589 - [34mdebug[39m: modbus.1 (8172) [DevID_1/coils] Poll address 12560 - 16 bits 2024-05-08 19:04:48.590 - [34mdebug[39m: modbus.1 (8172) [DevID_1/coils] Poll address 12608 - 33 bits
12288 + 2 = 12290
12306 + 8 = 12314
12335 + 49 = 12384
12399 + 37 = 12436
12480 + 37 = 12517
12560 + 16 = 12576
12608 + 33 = 12641Da nun auch meine Problemadressen 12432 - 12435 gepollt werden, stimmen die Zustände auch nach einem Adapter Neustart und die VIS zeigt somit auch den korrekten Zustand an.
Die merkwürdigen Fehlermeldungen sind auch verschwunden.Bleibt die Frage, was ist faul, wenn man den Haken nicht setzt (Default) und die Adressen auf 16Bit ausrichten möchte? Das scheint mir ein gefährlicher Bug zu sein.
-
@jensen
Schön das es jetzt funktioniert. Aber du hast Recht, so richtig zufriedenstellend ist das nicht.
Evtl. ein Issue beim Adapter auf Github aufmachen.