ECS GreenController Modbus per PHP über TCP auslesen

  • Hallo,


    seit kurzen besitze ich den GreenController http://www.ecs-online.org/Laderegler:::1.html von ECS, der mit dem Konverter http://www.ecs-online.org/Zube…485_RS232_TO_ETH::31.html am Netzwerk angeschlossen ist.
    Zum Auslesen der Modbus-Werte habe ich eine PHP-Klasse geschrieben, mit der die Werte selbst weiter verarbeitet werden können.


    Wer das benötigt, oder nur mal testen möchte, kann sich die Klasse hier http://photonensammler.homedns…0/viewvc/GreenController/ gern herunterladen (Username greencontroller Passwort GcGuest1).


    Es sind alle laut Handbuch verfügbaren Modbus-Daten, die über die Schnittstelle abgefragt werden können, implementiert.
    In dieser ersten Version der PHP-Klasse sind sicherlich noch Fehler beim "Übersetzen" der Werte vorhanden, die im Laufe der Zeit aber noch korrigiert werden. Außerdem ist bei einigen Werten noch unklar, wie diese genau übersetzt/berechnet werden müssen (z.B. bei BMS).


    Zur groben Übersicht der implementierten Funktionen wird in index.php alles abgerufen, was implementiert ist und die gelesenen Werte im Browser ausgegeben.


    Hier noch kurz einige Hinweise zur Benutzung der Klasse:


    Der Konstruktor wird folgendermaßen aufgerufen:

    Code
    $gc=new classGcModbus(<IP des GC>, <Port des GC>, <ModulID>);


    IP Adresse, Port des GC und ModulId lassen sich im "ECS Modbus Kommtool" unter Device/Edit Device Connection ermitteln:
    'Hostname and Port' sind die IP und der Port, 'BUS ID' ist die ModulId, die dem Konstruktor übergeben werden.


    Nachdem der Konstruktor aufgerufen wurde, können Werte ausgelesen werden:
    So gibt z.B. der Aufruf von

    Code
    $gc->BATT_CAPACITY

    die Batteriekapazität zurück.


    Alle implementierten Funktionen werden durch Aufruf des Testprogrammes 'index.php' ausgegeben.
    Die GROSS geschriebenen Ausgaben am Zeilenanfgang sind die Funktionsnamen, die aufgerufen werden können (äquivalent "BATT_CAPACITY" in meinem Beispiel).


    Viel Spaß beim Testen.
    Wenn ihr mir bei der Suche nach noch unbekannten Fehlern helft, würde ich mich freuen.


    Gruß
    Jörg