[go: up one dir, main page]

0% encontró este documento útil (0 votos)
30 vistas229 páginas

Manual 2 Parcial Programacion Weg PLC

El documento describe las funcionalidades y configuraciones de dispositivos, incluyendo el convertidor de frecuencia CFW300, que permite el control de velocidad de motores trifásicos mediante modos de control vectorial y escalar. Se detallan los comandos para entradas y salidas digitales y analógicas, así como marcadores de sistema para lectura y escritura a través de Modbus. Además, se enumeran las entradas y salidas digitales y analógicas disponibles, junto con sus direcciones y descripciones.

Cargado por

Gustavo La Rocca
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
30 vistas229 páginas

Manual 2 Parcial Programacion Weg PLC

El documento describe las funcionalidades y configuraciones de dispositivos, incluyendo el convertidor de frecuencia CFW300, que permite el control de velocidad de motores trifásicos mediante modos de control vectorial y escalar. Se detallan los comandos para entradas y salidas digitales y analógicas, así como marcadores de sistema para lectura y escritura a través de Modbus. Además, se enumeran las entradas y salidas digitales y analógicas disponibles, junto con sus direcciones y descripciones.

Cargado por

Gustavo La Rocca
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 229

Equipo (Dispositivos)

Ejecutar cíclicamente: Envía las configuraciones del usuario para el dispositivo y actualiza el estado de
las entradas y salidas de manera cíclica.
Upload configuración: Permite que la configuración actual del dispositivo sea leída. Para esta opción
esté habilitada, es necesario que el monitoreo online esté activa y la opción rueda de manera cíclica
desactivada.
Activar todos: Habilita y forzar E/S de todas las entradas y salidas del dispositivo.
Desactivar todos: Inhabilita el forzar E/S de todas las entradas y salidas del dispositivo.

Comandos de las Entradas y Salidas

Para cada entrada y salida digital y analógica están asociados una caja de selección para habilitar el forzar,
un campo de status y un campo para edición.

Digitales:

1. Número de la entrada/salida digital


2. Habilitar/deshabilitar Forzar E/S
3. Estado actual de la E/S: Posee tres estados: 1. led verde claro: accionado; 2. led verde oscuro:
desactivado; 3. led gris: el valor no está siendo leído.
4. Habilita/deshabilita la entrada/salida

Analógicas:

1. Número de la entrada/salida analógica


2. Habilitar/deshabilitar Forzar E/S
3. Valor actual de la entrada/salida
4. Valor de la entrada/salida configurada por el usuario

¡NOTA!
La escala de los señales analógicos es 15 bits más 1 bit de sinal, excepto en el SSW900 que
es sólo 10 bits sin señal.

11.2 CFW300
11.2.1 Descripción

El convertidor de frecuencia CFW300 es un producto de alta performance que permite el control de velocidad

WPS v2.5X | 406


Equipo (Dispositivos)

de motores de inducción trifásicos. Este producto proporciona al usuario las opciones de control vectorial
(VVW) o escalar (V/f), ambos programables de acuerdo a la aplicación.

El modo escalar (V/f) es recomendado para aplicaciones más simples como el accionamiento de la mayoría
de las bombas y ventiladores. En esos casos es posible reducir las pérdidas en el motor y en el convertidor,
utilizando la opción "V/f Cuadrática", lo que resulta en ahorro de energía. El modo V/f también es utilizado
cuando es accionado más de un motor, por un convertidor simultáneamente (aplicaciones multimotores). En
el modo vectorial (VVW) la operación es optimizada para el motor en uso, obteniéndose un mejor desempeño
en términos de regulación de velocidad.

El convertidor de frecuencia CFW300 también posee funciones de CLP (Controlador Lógico Programable) a
través del recurso SoftPLC (integrado). Posee dos "slots" para conexión simultánea de los accesorios: Slot 1
- Accesorio de comunicación o HMI externa y Slot 2 - Accesorio de expansión de entradas y salidas (I/Os).

Consulte el manual del usuario del CFW300 para más detalles del producto.

11.2.2 Marcadores de Sistema


Las variables abajo, contenidas en el grupo GLOBAL_SYSTEM de la tabla de variables, poseen el tag fijo. Lo
tag de los marcadores de sistema fueram divididos en grupos y subgrupos donde:

Grupos:
CFW: variables de lectura y escritura del convertidor de frecuencia CFW300.

Subgrupos:
STS: variable de lectura (status);
CMD: variable de escritura (comando).

Marcadores de Sistema de Lectura (Status)

Dirección Bit Modbus Tag Descripción

Ladder

%SB6000 0 0 SYS_FREQ_2HZ Oscilador con una frecuencia de 2 Hz

%SB6000 1 1 SYS_PULSE_1SCAN Pulso durante el primer ciclo de scan

%SB6000 2 2 SYS_FALSE Siempre en 0

%SB6000 3 3 SYS_TRUE Siempre en 1

Estado Lógico

El comando gira el eje del motor está


%SB6002 1 17 CFW_STS_RUN_COMMAND
activo en el convertidor

%SB6002 2 18 CFW_STS_FIRE_MODE_ACTIVE La función Fire Mode está activa

El convertidor está configurado para usar


%SB6002 5 21 CFW_STS_SEC_RAMP_ACTIVE los valores de la primera o segunda
rampa (0-Primera, 1-Segunda)
El convertidor está en modo de
%SB6002 6 22 CFW_STS_CONFIG_MODE
configuración
%SB6002 7 23 CFW_STS_ALARM_ACTIVE El convertidor está con un alarma activo

WPS v2.5X | 407


Equipo (Dispositivos)

El convertidor está girando el eje del


motor en la referencia de velocidad, o
%SB6003 0 24 CFW_STS_MOTOR_RUNNING
ejecutando rampa de aceleración o
desaceleración
Convertidor está habilitado general y listo
%SB6003 1 25 CFW_STS_GENERAL_ENABLED
para girar el eje del motor
El eje del motor está girando en el sentido
%SB6003 2 26 CFW_STS_FWD_REV_DIRECTION
reverso o directo (0-Reverso, 1-Directo)
%SB6003 3 27 CFW_STS_JOG_ACTIVE Funcción JOG está activa

El convertidor está en modo local o


%SB6003 4 28 CFW_STS_LOC_REM_MODE
remoto (0-Local, 1-Remoto)

%SB6003 5 29 CFW_STS_UNDERVOLTAGE El convertidor está en subtensión

%SB6003 7 31 CFW_STS_FAULT_ACTIVE El convertidor está en el estado de falla

Indica que la señal de la entrada


%SB6004 0 32 CFW_STS_AI1_BROKEN_CABLE analógica AI1 en 4 a 20 mA o 20 a 4 mA
es inferior a 2 mA
Indica que la señal de la entrada
%SB6004 1 33 CFW_STS_AI2_BROKEN_CABLE analógica AI2 en 4 a 20 mA o 20 a 4 mA
es inferior a 2 mA
Teclas de la HMI

%SB6006 0 48 CFW_STS_KEY_START_STOP Tecla START/STOP (I)/(0) presionada

%SB6006 2 50 CFW_STS_KEY_UP Tecla UP presionada

%SB6006 3 51 CFW_STS_KEY_DOWN Tecla DOWN presionada

Controle Remoto Infrared (IRC 1)

%SB6010 0 80 CFW_STS_IRC_1_KEY_ON Tecla de Inicio/Parada del Motor pulsada

Tecla de Navegación Hacia Abajo


%SB6010 1 81 CFW_STS_IRC_1_KEY_DOWN
pulsada
Tecla de Navegación Hacia Arriba
%SB6010 2 82 CFW_STS_IRC_1_KEY_UP
pulsada
Tecla de Conmutación pulsada. Esta tecla
permite conmutar la vista entre dos
%SB6010 3 83 CFW_STS_IRC_1_KEY_CHANGE
parámetros (valores) definidos por los
parámetros P842 y P843
%SB6010 4 84 CFW_STS_IRC_1_KEY_P Tecla de Confirmación pulsada

%SB6010 5 85 CFW_STS_IRC_1_KEY_SFK1 Tecla de Función Especial 1 pulsada

%SB6010 6 86 CFW_STS_IRC_1_KEY_SFK2 Tecla de Función Especial 2 pulsada

%SB6010 7 87 CFW_STS_IRC_1_KEY_SFK3 Tecla de Función Especial 3 pulsada

Controle Remoto Infrared (IRC 2)

%SB6012 0 96 CFW_STS_IRC_2_DRY Dry key pressed

%SB6012 1 97 CFW_STS_IRC_2_CLEAN Clean key pressed

%SB6012 2 98 CFW_STS_IRC_2_TIMER Timer key pressed

%SB6012 3 99 CFW_STS_IRC_2_FUNC Func function active

WPS v2.5X | 408


Equipo (Dispositivos)

%SB6012 4 100 CFW_STS_IRC_2_SWING Sw ing function active

%SB6012 5 101 CFW_STS_IRC_2_COOL Cool key pressed

%SB6012 6 102 CFW_STS_IRC_2_MODE Mode key pressed

%SB6012 7 103 CFW_STS_IRC_2_POWER Pow er key pressed

%SB6013 0 104 CFW_STS_IRC_2_TEMP_UNIT Temp unit key pressed

%SB6013 1 105 CFW_STS_IRC_2_UVC UVC function active

Lectura - Funcción Modbus 04 "Read Input Registers"

Velocidad

%
-- 3100 CFW_STS_MOTOR_SPEED_13BITS Velocidad del motor en 13 bitys (8192)
SW6200
%
-- 3101 CFW_STS_MOTOR_SYNC_SPEED Velocidad síncrona del motor en rpm
SW6202
%
-- 3102 CFW_STS_MOTOR_SPEED_RPM Velocidad del motor en rpm
SW6204
%
-- 3103 CFW_STS_SPEED_REFERENCE Referencia de velocidad después de la rampa en rpm
SW6206

Alarma y Falla

% Número de la alarma que eventualmente esté presente en el


-- 3104 CFW_STS_PRES_ALARM
SW6208 convertidor
% Número de la falla que eventualmente esté presente en el
-- 3105 CFW_STS_PRES_FAULT
SW6210 convertidor

Corriente y Par

%
-- 3106 CFW_STS_RATED_CURRENT Corriente nominal (HD) del convertidor en A (x10)
SW6212
%
-- 3107 CFW_STS_MOTOR_CURRENT Corriente del motor sin filtro en A (x10)
SW6214
%
-- 3108 CFW_STS_MOTOR_TORQUE Par del motor sin filtro en % (x10)
SW6216

Controle Remoto Infrared

%
-- 3109 CFW_STS_IRC_2_INFO IRC_2 info
SW6218

Marcadores de Sistema de Escritura / Lectura (Comando)

Lectura - Funcción Modbus 01 "Read Coils"


Escritura - Funcción Modbus 05 "Write Single Coil" y 15 "Write Multiple Coils"

WPS v2.5X | 409


Equipo (Dispositivos)

Dirección Bit Modbus Tag Descripción

Comando Lógico

Gira el eje del motor de acuerdo con el valor de la referencia


%CB6008 0 16 CFW_CMD_RUN_STOP
de velocidad (0-Para, 1-Gira)
Habilita general el convertidor permitiendo la operación del
%CB6008 1 17 CFW_CMD_GENERAL_ENABLE
motor (0-Deshabilita, 1-Habilita)
El eje del motor gira en el sentido indicado en la referencia de
%CB6008 2 18 CFW_CMD_SPEED_DIRECTION
velocidad (0-Reverso, 1-Directo)

%CB6008 3 19 CFW_CMD_JOG Habilita la función JOG (0-Deshabilita, 1-Habilita)

Selecciona el modo de operacción del convertidor (0-Local, 1-


%CB6008 4 20 CFW_CMD_LOC_REM
Remoto)
Selecciona la rampa para acelerar y desacelerar el motor (0-
%CB6008 5 21 CFW_CMD_SECOND_RAMP
Primera, 1-Segunda)
Permite que el comando CFW_CMD_RUN_STOP de la SoftPLC
CFW_CMD_FORCE_RUN_STOP_SPL cambie el comando Gira/Para del convertidor
%CB6008 6 22
C independientemente de la fuente programada para Gira/Para
vía P224 o P227

%CB6008 7 23 CFW_CMD_FAULT_RESET Ejecuta el mando para reset de la falla

11.2.3 I/O's
Las informaciones de Hardware, pueden ser encontradas en el Manual de la PLC300 a través del sitio: www.
weg.net.

Entradas Digitais

Dirección Bit Modbus Tag Descrição


%IB0 0 16000 DI1 Entrada digital 1
%IB0 1 16001 DI2 Entrada digital 2
%IB0 2 16002 DI3 Entrada digital 3
%IB0 3 16003 DI4 Entrada digital 4
%IB0 4 16004 DI5 Entrada digital 5 - Módulo de expansion I/O
%IB0 5 16005 DI6 Entrada digital 6 - Módulo de expansion I/O
%IB0 6 16006 DI7 Entrada digital 7 - Módulo de expansion I/O
%IB0 7 16007 DI8 Entrada digital 8 - Módulo de expansion I/O

Entradas Analógicas

Dirección Bit Modbus Tag Descrição


%IW2 -- 5001 AI1 Entrada analógica 1
%IW4 -- 5002 AI2 Entrada analógica 2 - Módulo de expansion I/O

Agregado a la versión de firmware V2.00

WPS v2.5X | 410


Equipo (Dispositivos)

Endereço Bit Modbus Tag Descrição


Entrada analógica (Potenciômetro) -
%IW6 -- 5003 AIP
Módulo de expansion I/O
%IW8 -- 5004 FI1 Entrada em frequência 1
%IW10 -- 5005 FI2 Entrada em frequência 2 - Módulo de expansion I/O
%IW12 -- 5006 FI3 Entrada em frequência 3 - Módulo de expansion I/O
%IW14 -- 5007 FI4 Entrada em frequência 4 - Módulo de expansion I/O

Salidas Digitais

Dirección Bit Modbus Tag Descrição


%QB0 0 16000 DO1 Saída digital 1
%QB0 1 16001 DO2 Salida digital 2 - Módulo de expansion I/O
%QB0 2 16002 DO3 Salida digital 3 - Módulo de expansion I/O
%QB0 3 16003 DO4 Salida digital 4 - Módulo de expansion I/O

Salidas Analógicas

Dirección Bit Modbus Tag Descrição


%QW2 -- 5001 AO1 Salida analógica 1
%QW4 -- 5002 AO2 Salida analógica 1 - Módulo de expansion I/O

Agregado a la versión de firmware V2.00


Endereço Bit Modbus Tag Descrição
%QW6 -- 5003 FO1 Salida en frecuencia 1 - Módulo de expansion I/O
%QW8 -- 5004 FO2 Salida en frecuencia 2 - Módulo de expansion I/O
%QW10 -- 5005 FO3 Salida en frecuencia 3 - Módulo de expansion I/O

NOTA!
Las direcciones de las salidas analógicas y digitales han cambiado desde la versión de firmware
1.20. Para convertir las variables que hay que cambiar las direcciones:
%QB6 => %QB0
%QW8 => %QW2
%QW10 => %QW4

11.2.4 Importación WLP


La función importación WLP se utiliza para importar el Ladder desarrollado en el software WLP del equipo.

La importación WLP se puede realizar durante la creación del recurso.

WPS v2.5X | 411


Equipo (Dispositivos)

1. Para ejecutar la función importación WLP haga clic en el botón Importación WLP y seleccione la carpeta
del proyecto WLP o el archivo WLP BKP.

WPS v2.5X | 412


Equipo (Dispositivos)

WPS v2.5X | 413


Equipo (Dispositivos)

2. Después de la importación WLP finalizar con éxito, haga clic en el botón Finalizar para efectuar la copia de
los archivos importados para el nuevo recurso.

11.2.5 Parámetros
11.2.5.1 Resumen
La pantalla de configuración de parámetros es utilizada para la configuración y monitoreo de todos los
parámetros del equipo, inclusive los parámetros de usuario.

¡NOTA!
La lectura y escritura de los parámetros es realizada a través de esta pantalla, solamente la
configuración de los parámetros del usuario debe ser enviada la primera vez, o siempre que es
modificada, a través de la rutina de download del recurso.

Abajo sigue una visión general sobre la pantalla de configuración de parámetros.

WPS v2.5X | 414


Equipo (Dispositivos)

1. Archivos de parámetros: En esta parte quedan todos los archivos de configuraciones de parámetros
creados por el usuario. Observe que cuando el archivo tenga un muñeco dibujado sobre la tabla, significa
que esta tabla de parámetros posee parámetros/grupo de parámetros ocultos.

2. Grupos de parámetros: En este árbol son mostrados todos los grupos de parámetros, observe que un
mismo parámetro puede encontrarse en más de un grupo, sin embargo, cuando su valor es modificado,
éste será modificado en todos los grupos a los que pertenzca.

3. Grupos de parámetros modificados: Cuando los grupos de parámetros contienen el muñeco sobre la
tabla, significa que éstos poseen parámetros ocultos.

4. Comandos: Sigue, abajo, la descripción de los comandos por orden de exhibición:


4.1.Visualizar parámetro: En caso de que algún parámetro haya sido ocultado, este botón permite
tornarlo visible nuevamente.
4.2.Ocultar parámetro: Basta seleccionar uno o más parámetros en la tabla y seleccionar esta acción
para que los parámetros sean ocultos.
4.3.Grabar tabla: Grava los valores de los parámetros exhibidos en la pantalla del equipo, los valores
enviados son los presentes en la columna Usuario. El flujo es Usuario -> Monitoreado (equipo)
4.4.Leer tabla: Lee los valores de los parámetros del equipo exhibidos en la columna Monitoreado y los
graba en el archivo de parámetros de la columna Usuario. El flujo es Monitoreado (equipo) -> Usuario
4.5.Parámetros del usuario: Abre una pantalla para edición de los parámetros del usuario.
4.6.Filtro: Abre una opción de filtro de parámetros, pudiendo filtrar por número de parámetro o por
descripción.

5. Parámetros del Usuario y Parámetros Monitoreado: En estas dos columnas ocurre la visualización off-
line y on-line de los parámetros. Se puede decir que la columna Usuario muestra los valores que están en

WPS v2.5X | 415


Equipo (Dispositivos)

el archivo localizado en la computadora y la columna Monitoreado muestra los valores que están
efectivamente grabados en el equipo. Siempre que usted use la opción de Grabar Parámetro los valores
enviados serán de la columna Usuario a la columna Monitoreado, o sea, Archivo -> Equipo, en el caso de
la lectura, el flujo se invierte siendo de la columna Monitoreado para Usuario, o sea, Equipo -> Archivo.
En caso de que desee alterar los valores directamente en el equipo sin alterarlos en el archivo, basta hacer
clic sobre la columna monitoreado y alterarlos. La alteración se llevará a cabo de forma on-line.

6. Parámetros modificados: Siempre que un valor de un parámetro sea diferente entre las columnas
Usuario y Monitoreado éste permanecerá en rojo.

7. Salida: En esta pantalla son exhibidas las informaciones de error, en caso de que los errores ocurran
durante la escritura y/o lectura de parámetros.

11.2.5.2 Configuración
Abajo sigue la lista de los pasos necesarios para creación de un archivo de parámetros.

1. Creación de un nuevo archivo de parámetros.

2. Definir nombre para el archivo de parámetros

WPS v2.5X | 416


Equipo (Dispositivos)

3. Configurar qué parámetros desea visualizar en su tabla de parámetros

WPS v2.5X | 417


Equipo (Dispositivos)

4. Luego de la realización de las etapas de arriba, estará creado el archivo de parámetros, pudiendo ser
realizada la parametrización del equipo.

WPS v2.5X | 418


Equipo (Dispositivos)

11.2.5.3 Lectura y Escritura de los Parámetros


Existen 3 (tres) formas de ejecutar la lectura y escritura de los parámetros, siendo por tabla, selección y
grupo.

1. Escritura de la tabla. El comando escribir tabla enviará al equipo todos los parámetros visibles en la
pantalla, en caso de que ocurra algún error en el envío de algún parámetro específico, será exhibido un
mensaje en la ventana de salida informando el error. Es importante observar que solamente los parámetros
visibles serán enviados, de esta forma, es necesaria atención para saber cuál nudo del árbol de grupos de
parámetros usted está visualizado. Ejemplo: Si desea escribir todos sin filtrar por grupo, basta dejar
seleccionada la raíz del árbol.

WPS v2.5X | 419


Equipo (Dispositivos)

2. Lectura de la tabla. El comando leer tabla leerá todos los parámetros del equipo, en caso de que ocurra
algún error en la lectura de algún parámetro específico, será exhibido un mensaje en la ventana de salida
informando el error. Es importante observar que solamente los parámetros visibles serán leídos, de esta
forma, es necesaria atención para saber cuál nudo del árbol de grupos de parámetros usted está visualizado.
Ejemplo: Si desea leer todos sin filtrar por grupo, basta dejar seleccionada la raíz del árbol.

WPS v2.5X | 420


Equipo (Dispositivos)

3. Lectura/Escritura de parámetros específicos. Para leer/escribir solamente algunos parámetros, uno o más,
basta seleccionarlos en la tabla y hacer clic con el botón derecho del mouse, escogiendo la opción deseada,
pudiendo ser leer o escribir parámetro.

4. Lectura/escritura de grupo de parámetros. Para leer/escribir solamente un grupo de parámetros, basta


