superkato
Well-known member
- Beiträge
- 220
- Punkte Reaktionen
- 0
-> Hier kostenlos registrieren
Hallo Ich habe die S5 Bausteine FB190, 191, 192 und 193 zum kopieren Datenblöcken mit dem SFC20 ersetzt, wie es im Übersetzungshandbuch empfohlen wird.
Es ist mir nur nicht klar ob das wirklich so funktionieren kann.
Beispiel:
Ich hab im FC folgende TEMP Einträge:
conv_akku1 DWORD 0.0
conv_stw WORD 4.0
conv_index WORD 6.0
In einem Netzwerk hab ich bspw den OB191 so übersetzt.
ich kopiere also von DB97 ab DW4 die 42 Bytes bzw. 21 Words ist das so in Ordnung?
Falls ja nächste Frage:
Jetzt gibts hier ein Fall mit dem OB190, ich hab das so gemacht:
ist das nun so richtig?
woher weiß denn SRCBLK das ich mit P#M200.0 BYTE 42 die DB [#conv_index] meine?
oder ist das falsch und man macht das anders?
Für eure hilfe wäre ich sehr dankbar!
Gruß
SK
Es ist mir nur nicht klar ob das wirklich so funktionieren kann.
Beispiel:
Ich hab im FC folgende TEMP Einträge:
conv_akku1 DWORD 0.0
conv_stw WORD 4.0
conv_index WORD 6.0
In einem Netzwerk hab ich bspw den OB191 so übersetzt.
Code:
[B]AUF DB97 [/B] //DB 97 Aufrufen
[B]L 4[/B] //AB DW4 (BIS DW24) NACH
[B]L B#(200,241)[/B] //BEREICH MB200-MB241 =42byte = 21 Wörter
// CALL OB191 //alte S5 funktion
[B]
CALL SFC 20 [/B] //Statt OB 191 -> SFC20
[B]SRCBLK:= P#DB97.DBX4.0 WORD 21
RET_VAL:= MW260
DSTBLK:= P#M200.0 WORD 21[/B]
ich kopiere also von DB97 ab DW4 die 42 Bytes bzw. 21 Words ist das so in Ordnung?
Falls ja nächste Frage:
Jetzt gibts hier ein Fall mit dem OB190, ich hab das so gemacht:
Code:
[B]AUF DB [#conv_index] [/B] //DB [#conv_index] Aufrufen ---> was ist das [#conv_index] überhaupt?
[B]L B#(200, 241) [/B] //Merkerbytes von ......bis .... --> ist das der schmiermerker?
[B]L MB 250[/B] //In DB ab Datenwort
// CALL OB190 //alte S5 funktion
// so richtig?
[B]CALL SFC 20 //Statt OB 190 -> SFC20
SRCBLK:= P#M200.0 BYTE 42 //da von 200 bis 241 -> 42bytes
RET_VAL:= MW260
DSTBLK:= P#M250.0 BYTE 42 // nach MB250 kopieren die 42 bytes bzw. 21 words[/B]
ist das nun so richtig?
woher weiß denn SRCBLK das ich mit P#M200.0 BYTE 42 die DB [#conv_index] meine?
oder ist das falsch und man macht das anders?
Für eure hilfe wäre ich sehr dankbar!
Gruß
SK
Zuletzt bearbeitet: