DB-Pointer indirekt Adressieren

A

Anonymous

Guest
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,
kann man DB-Pointer indirekt adressieren? Ich muss auf mehrere FIFO's in unterschiedlichen DB's zugreifen über den Hantierungsbaustein FC84 ATT_s. Die Vorgabe erfolgt über einen Pointer z.b. P#DB1.DBX0.0
Der DB1 sollte variabel sein, da ich bis zu 18 DB's habe die hier eingestellt werden müssten. Ich möchte den Baustein aber nicht 18 mal aufrufen, nur weil der DB unterschiedlich ist.

Bis dann

Dago
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Pointer

Hallo Dago,

müsstest natürlich die Sache dementsprechend auf Pointer zuschneiden. Pointer mit Merkern kannste mit MOVE bearbeiten, sobald ein DB im Spiel ist haperts. Die Info is dann grösser als ein Doppelwort.

MfG
André Räppel
 
Pointer

Hallo Andre,

erstmal danke für die schnelle Antwort.
Leider kann ich damit noch nicht viel anfangen. In der Pointer-Adressierung steht ja ein DB und den möchte ich ja eben irgendwie variabel gestalten. Bei den ANY Pointern gibt ja die möglichkeit, sie über das AR Register beliebig zusammenzustellen und dann können sie weiterverwendet werden. Gibt es auch für die DB-Pointer so eine Möglichkeit ? Die haben ja eine länge von 6 Byte.

Gruß

Dago
 
Pointer

Hallo Dago,

es wird scheitern da es keine Variable mit 6 Bytes gibt. Aber du kannst den Pointer P#DBX0.0 mit MOVE auf ein Doppelwort schreiben und vorher den gewünschten DB aktivieren AUF DB[var]. Evtl wertet der FC aus, ob eine DB-Nummer angegeben wurde, und wenn nicht nimmt er den aktiven. Das ist dann aber sehr undurchsichtig. Bedarf ner gutten Kommentierung.

MfG
André Räppel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Pointer

Hallo Andre,
da ich das Problem nicht gelösst bekam, habe ich mir dann doch einen eigenen FC geschrieben, der diese Funktion der FIFO bearbeitung auch lösen kann.

Nochmals Danke für die Hilfe

Gruß Dago
 
Zurück
Oben