Crear el programa MCL (S7-1500T)
5.5 Operadores (S7-1500T)
Especificación de valores para estructuras y arrays a través de agregados
La especificación de valores para estructuras y arrays puede realizarse a través de agregados.
Esto se permite en los casos siguientes:
• Inicialización dentro de la declaración de variables
• Parámetros en funciones de sistema
• Asignación directa a una variable del mismo tipo
La especificación de valores para estructuras y arrays a través de agregados en un contexto
diferente da lugar a un error en tiempo de ejecución (p. ej., en expresiones, como parámetros
en funciones y similares).
Ejemplo
MCL
TYPE
myType : STRUCT
id : DINT;
values : ARRAY [0..1] OF LREAL;
END_STRUCT;
END_TYPE
VAR
// Initialization within the tag declaration
myVar2 : myType := ( id := 1, values := [1.0, 2.0] );
myPos1 : TO_Struct_Ipr_Position := ( x := 10.0, y := 20.0, z := 30.0,
myPos2 : TO_Struct_Ipr_Position;
myArr1 : ARRAY [1..3] OF AXIS_OBJECT := [$A1, $A2, $A3];
END_VAR
myPos2 := ( x := 20.0, y := 40.0, z := 60.0, A := 0.0, B := 0.0, C := 0.0 );
// technology function, complete specification of all structure members
linAbs( (x := 100.0, y := 100.0, z := 0.0, A := 1.0, B := 0.0, C := 0.0) );
// technology function, incomplete specification of all structure member
// (Default-value for missing members in relative motions)
linRel( ( x := 100.0 ), trans := 1, blend := 2 );
linRel( ( y := 100.0, z := 50.0 ) );
...
Asignaciones múltiples
En MCL se permiten las asignaciones múltiples:
MCL
myVar12 := myVar2 := myVar3 := 0.0;
88
A := 0.0, B := 0.0, C := 0.0 );
S7-1500T Funciones de intérprete V8.0 a partir de STEP 7 V19
Manual de funciones, 11/2023, A5E53131983-AA