Saltar al contenido
Microdesys
  • El proyecto
    • Contenidos
    • Equipo
  • Hardware
  • Documentación
    • Guía
    • Codesys y Esp32 por MQTT en remoto
    • Siemens y Esp32 por MQTT en remoto
    • Programación directa del Esp32 con Wifi MQTT
  • Recursos
    • Presentación
    • Codesys
    • Software
    • Plantillas
    • Más herramientas
  • Editor
  • Chicas STEAM
  • Alternar búsqueda de la web
Menú Cerrar
  • El proyecto
    • Contenidos
    • Equipo
  • Hardware
  • Documentación
    • Guía
    • Codesys y Esp32 por MQTT en remoto
    • Siemens y Esp32 por MQTT en remoto
    • Programación directa del Esp32 con Wifi MQTT
  • Recursos
    • Presentación
    • Codesys
    • Software
    • Plantillas
    • Más herramientas
  • Editor
  • Chicas STEAM
  • Alternar búsqueda de la web

Creación de canales Modbus RTU propios

  1. Inicio>
  2. Docs>
  3. Creación de canales Modbus RTU propios

Modbus RTU Modo Básico

  • Introducción y alcance de la tecnología RTU Básico
  • Uso del Edito para configurar Esp32 con RTU
  • Cargar un programa (plantilla) en el microcontrolador Esp32
  • Configuración y conexión de un archivo Codesys RTU
  • Denominación de entradas y salidas
  • Ejemplo 1: Entrada y salida digital

Wifi MQTT Modo Básico

  • Instalación y configuración del servidor MQTT
  • Introducción y alcance de la tecnología MQTT Básico
  • Instalación del servidor MQTT Mosquitto
  • Preparación del Compilador para configurar Esp32 MQTT
  • Cargar un programa (Plantilla) en el Esp32 MQTT

Hardware

  • Microcontroladores Espressif
  • Microcontrolador Esp32
  • Entradas y salidas del microcontorlador Esp32

Modbus RTU Modo Avanzado

  • Configuración de canales RTU predefinidos (Easy Client)
  • Configuración de entradas digitales en Modbus RTU Easy Client
  • Configuración de salidas digitales en Modbus RTU Easy Client
  • Entradas analógicas y salidas PWM Modbus RTU (Easy Client)
  • Sensores y actuadores con librería en Modbus RTU en modo Easy Client (EC)
  • Creación de canales Modbus RTU propios

Wifi Esp32

  • Programación directa del Esp32 con Wifi MQTT

Hardware Microdesys

  • Placa de desarrollo Microdesys
  • Shield multifunción Microdesys basic

Codesys y Esp32

  • Codesys y Esp32 por MQTT en remoto

Siemens y Esp32

  • Siemens y Esp32 por MQTT en remoto
  • Instalar y configurar Node Red para uso con Siemens 1200 y LOGO
  • Siemens y Modbus TCP/IP

Chicas STEAM

  • Chicas STEAM

Creación de canales Modbus RTU propios

Tabla de contenidos
  • Configuración del canal
    • Ejemplo de configuración desde cero
    • Ejemplo de configuración añadiendo canales nuevos a Easy Client
  • Envío de datos por Modbus a un software
  • Lectura de datos por Modbus
  • Configuración de los canales Modbus en Codesys
  • Lectura de información desde Codesys u otro Maestro
  • Envío de información a Codesys u otro Maestro

Se pueden configurar canales Modbus de lectura y escritura, que se puede añadir, o no, a la lista de canales preconfigurados Easy Client.

Las herramientas para hacer esto las encontramos en el apartado “Crear canal”. Aquí encontramos tres bloques, para crear el canal, para escribir en él o para leer en él.

Configuración del canal #

El bloque “Crear canal Modbus RTU” establece un canal Modbus de comunicación que puede ser de lectura o escritura, esto se define mas adelante.

Hay que tener en cuenta que el número del canal va aumentando secuencialmente a medida que se colocan bloques.

El bloque anterior dispone de un apartado tras los signos “//”.

Rellenarlo es optativo, ya que nos vale solo para recordarnos el número que se le va a asignar a este canal, es un comentario, no configura nada.

Ejemplo de configuración desde cero #

Creación de 3 canales con las siguientes características:

  • Canal llamado pulsador1 en la dirección 0
  • Canal denominado entradaAnalogica en la dirección 1
  • Canal denominado servo en la dirección 2

