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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 14 von 14

Thema: string Variablen verschieben

  1. #11
    Avatar von Felse
    Felse ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.02.2009
    Ort
    Thüringen
    Beiträge
    218
    Danke
    91
    Erhielt 11 Danke für 7 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Eigenartigerweise gehts jetzt mit der if Anweisung...? Vorher hatte ich die besagten Fehlermeldungen. Naja jetz ist eh bald feierabend, falls ich noch ein prob hab meld ich mich nochmal.
    Siemens eben.
    " Immer schön locker durch die Hose atmen"

  2. #12
    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 sps-concept Beitrag anzeigen
    Der Kompiler benutzt dazu den BLKMOV.

    André
    Ne, das wüßte ich aber.
    Da mußt du einen anderen SCL-Compiler haben, als ich.

    Der Code, der obigen SCL-Funktion:
    generiert vom SCL Übersetzer Version: SCLCOMP K05.03.05.00_01.03.00.01 release

    Code:
          SET   
          SAVE  
          =     L      0.1
          L     P##OutString
          LAR1  
          L     W [AR1,P#0.0]
          T     LW    18
          AUF   DB [LW 18]
          L     D [AR1,P#2.0]
          LAR1  
          L     B [AR1,P#0.0]
          L     P##InString
          LAR1  
          TAK   
          L     W [AR1,P#0.0]
          T     LW    18
          AUF   DB [LW 18]
          TAK   
          L     D [AR1,P#2.0]
          LAR1  
          TAK   
          L     B [AR1,P#1.0]
          >=I   
          SPB   I007
          TAK   
    I007: L     P##OutString
          LAR1  
          TAK   
          L     W [AR1,P#0.0]
          T     LW    18
          TAK   
          AUF   DB [LW 18]
          L     D [AR1,P#2.0]
          LAR1  
          TAK   
          T     B [AR1,P#1.0]
          L     B#16#4
          /I    
          T     LW     4
          RRD   16
          T     LW     2
          L     P##OutString
          LAR1  
          L     D [AR1,P#2.0]
          T     LD     6
          L     P##OutString
          LAR1  
          L     W [AR1,P#0.0]
          T     LW    14
          L     P##InString
          LAR1  
          L     D [AR1,P#2.0]
          T     LD    10
          L     P##InString
          LAR1  
          L     W [AR1,P#0.0]
          T     LW    16
          L     B#16#0
          L     LW     4
          ==I   
          SPB   I008
    I009: T     LW     4
          LAR1  LD    10
          AUF   DB [LW 16]
          L     D [AR1,P#2.0]
          +AR1  P#4.0
          TAR1  LD    10
          LAR1  LD     6
          AUF   DB [LW 14]
          T     D [AR1,P#2.0]
          +AR1  P#4.0
          TAR1  LD     6
          L     LW     4
          LOOP  I009
    I008: L     B#16#0
          L     LW     2
          ==I   
          SPB   I00a
    I00b: T     LW     2
          LAR1  LD    10
          AUF   DB [LW 16]
          L     B [AR1,P#2.0]
          +AR1  P#1.0
          TAR1  LD    10
          LAR1  LD     6
          AUF   DB [LW 14]
          T     B [AR1,P#2.0]
          +AR1  P#1.0
          TAR1  LD     6
          L     LW     2
          LOOP  I00b
    I00a: L     100
          T     #RET_VAL
          CLR   
          U     L      0.1
          SAVE  
          BE
    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

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

    Standard

    Hallo Ralle,

    dann ergänze ich meine Aussage. Der Kompiler benutzt dazu den BLKMOV - wenn er kann. Ich hatte etwas ähnliches in einem FB, da gehts komischerweise. Hab ihn mal aufs wesentliche abgespeckt.

    Code:
    FUNCTION_BLOCK FB100
     
    VAR_INPUT
        String_IN         : STRING[254];                   // string format (Lenght254)                  
    END_VAR
     
    VAR_OUTPUT
        String_OUT        : STRING[254];                   // string format (Lenght254)                  
    END_VAR
    VAR
    END_VAR
    VAR_TEMP
    END_VAR
     
    //*****************************************************************************************************************************************
    BEGIN
     
            String_OUT := String_IN;
     
    END_FUNCTION_BLOCK
    generierter AWL-Code
    Code:
          SET   
          SAVE  
          =     L      0.1
          L     DW#16#10130001
          T     LD     2
          L     DINO
          T     LW     6
          TAR2  
          +     L#0
          T     LD     8
          L     B#16#FE
          T     DIB [AR2,P#256.0]
          L     DW#16#10130001
          T     LD    12
          L     DINO
          T     LW    16
          TAR2  
          +     L#2048
          T     LD    18
          TAR2  LD    22
          UC    "BLKMOV"
                P#L 2.0
                P#L 26.0
                P#L 12.0
          LAR2  LD    22
          U     L      0.1
          SAVE  
          BE
    André
    www.raeppel.de
    mit innovativen SPS-Tools schneller ans Ziel ....
    Zitieren Zitieren Scl  

  4. #14
    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
    Sehr eigenartig von Siemens gelöst. Denn auch in einem FC könnte man ja den SFC20 nutzen, wenn man nur wollte.

    @Felse

    FC254:=100;

    Ist der Rückgabewert der Funktion.
    Mann muß das nicht tun, aber ich hab mir das so angewöhnt. Bei längeren Funktionen kann man darin auch einen Status- oder Fehlercode unterbringen.
    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. Variablen in WINCCFlex 2008 verschieben
    Von Bensen83 im Forum HMI
    Antworten: 1
    Letzter Beitrag: 29.07.2011, 09:39
  2. String in Variable verschieben
    Von chefren_new im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 19.03.2010, 08:53
  3. Antworten: 2
    Letzter Beitrag: 05.08.2008, 08:43
  4. String Variablen verschieben
    Von SPS_Nord im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 18.01.2008, 23:30
  5. S7 String variablen
    Von zotos im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 20.11.2007, 18:02

Lesezeichen

Berechtigungen

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