Datenbaustein variabl aus FC aufrufen

*Asterix*

Level-2
Beiträge
9
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich möchte gerne einen DB variabel aufrufen....und das klappt einfach nicht.

Hintergrund ist dieser:

Ich habe einen FB gebaut mit einem DB-Block Eingang, bei dem mein Kunde den DB frei wählen kann.
Diesen DB muss ich dann aber innerhalb meines FB über den FC30 aufrufen, weil dort Daten als String abgelegt werden.
Wenn ich das statisch mache, klappt das ohne Probleme, aber nicht mit einer Variablen....was mache ich falsch?

das geht:

CALL "R_STRNG"
IN :=#Nachkomma
RET_VAL:=DB1.DB_VAR1

das geht nicht:

CALL "R_STRNG"
IN :=#Nachkomma
RET_VAL:=#Data.DB_VAR1


Vielen Dank für eure Hilfe.


DB Auftruf.jpg
 
Hallo,
das System kann dir an dieser Stelle keine Variable zur Laufzeit zusammenbasteln - es steht hier in Wirklichkeit eine feste Adresse, die zur Entwicklungszeit (also während du den Code erstellst) erzeugt wird.
Was du nun machen kannst wäre :
- du läßt den R_String in eine temporäre Variable deines Bausteins hineinschreiben - diese Temp-Variable muß aber vor der ersten Verwendung initialisiert werden.
- nun baust du dir einen Any-Pointer auf dein Datenziel zusammen
- du überträgst mittels des SFC Blockmove die Temp-Variable auf die Adresse, auf die der Any-pointer zeigt.

Gruß
Larry

Nachsatz : zum Thema ANY-Pointer (gerade auch in Verbindung mit Blockmove) findest du über die Forumssuche sehr viele Beiträge.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
.
Vielleicht hilft dir auch dies HIER weiter, Beispiele findest du dort auch.

FC ruft FC auf: Es ist nicht möglich, einen BLOCK_DB Parameter zu übergeben
FC ruft FB auf: Hier ist es möglich, einen BLOCK_DB Parameter zu übergeben
FB ruft FC auf: Es ist nicht möglich, einen BLOCK_DB Parameter zu übergeben
FB ruft FB auf: Hier ist es möglich, einen BLOCK_DB Parameter zu übergeben
 
.
Vielleicht hilft dir auch dies HIER weiter, Beispiele findest du dort auch.

FC ruft FC auf: Es ist nicht möglich, einen BLOCK_DB Parameter zu übergeben
FC ruft FB auf: Hier ist es möglich, einen BLOCK_DB Parameter zu übergeben
FB ruft FC auf: Es ist nicht möglich, einen BLOCK_DB Parameter zu übergeben
FB ruft FB auf: Hier ist es möglich, einen BLOCK_DB Parameter zu übergeben
Was hat das jetzt mit dem Problem des TE zu tun??? Wo will der TE denn BLOCK_DB Parameter durchreichen? :confused:

Harald
 
Zurück
Oben