Intercambio Datos entre Siemens y Schneider por Modbus TCP

Hace ya unos años que se público el primer árticulo sobre la comunicación Modbus TCP con un simulador ,con lo cual no voy a repetir todos los pasos, ya que aquel árticulo nos puede servir de guia. En esta ocasión el ejemplo va a ser mas práctico, ya que vamos a comunicar una CPU 1511 con un PLC Schneider, para el ejemplo con el Simulador del PLC, que ya hemos visto que soporta las comunicaciones, no como en SoMachine hasta el momento.

La documentación es sencilla de entender, no obstante, si cabe destacar algún parametro vamos a verlo, porque lo que cambia respecto a la funcion MB_CLIENT es que en está versión hay que crear una variable del tipo TCON_IP_v4 para el parametro CONNECT, donde está la siguiente información:

-El ID: Debe ser único y no lo podemos repetir.

-ConnectionType: Para comunicaciones Modbus TCP debe ser 11.

-ActiveEstablished: Lo ponemos a 1 para establecer la conexión con el Servidor.

-ADDR: Definimos la dirección IP del Servidor y por defecto RemotePort: es el 502

 

La función que utilizamos es MB_CLIENT , al igual que ha anteriormente, aqui tenemos una imagen de las dos versiones

 

Y aquí el DB de Instancia donde tenemos toda la información, y si observamos el Array, en los primeros 10 registros empezando por el 1, tenemos los valores que hemos leido del PLC Schneider.

 

Aqui observamos como hay una conexión que el simulador no especifica el nombre, pero que equivale a la CPU 1511, con dirección IP 192.168.1.100, y observamos como hemos leido el valor de estas variables.

 

Sin embargo, si ahora cambiamos MB_MODE a 116 es la función de escribir Holding Register, vamos a escribir en el PLC de Schneider TSX 57

 

Y una vez ejecutado el REQ, observamos como hemos escrito las variables.

 

Esta información pertenece a la ayuda de la función y los valores permitidos para el parametro MB_MODE dependiendo de lo que nos interese (LEER - WRITE HOLDING REGISTERS)

 

09-05-2019

Todas las marcas comerciales, softwares, logos son propiedad de sus respectivos titulares.