Cómo convertir CHAR a STRING en TIA Portal mediante una función y permitir transformar todos los caracteres que tenemos en diferentes posiciones de un Array en una única variable String que nos permitirá tener todos esos caracteres juntos y hacer comparaciones con otras variables.
Contenido del artículo:
- ¿Para qué queremos convertir CHAR a STRING en TIA Portal?
- Todo lo que vamos a aprender hoy.
- Array de datos de tipo CHAR.
- Variables de tipo STRING.
- Función Chars_TO_Strg.
- Ejemplo de aplicación de convertir CHAR a STRING.
- Hay que crear un DB de datos con un Array para convertir CHAR a STRING TIA Portal.
- ¿Cómo ponemos los caracteres en el Array?
- ¿Qué función utilizamos para convertir CHAR a STRING TIA Portal?
- Parámetro CHARS.
- Parámetro PCHARS.
- Parámetro CNT para convertir CHAR a STRING TIA Portal.
- Parámetro STRG.
- Nos conectamos Online para ver cómo convertir CHAR a STRING.
¿Para qué queremos convertir CHAR a STRING en TIA Portal?
En primer lugar, vamos a concretar que vamos a transformar varios caracteres CHAR definidos en un array de datos en una sola variable de tipo STRING. Por lo tanto, todas las variables CHAR dentro del Array se juntarán en una sola variable de tipo STRING. Por consiguiente, con una sola variable, podremos hacer, por ejemplo, comparaciones con otras variables que contengan caracteres.
Tenemos todos los caracteres en una sola variable.
Será más fácil utilizar el STRING para comparar con otro texto en otro variable.
Evitamos tener que comparar una a una cada posición de un Array.
Hay que crear un DB de datos con un Array para convertir CHAR a STRING TIA Portal.
En primer lugar, vamos a crear un DB de datos en TIA Portal, lo que nos va a permitir crear variable sen su interior del tipo que necesitemos. Por lo tanto, una vez creado el DB tendremos espacio suficiente para crear nuestro Array de tipo CHAR.
Por esta razón, tenemos que continuar creando una variable que le llamaremos por ejemplo “Array_CHAR” y en el tipo de datos tenemos que seleccionar “Array[0..1] of”. Como consecuencia de esto, nos aparece una lista desplegable donde podemos seleccionar el tipo de todas las variables dentro del Array. En nuestro caso, seleccionamos “Array[0..1] of Char”.
Asimismo, el siguiente paso es establecer la longitud del Array. Por consiguiente, donde tenemos el “[0..1]” podremos establecer la longitud. Por ello, vamos a establecer una Array de 20 por ejemplo.
¿Cómo ponemos los caracteres en el Array?
Mientras tanto, una vez creado el Array, podemos establecer unos caracteres por defecto en cada posición del Array. Por lo tanto, podemos insertar los caracteres uno a uno en el “Valor de arranque” del DB en TIA Portal.
Parece que ya tenemos establecidos unos caracteres y, si ahora leemos una a una las posiciones del array, nos saldrá la frase “PLC SIEMENS”. Como consecuencia de esto, parece que sería un poco costoso el leer una a una las posiciones del Array para poder mostrar el mensaje, ¿verdad? Por lo tanto, ¿y si convirtiéramos todos estos caracteres separados en una sola variable para poder trabajar con una sola variable? Sí, lo vamos a transformar a una STRING.
¿Qué función utilizamos para convertir CHAR a STRING TIA Portal?
Debido a esto que hemos comentado, tenemos que abrir un bloque donde vayamos a trabajar, por ejemplo, un FC. Una vez dentro, tenemos que ir al árbol de la derecha de TIA Portal y acceder a las “Instrucciones” y dentro de “Instrucciones avanzadas” buscar en la carpeta de “String + Char”. Por lo tanto, aquí dentro aparecerán una serie de funciones para trabajar con estos tipos de datos y seleccionaremos la función llamada “Chars_TO_Strg«. Por ello, la seleccionamos y arrastramos al segmento donde vamos a trabajar.
Una vez insertada la función, nos aparecen los parámetros de la función en rojo para insertar las variables y datos necesarios. Ahora los describiremos uno a uno.
Parámetro CHARS.
En primer lugar, tenemos el parámetro llamado “CHARS” donde tenemos que insertar el Array de datos donde se encuentran los caracteres separados uno a uno en cada posición del Array. Es decir, que aquí colocamos el Array que hemos creado anteriormente en el DB.
Parámetro PCHARS.
Asimismo, en el siguiente parámetro tenemos que indicar la posición dentro del Array a partir de la cual va a coger los caracteres para convertirlos. Por ello, si aquí ponemos un 10, la conversión empezará desde la posición 10 del Array en adelante, es decir, que de la posición 0 a la 9 no las convertiría. En nuestro caso, queremos que cuente desde la posición 0 del Array.
Parámetro CNT para convertir CHAR a STRING TIA Portal.
Finalmente tenemos el parámetro de entrada CNT, donde tenemos que insertar la cantidad de elementos del Array que queremos convertir. Por lo tanto, en nuestro caso, si nos fijamos en el Array dentro del DB queremos utilizar del dato 0 del Array hasta el dato 10 del Array, es decir, que tenemos que insertar un 11.
Parámetro STRG.
Además, necesitamos insertar un último parámetro de salida de la función, donde vamos a guardar el dato convertido de CHAR a STRING. Por lo tanto, en este parámetro tenemos que colocar una variable de tipo “STRING” que todavía no hemos creado. Parece que, aprovechando el DB de datos que hemos creado anteriormente, vamos a crear otra variable en el DB de tipo STRING. Por ello, en una nueva línea del DB, damos nombre a una variable llamada “VAR_convertida”.
Una vez creada la variable dentro del DB, tenemos que insertar la variable en la función para completar la estructura de la función y no nos dé ningún error al compilar.
Nos conectamos Online para ver cómo convertir CHAR a STRING.
Parece que ya lo tenemos todo preparado y ahora nos queda transferir el programa al PLC y probar cómo se hace la conversión. Una vez transferido, nos colocamos Online en el FC donde tenemos la función y comprobamos cómo se ha ejecutado la función y, por consiguiente, en la variable STRING tendremos todos los caracteres que hemos seleccionado en una sola variable. Mejor verlo en la imagen.
Asimismo, si ahora modificamos los caracteres en el DB de datos en cada posición del Array, observaremos como, automáticamente se va a convertir CHAR a STRING TIA Portal y lo comprobamos en la variable STRING de la salida de la función.
Por último, te enseño cóm puedes forzar el valor de una variable cuando te conectas Online al PLC o lo estás simulando. Siempre que hacemos una modificación en el programa, necesitamos probar esos cambios, ver cómo se comportan las variables cuando le metemos unos valores u otros, etc. Por ello, te muestro una manera muy fácil de introducir un valor a una variable sin necesidad de entrar a una tabla de variables y forzarla en la tabla. Rápido y sencillo, te ahorrará tiempo seguro:
Por cierto, si puede ser, déjame un comentario y dime lo que piensas sobre el artículo: bueno o malo, si crees que le falta algo, si te ha ayudado, lo que sea. De esta manera, yo podré mejorarlo y nos servirá a todos. Te contestaré en menos de 24h. Muchas gracias.