seleccionarlos en el árbol de grupos y hacer clic con el botón derecho del mouse escogiendo la opción
deseada, pudiendo ser leer o escribir grupo.

WPS v2.5X | 421


Equipo (Dispositivos)

11.2.5.4 Ocultar/Mostrar Parámetros y Grupos de Parámetros


Los parámetros pueden ser ocultos/visibles de 2 (dos) maneras, de forma individual o por grupo.

1. Ocultar Parámetros: Para ocultar un parámetro individualmente basta hacer clic sobre el parámetro
deseado con el botón derecho del mouse y seleccionar la opción "Ocultar Parámetro", también puede
solamente presionar la tecla "Delete".

WPS v2.5X | 422


Equipo (Dispositivos)

2. Mostrar Parámetros Ocultos: Para exhibir los parámetros que fueron ocultados haga clic con el botón
derecho del mouse y seleccione la opción "Mostrar parámetros ocultos" o presione la tecla "Insert", a
continuación se desplegará una nueva ventana exhibiendo los parámetros que estaban ocultos, bastará
seleccionar los deseados y confirmar.

¡NOTA!
Los parámetros exhibidos en esta nueva ventana son solamente los que pertenecen al filtro
actual, conforme la selección en el árbol de grupos de parámetros. En las imágenes de abajo
está seleccionado el grupo CAN, esto significa que solamente los parámetros ocultos de este
grupo serán exhibidos.

WPS v2.5X | 423


Equipo (Dispositivos)

WPS v2.5X | 424


Equipo (Dispositivos)

3. Ocultar Grupos de Parámetros: Para ocultar un grupo de parámetros basta seleccionar el grupo deseado
en el árbol y usar la opción "Ocultar Grupo".

WPS v2.5X | 425


Equipo (Dispositivos)

WPS v2.5X | 426


Equipo (Dispositivos)

4. Mostrar Grupos de Parámetros Ocultos: Para exhibir un grupo de parámetros que fue ocultado, basta
seleccionar la raíz del árbol de grupos y seleccionar la opción "Mostrar grupo oculto", a continuación, se
desplegará una ventana que exhibirá los grupos que están ocultos. Bastará, entonces, seleccionar el grupo
oculto que desea mostrar.

WPS v2.5X | 427


Equipo (Dispositivos)

WPS v2.5X | 428


Equipo (Dispositivos)

WPS v2.5X | 429


Equipo (Dispositivos)

5. Ocultar y Exhibir Parámetros y Grupos de Parámetros: A través de esta opción se tiene el control total
de los parámetros y de los grupos de parámetros. Es posible ocultar y mostrar parámetros individuales,
múltiples parámetros, grupos individuales y múltiples grupos en una misma acción.

WPS v2.5X | 430


Equipo (Dispositivos)

WPS v2.5X | 431


Equipo (Dispositivos)

11.2.5.5 Parámetros de Usuario


Parámetros de Usuario

Para abrir la pantalla de configuración de los parámetros de usuario basta hacer clic en la opción "Parámetros
del Usuario", en el nudo parámetros del árbol del proyecto, o hacer clic en el ícono indicado en la barra de
herramientas del archivo de parámetros.

Pantalla de Configuración

En la pantalla de configuración de los parámetros de los usuarios es posible definir varios atributos de los
parámetros, tales como descripción, valores mínimos y máximos, unidad, dígito, tipo de datos, entre otros.

¡NOTA!
Estas configuraciones serán exhibidas automáticamente en el archivo de parámetros, no
obstante, para que sean enviados al equipo es necesario realizar el download del recurso.

WPS v2.5X | 432


Equipo (Dispositivos)

Campos de tabla:

Parámetro: Identificación del parámetro de usuario.

Descripción: Descripción del parámetro de usuario en la tabla de parámetros. En los dispositivos que tienen
HMI basadas en texto, la descripción se envía al dispositivo y se muestra en la HMI.

Mínimo: Valor mínimo de entrada para el parámetro.

Máximo: Valor máximo de entrada para el parámetro.

Unidad: Unidad que se muestra en la HMI del dispositivo.

Valor predeterminado: Valor cargado cuando se selecciona restauración estándar de fábrica.

Retentivo: Conserva el valor después de reiniciar lo dispositivo.

Hexadecimal: Muestra el valor en hexadecimal.

Decimales: Número de dígitos decimales para mostrar el valor.

Tipo de datos: Tipo de datos de parámetro utilizado por la aplicación de ladder.

Contraseña: Habilita la solicitud de contraseña cambiando el valor del parámetro.

WPS v2.5X | 433


Equipo (Dispositivos)

Solo lectura: No permite la escritura de valores en el parámetro por la red de comunicación o la HMI. La
escritura se realiza solo mediante la aplicación de escalera.

Muestra HMI: Muestra el parámetro en la HMI..

Realiza modificaciones: Opciones de confirmación al cambiar el parámetro:


o Sin confirmación: no solicita confirmación al cambiar el parámetro.
o Con la confirmación y el motor parado: Solicitar confirmación y permitir el cambio solo con el motor parado.
o Con confirmación: solicite confirmación al cambiar el parámetro.

Motor parado: Realice el cambio solo con el motor parado.

Ayuda: En los dispositivos que tienen HMI basada en texto, puede editar un texto de ayuda para el
parámetro.

Exhibición del parámetro del usuario

Los parámetros del usuario serán exhibidos en la tabla de parámetros, conforme configurados en la pantalla
de configuración.

WPS v2.5X | 434


Equipo (Dispositivos)

11.2.6 Ladder
11.2.6.1 Coil
11.2.6.1.1 DIRECTCOIL
Bloque lógico utilizado para atribución de valores directos a variables de salida.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


VAR_OUTPUT O1 BOOL Salida de registro del bloque

Operación

Este bloque pasa el valor de A a la dirección de memoria correspondiente a O1.

Diagrama

Diagrama de Flujo del Bloque

Ejemplo

El ejemplo de arriba deja la salida digital DO9 permanentemente encendida, ya que el valor de A, en

WPS v2.5X | 435


Equipo (Dispositivos)

este caso, es el valor del bus izquierdo, que es siempre considerado nivel lógico alto (TRUE).

11.2.6.1.2 INVERTEDCOIL
Bloque lógico utilizado para atribución de valores negados a las variables de salida.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


VAR_OUTPUT O1 BOOL Salida de registro del bloque

Operación

Este bloque pasa el valor negado de A, a la dirección de memoria correspondiente a O1.

Diagrama

Diagrama de Flujo del Bloque

Ejemplo

WPS v2.5X | 436


Equipo (Dispositivos)

El ejemplo de arriba desactiva la salida digital DO3 cuando algunas de las entradas digitales DI1 o
DI2 están con valor FALSE. Cuando ambas entradas están con valor TRUE, se activa DO3.

11.2.6.1.3 RESETCOIL
Bloque lógico utilizado para deshabilitación indefinida de variables de salida.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


VAR_OUTPUT O1 BOOL Salida de registro del bloque

Operación

Al identificar un valor TRUE en A, este bloque pasa un valor FALSE a la dirección de memoria
correspondiente a O1.
Al identificar un valor FALSE en A, este bloque no realiza ninguna operación.

Diagrama

Diagrama de Flujo del Bloque

WPS v2.5X | 437


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba desactiva permanentemente el marcador de control del sistema que habilita el
carácter de fin de mensaje en la comunicación RS232 al identificar un nivel TRUE en la entrada digital
DI5.

11.2.6.1.4 SETCOIL
Bloque lógico utilizado para habilitación indefinida de variables de salida.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


VAR_OUTPUT O1 BOOL Salida de registro del bloque

Operación

Al identificar un valor TRUE en A, este bloque pasa un valor TRUE a la dirección de memoria
correspondiente a O1.
Al identificar un valor FALSE en A, este bloque no realiza ninguna operación.

Diagrama

WPS v2.5X | 438


Equipo (Dispositivos)

Diagrama de Flujo del Bloque

Ejemplo

El ejemplo de arriba activa permanentemente el marcador de control del sistema habilita el carácter
de fin de mensaje en la comunicación RS232 al identificar un nivel TRUE en la entrada digital DI6.

11.2.6.1.5 TOGGLECOIL
Bloque lógico utilizado para alternancia de variables de salida.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


VAR_OUTPUT O1 BOOL Salida de registro del bloque
VAR TOGGLECOIL_INST_0 TOGGLECOIL Instancia de acceso a la estructura del bloque

WPS v2.5X | 439


Equipo (Dispositivos)

Operación

Al identificar una transición de FALSE para TRUE (flanco de subida) en A, el bloque invierte el estado
de O1.

Diagrama

Diagrama de Flujo del Bloque

Ejemplo

El ejemplo de arriba invierte el estado de la salida digital DO6 a cada desactivación del buzzer
interno.

11.2.6.2 Communication Network


11.2.6.2.1 Modbus RTU
11.2.6.2.1.1 Resumen de Modbus
Operación en la Red Modbus RTU - Modo maestro

El CFW300 permite la operación como maestro de la red Modbus RTU. Para esta operación, es necesario
observar los siguientes puntos:

WPS v2.5X | 440


Equipo (Dispositivos)

Solamente la interface RS485 permite operación como maestro de la red.


Es necesario programar, en las configuraciones del producto, el modo de operación como “Maestro”,
además de la tasa de comunicación, paridad y stop bits, que deben ser las mismas para todos los equipos
de la red.
El maestro de la red Modbus RTU no tiene dirección, después la dirección configurada en el CFW300 no es
utilizado.
El envío y recepción de telegramas vía interface RS485 utilizando el protocolo Modbus RTU es programado
utilizando bloques en lenguaje de programación ladder. Es necesario conocer los bloques disponibles y el
software de programación en ladder para poder programar el maestro de la red.
Las siguientes funciones están disponibles para envío de requisiciones por el maestro Modbus:
o Función 01: Read Coils
o Función 02: Read Discrete Inputs
o Función 03: Read Holding Registers
o Función 04: Read Input Registers
o Función 05: Write Single Coil
o Función 06: Write Single Register
o Función 15: Write Multiple Coils
o Función 16: Write Multiple Registers

Bloques para la programación del maestro

Para el control y monitoreo de la comunicación Modbus RTU utilizando el CFW300, fueron desarrollados los
siguientes bloques, que deben ser utilizados durante la programación en ladder.

11.2.6.2.1.2 MB_MasterControlStatus
Bloque que permite monitorear diversos estados del maestro de la red Modbus RTU.

Representación Ladder

Estructura del Bloque

WPS v2.5X | 441


Equipo (Dispositivos)

Tipo de Variable Nombre Tipo de Dato Descripción


Execute BOOL Habilitación del bloque
VAR_INPUT
DisableComm BOOL Deshabilita la comunicación Modbus RTU
Done BOOL Habilitación de salida
CommDisabled BOOL Señalizador de comunicación deshabilitada
TxCounter WORD UINT Contador de solicitudes enviadas
RxCounter WORD UINT Contador de telegramas recibidos
NoAnswerCounter WORD UINT Contador de solicitudes no respondidas
Contador de respuestas recibidas con información
ErrorResponseCounter WORD UINT
de error
VAR_OUTPUT
Dirección del esclavo no qual foi detectado o último
LastErrorSlaveAddress BYTE USINT
erro de comunicação
Resultado de operación del último error de
comunicación recibido
LastErrorResult BYTE USINT (0 – Sin error)
(4 – Timeout de respuesta)
(5 – Esclavo retornó error)
LastErrorCode BYTE USINT Código del último error de comunicación recibido

Operación

Este bloque permanece activo mientras Execute está en nivel TRUE, actualizando sus salidas de
acuerdo con el monitoreo del maestro y con las solicitudes de entrada. Cuando Execute recibe nivel
FALSE, las entradas son ignoradas y las salidas son reseteadas. La salida Done recibe nivel TRUE
cuando Execute tenga nivel TRUE y el bloque ya haya finalizado su ejecución.

Un nivel TRUE en DisableComm deshabilita la comunicación Modbus RTU y resetea los contadores y
marcadores de status del maestro. Estos marcadores y contadores son exhibidos en las salidas del
bloque, cada uno conteniendo un dato correspondiendo a su descripción. Sus valores también son
reseteados en el apagado del maestro.

Diagrama de Flujo del Bloque

WPS v2.5X | 442


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba solicita datos de status del maestro de la red Modbus RTU, además de permitir
deshabilitar la comunicación a través de DISABLE. Finalizado exitosamente el bloque, será activada
la salida Done.

11.2.6.2.1.3 MB_ReadBinary
Bloque que ejecuta una lectura de hasta 128 datos binarios (vía Read Coils o Read Discrete Inputs)
de un esclavo en red Modbus RTU.

WPS v2.5X | 443


Equipo (Dispositivos)

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


Execute BOOL Habilitación del bloque
SlaveAddress BYTE Dirección del esclavo
Function# BYTE Código de la función de lectura
InitialDataAddress WORD Dirección del bit inicial de los datos a ser leídos
VAR_INPUT
NumberOfData BYTE Número de bits a ser leídos (1 a 128)
Tiempo máximo de espera por la respuesta del
Timeout# WORD
esclavo [ms]
Indicación de offset en InitialDataAddress, o sea,
Offset# BOOL
necesidad de sustraer 1 de este número
Done BOOL Habilitación de salida
Active BOOL Señalizador de espera de respuesta
Señalizador de que la interfaz RS485 está
Busy BOOL
VAR_OUTPUT ocupada con otra solicitud
Error BOOL Señalizador de error en la ejecución
ErrorID BYTE Identificador del error ocurrido
Value BOOL Variable que almacena los datos recibidos
VAR MB_READBINARY_INST_0 MB_READBINARY Instancia de acceso a la estructura del bloque

Operación

Este bloque, cuando detecta un flanco de subida en Execute, verifica si el esclavo Modbus RTU en la
dirección especificada en SlaveAddress está libre para envío de datos (variable Busy en nivel
FALSE). En caso de que lo esté, enviará la solicitud de lectura de un número de bits indicado por
NumberOfData a la dirección InitialDataAddress, utilizando la función escogida en Function#, y
ajustará la salida Active, reseteándola al recibir la respuesta del esclavo. Los datos recibidos serán
almacenados en la variable Value. En caso de que el esclavo no esté libre, el bloque aguardará que
Busy pase a nivel FALSE para reenviar la solicitud.

¡NOTA!
En caso de Execute pase a nivel FALSE y Busy aún esté en nivel TRUE, la solicitud será
cancelada.

WPS v2.5X | 444


Equipo (Dispositivos)

¡NOTA!
Value es un array de tamaño igual a NumberOfData. Es importante verificar esta compatibilidad
para no generar errores en el bloque.

Cuando Execute tiene valor FALSE, Done permanece FALSE. La salida Done sólo es activada
cuando el bloque termina la ejecución exitosamente, permaneciendo en nivel TRUE hasta que
Execute reciba FALSE.

En caso de que haya algún error en la ejecución, la salida Error será activada y ErrorID exhibirá el
código del error según la tabla de abajo.

Código Descripción
0 Ejecutado exitosamente
1 Algún dato de entrada inválido
2 Maestro no habilitado
4 Timeout en la respuesta del esclavo
5 El esclavo retornó error

Diagrama de Flujo del Bloque

WPS v2.5X | 445


Equipo (Dispositivos)

WPS v2.5X | 446


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba solicita la lectura de un número de datos binarios descrito por DATA_COUNT,
posicionados en INIT en el esclavo Modbus RTU de dirección SLAVE, a través de la función Read
Discrete Input. Esos datos son pasados a VALUE. Finalizado exitosamente el bloque, será activada
la salida Done.

11.2.6.2.1.4 MB_ReadRegister
Bloque que ejecuta una lectura de hasta 64 registradores de 16 bits (vía Read Holding Registers o
Read Input Registers) de un esclavo en la red Modbus RTU.

Representación Ladder

Estructura del Bloque

WPS v2.5X | 447


Equipo (Dispositivos)

Tipo de Variable Nombre Tipo de Dato Descripción


Execute BOOL Habilitación del bloque
SlaveAddress BYTE Dirección del esclavo
Function# BYTE Código de la función de lectura
InitialDataAddress WORD Dirección del registrador inicial a ser leído
VAR_INPUT
NumberOfData BYTE Número de registradores a ser leídos (1 a 64)
Tiempo máximo de espera por la respuesta del
Timeout# WORD
esclavo [ms]
Indicación de offset en InitialDataAddress, o sea,
Offset# BOOL
necesidad de sustraer 1 de este número
Done BOOL Habilitación de salida
Active BOOL Señalizador de espera de respuesta
Señalizador de que la interfaz RS485 está
Busy BOOL
ocupada con otra solicitud

VAR_OUTPUT Error BOOL Señalizador de error en la ejecución


ErrorID BYTE Identificador del error ocurrido
BYTE SINT USINT
WORD UINT INT
Value Variable que almacena los datos recibidos
DWORD UDINT
DINT REAL
MB_READREGISTER
VAR MB_READREGISTER Instancia de acceso a la estructura del bloque
_INST_0

Operación

Este bloque, cuando detecta un flanco de subida en Execute, verifica si el esclavo Modbus RTU en la
dirección especificada en SlaveAddress está libre para envío de datos (variable Busy en nivel
FALSE). En caso de que lo esté, enviará la solicitud de lectura de un número de registradores
indicado por NumberOfData a la dirección InitialDataAddress, utilizando la función escogida en
Function# y ajustando la salida Active, reseteándola al recibir la respuesta del esclavo. Los datos
recibidos serán almacenados en la variable Value. En caso de que el esclavo no esté libre, el bloque
aguardará que Busy pase a nivel FALSE para reenviar la solicitud.

¡NOTA!
En caso de Execute pase a nivel FALSE y Busy aún esté en nivel TRUE, la solicitud será
cancelada.

¡NOTA!
Value es un array del número de bits de NumberOfData multiplicado por 16. O sea, en caso de
que NumberOfData sea 16, Value podrá ser un array de 32 posiciones BYTE, 16 posiciones
WORD u 8 posiciones DWORD. Es importante verificar esta compatibilidad para no generar
errores en el bloque.

Cuando Execute tiene valor FALSE, Done permanece FALSE. La salida Done sólo es activada
cuando el bloque termina la ejecución exitosamente, permaneciendo en nivel TRUE hasta que
Execute reciba FALSE.

En caso de que haya algún error en la ejecución, la salida Error será activada y ErrorID exhibirá el

WPS v2.5X | 448


Equipo (Dispositivos)

código del error según la tabla de abajo.

Código Descripción
0 Ejecutado exitosamente
1 Algún dato de entrada inválido
2 Maestro no habilitado
4 Timeout en la respuesta del esclavo
5 El esclavo retornó error

Diagrama de Flujo del Bloque

WPS v2.5X | 449


Equipo (Dispositivos)

WPS v2.5X | 450


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba solicita la lectura de un número de datos de registradores descrito por


DATA_COUNT, posicionados en INIT, en el esclavo Modbus RTU, de dirección SLAVE, a través de la
función Read Input Register. Esos datos son pasados a VALUE. Finalizado exitosamente el bloque,
será activada la salida Done.

11.2.6.2.1.5 MB_SlaveStatus
Bloque que permite monitorear el estado de 4 esclavos de la red Modbus RTU.

Representación Ladder

Estructura del Bloque

WPS v2.5X | 451


Equipo (Dispositivos)

Tipo de
Nombre Tipo de Dato Descripción
Variable
Execute BOOL Habilitación del bloque
Cantidad de errores que el maestro debe identificar
ErrorsToSetOffline# BYTE hasta considerar la comunicación con un esclavo
off-line
VAR_INPUT AddressSlave1# BYTE Dirección del esclavo 1 a ser monitoreado
AddressSlave2# BYTE Dirección del esclavo 2 a ser monitoreado
AddressSlave3# BYTE Dirección del esclavo 3 a ser monitoreado
AddressSlave4# BYTE Dirección del esclavo 4 a ser monitoreado
Done BOOL Habilitación de salida
Señalizador de que cualquiera de las
GeneralOffline BOOL
comunicaciones monitoreadas está off-line

VAR_OUTPUT Slave1Offline BOOL Señalizador de estado off-line del esclavo 1


Slave2Offline BOOL Señalizador de estado off-line del esclavo 2
Slave3Offline BOOL Señalizador de estado off-line del esclavo 3
Slave4Offline BOOL Señalizador de estado off-line del esclavo 4

Operación

Este bloque permanece activo mientras Execute está en nivel TRUE, actualizando sus salidas de
acuerdo con el monitoreo del número de errores registrado para cada esclavo. Cuando Execute
recibe nivel FALSE, las entradas son ignoradas y las salidas son reseteadas. La salida Done recibe
nivel TRUE cuando Execute tiene nivel TRUE y el bloque ya haya finalizado su ejecución.

La entrada ErrorsToSetOffline# permite registrar el número de errores identificados en un esclavo que


caracterizará una comunicación off-line. Las entradas AddressSlave permiten Insertar cuatro
direcciones de esclavos a ser monitoreados. Cuando ese esclavo monitoreado relate el número de
errores programado, su salida SlaveOffline correspondiente será puesta en nivel TRUE. Si cualquiera
de las salidas SlaveOffline está en nivel TRUE, GeneralOffline también recibe nivel TRUE.

Diagrama de Flujo del Bloque

