TIA Struct nach Array kopieren

Christof G

Level-1
Beiträge
10
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo erstmal!

Gibt es eine einfache Möglichkeit in TIA v12 mit einer S7-1200 symbolisch eine Struktur mit 64 Bits auf ein Array mit 4 Words zu kopieren?
Oder muss ich wirklich Struct.Bit0 nach Word[0].x0 64 mal schreiben?

lg Christof
 
Zuletzt bearbeitet:
Hallo
ich würde mir mal das Thema "AT" anschauen. Das sollte dir helfen, und ist auch zigfach hier im forum besprochen worden.

daschris
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hast du die Bausteine mit optimiertem Speicherzugriff parametriert?
wenn nicht und die Absolut Adressen der Bits aneineander liegen kann man diese mit SFC20 Blockmove transferieren.
 
Hallo dachris

mit AT habe ich es versucht:
Function in KOP und in SCL, Variablen deklarieren > ich bekomme kein AT zur Auswahl weder bei In-Variablen noch bei Temp!?

Gibt es ein Bildchen wie es funktioniert?
mfg Christof
 
Hallo dachris

mit AT habe ich es versucht:
Function in KOP und in SCL, Variablen deklarieren > ich bekomme kein AT zur Auswahl weder bei In-Variablen noch bei Temp!?

Gibt es ein Bildchen wie es funktioniert?
mfg Christof
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Georg28

wie komme ich zum SFC20 im TIA-Portal? Bin noch relativ neu auf TIA.
Gibt es den denn auch für die 1200 Steuerung?
Noch habe ich den Bausteinzugriff auf Optimiert eingestellt. Habe gedacht ich versuchs erstmal so. Weil das ja die Zukunft sein soll, so ohne Adressen...

mfg Christof
 
Eine Leerbox einfügen und als Typ "sfc20" eintippen (Hab das aber auf einer 1500er probiert).
Aber Blockmove funktioniert in diesem Fall nur wenn alles Absolut Adressiert ist also kein optimierter Bausteinzugriff.
Ob sich der optimierte Bausteinzugriff durchsetzt wird die Zukunft zeigen. Hier und da hat halt einfach DB20.DBX0.0 oder M100.3 eintippen auch seinen Vorteil, weil einfacher zu tippen.
Blockmove kann halt auch in FUP/KOP ohne Probleme verwendet werden.
 
Also in SCL geht es auf jeden Fall. Du gibst eine Zeile als Typ "Word" an, und dann in der nächsten Zeile gibst du als Typ "AT" an, dann bezieht sich die Zeile Automatisch auf die vorhergehende Zeile. Danach gibst du dieser Zeile den Typen "Array [0..16] of bool

Ach ja stell mal auf nicht optimiert das geht glaub ich nur dann...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Überredet! Der optimierte Bausteinzugriff gibt das "AT" nicht frei.
Wenn der raus ist funktioniert es sowohl in KOP als auch in SCL.

@georg28: sfc20 finde ich bei 1200er nicht...

Vielen Dank auch
mfg Christof
 
Hallo georg28

der MOVE_BLK lässt aber nur ARRAY-Variablen zu ich kann also nicht ein Strukt in ein Array kopieren.
Dazu brauche ich dann wieder die AT - Variablensicht...

Schönen Abend noch
Christof
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Gibt es eine einfache Möglichkeit in TIA v12 mit einer S7-1200 symbolisch eine Struktur mit 64 Bits auf ein Array mit 4 Words zu kopieren?
Oder muss ich wirklich Struct.Bit0 nach Word[0].x0 64 mal schreiben?
Das sollte mit dem SFC20 auch symbolisch funktionieren, du musst dazu nur das Empfangs-Array ebenfalls in einen Struct einbetten.
 
Hallo Paule,

also ich bleibe mit dem SFC20 erfolglos. Weil der "MOVE_BLK" keine Strukt mit BOOL zulässt und der "MOVE" scheints den Inhalt der Strukt vergleicht und somit auch nicht zulässt.

Meine Deklarationen sind:

wAlarm : array[0..3] of word;

AL : struct
x01 : bool;
x02 : bool;
....
x64 : bool;
end_strukt;

und das Ziel ist, den Inhalt der Struct in das Array zu kopieren.
Mit der "AT"-Sicht geht der "MOVE" Befehl.
Deklaration_mit_AT.jpg

mfg Christof
 
Zurück
Oben