05.04.2012 12:26 | |
Beigetreten: 10.10.2005 Letzter Bes: 29.01.2025 Beiträge: 1940 Bewertung:
|
Hallo, vielleicht hilft Ihnen der nachfolgende Beitrag weiter, den Sie unter dem folgenden Link finden. Wenn Sie wie in diesem FAQ die Variablen als PLC-Datentypen definieren, können Sie auch die Anweisung MOVE verwenden. http://support.automation.siemens.com/WW/view/de/51339156 Mit freundlichem Gruß |
12.04.2012 17:30 | |
Beiträge: 4 Bewertung:
|
HI, vom Support habe ich die Funktion im SCL bekommen mit "Poke_BLK" und laut beschreibung macht diese das. MfG |
10.09.2013 14:00 | |
Beiträge: 29 Bewertung:
|
Hallo 3DRoady, habe garde das Thema auch gerade vor mir. Leider gibt es das geliebte "BLOCKMOVE" nicht mehr in der S71200-Welt. Move ist dafür ja nur bedingt eine Alternative. Um so schöner ist die Funktion POKE_BLK, da man dort keine Any-Pointer benötigt. Hier ein kurzes Beispiel in SCL(kopiert 10 Byte innerhalb des DB1: "DB1".DBB0 := 12; // Quellbereich von DBB0 - DBB9 "DB1".DBB1 := 5; "DB1".DBB10 := 0; // Zielbereich von DBB 10 - DBB19 #t_DB_SRC := 1; #t_DB_SRC_OFF := 0; #t_DB_DEST := 1; #t_DB_DEST_OFF := 10; #t_Count := 10; POKE_BLK(area_src:=16#84, // 16#84 -> DB-Zugirff dbNumber_src:=#t_DB_SRC, // Quell-DB byteOffset_src:=#t_DB_SRC_OFF, // Offset im Quell-DB area_dest:=16#84, // DB-Zugriff dbNumber_dest:=#t_DB_DEST, // Ziel-DB byteOffset_dest:=#t_DB_DEST_OFF, // Offset im Ziel-DB count:=#t_Count); // Anzahl der Byte #t_w_Temp:= "DB1".DBB0; #t_w_Temp:= "DB1".DBB10; #t_w_Temp:= "DB1".DBB11; Das ganze in eine separate Funktion gepackt und schon hat mein sein BLK_MOVE wieder. Gruß P_Hermes |
Für diesen Beitrag bedanken sich
2 Benutzer |
Folgen Sie uns auf