WPS v2.5X | 452


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba verifica el número de respuestas de error enviado por los esclavos 2, 4, 6 y 8 de
la red Modbus RTU. En caso de que alguno de ellos sea superior a 5, su status SX_OFF será llevado
a nivel TRUE. Finalizado exitosamente el bloque, será activada la salida Done.

11.2.6.2.1.6 MB_WriteBinary
Bloque que ejecuta una escritura de hasta 128 datos binarios (vía Write Single Coil o Write Multiple
Coils) en un esclavo en red Modbus RTU.

Representación Ladder

WPS v2.5X | 453


Equipo (Dispositivos)

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


Execute BOOL Habilitación del bloque
SlaveAddress BYTE Dirección del esclavo
Function# BYTE Código de la función de escritura
Dirección del bit inicial donde los datos serán
InitialDataAddress WORD
escritos
VAR_INPUT NumberOfData BYTE Número de bits a ser escritos (1 a 128)
Tiempo máximo de espera por la respuesta del
Timeout# WORD
esclavo [ms]
Indicación de offset en InitialDataAddress, o sea,
Offset# BOOL
necesidad de sustraer 1 de este número
Value BOOL Variable que almacena los datos a ser escritos
Done BOOL Habilitación de salida
Active BOOL Señalizador de espera de respuesta
Señalizador de que la interfaz RS485 está ocupada
VAR_OUTPUT Busy BOOL
con otra solicitud
Error BOOL Señalizador de error en la ejecución
ErrorID BYTE Identificador del error ocurrido
MB_WRITEBINARY
VAR MB_WRITEBINARY Instancia de acceso a la estructura del bloque
_INST_0

Operación

Este bloque, cuando detecta un flanco de subida en Execute, verifica si el esclavo Modbus RTU en la
dirección especificada en SlaveAddress está libre para envío de datos (variable Busy en nivel
FALSE). En caso de que lo esté, enviará la solicitud de escritura de los valores de Value en un
número de bits indicado por NumberOfData a la dirección InitialDataAddress, utilizando la función
escogida en Function# y ajustando la salida Active, reseteándola al recibir la respuesta del esclavo.
En caso de que el esclavo no esté libre, el bloque aguardará que Busy pase a nivel FALSE para
reenviar la solicitud.

¡NOTA!
En caso de Execute pase a nivel FALSE y Busy aún esté en nivel TRUE, la solicitud será
cancelada.

WPS v2.5X | 454


Equipo (Dispositivos)

¡NOTA!
Value es un array de tamaño igual a NumberOfData. Es importante verificar esta compatibilidad
para no generar errores en el bloque.

Cuando Execute tiene valor FALSE, Done permanece FALSE. La salida Done sólo es activada
cuando el bloque termina la ejecución exitosamente, permaneciendo en nivel TRUE hasta que
Execute reciba FALSE.

En caso de que haya algún error en la ejecución, la salida Error será activada y ErrorID exhibirá el
código del error según la tabla de abajo.

Código Descripción
0 Ejecutado exitosamente
1 Algún dato de entrada inválido
2 Maestro no habilitado
4 Timeout en la respuesta del esclavo
5 El esclavo retornó error

Diagrama de Flujo del Bloque

WPS v2.5X | 455


Equipo (Dispositivos)

WPS v2.5X | 456


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba solicita la escritura del dato contenido en VALUE, de tamaño descrito por
DATA_COUNT, en las direcciones posicionadas a partir de INIT, del esclavo Modbus RTU, de
dirección SLAVE, a través de la función Write Single Coil. Finalizado exitosamente el bloque, será
activada la salida Done.

11.2.6.2.1.7 MB_WriteRegister
Bloque que ejecuta una escritura de hasta 16 registradores de 16 bits (vía Write Single Register o
Write Multiple Registers) de un esclavo en red Modbus RTU.

Representación Ladder

Estructura del Bloque

WPS v2.5X | 457


Equipo (Dispositivos)

Tipo de Variable Nombre Tipo de Dato Descripción


Execute BOOL Habilitación del bloque
SlaveAddress BYTE Dirección del esclavo
Function# BYTE Código de la función de escritura
InitialDataAddress WORD Dirección del registrador inicial a ser escrito
Número de registradores a ser escritos (1 a
NumberOfData BYTE
16)
VAR_INPUT Tiempo máximo de espera por la respuesta del
Timeout# WORD
esclavo [ms]
Indicación de offset en InitialDataAddress, o
Offset# BOOL
sea, necesidad de sustraer 1 de este número
BYTE SINT USINT
WORD UINT INT
Value Variable que almacena los datos a ser escritos
DWORD UDINT DINT
REAL
Done BOOL Habilitación de salida
Active BOOL Señalizador de espera de respuesta
Señalizador de que la interfaz RS485 está
VAR_OUTPUT Busy BOOL
ocupada con otra solicitud
Error BOOL Señalizador de error en la ejecución
ErrorID BYTE Identificador del error ocurrido
MB_WRITEREGISTER
VAR MB_WRITEREGISTER Instancia de acceso a la estructura del bloque
_INST_0

Operación

Este bloque, cuando detecta un flanco de subida en Execute, verifica si el esclavo Modbus RTU en la
dirección especificada en SlaveAddress está libre para envío de datos (variable Busy en nivel
FALSE). En caso de que lo esté, enviará la solicitud de escritura de los valores de Value en un
número de registradores indicado por NumberOfData a la dirección InitialDataAddress utilizando la
función escogida en Function# y ajustará la salida Active, reseteándola al recibir la respuesta del
esclavo. En caso de que el esclavo no esté libre, el bloque aguardará que Busy pase a nivel FALSE
para reenviar la solicitud.

¡NOTA!
En caso de Execute pase a nivel FALSE y Busy aún esté en nivel TRUE, la solicitud será
cancelada.

¡NOTA!
Value es un array del número de bits de NumberOfData multiplicado por 16. O sea, en caso de
que NumberOfData sea 16, Value podrá ser un array de 32 posiciones BYTE, 16 posiciones
WORD u 8 posiciones DWORD. Es importante verificar esta compatibilidad para no generar
errores en el bloque.

Cuando Execute tiene valor FALSE, Done permanece FALSE. La salida Done sólo es activada
cuando el bloque termina la ejecución exitosamente, permaneciendo en nivel TRUE hasta que
Execute reciba FALSE.

WPS v2.5X | 458


Equipo (Dispositivos)

En caso de que haya algún error en la ejecución, la salida Error será activada y ErrorID exhibirá el
código del error según la tabla de abajo.

Código Descripción
0 Ejecutado exitosamente
1 Algún dato de entrada inválido
2 Maestro no habilitado
4 Timeout en la respuesta del esclavo
5 El esclavo retornó error

Diagrama de Flujo del Bloque

WPS v2.5X | 459


Equipo (Dispositivos)

WPS v2.5X | 460


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba solicita la escritura del dato contenido en VALUE, de tamaño descrito por
DATA_COUNT, en las direcciones posicionados a partir de INIT, en el esclavo Modbus RTU, de
dirección SLAVE, a través de la función Write Single Register. Finalizado exitosamente el bloque,
será activada la salida Done.

11.2.6.3 Compare
11.2.6.3.1 COMP_EQ
Bloque que compara los valores de Value1 y Value2, habilitando la salida Q en caso de que ambos
sean iguales.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
BYTE USINT SINT WORD UINT
Value1 Primer valor de la comparación
VAR_INPUT INT DWORD UDINT DINT REAL
BYTE USINT SINT WORD UINT
Value2 Segundo valor de la comparación
INT DWORD UDINT DINT REAL
VAR_OUTPUT Q BOOL Indicador de igualdad

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Q el valor TRUE en caso de que
Value1 y Value2 sean iguales. En caso contrario, Q recibe FALSE.

Cuando EN tiene valor FALSE, Q permanece en FALSE.

Diagrama de Flujo del Bloque

WPS v2.5X | 461


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba verifica la igualdad entre VALUE1 y VALUE2. Como ambas variables tienen el
mismo valor, la salida Q es activada.

El ejemplo de arriba verifica la igualdad entre VALUE1 y VALUE2. Como ambas variables tienen el
mismo valor, la salida Q es activada. Observe que los tipos de variables de entrada pueden ser
diferentes sin causar problemas de ejecución.

WPS v2.5X | 462


Equipo (Dispositivos)

El ejemplo de arriba verifica la igualdad entre VALUE1 y VALUE2. Como las variables tienen valores
diferentes, la salida Q es desactivada.

11.2.6.3.2 COMP_GE
Bloque que compara los valores de Value1 y Value2, habilitando la salida Q en caso de que Value1
sea mayor o igual a Value2.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
BYTE USINT SINT WORD UINT
Value1 Primer valor de la comparación
VAR_INPUT INT DWORD UDINT DINT REAL
BYTE USINT SINT WORD UINT
Value2 Segundo valor de la comparación
INT DWORD UDINT DINT REAL
VAR_OUTPUT Q BOOL Indicador de igualdad o mayoridad de Value1

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Q el valor TRUE en caso de que
Value1 sea mayor o igual a Value2. En caso contrario, Q recibe FALSE.

Cuando EN tiene valor FALSE, Q permanece en FALSE.

Diagrama de Flujo del Bloque

WPS v2.5X | 463


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba verifica la igualdad o mayoridad de VALUE1 con relación a VALUE2. Como
VALUE1 tiene valor inferior a VALUE2, la salida Q es desactivada.

El ejemplo de arriba verifica la igualdad o mayoridad de VALUE1 con relación a VALUE2. Como
ambas variables poseen el mismo valor, la salida Q es activada.

WPS v2.5X | 464


Equipo (Dispositivos)

El ejemplo de arriba verifica la igualdad o mayoridad de VALUE1 con relación a VALUE2. Como
VALUE1 posee valor superior a VALUE2, la salida Q es activada.

11.2.6.3.3 COMP_GT
Bloque que compara los valores de Value1 y Value2, habilitando la salida Q en caso de que Value1
sea mayor que Value2.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
BYTE USINT SINT WORD UINT
Value1 Primer valor de la comparación
VAR_INPUT INT DWORD UDINT DINT REAL
BYTE USINT SINT WORD UINT
Value2 Segundo valor de la comparación
INT DWORD UDINT DINT REAL
VAR_OUTPUT Q BOOL Indicador de maioridade de Value1

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Q el valor TRUE en caso de que
Value1 sea mayor que Value2. En caso contrario, Q recibe FALSE.

Cuando EN tiene valor FALSE, Q permanece en FALSE.

Diagrama de Flujo del Bloque

WPS v2.5X | 465


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba verifica la mayoridad de VALUE1 con relación a VALUE2. Como VALUE1 posee
valor inferior a VALUE2, la salida Q es desactivada.

El ejemplo de arriba verifica la mayoridad de VALUE1 con relación a VALUE2. Como ambas variables
poseen el mismo valor, la salida Q es desactivada.

WPS v2.5X | 466


Equipo (Dispositivos)

El ejemplo de arriba verifica la mayoridad de VALUE1 con relación a VALUE2. Como VALUE1 posee
valor superior a VALUE2, la salida Q es activada.

11.2.6.3.4 COMP_LE
Bloque que compara los valores de Value1 y Value2, habilitando la salida Q en caso de que Value1
sea menor o igual a Value2.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
BYTE USINT SINT WORD UINT
Value1 Primer valor de la comparación
VAR_INPUT INT DWORD UDINT DINT REAL
BYTE USINT SINT WORD UINT
Value2 Segundo valor de la comparación
INT DWORD UDINT DINT REAL
VAR_OUTPUT Q BOOL Indicador de igualdad o minoridad de Value1

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Q el valor TRUE en caso de que
Value1 sea menor o igual a Value2. En caso contrario, Q recibe FALSE.

Cuando EN tiene valor FALSE, Q permanece en FALSE.

Diagrama de Flujo del Bloque

WPS v2.5X | 467


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba verifica la igualdad o minoridad de VALUE1 con relación a VALUE2. Como
VALUE1 posee valor inferior a VALUE2, la salida Q es activada.

El ejemplo de arriba verifica la igualdad o minoridad de VALUE1 con relación a VALUE2. Como
ambas variables poseen el mismo valor, la salida Q es activada.

WPS v2.5X | 468


Equipo (Dispositivos)

El ejemplo de arriba verifica la igualdad o minoridad de VALUE1 con relación a VALUE2. Como
VALUE1 posee valor superior a VALUE2, la salida Q es desactivada.

11.2.6.3.5 COMP_LT
Bloque que compara los valores de Value1 y Value2, habilitando la salida Q en caso de que Value1
sea menor que Value2.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
BYTE USINT SINT WORD UINT
Value1 Primer valor de la comparación
VAR_INPUT INT DWORD UDINT DINT REAL
BYTE USINT SINT WORD UINT
Value2 Segundo valor de la comparación
INT DWORD UDINT DINT REAL
VAR_OUTPUT Q BOOL Indicador de minoridad de Value1

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Q el valor TRUE en caso de que
Value1 sea menor que Value2. En caso contrario, Q recibe FALSE.

Cuando EN tiene valor FALSE, Q permanece en FALSE.

Diagrama de Flujo del Bloque

WPS v2.5X | 469


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba verifica la minoridad de VALUE1 con relación a VALUE2. Como VALUE1 posee
valor inferior a VALUE2, la salida Q es activada.

El ejemplo de arriba verifica la minoridad de VALUE1 con relación a VALUE2. Como ambas variables
poseen el mismo valor, la salida Q es desactivada.

WPS v2.5X | 470


Equipo (Dispositivos)

El ejemplo de arriba verifica la minoridad de VALUE1 con relación a VALUE2. Como VALUE1 posee
valor superior a VALUE2, la salida Q es desactivada.

11.2.6.3.6 COMP_NE
Bloque que compara los valores de Value1 y Value2, habilitando la salida Q en caso de que Value1
sea diferente a Value2.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
BYTE USINT SINT WORD UINT
Value1 Primer valor de la comparación
VAR_INPUT INT DWORD UDINT DINT REAL
BYTE USINT SINT WORD UINT
Value2 Segundo valor de la comparación
INT DWORD UDINT DINT REAL
VAR_OUTPUT Q BOOL Indicador de desigualdad

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Q el valor TRUE en caso de que
Value1 sea diferente de Value2. En caso contrario, Q recibe FALSE.

Cuando EN tiene valor FALSE, Q permanece en FALSE.

Diagrama de Flujo del Bloque

WPS v2.5X | 471


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba verifica la desigualdad entre VALUE1 y VALUE2. Como las variables poseen
valores diferentes, la salida Q es activada.

El ejemplo de arriba verifica la desigualdad entre VALUE1 y VALUE2. Como ambas variables poseen
el mismo valor, la salida Q es desactivada.

11.2.6.4 Contact
11.2.6.4.1 NCCONTACT
Contacto normalmente cerrado.

Representación Ladder

WPS v2.5X | 472


Equipo (Dispositivos)

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


VAR_OUTPUT I1 BOOL Entrada de control del bloque

Operación

Cuando la variable I1 está con el valor TRUE, B recibe FALSE.


Cuando la variable I1 está con el valor FALSE, B recibe el valor de A.

¡NOTA!
Preste atención a las asociaciones serie y paralelo de los contactos. Para más informaciones
vea la sección Lógica con Contactos.

Diagrama

Diagrama de Flujo del Bloque

WPS v2.5X | 473


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba realiza la transferencia del opuesto del valor de la entrada digital DI1 para la
salida digital DO2.

11.2.6.4.2 NOCONTACT
Contacto normalmente abierto.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


VAR_OUTPUT I1 BOOL Entrada de control del bloque

Operación

Cuando la variable I1 está con el valor FALSE, B recibe FALSE.


Cuando la variable I1 está con el valor TRUE, B recibe el valor de A.

¡NOTA!
Preste atención a las asociaciones serie y paralelo de los contactos. Para más informaciones
vea la sección Lógica con Contactos.

Diagrama

Diagrama de Flujo del Bloque

WPS v2.5X | 474


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba realiza la transferencia del valor de la entrada digital DI1 para la salida digital
DO2.

11.2.6.4.3 NTSCONTACT
Contacto de transición de flanco de bajada.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


VAR_INPUT I1 BOOL Entrada de control del bloque
VAR NTSCONTACT_INST_0 NTSCONTACT Instancia de acceso a la estructura del bloque

Operación

En el instante en que la variable I1 transita de TRUE para FALSE (flanco de bajada o flanco de
transición negativa), B recibe el valor de A por un ciclo de scan.
En todos los otros momentos, B recibe el valor FALSE.

¡NOTA!
Preste atención a las asociaciones serie y paralelo de los contactos. Para más informaciones
vea la sección Lógica con Contactos.

Diagrama

WPS v2.5X | 475


Equipo (Dispositivos)

Diagrama de Flujo del Bloque

Ejemplo

El ejemplo de arriba resetea la salida digital DO1 en caso de que la tecla SHIFT esté presionada o
sea dado un pulso negativo en la entrada digital DI2.

11.2.6.4.4 PTSCONTACT

Contacto de transición de flanco de subida.

Representación Ladder

WPS v2.5X | 476


Equipo (Dispositivos)

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


VAR_INPUT I1 BOOL Entrada de control del bloque
VAR PTSCONTACT_INST_0 PTSCONTACT Instancia de acceso a la estructura del bloque

Operación

En el instante en que la variable I1 transita de FALSE para TRUE (Flanco de subida o Flanco de
transición positiva), B recibe el valor de A por un ciclo de scan.
En todos los otros momentos, B recibe el valor FALSE.

¡NOTA!
Preste atención a las asociaciones serie y paralelo de los contactos. Para más informaciones
vea la sección Lógica con Contactos.

Diagrama

Diagrama de Flujo del Bloque

WPS v2.5X | 477


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba resetea la salida digital DO1 en caso de que la tecla SHIFT esté presionada y
sea dado un pulso positivo en la entrada digital DI2.

11.2.6.5 Control
11.2.6.5.1 PID
Bloque que ejecuta la función de un controlador PID discreto. A partir de las variables de entrada,
calcula la salida correspondiente del controlador.

Representación Ladder

Estructura del Bloque

WPS v2.5X | 478


Equipo (Dispositivos)

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
SetPoint REAL Referencia automática (precontrol)
ManualSetPoint REAL Referencia forzada (post control)
SelectSetPoint BOOL Selecciona la referencia a utilizar
Feedback REAL Variable de realimentación de la malla
MinimumOutput REAL Valor mínimo de la salida del controlador
MaximumOutput REAL Valor máximo de la salida del controlador
VAR_INPUT Kp REAL Ganancia proporcional
Ki REAL Ganancia integral
Kd REAL Ganancia derivativa
Constante de tiempo del filtro de entrada de referencia
TauSetPoint# REAL
automática
Type# BYTE Tipo de controlador
Action# BYTE Acción de control
Ts# UINT Período de muestreo [ms]
ENO BOOL Habilitación de salida
VAR_OUTPUT
Output REAL Salida del controlador
VAR PID_INST_0 PID Instancia de acceso a la estructura del bloque

Operación

En la transición positiva de flanco en EN, Output recibe valor cero, y el bloque ejecuta su
funcionalidad mientras que EN esté en nivel TRUE.

Cuando es habilitado, este bloque ejecuta una rutina de control PID con los parámetros Kp, Ki y Kd
escogidos. La topología PID utilizada podrá ser la Académica o la Paralela, dependiendo de lo que
sea escogido en Type#.

Topología académica:

Topología paralela:

WPS v2.5X | 479


Equipo (Dispositivos)

Los niveles de la señal de la salida del controlador son saturados por el valor de MinimumOutput y
MaximumOutput. La entrada SelectSetPoint en nivel FALSE hace que la referencia adoptada sea
SetPoint, permitiendo que el controlador ejerza dominio sobre el proceso. Cuando SelectSetPoint
pasa a nivel TRUE, el controlador no ejerce más dominio, ya que que ManualSetPoint pasa a ser
considerada la señal de salida del controlador.

Action# definirá la operación de realimentación. Se Action# for DIRECT, la operación será SetPoint –
Feedback. Si Action# es REVERSE, la operación será Feedback – SetPoint.

Feedback recibe la variable de proceso considerada como salida de la planta. Ts# recibe el período
de muestreo para el controlador y TauSetPoint# recibe la constante de tiempo para el filtro de entrada
de la referencia automática.

Cuando EN tiene valor FALSE, Output permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

¡NOTA!
Efecto de la alteración de las ganancias sobre el proceso
Si disminuye Kp, el proceso se vuelve más lento; generalmente más estable o menos
oscilante; tiene menos sobrepico (overshoot).
Si aumenta Kp, el proceso responde más rápido; puede mostrarse inestable o más oscilante;
tiene más sobrepico (overshoot).
Si disminuye Ki, el proceso se vuelve más lento, tardando para llegar al “SetPoint”; se muestra
más estable o menos oscilante; tiene menos sobrepico (overshoot).
Si aumenta Ki, el proceso responde más rápido, llegando rápidamente al “SetPoint”; se
muestra más inestable o más oscilante; tiene más sobrepico (overshoot).
Si disminuye Kd, el proceso se vuelve más lento; tiene menos sobrepico (overshoot).
Si aumentar Kd, tiene más sobrepico (overshoot).

WPS v2.5X | 480


Equipo (Dispositivos)

