DBs mit SFC20 BLKMOV kopieren

Lenni

Level-1
Beiträge
3
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo an alle User,
zuerst einmal ein dickes fettes Lob an das Forum.
Ich habe mir schon öfters Tips und Rat geben lassen.
Jetzt möchte ich etwas ausprobieren und komme irgendwie nicht weiter.
Ich habe etwa 50 Datenbausteine deren Inhalte ich in andere DBs kopieren möchte.
Wer kann mir weiterhelfen? :?: :( :?:
Gruß Lenni
 
Hat das Programm noch jemand?

Hab hier zZ auch ein Problem mit vielen Daten die ich zusammenfassen will um nich 20 Send/Receive aufträge machen zu müssen ^^"

BLKMOV macht mir nämlich ein paar probleme T_T
 
Hier mal als Quelle:

Code:
FUNCTION FC 112 : INT
TITLE =BLK_Move
{ S7_language := '7(1) Deutsch (Deutschland)  11.01.2006  16:20:46' }
AUTHOR : r
FAMILY : SYSTEM
NAME : BLK_MOVE
VERSION : 1.1




VAR_INPUT
  AnzahlDBB : INT ;	
  QuellDB : INT ;	
  QuellDW : INT ;	
  ZielDB : INT ;	
  ZielDW : INT ;	
END_VAR
VAR_TEMP
  Quelle : ANY ;	
  Ziel : ANY ;	
END_VAR
BEGIN
NETWORK
TITLE =Blocktransfer zwischen Datenbausteinen


      LAR1  P##Quelle; //Anfangsadresse des ANY-Pointers in AR1 laden


      L     B#(16, 2); //Syntax-ID und Typ: Byte laden
      T     LW [AR1,P#0.0]; 
      L     #AnzahlDBB; //Transferlaenge
      T     LW [AR1,P#2.0]; 
      L     #QuellDB; //Quelle-DB 
      T     LW [AR1,P#4.0]; 
      L     P#DBX 0.0; //Anfangs-DW im Quell-DB
      L     #QuellDW; 
      SLD   3; 
      +D    ; 
      T     LD [AR1,P#6.0]; 


      LAR1  P##Ziel; //Anfangsadresse des ANY-Pointers in AR1


      L     B#(16, 2); //Syntax-ID und Typ: Byte laden
      T     LW [AR1,P#0.0]; 
      L     #AnzahlDBB; //Transferlaenge
      T     LW [AR1,P#2.0]; 
      L     #ZielDB; //Ziel-DB
      T     LW [AR1,P#4.0]; 
      L     P#DBX 0.0; //Anfangs-DW im Ziel-DB
      L     #ZielDW; 
      SLD   3; 
      +D    ; 
      T     LD [AR1,P#6.0]; 


      CALL SFC   20 (
           SRCBLK                   := #Quelle,
           RET_VAL                  := #RET_VAL,
           DSTBLK                   := #Ziel);
END_FUNCTION
 
Zurück
Oben