(Wird da bei Wert ebenfalls die Bitnummer angegeben wie bei Animation > Gestaltung, Typ "Mehrere Bits"?)
Das wird Automatisch beim laden gemacht.Muß man bei dem WinCC Prof V15 die Visu "übersetzen"? Dann mache mal ein "Alles übersetzen".
Muss ich mir mal genauer anschauen, wir holen uns die Daten von einer S5 in die S7.Du müsstest aber auf jeden Fall im SPS-Programm dafür sorgen, daß von den Bits 1,2,6 und 9,10,14 jeweils immer nur höchstens 1 Bit = 1 ist ---> extra Status-Byte oder Status-Word für HMI zusammenstellen und nicht irgendein zufällig passend aussehendes internes Datenword abgreifen ---> Trennung HMI-Schnittstelle von Arbeits-Datenstrukturen. In dem Byte/Word/DWord für das HMI dürfen Bits mehrerer Objekte zusammen sein.
Theoretisch kannst Du auch das Word so nehmen wie es ist, müsstest dann aber in der Animation die 3 Bits anders auswerten (z.B. als Bereich), so daß gleichzeitig mehrere 1-Bits nicht stören. Das wird dann aber aufwendiger.
Das geht mit allen Typen außer BINÄR und BITWann kann man in dem "Eigenschaft animieren"-Dialog anstatt "(x) Variable" das "(x) Ausdruck" aktivieren?
Du müsstest aber auf jeden Fall im SPS-Programm dafür sorgen, daß von den Bits 1,2,6 und 9,10,14 jeweils immer nur höchstens 1 Bit = 1 ist ---> extra Status-Byte oder Status-Word für HMI zusammenstellen und nicht irgendein zufällig passend aussehendes internes Datenword abgreifen ---> Trennung HMI-Schnittstelle von Arbeits-Datenstrukturen. In dem Byte/Word/DWord für das HMI dürfen Bits mehrerer Objekte zusammen sein.
Ausdruck: 'MyAnimationWord' & 0x46
Wertebereich1 bis 1 grau (oder blau)
Wertebereich2 bis 3 rot
Wertebereich3 bis 63 orange
Wertebereich4 bis 127 grün
sonst grau (oder blau)
oder:
2 - 3 rot
4 - 63 orange
64 - 127 grün
: 'MyAnimationWord' / 256 & 0x46
oder: ('MyAnimationWord' / 256) & 0x46
oder: 'MyAnimationWord' & 0x4600 / 256
Es kommt weniger auf das getrennte Word an, sonderen darauf, daß von den Bits 1,2,6 und 9,10,14 jeweils immer nur höchstens 1 Bit = 1 ist. Werden einfach nur die Bits in ein getrenntes Word fürs HMI kopiert, dann funktioniert die Animation trotzdem nicht, wenn jeweils mehr als 1 Bit gesetzt ist.Du musst, wie Harald das schon geschrieben hat, den Wert für die Anzeige in ein getrenntes Wort rangieren.
Es kommt weniger auf das getrennte Word an, sonderen darauf, daß von den Bits 1,2,6 und 9,10,14 jeweils immer nur höchstens 1 Bit = 1 ist. Werden einfach nur die Bits in ein getrenntes Word fürs HMI kopiert, dann funktioniert die Animation trotzdem nicht, wenn jeweils mehr als 1 Bit gesetzt ist.
Harald
Das verstehe ich nicht, Harald.Es kommt weniger auf das getrennte Word an, sonderen darauf, daß von den Bits 1,2,6 und 9,10,14 jeweils immer nur höchstens 1 Bit = 1 ist. Werden einfach nur die Bits in ein getrenntes Word fürs HMI kopiert, dann funktioniert die Animation trotzdem nicht, wenn jeweils mehr als 1 Bit gesetzt ist.
Hallo Heinrich,In den ScreenShots in #3 sehe ich Test1 mit DB74.DW80 und Test2 - oh Wunder - auch wieder mit DB74.DBW80. Könnte man hier nicht alternativ die Bytes DB74.DBB80 (für Band2) und DB74.DBB81 (für Band1) adressieren?
Beim Band was die Bits 9,10,14 verwendet, sind die gleichen Bereiche (2 bis 127), nur der Ausdruck lautet dann:
Code:: 'MyAnimationWord' / 256 & 0x46 oder: ('MyAnimationWord' / 256) & 0x46 oder: 'MyAnimationWord' & 0x4600 / 256
Das ist ein Problem in WinCC, wenn die Bits nicht im Modus "Bereich" sondern im Modus "Mehrere Bits" bzw. "Binär" ausgewertet werden. Da darf jeweils nur max 1 der verwendeten Bits 1 sein. Wenn mehrere Bits 1 sind, dann will WinCC nicht entscheiden, welche Animation ausgeführt wird und führt gar keine aus (Farbe Grundzustand ohne Animation).Mehr als jeweils ein einziges Bit auf 1 kann doch eigentlich nicht das Problem sein.
Die Formel in Deinem Ausdruck ist falsch: 'TEST2' AND &H46/256'TEST1' AND &H46
'TEST1' AND 70
Die beiden gehen, nur ändert sich keine der Farben.
Es wird immer die Standard Farbe angezeigt
Dann brauchst Du auch nur 3 Bereiche.Sind mehrere Bits=1 dann bestimmt das höherwertigere 1-Bit die Farbe.Code:[COLOR="#0000FF"] 2 - 3 rot 4 - 63 orange 64 - 127 grün[/COLOR]
Beim Band was die Bits 9,10,14 verwendet, sind die gleichen Bereiche (2 bis 127), nur der Ausdruck lautet dann:
Code:: 'MyAnimationWord' / 256 & 0x46 oder: ('MyAnimationWord' / 256) & 0x46 oder: 'MyAnimationWord' & 0x4600 / 256
1. Verstanden, ein durchaus übliches Problem1. kann man machen, doch dann braucht man doppelt so viele "PowerTags". Der Preis für die WinCC Prof Runtime Lizenz richtet sich nach der Anzahl verwendeter PowerTags. Üblicherweise ist PowerTag-Sparen angesagt.
2. Die Bänder werden nicht gesteuert, es wird nur ihr Zustand angezeigt.
3. Die für ein Band nicht relevanten Bits werden durch den "Ausdruck" ausgeblendet.
4. Für das Band, was die Bits aus dem höherwertigen Byte benutzt, hatte ich in #7 geschrieben:
Ja! Das ist in WinCC Prof ohne weiteres möglich, weil man bei der Animations-Projektierung nicht nur eine Variable sondern einen Ausdruck angeben kann. Siehe das Bild in #12, da ist die Formel des Ausdrucks allerdings falsch - da kommt immer 0 rausKann man die Projektierung des HMI denn so überlisten, dass es für 2 unabhängig voneinander in der Farbe zu beeinflussende Bänder dasselbe Wort/Tag liest und in dem einen Fall nur maskiert und mit den "BereichsGrenzen" 2, 4 und 64 vergleicht und im anderen Fall zuerst noch schiebt und dann erst maskiert und mit den BereichsGrenzen 2, 4 und 64 vergleicht?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?