OP
UsernameS7
Level-1
- Beiträge
- 11
- Reaktionspunkte
- 0
-> Hier kostenlos registrieren
Guten Abend,
ich habe ein Problem bzw. der folgende Code verursacht ein Problem:
Ich nutze Blockmove um mit Any-Zeigern die Eingangswerte (Von den Eingänge in meim DB) in meine Funktion zu kopieren. Das funktioniert gut soweit.
Hierbei gebe ich als IN-Parameter an meinem FB die Variable "Start_EA" als INT Wert an. Diese Startadresse, ist zb 200.
Die selbe Startadressen wird auch beim Ausgangsdaten schreiben (von DB auf Ausgänge) genutzt.
Nach dem der gepostet Code aber abläuft steht in meiner Variable "Start_EA" ist 0. Quasi verliert durch den Code die Variable ihren Wert.
Weiß da jemand einen Rat?
ich habe ein Problem bzw. der folgende Code verursacht ein Problem:
Code:
//Quelle
L P##Datenholen //relative Adresse #Datenholen in dieser Instanz (DI)
TAR2 //Lade Adressregister2 mit Offset dieser Multiinstanz (DB) in Akku1
UD DW#16#FFFFFF //Bereichskennung (DB) ausblenden
+D //Addiere
LAR1 //Lade AR1 mit Inhalt von Akku1: absolute Adresse #Datenholen im IDB (DI)
LAR2 P##Quelle //Lade AR2 mit Adresse des TEMP-ANY #Quelle
L DID [AR1,P#0.0] //S7-ID 16#10 + Datentyp + Wiederholfaktor aus #Datenholen
T LD [AR2,P#0.0] //schreibe in den ANY #Quelle
L DIW [AR1,P#4.0] //Lade DB-Nummer aus #Datenholen
T LW [AR2,P#4.0] //schreibe in den ANY #Quelle
L DID [AR1,P#6.0] //Lade Bereichsadresse aus #Datenholen
T LD [AR2,P#6.0] //schreibe in den ANY #Quelle
Ich nutze Blockmove um mit Any-Zeigern die Eingangswerte (Von den Eingänge in meim DB) in meine Funktion zu kopieren. Das funktioniert gut soweit.
Hierbei gebe ich als IN-Parameter an meinem FB die Variable "Start_EA" als INT Wert an. Diese Startadresse, ist zb 200.
Die selbe Startadressen wird auch beim Ausgangsdaten schreiben (von DB auf Ausgänge) genutzt.
Nach dem der gepostet Code aber abläuft steht in meiner Variable "Start_EA" ist 0. Quasi verliert durch den Code die Variable ihren Wert.
Weiß da jemand einen Rat?