AWL Bausteine aus TIA-Portal Projekt in Workspace
This commit is contained in:
@@ -1,50 +1,72 @@
|
||||
=== FC 99: DBMOV [STL] ===
|
||||
INTERFACE:
|
||||
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
|
||||
Output:
|
||||
RE_VAL : Int // Rückmeldung
|
||||
InOut:
|
||||
Temp:
|
||||
Quelle : Any // Zeiger, wo Rein-Daten sind
|
||||
Ziel : Any // Zeiger, FIFO-Stelle
|
||||
Constant:
|
||||
Return:
|
||||
Ret_Val : Void
|
||||
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
|
||||
|
||||
--- NW 1: ---
|
||||
// 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
|
||||
VAR_OUTPUT
|
||||
RE_VAL : Int; // Rückmeldung
|
||||
END_VAR
|
||||
|
||||
// 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 SYS "BLKMOV" (SRCBLK:=Quelle, RET_VAL:=RE_VAL, DSTBLK:=Ziel) // Datenliste-Daten speichern
|
||||
VAR_TEMP
|
||||
Quelle : Any; // Zeiger, wo Rein-Daten sind
|
||||
Ziel : Any; // Zeiger, FIFO-Stelle
|
||||
END_VAR
|
||||
|
||||
|
||||
--- NW 2: Ende ---
|
||||
BE
|
||||
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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user