- Beiträge
- 15.404
- Reaktionspunkte
- 4.039
-> Hier kostenlos registrieren
Ich hab heut mal folgendes versucht:
einen FB anlegen
1x Index IN-Var Integer
1x Schreibstring IN_OUT-Var String[254]
8x Datenstring[x] STAT-Var String[256]
Folgendes soll passieren
Abhängig vom Index (Int), soll der Schreibstring in einer der statischen Var gespeichert werden.
Das Problem:
Die IN_OUT vom Typ String[256] wird von Step7 als Pointer übergeben.
Weiß jemand den genauen Mechanismus, wie ich auf die Einzelemente dieses Pointers zugreifen kann um dann einen Any-Pointer zu bauen, den ich an den SFC20 (Block_move) antragen kann?
Irgendwie wollte mir das heute einfach nicht gelingen, ich hab alle möglichen Varianten getestet, vielleicht, war auch einfach irgendwann der Dampf raus.
Als Ausweichvariante hab ich aus dem String IN_OUT einen String IN gemacht, dann wird der String mit in den Instanz-DB aufgenommen, damit kann man im FB intern ganz gut arbeiten. Aber es wurmt mich irgendwie !
Ich hab das mal in SCL probiert und mir den AWL-Code dann angesehen, daß ist auch nicht das, was mir vorschwebte, da wird das Ganze in einer LOOP umkopiert.
Stat_String := IO_String;
einen FB anlegen
1x Index IN-Var Integer
1x Schreibstring IN_OUT-Var String[254]
8x Datenstring[x] STAT-Var String[256]
Folgendes soll passieren
Abhängig vom Index (Int), soll der Schreibstring in einer der statischen Var gespeichert werden.
Das Problem:
Die IN_OUT vom Typ String[256] wird von Step7 als Pointer übergeben.
Weiß jemand den genauen Mechanismus, wie ich auf die Einzelemente dieses Pointers zugreifen kann um dann einen Any-Pointer zu bauen, den ich an den SFC20 (Block_move) antragen kann?
Irgendwie wollte mir das heute einfach nicht gelingen, ich hab alle möglichen Varianten getestet, vielleicht, war auch einfach irgendwann der Dampf raus.
Als Ausweichvariante hab ich aus dem String IN_OUT einen String IN gemacht, dann wird der String mit in den Instanz-DB aufgenommen, damit kann man im FB intern ganz gut arbeiten. Aber es wurmt mich irgendwie !
Ich hab das mal in SCL probiert und mir den AWL-Code dann angesehen, daß ist auch nicht das, was mir vorschwebte, da wird das Ganze in einer LOOP umkopiert.
Stat_String := IO_String;