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

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

Thema: String Variable in AWL beschreiben

  1. #1
    Registriert seit
    04.04.2011
    Beiträge
    22
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo

    ich hab eine wohl ziemlich oofe Frage.
    Ich möchte einfach nur eine string variable die ich angelegt hab in awl beschreiben. Aber irgendwie bin ich wohl zu doof dafür.

    Code:
     
    variable = 'hallo welt'
    wie funktioniert das ?

    Gruß
    Zitieren Zitieren String Variable in AWL beschreiben  

  2. #2
    Registriert seit
    11.09.2007
    Ort
    Suedwestpfalz
    Beiträge
    917
    Danke
    81
    Erhielt 209 Danke für 192 Beiträge

    Standard

    Ein String ist im Grunde ein ARRAY of BYTE, in einem DB angelegt.

    Die einfachversion ist dann

    Code:
     
    L 'hall'
    T dbxx.DBDy
     
    L 'o we'
    T DBxx.DBD(y+4)
     
    usw.
    Das Grauen lauert in der Zwischenablage !!

  3. #3
    jaepen ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    04.04.2011
    Beiträge
    22
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    und wenn ichs über den variablenname machen möchte?
    Zitieren Zitieren danke  

  4. #4
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.220
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    Zitat Zitat von jaepen Beitrag anzeigen
    und wenn ichs über den variablenname machen möchte?
    Da ich das oft benötige, habe ich mir in SCL einen kleinen FC dafür gemacht.
    Der tut nichts weiter, als den String am Input auf den String am Output umzukopieren. Wenn du kein SCL hast, kann ich den auch gerne hier einstellen

    Code:
    FUNCTION FC254 : INT
    
    Title = 'String umkopieren'
    //
    // String umkopieren
    //
    Version : '1.0'
    author  : ralle
    name    : STR_KOP
    family  : SYSTEM
    
    VAR_INPUT
       // Eingangsparameter
       InString: STRING;
    END_VAR
    
    VAR_OUTPUT 
       // Ausgangsparameter
       OutString: STRING;
    END_VAR
    
    VAR_TEMP
        // temporäre Variablen
    END_VAR
    
    // Anweisungsteil
        OutString := InString;
       
        ;
        FC254 := 100;
    END_FUNCTION
    Eine Alternative wäre noch der SFC20, mit dem geht das auch!
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  5. #5
    jaepen ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    04.04.2011
    Beiträge
    22
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    hmm, also an scl hab ich auch schon gedacht. einen extra fc dafür zu schreiben erscheint mir etwas aufwendig?

    an den sfc 20 hab ich auch schon gedacht. Aber wie gebe ich dabei meinen Eingangsstring an?

  6. #6
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.220
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    Zitat Zitat von jaepen Beitrag anzeigen
    hmm, also an scl hab ich auch schon gedacht. einen extra fc dafür zu schreiben erscheint mir etwas aufwendig?

    an den sfc 20 hab ich auch schon gedacht. Aber wie gebe ich dabei meinen Eingangsstring an?
    Den String gibst du Symbolisch an. Du legst einen DB an, in welchen die Strings definiert sind, z.Bsp. DB 20, dann schreibst du:

    DB20.str_rcv

    wobei str_rcv z.Bsp. als String[32] definiert sein kann.

    DB20 würde sich auch noch eine Symbolik geben, z.Bsp. MyString, dann

    "MyString".str_rcv an den SFC20 schreiben.

    PS: Klar, der extra FC muß nicht sein, aber ursprünglich hat der noch mehr getan.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  7. #7
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.850
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard

    die sfc20 erwartet einen parameter vom typ any.
    siehe bild
    instring sieht direkt addressiert so aus
    P#db1.dbx0.0 byte 22
    Angehängte Grafiken Angehängte Grafiken
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  8. #8
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    Zitat Zitat von dtsclipper Beitrag anzeigen
    Ein String ist im Grunde ein ARRAY of BYTE, in einem DB angelegt.
    Nur dass bei euren Versionen das Setzen der korrekten Stringlänge fehlt.
    Macht man das nicht, arbeiten die diversen String-Funktionen aus der Standard-Lib auf diesem String nicht mehr wie gewünscht.

  9. #9
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.220
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    Zitat Zitat von volker Beitrag anzeigen
    die sfc20 erwartet einen parameter vom typ any.
    siehe bild
    instring sieht direkt addressiert so aus
    P#db1.dbx0.0 byte 22
    Bei einem String, kann man direkt die String-Variable symbolisch an den SFC20 schreiben!
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  10. #10
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.220
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Thomas_v2.1 Beitrag anzeigen
    Nur dass bei euren Versionen das Setzen der korrekten Stringlänge fehlt.
    Macht man das nicht, arbeiten die diversen String-Funktionen aus der Standard-Lib auf diesem String nicht mehr wie gewünscht.
    Wenn man einen DB nimmt und dort einen String definiert und den schon vorbelegt, dann paßt der Stringkopf und muß nicht per Hand befummelt werden. Wichtig ist das hauptsächlich bei Temp-String, die zur Laufzeit gefüllt werden aber verkehrt ist es auch nicht, die Köpfe zumindest mal zu kontrollieren.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

Ähnliche Themen

  1. String Variable
    Von Anger im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 01.03.2011, 18:09
  2. String beschreiben
    Von Bensen83 im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 30.06.2010, 13:03
  3. String beschreiben
    Von manas im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 16.03.2010, 17:04
  4. Konstante String in Variable String schreiben
    Von sailor im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 07.12.2009, 18:01
  5. Antworten: 1
    Letzter Beitrag: 01.07.2009, 11:56

Lesezeichen

Berechtigungen

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