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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Array als String darstellen

  1. #1
    Registriert seit
    19.03.2004
    Beiträge
    35
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi zusammen,

    ich kopiere mir über den SFC20 verschiende Wörter (Buchstaben) in einen Datenbaustein; gnauergesagt in 10 array`s vom Typ char mit der Länge 8 Byte.

    Ich habe hier leider keinen Weg gefunden einen Screenshot einzubinden. Also kurz per Hand

    4 out Ende_Messdurchgang1[1] char ' ' ',,'
    5 out Ende_Messdurchgang1[2] char ' '
    6 out Ende_Messdurchgang1[3] char ' ' 'B'
    7 out Ende_Messdurchgang1[4] char ' ' 'R'
    8 out Ende_Messdurchgang1[5] char ' ' 'U'
    9 out Ende_Messdurchgang1[6] char ' ' 'C'
    10 out Ende_Messdurchgang1[7] char ' ' 'H'
    11 out Ende_Messdurchgang1[8] char ' ' ' '
    12 out Ende_Messdurchgang2[1] char ' ' ',,'
    13 out Ende_Messdurchgang2[2] char ' '
    14 out Ende_Messdurchgang2[3] char ' ' 'A'
    15 out Ende_Messdurchgang2[4] char ' ' 'N'
    16 out Ende_Messdurchgang2[5] char ' ' 'R'
    17 out Ende_Messdurchgang2[6] char ' ' 'I'
    18 out Ende_Messdurchgang2[7] char ' ' 'S'
    19 out Ende_Messdurchgang2[8] char ' ' 'S'
    29 out Ende_Messdurchgang3[1] char ' ' ',,'

    usw
    (leider übernimmt das System hier im Forum nicht meine Abstände, so dass Ihr es nahe beieinander sehen werdet.....) Naja, das Zeichen ganz rechts stellt jeweils den Aktualwert dar.

    Meine Absicht war es immer die ersten beiden Bytes des Strings frei zu lassen. Laut Doku benötigt der Datentyp string 2 Bytes für maximale Länge des Strings und die tatsächliche Stringlänge.

    Wenn ich die array`s in ProTool als String darstelle fehlt jeweils der erste Buchstabe meiner Wörter ; also wird irgendwie immer die Feld-Zelle [3] überschrieben. Woran kann das liegen oder was mache ich falsch ?


    Gruß

    Martin
    Zitieren Zitieren Array als String darstellen  

  2. #2
    Registriert seit
    30.08.2003
    Beiträge
    2.196
    Danke
    30
    Erhielt 258 Danke für 229 Beiträge

    Standard

    Hallo Diplomand,

    es macht aber schon nen Unterschied ob du ein Array of Char nimmst oder nen String. Da musste dich erstmal entscheiden.

    MfG
    André Räppel
    Zitieren Zitieren Strings  

  3. #3
    Registriert seit
    19.03.2004
    Beiträge
    35
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    N`Abend Andre,

    naja dann sag mir doch mal Bitte, wie ich ein array in einem Ausgabefeld in ProTool darstelle .....gibt es da einen Trick, den ich nicht kenne ?


    Gruß

    Martin

    P.s
    darfst ruhig Martin zu mir sagem weil *g* so heiße ich
    Zitieren Zitieren Array`s in ProTool ?  

  4. #4
    Registriert seit
    18.06.2003
    Beiträge
    141
    Danke
    0
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Hallo Martin

    am einfachsten ist es wenn du den CHAR-Format beibehältst und im Pro Tool als Ausgabevariable einen "StringOfChar" oder "CharOfString" (habs nicht im Kopf) und die genaue Länge deiner Zeichenkette eingibst.

    Falls du dich für String entscheidest, dann musst du deine CHAR-Kette in eine String-Kette umwandeln, ist nämlich nicht dasselbe. Das meint warscheinlich auch André.

    mfG churchill

  5. #5
    Registriert seit
    19.03.2004
    Beiträge
    35
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Morgen die Herren,

    versuchen wir es also kurz zusammen und Ihr haut mit auf die Finger, wenn ich etwas falsch mache

    Ich lege ein Ausgabefeld mit der Länge 6 an (die Wörter "Winkel, Anriss haben je 6 Buchtstaben; das Wort Bruch hat dagegen nur 5....hier fülle ich den letzten Buchstaben mit einem Leerzeichen). Ist das soweit ok ?

    Bei der Darstellungswahl des Ausgabefeldes wähle ich String, weil ich wohl kaum Dezimal, Hexadezimal,Binär, Datum oder Zeit nutzen kann !?

    Die Feldlänge gebe ich mit 6 an, da meine Wörter immer 6 Zeichen aufweisen

    Ich weise eine neue Variable zu. Dabei kann ich eben nur string wählen, weil mein Ausgabefeld den Typ string hat. Char oder sonstiges kann ich gar nicht anwählen !?

    Die Länge in Bytes gebe ich mit 6 an ( in meinem DB nimmt ein Wort 6 Bytes in Anspruch)

    Für Bereich gebe ich den den ersten Buchtstaben in meinem DB an


    Das funktioniert alles ja auch soweit nur wird eben der erste Buchstabe nicht in mein Ausgabefeld übernommen. Ich nehme an dieser wird irgendwie überschrieben ?


    Wo habe ich jetzt meine Denkbarriere ? Welchen Fehler übersehe ich oder was muß ich wo ändern ?

    Liebe Grüße

    Maddinsche
    Zitieren Zitieren ok, gehen wir das zusammen an  

  6. #6
    Registriert seit
    30.08.2003
    Beiträge
    2.196
    Danke
    30
    Erhielt 258 Danke für 229 Beiträge

    Standard

    Hallo Maddinsche,

    >>Für Bereich gebe ich den den ersten Buchstaben in meinem DB an

    Nein! Für Bereich gibst du die Anfangsadresse des Strings an, also die Kopfdaten. Ausserdem musst du im String mit der Aktuallänge initialisieren, in deinem Fall also 6.

    Stringlänge
    Aktuallänge
    Zeichen 1
    Zeichen 2
    Zeichen 3
    Zeichen 4
    Zeichen 5
    Zeichen 6

    MfG
    André Räppel
    Zitieren Zitieren String  

  7. #7
    Registriert seit
    19.03.2004
    Beiträge
    35
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Morgen Andre,

    also wenn ich bei den Kopfdaten anfange, bleibt mein Ausgabefeld ganz leer. Was tun ?

    Gruß

    Martin

    Ergänzend vielleicht ein Hinweis: wenn ich mir die aktuellen Werte in meinem DB ansehe, wird mir in der ersten Char-Zelle ; Feld 1 also ein komisches Zeichen angezeigt ....es sieht aus wie zwei Backslashes // in "Gänsefüßchengröße" " Ich weiß damit so gar nichts anzufangen
    Zitieren Zitieren Morgen mal erst  

  8. #8
    Registriert seit
    30.08.2003
    Beiträge
    2.196
    Danke
    30
    Erhielt 258 Danke für 229 Beiträge

    Standard

    Hallo,

    mail mir doch mal das Prog komplett. Ich guck mal

    andre.raeppel@sps-concept.de

    MfG
    André Räppel
    Zitieren Zitieren String  

  9. #9
    Registriert seit
    19.03.2004
    Beiträge
    35
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hi nochmal,

    *schmunzel* so einfach gebe ich nicht geschlagen von der Software. Ich versuche das heute nochmal und wenn ich dann bis morgen früh keine Lösung habe, schicke ich Dir das Teilprojekt ...

    Gruß

    Maddinsche
    Zitieren Zitieren den Tag gebe ich mir noch  

  10. #10
    Registriert seit
    18.06.2003
    Beiträge
    141
    Danke
    0
    Erhielt 4 Danke für 4 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Maddinsche

    Schau dir mal diese Erklärung an, es stammt aus der STEP 7-Hilfe

    Code:
    Format des Datentyps STRING 
    
    Datentyp 
     Länge (Byte) 
     Format 
     
    STRING[n] 
    oder 
    STRING 
     n+2 
     ASCII-Zeichenkette beliebiger Länge. n gibt die Länge der Zeichenkette an. Maximale Länge sind 254 Zeichen. Wird keine Länge angegeben, ist die Voreinstellung 254 Zeichen. 
     
    Datentyp 
     Beispiele für das Format 
     
    STRING[2] 
    STRING[55] 
     'AB' 
    'Die Zeichenkette kann aus maximal 55 Zeichen bestehen.' 
     
     Hinweis 
    Sie müssen Ihre Zeichenkette in einzelne Hochkommata einschließen. 
     
    Das folgende Beispiel zeigt die Reihenfolge der Bytes bei der Angabe des Datentyps STRING[4] mit dem Ausgangswert 'AB'. 
    
    Dynamische Lokaldaten vom Datentyp STRING müssen vom Anwender vor dem ersten Verwenden initialisiert werden, z.B. durch eine AWL-Sequenz der Form: 
    
    LAR1 P#lokal_string_var // lokal_string_var ist in VAR_TEMP deklariert als STRING[200] 
    
    L 200 // oben genannte STRING-Länge 
    
    T LB [AR1, P#0.0] // im MAX Len Byte des Strings eintragen 
    
    L 5 // tatsächliche Länge des Strings 
    
    T LB [AR1, P#1.0] // tatsächliche Länge des Strings eintragen 
    
    Hinweis 
    Wird der Inhalt eines Strings vom Anwenderprogramm geändert, muß auch das Byte "Tatsächliche Länge" beschrieben bzw. aktualisiert werden, damit der String vom PG angezeigt werden kann. 
    Wurde eine temporäre Variable vom Datentyp STRING definiert, muß das Byte "Max. Länge" vor der Verwendung der Variablen im Anwenderprogramm mit der definierten Länge beschrieben werden.
    mfG churchill

Ähnliche Themen

  1. String in Array
    Von bige im Forum CODESYS und IEC61131
    Antworten: 17
    Letzter Beitrag: 02.07.2014, 18:26
  2. Antworten: 4
    Letzter Beitrag: 09.09.2011, 09:19
  3. Array of Byte to String[12] ,S7
    Von sb9674 im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 28.09.2009, 19:15
  4. Antworten: 13
    Letzter Beitrag: 24.09.2009, 12:54
  5. String array in SQL
    Von dannyli im Forum Hochsprachen - OPC
    Antworten: 4
    Letzter Beitrag: 30.05.2009, 02:54

Lesezeichen

Berechtigungen

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