En este tercer capítulo del curso gratis de Sysmac Studio vamos a empezar a programar. ¡Por fin!
Ha llegado el momento de empezar a picar código en este curso gratis de Sysmac Studio.
- Vamos a “Programación”->”POU’s”->”Programas”->”Programa 0”->”Sección 0”
- Si le damos a “Ayuda”->”Referencia de asignaciones de teclado” podremos ver cómo están mapeadas las teclas. A diferencia de CX-Programmer el mapeado no se puede modificar/personalizar.
Las teclas más importantes son:
- C para crear un contacto NA
- / para crear un contacto NC
- O para poner una bobina
- R para crear una nueva línea
- F para introducir una función
- I para introducir una instrucción
- En el programa podremos añadir variables globales (se representan en rojo) y variables locales (se representan en negro). Para crear una nueva variable local basta con introducir una etiqueta que no exista y la tomará como variable local.
- Cuando tengamos que declarar muchas variables del mismo tipo de golpe podemos usar vectores. Por ejemplo, si declaramos una variable con nombre PILOTO y tipo de dato BOOL[1000], habremos generado de una tacada 1000 variables de tipo booleano. Tendremos que hacer referencia a ellas de la siguiente manera: PILOTO[numero]. Esto tiene la ventaja que podemos recorrer todo el vector con una variable que actúe de puntero. Según valga “numero” activamos un PILOTO u otro. Es decir podemos hacer direccionamiento indirecto con arrays.
- Podemos crear una estructura de datos de la siguiente manera. Nos vamos a Datos -> Tipos de datos -> Estructuras.

Clicamos dos veces e introducimos el nombre de la estructura. En este caso se llamará “Palet”. A continuación le damos botón derecho -> Crear nuevo miembro.

Y vamos añadiendo todos los tipos de datos que contendrá nuestra estructura. Para este ejemplo el tipo de datos “Palet” contendrá los datos: “largo”, “ancho”, “modelo” y “peso”.

Para hacer uso de esta estructura podemos crear una variable que se llame “Bote_99mm”, en donde el tipo de dato es “Palet”. Para ello nos vamos “variables globales” y lo creamos de la siguiente manera:

Pero… también podemos crear un array de tamaño 8 para crear de una tacada 8 variables, y así poder acceder a cada una a través de un puntero. Una aplicación que tiene esto es para las recetas y formatos. Con esta técnica organizamos el cambio de receta rápidamente.

Una forma de trabajar es guardar la posición 0 del vector para usarla como variable de trabajo. Como receta activa. Y en ella cargamos la receta que queramos cambiar.
En el programa queda de la siguiente manera:

Así cuando queramos cargar una nueva receta nueva, sólo tendremos que cambiar el valor de “puntero” en el HMI. Y después activamos el bit “Cargar_receta”. De esta manera tan simple haríamos el cambio de receta/formato.
- Ahora vamos a explicar el uso de la programación en texto estructurado ST. En un programa de diagrama de contactos podemos introducir bloques de programación estructurada de la siguiente manera: Nos situamos encima de una línea de programa, le damos botón derecho à “insertar ST en linea».

Se nos crea un bloque donde podemos escribir instrucciones en texto estructurado.

El texto estructurado es muy útil para inicializar variables, hacer operaciones matemáticas… que de otra manera sería muy tedioso hacer el diagramas de contactos.
En este curso gratis de sysmac studio veremos que es muy útil el texto estructurado cuando trabajamos con servos.
Por ejemplo, podemos inicializar arrays en el primer ciclo de scan con un bucle FOR de la siguiente manera.

Siguiendo con el texto estructurado, podemos comentar líneas para que no se ejecuten haciendo uso de // ó (* *). Esto es muy útil cuando estamos haciendo pruebas.
- Tipos de dato UNION. Permiten ver una zona de memoria con diferentes formatos. En CX-Programmer si teníamos una variable tipo WORD en la zona de memoria W100 y queríamos acceder a cada uno de sus bits individualmente podíamos hacerlo accediendo a W100.XX . Esto en Sysmac no es posible porque no tenemos acceso a las direcciones de memoria. Trabajamos con etiquetas y a las direcciones no podemos acceder. Para poder acceder a diferentes bits de una variable Word, la manera de hacerlo es creando un tipo de dato que Omron llama UNION.
Este tipo de dato Union se usa mucho para leer el estado de los variadores de frecuencia, veamos un ejemplo:
- Primero nos creamos el tipo de datos Union. Para ello nos vamos a “Tipos de datos” y debajo de “Estructuras” entramos en “Unión”. En este ejemplo vamos a crear un tipo de datos unión que llamará VFD.
- Después cremos nuevos miembros. Botón derecho->”Crear nuevo miembro”

Aquí insertamos miembros de tipo Booleano, Byte y Word tal y como vemos en la siguiente imagen. La variable principal queremos que sea tipo Word, por eso hacemos un array de 16 bits y un array de 8 bytes.
Como vemos, la forma se asemeja mucho al tipo de datos Estructura visto anteriormente. Realmente, una Union es una Estructura con la peculiaridad que cada miembro apunta a la misma dirección de memoria.
- Ahora creamos una variable global que se llame “Variadores” y en tipo de datos ponemos “VFD[10]”. Se nos quedará algo de la siguiente manera. Lo que hemos hecho ha sifo crear 10 variables de una tacada para leer el estado de los variadores de frecuencia.
- Ahora podremos acceder a cada variable de cada variador y leerlo en formato Word, Byte o Bit. Por ejemplo, si queremos acceder al bit 4 del variador 2 se hará de la siguiente manera.
- Para simular un programa simplemente le damos a “Simulación” à “Ejecutar”
- Una vez tengamos un programa hecho y queramos transferirlo, para compararlo con el que tiene la CPU le damos a sincronizar .
- Una vez hemos cargado el programa en la CPU y estamos en modo PROGRAM o estamos simulando, podemos visualizar los valores que van tomando las variables de la siguiente manera. Clicamos en “Página de vigilancia”.
Esta herramienta es muy útil para diagnosticar y probar. Porque podemos visualizar y modificar el valor de las variables (globales y locales). Para las variables locales hay que indicar el programa al que pertenecen. Siguiendo con el ejemplo anterior, si queremos ver el valor de la variable local “puntero” tendríamos que poner “Programa0.puntero” tal y como vemos en la siguiente imagen:
Si queremos modificar el valor de una variable tenemos que introducirlo en la casilla “Modificar” y pulsar la tecla Enter.
Y esto es todo por hoy. Si te ha gustado este capítulo del curso gratis de Sysmac Studio votanos con 5 estrellas abajo!
Add a Comment