TIA eigene InstanzDB-Nummer im FB in SCL ermitteln und in Instanzvariable ablegen

dagabumm

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

ich habe nun schon einiges probiert und nachgelesen, aber ich komme nicht weiter.

Da wir auf dem HMI die Faceplates mit DB-Multiplexen ansprechen, müssen wir immer die DBnummer mit übergeben. Diese händisch einzutragen ist unschön und gibt eine Menge Arbeit.

Aufgabe:
der FB (zb. Motor) wird mehrmals aufgerufen und es soll also für jeden Motor in der jeweiligen Instanz in einer Variable die DBnummer darin stehen, so dass im HMI auf diese Nummer symbolisch zugegreifen kann.

Der Code soll auf 1200/1500 in SCL lauffähig sein.

Stand: VARIANT_TO_DB_ANY() geht nur von ausserhalb des FB's. Mein Ziel ist es aber direkt im FB geschieht und man entsprechend nur den FB aufrufen muss.

Ideen? Bin über Hinweise sehr dankbar!

Merci
 
es soll also für jeden Motor in der jeweiligen Instanz in einer Variable die DBnummer darin stehen, so dass im HMI auf diese Nummer symbolisch zugegreifen kann.
Wie stellst Du Dir vor, dem HMI mitzuteilen aus welchem DB es die IDB-Nummer auslesen soll? ;)
Da kannst Du die angegebene DB-Nummer ebenso gut gleich verwenden.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der Vorteil liegt auf der Hand. Wenn ich einem Faceplate welches die Struktur eines Antriebs abbildet mit einem Bildbaustein hinterlege, dann muss ich dem Bildbaustein welcher das Faceplate öffnet nur die symbolische Strukturvariable übergeben (wo die DB-Nummer für das multiplexen beinhaltet) und nicht auch noch die DB Nummer für das multiplexen.
 
So ganz kann ich Dir leider nicht folgen, mit Bildbausteinen in TIA kenne ich mich gar nicht aus. Doch egal...

Wenn das auch auf S7-1200 funktionieren soll, da fällt mir nur ein, dem FB die DB-Nummer per zusätzlichem Input mitzugeben:
Code:
Input:     In_IDB : DB_ANY;
Static:    myIDBnumber : UInt;

#myIDBnumber := #In_IDB;
Vermutlich funktioniert das nicht mit "optimierten" DB.
Geht DB-multiplexen im HMI eigentlich auch mit "optimierten" DB?

Harald
 
wunderbar funktioniert! genau das habe ich gesucht, manchmal liegt das einfach so nah und man sieht es nicht...

meines Wissens geht DB-multiplexen mit optimierten DB's nicht!

Gruss
 
Zurück
Oben