En STEP 7 (TIA Portal) ¿cómo se convierten los tipos de datos para el S7-1200/S7-1500?

 En STEP 7 (TIA Portal), se pueden usar las funciones de conversión de la paleta de "Instrucciones" para convertir los contenidos de las variables a los tipos de datos seleccionados para el S7-1200/ S7-1500.

Descripción

La siguiente figura se ofrece una visión general de las conversiones más usadas.




Conversión de tipos de datos INT, DINT, REAL y números BCD


STEP 7 (TIA Portal) proporciona la operación "CONV" (convert) para convertir los tipos de datos INT, DINT, REAL y números BCD. Seguir las instrucciones dadas más abajo para insertar y parametrizar esta operación en su editor de bloques.
  1. En el editor de bloques, abrir la paleta de "Instrucciones" y después abrir la carpeta "Instrucciones sencillas > Conversores". A continuación utilizar la función de arrastrar y soltar para insertar la instrucción "CONVERT" en el segmento.
  2. Después de haber insertado la caja de instrucción, los tipos de datos de la instrucción todavía no están definidos y bajo "CONV" todavía se pueden ver los caracteres "??? a ???". Cuando se mueve el cursor sobre el triángulo izquierdo de los primeros tres signos de interrogación, se muestra una tecla de flecha.
  3. Pulsar sobre la tecla de la flecha de la izquierda y, desde el menú desplegable que se abre, seleccionar el tipo de dato deseado para el parámetro de entrada "IN" (por ejemplo, INT).
  4. Repetir el procedimiento para el parámetro de salida "OUT" y, desde el menú desplegable de la derecha, seleccionar el tipo de dato al que se desea convertir el valor numérico (por ejemplo, REAL). En este ejemplo se puede convertir un valor numérico del tipo de dato INT al tipo de dato REAL ("Int a Real").
    Consideración: Si los datos de entrada y salida se parametrizan directamente con las variables, la instrucción se define automáticamente con los tipos de datos asociados y los anteriores pasos del 2 al 4 no serán necesarios.
  5. Parametrice las entradas y salidas del conversor con las variables que desee. Después de esto las entradas y salidas se pueden convertir a los valores numéricos dados a continuación, por ejemplo:
  • De Int a Int, DInt, Real, Bcd16, USint, UInt, UDint, SInt, LReal y Char
  • De DInt a Int, DInt, Real, Bcd32, USint, UInt, UDint, SInt, LReal a Char
  • De Real a Int, DInt, Real, USint, UInt, UDint, SInt y LReal
  • De USint a Int, DInt, Real, USint, UInt, UDint, SInt, LReal y Char
  • De UInt a Int, DInt, Real, USint, UInt, UDint, SInt, LReal y Char
  • De UDint a Int, DInt, Real, USint, UInt, UDint, SInt, LReal y Char
  • De SInt a Int, DInt, Real, USint, UInt, UDint, SInt, LReal y Char
  • De LReal a Int, DInt, Real, USint, UInt, UDint, SInt y LReal
  • De Char a Int, DInt, USint, UInt, UDint, SInt y Char
  • De BCD16 (16 bits) a Int,
  • De BCD32 (32 bits) a DInt.

Consideraciones sobre la instrucción CONVERT

La figura a continuación muestra un ejemplo de conversión de datos del formato BCD a Real y de Byte a SInt.

  • Un valor numérico en formato BCD primero se debe convertir al tipo de dato Int o DInt antes de poder convertirlo al tipo de dato REAL (por ejemplo).
  • Si se realiza una conversión de datos de Byte a SInt o de Byte a USInt, con la instrucción CONVERT se debe ajustar de forma manual el tipo de dato SInt o USInt en la entrada y salida.

Se dispone de información adicional en la ayuda en línea de STEP 7 (TIA Portal) bajo CONVERT: convertir valor.



Redondeo de números REAL


Otra instrucción con la que se dispone para redondear un valor numérico del tipo de dato REAL a un número entero (INT o DINT) está en la carpeta "Conversores", tal y como se decía anteriormente.
  • "CEIL": Redondea al siguiente número entero superior.
  • "FLOOR": Redondea al siguiente número entero inferior.
  • "ROUND": Redondea al número entero más próximo.
  • "TRUNC": No se redondea.

Conversión de los tipos de datos STRING

La siguiente tabla contiene instrucciones para la conversión del tipo de dato String. El procedimiento para esta programación es idéntico al descrito en las instrucciones.

Instrucciones avanzadas

Descripción
S_CONVConvertir cadena de caracteres
STRG_VALConvertir cadena de caracteres a valor numérico
VAL_STRGConvertir valor numérico a cadena de caracteres
Strg_TO_CharConvertir cadena de caracteres a array de CHAR
Char_TO_StrgConvertir array de CHAR a cadena de caracteres
ATHConvertir cadena de caracteres ASCII a número en hexadecimal
HTAConvertir número hexadecimal a cadena de caracteres ASCII



Conversión al formato de datos TIME

Usando la instrucción avanzada "T_CONV" puede convertir un valor numérico del tipo de dato INT en una estampación de hora (TIME) y viceversa. Se deben convertir todos los demás tipos de datos (INT, REAL, BCD, ...) al tipo de dato DINT antes de poder convertirlos en el tipo de dato TIME. La instrucción "T_CONV" se encuentra en el editor de bloques en la paleta "Avanzada" bajo la carpeta "Instrucciones avanzadas > Fecha y hora".
La figura siguiente muestra un ejemplo de conversión de valores numéricos INT y REAL al formato de datos TIME.




Conversión del tipo de dato hardware HW_IO


El tipo de datos hardware HW_IO es para la identificación de un módulo de hardware que STEP 7 (TIA Portal) utiliza para acceder a la información del módulo. Este número de identificación se asigna automáticamente cuando se crea la configuración del equipo y se guarda en las propiedades del mismo en la configuración de hardware. También se encuentra disponible bajo el nombre del módulo como constante del sistema en la lista "Variables PLC". De esta manera el módulo se puede usar directamente a través de su nombre en los bloques correspondientes.

Además se puede utilizar la función "IO2MOD" para determinar el identificador hardware "HWIO" a partir de la dirección lógica del módulo, la dirección de entrada "InAddress" (E0.0). Después se puede utilizar este identificador hardware "HWIO" directamente como entrada para un bloque que lo necesita en el parámetro "LADDR". No hay necesidad de otra conversión porque el parámetro "LADDR", junto con el parámetro "HW_IO", también acepta variables del tipo de dato UINT.





En la figura anterior se muestra un ejemplo de programa SCL para la llamada a la instrucción "IO2MOD". La variable "ChangeHWIO" incluye el código de error sólo en el caso de que la función se haya parametrizado incorrectamente.

Información adicional


Se dispone de más información sobre la programación y parametrización de las instrucciones mencionadas con anterioridad en la ayuda en línea de STEP 7 (TIA Portal). Para obtener la ayuda en línea se selecciona la instrucción y se pulsa la tecla "F1".




Comentarios

Lo más leído del Blog

Explicación del Estado de la CPU y errores de LED Siemens S7 300

Instrucciones de Bit

Introducción al PLC