WinCC flex 2007, Bildbaustein mit Bitwert aus DWord-Variable

stefan77

Level-1
Beiträge
4
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich suche eine Lösung für ein Problem mit einen Bildbaustein, wo ich beim einfügen in mein Projekt ein DWord als Dynamische Schnittstelle angeben möchte.

Ich habe z.B. ein Feld mit Animation Farbumschlag. Diesem Feld möchte ich jetzt gerne ein einzelnes Bit aus dem DWord zuordnen. Das ist auch weiter
kein Problem. Ich habe die Dynamische Schnittstelle wo ich die DWord-Variable angeben kann und eine feste Zuordnung in dem Bildbaustein, das aus dem DWord da Bit xy für die Animation genutzt werden soll.

Jetzt zu meiner eigentlichen Frage. Ich möchte diese Bit-Zuordnung gerne flexibel haben. Dann möchte ich beim einfügen des Bildbausteins die Dynamische Schnittstelle als DWord angeben und obendrauf noch das Bit
aus disem DWord für die Animation auswählen können.
 
... hast du dich mal mit Multiplex-Variablen versucht ?

Wenn ich dich richtig verstanden habe, dann müßtest du eine Mux-Variable von Typ Bool anlegen, der du über entsprechende Hilfsvariablen sagst, welches Wort und welches Bit du zugeordnet haben willst (es geht sogar auch die DB-Anwahl).

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe das schon mal mit Multiplex probiert. Aber das Multiplexen ist ja eigentlich andersrum gedacht.

- Ich möchte Power-Tags sparen.
- Habe 3 Doppelwörter von der SPS die in verschiedenen Bildern benutzt werden. Dazu werte ich die Bildnummer aus und schicke dann die entsprechenden Daten von der SPS an WinCC für das Bild.
- In WinCC möchte ich die Bits aus den Doppelwörtern aber wieder einzeln nutzen. Was ja auch geht, wenn man das Wort als Variable auswählt und dann noch das Bit angibt.
- Bei den Bildbausteinen möchte ich jetzt das entsprechende Bit noch angeben können. Da bei jedem aufgerufenem Bildbaustein nur 2 Bits aus dem Doppelwort genutzt werden.

- Zur Zeit habe ich 16 Bildbausteine angelegt und jeweils 2 Bits fest aus dem Doppelwort angegeben. Ist aber noch viel zu aufwendig.
 
:confused: ...
Wo ist das Problem ?
Zu Adressierung deines MUX-Bits benötigst du nur "interne" Variablen - die zählen nicht zu den Tags ...
Auf diesem Weg kannst du dann durchaus aus der Bild-Nummer das (die) Bits ausrechnen.

Gruß
LL
 
das hab ich noch nicht verstanden.

wenn ich eine multiplex variable habe, dann möchte ich doch anhand der indexvariable den entsprechenden wert der variable aus der indexliste der multiplex variable zuordnen.

ich habe jetzt allerdings nur drei doppelwort-variablen (3 power-tags) mit verbindung zur sps erstellt und möchte diese jetzt auf 96 bits aufteilen und einzeln nutzen. wobei
auch mal alle bits gesetzt sein können.

wie kann ich das jetzt mit multiplexen lösen?? kannst du mir na noch etwas auf die sprünge helfen??

danke
 
Zuviel Werbung?
-> Hier kostenlos registrieren
OK ...

Sagen wir einmal, du möchtest im Bild 1 die Bits 0 und 1 des ersten DWORD verwenden.
Dann erzeugst du die z.B. für die Bit-Nummer zwei interne Variable (vom Typ INT). Der ersten weißt du den Wert "0" und der Zweiten den Wert "1" zu (mit der Funktion "Rechne" - oder so ähnlich).
Nun erzeugst du dir 2 MUX-Variablen vom Typ BOOL. Der einen weißt du beim Bit-Index den Wert der 1.internen Variablen zu, der zweiten entsprechend Nr. 2

Die DWORD-Variablen, wie du sie bisher hast brauchst du nun gar nicht mehr - das macht dann die MUX-Variable.

Bei dem nächsten Bild verfährst du entsprechend ...

Ist es jetzt etwas klarer geworden ?

Gruß
LL
 
Ich denke das ich das jetzt verstanden habe. Habe jetzt meine Indexvariable (Int) und meine Multiplex (Bool). Dahinter die Liste mit direktem Verweis auf die Bits im DB.

Aber da in einem Bild (25-30 Bilder) auch mal mehr als nur ein Bildbaustein aufgerufen wird. Das heißt ich verwende z.B. 50 Multiplexvariablen in einem Bild. Dann erhöht sich die Anzahl der verwendeten PowerTags um 50, weil ja hinter jeder Multiplex eine Variable aus der Steuerung liegt. Das möchte ich ja vermeiden, weil meine Visu auf einem PC läuft und mich jedes Tag Geld kostet.
 
Irgendwie widersprichst du dich jetzt ein bißchen ...

- Bei den Bildbausteinen möchte ich jetzt das entsprechende Bit noch angeben können. Da bei jedem aufgerufenem Bildbaustein nur 2 Bits aus dem Doppelwort genutzt werden.

- Zur Zeit habe ich 16 Bildbausteine angelegt und jeweils 2 Bits fest aus dem Doppelwort angegeben. Ist aber noch viel zu aufwendig.
und dann noch ...
... ich verwende z.B. 50 Multiplexvariablen in einem Bild. Dann erhöht sich die Anzahl der verwendeten PowerTags um 50, weil ja hinter jeder Multiplex eine Variable aus der Steuerung liegt. Das möchte ich ja vermeiden, weil meine Visu auf einem PC läuft und mich jedes Tag Geld kostet.

Was möchtest du jetzt haben ?

Wenn du Tags einsparen willst, dann geht das auch auf diesem Weg, aber nur über eine fest Zuordnung deiner Bits in den DWORD's. Du kannst ja schließlich auch die MUXen und dann bei der Animation (so wie du es bisher machst) die DWORD-Nummer angeben.
Das setzt dann lediglich voraus, dass du den ganzen Kram gut strukturierst. Ggf. erhält dann jeder Bildbaustein 3 DWORD - ob er die nun braucht oder nicht ...

Vielleicht überdenkst du noch mal dein Konzept - und immer daran denken : "Wo ein Wille ist, da ist auch ein Weg".

Gruß
LL
 
Zurück
Oben