Skip to main content

reComputer R1000 con FIN para usar modbus TCP/RTU

Introducción

FIN Framework (FIN) es un marco de software con suites de aplicaciones que puede integrar, controlar, gestionar, analizar, visualizar y conectar. Sus capacidades pueden ser integradas por OEMs en una gama de productos y servicios.

Este artículo presenta cómo usar el Modbus Connector del FIN Framwork, se explicó en detalle el uso de Modbus TCP/RTU en FIN Framwork. que incluye principalmente tres aspectos: crear un proyecto de FIN Framwork, configurar el número de puerto serie, configurar el Modbus Connector, y agregar puntos de datos al Equip.

Comenzando

Antes de iniciar este proyecto, es posible que necesites preparar tu hardware y software con anticipación como se describe aquí.

Preparación del Hardware

Preparación del Software

  • Respecto a cómo instalar FIN Framework, puedes consultar esta wiki.
  • Respecto a cómo usar la función modbus del reComputer R1000, puedes consultar esta wiki.
  • Usando modbusmechanic en PC W10. También puedes usar otras herramientas de prueba modbus.

Configuración del Hardware

Para ModbusTCP, usamos cables Ethernet para conectar el PC W10 y el reComputer R1000 a un switch para asegurar que estén en el mismo segmento de red.

pir

Para ModbustRTU, usamos un módulo rs485 a USB para conectar el reComuputer R1000 con el PC W10.

pir

Crear Nuevo Proyecto

Paso 1: Haz clic en el botón Create en la esquina inferior izquierda de la página de inicio, y aparecerá una nueva ventana emergente. La ventana emergente tiene principalmente tres atributos que necesitan ser completados:

  • NAME: el nombre del nuevo proyecto
  • DISPLAY NAME: nombre del proyecto mostrado
  • DESCRIPTION: descripción del proyecto

Paso 2: Abre el proyecto, entra a DB Builder, haz clic en Connectors, puedes ver que no hay opción Modbus en este momento, necesitamos abrir el Modbus Connector de FIN Framework, entonces la opción Modbus aparecerá aquí.

Configurar Modbus Connector para Modbus TCP

Paso 1: Abre Modbus Connector. Haz clic en Settings => Ext y encuentra Modbus. En este momento, Modbus está marcado en rojo. Haz clic en Enable y puedes ver que la marca Modbus se vuelve verde, indicando que el Modbus Connector se ha abierto exitosamente. Entra a DB Builder nuevamente y puedes ver que ya hay una opción Modbus.

Paso 2: Añade una nueva conexión Modbus. Haz clic en Modbus => Add, la nueva ventana emergente tiene principalmente los siguientes parámetros para completar:

  • Dis: el nombre del conector

  • ModbusSlave: este sería el esclavo del dispositivo modbus que se está conectando (por defecto es 1)

  • Existing Register Map: Si el usuario ya configuró un conector Modbus, vería registros disponibles aquí para elegir o crear uno nuevo con la siguiente propiedad ModbusRegMapUri.

  • ModbusRegMapUri: aquí es donde el usuario especificaría el nombre del mapa de registros para vincular con este conector. Reemplaza "xxx" con cualquier nombre del mapa de registros.

  • Uri: aquí es donde se especificaría la uri del conector modbus. El formato de URI se muestra en la tabla:

    ProtocoloConfiguración URIEjemploNotas
    TCP/IPmodbus-tcp://host:port/modbus-tcp://10.0.0.17/El puerto por defecto es 502, puede omitirse si es estándar
    RTU sobre TCP/IPmodbus-rtutcp://host:port/modbus-rtutcp://192.168.1.120:9001/El puerto por defecto es 502, puede omitirse si es estándar
    RTU sobre RS-485modbus-rtu://<port>-<baud>-<dataBits>-<parity>modbus-rtu://serial0-9600-8n1-none

En nuestro ejemplo, especificamos "r1000_demo" como nuestro mapa de registros. Luego añadimos nuestra IP al dispositivo en la Uri.

Paso 3: Añade un nuevo Register Maps. Haz clic en Register Maps => Add, ingresa Name, que necesita ser consistente con el nombre de ModbusRegMapUri en el segundo paso, y finalmente haz clic en ADD.

El sistema creará un nuevo archivo r1000_demo.csv en el directorio opt/finFramework_5.1.6.55/var/proj/recomputer_R1000_demo/data/modbus/. Este archivo describe la información de registros Modbus que necesitamos leer.

Paso 4: Añade la información de registros a leer. Modbus Connector existe como un maestro Modbus. Leerá los registros del esclavo. Necesitamos configurar la información de registros a leer. Haz clic en r1000_demo, puedes ver que hay una descripción de ping por defecto, esto es obligatorio. Continuamos añadiendo nueva información de registros y hacemos clic en Register Maps => r1000_demo => Add. La nueva ventana emergente tiene principalmente los siguientes parámetros para completar:

  • name(requerido): nombre del registro.

    • Debe ser único

    • Debe comenzar con una letra minúscula a-z

    • Solo se permiten a-z, A-Z, 0-9 y guiones bajos. No espacios u otros caracteres especiales.

  • addr(requerido): esta sería la dirección del registro que sigue la convención modbus.

    • 0xxxx - Bobina (00001-065536)
    • 1xxxx - Entrada Discreta (10001-165536)
    • 3xxxx - Registro de Entrada (30001-365536)
    • 4xxxx - Registro de Retención (40001-465536)
  • data(requerido): esto define el tipo de datos del registro.

    • Tipos:
      • bit - Bool
      • u1 - Int sin signo de 8 bits
      • u2 - Int sin signo de 16 bits
      • u4 - Int sin signo de 32 bits
      • s1 - Int con signo de 8 bits
      • s2 - Int con signo de 16 bits
      • s4 - Int con signo de 32 bits
      • s8 - Int con signo de 64 bits
      • f4 - Float de 32 bits
      • f8 - Float de 64 bits
  • rw(requerido): esto determinaría los permisos de lectura/escritura

    • rw - El registro puede ser leído y escrito
    • r - El registro es solo de lectura
    • w - El registro es solo de escritura
  • scale(opcional): esto permite al usuario aplicar un factor de escala a los registros. El formato es [operador] [número] donde el factor es una constante numérica.

    • Ejemplos:
      • sumar: +1.5
      • restar: -0.25
      • multiplicar: *10
      • dividir: /1000
  • dis(opcional): esta es una etiqueta opcional que el usuario puede especificar como un nombre de visualización bonito para el registro.

  • unit(opcional): esto definiría la unidad a usar para el registro.

  • tags(opcional): estas serían las etiquetas a aplicar al punto cuando se aprenda en la base de datos.

  • folderPath(opcional): si el usuario quiere organizar los puntos, puede hacerlo aplicando un folderPath.

