78 lines
1.3 KiB
Markdown
78 lines
1.3 KiB
Markdown
```pascal
|
|
// Block Type: FC
|
|
// Block Number: 60
|
|
// Original Network Languages: STL
|
|
|
|
FUNCTION "Block_move" : Void
|
|
{ S7_Optimized_Access := 'TRUE' }
|
|
VERSION : 0.1
|
|
|
|
VAR_INPUT
|
|
DB_source : Int;
|
|
DB_dest : Int;
|
|
Start_source : Int;
|
|
Start_dest : Int;
|
|
Nr_byte : Int;
|
|
END_VAR
|
|
|
|
VAR_TEMP
|
|
DBNUM_Source : Word;
|
|
DBNUM_Dest : Word;
|
|
Pointer_Source : DWord;
|
|
Pointer_Dest : DWord;
|
|
mSource_Dint : DInt;
|
|
mDest_Dint : DInt;
|
|
Loop_Count : Int;
|
|
END_VAR
|
|
|
|
BEGIN
|
|
|
|
// Network 1: Byte Transfert (Original Language: STL)
|
|
|
|
// --- BEGIN STL Network 1 ---
|
|
|
|
L "Start_source"
|
|
T "mSource_Dint"
|
|
|
|
L "Start_dest"
|
|
T "mDest_Dint"
|
|
|
|
L 0
|
|
T "Loop_Count"
|
|
|
|
L "DB_source"
|
|
T "DBNUM_Source"
|
|
L "DB_dest"
|
|
T "DBNUM_Dest"
|
|
|
|
L P#0.0
|
|
L "mSource_Dint"
|
|
SLD 3
|
|
ADD_D
|
|
T "Pointer_Source"
|
|
|
|
L P#0.0
|
|
L "mDest_Dint"
|
|
SLD 3
|
|
ADD_D
|
|
T "Pointer_Dest"
|
|
|
|
LAR1 "Pointer_Source"
|
|
LAR2 "Pointer_Dest"
|
|
L "Nr_byte"
|
|
m001: T "Loop_Count"
|
|
AUF DBB[AR?,P#0.0]
|
|
L DBB[AR1,P#0.0]
|
|
AUF DBB[AR?,P#0.0]
|
|
T DBB[AR2,P#0.0]
|
|
ADDAR1 P#1.0
|
|
ADDAR2 P#1.0
|
|
L "Loop_Count"
|
|
LOOP m001
|
|
|
|
// --- END STL Network 1 ---
|
|
|
|
END_FUNCTION
|
|
|
|
```
|