Como crear un FB en Sysmac Studio de Omron

La plataforma Sysmac Studio nos permite crear bloques de función como la mayoría de PLC del mercado, vamos a ver como se crea un simple FB en Sysmac Studio.

En este ejemplo voy a crear un temporizador que le llamare FB_TON.

Como crear un FB en Sysmac Studio de Omron

En bloques de función añadimos una nueva función, luego debemos de indicar las entradas y salidas del bloque, estas se definen en una misma área, en el campo entrada/salida definiremos si es una entrada o una salida:

crear-fb-sysmac-studio-omron

Luego definimos las variables internas del FB, en el apartado Internas:

crear-fb-sysmac-studio-omron-2

Seguidamente ya podemos programar la lógica de nuestro FB, en este caso es un simple temporizador, siempre que se desee se puede añadir o eliminar variables internas, de entrada o de salida:

crear-fb-sysmac-studio-omron-3

El siguiente paso sería probar nuestro FB realizando una llamada, debemos de crear una instancia para este FB con una variable de tipo FB_TON:

crear-fb-sysmac-studio-omron-4

Para visualizar online una instancia de un FB basta con abrirlo desde el punto donde se llama, de esa manera veremos la visualización online de la instancia llamada.

 

Programa para convertir de Siemens Step 7 a Rockwell

Aprovechando el código AWL de los programas hechos en Step 7 junto a la línea en texto ASCII que lleva incorporado el Logix Designer de Rockwell se puede crear un programa para realizar una traducción directa desde Siemens Step 7 a Rockwell.

Este programa lo he realizado con .NET y aunque no está totalmente perfeccionado, puede llegar a traducir el 65% de un programa hecho en Siemens Step7, del mismo modo no sería muy complicado realizar la opción contraria, es decir de .

El programa traduce de segmento en segmento, es decir no traduce un bloque o FC completo, esto es así porque es muy importante comprobar en todo momento que lo que está traduciendo sea correcto, ya que algunas veces por pequeños fallos la traducción no es correcta al 100%

traduccion-siemens-rockwell

 

Programa para convertir de Siemens Step 7 a Rockwell

El programa es muy simple, vamos a ver un ejemplo, en primer lugar debemos de copiar el código AWL del segmento del programa de Siemens:

El segmento a copiar

red-siemens-step-7

Seleccionamos ver AWL:

red-siemens-step-7-awl

Seleccionamos todo el contenido AWL de la red y hacemos Control C, y lo pegamos con el botón Pegar Traducir Copiar, este botón realiza las 3 tareas, es decir pega el contenido del portapapeles en el programa, realiza la traducción y copia en el portapapeles la traducción a Rockwell, de esta forma solo necesitamos un clic para traducir el segmento:

programa-traduccion-siemens-rockwell

 

Aunque se puede ver en la parte inferior el segmento traducido a ASCII para Rockwell, no hace falta seleccionarlo y copiarlo, por que ya lo tenemos copiado en el portapapeles, ahora simplemente lo pegamos en el editor de Rockwell:

pegar-a-Rockwell

Y comprobamos como realiza la traducción, eso si los simbólicos ya deben estar creados en el programa:

resultado-traduccion-rockwell

 

Comunicación Modbus TCP entre Sentron 3200 y el PLC S7 1200

Vamos a realizar una conexión entre un PLC S7 1200 y un analizador de red de siemens mediante Modbus TCP.

sentron3200-panoramic

 

El S7 1200 lleva incorporado el protocolo Modbus TCP, aunque en algunas versiones de firmware no lo lleve, siempre podemos actualizar el firmware, la comunicación mediante Modbus TCP es sumamente sencilla de realizar.

Requerimientos técnicos

  1.  PLC autómata S7 1200 (cuidado con la versión de firmware)
  2. Analizador de red Sentron 3200

Comunicación Modbus TCP entre Sentron 3200 y el PLC S7 1200

Para establecer una comunicación entre el Sentron y el PLC S7 1200 mediante Modbus TCP, utilizaremos la función de cliente Modbus que nos proporciona el PLC 1200, dependiendo en qué modelo de PLC trabajemos podemos utilizar una función u otra, en este caso utilizamos el modelo CPU 1212C con lo que la función MB_CLIENT será un poco más compleja, ya que debemos de definir un DB con tipos de datos “Connect”.

 

Llamada a la función MB_CLIENT

llamada-mb_client

Podemos observar que la lectura de datos del Sentron es cíclica cada 1 segundo, en nuestro caso será más que suficiente.

En este ejemplo leemos del registro 40002 con una longitud de 200 words.

Los datos leídos los guardamos en el DB “READ_MODBUS”, este db es simplemente un array de enteros, evidentemente este array debe de contener al menos 200 enteros.

El parámetro CONNET es un DB donde debemos de definir los datos de conexión.

Ejemplo del db de array de enteros

array-enteros

 

Ejemplo del db CONNECT para los parámetros IP de conexión

db-connect

 

El tipo de datos utilizado es TCON_IP_v4, un tipo de datos específico para las conexiones Ethernet.

Con este Db ya podemos asignar la ip de nuestro servidor, en este caso el Sentron

db_connect-ip

Como podemos observar la IP del Sentron es la 192.168.1.81.

Debemos de definir el resto de parámetros, puerto, ID, hardware

parametros-modbus

El puerto modbus es el 502, tipo de conexión TCP/IP, el ID que utilizamos y la identificación hardware del dispositivo.

Los datos que vamos a leer del analizador de red se encuentran en la dirección 40002 que corresponde al primer registro leído, este es el listado de parámetros leídos a partir de esta dirección:

registros-sentron-1

registros-sentron-2

registros-sentron-3

registros-sentron-4