Hace unos meses necesitaba llevar unas señales de los AVRs (reguladores automáticos de voltaje) de mi lugar de trabajo al sistema de control Ovation utilizando un módulo ELC (Ethernet Link Controller).
El AVR utiliza protocolo MODBUS, por tanto para configurar estas señales únicamente necesitaba las direcciones IP de los AVRs y los registros modbus de las variables que iba a ingresar, et voilá. Sin embargo, después de cargar la configuración, esas variables mostraban valores que no tenían sentido.
Personal de Ingeniería y Servicio de Emerson Process Management nos brindó soporte y el problema quedó resuelto. En este post les comparto los "trucos" que utilizaron.
Para entrar en contexto, estas son las especificaciones tanto del hardware como del software con que se trabajó:
- Versión de Ovation: 3.5.1.
- Modelo de módulo ELC: 5X00419G02.
- Modelo de AVR: DECS250 de Basler.
El módulo ELC ya había sido añadido previamente, debido a que ya llevaba al DCS señales de otros equipos. Por tanto fue necesario ingresar a su configuración y agregar al AVR como otro cliente y configurar sus Scan points. Esto se realizó en Ovation Developer Studio.
Utilizando los registros del manual de fabricante se realizó la prueba con un scan point, el cual daba un valor erróneo.
Para comprobar que estábamos usando el registro correcto o que no existía problemas en el regulador automático de voltaje, se utilizó la aplicación ModScan64. Corrimos la aplicación desde un PC que conectamos al switch entre los AVRs y la ELC.
Los valores que mostraban los registros no eran coherentes, por lo que utilizamos un registro alternativo por indicaciones del fabricante, estos registros se suelen encontrar en los manuales de los equipos como Modbus heredado o Legacy Modbus. Debido a que tampoco funcionó dejamos el scan point con el registro original y dentro de su configuración marcamos la opción "swap words". Esta vez si funcionó y nuestro sistema de control mostraba la variable que necesitábamos sin problemas.
Después de esto añadimos cuatro registros más, asegurándonos de que la opción swap words estuviera seleccionada. Sin embargo, después de cargar la configuración, los valores nuevamente no eran correctos. Revisando los registros, notamos que una parte de ellos tenían como dirección 410XX y la otra parte 413XX; por lo que creamos dos grupos de scan points por separado, uno para los registros con direcciones que iniciaban en 410 y otro para los que iniciaban en 413. Esta vez si funcionó sin problemas después de cargar los cambios en los controladores.
Al parecer el problema de las palabras invertidas es bastante común, así que si están teniendo problemas al agregar registros modbus ya sea en Ovation u otro sistema de control, esta info les puede servir.