Files

73 lines
1.6 KiB
Plaintext

FUNCTION "DBMOV" : Void
TITLE = DB-Bereiche kopieren
{ S7_Optimized_Access := 'FALSE' }
AUTHOR : IBAE
FAMILY : FIFO
NAME : FifoIn
VERSION : 0.1
//COPYRIGHT by Ingenieurbüro A.Emmert
//Ortsstr.33, D-869925 Fuchstal (Germany)
//Tel.: 0049(0)8243-1254
//Version: H&M / 06.12.2025
//
VAR_INPUT
QuellDB : Int; // Quell-DB
QuellDW : Int; // Quell-1.DW
ZielDB : Int; // Ziel-DB
ZielDW : Int; // Ziel-1.DW
Anzahl_DW : Int; // Anzahl der zu kopierenden DWs
END_VAR
VAR_OUTPUT
RE_VAL : Int; // Rückmeldung
END_VAR
VAR_TEMP
Quelle : Any; // Zeiger, wo Rein-Daten sind
Ziel : Any; // Zeiger, FIFO-Stelle
END_VAR
BEGIN
NETWORK
TITLE =
//Kennung + Datenbytes
L 16#1004 ;//Kennung 10 + Word=04
T %LW0;
T %LW10;//Any-Kennung, Datentyp
L #Anzahl_DW ;//Datenwords speichern
T %LW2;
T %LW12;//Wiederholungen
//Quelle-Pointer erzeugen:
L #QuellDB;
T %LW4;//DB_Nummer
L #QuellDW ;//Adresse
SLD 3;
L 16#8400_0000;//Kennung: Daten
OD;
T %LD6;//Kennung, Adresse
//Ziel-Pointer erzeugen:
L #ZielDB;
T %LW14;//DB_Nummer
L #ZielDW ;//Adresse
SLD 3;
L 16#8400_0000;//Kennung: Daten
OD;
T %LD16;//Kennung, Adresse
CALL BLKMOV//Datenliste-Daten speichern
{blk_type := 'Variant'}
( SRCBLK := #Quelle ,
RET_VAL := #RE_VAL ,
DSTBLK := #Ziel
);
NETWORK
TITLE = Ende
BE;
END_FUNCTION