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

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

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

  1. #41
    Registriert seit
    20.01.2012
    Beiträge
    157
    Danke
    0
    Erhielt 57 Danke für 54 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 Benutzer
    Themenstarter
    Registriert seit
    16.04.2014
    Beiträge
    98
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    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)

Ä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
  •