Ankündigung

Einklappen
Keine Ankündigung bisher.

Hexstring aus interner Website an Edomi übergeben

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

    #16
    Danke

    ja da muss ich mich erst einlesen.
    Programierkentnisse sind fast 0.
    Aber ich werds mal probieren.

    Kommentar


      #17
      Hallo,

      so hab es jetzt hinbekommen mit der Abfrage, lasse alle 3 Sekunden abfragen und läuft seit 2 Wochen problemlos.
      in der Zeit hab ich mich dem Hexstring zum zerlegen und berechnen gespielt und alle Werte gefunden.

      Aktuell lasse ich nach dem LBS den String alle 4 Zeichen ein "-" setzen und zerteile ihn mit unzähligen String zerteilen LBS.
      Danach werden die einzelnen Werte alle jeweils mit dem Hex zu Dec LBS umgewandelt, manche vorher wieder zu 8 Zeichen zusammengeführt.
      Danach werden vereinzelte Werte noch mit mathematischen LBS berechtet und alle Werte in Ausgangsboxen geschrieben.

      Das Problem ist das meine Logikseite extrem langsam ist beim bearbeiten.

      Kann man das besser lösen, evtl. sogar direkt in den LBS einbauen kann, mit dem zerlegen und umrechnen des Strings.

      Kann mir da jemand etwas Hilfestellung oder sogar Lösungsvorschläge geben?

      Gruß DanielScreenshot (2).png

      Kommentar


        #18
        In einem LBS geht das sicher eleganter:
        Annahme dein String ist


        PHP-Code:
        $str '0x010x020x03'
        str_split zerlegt deinen String in 4er Zeichenketten, und schreibt sie in ein Array

        PHP-Code:
        $arr str_split($str4); 
        Den ersten Wert bekommst Du dann mittels
        PHP-Code:
        logic_setOutput($id,1,hexdec($arr[0])); 
        an Ausgang 1

        Ohne jetzt spezielle Werte zusammenzusetzen, ist das ein 10 Zeiler.
        Zuletzt geändert von vento66; 04.11.2020, 07:03.

        Kommentar


          #19
          Hallo,

          mein Logikbaustein ist fertig und funktioniert einwandfrei.

          Das einzige was noch nicht ganz passt ist, das bei Projektaktivierung ins Fehlerlog geschrieben wird.
          Ich denke das kommt weil beim Start das Array noch nicht befüllt ist.
          Wie kann ich das noch ändern?

          Hier die letzten Fehlereinträge:

          Code:
           [TABLE="class: log, border: 0, cellpadding: 0, cellspacing: 0, width: 0, height: 12"]
           	 		[TR="class: sErr"]
           			[TD]2020-11-07 18:23:38[/TD]
           			[TD]946300[/TD]
           			[TD]?[/TD]
           			[TD]15693[/TD]
           			[TD]Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19000002.php | Fehlercode: 8 | Zeile: 101 | Undefined offset: 84[/TD]
           			[TD]ERROR[/TD]
           		[/TR]
           		[TR="class: sErr"]
           			[TD]2020-11-07 18:23:38[/TD]
           			[TD]950809[/TD]
           			[TD]?[/TD]
           			[TD]15693[/TD]
           			[TD]Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19000002.php | Fehlercode: 8 | Zeile: 103 | Undefined offset: 290[/TD]
           			[TD]ERROR[/TD]
           		[/TR]
           		[TR="class: sErr"]
           			[TD]2020-11-07 18:23:38[/TD]
           			[TD]951586[/TD]
           			[TD]?[/TD]
           			[TD]15693[/TD]
           			[TD]Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19000002.php | Fehlercode: 8 | Zeile: 105 | Undefined offset: 88[/TD]
           			[TD]ERROR[/TD]
           		[/TR]
           		[TR="class: sErr"]
           			[TD]2020-11-07 18:23:38[/TD]
           			[TD]952224[/TD]
           			[TD]?[/TD]
           			[TD]15693[/TD]
           			[TD]Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19000002.php | Fehlercode: 8 | Zeile: 107 | Undefined offset: 90[/TD]
           			[TD]ERROR[/TD]
           		[/TR]
           		[TR="class: sErr"]
           			[TD]2020-11-07 18:23:38[/TD]
           			[TD]952888[/TD]
           			[TD]?[/TD]
           			[TD]15693[/TD]
           			[TD]Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19000002.php | Fehlercode: 8 | Zeile: 109 | Undefined offset: 92[/TD]
           			[TD]ERROR[/TD]
           		[/TR]
           		[TR="class: sErr"]
           			[TD]2020-11-07 18:23:38[/TD]
           			[TD]965915[/TD]
           			[TD]?[/TD]
           			[TD]15693[/TD]
           			[TD]Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19000002.php | Fehlercode: 8 | Zeile: 111 | Undefined offset: 94[/TD]
           			[TD]ERROR[/TD]
           		[/TR]
           		[TR="class: sErr"]
           			[TD]2020-11-07 18:23:38[/TD]
           			[TD]966726[/TD]
           			[TD]?[/TD]
           			[TD]15693[/TD]
           			[TD]Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19000002.php | Fehlercode: 8 | Zeile: 113 | Undefined offset: 96[/TD]
           			[TD]ERROR[/TD]
           		[/TR]
           		[TR="class: sErr"]
           			[TD]2020-11-07 18:23:38[/TD]
           			[TD]968888[/TD]
           			[TD]?[/TD]
           			[TD]15693[/TD]
           			[TD]Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19000002.php | Fehlercode: 8 | Zeile: 115 | Undefined offset: 98[/TD]
           			[TD]ERROR[/TD]
           		[/TR]
           		[TR="class: sErr"]
           			[TD]2020-11-07 18:23:38[/TD]
           			[TD]969571[/TD]
           			[TD]?[/TD]
           			[TD]15693[/TD]
           			[TD]Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19000002.php | Fehlercode: 8 | Zeile: 117 | Undefined offset: 100[/TD]
           			[TD]ERROR[/TD]
           		[/TR]
           		[TR="class: sErr"]
           			[TD]2020-11-07 18:23:38[/TD]
           			[TD]981825[/TD]
           			[TD]?[/TD]
           			[TD]15693[/TD]
           			[TD]Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19000002.php | Fehlercode: 8 | Zeile: 119 | Undefined offset: 102[/TD]
           			[TD]ERROR[/TD]
           		[/TR]
           		[TR="class: sErr"]
           			[TD]2020-11-07 18:23:41[/TD]
           			[TD]874485[/TD]
           			[TD]?[/TD]
           			[TD]15739[/TD]
           			[TD]Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19000001.php | Fehlercode: 2 | Zeile: 80 | Division by zero[/TD]
           			[TD]ERROR[/TD]
           		[/TR]
           		[TR="class: sErr"]
           			[TD]2020-11-07 18:23:41[/TD]
           			[TD]879014[/TD]
           			[TD]?[/TD]
           			[TD]15739[/TD]
           			[TD]Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19000001.php | Fehlercode: 2 | Zeile: 82 | Division by zero[/TD]
           			[TD]ERROR[/TD]
           		[/TR]
           		[TR="class: sErr"]
           			[TD]2020-11-07 18:23:41[/TD]
           			[TD]879905[/TD]
           			[TD]?[/TD]
           			[TD]15739[/TD]
           			[TD]Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19000001.php | Fehlercode: 2 | Zeile: 84 | Division by zero[/TD]
           			[TD]ERROR[/TD]
           		[/TR]
           		[TR="class: sErr"]
           			[TD]2020-11-07 18:23:41[/TD]
           			[TD]880702[/TD]
           			[TD]?[/TD]
           			[TD]15739[/TD]
           			[TD]Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19000001.php | Fehlercode: 2 | Zeile: 86 | Division by zero[/TD]
           			[TD]ERROR[/TD]
           		[/TR]
           		[TR="class: sErr"]
           			[TD]2020-11-07 18:23:41[/TD]
           			[TD]881475[/TD]
           			[TD]?[/TD]
           			[TD]15739[/TD]
           			[TD]Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19000001.php | Fehlercode: 2 | Zeile: 88 | Division by zero[/TD]
           			[TD]ERROR[/TD]
           		[/TR]
           	 [/TABLE]
          Hier ist der LBS:

          PHP-Code:
          ###[DEF]###
          [name = Atlas]

          [e#1 = Trigger != 0]
          [e#2 = IP]
          [e#3 = TraceLog #init=0 ]

          [a#1 = Kompressorauslass]
          [a#2 = relative Feuchtigkeit]
          [a#3 = Vessel Pressure]
          [a#4 = Elementauslass]
          [a#5 = Drucktaupunkt]
          [a#6 = Umgebungsluft]
          [a#7 = Wassereinlass]
          [a#8 = Wasserauslass]
          [a#9 = Notaus]
          [a#10 = Ventilatorüberlast]
          [a#11 = Fernstart]
          [a#12 = Kondensatablass]
          [a#13 = Active Power Supply]
          [a#14 = Phasenfolge]
          [a#15 = Luftfilter]
          [a#16 = Druckbandauswahl]
          [a#17 = Betriebsstunden]
          [a#18 = Laststunden]
          [a#19 = Motorstarts]
          [a#20 = Lastspiele]
          [a#21 = Drehzahlanteil 0-20%]
          [a#22 = Drehzahlanteil 20-40%]
          [a#23 = Drehzahlanteil 40-60%]
          [a#24 = Drehzahlanteil 60-80%]
          [a#25 = Drehzahlanteil 80-100%]
          [a#26 = Trocknerstarts]
          [a#27 = Lüfterstarts]
          [a#28 = Erzeugte Druckluftmenge]
          [a#29 = Reglerstunden]
          [a#30 = Abschaltungen Notaus]
          [a#31 = Direkte Stops]
          [a#32 = Starts Luftrückführung]
          [a#33 = Fehler Luftrückführung]
          [a#34 = Geringe Laststunden]
          [a#35 = Available Hours]
          [a#36 = Unavailable Hours]
          [a#37 = Emergency Stop Hours]
          [a#38 = Derating Weak Grid Hours]
          [a#39 = Derating Starts Weak Grid]
          [a#40 = Additional Derating Starts Weak Grid]
          [a#41 = Umrichter rpm]
          [a#42 = Umrichter %]
          [a#43 = Umrichter Ampere]
          [a#44 = Maschinenstatus]
          [a#45 = DA1]
          [a#46 = DA2]
          [a#47 = DA3]
          [a#48 = DA4]
          [a#49 = DA5]
          [a#50 = DA6]
          [a#51 = DA7]
          [a#52 = DA8]
          [a#53 = String]
          [a#54 = Abfragefehler]

          [v#1 = 0] 1 wenn EXEC-Script läuft
          [v#2 = -1] letzteStatusId
          [v#3 = 0]

          ###[/DEF]###
          ###[HELP]###
          ###[/HELP]###

          ###[LBS]###
          <?
          function LB_LBSID($id) {
          if ($E=logic_getInputs($id)) {
          if ($E[1]['value']!=0 && $E[1]['refresh']==1) {
          if (logic_getVar($id, 1)==0) {
          logic_setVar($id, 1, 1); // EXEC-Skript blockieren
          logic_callExec(LBSID,$id);
          }
          }
          }
          }
          ?>
          ###[/LBS]###

          ###[EXEC]###
          <?
          // ===== Vorbereitung
          require(dirname(__FILE__)."/../../../../main/include/php/incl_lbsexec.php");
          set_time_limit(30); // in Sekunden
          sql_connect();

          if ($E=logic_getInputs($id)) {
          $fehler = false;
          $ip = $E[2]['value'];
          $trace = $E[3]['value'];

          $vars = logic_getVars($id);
          $letzteStatusId = $vars[1];

          $url = "http://" . $ip . "/cgi-bin/mkv.cgi";
          $data ='QUESTION=30020830020930020b30020d30020e30020f300 21030021130030130030230030330030430030530030630030 730030a3007013007023007033007043007053007063007073 0070830070930070a30070b30070c30070d30070e30070f300 71430071530071830072230072330072430072530072630072 730210130210530210a3005013005023005033005043005053 00506300507300508300509300e02300e03300e04300e18300 e2a31130131130331130431130531130731130831130931130 a31130b31130c31130d31130e31130f3113103113113113123 1131331131431131531131631131731131831131931131a311 31b31131c31131d31131e31131f31132031132131132231132 331132431132531132631132731132831132931132a31132b3 1132c31132d31132e31132f311330311331311332311333311 33431133531133631133731133831133931133a31133b31133 c31133d31133e31133f3113403113413113423113433113443 1134531134631134731134831134931134a31134b31134c311 34d31134e31134f31135031135131135231135331135431135 531135631135731135831135931135a31135b31135c31135d3 1135e31135f311360311361311362311363311364311365311 36631136731140131140231140331140431140531140631140 731140831140931140a31140b31140c31140d31140e31140f3 11410311411311412300901300906300911300907300912300 90930010830140830140930141a30141b';

          $ch = curl_init();
          curl_setopt($ch, CURLOPT_URL, $url);
          curl_setopt($ch, CURLOPT_RETURNTRANSFER , 1);
          curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
          curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
          $content = curl_exec($ch);

          if ($content === false)
          {
          if ($trace != 0)
          writeToCustomLog("Atlas$id", 'debug' , "Abfrage der Daten, content === false. Fehler: " . curl_error($ch));
          $fehler = true;
          curl_close($ch);
          }
          else
          {
          curl_close($ch);

          $arr = str_split($content, 4);

          logic_setOutput($id,1,((hexdec($arr[0]))/1000)); //Kompressorauslass

          logic_setOutput($id,2,hexdec($arr[2])); //relative Feuchtigkeit

          logic_setOutput($id,3,((hexdec($arr[4]))/1000)); //Vessel Pressure

          logic_setOutput($id,4,((hexdec($arr[6]))/10)); //Elementauslass

          logic_setOutput($id,5,((hexdec($arr[8]))/10)); //Drucktaupunkt

          logic_setOutput($id,6,((hexdec($arr[10]))/10)); //Umgebungsluft

          logic_setOutput($id,7,((hexdec($arr[12]))/10)); //Wassereinlass

          logic_setOutput($id,8,((hexdec($arr[14]))/10)); //Wasserauslass

          logic_setOutput($id,9,hexdec($arr[16])); //Notaus

          logic_setOutput($id,10,hexdec($arr[18])); //Ventilatorüberlast

          logic_setOutput($id,11,hexdec($arr[20])); //Fernstart

          logic_setOutput($id,12,hexdec($arr[22])); //Kondensatablass

          logic_setOutput($id,13,hexdec($arr[24])); //Active Power Supply

          logic_setOutput($id,14,hexdec($arr[26])); //Phasenfolge

          logic_setOutput($id,15,hexdec($arr[28])); //Luftfilter

          logic_setOutput($id,16,hexdec($arr[30])); //Druckbandauswahl

          logic_setOutput($id,17,((hexdec($arr[32].$arr[33]))/3600)); //Betriebsstunden

          logic_setOutput($id,18,((hexdec($arr[34].$arr[35]))/3600)); //Laststunden

          logic_setOutput($id,19,hexdec($arr[36].$arr[37])); //Motorstarts

          logic_setOutput($id,20,hexdec($arr[38].$arr[39])); //Lastspiele

          logic_setVar($id,3,((hexdec($arr[40].$arr[41]))+(hexdec($arr[42].$arr[43]))+(hexdec($arr[44].$arr[45]))+(hexdec($arr[46].$arr[47]))+(hexdec($arr[48].$arr[49])))); //Variable Drehzahlanteil gesamt

          logic_setOutput($id,21,(((hexdec($arr[40].$arr[41])*100)/$vars[3]))); //Drehzahlanteil 1-20%

          logic_setOutput($id,22,(((hexdec($arr[42].$arr[43])*100)/$vars[3]))); //Drehzahlanteil 20-40%

          logic_setOutput($id,23,(((hexdec($arr[44].$arr[45])*100)/$vars[3]))); //Drehzahlanteil 40-60%

          logic_setOutput($id,24,(((hexdec($arr[46].$arr[47])*100)/$vars[3]))); //Drehzahlanteil 60-80%

          logic_setOutput($id,25,(((hexdec($arr[48].$arr[49])*100)/$vars[3]))); //Drehzahlanteil 80-100%

          logic_setOutput($id,26,hexdec($arr[50].$arr[51])); //Trocknerstarts

          logic_setOutput($id,27,hexdec($arr[52].$arr[53])); //Lüfterstarts

          logic_setOutput($id,28,((hexdec($arr[54].$arr[55])*1000))); //erzeugte Luftmenge

          logic_setOutput($id,29,((hexdec($arr[56].$arr[57]))/3600)); //Reglerstunden

          logic_setOutput($id,30,hexdec($arr[58].$arr[59])); //abschaltungen Notaus

          logic_setOutput($id,31,hexdec($arr[60].$arr[61])); //direkte Stopps

          logic_setOutput($id,32,hexdec($arr[62].$arr[63])); //Starts Luftrückführung

          logic_setOutput($id,33,hexdec($arr[64].$arr[65])); //Fehler Luftrückführung

          logic_setOutput($id,34,((hexdec($arr[66].$arr[67]))/3600)); //Geringe Last Stunden

          logic_setOutput($id,35,((hexdec($arr[68].$arr[69]))/3600)); //Available Hours

          logic_setOutput($id,36,((hexdec($arr[70].$arr[71]))/3600)); //Unavailable Hours

          logic_setOutput($id,37,((hexdec($arr[72].$arr[73]))/3600)); //Emergency Stop Hours

          logic_setOutput($id,38,((hexdec($arr[74].$arr[75]))/3600)); //Derating Weak Grid Hours

          logic_setOutput($id,39,hexdec($arr[76].$arr[77])); //Derating Starts Weak Grid

          logic_setOutput($id,40,hexdec($arr[78].$arr[79])); //Additional Derating Starts Weak Grid

          logic_setOutput($id,41,hexdec($arr[81])); //Umrichter rpm

          logic_setOutput($id,42,hexdec($arr[83])); //Umrichter %

          logic_setOutput($id,43,hexdec($arr[84])); //Umrichter Ampere

          logic_setOutput($id,44,hexdec($arr[290])); //Maschinenstatus

          logic_setOutput($id,45,hexdec($arr[88])); //

          logic_setOutput($id,46,hexdec($arr[90])); //

          logic_setOutput($id,47,hexdec($arr[92])); //

          logic_setOutput($id,48,hexdec($arr[94])); //

          logic_setOutput($id,49,hexdec($arr[96])); //

          logic_setOutput($id,50,hexdec($arr[98])); //

          logic_setOutput($id,51,hexdec($arr[100])); //

          logic_setOutput($id,52,hexdec($arr[102])); //

          logic_setOutput($id,53,$content); // String

          }
          if($fehler == false)
          {
          logic_setOutput($id, 54, 0);
          }
          else
          {
          logic_setOutput($id, 54, 1);
          }

          }

          logic_setVar($id, 1, 0); // EXEC-Skript freigeben
          sql_disconnect();



          ?>
          ###[/EXEC]###

          Kommentar


            #20
            Dann versuchs mal hiermit:

            PHP-Code:
            ###[DEF]###
            [name = Atlas]

            [e#1 = Trigger != 0]
            [e#2 = IP]
            [e#3 = TraceLog #init=0 ]

            [a#1 = Kompressorauslass]
            [a#2 = relative Feuchtigkeit]
            [a#3 = Vessel Pressure]
            [a#4 = Elementauslass]
            [a#5 = Drucktaupunkt]
            [a#6 = Umgebungsluft]
            [a#7 = Wassereinlass]
            [a#8 = Wasserauslass]
            [a#9 = Notaus]
            [a#10 = Ventilatorüberlast]
            [a#11 = Fernstart]
            [a#12 = Kondensatablass]
            [a#13 = Active Power Supply]
            [a#14 = Phasenfolge]
            [a#15 = Luftfilter]
            [a#16 = Druckbandauswahl]
            [a#17 = Betriebsstunden]
            [a#18 = Laststunden]
            [a#19 = Motorstarts]
            [a#20 = Lastspiele]
            [a#21 = Drehzahlanteil 0-20%]
            [a#22 = Drehzahlanteil 20-40%]
            [a#23 = Drehzahlanteil 40-60%]
            [a#24 = Drehzahlanteil 60-80%]
            [a#25 = Drehzahlanteil 80-100%]
            [a#26 = Trocknerstarts]
            [a#27 = Lüfterstarts]
            [a#28 = Erzeugte Druckluftmenge]
            [a#29 = Reglerstunden]
            [a#30 = Abschaltungen Notaus]
            [a#31 = Direkte Stops]
            [a#32 = Starts Luftrückführung]
            [a#33 = Fehler Luftrückführung]
            [a#34 = Geringe Laststunden]
            [a#35 = Available Hours]
            [a#36 = Unavailable Hours]
            [a#37 = Emergency Stop Hours]
            [a#38 = Derating Weak Grid Hours]
            [a#39 = Derating Starts Weak Grid]
            [a#40 = Additional Derating Starts Weak Grid]
            [a#41 = Umrichter rpm]
            [a#42 = Umrichter %]
            [a#43 = Umrichter Ampere]
            [a#44 = Maschinenstatus]
            [a#45 = DA1]
            [a#46 = DA2]
            [a#47 = DA3]
            [a#48 = DA4]
            [a#49 = DA5]
            [a#50 = DA6]
            [a#51 = DA7]
            [a#52 = DA8]
            [a#53 = String]
            [a#54 = Abfragefehler]

            [v#1 = 0] 1 wenn EXEC-Script läuft
            [v#2 = -1] letzteStatusId
            [v#3 = 0]

            ###[/DEF]###
            ###[HELP]###
            ###[/HELP]###

            ###[LBS]###
            <?
            function LB_LBSID( $id ) {
            if ( $E = logic_getInputs( $id ) ) {
            if ( $E[ 1 ][ 'value' ] != 0 && $E[ 1 ][ 'refresh' ] == 1 ) {
            if ( logic_getVar( $id, 1 ) == 0 ) {
            logic_setVar( $id, 1, 1 ); // EXEC-Skript blockieren
            logic_callExec( LBSID, $id );
            }
            }
            }
            }
            ?>
            ###[/LBS]###

            ###[EXEC]###
            <?
            // ===== Vorbereitung
            require(dirname(__FILE__)."/../../../../main/include/php/incl_lbsexec.php");
            set_time_limit(30); // in Sekunden
            sql_connect();

            if ($E=logic_getInputs($id)) {
            $fehler = false;
            $ip = $E[2]['value'];
            $trace = $E[3]['value'];

            $vars = logic_getVars($id);
            $letzteStatusId = $vars[1];

            $url = "http://" . $ip . "/cgi-bin/mkv.cgi";
            $data ='QUESTION=30020830020930020b30020d30020e30020f300 21030021130030130030230030330030430030530030630030 730030a3007013007023007033007043007053007063007073 0070830070930070a30070b30070c30070d30070e30070f300 71430071530071830072230072330072430072530072630072 730210130210530210a3005013005023005033005043005053 00506300507300508300509300e02300e03300e04300e18300 e2a31130131130331130431130531130731130831130931130 a31130b31130c31130d31130e31130f3113103113113113123 1131331131431131531131631131731131831131931131a311 31b31131c31131d31131e31131f31132031132131132231132 331132431132531132631132731132831132931132a31132b3 1132c31132d31132e31132f311330311331311332311333311 33431133531133631133731133831133931133a31133b31133 c31133d31133e31133f3113403113413113423113433113443 1134531134631134731134831134931134a31134b31134c311 34d31134e31134f31135031135131135231135331135431135 531135631135731135831135931135a31135b31135c31135d3 1135e31135f311360311361311362311363311364311365311 36631136731140131140231140331140431140531140631140 731140831140931140a31140b31140c31140d31140e31140f3 11410311411311412300901300906300911300907300912300 90930010830140830140930141a30141b';

            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER , 1);
            curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
            curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
            $content = curl_exec($ch);

            if ( $content === false ) {
            if ( $trace != 0 )
            writeToCustomLog( "Atlas$id", 'debug', "Abfrage der Daten, content === false. Fehler: " . curl_error( $ch ) );
            $fehler = true;
            curl_close( $ch );
            } else {
            $arr  = null;
            curl_close( $ch );
            $arr = str_split($content, 4);

            if(is_array($arr)){

            logic_setOutput($id,1,((hexdec($arr[0]))/1000)); //Kompressorauslass

            logic_setOutput($id,2,hexdec($arr[2])); //relative Feuchtigkeit

            logic_setOutput($id,3,((hexdec($arr[4]))/1000)); //Vessel Pressure

            logic_setOutput($id,4,((hexdec($arr[6]))/10)); //Elementauslass

            logic_setOutput($id,5,((hexdec($arr[8]))/10)); //Drucktaupunkt

            logic_setOutput($id,6,((hexdec($arr[10]))/10)); //Umgebungsluft

            logic_setOutput($id,7,((hexdec($arr[12]))/10)); //Wassereinlass

            logic_setOutput($id,8,((hexdec($arr[14]))/10)); //Wasserauslass

            logic_setOutput($id,9,hexdec($arr[16])); //Notaus

            logic_setOutput($id,10,hexdec($arr[18])); //Ventilatorüberlast

            logic_setOutput($id,11,hexdec($arr[20])); //Fernstart

            logic_setOutput($id,12,hexdec($arr[22])); //Kondensatablass

            logic_setOutput($id,13,hexdec($arr[24])); //Active Power Supply

            logic_setOutput($id,14,hexdec($arr[26])); //Phasenfolge

            logic_setOutput($id,15,hexdec($arr[28])); //Luftfilter

            logic_setOutput($id,16,hexdec($arr[30])); //Druckbandauswahl

            logic_setOutput($id,17,((hexdec($arr[32].$arr[33]))/3600)); //Betriebsstunden

            logic_setOutput($id,18,((hexdec($arr[34].$arr[35]))/3600)); //Laststunden

            logic_setOutput($id,19,hexdec($arr[36].$arr[37])); //Motorstarts

            logic_setOutput($id,20,hexdec($arr[38].$arr[39])); //Lastspiele

            logic_setVar($id,3,((hexdec($arr[40].$arr[41]))+(hexdec($arr[42].$arr[43]))+(hexdec($arr[44].$arr[45]))+(hexdec($arr[46].$arr[47]))+(hexdec($arr[48].$arr[49])))); //Variable Drehzahlanteil gesamt

            logic_setOutput($id,21,(((hexdec($arr[40].$arr[41])*100)/$vars[3]))); //Drehzahlanteil 1-20%

            logic_setOutput($id,22,(((hexdec($arr[42].$arr[43])*100)/$vars[3]))); //Drehzahlanteil 20-40%

            logic_setOutput($id,23,(((hexdec($arr[44].$arr[45])*100)/$vars[3]))); //Drehzahlanteil 40-60%

            logic_setOutput($id,24,(((hexdec($arr[46].$arr[47])*100)/$vars[3]))); //Drehzahlanteil 60-80%

            logic_setOutput($id,25,(((hexdec($arr[48].$arr[49])*100)/$vars[3]))); //Drehzahlanteil 80-100%

            logic_setOutput($id,26,hexdec($arr[50].$arr[51])); //Trocknerstarts

            logic_setOutput($id,27,hexdec($arr[52].$arr[53])); //Lüfterstarts

            logic_setOutput($id,28,((hexdec($arr[54].$arr[55])*1000))); //erzeugte Luftmenge

            logic_setOutput($id,29,((hexdec($arr[56].$arr[57]))/3600)); //Reglerstunden

            logic_setOutput($id,30,hexdec($arr[58].$arr[59])); //abschaltungen Notaus

            logic_setOutput($id,31,hexdec($arr[60].$arr[61])); //direkte Stopps

            logic_setOutput($id,32,hexdec($arr[62].$arr[63])); //Starts Luftrückführung

            logic_setOutput($id,33,hexdec($arr[64].$arr[65])); //Fehler Luftrückführung

            logic_setOutput($id,34,((hexdec($arr[66].$arr[67]))/3600)); //Geringe Last Stunden

            logic_setOutput($id,35,((hexdec($arr[68].$arr[69]))/3600)); //Available Hours

            logic_setOutput($id,36,((hexdec($arr[70].$arr[71]))/3600)); //Unavailable Hours

            logic_setOutput($id,37,((hexdec($arr[72].$arr[73]))/3600)); //Emergency Stop Hours

            logic_setOutput($id,38,((hexdec($arr[74].$arr[75]))/3600)); //Derating Weak Grid Hours

            logic_setOutput($id,39,hexdec($arr[76].$arr[77])); //Derating Starts Weak Grid

            logic_setOutput($id,40,hexdec($arr[78].$arr[79])); //Additional Derating Starts Weak Grid

            logic_setOutput($id,41,hexdec($arr[81])); //Umrichter rpm

            logic_setOutput($id,42,hexdec($arr[83])); //Umrichter %

            logic_setOutput($id,43,hexdec($arr[84])); //Umrichter Ampere

            logic_setOutput($id,44,hexdec($arr[290])); //Maschinenstatus

            logic_setOutput($id,45,hexdec($arr[88])); //

            logic_setOutput($id,46,hexdec($arr[90])); //

            logic_setOutput($id,47,hexdec($arr[92])); //

            logic_setOutput($id,48,hexdec($arr[94])); //

            logic_setOutput($id,49,hexdec($arr[96])); //

            logic_setOutput($id,50,hexdec($arr[98])); //

            logic_setOutput($id,51,hexdec($arr[100])); //

            logic_setOutput($id,52,hexdec($arr[102])); //

            logic_setOutput($id,53,$content); // String
            }
            }

            if ( $fehler == false ) {
            logic_setOutput( $id, 54, 0 );
            } else {
            logic_setOutput( $id, 54, 1 );
            }

            }

            logic_setVar($id, 1, 0); // EXEC-Skript freigeben
            sql_disconnect();



            ?>
            ###[/EXEC]###

            Kommentar


              #21
              Funktioniert
              Danke an alle für die Hilfe

              Kommentar

              Lädt...
              X