Paso 5: Prueba de comunicación. Después de agregar la información de descripción del registro, se puede llevar a cabo la comunicación. Aquí usamos ModbusMechanic como el esclavo Modbus. Haga clic en Modbus => Ping y puede ver que Status cambia a OK, indicando que la comunicación es normal.

Configurar Modbus Connector para Modbus RTU

Configurar puerto serie

El script que necesita ser ejecutado es el siguiente:

## Turn off FIN service
sudo systemctl stop fin
## After downloading the config file, place it in /opt/finFramework_5.1.6.55/etc/finStackSerial/
sudo cp ~/config.props /opt/finFramework_5.1.6.55/etc/finStackSerial/
## Modify the config.props file to: serialPorts=/dev/ttyAMA30, /dev/ttyAMA31, /dev/ttyAMA32
sudo nano /opt/finFramework_5.1.6.55/etc/finStackSerial/config.props
## Restart the FIN service, wait for a while and then use a browser to open FIN
sudo systemctl restart fin

Paso 1: Desactiva el servicio FIN, luego descarga el archivo de configuración y guárdalo en el directorio /opt/finFramework_5.1.6 .55/etc/finStackSerial/

Paso 2: Modifica config.props a:

serialPorts=/dev/ttyAMA30, /dev/ttyAMA31, /dev/ttyAMA32

Después de completar la modificación, reinicia el servicio FIN

Paso 3:Haz clic en Folio => launch, e inserta la siguiente consulta:serialPorts(), El resultado mostrará qué nombre debe usarse para tu puerto específico. El puerto no es el nombre del puerto físico, pero hay una correspondencia entre los puertos físicos del dispositivo y el nombre del puerto a usar como serial0, serial1 ...

Configurar Modbus RTU

Paso 1: Abrir Modbus Connector. Haz clic en Settrings => Ext y busca Modbus. En este momento, Modbus está marcado en rojo. Haz clic en Enable y puedes ver que la marca Modbus se vuelve verde, indicando que el Modbus Connector se ha abierto exitosamente. Ingresa a DB Builder nuevamente y puedes ver que ya hay una opción Modbus.

Paso 2: Agregar una nueva conexión Modbus. Haz clic en Modbus => Add. En nuestro ejemplo, especificamos "r1000_demo_rtu" como nuestro mapa de registros. Luego agregamos nuestro puerto serie al dispositivo en el Uri.

Paso 3: Agregar un nuevo Register Maps. Haz clic en Register Maps => Add, ingresa Name, que necesita ser consistente con el nombre de ModbusRegMapUri en el segundo paso, y finalmente haz clic en ADD.

El sistema creará un nuevo archivo r1000_demo_rtu.csv en el directorio opt/finFramework_5.1.6.55/var/proj/recomputer_R1000_demo/data/modbus/. Este archivo describe la información de registros Modbus que necesitamos leer.

Paso 4: Agregar la información de registros a leer. Modbus Connector existe como un maestro Modbus. Leerá los registros del esclavo. Necesitamos configurar la información de registros a leer. Haz clic en r1000_demo_rtu, puedes ver que hay una descripción de ping por defecto, esto es obligatorio. Continuamos agregando nueva información de registros y hacemos clic en Register Maps => r1000_demo_rtu => Add.

Paso 5: Prueba de comunicación. Después de agregar la información de descripción del registro, se puede llevar a cabo la comunicación. Aquí usamos ModbusMechanic como el esclavo Modbus. Haz clic en Modbus => Ping y puedes ver que Status cambia a OK, indicando que la comunicación es normal.

Agregar puntos de datos a Equip Tree

Paso 1: agregar Equip. Haz clic en Equip Tree => + => Add site, ingresa Name, aquí ingreso Tower, puede agregar un site llamado Tower; luego haz clic en Equip Tree => Tower => + => Add Floor, ingresa Name, aquí ingreso Floor1, puede agregar un Floor llamado Floor1; haz clic en Equip Tree nuevamente => Tower => Floor1 => + => Add Equip, ingresa Name, aquí ingreso ModbusEquip para agregar un nuevo Equip.

Paso 2: Haz clic en -> en el lado derecho de ModbusEquip para hacer que la ruta del sistema esté bajo Tower/Floor1/ModbusEquip.

Paso 3: Agregar puntos de datos. Haz clic en Modbus => Modbus Conn, haz clic en Discover Points en la nueva ventana, aparecerán los puntos de información de registros que configuramos, selecciona un registro a leer, y haz clic en Add.

Soporte Técnico y Discusión de Productos

¡Gracias por elegir nuestros productos! Estamos aquí para brindarte diferentes tipos de soporte para asegurar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para satisfacer diferentes preferencias y necesidades.

Loading Comments...