TIA TIA S7/1500 Any Bereich initialiseren

Smicon

Level-1
Beiträge
9
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,

ich bin dabei ein Projekt in die tolle TIA Welt zu migrieren) . Ich habe ein Problem mit der Funktion fill(). Konkret versuche ich einen DB mit nullen zu initialisieren, der über einen Eingang als Any-Pointer übergeben wird. Nun ist es so, dass sich der Datentyp bei der 1500er von Any auf Variant geändert hat. Leider wird in dem ganzen Projekt viel mit Any-Pointern gearbeitet, sodass ich jetzt nicht gleich alles auf Variant umstricken will.

Gibt es bei der 1500er eine Funktion mit der ich den Datentyp Any mit Nullen initialiseren kann?
Gibt es eine Art Typecast von Any auf Variant und umgekehrt?
Könnte ich mit die Funktion auch mit Peek oder Poke vielleicht in einer Schleife selbst basteln?

An meiner Frage merkt ihr schon, dass ich noch nicht viel mit Any/Variant-Pointern gearbeitet habe. Eine Erklärung währe also gut. Der Code ist nicht sonderlich spannend:

#Falseword := 0;
#SFC_RET_VAL := FILL(BVAL := #Falseword, BLK =>#Events);

Danke für die Kommentare im Vorraus!
 
Es gibt zwei Varianten von fill: für any und variant. Erstere geht aber nur für nicht-optimierte datenablagen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Es gibt noch eine Variante, die zwar ein wenig Paltzverschwendung ist, aber immerhin funktioniert. Man kann sich zu jeder bestehenden Struktur einmalig eine "Reset"-Struktur in einem DB anlegen. Diese kann man dann auf die zurückzusetzende Struktur kopieren. Bei Steuerungen die kein Fill haben und Strukturen, die sehr tief gehen, ist das m.E. nach ein ganz guter Weg.
 
Zurück
Oben