Solución:

También podemos dejar el comentario sin rellenar:

Es importante recalcar que, si cambiamos el orden y colocamos, por ejemplo, el bloque con el canal “servo” encima del resto, aunque no cambiemos el comentario, los canales asignados cambiarán, quedando de la siguiente forma:

Siendo:

  • La dirección 0 para el canal servo
  • La dirección 1 para el canal pulsador1
  • La dirección 2 para el canal entradaAnalogica

Aquí los comentarios estarían informando mal de la dirección asignada, que recordamos, es secuencial en orden de colocación de los bloques. De forma correcta quedaría así:

Ejemplo de configuración añadiendo canales nuevos a Easy Client #

Si lo que se desea es ampliar el número de canales ya existentes en la modalidad RTU Easy Client, simplemente hay que añadirlos teniendo en cuenta cuántos canales existen ya. Es decir, no se parte de cero.

Por ejemplo, añadamos a la versión Easy Client los tres canales del caso expuesto anteriormente:

Debemos fijarnos en cuántos canales hay definidos en el modo Easy Client (23 a la fecha de edición de este manual), y añadir los canales que deseemos, pero a partir del último ya configurado. De esta forma:

  • Canal llamado pulsador en la dirección 24
  • Canal denominado entradaAnalogica en la dirección 25
  • Canal denominado servo en la dirección 26

Envío de datos por Modbus a un software #

El siguiente bloque envía los datos que se conecten a él.

Recordamos que al tratarse de Modbus RTU solo pueden ser números enteros positivos hasta el 65.535, dado que el tamaño máximo es de una palabra (16 bits), es decir 2^16.

Se pueden conectar sensores y actuadores, disponibles en el apartado “Sensores y actuadores”:

En el apartado del configurador “Programación directa Ladder / Elementos Ladder”, se encuentran bloques que permiten leer estados de entradas y escribir estados de salidas. Se irán ampliando a media que avance el proyecto.

En la siguiente imagen se incluye un programa en el que se crean tres canales y se envía la lectura de la entrada analógica del GPIO39 por uno de ellos.

Lectura de datos por Modbus #

El siguiente bloque permite tomar datos del Esp32 y enviarlos por Modbus en el canal que se indique. En el siguiente ejemplo se envían por el canal “servo”.

Igual que en la escritura de datos, se pueden recibir datos que controlen actuadores, salidas, etc. Estos elementos los encontramos en los mismos apartados descritos en el punto 3.3: “Sensores y actuadores” y “Programación directa Ladder / Elementos Ladder”.

Un ejemplo de esto sería el siguiente, continuando con el ejemplo de los apartados anteriores:

Ejemplos completos de esto

Configuración de los canales Modbus en Codesys #

Como decimos, en la versión Easy Client damos una configuación de canales que permite comenzar a trabajar directamente. Sin embargo, se puede adaptar o cambiar completamente.

Para ello, aconsejamos abrir un archivo de trabajo de Codesys facilitado por Microdesys, que ya tiene la comunicación configurada, eliminar los canales que vienen creados, si vas a crear los tuyos desde cero, o añadir los que se deseen insertar.

Tras eliminar los canales, o crear una nueva conexión, se procede a crear los nuevos canales. Para ello, hay que hacer click en “Agregar canal”, como se muestra en la siguiente imagen:

Tras esto, siguiendo con el ejemplo anterior configurado para la placa Esp32, procedemos a crear tres canales:

  • Canal llamado pulsador1 en la dirección 0 -> Canal de lectura de datos porcedentes de la placa Esp32.
  • Canal denominado entradaAnalogica en la dirección 1-> Canal de lectura de datos porcedentes de la placa Esp32.
  • Canal denominado servo en la dirección 2 -> Canal de escritura de datos que se envían a la placa Esp32.

El resultado final será el siguiente:

Lectura de información desde Codesys u otro Maestro #

En el apartado anterior se han creado tres canales que recordamos:

  • Canal llamado pulsador1 en la dirección 0 -> Canal de lectura de datos porcedentes de la placa Esp32.
  • Canal denominado entradaAnalogica en la dirección 1-> Canal de lectura de datos porcedentes de la placa Esp32.
  • Canal denominado servo en la dirección 2 -> Canal de escritura de datos que se envían a la placa Esp32.