¡NOTA!
Como mejor desempeño del proceso por el ajuste de las ganancias (válido para el PID
Académico)
Si el desempeño del proceso está casi bueno, pero el sobrepico (overshoot) está un poco alto,
intente: (1) reducir el Kp en 20%, (2) disminuir Ki en 20% y/o (3) disminuir Kd en 50%.
Si el desempeño del proceso está casi bueno, pero no tiene sobrepico (overshoot) y tarda para
llegar al “SetPoint”, intente: (1) aumentar Kp en 20%, (2) aumentar Ki en 20%, (3) aumentar
Kd en 50%.
Si el desempeño del proceso está bueno, pero la salida del proceso está variando demás,
intente: (1) aumentar Kd en 50%, (2) disminuir Kp en 20%.
Si el desempeño del proceso está mal, o sea, después del arranque, el transitorio dura varios
períodos de oscilación, que reduce muy lentamente o no reduce, intente: (1) disminuir Kp en
50%.
Si el desempeño del proceso está mal, o sea, después del arranque avanza lentamente en
dirección al “SetPoint”, sin sobrepico (overshoot), pero aún está muy lejos y la salida del
proceso es menor que el valor nominal, intente: (1) aumentar Kp en 50%, (2) aumentar Ki en
50%, (3) aumentar Kd en 70%.

Diagrama de Flujo del Bloque

WPS v2.5X | 481


Equipo (Dispositivos)

WPS v2.5X | 482


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba crea una malla de un PID académico digital, con tiempo de muestreo de 50 ms,
utilizando las constantes KP, KI y KD para el control. Es utilizada la referencia automática
SETPOINT, filtrada por un filtro de primer orden con constante de tiempo 0.01. La señal de error es
calculada como la diferencia entre la referencia filtrada y la variable SAIDA_PLANTA. La salida del
controlador es saturada entre los valores 0.1 y 2.5 y es enviada hacia la variable ENTRADA_PLANTA.

11.2.6.6 Conversion
11.2.6.6.1 BOOL
11.2.6.6.1.1 BYTE_TO_BOOL
Bloque que realiza la conversión de un valor BYTE para un valor BOOL.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT
Value BYTE USINT SINT Valor en BYTE
ENO BOOL Fin de operación
VAR_OUTPUT
Result BOOL Valor en BOOL

Operación

Este bloque, cuando tiene un valor TRUE en EN, interpreta el valor de Value como BYTE y realiza la
conversión para BOOL, almacenando el resultado en Result.

WPS v2.5X | 483


Equipo (Dispositivos)

Cuando EN tiene valor FALSE, Result permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

Ejemplo

Los ejemplos de arriba realizan la conversión de la variable VALUE, en BYTE, para un valor BOOL,

WPS v2.5X | 484


Equipo (Dispositivos)

almacenando el resultado final en RESULT. El bloque finaliza exitosamente y la salida ENO es


activada.

11.2.6.6.1.2 DWORD_TO_BOOL
Bloque que realiza la conversión de un valor DWORD para un valor BOOL.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT
Value DWORD UDINT DINT Valor en DWORD
ENO BOOL Fin de operación
VAR_OUTPUT
Result BOOL Valor en BOOL

Operación

Este bloque, cuando tiene un valor TRUE en EN, interpreta el valor de Value como DWORD y realiza
la conversión para BOOL, almacenando el resultado en Result.

Cuando EN tiene valor FALSE, Result permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

WPS v2.5X | 485


Equipo (Dispositivos)

Ejemplo

Los ejemplos de arriba realizan la conversión de la variable VALUE, en DWORD, para un valor BOOL,
almacenando el resultado final en RESULT. El bloque finaliza exitosamente y la salida ENO es
activada.

11.2.6.6.1.3 REAL_TO_BOOL
Bloque que realiza la conversión de un valor REAL para un valor BOOL.

WPS v2.5X | 486


Equipo (Dispositivos)

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT
Value REAL Valor en REAL
ENO BOOL Fin de operación
VAR_OUTPUT
Result BOOL Valor en BOOL

Operación

Este bloque, cuando tiene un valor TRUE en EN, interpreta el valor de Value como REAL y realiza la
conversión para BOOL, almacenando el resultado en Result.

Cuando EN tiene valor FALSE, Result permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

Ejemplo

WPS v2.5X | 487


Equipo (Dispositivos)

Los ejemplos de arriba realizan la conversión de la variable VALUE, en REAL, para un valor BOOL,
almacenando el resultado final en RESULT. El bloque finaliza exitosamente y la salida ENO es
activada. Observe, en el último ejemplo, que valores muy próximos a lo epsilon de la máquina pueden
resultar en una interpretación de valor FALSE.

11.2.6.6.1.4 WORD_TO_BOOL
Bloque que realiza la conversión de un valor WORD para un valor BOOL.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT
Value WORD UINT INT Valor en WORD
ENO BOOL Fin de operación
VAR_OUTPUT
Result BOOL Valor en BOOL

WPS v2.5X | 488


Equipo (Dispositivos)

Operación

Este bloque, cuando tiene un valor TRUE en EN, interpreta el valor de Value como WORD y realiza la
conversión para BOOL, almacenando el resultado en Result.

Cuando EN tiene valor FALSE, Result permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

Ejemplo

WPS v2.5X | 489


Equipo (Dispositivos)

Los ejemplos de arriba realizan la conversión de la variable VALUE, en WORD, para un valor BOOL,
almacenando el resultado final en RESULT. El bloque finaliza exitosamente y la salida ENO es
activada.

11.2.6.6.2 BYTE
11.2.6.6.2.1 BOOL_TO_BYTE
Bloque que realiza la conversión de un valor BOOL para un valor BYTE.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT
Value BOOL Valor en BOOL
ENO BOOL Fin de operación
VAR_OUTPUT
Result BYTE USINT SINT Valor en BYTE

Operación

Este bloque, cuando tiene un valor TRUE en EN, interpreta el valor de Value como BOOL y realiza la
conversión para BYTE, almacenando el resultado en Result.

Cuando EN tiene valor FALSE, Result permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

WPS v2.5X | 490


Equipo (Dispositivos)

Ejemplo

Los ejemplos de arriba realizan la conversión de la variable VALUE, en BOOL, para un valor BYTE,
almacenando el resultado final en RESULT. El bloque finaliza exitosamente y la salida ENO es
activada.

11.2.6.6.2.2 DWORD_TO_BYTE
Bloque que realiza la conversión de un valor DWORD para un valor BYTE.

Representación Ladder

Estructura del Bloque

WPS v2.5X | 491


Equipo (Dispositivos)

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT
Value DWORD UDINT DINT Valor en DWORD
ENO BOOL Fin de operación
VAR_OUTPUT
Result BYTE USINT SINT Valor en BYTE

Operación

Este bloque, cuando tiene un valor TRUE en EN, interpreta el valor de Value como DWORD y realiza
la conversión para BYTE, almacenando el resultado en Result.

Cuando EN tiene valor FALSE, Result permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

Ejemplo

WPS v2.5X | 492


Equipo (Dispositivos)

Los ejemplos de arriba realizan la conversión de la variable VALUE, en DWORD, para un valor BYTE,
almacenando el resultado final en RESULT. El bloque finaliza exitosamente y la salida ENO es
activada. Observe que son tomados en consideración solamente los ocho bits menos significativos.

11.2.6.6.2.3 REAL_TO_BYTE
Bloque que realiza la conversión de un valor REAL para un valor BYTE.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT
Value REAL Valor en REAL
ENO BOOL Fin de operación
VAR_OUTPUT
Result BYTE USINT SINT Valor en BYTE

Operación

Este bloque, cuando tiene un valor TRUE en EN, interpreta el valor de Value como REAL y realiza la
conversión para BYTE, almacenando el resultado en Result.

Cuando EN tiene valor FALSE, Result permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

WPS v2.5X | 493


Equipo (Dispositivos)

Ejemplo

Los ejemplos de arriba realizan la conversión de la variable VALUE, en REAL, para un valor BYTE,

WPS v2.5X | 494


Equipo (Dispositivos)

almacenando el resultado final en RESULT. El bloque finaliza exitosamente y la salida ENO es


activada. Observe que los resultados son truncados en decimal y son tomados en consideración
solamente los ocho bits menos significativos.

11.2.6.6.2.4 WORD_TO_BYTE
Bloque que realiza la conversión de un valor WORD para un valor BYTE.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT
Value WORD UINT INT Valor en WORD
ENO BOOL Fin de operación
VAR_OUTPUT
Result BYTE USINT SINT Valor en BYTE

Operación

Este bloque, cuando tiene un valor TRUE en EN, interpreta el valor de Value como WORD y realiza la
conversión para BYTE, almacenando el resultado en Result.

Cuando EN tiene valor FALSE, Result permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

WPS v2.5X | 495


Equipo (Dispositivos)

Ejemplo

Los ejemplos de arriba realizan la conversión de la variable VALUE, en WORD, para un valor BYTE,
almacenando el resultado final en RESULT. El bloque finaliza exitosamente y la salida ENO es
activada. Observe que son tomados en consideración solamente los ocho bits menos significativos.

WPS v2.5X | 496


Equipo (Dispositivos)

11.2.6.6.3 DWORD
11.2.6.6.3.1 BOOL_TO_DWORD
Bloque que realiza la conversión de un valor BOOL a un valor DWORD.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT
Value BOOL Valor en BOOL
ENO BOOL Fin de operación
VAR_OUTPUT
Result DWORD UDINT DINT Valor en DWORD

Operación

Este bloque, cuando tiene un valor TRUE en EN, interpreta el valor de Value como BOOL y realiza la
conversión para DWORD, almacenando el resultado en Result.

Cuando EN tiene valor FALSE, Result permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

Ejemplo

WPS v2.5X | 497


Equipo (Dispositivos)

Los ejemplos de arriba realizan la conversión de la variable VALUE, en BOOL, para un valor DWORD,
almacenando el resultado final en RESULT. El bloque finaliza exitosamente y la salida ENO es
activada.

11.2.6.6.3.2 BYTE_TO_DWORD
Bloque que realiza la conversión de un valor BYTE para un valor DWORD.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT
Value BYTE USINT SINT Valor en BYTE
ENO BOOL Fin de operación
VAR_OUTPUT
Result DWORD UDINT DINT Valor en DWORD

Operación

Este bloque, cuando tiene un valor TRUE en EN, interpreta el valor de Value como BYTE y realiza la
conversión para DWORD, almacenando el resultado en Result.

Cuando EN tiene valor FALSE, Result permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

WPS v2.5X | 498


Equipo (Dispositivos)

Ejemplo

Los ejemplos de arriba realizan la conversión de la variable VALUE, en BYTE, para un valor DWORD,
almacenando el resultado final en RESULT. El bloque finaliza exitosamente y la salida ENO es
activada.

11.2.6.6.3.3 REAL_TO_DWORD
Bloque que realiza la conversión de un valor REAL a un valor DWORD.

Representación Ladder

Estructura del Bloque

WPS v2.5X | 499


Equipo (Dispositivos)

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT
Value REAL Valor en REAL
ENO BOOL Fin de operación
VAR_OUTPUT
Result DWORD UDINT DINT Valor en DWORD

Operación

Este bloque, cuando tiene un valor TRUE en EN, interpreta el valor de Value como REAL y realiza la
conversión para DWORD, almacenando el resultado en Result.

Cuando EN tiene valor FALSE, Result permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

Ejemplo

WPS v2.5X | 500


Equipo (Dispositivos)

Los ejemplos de arriba realizan la conversión de la variable VALUE, en REAL, para un valor DWORD,
almacenando el resultado final en RESULT. El bloque finaliza exitosamente y la salida ENO es
activada. Observe que los resultados son truncados en decimal y son tomados en consideración
solamente los treinta y dos bits menos significativos.

11.2.6.6.3.4 WORD_TO_DWORD
Bloque que realiza la conversión de un valor WORD para un valor DWORD.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT
Value WORD UINT INT Valor en WORD
ENO BOOL Fin de operación
VAR_OUTPUT
Result DWORD UDINT DINT Valor en DWORD

Operación

Este bloque, cuando tiene un valor TRUE en EN, interpreta el valor de Value como WORD y realiza la
conversión para DWORD, almacenando el resultado en Result.

Cuando EN tiene valor FALSE, Result permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

WPS v2.5X | 501


Equipo (Dispositivos)

Ejemplo

Los ejemplos de arriba realizan la conversión de la variable VALUE, en WORD, para un valor
DWORD, almacenando el resultado final en RESULT. El bloque finaliza exitosamente y la salida
ENO es activada.

11.2.6.6.4 REAL
11.2.6.6.4.1 BOOL_TO_REAL
Bloque que realiza la conversión de un valor BOOL para un valor REAL.

Representación Ladder

WPS v2.5X | 502


Equipo (Dispositivos)

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT
Value BOOL Valor en BOOL
ENO BOOL Fin de operación
VAR_OUTPUT
Result REAL Valor en REAL

Operación

Este bloque, cuando tiene un valor TRUE en EN, interpreta el valor de Value como BOOL y realiza la
conversión para REAL, almacenando el resultado en Result.

Cuando EN tiene valor FALSE, Result permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

Ejemplo

WPS v2.5X | 503


Equipo (Dispositivos)

Los ejemplos de arriba realizan la conversión de la variable VALUE, en BOOL, para un valor REAL,
almacenando el resultado final en RESULT. El bloque finaliza exitosamente y la salida ENO es
activada.

11.2.6.6.4.2 BYTE_TO_REAL
Bloque que realiza la conversión de un valor BYTE para un valor REAL.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT
Value BYTE USINT SINT Valor en BYTE
ENO BOOL Fin de operación
VAR_OUTPUT
Result REAL Valor en REAL

Operación

Este bloque, cuando tiene un valor TRUE en EN, interpreta el valor de Value como BYTE y realiza la
conversión para REAL, almacenando el resultado en Result.

Cuando EN tiene valor FALSE, Result permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

WPS v2.5X | 504


Equipo (Dispositivos)

Ejemplo

Los ejemplos de arriba realizan la conversión de la variable VALUE, en BYTE, para un valor REAL,
almacenando el resultado final en RESULT. El bloque finaliza exitosamente y la salida ENO es
activada.

11.2.6.6.4.3 DWORD_TO_REAL
Bloque que realiza la conversión de un valor DWORD para un valor REAL.

Representación Ladder

Estructura del Bloque

WPS v2.5X | 505


Equipo (Dispositivos)

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT
Value DWORD UDINT DINT Valor en DWORD
ENO BOOL Fin de operación
VAR_OUTPUT
Result REAL Valor en REAL

Operación

Este bloque, cuando tiene un valor TRUE en EN, interpreta el valor de Value como DWORD y realiza
la conversión para REAL, almacenando el resultado en Result.

Cuando EN tiene valor FALSE, Result permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

Ejemplo

WPS v2.5X | 506


Equipo (Dispositivos)

Los ejemplos de arriba realizan la conversión de la variable VALUE, en DWORD, para un valor REAL,
almacenando el resultado final en RESULT. El bloque finaliza exitosamente y la salida ENO es
activada.

11.2.6.6.4.4 WORD_TO_REAL
Bloque que realiza la conversión de un valor WORD para un valor REAL.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT
Value WORD UINT INT Valor en WORD
ENO BOOL Fin de operación
VAR_OUTPUT
Result REAL Valor en REAL

Operación

Este bloque, cuando tiene un valor TRUE en EN, interpreta el valor de Value como WORD y realiza la
conversión para REAL, almacenando el resultado en Result.

Cuando EN tiene valor FALSE, Result permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

WPS v2.5X | 507


Equipo (Dispositivos)

Ejemplo

Los ejemplos de arriba realizan la conversión de la variable VALUE, en WORD, para un valor REAL,
almacenando el resultado final en RESULT. El bloque finaliza exitosamente y la salida ENO es
activada.

11.2.6.6.5 WORD
11.2.6.6.5.1 BOOL_TO_WORD
Bloque que realiza la conversión de un valor BOOL para un valor WORD.

Representación Ladder

WPS v2.5X | 508


Equipo (Dispositivos)

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT
Value BOOL Valor en BOOL
ENO BOOL Fin de operación
VAR_OUTPUT
Result WORD UINT INT Valor en WORD

Operación

Este bloque, cuando tiene un valor TRUE en EN, interpreta el valor de Value como BOOL y realiza la
conversión para WORD, almacenando el resultado en Result.

Cuando EN tiene valor FALSE, Result permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

Ejemplo

WPS v2.5X | 509


Equipo (Dispositivos)

Los ejemplos de arriba realizan la conversión de la variable VALUE, en BOOL, para un valor WORD,
almacenando el resultado final en RESULT. El bloque finaliza exitosamente y la salida ENO es
activada.

11.2.6.6.5.2 BYTE_TO_WORD
Bloque que realiza la conversión de un valor BYTE para un valor WORD.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT
Value BYTE USINT SINT Valor en BYTE
ENO BOOL Fin de operación
VAR_OUTPUT
Result WORD UINT INT Valor en WORD

Operación

Este bloque, cuando tiene un valor TRUE en EN, interpreta el valor de Value como BYTE y realiza la
conversión para WORD, almacenando el resultado en Result.

Cuando EN tiene valor FALSE, Result permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

WPS v2.5X | 510


Equipo (Dispositivos)

Ejemplo

Los ejemplos de arriba realizan la conversión de la variable VALUE, en BYTE, para un valor WORD,
almacenando el resultado final en RESULT. El bloque finaliza exitosamente y la salida ENO es
activada.

11.2.6.6.5.3 DWORD_TO_WORD
Bloque que realiza la conversión de un valor DWORD para un valor WORD.

Representación Ladder

Estructura del Bloque

WPS v2.5X | 511


Equipo (Dispositivos)

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT
Value DWORD UDINT DINT Valor en DWORD
ENO BOOL Fin de operación
VAR_OUTPUT
Result WORD UINT INT Valor en WORD

Operación

Este bloque, cuando tiene un valor TRUE en EN, interpreta el valor de Value como DWORD y realiza
la conversión para WORD, almacenando el resultado en Result.

Cuando EN tiene valor FALSE, Result permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

Ejemplo

WPS v2.5X | 512


Equipo (Dispositivos)

Los ejemplos de arriba realizan la conversión de la variable VALUE, en DWORD, para un valor
WORD, almacenando el resultado final en RESULT. El bloque finaliza exitosamente y la salida ENO
es activada. Observe que son tomados en consideración solamente los dieciséis bits menos
significativos.

11.2.6.6.5.4 REAL_TO_WORD
Bloque que realiza la conversión de un valor REAL para un valor WORD.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT
Value REAL Valor en REAL
ENO BOOL Fin de operación
VAR_OUTPUT
Result WORD UINT INT Valor en WORD

Operación

Este bloque, cuando tiene un valor TRUE en EN, interpreta el valor de Value como REAL y realiza la
conversión para WORD, almacenando el resultado en Result.

Cuando EN tiene valor FALSE, Result permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

WPS v2.5X | 513


Equipo (Dispositivos)

Ejemplo

Los ejemplos de arriba realizan la conversión de la variable VALUE, en DWORD, para un valor
WORD, almacenando el resultado final en RESULT. El bloque finaliza exitosamente y la salida ENO
es activada. Observe que los resultados son truncados en decimal y son tomados en consideración
solamente los dieciséis bits menos significativos.

WPS v2.5X | 514


Equipo (Dispositivos)

11.2.6.7 Counter
11.2.6.7.1 CTD
Bloque de conteo regresivo de pulsos de entrada.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


CD BOOL Identificador de pulsos
VAR_INPUT LD BOOL Carga el valor de PV en CV
PV WORD UINT Valor de configuración inicial
Q BOOL Señalizador de contador reseteado
VAR_OUTPUT
CV WORD UINT Valor de conteo actual
VAR CTD_INST_0 CTD Instancia de acceso a la estructura del bloque

Operación

Este bloque, cuando identifica un flanco de subida en CD, disminuye la variable CV hasta que llegue
a cero. Mientras CV sea igual a cero, la salida Q permanecerá en nivel TRUE. Al detectar nivel alto
en LD, el bloque carga el valor de PV en CV.

Diagrama de Flujo del Bloque

WPS v2.5X | 515


Equipo (Dispositivos)

Diagrama de Funcionamiento

WPS v2.5X | 516


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba exhibe las condiciones iniciales de la rutina. Como CV posee el valor cero, la
salida Q es habilitada.

El valor de la variable PV fue alterado para 20, no obstante, aún no fue cargado.

WPS v2.5X | 517


Equipo (Dispositivos)

Al identificar el nivel TRUE en LD, el bloque carga el valor de PV para CV. Como este valor es mayor
que cero, la salida Q es deshabilitada.

A cada flanco de subida identificado en CD, el valor de COUNT es disminuido hasta llegar a cero,
cuando la salida Q es habilitada.

11.2.6.7.2 CTU
Bloque de conteo progresivo de pulsos de entrada.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


CU BOOL Identificador de pulsos
VAR_INPUT R BOOL Carga el valor cero en CV
PV WORD UINT Valor máximo de conteo
El señalizador del contador alcanzó el valor máximo de conteo
Q BOOL
VAR_OUTPUT (PV)
CV WORD UINT Valor de conteo actual
VAR CTU_INST_0 CTU Instancia de acceso a la estructura del bloque

Operación

Este bloque, cuando identifica un flanco de subida en CD, incrementa la variable CV hasta que sea
igual a PV. Mientras CV sea igual a PV, la salida Q permanecerá en nivel TRUE. Al detectar nivel
alto en R, el bloque carga el valor cero en CV.

