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.