Ejemplo De Llamada A Una Función - Siemens SIMATIC S7-SCL V5.3 Manual

Tabla de contenido

Publicidad

12.3.3.6 Ejemplo de llamada a una función
Función a llamar
Una función DISTANCIA para calcular la distancia entre dos puntos (X1,Y1) y (X2,Y2) del
nivel utilizando coordenadas cartesianas podría tener el siguiente aspecto (En los ejemplos
se presupone siempre que en una tabla de símbolos para el FC37 está declarado el símbolo
DISTANCIA.):
FUNCTION DISTANCIA: REAL // simbólico
VAR_INPUT
X1: REAL;
X2: REAL;
Y1: REAL;
Y2: REAL;
END_VAR
VAR_OUTPUT
Q2: REAL;
END_VAR
BEGIN
DISTANCIA:= SQRT( (X2-X1)**2 + (Y2-Y1)**2 );
Q2:= X1+X2+Y1+Y2;
END_FUNCTION
Bloque invocante
Para utilizar posteriormente un valor de la función dispone de las
siguientes posibilidades:
FUNCTION_BLOCK CALL
VAR
LONGITUD : REAL ;
SUMA_DE_VERIFICACION : REAL ;
RADIO : REAL;
Y : REAL;
END_VAR
BEGIN
. . .
// Llamada en una asignación de valores:
LONGITUD := DISTANCIA (X1:=3, Y1:=2, X2:=8.9, Y2:= 7.4,
Q2:=SUMA DE VERIFICACION) ;
//Llamada en una expresión aritmética o lógica, p.ej.
Y := RADIO + DISTANCIA (X1:=-3, Y1:=2, X2:=8.9, Y2:=7.4,
Q2:=suma de control)
//Utilización en la asignación de parámetros de otro bloque llamado
FB32.DB32 (ESPACIO:= DISTANCIA (X1:=-3, Y1:=2, X2:=8.9,
Y2:=7.4), Q2:=suma de verificción)
. . .
END_FUNCTION_BLOCK
S7-SCL V5.3 para S7-300/400
A5E00324652-01
Instrucciones
12-45

Publicidad

Tabla de contenido
loading

Tabla de contenido