Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS: 19001030: Modbus TCP Master Read

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • gulp2k
    antwortet
    deRainer
    in der ModbusMaster.php den Port fest einzustellen ist tatsächlich der einfachste Weg wenn du nur ein Gerät hast.
    Ansonsten müsste man den Construktor erweitern und dann den Port vom LBS übergeben...

    Die Endianess kannst du im Moment nur fix im LBS einstellen.
    Im Quellcode ganz oben direkt nach den Eingängen bei v#4 eine 1 anstatt der 0 schreiben.
    Dann wird es umgedreht.
    Falls das auch nicht hilft mal mir der Startadresse spielen, ich hatte es auch schon das man da noch ein +-1 machen musste

    Einen Kommentar schreiben:


  • deRainer
    antwortet
    Ok,
    einen hab ich noch...
    Anscheinend kommen bei mir die Daten vom Plenticore in anderer Byte Reihenfolge...
    Gerade an der IP Adresse (die ich testweise mal ausgelesen habe) erkennt man das Highbyte und Lowbyte anscheinend vertauscht sind.
    Beispiel:
    Soll: 199.199.199.199
    Ist: 91.991.991.9919

    Jetzt wurde hier ja mal (irgendwo auf Seite 6 oder 7) über den Endianess geschrieben und dass man den irgendwo einstellen kann.
    Geht das bei den Datentypen? Egal welchen Datentyp ich ausprobiere. Keine liefert die richtigen Werte.

    In der Kostal Doku heißt es:
    MODBUS uses a ‘big-Endian’ representation for addresses and data items. This means that when a
    numerical quantity larger than a single byte is transmitted, the most significant byte is sent first.


    Kann ich das irgenwo umstellen?
    Dank und Gruß

    Rainer

    Einen Kommentar schreiben:


  • deRainer
    antwortet
    Hallo Michael,

    danke für die schnelle Antwort!
    ip:1502 funktioniert leider nicht. Da gibt es einen "Host lookup failed" Fehler

    Habe mich jetzt erstmal für Variante a) entschieden und in der "ModbusMaster.php" den Port auf 1502 gesetzt.

    Damit bekomme ich eine Antwort vom WR

    Leider passen jetzt die Wert noch nicht so richtig.
    Ein "Daily Yield" von 2.1947136548255E-41 erscheint mich doch recht unglaubwürdig

    Muss wohl noch etwas mit den Datentypen oder den Adressen spielen.
    Mal schauen ob ich das auch noch hin bekomme...

    Besten Dank auf jeden Fall erst einmal!

    Gruß

    Rainer

    Einen Kommentar schreiben:


  • gulp2k
    antwortet
    Hi Rainer,

    aktuell hab ich den LBS gar nicht mehr imEinsatz und kann es auch nciht testen.
    Nach kurzem Blick in die Library die ich nutzte ist dort der Port gar nicht vorgesehen...
    Du kannst mal versuchen bei E2 den Port mit anzugeben. ip:1502
    Eventuell klappt das.
    Aktuell ist es bei mir zeitlich echt knapp, Garten muss fertig werden

    Einen Kommentar schreiben:


  • deRainer
    antwortet
    Hallo zusammen,
    ich möchte auch gerne den Modbus TCP Master Read nutzen, um meinen neuen Plenticore plus Wechselrichter von Kostal auszulesen.
    Mit QModMaster komme ich auch an die Werte des WR.
    Leider hat Kostal (meiner Meinung nach entgegen dem Standard) einen anderen Port für den Modbus definiert. Nämlich 1502 anstatt 502.

    Dadurch bekomme ich im Error Log des Bausteins natürlich die Fehlermeldung "unable to connect"

    Code:
     [TABLE="border: 0, cellpadding: 0, cellspacing: 0"]
     	 		[TR]
     			[TD]19-05-03 15:40:09[/TD]
     			[TD]274135[/TD]
     			[TD]15966[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19001030 [v0.5]: START ModbusMaster Exec[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-05-03 15:40:09[/TD]
     			[TD]284636[/TD]
     			[TD]15966[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19001030 [v0.5]: v3:9;13;17;21;25[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-05-03 15:40:09[/TD]
     			[TD]286030[/TD]
     			[TD]15966[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19001030 [v0.5]: inputs:[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-05-03 15:40:09[/TD]
     			[TD]286231[/TD]
     			[TD]15966[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19001030 [v0.5]: ================ ARRAY/OBJECT START ================[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-05-03 15:40:09[/TD]
     			[TD]286413[/TD]
     			[TD]15966[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19001030 [v0.5]: ["9","13","17","21","25"][/TD]
     		[/TR]
     		[TR]
     			[TD]2019-05-03 15:40:09[/TD]
     			[TD]286545[/TD]
     			[TD]15966[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19001030 [v0.5]: ================ ARRAY/OBJECT END ================[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-05-03 15:40:09[/TD]
     			[TD]287880[/TD]
     			[TD]15966[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19001030 [v0.5]: i:0; input:9; address:144; length:1; type:3[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-05-03 15:40:09[/TD]
     			[TD]290064[/TD]
     			[TD]15966[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19001030 [v0.5]: File: /usr/local/edomi/main/include/php/ModbusMaster.php | Error: 2 | Line: 100 | socket_connect(): unable to connect [111]: Connection refused[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-05-03 15:40:09[/TD]
     			[TD]291620[/TD]
     			[TD]15966[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19001030 [v0.5]: Modbus Error:[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-05-03 15:40:09[/TD]
     			[TD]291847[/TD]
     			[TD]15966[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19001030 [v0.5]: ================ ARRAY/OBJECT START ================[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-05-03 15:40:09[/TD]
     			[TD]291994[/TD]
     			[TD]15966[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19001030 [v0.5]: {"host":"192.XXX.XXX.XXX","port":"502","client":"","client_port":"502","status":"readMultipleRegisters: START\n","timeout_sec":5,"endianness":0,"socket_protocol":"TCP"}[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-05-03 15:40:09[/TD]
     			[TD]292143[/TD]
     			[TD]15966[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19001030 [v0.5]: ================ ARRAY/OBJECT END ================[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-05-03 15:40:09[/TD]
     			[TD]293941[/TD]
     			[TD]15966[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19001030 [v0.5]: Modbus Error:[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-05-03 15:40:09[/TD]
     			[TD]294162[/TD]
     			[TD]15966[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19001030 [v0.5]: ================ ARRAY/OBJECT START ================[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-05-03 15:40:09[/TD]
     			[TD]294296[/TD]
     			[TD]15966[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19001030 [v0.5]: {}[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-05-03 15:40:09[/TD]
     			[TD]294450[/TD]
     			[TD]15966[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19001030 [v0.5]: ================ ARRAY/OBJECT END ================[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-05-03 15:40:09[/TD]
     			[TD]295643[/TD]
     			[TD]15966[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19001030 [v0.5]: Retries:0[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-05-03 15:40:09[/TD]
     			[TD]298702[/TD]
     			[TD]15966[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19001030 [v0.5]: end of delay[/TD]
     		[/TR]
     	 [/TABLE]
    Nachdem ich mir den Quellcode vom Baustein angesehen habe, konnte sogar ich als PHP Leihe erkennen, dass anscheinend der Eingang E3 im Baustein gar nicht Verknüpft ist und der Baustein somit immer per default den Port 502 nimmt.

    Auszug aus dem Quelltext:
    E3: Port (Currently not used)

    Liege ich mit meiner Aussage richtig, dass der Eingang E3 nicht verknüpft ist?

    Wenn dem so ist habe ich wohl drei Möglichkeiten:
    a) Ich versuche herauszufinden wo der Port 502 "hard" im Code angegeben ist und ändere den für meine Zwecke auf 1502 oder
    b) mit einem ganz großen BITTE kannst du "gulp2k" den Baustein vielleicht so anpassen, dass der Eingang E3 im Code auch ausgewertet wird und dadurch vielleicht der Eine oder Andere den LBS auch in Zukunft für einen Kostal WR nutzen kann oder
    c) vielleicht hat ja jemand einen anderen LBS den ich für meinen Plenticore nutzen kann???

    Für jegliche Hilfe in diesem phantastischem Forum bin ich wie immer sehr dankbar!!!

    Gruß
    Rainer






    Einen Kommentar schreiben:


  • Willi will Knx
    antwortet
    Hi,
    ich stelle die Frage auch mal hier:

    Wenn ich mittels des SMA Modbus LBS zyklisch die PV Leistung über Modbus TCP abfrage, dann könnte also die entsprechende Antwort über Modbus TCP auch von anderen Slaves am Modbus, im speziellen einer Wärmepumpe, gelesen und verarbeitet werden, oder habe ich bzgl der Modbus Architektur was falsch verstanden?

    Einen Kommentar schreiben:


  • Willi will Knx
    antwortet
    Hi,

    das lokale Webinterface verwende ich, wenn es funktioniert, was nur wechselnd der Fall ist. Dank Deiner Anleitung sollte es in Zukunft besser nutzbar sein
    Jetzt fehlt nur noch eine Anbindung an Edomi.

    Einen Kommentar schreiben:


  • Helyx
    antwortet
    Hallo Willi,
    d.h. du hast die Werte der WP schon in Edomi abrufbar? über Http oder Modbus?

    Edith: hab deine Formulierung falsch interpretiert - du verwendest bisher also nur das Weblogin? Das lokale Webinterface geht nicht/verwendest nicht?
    Zuletzt geändert von Helyx; 12.03.2019, 15:43.

    Einen Kommentar schreiben:


  • Willi will Knx
    antwortet
    Hallo zusammen,

    auch ich habe eine Heliotherm Wärmepumpe und hätte starkes Interesse, die Daten auszulesen. Ich habe dieses neue Remote Control Gateway 2, was aber nur eine kaum funktionierende Web-Anwendung liefert und die Daten nur aufbereitet. Logisch nutzbar in Edomi sind sie - zumindest für mich - dadurch nicht. Insofern wäre ich auf Ideen und Hilfe angewiesen.

    LG
    Willi

    Einen Kommentar schreiben:


  • Helyx
    antwortet
    Ja sind soweit korrekt.
    Ich kann ja auch mit QModMaster alles abrufen.
    Hängt alles an einem unmanaged switch im gleichen Netzwerk.

    Einen Kommentar schreiben:


  • gulp2k
    antwortet
    naja, dem log nach kann er keine verbindung aufbauen... ip und port sind richtig? firewall?

    Einen Kommentar schreiben:


  • Helyx
    antwortet
    Hallo Michael,

    bin leider erst jetzt dazugekommen (mit Kleinkind und Umbau hat man anderen Prioritäten ).
    Ja phpmodbus ist alles im Ordner und identisch mit den Pfaden im LBS.
    Edit: Hab die Dateien mit Filezilla reinkopiert und sie waren nicht ausführbar.

    Aktueller Log:
    Code:
     [TABLE="border: 0, cellpadding: 0, cellspacing: 0"]
     	 		[TR]
     			[TD]2019-01-13 20:53:40[/TD]
     			[TD]512458[/TD]
     			[TD]4809[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19001030 [v0.5]: START ModbusMaster Exec[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-01-13 20:53:40[/TD]
     			[TD]513899[/TD]
     			[TD]4809[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19001030 [v0.5]: v3:9;13;17;21;25[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-01-13 20:53:40[/TD]
     			[TD]514240[/TD]
     			[TD]4809[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19001030 [v0.5]: inputs:[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-01-13 20:53:40[/TD]
     			[TD]514292[/TD]
     			[TD]4809[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19001030 [v0.5]: ================ ARRAY/OBJECT START ================[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-01-13 20:53:40[/TD]
     			[TD]514341[/TD]
     			[TD]4809[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19001030 [v0.5]: ["9","13","17","21","25"][/TD]
     		[/TR]
     		[TR]
     			[TD]2019-01-13 20:53:40[/TD]
     			[TD]514375[/TD]
     			[TD]4809[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19001030 [v0.5]: ================ ARRAY/OBJECT END ================[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-01-13 20:53:40[/TD]
     			[TD]514709[/TD]
     			[TD]4809[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19001030 [v0.5]: i:0; input:9; address:10; length:1; type:0[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-01-13 20:53:45[/TD]
     			[TD]022068[/TD]
     			[TD]4809[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19001030 [v0.5]: Modbus Error:[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-01-13 20:53:45[/TD]
     			[TD]022166[/TD]
     			[TD]4809[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19001030 [v0.5]: ================ ARRAY/OBJECT START ================[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-01-13 20:53:45[/TD]
     			[TD]022217[/TD]
     			[TD]4809[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19001030 [v0.5]: {"host":"10.0.0.3","port":"502","client":"","client_port":"502","status":"readMultipleRegisters: START\nConnected\nPacket: f58e000000060003000a0001\nSend\nWait data ... \nWait data ... \nWait data ... \nWait data ... \nWait data ... \nWait data ... \nWait data ... \nWait data ... \nWait data ... \nWait data ... \nWait data ... \nWait data ... \nWait data ... \nWait data ... \nWait data ... \n","timeout_sec":5,"endianness":0,"socket_protocol":"TCP"}[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-01-13 20:53:45[/TD]
     			[TD]022270[/TD]
     			[TD]4809[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19001030 [v0.5]: ================ ARRAY/OBJECT END ================[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-01-13 20:53:45[/TD]
     			[TD]022619[/TD]
     			[TD]4809[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19001030 [v0.5]: Modbus Error:[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-01-13 20:53:45[/TD]
     			[TD]022661[/TD]
     			[TD]4809[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19001030 [v0.5]: ================ ARRAY/OBJECT START ================[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-01-13 20:53:45[/TD]
     			[TD]022696[/TD]
     			[TD]4809[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19001030 [v0.5]: {}[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-01-13 20:53:45[/TD]
     			[TD]022728[/TD]
     			[TD]4809[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19001030 [v0.5]: ================ ARRAY/OBJECT END ================[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-01-13 20:53:45[/TD]
     			[TD]023092[/TD]
     			[TD]4809[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19001030 [v0.5]: Retries:0[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-01-13 20:53:45[/TD]
     			[TD]024019[/TD]
     			[TD]4809[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19001030 [v0.5]: end of delay[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-01-13 20:53:45[/TD]
     			[TD]025183[/TD]
     			[TD]4809[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19001030 [v0.5]: STOP ModbusMaster EXEC[/TD]
     		[/TR]
     	 [/TABLE]
    Zuletzt geändert von Helyx; 13.01.2019, 21:36.

    Einen Kommentar schreiben:


  • gulp2k
    antwortet
    Dein Log sieht auch komisch aus. Hast du denn wie in der Hilfe beschrieben phpmodbus installiert/kopiert?
    Es sieht so aus also ob das überhaupt nicht aufgerufen wird...

    Einen Kommentar schreiben:


  • Helyx
    antwortet
    Hallo Michael,

    bei Wert 1 und 2 nutze ich ja FC 3 (E12/16).

    Einen Kommentar schreiben:


  • gulp2k
    antwortet
    Hi Helyx,

    kannst du mal Versuchen die Register mit QModbus und FC3 auszulesen?
    Im Screenshot nutzt du FC4 in dem LBS habe ich aber damals nur FC3 implementiert.

    Einen Kommentar schreiben:

Lädt...
X