WPS v2.5X | 518


Equipo (Dispositivos)

Diagrama de Flujo del Bloque

Diagrama de Funcionamiento

WPS v2.5X | 519


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba exhibe las condiciones iniciales de la rutina. Como CV posee un valor inferior al
de PV, la salida Q es deshabilitada.

A cada flanco de subida identificado en CU, el valor de CV es incrementado hasta llegar al valor de
PV, cuando la salida Q es habilitada.

WPS v2.5X | 520


Equipo (Dispositivos)

Al identificar el nivel TRUE en R, el bloque carga el valor cero para CV. Como este valor es inferior al
de PV, la salida Q es deshabilitada.

11.2.6.7.3 CTUD
Bloque de conteo progresivo y regresivo de pulsos de entrada.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
CU BOOL Identificador de pulsos para incrementador
CD BOOL Identificador de pulsos para disminuidor
VAR_INPUT
R BOOL Carga el valor cero en CV
LD BOOL Carga el valor de PV en CV
PV WORD UINT Valor de referencia
ENO BOOL Habilitación de salida
El señalizador del contador alcanzó el valor máximo de conteo
QU BOOL
VAR_OUTPUT (PV)
QD BOOL Señalizador del contador reseteado
CV WORD UINT Valor de conteo actual
VAR CTUD_INST_0 CTUD Instancia de acceso a la estructura del bloque

Operación

Este bloque, cuando tiene un valor TRUE en EN, actúa como un bloque CTD y un bloque CTU al
mismo tiempo, actuando sobre el mismo contador CV. O sea: incrementa CV hasta llegar a PV para
flancos de subida en CU y disminuye CV hasta llegar a cero para flancos de subida en CD. Una
transición positiva en R carga cero en CV, mientras un flanco de subida en LD carga el valor de PV
en CV. En caso de que CV tenga valor cero, QD recibe TRUE, y en caso de que CV tenga valor igual

WPS v2.5X | 521


Equipo (Dispositivos)

a PV, QU recibe TRUE.

El valor de ENO pasa al próximo bloque Ladder el valor de EN.

Diagrama de Flujo del Bloque

WPS v2.5X | 522


Equipo (Dispositivos)

WPS v2.5X | 523


Equipo (Dispositivos)

Diagrama de Funcionamiento

Ejemplo

WPS v2.5X | 524


Equipo (Dispositivos)

El ejemplo de arriba exhibe el bloque deshabilitado, con todas sus variables internas reseteadas.
Aunque los controles externos estén activados, tales valores no serán pasados a la instancia del
bloque.

Al ser activado, el bloque identifica el valor de PRESET, cargándolo en PV, e identifica que la salida
está con el valor cero, habilitando la salida QD. Finalizada la ejecución, la salida ENO será activada.

A cada flanco de subida identificado en CU, el valor de CV es incrementado hasta llegar al valor de
PV, cuando la salida QU es habilitada. Finalizada la ejecución, la salida ENO será activada.

A cada flanco de subida identificado en CD, el valor de CV es disminuido. Siendo CV de un valor


intermediario a cero y a PV, ambas salidas, QD y QU, son desactivadas. Finalizada la ejecución, la
salida ENO será activada.

WPS v2.5X | 525


Equipo (Dispositivos)

Un valor TRUE en R resetea CV, mientras que un valor TRUE en LD carga el valor de PV para CV.
Como podemos notar, R prevalece sobre LD, restando CV y habilitando la salida QD. Finalizada la
ejecución, la salida ENO será activada.

11.2.6.8 Data Transfer


11.2.6.8.1 DEMUX
Bloque que crea 16 nuevas variables BOOL a partir de la descomposición de una variable WORD.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT
Word WORD UINT INT Variable de entrada de 16 bits
ENO BOOL Fin de operación
VAR_OUTPUT
Bit0 – Bit15 BOOL Bit da posição correspondente de Word

Operación
Este bloque, cuando tiene un valor TRUE en EN, descompone la variable de entrada Word en 16

WPS v2.5X | 526


Equipo (Dispositivos)

valores booleanos almacenados en las variables Bit0 a Bit15. El Bit0 corresponde al LSB (bit menos
significativo) y el Bit15 corresponde al MSB (bit más significativo).

Cuando EN tiene valor FALSE, las variables de salida permanecen inalteradas.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

Ejemplo

WPS v2.5X | 527


Equipo (Dispositivos)

El ejemplo de arriba descompone el valor de MYWORD en valores booleanos, siendo almacenados


en las variables de salida BIT0 a BIT15. El bloque finaliza exitosamente y la salida ENO es activada.

11.2.6.8.2 ILOAD
Bloque que carga indirectamente el valor de una variable y lo transfiere para Value.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
Group# BYTE Grupo en el que la variable está almacenada
VAR_INPUT
DataType# BYTE Tipo de dato de la variable seleccionada
Address DWORD UDINT DINT Dirección de la variable global, conforme su grupo
ENO BOOL Fin de operación
VAR_OUTPUT Conforme selecionado
Value Valor de la variable seleccionada
em DataType#

Operación

Este bloque, cuando tiene un valor TRUE en EN, carga en Value el contenido de la variable Address
perteneciente al grupo Group#, según el DataType# escogido.

WPS v2.5X | 528


Equipo (Dispositivos)

Cuando EN tiene valor FALSE, Value permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

Ejemplo

El ejemplo de arriba carga el valor de la dirección 40 del grupo 2 (GLOBAL_SYSTEM %S), que
representa el status de la variable en formato UINT para VALUE. El bloque finaliza exitosamente y la
salida ENO es activada.

11.2.6.8.3 ILOADBOOL
Bloque que carga indirectamente el valor de un bit en una dirección de variable global.

Representación Ladder

WPS v2.5X | 529


Equipo (Dispositivos)

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
Group# BYTE Grupo en el que la variable está almacenada
VAR_INPUT
Address DWORD UDINT DINT Dirección de la variable global, conforme su grupo
Bit BYTE USINT SINT Posición del bit a ser verificado
ENO BOOL Fin de operación
VAR_OUTPUT
Value BOOL Valor del bit seleccionado por los argumentos de entrada

Operación

Este bloque, cuando tiene un valor TRUE en EN, carga, en Value, el contenido del Bit de la variable
Address perteneciente al grupo Group#.

Cuando EN tiene valor FALSE, Value permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

WPS v2.5X | 530


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba carga el valor del bit 1 del dirección 24 del grupo 2 (GLOBAL_SYSTEM %S), que
representa el status de la tecla ESC, para la variable VALUE. El bloque finaliza exitosamente y la
salida ENO es activada.

11.2.6.8.4 ISTORE
Bloque que almacena indirectamente el valor de Value en una variable.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
Group# BYTE Grupo en el que la variable está almacenada
DataType# BYTE Tipo de dato de la variable seleccionada
VAR_INPUT
Address DWORD UDINT DINT Dirección de la variable global, conforme su grupo
Conforme selecionado
Value Valor a ser escrito en la variable seleccionada
em DataType#
VAR_OUTPUT ENO BOOL Fin de operación

Operación

Este bloque, cuando tiene un valor TRUE en EN, carga el valor de Value en el contenido de la variable
Address perteneciente al grupo Group#, según el DataType# escogido.

Cuando EN tiene valor FALSE, Value permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

WPS v2.5X | 531


Equipo (Dispositivos)

Diagrama de Flujo del Bloque

Ejemplo

El ejemplo de arriba almacena el valor de VALUE en formato WORD, en la dirección 444 del grupo 3
(GLOBAL_SYSTEM %C) que representa el índice de la puerta de comunicación Modbus TCP. El
bloque finaliza exitosamente y la salida ENO es activada.

11.2.6.8.5 ISTOREBOOL
Bloque que almacena indirectamente el valor de Value, en un bit, en una dirección de variable global.

Representación Ladder

WPS v2.5X | 532


Equipo (Dispositivos)

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
Group# BYTE Grupo en el que la variable está almacenada
VAR_INPUT Address DWORD UDINT DINT Dirección de la variable global, conforme su grupo
Bit BYTE USINT SINT Posición del bit a ser modificado
Value BOOL Nuevo valor del bit seleccionado
VAR_OUTPUT ENO BOOL Fin de operación

Operación

Este bloque, cuando tiene un valor TRUE en EN, carga el valor de Value en el contenido del Bit de la
variable Address perteneciente al grupo Group#.

Cuando EN tiene valor FALSE, Value permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

WPS v2.5X | 533


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba almacena el valor de VALUE en el bit 7 de la dirección 121 del grupo 3
(GLOBAL_SYSTEM %C), que representa el comando de deshabilitación de la comunicación
CANopen. El bloque finaliza exitosamente y la salida ENO es activada.

11.2.6.8.6 MUX
Bloque que crea una nueva variable WORD a partir de la concatenación de 16 variables BOOL.

WPS v2.5X | 534


Equipo (Dispositivos)

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT
Bit0 – Bit15 BOOL Bit de la posición correspondiente en la nueva palabra
ENO BOOL Fin de operación
VAR_OUTPUT
Word WORD UINT INT Nueva palabra formada a partir de los bits de entrada

Operación

Este bloque, cuando tiene un valor TRUE en EN, concatena los valores booleanos de las variables de
entrada y almacena este valor en la variable Word. El Bit0 corresponde al LSB (bit menos
significativo) y Bit15 corresponde al MSB (bit más significativo).

Cuando EN tiene valor FALSE, Word permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

WPS v2.5X | 535


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba concatena los valores booleanos de los bits de entrada del bloque, formando la
palabra de salida almacenada en MYWORD. El bloque finaliza exitosamente y la salida ENO es

WPS v2.5X | 536


Equipo (Dispositivos)

activada.

11.2.6.8.7 SEL
Bloque que replica para la salida el valor de una de las variables de entrada (Value0 o Value1) de
acuerdo con la selección de Selector.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
Selector BOOL Variable que selecciona la entrada

VAR_INPUT BYTE USINT SINT WORD UINT


Value0 Entrada multiplexada número 1
INT DWORD UDINT DINT REAL
BYTE USINT SINT WORD UINT
Value1 Entrada multiplexada número 2
INT DWORD UDINT DINT REAL
ENO BOOL Fin de operación
VAR_OUTPUT BYTE USINT SINT WORD UINT
Result Valor de salida seleccionado
INT DWORD UDINT DINT REAL

Operación

Este bloque, cuando tiene un valor TRUE en EN, replica para la variable Result el valor de Value0 en
caso de que Selector sea FALSE, o que el valor de Value1, en Selector, sea TRUE.

Cuando EN tiene valor FALSE, Result permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

WPS v2.5X | 537


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba utiliza la variable SELECTOR como selector del canal de multiplexación. Cuando
ésta se encuentra en nivel FALSE, la salida RESULT recibe el valor de VALUE0. El bloque finaliza
exitosamente y la salida ENO es activada.

WPS v2.5X | 538


Equipo (Dispositivos)

El ejemplo de arriba utiliza la variable SELECTOR como selector del canal de multiplexación. Cuando
ésta se encuentra en nivel FALSE, la salida RESULT recibe el valor de VALUE0. El bloque finaliza
exitosamente y la salida ENO es activada. Observe que el estándar binario fue mantenido, a pesar de
que la representación decimal esté corrompida, dado que DWORD no acepta valores negativos.

El ejemplo de arriba utiliza la variable SELECTOR como selector del canal de multiplexación. Cuando
ésta se encuentre en nivel TRUE, la salida RESULT recibirá el valor de VALUE1. El bloque finalizará
exitosamente y la salida ENO será activada. Observe que el estándar binario fue mantenido, a pesar
de que la representación decimal esté corrompida, dado que DWORD no acepta valores negativos.

11.2.6.8.8 STORE
Bloque que realiza el almacenamiento directo de datos provenientes de una fuente en un destino.

Representación Ladder

Estructura del Bloque

WPS v2.5X | 539


Equipo (Dispositivos)

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT BYTE USINT SINT WORD UINT
SRC Fuente de datos
INT DWORD DINT DINT REAL
ENO BOOL Fin de operación
VAR_OUTPUT BYTE USINT SINT WORD UINT
DST Destino de datos
INT DWORD DINT DINT REAL

Operación

Este bloque, cuando tiene un valor TRUE en EN, almacena el contenido de SRC en DST.

¡NOTA!
SRC y DST deben poseer tipos de datos de mismo tamaño.

Cuando EN tiene valor FALSE, DST permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

Ejemplo

WPS v2.5X | 540


Equipo (Dispositivos)

El ejemplo de arriba almacena el valor de la variable SRC en DST. El bloque finaliza exitosamente y
la salida ENO es activada.

El ejemplo de arriba almacena el valor de la variable SRC en DST. El bloque finaliza exitosamente y
la salida ENO es activada. Observe que el estándar binario es mantenido entre variables de tipos
diferentes.

11.2.6.8.9 USERERR
Bloque que genera una alarma o falla con el número programado por el usuario.

Representación Ladder

Estructura del Bloque

Tipo de Variável Nome Tipo de Dado Descrição


EN BOOL Habilitação do bloco
Código del error generado
CODE WORD UINT
(750 - 799)
VAR_INPUT
Tipo de error generado
TYPE BYTE (0 - Alarma)
(1 - Falla)
VAR_OUTPUT ENO BOOL Éxito en la generación del error
VAR USERERR_INST_0 USERERR Instancia de acceso a la estructura del bloque

Operación

Este bloque, cuando tiene un valor TRUE en EN, genera una alarma o falla en el equipo, dependiendo
del tipo definido en TYPE con el código CODE.

El valor de ENO informa si la generación de la alarma o de la falla fue ejecutada exitosamente.

Fluxograma do Bloco

WPS v2.5X | 541


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba, al identificar nivel TRUE en DI1, genera una falla con el código 774 y ajusta la
salida DO1.

11.2.6.9 Filter
11.2.6.9.1 LOWPASS
Bloque que filtra la entrada utilizando un filtro pasa bajo de primer orden e inserta el resultado en la
salida.

Representación Ladder

Estructura del Bloque

WPS v2.5X | 542


Equipo (Dispositivos)

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
Input REAL Señal de entrada
VAR_INPUT
Tau REAL Constante de tiempo del filtro
Ts# UINT Período de muestreo [ms]
ENO BOOL Habilitación de salida
VAR_OUTPUT
Output REAL Salida del filtro
VAR LOWPASS_INST_0 LOWPASS Instancia de acceso a la estructura del bloque

Operación

Este bloque, cuando tiene un valor TRUE en EN, filtra el valor de entrada Input utilizando un filtro pasa
bajo de primer orden descrito por Tau y Ts#, insertando el resultado en Output. En el flanco de subida
de EN, Output recibe cero.

Cuando EN tiene valor FALSE, Output permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN, luego de finalizada la operación.

Diagrama de Flujo del Bloque

Ejemplo

WPS v2.5X | 543


Equipo (Dispositivos)

El ejemplo de arriba hace que la salida OUTPUT, al identificar un flanco de subida en EN, exhiba un
comportamiento de primer orden, con constante de tiempo igual a TAU y tiempo de muestreo de 2
ms, con el objetivo de alcanzar la referencia ajustada en INPUT. A cada cálculo finalizado
exitosamente es activada la salida ENO.

11.2.6.10 Logic
11.2.6.10.1 Logic Bit
11.2.6.10.1.1 RESETBIT
Bloque lógico utilizado para realizar reset de un bit específico en un campo.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


BYTE USINT SINT
VAR_IN_OUT Data WORD UINT INT Variable cuyo bit será alterado
DWORD UDINT DINT
EN BOOL Habilitación del bloque
VAR_INPUT
Position BYTE USINT Posición del bit que será alterado
VAR_OUTPUT DONE BOOL Operación exitosa

Operación

Cuando este bloque tenga un valor TRUE en EN, reseteará el bit indicado en Position, en la variable
Data, que será pasada a la salida con su valor actualizado.

WPS v2.5X | 544


Equipo (Dispositivos)

Cuando EN tiene valor FALSE, Data permanece inalterada.

La variable DONE recibe el mismo valor de EN, excepto cuando hay error en el reset del bit,
recibiendo un valor FALSE.

¡NOTA!
Es importante verificar que Position esté dentro del rango de valores de bits correspondiente al
tipo de variable en Fecha. Por ejemplo: si Data es un BYTE, logo posee 8 bits, y Position debe
comprender un valor entre 0 y 7.

Diagrama de Flujo del Bloque

Ejemplo

El ejemplo de arriba resetea el bit de la posición cero de AUX, cuyo valor inicial es 200 (1100 1000,
en binario). Como este bit ya poseía valor FALSE, nada fue alterado.

WPS v2.5X | 545


Equipo (Dispositivos)

El ejemplo de arriba resetea el bit de la posición tres de AUX, alterando su valor binario y,
consecuentemente, su representación decimal.

El ejemplo de arriba resetea el bit de la posición nueve de AUX. Como AUX es una variable del tipo
BYTE, tiene solamente ocho bits. Siendo así, el ejemplo de arriba genera un error de ejecución en el
bloque y, por eso, la salida no es habilitada.

11.2.6.10.1.2 SETBIT
Bloque lógico utilizado para realizar set de un bit específico en un campo.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


BYTE USINT SINT
VAR_IN_OUT Data WORD UINT INT Variable cuyo bit será alterado
DWORD UDINT DINT
EN BOOL Habilitación del bloque
VAR_INPUT
Position BYTE USINT Posición del bit que será alterado
VAR_OUTPUT DONE BOOL Operación exitosa

Operación

Este bloque, cuando tiene un valor TRUE en EN, ajusta el bit indicado en Position en la variable Data,
que es pasada a la salida con su valor actualizado.

Cuando EN tiene valor FALSE, Data permanece inalterada.

La variable DONE recibe el mismo valor de EN, excepto cuando hay error en el set del bit, recibiendo
entonces un valor FALSE.

WPS v2.5X | 546


Equipo (Dispositivos)

¡NOTA!
Es importante verificar que Position esté dentro del rango de valores de bits correspondiente al
tipo de variable en Fecha. Por ejemplo: si Data es un BYTE, logo posee 8 bits, y Position debe
comprender un valor entre 0 y 7.

Diagrama de Flujo del Bloque

Ejemplo

El ejemplo de arriba ajusta el bit de la posición cero de AUX, cuyo valor inicial es 153 (1001 1001, en
binario). Como este bit ya tenía valor TRUE, nada es alterado.

El ejemplo de arriba ajusta el bit de la posición dos de AUX, alterando su valor binario y,
consecuentemente, su representación decimal.

WPS v2.5X | 547


Equipo (Dispositivos)

El ejemplo de arriba ajusta el bit de la posición quince de AUX. Como AUX es una variable del tipo
BYTE, tiene solamente ocho bits. Siendo así, el ejemplo de arriba genera un error de ejecución en el
bloque y, por eso, la salida no es habilitada.

11.2.6.10.1.3 TESTBIT
Bloque lógico que retorna al valor de un bit específico en un campo.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


BYTE USINT SINT
Data WORD UINT INT Variable cuyo bit será probado
DWORD UDINT DINT
VAR_INPUT
EN BOOL Habilitación del bloque
Position BYTE USINT Posición del bit que será alterado
VAR_OUTPUT Q BOOL Valor del bit probado

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Q el valor del bit indicado en
Position en la variable Data.

Cuando EN tiene valor FALSE, Q también recibe FALSE.

¡NOTA!
Es importante verificar que Position esté dentro del rango de valores de bits correspondiente al
tipo de variable en Fecha. Por ejemplo: si Data es un BYTE, Logo posee 8 bits, y Position debe
comprender un valor entre 0 y 7.

Diagrama de Flujo del Bloque

WPS v2.5X | 548


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba envía el valor del bit de la posición cero de AUX, cuyo valor inicial es 74
(0100_1010 en binario) a la salida Q. Como este bit tiene valor 0, la salida queda deshabilitada.

El ejemplo de arriba envía el valor del bit de la posición tres de AUX a la salida Q. Como este bit tiene
valor 1, la salida queda habilitada.

El ejemplo de arriba envía el valor del bit de la posición diez de AUX a la salida Q. Como AUX es una
variable del tipo BYTE, tiene solamente ocho bits. Siendo así, el ejemplo de arriba genera un error de
ejecución en el bloque y, por eso, la salida queda deshabilitada.

WPS v2.5X | 549


Equipo (Dispositivos)

11.2.6.10.2 Logic Boolean


11.2.6.10.2.1 AND
Bloque lógico que ejecuta una operación de “y” booleano entre dos variables, almacenando el
resultado en una tercera.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
BYTE USINT SINT
Value1 WORD UINT INT Variable para la operación
VAR_INPUT DWORD UDINT DINT
BYTE USINT SINT
Value2 WORD UINT INT Variable para la operación
DWORD UDINT DINT
ENO BOOL Fin de operación

VAR_OUTPUT BYTE USINT SINT


Result WORD UINT INT Variable que almacena el resultado de la operación
DWORD UDINT DINT

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Result el valor de la operación
booleana “y” de las variables de entrada Value1 y Value2.

Cuando EN tiene valor FALSE, Result permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

WPS v2.5X | 550


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba realiza la operación "y" booleano entre AUX y AUX2, almacenando el resultado
en AUX3.

11.2.6.10.2.2 NOT
Bloque lógico que ejecuta una operación de negado booleano en una variable, almacenando el
resultado en otra.

Representación Ladder

