73 lines
1.6 KiB
Plaintext
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
|
|
|