DB als Speicherziel deklarieren

Kiter11

Level-1
Beiträge
47
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich habe folgendes Problem.

Ich habe einen FB geschrieben der ein Eingangsignal verarbeitet und mehrere Werte als Doppelwert herausgibt.
Der FB hat natürlich seinen eigenen DB (Instanz).
Ich möchte nun aber beim Aufruf des FB´s, das der Nutzer dieses FB sich aussuchen kann in welchen DB er die Ausgangdaten ablegen kann (da ich ja im Vorfeld nicht weiß in welchem Projekt welcher DB noch frei ist.)

z.B. Der Nutzer xy, ruft den Baustein auf und muss dann als Ausgangsvariable einen DB angeben aus dem er dann später die Nutzdaten ziehen kann.


Frage ist nun wie deklariere ich diesen in meinem FB, als In, Out oder In/Out. Was für ein Format muss ich nutzen (Any ...?) und wie deklariere ich den DB dann in meinem Programm z.B mov doppelwort nach DB????.DBD???

Ich hoffe ich konnte mein Problem plausibel dalegen und hoffe auf eure Hilfe
progress.gif
 
du kannst als block_db, word, int, byte übergeben

mit block_db findest du den aufruf dann in den referenzdaten auch wieder.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich gehe davon aus, dass die zu schreibenden Daten immer eine einheitliche Struktur haben (zb. 10 Integer). Also würde ich noch einen udt definieren, der die Datenstruktur bestimmt und dann einen In_Out Parameter von diesem Typ anlegen.

Ein In_Out wird nicht in der Instanz gespeichert, der FB greifft direkt auf den Speicherort der beim Bausteinaufruf da angehängt wird.

Natürlich kannst du auch mit In_Out arbeiten, ohne einen udt zu definieren - ich fänds aber die sauberste Lösung.

Als Alternative dazu könntest du auch mit Pointern hantieren.
 
Zurück
Oben