Estructura del Bloque

WPS v2.5X | 551


Equipo (Dispositivos)

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque

VAR_INPUT BYTE USINT SINT


Value WORD UINT INT Variable de referencia para la operación
DWORD UDINT DINT
ENO BOOL Fin de operación

VAR_OUTPUT BYTE USINT SINT


Result WORD UINT INT Variable que almacena el resultado de la operación
DWORD UDINT DINT

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Result el valor booleano negado de
la variable de entrada Value.

Cuando EN tiene valor FALSE, Result permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

Ejemplo

El ejemplo de arriba realiza la operación "negado" booleano en AUX, almacenando el resultado en

WPS v2.5X | 552


Equipo (Dispositivos)

AUX2.

11.2.6.10.2.3 OR
Bloque lógico que ejecuta una operación de “o” booleano entre dos variables, almacenando el
resultado en una tercera.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
BYTE USINT SINT
Value1 WORD UINT INT Variable para la operación
VAR_INPUT DWORD UDINT DINT
BYTE USINT SINT
Value2 WORD UINT INT Variable para la operación
DWORD UDINT DINT
ENO BOOL Fin de operación

VAR_OUTPUT BYTE USINT SINT


Result WORD UINT INT Variable que almacena el resultado de la operación
DWORD UDINT DINT

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Result el valor de la operación
booleana “o” de las variables de entrada Value1 y Value2.

Cuando EN tiene valor FALSE, Result permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

WPS v2.5X | 553


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba realiza la operación "o" booleano entre AUX y AUX2, almacenando el resultado
en AUX3.

11.2.6.10.2.4 XNOR
Bloque lógico que ejecuta una operación de “o exclusivo negado” booleano entre dos variables,
almacenando el resultado en una tercera.

Representación Ladder

Estructura del Bloque

WPS v2.5X | 554


Equipo (Dispositivos)

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
BYTE USINT SINT
Value1 WORD UINT INT Variable para la operación
VAR_INPUT DWORD UDINT DINT
BYTE USINT SINT
Value2 WORD UINT INT Variable para la operación
DWORD UDINT DINT
ENO BOOL Fin de operación

VAR_OUTPUT BYTE USINT SINT


Result WORD UINT INT Variable que almacena el resultado de la operación
DWORD UDINT DINT

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Result el valor de la operación
booleana “o exclusivo negado” de las variables de entrada Value1 y Value2.

Cuando EN tiene valor FALSE, Result permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

Ejemplo

WPS v2.5X | 555


Equipo (Dispositivos)

El ejemplo de arriba realiza la operación "o exclusivo negado" booleano entre AUX y AUX2,
almacenando el resultado en AUX3.

11.2.6.10.2.5 XOR
Bloque lógico que ejecuta una operación de “o exclusivo” booleano entre dos variables, almacenando
el resultado en una tercera.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
BYTE USINT SINT
Value1 WORD UINT INT Variable para la operación
VAR_INPUT DWORD UDINT DINT
BYTE USINT SINT
Value2 WORD UINT INT Variable para la operación
DWORD UDINT DINT
ENO BOOL Fin de operación

VAR_OUTPUT BYTE USINT SINT


Result WORD UINT INT Variable que almacena el resultado de la operación
DWORD UDINT DINT

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Result el valor de la operación
booleana “o exclusivo” de las variables de entrada Value1 y Value2.

Cuando EN tiene valor FALSE, Result permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

WPS v2.5X | 556


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba realiza la operación "o exclusivo" booleano entre AUX y AUX2, almacenando el
resultado en AUX3.

11.2.6.10.3 Logic Rotate


11.2.6.10.3.1 ROL
Bloque que ejecuta una operación de rotación lógica a la izquierda en un valor pasado por Value,
almacenando el resultado en Result.

Representación Ladder

Estructura del Bloque

WPS v2.5X | 557


Equipo (Dispositivos)

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
BYTE USINT SINT
VAR_INPUT Value WORD UINT INT Variable a sufrir rotación
DWORD UDINT DINT
Shift BYTE USINT Índice de desplazamiento
ENO BOOL Fin de operación

VAR_OUTPUT BYTE USINT SINT


Result WORD UINT INT Variable que almacena el resultado de la operación
DWORD UDINT DINT

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Result el valor de la variable Value
luego de realizar un determinado número de desplazamientos lógicos a la izquierda, de acuerdo con
el valor de Shift. Los bits más significativos que vayan siendo descartados serán reenviados a los bits
menos significativos, caracterizando la rotación.

Cuando EN tiene valor FALSE, Result permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

WPS v2.5X | 558


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba realiza una rotación lógica a la izquierda de una posición en la variable VALUE,
cuyo valor inicial es -100 (1001 1100 en binario). Los bits descartados a la izquierda son reinsertados
a la derecha. El resultado final (0011 1001 en binario) es almacenado en RESULT.

WPS v2.5X | 559


Equipo (Dispositivos)

El ejemplo de arriba realiza una rotación lógica a la izquierda de cinco posiciones en la variable
VALUE, cuyo valor inicial es 21 (0001 0101 en binario). Los bits descartados a la izquierda son
reinsertados a la derecha. El resultado final (1010 0010 en binario) es almacenado en RESULT.

11.2.6.10.3.2 ROR
Bloque que ejecuta una operación de rotación lógica a la derecha en un valor pasado por Value,
almacenando el resultado en Result.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
BYTE USINT SINT
VAR_INPUT Value WORD UINT INT Variable a sufrir rotación
DWORD UDINT DINT
Shift BYTE USINT Índice de desplazamiento
ENO BOOL Fin de operación

VAR_OUTPUT BYTE USINT SINT


Result WORD UINT INT Variable que almacena el resultado de la operación
DWORD UDINT DINT

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Result el valor de la variable Value
luego de realizar un determinado número de desplazamientos lógicos a la derecha, de acuerdo con el
valor de Shift. Los bits menos significativos que vayan siendo descartados serán reenviados a los bits
más significativos, caracterizando la rotación.

Cuando EN tiene valor FALSE, Result permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

WPS v2.5X | 560


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba realiza una rotación lógica a la derecha de una posición en la variable VALUE,
cuyo valor inicial es -128 (1000 0000 en binario). Los bits descartados a la derecha son reinsertados
a la izquierda. El resultado final (0100 0000 en binario) es almacenado en RESULT. Observe que la
señal no es preservada en esta operación.

WPS v2.5X | 561


Equipo (Dispositivos)

El ejemplo de arriba realiza una rotación lógica a la derecha de una posición en la variable VALUE,
cuyo valor inicial es -127 (1000 0001 en binario). Los bits descartados a la derecha son reinsertados
a la izquierda. El resultado final (1100 0000 en binario) es almacenado en RESULT.

11.2.6.10.4 Logic Shift


11.2.6.10.4.1 ASHL
Bloque que ejecuta una operación de desplazamiento binario hacia la izquierda en un valor pasado
por Value, almacenando el resultado en Result.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT Value SINT INT DINT Variable a sufrir desplazamiento
Shift BYTE USINT Índice de desplazamiento
ENO BOOL Fin de operación
VAR_OUTPUT
Result SINT INT DINT Variable que almacena el resultado de la operación

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Result el valor de la variable Value
tras realizar un determinado número de desplazamientos aritméticos hacia la izquierda, de acuerdo
con el valor de Shift.

¡NOTA!
Todos los desplazamientos aritméticos implementados mantienen la señal de la variable

Cuando EN tiene valor FALSE, Result permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

WPS v2.5X | 562


Equipo (Dispositivos)

Ejemplo

WPS v2.5X | 563


Equipo (Dispositivos)

11.2.6.10.4.2 ASHR
Bloque que ejecuta una operación de desplazamiento aritmético a la derecha en un valor pasado por
Value, almacenando el resultado en Result.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT Value SINT INT DINT Variable a sufrir desplazamiento
Shift BYTE USINT Índice de desplazamiento
ENO BOOL Fin de operación
VAR_OUTPUT
Result SINT INT DINT Variable que almacena el resultado de la operación

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Result el valor de la variable Value
luego de realizar un determinado número de desplazamientos aritméticos a la derecha, de acuerdo
con el valor de Shift.

¡NOTA!
Todos los desplazamientos aritméticos implementados mantienen la señal de la variable.

Cuando EN tiene valor FALSE, Result permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

WPS v2.5X | 564


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba realiza un desplazamiento aritmético a la derecha de tres posiciones en la


variable VALUE, cuyo valor inicial es 52 (0011 0100 en binario). Los bits a la derecha van siendo
descartados, y son insertados nuevos ceros a la izquierda. El resultado final (0000 0110 en binario)
es almacenado en RESULT.

WPS v2.5X | 565


Equipo (Dispositivos)

El ejemplo de arriba realiza un desplazamiento aritmético a la derecha de dos posiciones en la


variable VALUE, cuyo valor inicial es -79 (1011 0001 en binario). Los bits a la derecha van siendo
descartados, y a la izquierda son insertados nuevos unos, visto que los desplazamientos aritméticos
a la derecha preservan la señal de la variable. El resultado final (1111 0110 en binario) es almacenado
en RESULT.

El ejemplo de arriba realiza un desplazamiento aritmético a la derecha de trece posiciones en la


variable VALUE, cuyo valor inicial es -128 (1000 0000 en binario). Los bits a la derecha van siendo
descartados, y a la izquierda son insertados nuevos unos. El resultado final (1111 1111 en binario) es
almacenado en RESULT.

11.2.6.10.4.3 SHL
Bloque que ejecuta una operación de desplazamiento lógico binario a la izquierda en un valor pasado
por Value, almacenando el resultado en Result.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
BYTE USINT SINT
VAR_INPUT Value WORD UINT INT Variable a sufrir desplazamiento
DWORD UDINT DINT
Shift BYTE USINT Índice de desplazamiento
ENO BOOL Fin de operación

VAR_OUTPUT BYTE USINT SINT


Result WORD UINT INT Variable que almacena el resultado de la operación
DWORD UDINT DINT

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Result el valor de la variable Value
luego de realizar un determinado número de desplazamientos lógicos a la izquierda, de acuerdo con
el valor de Shift.

WPS v2.5X | 566


Equipo (Dispositivos)

Cuando EN tiene valor FALSE, Result permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

Ejemplo

El ejemplo de arriba realiza un desplazamiento lógico a la izquierda de cuatro posiciones en la


variable VALUE, cuyo valor inicial es 56 (0011_1000 en binario). Los bits a la izquierda van siendo
descartados, y a la derecha son insertados nuevos ceros. El resultado final (0011_1000_0000 en
binario) es almacenado en RESULT.

WPS v2.5X | 567


Equipo (Dispositivos)

El ejemplo de arriba realiza un desplazamiento lógico a la izquierda de cuatro posiciones en la


variable VALUE, cuyo valor inicial es -56 (1100_1000 en binario). Los bits a la izquierda van siendo
descartados, y a la derecha son insertados nuevos ceros. El resultado final (1100_1000_0000 en
binario) es almacenado en RESULT. Como RESULT es del tipo SINT, sólo acepta los primeros ocho
bits (1000_0000).

11.2.6.10.4.4 SHR
Bloque que ejecuta una operación de desplazamiento lógico binario a la derecha en un valor pasado
por Value, almacenando el resultado en Result.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
BYTE USINT SINT
VAR_INPUT Value WORD UINT INT Variable a sufrir desplazamiento
DWORD UDINT DINT
Shift BYTE USINT Índice de desplazamiento
ENO BOOL Fin de operación

VAR_OUTPUT BYTE USINT SINT


Result WORD UINT INT Variable que almacena el resultado de la operación
DWORD UDINT DINT

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Result el valor de la variable Value
luego de realizar un determinado número de desplazamientos lógicos a la derecha, de acuerdo con el
valor de Shift.

Cuando EN tiene valor FALSE, Result permanece inalterado.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

Diagrama de Flujo del Bloque

WPS v2.5X | 568


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba realiza un desplazamiento lógico a la derecha de dos posiciones en la variable


VALUE, cuyo valor inicial es 124 (0111 1100 en binario). Los bits a la derecha van siendo
descartados, y a la izquierda son insertados nuevos ceros. El resultado final (0001 1111 en binario)
es almacenado en RESULT.

El ejemplo de arriba realiza un desplazamiento lógico a la derecha de tres posiciones en la variable


VALUE, cuyo valor inicial es -98 (1001 1110 en binario). Los bits a la derecha van siendo
descartados, y a la izquierda son insertados nuevos ceros. El resultado final (0001_0011 en binario)
es almacenado en RESULT.

WPS v2.5X | 569


Equipo (Dispositivos)

11.2.6.11 Math
11.2.6.11.1 Math Basic
11.2.6.11.1.1 ABS
Bloque que calcula el módulo de Value, almacenando el resultado en Result.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT BYTE USINT SINT WORD UINT
Value Variable de referencia para la operación
INT DWORD UDINT DINT REAL
Done BOOL Fin de operación
VAR_OUTPUT BYTE USINT SINT WORD UINT Variable que almacena el resultado de la
Result
INT DWORD UDINT DINT REAL operación

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Result el valor absoluto de la
variable Value. No habiendo errores, la variable Done es ajustada. En caso de que haya algún error
en la operación, Done no será ajustada, permaneciendo en estado FALSE, mientras que Result
permanecerá con su valor inalterado.

Cuando EN tiene valor FALSE, Result permanece inalterado y Done permanece en FALSE.

Diagrama de Flujo del Bloque

WPS v2.5X | 570


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba calcula el valor absoluto de la variable VALUE, cuyo valor inicial es -45,
almacenando el resultado final, 45, en RESULT.

El ejemplo de arriba calcula el valor absoluto de la variable VALUE, cuyo valor inicial es -45. El
resultado final, 128, no puede ser almacenado en RESULT, ya que está fuera de los límites de
valores aceptados por el tipo SINT. Por eso, RESULT permanece inalterado y la salida queda
deshabilitada.

11.2.6.11.1.2 ADD
Bloque que calcula la suma de los valores de Value1 y Value2, almacenando el resultado en Result.

Representación Ladder

WPS v2.5X | 571


Equipo (Dispositivos)

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
BYTE USINT SINT WORD UINT
Value1 Primera etapa de la operación
VAR_INPUT INT DWORD UDINT DINT REAL
BYTE USINT SINT WORD UINT
Value2 Segunda etapa de la operación
INT DWORD UDINT DINT REAL
Done BOOL Fin de operación
VAR_OUTPUT BYTE USINT SINT WORD UINT Variable que almacena el resultado de la
Result
INT DWORD UDINT DINT REAL operación

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Result la suma de las variables
Value1 y Value2. No habiendo errores, la variable Done es ajustada. En caso de que haya algún error
en la operación, Done no será ajustada, permaneciendo en estado FALSE, mientras que Result
permanecerá con su valor inalterado.

Cuando EN tiene valor FALSE, Result permanece inalterado y Done permanece en FALSE.

Diagrama de Flujo del Bloque

Ejemplo

WPS v2.5X | 572


Equipo (Dispositivos)

El ejemplo de arriba calcula la suma de las variables VALUE1 y VALUE2, almacenando el resultado
final en RESULT.

El ejemplo de arriba calcula la suma de las variables VALUE1 y VALUE2, almacenando el resultado
final en RESULT. Observe que el bloque acepta argumentos de ambas señales.

El ejemplo de arriba calcula la suma de las variables VALUE1 y VALUE2. El resultado final, -170, no
puede ser almacenado en RESULT, ya que está fuera de los límites de valores aceptados por el tipo
SINT. Por eso, RESULT permanece inalterado y la salida queda deshabilitada.

11.2.6.11.1.3 DIV
Bloque que calcula la división de los valores de Value1 y Value2, almacenando el resultado en
Result.

Representación Ladder

Estructura del Bloque

WPS v2.5X | 573


Equipo (Dispositivos)

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
BYTE USINT SINT WORD UINT
Value1 Dividendo de la operación
VAR_INPUT INT DWORD UDINT DINT REAL
BYTE USINT SINT WORD UINT
Value2 Divisor de la operación
INT DWORD UDINT DINT REAL
Done BOOL Fin de operación
VAR_OUTPUT BYTE USINT SINT WORD UINT Variable que almacena el resultado de la
Result
INT DWORD UDINT DINT REAL operación

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Result la división de las variables
Value1 y Value2. El valor almacenado será la división exacta en caso de que Result sea REAL o en
los demás casos, solamente el cociente de la división. No habiendo errores, la variable Done es
ajustada. En caso de que haya algún error en la operación, Done no será ajustada, permaneciendo
en estado FALSE, mientras que Result permanecerá con su valor inalterado.

Cuando EN tiene valor FALSE, Result permanece inalterado y Done permanece en FALSE.

Diagrama de Flujo del Bloque

Ejemplo

WPS v2.5X | 574


Equipo (Dispositivos)

El ejemplo de arriba calcula la división de las variables VALUE1 y VALUE2, almacenando el


resultado final en RESULT. Como RESULT es del tipo SINT, solamente el cociente de la división es
almacenado en ella.

El ejemplo de arriba calcula la división de las variables VALUE1 y VALUE2, almacenando el


resultado final en RESULT. Como RESULT es del tipo REAL, el valor exacto de la división es
almacenado en ella.

El ejemplo de arriba calcula la división de las variables VALUE1 y VALUE2, almacenando el


resultado final en RESULT. Como RESULT es del tipo SINT, solamente el cociente de la división es
almacenado en ella. Observe que el bloque acepta argumentos de ambas señales.

El ejemplo de arriba calcula la división de las variables VALUE1 y VALUE2, almacenando el


resultado final en RESULT. Como VALUE2 es cero, el bloque genera un error de ejecución, RESULT

WPS v2.5X | 575


Equipo (Dispositivos)

permanece inalterado y la salida es deshabilitada.

11.2.6.11.1.4 MOD
Bloque que calcula el resto de la división de los valores de Value1 y Value2, almacenando el
resultado en Result.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
BYTE USINT SINT WORD UINT
Value1 Dividendo de la operación
VAR_INPUT INT DWORD UDINT DINT
BYTE USINT SINT WORD UINT
Value2 Divisor de la operación
INT DWORD UDINT DINT
Done BOOL Fin de operación
VAR_OUTPUT BYTE USINT SINT WORD UINT Variable que almacena el resultado de la
Result
INT DWORD UDINT DINT operación

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Result el resto de la división de las
variables Value1 y Value2. No habiendo errores, la variable Done será ajustada. En caso de que haya
algún error en la operación, Done no será ajustada, permaneciendo en estado FALSE, mientras que
Result permanecerá con su valor inalterado.

Cuando EN tiene valor FALSE, Result permanece inalterado y Done permanece en FALSE.

Diagrama de Flujo del Bloque

WPS v2.5X | 576


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba calcula el resto de la división de las variables VALUE1 y VALUE2, almacenando
el resultado final en RESULT.

El ejemplo de arriba calcula el resto de la división de las variables VALUE1 y VALUE2, almacenando
el resultado final en RESULT. Observe que el bloque acepta argumentos de ambas señales.

WPS v2.5X | 577


Equipo (Dispositivos)

El ejemplo de arriba calcula el resto de la división de las variables VALUE1 y VALUE2, almacenando
el resultado final en RESULT. Como VALUE2 es cero, el bloque genera un error de ejecución,
RESULT permanece inalterado y la salida es deshabilitada.

11.2.6.11.1.5 MUL
Bloque que calcula la multiplicación de los valores de Value1 y Value2, almacenando el resultado en
Result.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
BYTE USINT SINT WORD UINT
Value1 Primero factor de la operación
VAR_INPUT INT DWORD UDINT DINT REAL
BYTE USINT SINT WORD UINT
Value2 Segundo factor de la operación
INT DWORD UDINT DINT REAL
Done BOOL Fin de operación
VAR_OUTPUT BYTE USINT SINT WORD UINT Variable que almacena el resultado de la
Result
INT DWORD UDINT DINT REAL operación

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Result la multiplicación de las
variables Value1 y Value2. No habiendo errores, la variable Done es ajustada. En caso de que haya
algún error en la operación, Done no será ajustada, permaneciendo en estado FALSE, mientras que
Result permanecerá con su valor inalterado.

Cuando EN tiene valor FALSE, Result permanece inalterado y Done permanece en FALSE.

Diagrama de Flujo del Bloque

WPS v2.5X | 578


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba calcula el producto de las variables VALUE1 y VALUE2, almacenando el


resultado final en RESULT.

El ejemplo de arriba calcula el producto de las variables VALUE1 y VALUE2, almacenando el


resultado final en RESULT. Observe que el bloque acepta argumentos de ambas señales.

WPS v2.5X | 579


Equipo (Dispositivos)

El ejemplo de arriba calcula el producto de las variables VALUE1 y VALUE2. El resultado final, 224,
no puede ser almacenado en RESULT ya que está fuera de los límites de valores aceptados por el
tipo SINT. Por eso, RESULT permanece inalterado y la salida queda deshabilitada.

11.2.6.11.1.6 NEG
Bloque que calcula el opuesto (o sea, el producto con -1) de un valor pasado por Value, almacenando
el resultado en Result.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT BYTE USINT SINT WORD UINT
Value Variable de referencia para la operación
INT DWORD UDINT DINT REAL
Done BOOL Fin de operación
VAR_OUTPUT BYTE USINT SINT WORD UINT Variable que almacena el resultado de la
Result
INT DWORD UDINT DINT REAL operación

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Result el opuesto de la variable
Value. No habiendo errores, la variable Done es ajustada. En caso de que haya algún error en la
operación, Done no será ajustada, permaneciendo en estado FALSE, mientras que Result
permanecerá con su valor inalterado.

