Bloque que realiza una habilitación programada para días de la semana, basado en RTC (Real Time Clock).
Representación Ladder

Estructura del Bloque
Tipo de Variable |
Nombre |
Tipo de Dato |
Descripción |
VAR_INPUT |
EN |
BOOL |
Habilitación del bloque |
SUNDAY# |
BOOL |
Habilitado el domingo |
|
MONDAY# |
BOOL |
Habilitado el lunes |
|
TUESDAY# |
BOOL |
Habilitado el martes |
|
WEDNESDAY# |
BOOL |
Habilitado el miércoles |
|
THURSDAY# |
BOOL |
Habilitado el jueves |
|
FRIDAY# |
BOOL |
Habilitado el viernes |
|
SATURDAY# |
BOOL |
Habilitado no sábado |
|
Q_OPTION# |
BYTE |
Habilitado el sábado |
|
VAR_OUTPUT |
Q |
BOOL |
Salida del bloque |
Operación
Este bloque, cuando tiene un valor TRUE en EN, tiene dos modos de operación. Si Q_OPTION# es Normal, Q es habilitada si el día de la semana del reloj interno tiene parámetro Enabled en el bloque. Si Q_OPTION# es Inverted, Q es deshabilitada si el día de la semana del reloj interno tiene parámetro Enabled en el bloque.
Cuando EN tiene valor FALSE, Q permanece FALSE.
|
¡NOTA! Los días de la semana son identificados con números, siendo el domingo el día 0 y el sábado el día 6. |
Diagrama de Flujo del Bloque

Ejemplo en Ladder

En el ejemplo de arriba, el bloque INWEEKDAY está deshabilitado. De esa forma, independientemente de las entradas, la salida Q será deshabilitada.

En el ejemplo de arriba, el bloque INWEEKDAY está habilitado y la entrada Q_OPTION# está habilitada para operación NORMAL. El día de la semana actual del reloj interno del dispositivo es miércoles (valor 3), que tiene estado ENABLED en la programación. De esa forma, la salida Q será habilitada.

En el ejemplo de arriba, el bloque INWEEKDAY está habilitado y la entrada Q_OPTION# está habilitada para operación NORMAL. El día de la semana actual del reloj interno del dispositivo es jueves (valor 4), que tiene estado DISABLED en la programación. De esa forma, la salida Q será deshabilitada.

En el ejemplo de arriba, el bloque INWEEKDAY está habilitado y la entrada Q_OPTION# está habilitada para operación INVERTED. El día de la semana actual del reloj interno del dispositivo es jueves (valor 4), que tiene estado DISABLED en la programación. De esa forma, la salida Q será habilitada.
Ejemplo en ST
El siguiente ejemplo muestra las instrucciones para aplicar el ejemplo anterior en el lenguaje ST.
VAR
END_VAR
DO1 := FB_INWEEKDAY( EN:=DI1, SUNDAY:=1, MONDAY:=0, TUESDAY:=1, WEDNESDAY:=1, THURSDAY:=0, FRIDAY:=0, SATURDAY:=1, Q_OPTION:=1);
|
|---|