En la misma pantalla (Modbus_Slave), si hacemos click sobre la pestaña de asignación de E/S, podemos ver las direcciones asignadas a los canales creados:

  • Canal llamado pulsador1 en la dirección 0 -> Lectura en la entrada %IW0
  • Canal denominado entradaAnalogica en la dirección 1-> Lectura en la entrada %IW1

Si configuramos la placa como se explica en el apartado 3.1, podríamos leer el estado de un potenciómetro, por ejemplo, y moverlo a una variable:

Envío de información a Codesys u otro Maestro #

En el apartado 3.4 se han creado tres canales que recordamos:

  • Canal llamado pulsador1 en la dirección 0 -> Canal de lectura de datos porcedentes de la placa Esp32.
  • Canal denominado entradaAnalogica en la dirección 1-> Canal de lectura de datos porcedentes de la placa Esp32.
  • Canal denominado servo en la dirección 2 -> Canal de escritura de datos que se envían a la placa Esp32.

En la misma pantalla (Modbus_Slave), si hacemos click sobre la pestaña de asignación de E/S, podemos ver las direcciones asignadas a los canales creados.

Hay uno de salida de datos:

  • Canal denominado servo en la dirección 2 -> Escritura en la salida %QW0

Ejemplo

En el siguiente programa, si se acciona el pulsador virtual “pulsador1” se envía el valor 180 a través de la dirección 2 Modbus RTU, y si se acciona “pulsador2”, se envía un 10:

Si recordamos el programa de configuración ejemplo que se ha propuesto en el apartado 3.3, posicionaremos un servomotor en los ángulos 180 grados y 10 grados.

What are your Feelings
Comparte este artículo:
  • Facebook
  • Twitter
  • LinkedIn
  • Pinterest
Updated on 9 de enero de 2023
Sensores y actuadores con librería en Modbus RTU en modo Easy Client (EC)
Tabla de contenidos
  • Configuración del canal
    • Ejemplo de configuración desde cero
    • Ejemplo de configuración añadiendo canales nuevos a Easy Client
  • Envío de datos por Modbus a un software
  • Lectura de datos por Modbus
  • Configuración de los canales Modbus en Codesys
  • Lectura de información desde Codesys u otro Maestro
  • Envío de información a Codesys u otro Maestro
  • Política de cookies (UE)
  • Términos y condiciones
Copyright - OceanWP Theme by OceanWP
Gestionar el consentimiento de las cookies
Para ofrecer las mejores experiencias, utilizamos tecnologías como las cookies para almacenar y/o acceder a la información del dispositivo. El consentimiento de estas tecnologías nos permitirá procesar datos como el comportamiento de navegación o las identificaciones únicas en este sitio. No consentir o retirar el consentimiento, puede afectar negativamente a ciertas características y funciones.
Funcional Siempre activo
El almacenamiento o acceso técnico es estrictamente necesario para el propósito legítimo de permitir el uso de un servicio específico explícitamente solicitado por el abonado o usuario, o con el único propósito de llevar a cabo la transmisión de una comunicación a través de una red de comunicaciones electrónicas.
Preferencias
El almacenamiento o acceso técnico es necesario para la finalidad legítima de almacenar preferencias no solicitadas por el abonado o usuario.
Estadísticas
El almacenamiento o acceso técnico que es utilizado exclusivamente con fines estadísticos. El almacenamiento o acceso técnico que se utiliza exclusivamente con fines estadísticos anónimos. Sin un requerimiento, el cumplimiento voluntario por parte de tu Proveedor de servicios de Internet, o los registros adicionales de un tercero, la información almacenada o recuperada sólo para este propósito no se puede utilizar para identificarte.
Marketing
El almacenamiento o acceso técnico es necesario para crear perfiles de usuario para enviar publicidad, o para rastrear al usuario en una web o en varias web con fines de marketing similares.
Administrar opciones Gestionar los servicios Gestionar proveedores Leer más sobre estos propósitos
Ver preferencias
{title} {title} {title}

Insertar/editar un enlace

Introduce la URL de destino

O enlaza a contenido ya existente

    No se ha especificado ningún término de búsqueda. Mostrando los elementos recientes. Busca o utiliza las teclas de flecha arriba y abajo para seleccionar un elemento.