Cuando EN tiene valor FALSE, Result permanece inalterado y Done permanece en FALSE.

Diagrama de Flujo del Bloque

WPS v2.5X | 580


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba calcula el opuesto de la variable VALUE, cuyo valor inicial es 21, almacenando
el resultado final, -21, en RESULT.

El ejemplo de arriba calcula el opuesto de la variable VALUE, cuyo valor inicial es -56, almacenando
el resultado final, 56, en RESULT.

El ejemplo de arriba calcula el opuesto de la variable VALUE, cuyo valor inicial es -128. El resultado
final, 128, no puede ser almacenado en RESULT, ya que está fuera de los límites de valores

WPS v2.5X | 581


Equipo (Dispositivos)

aceptados por el tipo SINT. Por eso, RESULT permanece inalterado y la salida queda deshabilitada.

11.2.6.11.1.7 SUB
Bloque que calcula la resta entre los valores Value1 y Value2, almacenando el resultado en Result.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
BYTE USINT SINT WORD UINT
Value1 Minuendo de la operación
VAR_INPUT INT DWORD UDINT DINT REAL
BYTE USINT SINT WORD UINT
Value2 Sustraendo de la operación
INT DWORD UDINT DINT REAL
Done BOOL Fin de operación
VAR_OUTPUT BYTE USINT SINT WORD UINT Variable que almacena el resultado de la
Result
INT DWORD UDINT DINT REAL operación

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Result la resta de las variables
Value1 y Value2. No habiendo errores, la variable Done es ajustada. En caso de que haya algún error
en la operación, Done no será ajustada, permaneciendo en estado FALSE, mientras que Result
permanecerá con su valor inalterado.

Cuando EN tiene valor FALSE, Result permanece inalterado y Done permanece en FALSE.

Diagrama de Flujo del Bloque

WPS v2.5X | 582


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba calcula la resta de las variables VALUE1 y VALUE2, almacenando el resultado
final en RESULT.

El ejemplo de arriba calcula la resta de las variables VALUE1 y VALUE2, almacenando el resultado
final en RESULT. Observe que el bloque acepta argumentos de ambas señales.

WPS v2.5X | 583


Equipo (Dispositivos)

El ejemplo de arriba calcula la resta de las variables VALUE1 y VALUE2. El resultado final, 141, no
puede ser almacenado en RESULT, ya que está fuera de los límites de valores aceptados por el tipo
SINT. Por eso, RESULT permanece inalterado y la salida queda deshabilitada.

11.2.6.11.2 Math Extended


11.2.6.11.2.1 ALOG10
Bloque que calcula el antilogaritmo (exponencial con base 10) del valor de Value, almacenando el
resultado en Result.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT
Value REAL Variable de referencia para la operación
Done BOOL Fin de operación
VAR_OUTPUT
Result REAL Variable que almacena el resultado de la operación

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Result el antilogaritmo de la
variable Value. No habiendo errores, la variable Done es ajustada. En caso de que haya algún error
en la operación, Done no será ajustada, permaneciendo en estado FALSE, mientras que Result
permanecerá con su valor inalterado.

Cuando EN tiene valor FALSE, Result permanece inalterado y Done permanece en FALSE.

Diagrama de Flujo del Bloque

WPS v2.5X | 584


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba calcula el antilogaritmo de la variable VALUE, almacenando el resultado final en


RESULT. El bloque finaliza exitosamente y la salida Done es activada.

El ejemplo de arriba calcula el antilogaritmo de la variable VALUE, almacenando el resultado final en


RESULT. El valor indicado es el valor mínimo de entrada para el cual el bloque retorna un resultado
no nulo. El bloque finaliza exitosamente y la salida Done es activada.

El ejemplo de arriba calcula el antilogaritmo de la variable VALUE, almacenando el resultado final en

WPS v2.5X | 585


Equipo (Dispositivos)

RESULT. Valores inferiores al mínimo hacen que el bloque retorne valor nulo. El bloque finaliza
exitosamente y la salida Done es activada.

El ejemplo de arriba calcula el antilogaritmo de la variable VALUE, almacenando el resultado final en


RESULT. El valor indicado es el valor máximo de entrada para el cual el bloque retorna un resultado
válido. El bloque finaliza exitosamente y la salida Done es activada.

El ejemplo de arriba calcula el antilogaritmo de la variable VALUE, almacenando el resultado final en


RESULT. Valores superiores al máximo hacen que el bloque genere un error, que la salida RESULT
permanezca inalterada y la salida Done sea desactivada.

11.2.6.11.2.2 EXP
Bloque que calcula la exponencial del número de Euler “y” elevado al valor de Value, almacenando el
resultado en Result.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT
Value REAL Variable de referencia para la operación
Done BOOL Fin de operación
VAR_OUTPUT
Result REAL Variable que almacena el resultado de la operación

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Result la exponencial del número
de Euler “y” elevado a la variable Value. No habiendo errores, la variable Done es ajustada. En caso
de que haya algún error en la operación, Done no será ajustada, permaneciendo en estado FALSE,
mientras que Result permanecerá con su valor inalterado.

Cuando EN tiene valor FALSE, Result permanece inalterado y Done permanece en FALSE.

WPS v2.5X | 586


Equipo (Dispositivos)

Diagrama de Flujo del Bloque

Ejemplo

El ejemplo de arriba calcula la exponencial de la variable VALUE, almacenando el resultado final en


RESULT. El bloque finaliza exitosamente y la salida Done es activada.

El ejemplo de arriba calcula la exponencial de la variable VALUE, almacenando el resultado final en


RESULT. El valor indicado es el valor mínimo de entrada para el cual el bloque retorna un resultado
no nulo. El bloque finaliza exitosamente y la salida Done es activada.

WPS v2.5X | 587


Equipo (Dispositivos)

El ejemplo de arriba calcula la exponencial de la variable VALUE, almacenando el resultado final en


RESULT. Valores inferiores al mínimo hacen que el bloque retorne valor nulo. El bloque finaliza
exitosamente y la salida Done es activada.

El ejemplo de arriba calcula la exponencial de la variable VALUE, almacenando el resultado final en


RESULT. El valor indicado es el valor máximo de entrada para el cual el bloque retorna un resultado
válido. El bloque finaliza exitosamente y la salida Done es activada.

El ejemplo de arriba calcula la exponencial de la variable VALUE, almacenando el resultado final en


RESULT. Valores superiores al máximo hacen que el bloque genere un error, que la salida RESULT
permanezca inalterada y la salida Done sea desactivada.

11.2.6.11.2.3 LN
Bloque que calcula el logaritmo natural del valor de Value, almacenando el resultado en Result.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT
Value REAL Variable de referencia para la operación
Done BOOL Fin de operación
VAR_OUTPUT
Result REAL Variable que almacena el resultado de la operación

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Result el logaritmo natural de la
variable Value. No habiendo errores, la variable Done es ajustada. En caso de que haya algún error
en la operación, Done no será ajustada, permaneciendo en estado FALSE, mientras que Result
permanecerá con su valor inalterado.

WPS v2.5X | 588


Equipo (Dispositivos)

Cuando EN tiene valor FALSE, Result permanece inalterado y Done permanece en FALSE.

Diagrama de Flujo del Bloque

Ejemplo

El ejemplo de arriba calcula el logaritmo natural de la variable VALUE, almacenando el resultado final
en RESULT. El bloque finaliza exitosamente y la salida Done es activada.

El ejemplo de arriba calcula el logaritmo natural de la variable VALUE, almacenando el resultado final
en RESULT. El bloque genera un error de ejecución, visto que VALUE posee valor cero, y la salida
Done es desactivada.

WPS v2.5X | 589


Equipo (Dispositivos)

11.2.6.11.2.4 LOG10
Bloque que calcula el logaritmo común (base 10) del valor de Value, almacenando el resultado en
Result.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT
Value REAL Variable de referencia para la operación
Done BOOL Fin de operación
VAR_OUTPUT
Result REAL Variable que almacena el resultado de la operación

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Result el logaritmo común de la
variable Value. No habiendo errores, la variable Done es ajustada. En caso de que haya algún error
en la operación, Done no será ajustada, permaneciendo en estado FALSE, mientras que Result
permanecerá con su valor inalterado.

Cuando EN tiene valor FALSE, Result permanece inalterado y Done permanece en FALSE.

Diagrama de Flujo del Bloque

WPS v2.5X | 590


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba calcula el logaritmo común de la variable VALUE, almacenando el resultado final
en RESULT. El bloque finaliza exitosamente y la salida Done es activada.

El ejemplo de arriba calcula el logaritmo común de la variable VALUE, almacenando el resultado final
en RESULT. El bloque genera un error de ejecución, visto que VALUE posee valor negativo y la salida
Done es desactivada.

11.2.6.11.2.5 POW
Bloque que calcula el valor de Value elevado a la potencia Power, almacenando el resultado en
Result.

WPS v2.5X | 591


Equipo (Dispositivos)

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT Value REAL Base de la operación
Power REAL Potencia de la operación
Done BOOL Fin de operación
VAR_OUTPUT Variable que almacena el resultado de la
Result REAL
operación

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Result el valor de Value elevado a
la potencia Power. No habiendo errores, la variable Done es ajustada. En caso de que haya algún
error en la operación, Done no será ajustada, permaneciendo en estado FALSE, mientras que Result
permanecerá con su valor inalterado.

Cuando EN tiene valor FALSE, Result permanece inalterado y Done permanece en FALSE.

Diagrama de Flujo del Bloque

Ejemplo

WPS v2.5X | 592


Equipo (Dispositivos)

El ejemplo de arriba calcula el valor de la variable VALUE elevada a la potencia de la variable


POWER, almacenando el resultado final en RESULT. El bloque finaliza exitosamente y la salida
Done es activada.

El ejemplo de arriba calcula el valor de la variable VALUE elevada a la potencia de la variable


POWER, almacenando el resultado final en RESULT. El bloque finaliza exitosamente y la salida
Done es activada.

El ejemplo de arriba calcula el valor de la variable VALUE elevada a la potencia de la variable


POWER, almacenando el resultado final en RESULT. Como el resultado es superior al valor máximo
soportado por el tipo REAL, el bloque genera un error y la salida Done es desactivada.

11.2.6.11.2.6 ROUND
Bloque que redondea el valor de Value, almacenando el resultado en Result.

Representación Ladder

Estructura del Bloque

WPS v2.5X | 593


Equipo (Dispositivos)

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT
Value REAL Variable de referencia para la operación
Done BOOL Fin de operación
VAR_OUTPUT Variable que almacena el resultado de la
Result REAL
operación

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Result el valor redondeado de
Value. No habiendo errores, la variable Done es ajustada. En caso de que haya algún error en la
operación, Done no será ajustada, permaneciendo en estado FALSE, mientras que Result
permanecerá con su valor inalterado.

Cuando EN tiene valor FALSE, Result permanece inalterado y Done permanece en FALSE.

Compatibilidad

Equipo Versión
PLC300 2.10 o superior
SCA06 2.00 o superior

Diagrama de Flujo del Bloque

Ejemplo

WPS v2.5X | 594


Equipo (Dispositivos)

El ejemplo de arriba redondea el valor de la variable VALUE, almacenando el resultado final en


RESULT. Decimales inferiores a 0,5 son descartados. El bloque finaliza exitosamente y la salida
Done es activada.

El ejemplo de arriba redondea el valor de la variable VALUE, almacenando el resultado final en


RESULT. Decimales iguales o superiores a 0,5 promueven la unidad al valor de inmediatamente
arriba. El bloque finaliza exitosamente y la salida Done es activada.

11.2.6.11.2.7 SQRT
Bloque que calcula el valor de la raíz cuadrada de Value, almacenando el resultado en Result.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT
Value REAL Variable de referencia para la operación
Done BOOL Fin de operación
VAR_OUTPUT
Result REAL Variable que almacena el resultado de la operación

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Result el valor de la raíz cuadrada
de Value. No habiendo errores, la variable Done es ajustada. En caso de que haya algún error en la
operación, Done no será ajustada, permaneciendo en estado FALSE, mientras que Result
permanecerá con su valor inalterado.

Cuando EN tiene valor FALSE, Result permanece inalterado y Done permanece en FALSE.

Diagrama de Flujo del Bloque

WPS v2.5X | 595


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba calcula el valor de la raíz cuadrada de la variable VALUE, almacenando el


resultado final en RESULT. El bloque finaliza exitosamente y la salida Done es activada.

El ejemplo de arriba calcula el valor de la raíz cuadrada de la variable VALUE, almacenando el


resultado final en RESULT. El bloque genera un error de ejecución, visto que VALUE posee valor
negativo y la salida Done es desactivada.

11.2.6.11.2.8 TRUNC
Bloque que trunca el valor de Value, almacenando el resultado en Result.

WPS v2.5X | 596


Equipo (Dispositivos)

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT
Value REAL Variable de referencia para la operación
Done BOOL Fin de operación
VAR_OUTPUT Variable que almacena el resultado de la
Result REAL
operación

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía para a la salida Result el valor truncado de
Value. No habiendo errores, la variable Done es ajustada. En caso de que haya algún error en la
operación, Done no será ajustada, permaneciendo en estado FALSE, mientras que Result
permanecerá con su valor inalterado.

Cuando EN tiene valor FALSE, Result permanece inalterado y Done permanece en FALSE.

Compatibilidad

Equipo Versión
PLC300 2.10 o superior
SCA06 2.00 o superior

Diagrama de Flujo del Bloque

WPS v2.5X | 597


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba trunca el valor de la variable VALUE, almacenando el resultado final en RESULT.
Decimales son descartados. El bloque finaliza exitosamente y la salida Done es activada.

11.2.6.11.3 Math Trigonometry


11.2.6.11.3.1 ACOS
Bloque que calcula el arco coseno de Value, almacenando el resultado en Angle.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT
Value REAL Valor del coseno
Done BOOL Fin de operación
VAR_OUTPUT
Angle REAL Valor do ângulo cujo cosseno é igual a Value (em radianos)

WPS v2.5X | 598


Equipo (Dispositivos)

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Angle el arco coseno de Value. No
habiendo errores, la variable Done es ajustada. En caso de que haya algún error en la operación,
Done no será ajustada, permaneciendo en estado FALSE, mientras que Angle permanecerá con su
valor inalterado.

Cuando EN tiene valor FALSE, Angle permanece inalterado y Done permanece en FALSE.

Diagrama de Flujo del Bloque

Ejemplo

El ejemplo de arriba calcula el arco, en radianes, cuyo coseno es la variable VALUE, almacenando el
resultado final en RESULT. El bloque finaliza exitosamente y la salida Done es activada.

WPS v2.5X | 599


Equipo (Dispositivos)

El ejemplo de arriba calcula el arco, en radianes, cuyo coseno es la variable VALUE, almacenando el
resultado final en RESULT. El bloque generará un error de ejecución y la salida Done será
desactivada., visto que VALUE posee valor inferior a 1.

11.2.6.11.3.2 ASIN
Bloque que calcula el arco seno de Value, almacenando el resultado en Angle.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT
Value REAL Valor del seno
Done BOOL Fin de operación
VAR_OUTPUT
Angle REAL Valor do ângulo cujo seno é igual a Value (em radianos)

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Angle el arco seno de Value. No
habiendo errores, la variable Done es ajustada. En caso de que haya algún error en la operación,
Done no será ajustada, permaneciendo en estado FALSE, mientras que Angle permanecerá con su
valor inalterado.

Cuando EN tiene valor FALSE, Angle permanece inalterado y Done permanece en FALSE.

Diagrama de Flujo del Bloque

WPS v2.5X | 600


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba calcula el arco, en radianes, cuyo seno es la variable VALUE, almacenando el
resultado final en RESULT. El bloque finaliza exitosamente y la salida Done es activada.

El ejemplo de arriba calcula el arco, en radianes, cuyo seno es la variable VALUE, almacenando el
resultado final en RESULT. El bloque generará un error de ejecución y la salida Done será
desactivada, visto que VALUE posee valor superior a 1.

WPS v2.5X | 601


Equipo (Dispositivos)

11.2.6.11.3.3 ATAN
Bloque que calcula el arco tangente de Value, almacenando el resultado en Angle.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT
Value REAL Valor de la tangente
Done BOOL Fin de operación
VAR_OUTPUT
Angle REAL Valor do ângulo cuja tangente é igual a Value (em radianos)

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Angle el arco tangente de Value.
No habiendo errores, la variable Done es ajustada. En caso de que haya algún error en la operación,
Done no será ajustada, permaneciendo en estado FALSE, mientras que Angle permanecerá con su
valor inalterado.

Cuando EN tiene valor FALSE, Angle permanece inalterado y Done permanece en FALSE.

Diagrama de Flujo del Bloque

Ejemplo

WPS v2.5X | 602


Equipo (Dispositivos)

El ejemplo de arriba calcula el arco, en radianes, cuya tangente es la variable VALUE, almacenando
el resultado final en RESULT. El arco, para valores positivos, siempre se encuentra en el primer
cuadrante. El bloque finaliza exitosamente y la salida Done es activada.

El ejemplo de arriba calcula el arco, en radianes, cuya tangente es la variable VALUE, almacenando
el resultado final en RESULT. El arco, para valores negativos, siempre se encuentra en el cuarto
cuadrante. El bloque finaliza exitosamente y la salida Done es activada.

11.2.6.11.3.4 ATAN2
Bloque que calcula el arco tangente de Y/X, almacenando el resultado en Angle.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT X REAL Parámetro X de la función
Y REAL Parámetro Y de la función
Done BOOL Fin de operación
VAR_OUTPUT
Angle REAL Valor del ángulo cuya tangente es igual a (Y/X) (en radianes)

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Angle el arco tangente de Y/X. No
habiendo errores, la variable Done es ajustada. En caso de que haya algún error en la operación,
Done no será ajustada, permaneciendo en estado FALSE, mientras que Angle permanecerá con su
valor inalterado.

Cuando EN tiene valor FALSE, Angle permanece inalterado y Done permanece en FALSE.

WPS v2.5X | 603


Equipo (Dispositivos)

Diagrama de Flujo del Bloque

Ejemplo

El ejemplo de arriba calcula el arco, en radianes, cuya tangente es el valor de Y/X, almacenando el
resultado final en RESULT. El arco, para valores positivos de X e Y, siempre se encuentra en el
primer cuadrante. El bloque finaliza exitosamente y la salida Done es activada.

WPS v2.5X | 604


Equipo (Dispositivos)

El ejemplo de arriba calcula el arco, en radianes, cuya tangente es el valor de Y/X, almacenando el
resultado final en RESULT. El arco, para valores negativos de X y positivos de Y, siempre se
encuentra en el segundo cuadrante. El bloque finaliza exitosamente y la salida Done es activada.

El ejemplo de arriba calcula el arco, en radianes, cuya tangente es el valor de Y/X, almacenando el
resultado final en RESULT. El arco, para valores negativos de X e Y, siempre se encuentra en el
tercer cuadrante. El bloque finaliza exitosamente y la salida Done es activada.

El ejemplo de arriba calcula el arco, en radianes, cuya tangente es el valor de Y/X, almacenando el
resultado final en RESULT. El arco, para valores positivos de X y negativos de Y, siempre se
encuentra en el cuarto cuadrante. El bloque finaliza exitosamente y la salida Done es activada.

11.2.6.11.3.5 COS
Bloque que calcula el coseno de Angle, almacenando el resultado en Result.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT
Angle REAL Ángulo (en radianes)
Done BOOL Fin de operación
VAR_OUTPUT
Result REAL Variable que almacena el resultado de la operación

Operación

WPS v2.5X | 605


Equipo (Dispositivos)

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Result el coseno de Angle. No
habiendo errores, la variable Done es ajustada. En caso de que haya algún error en la operación,
Done no será ajustada, permaneciendo en estado FALSE, mientras que Result permanecerá con su
valor inalterado.

Cuando EN tiene valor FALSE, Result permanece inalterado y Done permanece en FALSE.

Diagrama de Flujo del Bloque

Ejemplo

El ejemplo de arriba calcula el coseno de la variable VALUE, interpretada en radianes, almacenando


el resultado final en RESULT. El bloque finaliza exitosamente y la salida Done es activada.

El ejemplo de arriba calcula el coseno de la variable VALUE, interpretada en radianes, almacenando


el resultado final en RESULT. El bloque finaliza exitosamente y la salida Done es activada. Observe
que el bloque acepta valores de entrada negativos y superiores a una vuelta.

WPS v2.5X | 606


Equipo (Dispositivos)

11.2.6.11.3.6 SIN
Bloque que calcula el seno de Angle, almacenando el resultado en Result.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT
Angle REAL Ángulo (en radianes)
Done BOOL Fin de operación
VAR_OUTPUT
Result REAL Variable que almacena el resultado de la operación

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Result el seno de Angle. No
habiendo errores, la variable Done es ajustada. En caso de que haya algún error en la operación,
Done no será ajustada, permaneciendo en estado FALSE, mientras que Result permanecerá con su
valor inalterado.

Cuando EN tiene valor FALSE, Result permanece inalterado y Done permanece en FALSE.

Diagrama de Flujo del Bloque

