STEP 7 Professional V13 SP1 - Siemens Industry Online Support

Anuncio
STEP 7 Professional V13 SP1
VARIANT
VARIANT
Descripción
Un parámetro del tipo VARIANT es un puntero que puede señalar a variables de distintos tipos
de datos, excepto una instancia. El puntero VARIANT puede ser un objeto de un tipo de datos
simple, como p. ej., INT o REAL. También puede ser un STRING, DTL, ARRAY of STRUCT,
UDT o un ARRAY of UDT. El puntero VARIANT puede reconocer estructuras y apuntar a
componentes individuales de estas. Los operandos del tipo de datos VARIANT no ocupan
espacio en el bloque de datos de instancia o en la memoria de trabajo. Pero dentro del área
de memoria de la CPU sí que se ocupa lugar.
Una variable del tipo VARIANT no es un objeto, sino una referencia a otro objeto. Los distintos
elementos del tipo VARIANT solo pueden declararse en parámetros formales de la interfaz de
bloque de una función, en las secciones VAR_IN, VAR_IN_OUT y VAR_TEMP. Por este motivo
no es posible declararlos en un bloque de datos o una sección Static de la interfaz de un bloque
de función, por ejemplo, pues no se conoce su tamaño. El tamaño de los objetos referenciados
puede cambiar.
VARIANT permite crear bloques de función o funciones genéricos. En la llamada de bloque
se pueden interconectar los parámetros del bloque con variables de un tipo de datos
cualquiera. Al llamar el bloque, además del puntero hacia la variable también se transfiere
información del tipo de la variable. De este modo es posible procesar el código del bloque
conforme al tipo y la variable transferida durante la ejecución.
Si, p. ej., un parámetro de bloque de una función tiene el tipo de datos VARIANT, se le puede
transferir en un punto del programa una variable del tipo de datos Entero, y en otro punto una
variable del tipo de datos PLC. En este caso, las instrucciones VARIANT permiten que la
función reaccione sin errores.
Nota
Un bloque de datos completo solo se puede señalar si ha sido derivado originalmente de un
tipo de datos definido por el usuario (UDT).
La tabla siguiente muestra las propiedades del puntero VARIANT:
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=74495465995&Language=es-ES&TopicId=65859723659
20/11/2016
STEP 7 Professional V13 SP1
VARIANT
Longitud
(bytes)
Represen Formato
tación
Ejemplo de entrada de valores
0
Simbólico Operando
"TagResult"
NombreBloqueDatos.NombreOperan "Datos_TIA_Portal".VariableStruct.Pri
do.Componente
merComponente
Absoluto
Operando
%MW10
NúmeroBloqueDatos.Operando Tipo
Longitud
P#DB10.DBX10.0 INT 12
(válido solo para bloques con acceso
estándar)
P#Valor cero
P#0.0 VOID 0, NULL
Nota
Si se utiliza el prefijo P#, solo es posible señalar a las áreas de memoria con tipo de acceso
"estándar".
Codificación de los tipos de datos
Si se utiliza el direccionamiento absoluto con P# se admiten los tipos de datos siguientes:
Código hexadecimal
Tipo de datos
Descripción
B#16#00
NIL
Puntero Cero
B#16#01
BOOL
Bits
B#16#02
BYTE
Bytes, 8 bits
B#16#03
CHAR
Caracteres de 8 bits
B#16#04
WORD
Palabras de 16 bits
B#16#05
INT
Enteros de 16 bits
B#16#06
DWORD
Palabras de 32 bits
B#16#07
DINT
Enteros de 32 bits
B#16#08
REAL
Números en coma flotante de 32
bits
B#16#0B
TIME
Tiempo
B#16#0C
S5TIME
Tiempo
B#16#09
DATE
Fecha
B#16#0A
TOD
Fecha y hora
B#16#0E
DT
Fecha y hora
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=74495465995&Language=es-ES&TopicId=65859723659
20/11/2016
STEP 7 Professional V13 SP1
VARIANT
Código hexadecimal
Tipo de datos
Descripción
B#16#13
STRING
Cadena de caracteres
B#16#17
BLOCK_FB
Bloque de función
B#16#18
BLOCK_FC
Función
B#16#19
BLOCK_DB
Bloque de datos
B#16#1A
BLOCK_SDB
Bloque de datos de sistema
B#16#1C
COUNTER
Contador
B#16#1D
TIMER
Temporizador
Ejemplo
El siguiente ejemplo muestra el funcionamiento de VARIANT tomando como base la
instrucción AWL "MOVE": Copiar valor":
AWL
Explicación
CALL MOVE
// Se llama la instrucción "Copiar valor".
VARIANT
// Tipo de datos de la instrucción
IN := "Datos_TIA_Portal".VariableStruct.PrimerComponente
// Se copia el contenido del operando "PrimerComponente"
del DB "Datos_TIA_Portal".
OUT := "MotorDB".StructResult.TagResult
// Y se transfiere al operando "TagResult" del DB "MotorDB".
Ver también
→ Fundamentos del direccionamiento indirecto
→ Vista general de los tipos de datos válidos
→ Conversión de los tipos de datos en el S7-1200
→ Principios básicos de las constantes
→ Fundamentos del acceso a bloques
→ Principios básicos de las llamadas de bloque
→ Instrucciones VARIANT
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=74495465995&Language=es-ES&TopicId=65859723659
20/11/2016
Descargar