Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS 19001586 - Modbus

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

    LBS 19001586 - Modbus

    Hallo zusammen,
    ich habe den LBS 19001586 hochgeladen und zuvor alle notwendigen Installationen per putty durchgeführt. Beim Neustart des Servers bzw. von EDOMI bekomme ich im Log folgenden Fehler angezeigt:
    <<<<Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19001586.php | Fehlercode: 2 | Zeile: 4 | require(/usr/local/edomi/www/data/liveproject/lbs/../../../../main/include/php/modbus-tcp-client/vendor/autoload.php): failed to open stream: No such file or directory>>>>

    Kann mir von euch jemand sagen, warum hier die Datei nicht gefunden wurde - liegt es an der Basisinstallation der notwendigen modbus Bibliothek oder am LBS?

    Danke euch.

    #2
    Na hast Du mal geschaut, ob es die Datei tatsächlich gibt? Unter genau diesem Pfad? Was bekommst Du bei

    Code:
    find / -name autoload.php
    zurück? Ist das der gleiche Pfad?
    Kind regards,
    Yves

    Kommentar


      #3
      Was genau hast Du per putty installiert? Genau nach Anleitung? Und alle Schritte verliefen fehlerfrei? Dann wäre es erstaunlich, weil es bei anderen funktioniert hat. Vielleicht wiederholst Du die Installation noch mal gewissenhaft, dann schauen wir weiter? Weil mit den knappen Infos ist eine Fernanalyse kaum möglich. Schau' doch mal per putty mit ll in das Verzeichnis. Das sollte so aussehen:
      Code:
      root@HAL-edomi-P1:~# ll /usr/local/edomi/www/data/liveproject/lbs/../../../../main/include/php/modbus-tcp-client/vendor/
      insgesamt 12
      drwxr-xr-x 3 root root 4096 10. Mai 2021 aldas
      -rw-r--r-- 1 root root 178 10. Mai 2021 autoload.php
      drwxr-xr-x 2 root root 4096 10. Mai 2021 composer
      CentOS 7?
      edomi 2.03?

      Kommentar


        #4
        Hallo zusammen,
        also ich habe jetzt das Update von EDOMI 2.02 auf 2.03 durchgeführt und den Installationsprozess für den modbus-tcp-client nochmals durchgeführt und bis zum Update der Library läuft alles problemlos durch. Das Problem besteht nach wie vor, anbei die Infos zu euren Fragen:

        Also die Datei ist offensichtlich vorhanden:
        [root@edomi ~]# find / -name autoload.php
        /root/vendor/autoload.php


        So wie es scheint besteht ein Problem beim Update der Library:
        [root@edomi php]# cd modbus-tcp-client/
        [root@edomi modbus-tcp-client]# composer require aldas/modbus-tcp-client
        Using version ^2.3 for aldas/modbus-tcp-client
        Root package 'aldas/modbus-tcp-client' cannot require itself in its composer.json

        [root@edomi modbus-tcp-client]# ll
        insgesamt 136
        -rwxrwxrwx 1 root root 2258 10. Nov 20:59 CHANGELOG.md
        -rwxrwxrwx 1 root root 140 10. Nov 20:59 codecov.yml
        -rwxrwxrwx 1 root root 985 10. Nov 20:59 composer.json
        -rwxrwxrwx 1 root root 90110 10. Nov 20:59 composer.lock
        -rwxrwxrwx 1 root root 484 10. Nov 20:59 docker-run-test.sh
        drwxrwxrwx 2 root root 4096 10. Nov 20:59 examples
        -rwxrwxrwx 1 root root 11357 10. Nov 20:59 LICENSE
        -rwxrwxrwx 1 root root 897 10. Nov 20:59 phpunit.xml.dist
        -rwxrwxrwx 1 root root 10293 10. Nov 20:59 README.md
        drwxrwxrwx 7 root root 81 10. Nov 20:59 src
        drwxrwxrwx 4 root root 37 10. Nov 20:59 tests


        Eventuell könnt ihr damit ja etwas anfangen, danke schon mal.

        Kommentar


          #5
          Und was macht die Datei in /root/...? Du bist unterwegs irgendwo mal falsch abgebogen denn diese Location ist falsch.
          Kind regards,
          Yves

          Kommentar


            #6
            Ich habe jetzt nochmals die komplette Installation unten aufgeführt, wo sollte ich da falsch abgebogen sein?

            [root@edomi php]# yum install -y git wget
            Geladene Plugins: fastestmirror
            Loading mirror speeds from cached hostfile
            * base: centos.schlundtech.de
            * epel: ftp.halifax.rwth-aachen.de
            * extras: mirror.imt-systems.com
            * remi-php72: mirror.netsite.dk
            * remi-safe: mirror.netsite.dk
            * updates: centos.schlundtech.de
            Paket git-1.8.3.1-23.el7_8.x86_64 ist bereits in der neuesten Version installiert.
            Paket wget-1.14-18.el7_6.1.x86_64 ist bereits in der neuesten Version installiert.
            Nichts zu tun
            [root@edomi php]# cd /tmp
            [root@edomi tmp]# wget --no-check-certificate https://getcomposer.org/installer
            --2021-11-11 22:09:31-- https://getcomposer.org/installer
            Auflösen des Hostnamen »getcomposer.org (getcomposer.org)«... 2001:41d0:302:1100::8:104f, 54.36.53.46
            Verbindungsaufbau zu getcomposer.org (getcomposer.org)|2001:41d0:302:1100::8:104f|:443. .. verbunden.
            HTTP-Anforderung gesendet, warte auf Antwort... 200 OK
            Länge: 57721 (56K) [application/octet-stream]
            In »»installer.2«« speichern.

            100%[======================================>] 57.721 --.-K/s in 0,02s

            2021-11-11 22:09:31 (3,05 MB/s) - »»installer.2«« gespeichert [57721/57721]

            [root@edomi tmp]# php installer
            All settings correct for using Composer
            Downloading...

            Composer (version 2.1.12) successfully installed to: /tmp/composer.phar
            Use it: php composer.phar

            [root@edomi tmp]# mv composer.phar /usr/local/bin/composer
            mv: „/usr/local/bin/composer“ überschreiben? j
            [root@edomi tmp]# cd /usr/local/edomi/main/include/php
            [root@edomi php]# git clone https://github.com/aldas/modbus-tcp-client
            Klone nach 'modbus-tcp-client'...
            remote: Enumerating objects: 1549, done.
            remote: Counting objects: 100% (59/59), done.
            remote: Compressing objects: 100% (44/44), done.
            remote: Total 1549 (delta 21), reused 30 (delta 15), pack-reused 1490
            Empfange Objekte: 100% (1549/1549), 371.98 KiB | 0 bytes/s, done.
            Löse Unterschiede auf: 100% (999/999), done.
            [root@edomi php]# chmod 777 modbus-tcp-client
            [root@edomi php]# cd modbus-tcp-client/
            [root@edomi modbus-tcp-client]# composer require aldas/modbus-tcp-client
            Using version ^2.3 for aldas/modbus-tcp-client
            Root package 'aldas/modbus-tcp-client' cannot require itself in its composer.json


            Kommentar


              #7
              Ok, das sieht soweit erstmal korrekt aus. Was genau liefert nun der find-Befehl aus meinem vorherigen Post?
              Kind regards,
              Yves

              Kommentar


                #8
                der find-Befehl zeigt autoload.php in /root/vendor/autoload.php - und das ist nach meiner Auffassung dort falsch.

                Habe ich es übersehen oder wie sieht Dein Ergebnis aus von
                Code:
                ll /usr/local/edomi/www/data/liveproject/lbs/../../../../main/include/php/modbus-tcp-client/vendor/
                ? Spannend ist ja, ob in diesem Verzeichnis die autoload.php liegt (nicht in /root/vendor/autoload.php, wie es bei Dir oben den Anschein hat). Denn in dem Verzeichnis des obigen Befehls erwartet es der LBS... es sollte so aussehen, wie in meinem Post #3.

                Und meine Frage nach Deinem CentOS ist auch noch ungeklärt... die Bibliothek wird nicht mit CentOS 6.x funktionieren.

                Zudem sagt die Anleitung doch, dass bei einem Fehler dies zu tun ist (im Verzeichnis modbus-tcp-client!):
                Code:
                mv composer.json x.composer.json
                mv composer.lock x.composer.lock
                dann neu erzeugen lassen:
                Code:
                composer require aldas/modbus-tcp-client
                Den Teil kann ich bei Dir oben nicht erkennen - obwohl der letzte Schritt ja augenscheinlich einen Fehler wirft, sogar mit einem Verweis auf die in der Anleitung genannte Datei composer.json. Daher diese Schritte bitte noch probieren
                Zuletzt geändert von saegefisch; 12.11.2021, 00:59.

                Kommentar


                  #9
                  Hallo zusammen,
                  also es ist CentOS 7.6 installiert. Ich habe nun die Zusatzbefehle aus der Installationsanleitung ausgeführt und es scheint diesen Fehler behoben zu haben. Allerdings wird nun beim Systemstart ein anderer Fehler geworfen:

                  Datei: /usr/local/edomi/main/include/php/modbus-tcp-client/vendor/aldas/modbus-tcp-client/src/Network/NonBlockingClient.php | Fehlercode: 0 | Zeile: 123 | Call to undefined function ModbusTcpClient\Network\mb_strtolower()

                  Hier noch der Logfile des LBS im debug Modus (IP-ADRESSE habe ich hier weggelassen):
                  2021-11-12 07:48:29 042054 7712 debug LBS19001586 [v0.5]: Modus Read GENERIC EXEC Daemon start initiated (402)
                  2021-11-12 07:48:29 042527 7712 debug LBS19001586 [v0.5]: Modus Read GENERIC LBS ended (402)
                  2021-11-12 07:48:29 182317 7741 debug EXE19001586 [v0.5]: FC3 = HOLDING-Methode wird verwendet (siehe ModBus-Doku, meist für 3xxxx) (402)
                  2021-11-12 07:48:29 182622 7741 debug EXE19001586 [v0.5]: RegisterOffset: konstant = 0 | Typ-Automatik = (402)
                  2021-11-12 07:48:29 182979 7741 debug EXE19001586 [v0.5]: Daten wurden als JSON geliefert (402)
                  2021-11-12 07:48:29 183440 7741 debug EXE19001586 [v0.5]: Register: (402)
                  2021-11-12 07:48:29 183480 7741 debug EXE19001586 [v0.5]: ================ ARRAY/OBJECT START ================
                  2021-11-12 07:48:29 183507 7741 debug EXE19001586 [v0.5]: [{"address":"30775","type":"int32","name":"PV-Einspeisewirkleistung [W]","uri":"IP-ADRESSE:502","unitId":3},{"address ":"31527","type":"uint32","name":"Netzfrequenz [Hz]","uri":"IP-ADRESSE:502","unitId":3}]
                  2021-11-12 07:48:29 183526 7741 debug EXE19001586 [v0.5]: ================ ARRAY/OBJECT END ================
                  2021-11-12 07:48:29 186167 7741 debug EXE19001586 [v0.5]: Anzahl Register gesamt angefragt: 2 (402)
                  2021-11-12 07:48:29 186592 7741 debug EXE19001586 [v0.5]: Anzahl Requests ergeben sich gesamt: 2 (402)
                  2021-11-12 07:48:29 186965 7741 debug EXE19001586 [v0.5]: Anzahl Requests in Chunk 1 : 2 (402)

                  Kommentar


                    #10
                    Schön, dass wir nun einen Schritt weiter sind.
                    Zum neuen Fehler Call to undefined function ModbusTcpClient\Network\mb_strtolower()bin ich ratlos...die Zeile 123:
                    Code:
                    $uri = mb_strtolower($request->getUri());
                    Weil die Funktion mb_strtolower() ist PHP-Standard und hat mMn nichts mit der Installation der ModBus-Library zu tun...

                    Wie sehen Denn alle Deine Eingangswerte zum LBS ganz genau aus? Vielleicht finden wir dort etwas, über dass der Aufruf stolpert.
                    Zuletzt geändert von saegefisch; 12.11.2021, 12:16.

                    Kommentar


                      #11
                      Anbei die Eingangswerte des LBS, kurz noch vorab, die ModBus-Abfrage betrifft einen SMA Wechselrichter STP 10.0-3AV-40.

                      Modbus_01.png

                      E8 = [{"address" : "30775", "type" : "int32", "name" : "PV-Einspeisewirkleistung [W]"}]
                      E15 = -2147483648;2147483648;4026531840;4294967295

                      Danke Dir.

                      Kommentar


                        #12
                        Zitat von saegefisch Beitrag anzeigen
                        Weil die Funktion mb_strtolower() ist PHP-Standard und hat mMn nichts mit der Installation der ModBus-Library zu tun...
                        muss aber vermutlich noch nachinstalliert werden ...

                        Code:
                        yum install php-mbstring

                        Kommentar


                          #13
                          TOMX : Werte sehen auf den ersten Blick gut aus.
                          jonofe Dank' Dir, André, das dürfte es wohl sein. Woher weiß man/Du so was... LG ins Rheinland!

                          Kann mich nicht erinnern, es mal explizit installiert zu haben, aber da ist's bei mir. Dann werde ich es wohl mal gemacht haben... Vorhandensein geprüft mit:
                          Code:
                          yum list installed | grep php-mbstring
                          Wenn es das Problem löst, werde ich mal die Anleitung des LBS entsprechend ergänzen. Mal schauen, was Tom sagt...
                          Zuletzt geändert von saegefisch; 12.11.2021, 16:59.

                          Kommentar


                            #14
                            Zitat von saegefisch Beitrag anzeigen
                            oher weiß man/Du so was
                            Ich konnte mich an mbstring erinnern. Das hatten wir hier schon mal. Und dann hab ich denselben Befehl ausgeführt wie du und dachte mir, dass es daran liegt.

                            Kommentar


                              #15
                              Hallo

                              Zitat von jonofe Beitrag anzeigen
                              muss aber vermutlich noch nachinstalliert werden
                              Ahh, der Klassiker...
                              Kind regards,
                              Yves

                              Kommentar

                              Lädt...
                              X