CÁLCULOS Y COMPARACIONES

 

A menudo puede ser muy práctico aplicar un poco de matemáticas en un programa de control. Por ejemplo es posible introducir como condición una expresión matemática con un máximo de 40 caracteres en el cuadro de diálogo de los bloques funcionales COMPARACIÓN, PARADA EMERG. y RESET.

Una condición arroja el valor lógico 1 ó 0, es decir que se cumple o no. Una condición puede constar de combinaciones lógicas (AND, OR, NOT). También existe la posibilidad de combinar lógicamente comparaciones de variables, entradas analógicas, parámetros del terminal y constantes.

Una condición puede estar compuesta de los siguientes componentes:

· Entradas digitales (E1 - E48): La condición más sencilla se llama "E1". Con ésta puede realizarse la misma función que con el bloque funcional ENTRADA.
· Las entradas digitales y las comparaciones pueden combinarse lógicamente con AND, OR, NOT (y, o, no).
· Variables: A estas pertenecen las variables VAR1 - VAR99 y las variables de contaje estándar del bloque funcional POSICIÓN Z1-Z16.
· Las entradas analógicas EX y EY.

· Los parámetros del terminal EA, EB, EC y ED.
· Los números enteros de -32567 a +32567
· Operadores de comparación:

= igual
< menor que
> mayor que
<= menor o igual que
>= mayor o igual que

· Paréntesis ( )

A continuación, una selección de condiciones:

E1 OR E2

E1 OR E2 AND NOT E3

VAR1 = 5 OR VAR2 = 3

VAR1 > (VAR2 + EA)

VAR1 < 2 OR E1

Las siguientes expresiones no están permitidas:

VAR2 > E1

E1 = 1

E2 = 0

VAR2 > (VAR3 - E4)

VAR3 OR E2

Si se introducen estas expresiones, aparece un mensaje de error.

En los ejemplos erróneos se han combinado variables y entradas digitales. Las variables son números enteros y pueden adoptar un valor entre -32767 y 32767. Las entradas digitales son procesadas como llamados "valores booleanos", es decir que sólo adoptan los estados "0" (p.ej. "pulsador no accionado") o "1" (p.ej. "pulsador accionado"). El estado 1 significa "verdadero" y se distingue del número entero 1. Los números enteros y los valores booleanos se distinguen por el tipo de datos.

La expresión en una condición debe arrojar un valor booleano. Este es el caso al ejecutar una comparación. Se comparan dos números enteros y el resultado de la comparación es "verdadero" (valor booleano 1) o "falso" (valor booleano 0). Sólo por medio de comparaciones puede generarse un valor booleano a partir de números enteros.

En una condición, los números enteros siempre sólo pueden utilizarse como parte de una comparación. Los valores booleanos no deben compararse con números enteros. En lugar de E2 = 0 debe utilizarse NOT E2.

En el bloque funcional ASIGNACIÓN puede ejecutarse un cálculo con las cuatro operaciones fundamentales. Un cálculo arroja un valor numérico entre -32767 y 32767. Al mismo tiempo ha de prestarse atención a que se cumpla el margen de números. ¡Si por ejemplo se suman 32767 y 1, se produce un exceso y el resultado será el número negativo más pequeño! En una división entre 0, como resultado se inserta el valor máximo positivo o negativo.

Un cálculo no debe incluir ningunas entradas digitales, combinaciones lógicas ni comparaciones.

volver a Inicio