WPS v2.5X | 607


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba calcula el seno de la variable VALUE, interpretada en radianes, almacenando el


resultado final en RESULT. El bloque finaliza exitosamente y la salida Done es activada.

El ejemplo de arriba calcula el seno de la variable VALUE, interpretada en radianes, almacenando el


resultado final en RESULT. El bloque finaliza exitosamente y la salida Done es activada. Observe que
el bloque acepta valores negativos de entrada.

El ejemplo de arriba calcula el seno de la variable VALUE, interpretada en radianes, almacenando el


resultado final en RESULT. El bloque finaliza exitosamente y la salida Done es activada. Observe que
el bloque acepta valores superiores a una vuelta completa.

11.2.6.11.3.7 TAN
Bloque que calcula la tangente de Angle, almacenando el resultado en Result.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT
Angle REAL Ángulo (en radianes)
Done BOOL Fin de operación
VAR_OUTPUT
Result REAL Variable que almacena el resultado de la operación

WPS v2.5X | 608


Equipo (Dispositivos)

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Result la tangente de Angle. No
habiendo errores, la variable Done es ajustada. En caso de que haya algún error en la operación,
Done no será ajustada, permaneciendo en estado FALSE, mientras que Result permanecerá con su
valor inalterado.

Cuando EN tiene valor FALSE, Result permanece inalterado y Done permanece en FALSE.

Diagrama de Flujo del Bloque

Ejemplo

El ejemplo de arriba calcula la tangente de la variable VALUE, interpretada en radianes, almacenando


el resultado final en RESULT. El bloque finaliza exitosamente y la salida Done es activada.

WPS v2.5X | 609


Equipo (Dispositivos)

El ejemplo de arriba calcula la tangente de la variable VALUE, interpretada en radianes, almacenando


el resultado final en RESULT. El bloque finaliza exitosamente y la salida Done es activada. Observe
que el bloque acepta valores de entrada negativos y superiores a una vuelta.

11.2.6.11.4 Math Util


11.2.6.11.4.1 MAX
Bloque que compara los valores de Value1 y Value2, y almacena el mayor de éstos en Result.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
BYTE USINT SINT WORD UINT
Value1 Primer valor de la comparación
VAR_INPUT INT DWORD UDINT DINT REAL
BYTE USINT SINT WORD UINT
Value2 Segundo valor de la comparación
INT DWORD UDINT DINT REAL
Done BOOL Fin de operación
VAR_OUTPUT BYTE USINT SINT WORD UINT
Result El mayor de los valores comparados
INT DWORD UDINT DINT REAL

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Result el mayor valor en la
comparación entre Value1 y Value2. No habiendo errores, la variable Done será ajustada. En caso de
que haya algún error en la operación, Done no será ajustada, permaneciendo en estado FALSE,
mientras que Result permanecerá con su valor inalterado.

Cuando EN tiene valor FALSE, Result permanece inalterado y Done permanece en FALSE.

Diagrama de Flujo del Bloque

WPS v2.5X | 610


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba calcula el valor máximo entre las variables VALUE1 y VALUE2, almacenando el
resultado final en RESULT. El bloque finaliza exitosamente y la salida Done es activada.

El ejemplo de arriba calcula el valor máximo entre las variables VALUE1 y VALUE2, almacenando el
resultado final en RESULT. El bloque finaliza exitosamente y la salida Done es activada. Observe que
los tipos de variables de entrada pueden ser diferentes sin causar problemas de ejecución.

WPS v2.5X | 611


Equipo (Dispositivos)

El ejemplo de arriba calcula el valor máximo entre las variables VALUE1 y VALUE2, almacenando el
resultado final en RESULT. Como el resultado es superior al valor máximo soportado por el tipo SINT,
el bloque genera un Error y la salida Done es desactivada.

11.2.6.11.4.2 MIN
Bloque que compara los valores de Value1 y Value2 y almacena el menor de éstos en Result.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
BYTE USINT SINT WORD UINT
Value1 Primer valor de la comparación
VAR_INPUT INT DWORD UDINT DINT REAL
BYTE USINT SINT WORD UINT
Value2 Segundo valor de la comparación
INT DWORD UDINT DINT REAL
Done BOOL Fin de operación
VAR_OUTPUT BYTE USINT SINT WORD UINT
Result Menor de los valores comparados
INT DWORD UDINT DINT REAL

Operación

Este bloque, cuando tiene un valor TRUE en EN, envía a la salida Result el menor valor en la
comparación entre Value1 y Value2. No habiendo errores, la variable Done es ajustada. En caso de
que haya algún error en la operación, Done no será ajustada, permaneciendo en estado FALSE,
mientras que Result permanecerá con su valor inalterado.

Cuando EN tiene valor FALSE, Result permanece inalterado y Done permanece en FALSE.

Diagrama de Flujo del Bloque

WPS v2.5X | 612


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba calcula el valor mínimo entre las variables VALUE1 y VALUE2, almacenando el
resultado final en RESULT. El bloque finaliza exitosamente y la salida Done es activada.

El ejemplo de arriba calcula el valor mínimo entre las variables VALUE1 y VALUE2, almacenando el
resultado final en RESULT. El bloque finaliza exitosamente y la salida Done es activada. Observe que
los tipos de variables de entrada pueden ser diferentes sin causar problemas de ejecución.

WPS v2.5X | 613


Equipo (Dispositivos)

El ejemplo de arriba calcula el valor mínimo entre las variables VALUE1 y VALUE2, almacenando el
resultado final en RESULT. Como el resultado es inferior al valor mínimo soportado por el tipo SINT, el
bloque genera un error y la salida Done es desactivada.

11.2.6.11.4.3 SAT
Bloque que realiza una rutina de saturación del valor encontrado en Value de acuerdo con los límites
estipulados en Minimum y Maximum, almacenando el resultado en Result.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
BYTE USINT SINT WORD UINT
Value Valor de referencia
INT DWORD UDINT DINT REAL
VAR_INPUT BYTE USINT SINT WORD UINT
Minimum Valor de saturación inferior
INT DWORD UDINT DINT REAL
BYTE USINT SINT WORD UINT
Maximum Valor de saturación superior
INT DWORD UDINT DINT REAL
Indicador de que hubo saturación en el
Q BOOL
proceso
VAR_OUTPUT
BYTE USINT SINT WORD UINT
Result Resultado de la operación
INT DWORD UDINT DINT REAL

Operación

Este bloque, cuando tiene un valor TRUE en EN, realiza la comparación de Value con Minimum y
Maximum. Si Value está en el rango entre Minimum y Maximum, Result recibe el valor de Value y Q
permanece FALSE. En caso de que Value sea mayor que Maximum, Result recibe Maximum y Q
recibe TRUE. En caso de que Value sea menor que Minimum, Result recibe Minimum y Q recibe
TRUE. Habiendo algún error en la operación, Q no será ajustado, permaneciendo en estado FALSE,
mientras que Result permanecerá con su valor inalterado.

WPS v2.5X | 614


Equipo (Dispositivos)

Cuando EN tiene valor FALSE, Result permanece inalterado y Q permanece en FALSE.

Diagrama de Flujo del Bloque

Ejemplo

WPS v2.5X | 615


Equipo (Dispositivos)

El ejemplo de arriba pasa el valor de VALUE para RESULT, visto que éste no es inferior a MINIMUM
o superior a MAXIMUM. El bloque finaliza exitosamente y la salida Q es desactivada ya que no hubo
saturación.

El ejemplo de arriba pasa el valor de MAXIMUM para RESULT, visto que VALUE es superior a
MAXIMUM. El bloque finaliza exitosamente y la salida Q es activada, ya que hubo saturación.

El ejemplo de arriba pasa el valor de MINIMUM para RESULT, visto que VALUE es inferior a
MINIMUM. El bloque finaliza exitosamente y la salida Q es activada, ya que hubo saturación.

WPS v2.5X | 616


Equipo (Dispositivos)

El ejemplo de arriba pasa el valor de MAXIMUM para RESULT, visto que VALUE es superior a
MAXIMUM. El bloque finaliza exitosamente y la salida Q es activada, ya que hubo saturación.

11.2.6.12 Module
11.2.6.12.1 USERFB
Bloque que realiza una subrutina programada por el propio usuario.

Representación Ladder

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
VAR_INPUT Conforme programação
INPUT Entradas del bloque
do usuário
ENO BOOL Fin de operación
VAR_OUTPUT Conforme programação
OUTPUT Salidas del bloque
do usuário
Conforme programação
VAR_IN_OUT IN_OUT Variables de entrada y salida del bloque
do usuário
VAR MYUSERFB_INST_0 MYUSERFB Instancia de acceso a la estructura del bloque

Operación

Este bloque, cuando tiene un valor TRUE en EN, actualiza los valores de los campos internos con las
variables de entrada, ejecuta la rutina Ladder programada por el usuario y actualiza los valores de las
salidas luego de finalizada la rutina.

Cuando EN tiene valor FALSE, las salidas permanecen inalteradas.

El valor de ENO pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.

WPS v2.5X | 617


Equipo (Dispositivos)

¡NOTA!
Para más informaciones consulte la sección Trabajando con USERFBs.

Compatibilidad

Equipo Versión
PLC300 1.50 o superior
SCA06 2.00 o superior

Diagrama de Flujo del Bloque

11.2.6.13 Motion Control Move


11.2.6.13.1 MW_RefVelocity

Bloque que envia la referencia de velocidad.

Representación Ladder

WPS v2.5X | 618


Equipo (Dispositivos)

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


EN BOOL Habilitación del bloque
DINT INT Define a velocidade de referência que será para o inversor
Velocity
REAL de frequência se o bloco estiver habilitado
Establece la unidad de velocidad:
0 = 13Bits
13 Bits – Envia valor de velocidad en 13 bits;
VelocityUnit 1 = RPM
RPM – Envia valor de velocidad en RPM;
2 = HZ(x10)
VAR_INPUT HZ – Envia valor de velocidad en Hz (x10).
Establece si el bloque efectuara el comando Gira/Para
(CFW_CMD_RUN_STOP) cuando for habilitado:
FALSE – No envía el comando Gira/Para con la activación de
0 = FALSE
RunAutomatic el bloque (debe utilizar el marcador de CFW_CMD_RUN_STOP
1 = TRUE
en la lógica ladder para enviar el comando de Gira/Para);
TRUE – envía el comando Gira con la activación de el bloque
y comando Para con la desactivación del bloque.
Fin de la operación. Condiciones para ENO=1
Ningún otro bloque MW_RefVelocity activo;
VAR_OUTPUT ENO BOOL Dispositivo habilitado y configurado el modo de
parada “Parada por inercia”.

Operación

Si la entrada EN es "0", el bloque no es ejecutado y salida ENO es cero.

RunAutomatic = TRUE

Si la entrada EN es "1", el dispositivo está habilitado general, ningún otro bloque de movimiento está
activo, el comando de Gira / Para va a "1", el valor de referencia de velocidad se escribe en la unidad
y la salida ENO a "1".
Si la entrada EN es "0", y este bloque está activo, el comando de Gira / Para va a "0" y la salida ENO
pasa a "0".

RunAutomatic = FALSE

Si la entrada EN es "1", el accionamiento está habilitado general, el comando Gira se ajusta a "1",
ningún otro bloque de movimiento está activo, el valor de referencia de velocidad se escribe en la
unidad y la salida ENO va a "1".
Si la entrada EN es "0", y este bloque es activa y la salida ENO pasa a "0".

WPS v2.5X | 619


Equipo (Dispositivos)

¡NOTA!
Verificar la fonte de la referencia de velocidad y del comando de Gira / Para para el correcto
funcionamiento de este bloque.

Ejemplo

El ejemplo de arriba muestra el bloque MW_RefVelocity, fijado para Hz y comando RunAutomatic


TRUE, si la unidad está Habilitado General y se habilita el bloque, se cambia la referencia de
velocidad.

El ejemplo de arriba muestra el bloque MW_RefVelocity, ajustado a Hz y comando RunAutomatic en


FALSO, si la unidad está Habilitado General, necesita el comando Gira, entonces cuando se activa el
bloque, se cambia la referencia de velocidad.

11.2.6.14 Timer
11.2.6.14.1 TOF
Bloque de temporizador que al ser desenergizado deshabilita la salida tras un atraso definido por PT.

Representación Ladder

WPS v2.5X | 620


Equipo (Dispositivos)

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


IN BOOL Habilitación del bloque
WORD UINT
VAR_INPUT PT Atraso de desaccionamiento de la salida
DWORD UDINT
TIMEBASE WORD Base de tiempo para PT y ET
Q BOOL Salida del bloque
VAR_OUTPUT WORD UINT
ET Tiempo transcurrido del contador
DWORD UDINT
VAR TOF_INST_0 TOF Instancia de acceso a la estructura del bloque

NOTA!
En el CFW300, los campos PT y ET pueden ser sólo del tipo WORD o UINT.

Operación

Mientras la entrada IN sea TRUE, la salida Q también será TRUE y ET recibirá el valor cero.
En la transición negativa de flanco en IN, el conteo dispara y ET es incrementado de acuerdo con
TIMEBASE. Cuando ET sea igual a PT, la salida Q pasará a estado FALSE, hasta que IN vuelva a
ser TRUE.

Compatibilidad

Equipo Versión
PLC300 1.50 o superior
SCA06 2.00 o superior

Diagrama de Flujo del Bloque

WPS v2.5X | 621


Equipo (Dispositivos)

Diagrama de Funcionamiento

WPS v2.5X | 622


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba deshabilita la salida DO1 al identificar un nivel bajo en DI1 por 12 segundos,
permaneciendo deshabilitada hasta que DI1 vuelva a ser TRUE.

11.2.6.14.2 TON
Bloque de temporizador que, al ser energizado, habilita la salida tras un atraso definido por PT.

Representación Ladder

Estructura del Bloque

WPS v2.5X | 623


Equipo (Dispositivos)

Tipo de Variable Nombre Tipo de Dato Descripción


IN BOOL Habilitación del bloque
WORD UINT
VAR_INPUT PT Atraso de accionamiento de la salida
DWORD UDINT
TIMEBASE WORD Base de tiempo para PT y ET
Q BOOL Salida del bloque
VAR_OUTPUT WORD UINT
ET Tiempo transcurrido del contador
DWORD UDINT
VAR TON_INST_0 TON Instancia de acceso a la estructura del bloque

NOTA!
En el CFW300, los campos PT y ET pueden ser sólo del tipo WORD o UINT.

Operación

Mientras la entrada IN sea FALSE, la salida Q también será FALSE y ET recibirá el valor cero.
En la transición positiva de flanco en IN, dispara el conteo y ET es incrementado de acuerdo con
TIMEBASE. Cuando ET sea igual a PT, la salida Q pasará a estado TRUE, hasta que IN vuelva a ser
FALSE.

Compatibilidad

Equipo Versión
PLC300 1.50 o superior
SCA06 2.00 o superior

Diagrama de Flujo del Bloque

WPS v2.5X | 624


Equipo (Dispositivos)

Diagrama de Funcionamiento

WPS v2.5X | 625


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba exhibe las condiciones iniciales del bloque y de las variables de la rutina.

Al ser activada la entrada IN, el conteo dispara. Como ET es igual a PT, la salida Q es habilitada.

Observe que una alteración en la variable PRESET no es pasada al campo PT mientras que la
entrada IN permanece habilitada.

WPS v2.5X | 626


Equipo (Dispositivos)

Deshabilitando la entrada IN, el valor de PT es actualizado y la salida Q es deshabilitada. Al activarla


nuevamente, el conteo dispara.

Deshabilitando la entrada IN, el valor de ET permanece guardado.

Habilitando la entrada IN, el valor de ET es reseteando y el conteo dispara.

Cuando ET alcanza el valor de PT, la salida Q es habilitada y permanece así mientras IN esté en
nivel TRUE.

11.2.6.14.3 TP
Bloque de temporizador que, al identificar que es energizado, habilita la salida por un tiempo definido
por PT.

Representación Ladder

WPS v2.5X | 627


Equipo (Dispositivos)

Estructura del Bloque

Tipo de Variable Nombre Tipo de Dato Descripción


IN BOOL Habilitación del bloque
WORD UINT
VAR_INPUT PT Tempo en que la salida permanece habilitada
DWORD UDINT
TIMEBASE WORD Base de tiempo para PT y ET
Q BOOL Salida del bloque
VAR_OUTPUT WORD UINT
ET Tiempo transcurrido del contador
DWORD UDINT
VAR TP_INST_0 TP Instancia de acceso a la estructura del bloque

NOTA!
En el CFW300, los campos PT y ET pueden ser sólo del tipo WORD o UINT.

Operación

En la transición positiva de flanco en IN, Q recibe valor TRUE, el conteo dispara y ET es


incrementado de acuerdo con TIMEBASE. Cuando ET sea igual a PT, la salida Q pasará al estado
FALSE, hasta que IN vuelva a ser TRUE. En ese momento, si IN está en nivel TRUE, no ocurre nada.
En la transición positiva de flanco en IN, ET es reseteado automáticamente.

Compatibilidad

Equipo Versión
PLC300 1.50 o superior
SCA06 2.00 o superior

Diagrama de Flujo del Bloque

WPS v2.5X | 628


Equipo (Dispositivos)

Diagrama de Funcionamiento

WPS v2.5X | 629


Equipo (Dispositivos)

Ejemplo

El ejemplo de arriba habilita la salida DO1 por seis segundos a cada transición positiva de DI1.

11.2.6.15 Estructuras
La estructura consiste en un grupo de datos utilizado para definir una receta o un objeto.

En el programa Ladder es posible crear variables del tipo estructura y utilizarlas en los bloques. Para acceso
a los miembros internos de la estructura, se utiliza el ‘.’ seguido de su respectivo miembro.

Creando una Estructura

1. Con el botón derecho del ratón sobre la carpeta Estructura, haga clic en Nuevo archivo.

WPS v2.5X | 630


Equipo (Dispositivos)

Figura 1: Creando una Estructura

2. Defina el nombre del archivo y apriete el botón Próximo.

Figura 2: Definiendo el nombre de la Estructura

3. Configure la estructura utilizando los botones presentados en la figura de abajo.

WPS v2.5X | 631


Equipo (Dispositivos)

Figura 3: Editando la Estructura

4. Tras concluir la edición de la estructura, haga clic en el botón Finalizar.

Figura 4: Estructura creada en el proyecto

WPS v2.5X | 632


Equipo (Dispositivos)

Editando una Estructura

Basta dar un doble clic en la estructura deseada, conforme la figura 4, y una ventana se abrirá conforme la
figura 3, permitiendo ingresar nuevos datos, borrarlos o moverlos de posición.

11.2.7 Comunicación
11.2.7.1 Forzar E/S
Resumen

La ventana de forzar entradas y salidas es utilizada para que los valores de las entradas digitales y analógicas
sean leídos por el programa, por valores manipulados por el usuario, independiente de sus estados físicos.
También permite la manipulación de los estados físicos de las salidas digitales y analógicas por el usuario, de
forma independiente a los valores calculados por el programa.
Para forzar las entradas y salidas del dispositivo, es necesario que el monitoreo online esté activo y la opción
"ejecutar cíclicamente" esté habilitada. Los datos son enviados al dispositivo a cada 2 segundos.
Los valores pueden ser editados sin que el dispositivo esté conectado. Las configuraciones quedan
almacenadas en el recurso y son grabadas siempre que la selección de recurso principal es alterada.
Los datos presentados en la ventana de forzar E/S contiene el valor perteneciente al recurso (y configuración)
seleccionado como principal.

La ventana de forzar E/S es abierta a través del menú Online > Forzar E/S:

Barra de Herramientas

La barra de herramientas de la ventana de forzar posee las opciones de Ejecutar cíclicamente, Upload
configuración, Activar todos y Desactivar todos:

WPS v2.5X | 633


Equipo (Dispositivos)

Ejecutar cíclicamente: Envía las configuraciones del usuario para el dispositivo y actualiza el estado de
las entradas y salidas de manera cíclica.
Upload configuración: Permite que la configuración actual del dispositivo sea leída. Para esta opción
esté habilitada, es necesario que el monitoreo online esté activa y la opción rueda de manera cíclica
desactivada.
Activar todos: Habilita y forzar E/S de todas las entradas y salidas del dispositivo.
Desactivar todos: Inhabilita el forzar E/S de todas las entradas y salidas del dispositivo.

Comandos de las Entradas y Salidas

Para cada entrada y salida digital y analógica están asociados una caja de selección para habilitar el forzar,
un campo de status y un campo para edición.

Digitales:

1. Número de la entrada/salida digital


2. Habilitar/deshabilitar Forzar E/S
3. Estado actual de la E/S: Posee tres estados: 1. led verde claro: accionado; 2. led verde oscuro:
desactivado; 3. led gris: el valor no está siendo leído.
4. Habilita/deshabilita la entrada/salida

Analógicas:

1. Número de la entrada/salida analógica


2. Habilitar/deshabilitar Forzar E/S
3. Valor actual de la entrada/salida
4. Valor de la entrada/salida configurada por el usuario

¡NOTA!
La escala de los señales analógicos es 15 bits más 1 bit de sinal, excepto en el SSW900 que
es sólo 10 bits sin señal.

11.3 CFW500
11.3.1 Descripción

Con un diseño moderno y rango de potencias de 0,25 a 30 cv, el inversor de frecuencia CFW500 es un

WPS v2.5X | 634

También podría gustarte