- Beiträge
- 22.030
- Reaktionspunkte
- 6.853
-> Hier kostenlos registrieren
Es kann natürlich jeder so programmieren wie er will und für richtig hält. Sauber wäre es, die paar Variablen zur Verbindungsüberwachung vom Anfang des Speicherbereiches zusätzlich getrennt an den FB zu übergeben.
Wenn Du aber die Variablen partout nicht extra übergeben willst, dann ermittle deren Adresse meinetwegen aus dem übergebenen ANY. Alle Tipps und Informationen die Du dazu brauchst findest Du bereits hier seit Beitrag #10. Insbesondere solltest Du den von mir übernommenen Code für das Kopieren des ANY von INOUT zu TEMP auch mal gründlich lesen (insbesondere die Kommentare) und versuchen zu verstehen.
Auf das erste Word des per ANY als INOUT.SendData übergebenen Datenbereichs zugreifen:
Harald
Wenn Du aber die Variablen partout nicht extra übergeben willst, dann ermittle deren Adresse meinetwegen aus dem übergebenen ANY. Alle Tipps und Informationen die Du dazu brauchst findest Du bereits hier seit Beitrag #10. Insbesondere solltest Du den von mir übernommenen Code für das Kopieren des ANY von INOUT zu TEMP auch mal gründlich lesen (insbesondere die Kommentare) und versuchen zu verstehen.
Auf das erste Word des per ANY als INOUT.SendData übergebenen Datenbereichs zugreifen:
Code:
LAR1 P##SendData // SendData enthält P#DB100.DBX0.0 BYTE 100
TAR2
+AR1
L W [AR1,P#4.0] // (DB_Nr)
T #tmp_DBNo
L D [AR1,P#6.0] // (Bereichsadresse)
LAR1
AUF DB [#tmp_DBNo]
L W [AR1,P#0.0]
// der Akku1 enthält nun den Wert aus DB100.DBW0
Harald