TIA Rechteck Farbwechsel

Zuviel Werbung?
-> Hier kostenlos registrieren
So, hab´s geändert, aber es passiert leider nichts. :confused:
Die Bänder bleiben einfach blau.

EDIT

So, habe was gefunden, wechsel grün und blau, klappt :D
In den Runtime Einstellungen, war "Bitselektion für die Gestaltung" ausgewählt.

Rot und orange kommen nur wenn Bit 1 oder 2 alleine 1 sind.
Bei grün passt es mit 64, da nur Bit 6 1 ist
 

Anhänge

  • H46.JPG
    H46.JPG
    42,9 KB · Aufrufe: 13
  • 256.JPG
    256.JPG
    40,3 KB · Aufrufe: 14
Zuletzt bearbeitet:
Rot und orange kommen nur wenn Bit 1 oder 2 alleine 1 sind.
Bei grün passt es mit 64, da nur Bit 6 1 ist
Das ist so nicht ganz richtig. Orange kommt auch wenn Bit 1 und 2 gleich 1 sind. Und Grün kommt bei jeder Bit-Kombination wo Bit 6 = 1 ist - der Zustand der Bits 1 und 2 ist dafür egal.
Mit welcher Farbe animiert werden soll wenn mehr als ein Bit = 1 ist, das mußt Du überlegen und festlegen. Bei den von mir genannten 3 Bereichen bestimmt das höchste 1-Bit welche Farbe kommt. Wenn das Ergebnis nicht in Deinem Sinn ist (z.B. Bit 1 (rot) soll Vorrang haben) dann muß Du halt für bis zu 7 Bereiche die Farbe festlegen (oder im SPS-Programm gezielt Status-Bits für die Visu erzeugen). Wenn in einem Bereich mehr als 1 Bit 1 ist, dann könntest Du das Band evtl. mit zwei Farben blinken lassen, oder noch die Linienfarbe animieren.

PS:
Die 7 lückenlosen Bereiche lauten wie folgt:
Code:
-6---21- |Wert| Bereich  | Farbe
---------+----+----------+--------
00000010 |  2 |  2 - 3   | rot
00000100 |  4 |  4 - 5   | orange
00000110 |  6 |  6 - 63  | ?  rot
01000000 | 64 | 64 - 65  | grün
01000010 | 66 | 66 - 67  | ?  rot
01000100 | 68 | 68 - 69  | ?
01000110 | 70 | 70 - 127 | ?  rot
Wenn Bereiche nacheinander die selbe Farbe ergeben sollen, dann können die Bereiche zusammengefasst werden.

Harald
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
PS: zu den Bildern in #21: in den Ausdrücken für die 2 Bänder kannst Du ruhig die selbe Variable 'TEST1' (oder 'TEST2') verwenden. Du musst nicht verschiedene Variablen verwenden.

Harald
 
F: Was bedeutet der Ausdruck "'Variable' AND &H46" ?

A: Die Bits in einem (D)Word oder Byte bitweise AND-verknüpfen mit einer Bitmaske, so daß nur noch die relevanten Bits übrig bleiben und die nicht relevanten Bits alle 0 werden, um die Auswertung zu vereinfachen. Dafür in der Bitmaske an der entsprechenden Bitposition:
1 bei den Bits die erhalten bleiben sollen
0 bei den Bits die 0 werden sollen

https://www.sps-lehrgang.de/digitale-verknuepfungen/

Beispiel für Byte (oder Word wo höheres Byte alles 0 werden soll):
Code:
Bit-Wert   8421 8421  Wert des Bits für Hex-Darstellung
[COLOR="#0000FF"]Byte.Bit   7654 3210[/COLOR]
relevant   -x-- -xx-

Bitmaske   0100 0110  = 46 hex = &H46 = 70 dez
Variable   ???? ????
AND ergibt 0?00 0??0  die ? haben den Wert des Bits aus der Variable
Mit dem Ausdruck "'Variable' / 256 AND &H46" wird erst das höherwertige Byte um 8 Bits an die Position des niederwertigen Byte rechts-verschoben, und dann mit der Bitmaske &H46 maskiert.

&H.. ist die VB-Schreibweise für Hexadezimalzahlen, wie 16#.. bei SPS-Sprachen

Harald
 
Zurück
Oben