superkato
Well-known member
- Beiträge
- 220
- Punkte Reaktionen
- 0
-> Hier kostenlos registrieren
Hallo,
in einer S5 wurde eine Transfer Funktion verwendet, welche Daten aus dem Schmiermerker (MW220 - 220 ) in ein DB geschrieben hat.
FC
Innen drin siehts so aus:
Step 7 hats so übersetzt:
Könnt ihr mir vielleicht helfen wie ich den Baustein am besten ersetzt bekomme?
Viele Grüße
SK
in einer S5 wurde eine Transfer Funktion verwendet, welche Daten aus dem Schmiermerker (MW220 - 220 ) in ein DB geschrieben hat.
FC
Code:
L #OFFS
L #RZNR
+I
T MW 218
//;
L #OFFS
<=I
SPB M001
L #ANZ
+I
L MW 218
<I
SPB M001
//;
T #conv_akku1
L MB 219
T #conv_index
TAK
L #conv_akku1
AUF DB [#conv_index]
L DBB 3
L 1
<>I
SPB M002
==I
= #VORH
SPA M001
//;
M002: T DBB 3
U #VORH
R #VORH
//;
CALL "FB 70"
//;
CALL "FB180"
Q_DB:="DB 98"
QANF:=110
Z_DB:="DB 8"
ZANF:=31
ANZ :=4
//;
[I][B][COLOR=#ff0000] CALL "FB 71"
Q_DB:="DB 8"
QANF:=2
ZANF:=2
ANZ :=41
[/COLOR][/B][/I]//;
AUF "DB 8"
L W#16#0
T DBW 60
L W#16#2020
T DBW 70
T DBW 72
T DBW 74
T DBW 76
T DBW 78
T DBW 80
//;
M001: NOP 0
Innen drin siehts so aus:
Code:
FB 71 LAE=63
Netzwerk 1 DW-TRANSFER MIT DB-QUELLANGABE FUP Ausgabe
Name :DW-TRANS
Bez :Q-DB E/A/D/B/T/Z: B
Bez :QANF E/A/D/B/T/Z: D KM/KH/KY/KC/KF/KT/KZ/KG: KF
Bez :ZANF E/A/D/B/T/Z: D KM/KH/KY/KC/KF/KT/KZ/KG: KF
Bez :ANZ E/A/D/B/T/Z: D KM/KH/KY/KC/KF/KT/KZ/KG: KF :
:LW =Q-DB
:T MW 220
:
:LW =QANF
:T MW 222
:
:LW =ZANF
:T MW 226
:
:LW =ANZ
:T MW 228
:
M001 :B MW 220
:A DB 0
:B MW 222
:L DW 0
:
:B MW 218
:A DB 0
:B MW 226
:T DW 0
:
:L MW 222
:I 1
:T MW 222
:
:L MW 226
:I 1
:T MW 226
:
:L MW 228
:D 1
:T MW 228
:L KF +0
:>F
:SPB =M001
:
:NOP 0
:BE
Step 7 hats so übersetzt:
Code:
FUNCTION FC 36 : VOID
NAME: DW_TRANS // DW-TRANS
VAR_INPUT
Q_DB :block_db; // Q-DB
QANF :int; // QANF
ZANF :int; // ZANF
ANZ :int; // ANZ
END_VAR
VAR_TEMP
conv_akku1 :dword;
conv_akku2 :dword;
conv_stw :word;
conv_index :word;
END_VAR
BEGIN
NETWORK
TITLE = DW-TRANSFER MIT DB-QUELLANGABE
//;
// L #Q_DB;
// *** Fehler in Zeile 560 (FB 71): Operator ungültig, kann eventuell durch die Anweisung:\"L P##Q_DB\" ersetzt werden. ***
T MW 220;
//;
L #QANF;
T MW 222;
//;
L #ZANF;
T MW 226;
//;
L #ANZ;
T MW 228;
//;
M001:NOP 0;
T conv_akku1;
L MB 221;
T conv_index;
TAK;
L conv_akku1;
AUF DB [conv_index];
T conv_akku1;
L STW;
T conv_stw;
L MB 223;
SLW 4;
LAR1;
L conv_stw;
T STW;
L conv_akku1;
L DBW [ AR1, P#0.0 ];
//;
T conv_akku1;
L MB 219;
T conv_index;
TAK;
L conv_akku1;
AUF DB [conv_index];
T conv_akku1;
TAK;
T conv_akku2;
L STW;
T conv_stw;
L MB 227;
SLW 4;
LAR1;
L conv_stw;
T STW;
L conv_akku2;
L conv_akku1;
T DBW [ AR1, P#0.0 ];
//;
L MW 222;
INC 1;
T MW 222;
//;
L MW 226;
INC 1;
T MW 226;
//;
L MW 228;
DEC 1;
T MW 228;
L 0;
>I;
SPB M001;
//;
NOP 0;
Viele Grüße
SK
Zuletzt bearbeitet: