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($str, 4); 
        
        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