Animar representación de color
Los colores de un elemento están en las propiedades del elemento bajo Colores especificado. Allí puede seleccionar un color de estilo predefinido de la lista de selección o seleccionar un color en el cuadro de diálogo de colores.
La propiedad del elemento DWORD
y se codifica según el espacio de color RGB o la extensión RGBA.
Especificación de color en el espacio de color RGBA
Importante
en el Administrador de visualización ¿Existe la opción? Habilitar dibujo semitransparente. Esta opción está activada por defecto, de modo que para todas las especificaciones de color, la propiedad transparencia está disponible. Si el color se especifica mediante programación, el byte inicial se interpreta como un canal alfa y, por lo tanto, se usa como el valor de transparencia del color. Si la opción está deshabilitada, la propiedad está disponible transparencia no está disponible y el byte inicial se ignora en los literales de color.
La información de color en el código se presenta como DWORD
-literales especificados. El valor está en el espacio de color RGBA y generalmente se representa como un número hexadecimal. El valor se codifica como componentes aditivos de rojo, verde y azul y se complementa con el canal alfa, que determina la transparencia del color.
Orden de bytes de un literal de color
16#<TT><RR><GG><BB> <TT> : 00 - FF // Transparency in 256 levels <RR> : 00 - FF // Red in 256 levels <GG> : 00 - FF // Green in 256 levels <BB> : 00 - FF // Blue in 256 levels
El valor de gradación para la transparencia es 16#FF
para una cobertura total y 16#00
para transparente. Para cada componente de color, un byte es para 256 tonos de color 16#FF
Hasta que 16#00
reservado. 16#FF
significa 100% de cuota de color, 16#00
significa 0% de cuota de color.
| Byte para graduación de transparencia de |
| Byte para la parte roja de |
| Byte para la parte verde de |
| Byte para la parte azul de |
| Azul, opaco |
| verde, opaco |
| Amarillo, opaco |
| gris, semitransparente |
| Negro, semitransparente |
| rojo, opaco |
Declaración global de constantes de color
Animar elemento de visualización en color
crear en CODESYS un proyecto estándar.
Declare constantes de color globales en el árbol de POU.
{attribute 'qualified_only'} VAR_GLOBAL CONSTANT gc_dwRed : DWORD := 16#FFFF0000; gc_dwGreen: DWORD := 16#FF00FF00; gc_dwYellow: DWORD := 16#FFFFFF00; gc_dwBlue: DWORD := 16#FF0000FF; // Highly opaque gc_dwBlack : DWORD := 16#88000000; // Semitransparent END_VAR
En el árbol de dispositivos, declare en
PLC_PRG
variables de color locales.VAR dwFillColor: DWORD := GVL.gc_dwGreen; dwFrameColor : DWORD := GVL.gc_dwBlack; dwAlarmColor : DWORD := GVL.gc_dwRed; END_VAR
Declarar una variable de control.
bChangeColor : BOOL;
declarar en
PLC_PRG
una variable de entrada.bInput : BOOL;
Active el editor de visualización.
Arrastra un elemento rectángulo en el editor de visualización.
La vista propiedades del elemento se abre.
Configure las propiedades del rectángulo de la siguiente manera:
característica variables de color, estado normal, color de relleno:
PLC_PRG.dwFillColor
característica variables de color, estado normal, Color del marco:
PLC_PRG.dwFrameColor
característica variables de color, condición de alarma, color de relleno:
PLC_PRG.dwAlarmColor
característica variables de color, cambio de color:
<Umschalten-/Tastenvariable>
característica configuración de entrada, Cambiar, variable:
PLC_PRG.bInput
Programe las variables de la siguiente manera:
PROGRAM PLC_PRG VAR dwFillColor: DWORD := GVL.gc_dwGreen; dwFrameColor : DWORD := GVL.gc_dwBlack; dwAlarmColor : DWORD := GVL.gc_dwRed; bChangeColor : BOOL; bInput : BOOL; END_VAR IF bChangeColor = TRUE THEN dwFillColor := GVL.gc_dwYellow; dwFrameColor := GVL.gc_dwBlue; ELSE dwFillColor:= GVL.gc_dwGreen; dwFrameColor := GVL.gc_dwBlack; END_IF
Los colores se inicializan en tiempo de ejecución. Si entonces la variable
bChangeColor
sobre forzarTRUE
está establecido, la representación de color del rectángulo cambia. Si se hace clic en el rectángulo en la visualización, el rectángulo se muestra en colores de alarma.