Configurar Cimplicity para comunicar con PLC Modbus.
En nuestro caso, las pruebas de comunicaciones se realizaron con el simulador ModSim y también con un PLC de GE PACSystems RX3i CP305.
Primero configuramos Cimplicity, debemos agregar el protocolo al proyecto
Crear el puerto:
Configurarlo.
Crear un dispositivo (“Device”)
Configuración:
En el caso que el Model Type “STAT_PLC” no está disponible, hay que abrir un Command Prompt de Windows (en caso contrario, podemos saltar a la descripción de la pestaña “Modbus TCP/IP”, dentro de este mismo apartado)
Desde el command prompt, hemos de acceder al subdirectorio “master” y ejecutar el siguiente comando:
Idtpop model
Esto nos exportará el contenido del archivo de configuración “model” a un formato de texto plano editable.
Abriremos el nuevo archivo de texto plano “model.idt” con el notepad y añadiremos la siguiente línea:
MB_TCPIP|STAT_PLC|35
Una vez guardado, re-importamos esta configuración modificada en Cimplicity con el comando opuesto:
Scpop model
Con esto completado, podemos actualizar al configuración y ya deberíamos ver la opción “PLC_STAT” en el campo “model type”.
Pasamos a la pestaña “Modbus TCP/IP” para configurar la dirección del esclavo Modbus con el que deseamos comunicar.
En la dirección IP del dispositivo se colocó también una @ y el Id modbus del dispositivo (XXX.XXX.XXX.XXX@1).
En las pruebas realizadas, tanto como si lo colocamos o no lo colocamos, la comunicación trabaja correctamente.
En cualquier caso, se supone que para ciertos elementos será obligatorio colocarlo como en el caso de que se utilice un Gateway modbus. Normalmente el Id de dispositivo es el 1 o el 255 pero puede variar según el dispositivo a leer.
→ Nota: La opción “Word Reverse” puede ser necesaria o no, dependiendo del dispositivo.
Configurar el archivo master_mbtcp0.ini
Archivo ubicado en \data de la carpeta del proyecto de la siguiente manera.
Si el archivo no existe, crearlo.
→ Nota: el nombre del archivo corresponde al nombre del puerto en Cimplicity con la extensión *.ini, la primera línea del archivo entre corchetes se refiere al nombre del dispositivo.
Estructura del archivo master_mbtcp0.ini :
Este archivo marca el rango de posiciones de memoria del esclavo modbus con el que vamos a comunicar.
Este ejemplo proporciona los valores típicos, correspondientes a un rango de posiciones de memoria relativamente amplio.
Configurar el archivo MODBUS_DEVICE_FS.INI
Ubicado en \data de la carpeta del proyecto de la siguiente manera, si el archivo no existe, crearlo.
→ Nota: el nombre del archivo corresponde al nombre del device en Cimplicity + _FS con la extensión .ini, la primera línea del archivo entre corchetes se refiere al nombre del dispositivo.
Estructura del archivo MODBUS_DEVICE_FS.INI :
Crear los puntos Discretos
Configuramos el tipo de dato en la pestaña General
En la pestaña Device colocamos el PLC (Device ID:) del que se van a leer los datos Modbus, se configura la dirección en address: y si es necesario un offset, también se coloca el criterio con el que se desea que se actualicen los datos.
→ Nota: En este ejemplo el tag booleano que leemos es el bit 0 (offset 0) de la palabra Modbus 400004, de esto se puede deducir que el campo offset corresponde al bit a leer empezando por 0 hasta 15 de un registro (Word) modbus.
También se puede leer un Coil Register utilizando la siguiente sintaxis en la dirección 0XXXX ó 0XXXXX dependiendo si se está direccionando a 5 dígitos o a 6 dígitos, ejemplo de direcciones:
00001 → coil 1 direccionamiento a 5 dígitos
000005 → coil 5 direccionamiento a 6 dígitos
Esta es la pestaña de configuración si se lee un bit tipo Coil
Crear los puntos Analógicos.
Los datos analógicos pueden ser registros de 5 o 6 dígitos.
Las direcciones se configuran así, Holding: 4XXXX ó 4XXXXX dependiendo de si son 5 o 6 dígitos ejemplo:
40005 → Holding 5 direccionado a 5 dígitos
400125 → Holding 125 direccionado a 6 dígitos
Configuración del Project Parameters
Queda tal se muestra en la siguiente imagen:
Ejemplo de las lecturas vía ModbusTCP
La siguiente imagen muestra los points comunicando en el Point Control Panel de Cimplicity
Referencias:
Instrucciones técnicas de GE Digital que complementan esta nota técnica y añaden información adicional.
Para acceder a algunos de estos enlaces es preciso estar registrado en el portal de GE Digital.
Si tiene alguna dificultad accediendo, puede contactar con el personal de Opertek
https://digitalsupport.ge.com/s/article/How-to-Configure-a-Modbus-TCP-IP-Device-Using-The-STAT-PLC-Model-Type?language=en_US
https://ge-ip.force.com/s/article/Custom-Modbus-TCP-IP-Device-Configuration-Checklist
https://ge-ip.force.com/s/article/How-to-Enable-Tracing-For-the-Modbus-TCP-IP-Driver
https://ge-ip.force.com/s/article/Troubleshooting-Modbus-RTU-Connectivity-Issues
https://ge-ip.force.com/s/article/ERRORUnable-to-open-slave-pathModbus-TCP-IP-Error