-> Hier kostenlos registrieren
Hallo zusammen,
beim erstaunten Betrachten eines sehr umfangreichen Projektes habe ich diesen FC gefunden, dessen Arbeitsweise ich nicht verstehe. Das geht über meine Kenntnisse hinaus. Da ich ihn aber recht interessant finde wäre es nett wenn mir mal jemand erklären könnte, wie das Schritt für Schritt abläuft.
Insbesonders die von mir blau gekennzeichneten Zeilen verstehe ich nicht. Die fünf VarInput werden beim Aufruf übergeben.
FUNCTION "DataCopy" : INT
TITLE =Daten kopieren
VERSION : 1.0
VAR_INPUT
DB_Quelle : INT ;
Anfang_Quelle : INT ;
Laenge : INT ;
DB_Ziel : INT ;
Anfang_Ziel : INT ;
END_VAR
VAR_TEMP
TEMP5 : ANY ;
TEMP6 : ANY ;
END_VAR
BEGIN
NETWORK
TITLE =
L W#16#1002;
T LW 0;
L #Laenge;
T LW 2;
L #DB_Quelle;
T LW 4;
L #Anfang_Quelle;
SLD 3;
OD DW#16#84000000;
T LD 6;
NETWORK
TITLE =
L W#16#1002;
T LW 10;
L #Laenge;
T LW 12;
L #DB_Ziel;
T LW 14;
L #Anfang_Ziel;
SLD 3;
OD DW#16#84000000;
T LD 16;
NETWORK
TITLE =
CALL "BLKMOV" (
SRCBLK := #TEMP5,
RET_VAL := #RET_VAL,
DSTBLK := #TEMP6);
BE ;
END_FUNCTION
Wie kommen denn überhaupt Daten in die #Temp5 und #Temp6 ?
Gruß Wilhelm
beim erstaunten Betrachten eines sehr umfangreichen Projektes habe ich diesen FC gefunden, dessen Arbeitsweise ich nicht verstehe. Das geht über meine Kenntnisse hinaus. Da ich ihn aber recht interessant finde wäre es nett wenn mir mal jemand erklären könnte, wie das Schritt für Schritt abläuft.
Insbesonders die von mir blau gekennzeichneten Zeilen verstehe ich nicht. Die fünf VarInput werden beim Aufruf übergeben.
FUNCTION "DataCopy" : INT
TITLE =Daten kopieren
VERSION : 1.0
VAR_INPUT
DB_Quelle : INT ;
Anfang_Quelle : INT ;
Laenge : INT ;
DB_Ziel : INT ;
Anfang_Ziel : INT ;
END_VAR
VAR_TEMP
TEMP5 : ANY ;
TEMP6 : ANY ;
END_VAR
BEGIN
NETWORK
TITLE =
L W#16#1002;
T LW 0;
L #Laenge;
T LW 2;
L #DB_Quelle;
T LW 4;
L #Anfang_Quelle;
SLD 3;
OD DW#16#84000000;
T LD 6;
NETWORK
TITLE =
L W#16#1002;
T LW 10;
L #Laenge;
T LW 12;
L #DB_Ziel;
T LW 14;
L #Anfang_Ziel;
SLD 3;
OD DW#16#84000000;
T LD 16;
NETWORK
TITLE =
CALL "BLKMOV" (
SRCBLK := #TEMP5,
RET_VAL := #RET_VAL,
DSTBLK := #TEMP6);
BE ;
END_FUNCTION
Wie kommen denn überhaupt Daten in die #Temp5 und #Temp6 ?
Gruß Wilhelm