Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 5 von 5 ErsteErste ... 345
Ergebnis 41 bis 47 von 47

Thema: ASCII in STRING umwandeln, um Werte aus einer XML-Datei auszulesen

  1. #41
    Registriert seit
    20.01.2012
    Beiträge
    176
    Danke
    0
    Erhielt 62 Danke für 59 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    habe verschiedene Methoden überlegt was man da machen könnte, bin aber zu keinem vernünftigen Ergebnis gekommen, wie man das am besten lösen könnte. Entweder man programmiert einigermassen allgemeine Lösungen, so wie bei der XML Lösung oder man macht einzelne Lösungen, die für ein spezielles Problem da sind.

    Beispiel für eine allgemeine Lösung:

    Ausgang mit Array[1..10,1..2] OF STRING(20) -> entsprechende Wertepaare
    Code:
    Beispiel switch
    success result switches switch active switch active switch active '' ''
    true    {      [        1      true   2      false  3      false  ]  }
    
    Beispiel call status
    success result sessions session direction state   '' ''
    true    {      [        1       outgoing  ringing ]  }
    
    Beispiel error
    success error code param description ''
    false   {     12   port  invalid par }
    Da muß man dann wieder die ganzen Wertepaare durchgehen. Oder eine Lösung wie die der Lib von KLM gestern.

    Oder eben spezielle Funktionen wie
    FC_Switch_1 mit Eingang des ByteArray und Ausgang als Bool
    oder
    FC_Switches mit Eingang ByteArray und mehrere Ausgänge Switch1, Switch2 als Bool

    Ist natürlich auch einiges an Arbeit die ganzen Lösungen zu programmieren.

    Um daher auf Deine ursprüngliche Frage zurückzukommen, ich habe mir die Wago Bibliotheken noch einmal angesehen. Da gibt es die WagoAppString, die hat die Funktion 'StringRef_to_PrintableString', damit sollte man das Byte/CharArray in einen String umwandeln können.

    Code:
     
    StringRef_to_PrintableString (FUN)
    
    Interface variables 
    
    
    Scope  Name                   Type            Comment 
    
    Return StringRef_to_Printable String          STRING(255)   
    
    Input  pInString              POINTER TO BYTE pointer to the input string 
    
    Function
    
    Converts a reference to a character STRING into a CODESYS-printable string.
    
     
    Function Description
    
    Non-printable characters are converted to spaces (‘ ‘). If a zero is encountered, this will be interpreted as the end of the string. Upper Control chars like 16#7f (DEL) and 16#80..9f are printable in CODESYS and will thus not be replaced.
    Eine ähnliche Funktion ist in der Oscat lib. Da kann man den Quellcode ansehen. Oder Du folgst dem Github Link von hier: http://www.oscat.de/community/index....ic,4425.0.html da kannst Du den Quellcode direkt einsehen.

    Bei der Wago Funktion hast Du den Vorteil, daß einige nicht darstellbare Zeichen die im Array vorkommen ersetzt werden.

    Du mußt nur aufpassen, die max. Anzahl der Zeichen in den Strings beträgt bei Wago 255 und bei Oscat 250. Falls die Response mehr Zeichen hat mußt Du bei der Übergabe der Adresse des CharArray einen Offset dazuaddieren um andere Bereiche der Response auszuwerten.

    Leider läßt sich der Beschreibung auch nicht entnehmen ob die Antwort in Unicode ist oder nicht. Bei Unicode funktioniert das alles nicht. Laut Hilfe con e!cockpit wird zwar auch wstring unterstützt, aber die ganzen Funktionen spielen da (noch) nicht mit.

    Hoffe das hilft Dir etwas weiter.

  2. #42
    Lex ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    16.04.2014
    Beiträge
    115
    Danke
    2
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hi Thruser und KLM,

    vielen Dank für eure Anregungen und Vorschläge.
    Hätte eine Frage an den ersten Codebereich von dir Thruser.
    Fehlen bezüglich diesem Code nicht die Deklarierungen? Dies ist doch kein fertiges Programm zum filtern von den Zuständen der Switches?
    Werde aber den Support bezüglich einer fertigen Bibliothek zur Bearbeitungen von JSON-Daten in e!Cockpit erfragen.



    Gruß Lex
    Geändert von Lex (12.07.2018 um 00:35 Uhr)

  3. #43
    Registriert seit
    20.01.2012
    Beiträge
    176
    Danke
    0
    Erhielt 62 Danke für 59 Beiträge

    Standard

    Hallo Lex,

    kannst Du mir mal bitte ein paar Beispiele mit den Antworten geben. Am besten als Textdateien anhängen. Die Abfrage entweder mit dem Browser oder wget machen.

    Habe mein Controller endlich wieder am laufen und probier dann mal ein paar Sachen aus.

    Danke und Gruß

  4. #44
    Lex ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    16.04.2014
    Beiträge
    115
    Danke
    2
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hallo Thruser,

    eigentlich ist alles wie im Beitrag #35 im PDF vorhanden. Dort sind auch alle Antworten zur jeweiligen Http-Anfrage abgebildet.

    Hier nochmals der Link zum PDF:

    https://www.google.de/url?sa=t&sourc...eLcgeRbWLqpR86


    Von Interesse sind hauptsächlich folgende Kapitel:


    • Kapitel 5.9 (Switch-Status)
    • Kapite 5.12 (IO-Status)
    • Kapitel 5.15 (Call-Status)


    Im Anhang findest du dennoch die verlangten Textdokumente. Habe zusätzlich auch die .JSON-Dateien hinzugepackt.
    Ebenso bin ich sehr froh über deine Rückmeldung und möchte mich dafür sehr herzlich Bedanken!


    Gruß Lex
    Angehängte Dateien Angehängte Dateien

  5. #45
    Registriert seit
    20.01.2012
    Beiträge
    176
    Danke
    0
    Erhielt 62 Danke für 59 Beiträge

    Standard

    Hallo,

    in dem Dokument steht leider nicht ob die Einrückungen mit Tabs oder Leerzeichen erfolgen und welche/s Zeilenendezeichen verwendet wird. Auch ob Unicode oder ASCII steht nicht frin.

    Und so muß ich nicht alles abtippen und habe mal reale Daten zum testen.

    Danke und Gruß

  6. #46
    Lex ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    16.04.2014
    Beiträge
    115
    Danke
    2
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hi Thruser,

    wüsste nicht wie ich das realisieren soll das die Infos in den Daten drine enthalten sind. Habe dir deswegen die originalen JSON Dateien angehängt. Wenn du was wüsstest wie es funktioniert gib mir bitte grad bescheid.



    Gruß Lex

  7. #47
    Registriert seit
    20.01.2012
    Beiträge
    176
    Danke
    0
    Erhielt 62 Danke für 59 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi,
    Zitat Zitat von Lex Beitrag anzeigen
    Hi Thruser,

    wüsste nicht wie ich das realisieren soll das die Infos in den Daten drine enthalten sind. Habe dir deswegen die originalen JSON Dateien angehängt. Wenn du was wüsstest wie es funktioniert gib mir bitte grad bescheid.



    Gruß Lex
    alles Gut. Es ist alles enthalten. Man muß sich die Dateien nur mit dem Hex Editor ansehen. Oder online das Array in der SPS mit der Antwort.

    Gruß

Ähnliche Themen

  1. Beckhoff String Daten in ASCII umwandeln
    Von Tobi04 im Forum CODESYS und IEC61131
    Antworten: 11
    Letzter Beitrag: 04.01.2018, 17:46
  2. TIA Aus BYTE ASCII in String
    Von Münchnerjunge im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 21.09.2016, 16:02
  3. Suche Beispiel zum Einlesen einer XML-Datei
    Von Malcolm im Forum CODESYS und IEC61131
    Antworten: 7
    Letzter Beitrag: 09.04.2014, 19:35
  4. ASCII umwandeln aus RS232
    Von heppy im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 22.12.2011, 15:16
  5. Antworten: 1
    Letzter Beitrag: 06.03.2007, 09:57

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •