
Tartalomjegyzék:
2025 Szerző: John Day | [email protected]. Utoljára módosítva: 2025-01-23 14:47

POST ESCRITO EN ESPAÑOL
Se simuló un circuitito transmisor de temperatura, el elemento primario (Sensor) fue implementado mediante un potenciometro el cual varia el voltaje de entrada. Para enviar la informationción del sensor (Elemento Secundario), MODBUS RTU protokoll megvalósítása, medio de un puerto serial hacia una computadora que será el maestro.
Como maestro se izstrādāoró un program en labVIEW haciendo uso de la librería MODBUS que ya implementa. El esclavo es capaz de recibir las siguientes funciones del maestro:
- Función 0X01
- Función 0x02
- Función 0x03
- Función 0x04
- Función 0x05
- Función 0x06
Los registros implementados en el esclavo son:
- Irányítás MODBUS (16 bit)
- Sebességváltó sebesség (16 bit)
- Medición de la Temperatura (16 bit)
- Bithiba (1 bit)
- Bit de selección (1 bit) C o F
- Nivel máximo de medición (16 bit)
- Nivel mínimo de medición (16 bit)
Kellékek
- LabVIEW
- Raspberry Pi 3
- ADC MCP3008
- 1 Potenciometro
- Jumpers
- FTDI (FT232RL)
- Protoboard
1. lépés: Áramkörök

Circuito MCP3008 és Frambuesa Pi
Conexión Raspberry Pi 3 és FTDI:
- GND és GND
- TX és RX
- RX és TX
2. lépés: Esclavo MODBUS és Raspberry Pi 3B
Como primer pazo necesitas configurar and instalar tu system operation and tu Raspberry Pi 3B. Sugiero telepíti a NOOBS desde la laginát. Olvassa el a Raspberry Pi 3B konfigurációját, és használja a soros és a pp. SPI -t.
(Personalmente yo me conectó a mi raspi utilizando VNC Viewer para ello hay que activar el servidor VNC de la raspi)
Eredeti el valor del ADC reprezentálja a hőmérsékleti mediátát az el szenzorból és a Celsius y al estar el bit de selección en 1 este valor se pasa a grados Fahrenheit.
Ya sabiendo todo esto, el esclavo MODBUS realization for Python haciendo uso de la librería Pyserial. Para la simulación del transmisor se trabajo con 4 listas:
- Tekercsek
- Bemeneti regiszterek
- Nyilvántartások vezetése
- Diszkrét bemenetek
Ez a lista 6 elemből áll. Breve descripción de los elementos de cada list:
- coils_lista [0] = bit de selección (si está en 0 signa que la unidad de medición es en Celsius caso contrario unidad de medición en Fahrenheit)
- diszkrét_bevitel [0] = bithiba (este bit se enciende cuando el valor de temperatura esta fuera del rango establecido entre temperatura máxima y mínima)
- inputRegister_lista [0] = Valor del ADC (sensor de Temperatura simulado por un potenciometro) dependiento del valor de bit de selección.
- holdingRegister_lista [0] = directcción de esclavo
- holdingRegister_lista [1] = valor de temperatura máxima
- holdingRegister_lista [2] = valor de temperatura mínimo
- holdingRegister_lista [3] = velocidad de transmisión.
El esclavo MODBUS és a személyes személyzet döntései, amelyek a következőket tartalmazzák:
- Valor de temperatura máxima 500 Celsius
- Valor de temperatura mínima 200 Celsius
- Baudrate inicial de 9600
- Dirección de esclavo 1
- Unidad de medición inicial en Celsius.
La lógica aplicada es la siguiente:
En primer lugar se buscó leer toda la trama MODBUS enviada por el maestro, esto se hizo en Python mediante el código:
En segundo lugar se buscó la función que el maestro solicitaba para luego validar si la cantidad de salidas pedidas por el maestro eran validas sino generar un código de excepción 3, seguido de validar si el maestro pedía una directcción implementada sino generar un código de codigo y por ultimo realizar la instrucción pedida según el código de función leído.
Y así sucesivamente con el resto de funciones implementadas.
Para ultimo paso en cada función crear una list y mandar uno por uno por el puerto serial la petición del maestro.
Aclaro que no valide si el CRC enviada al esclavo era el correcto pero si lo hice para el mensaje enviado al maestro. A CRC szórakoztató funkciója lehetővé teszi a CRC MODBUS kapcsolat használatát
CRC számológép
Códigos de excepción MODBUS
3. lépés: Maestro LabVIEW (HMI)


La Creación de un maestro que fuera de cierta manera amigable para un usario final final fue hecha por por medio de labVIEW y free librería MODBUS la cual hõlbozható a creación de unestro MODBUS RTU.
Se elaboró una maquina de estados en labVIEW con las siguientes opciones:
- benne
- konektár: aquí está el API de crear un nuevo maestro modbus con la opción habilitada de SERIAL.
- leírás: aquí se utiliza la funcion write single holding register y write single coil
- leer: aquí se configuran los registros y coils de importancia para la lectura del maestro.
4. lépés: Máquina De Estados



Continueción explicare detalladamente la konfiguráció en cada opción:
konektár:
Használja az API -t a MODBUS maestro maestro kiválasztásához, és válassza ki a "New Serial Master" opciót, a beállítások konfigurálásával:
- Átviteli sebesség
- Paritás
- Soros port (Visa Resource)
- Soros típus (RTU)
- Esclavo ID.
leírás:
En escribir solo me interesaba que el maestro pudiera cambiar la temperatura máxima y mínima, el bit de selección, asignarle una nueva directcción al maestro y por ultimo asignarle un nuevo Baudrate al esclavo por lo que ya sabia de antemano en que direcciones enn a la que el maestro accedería. Furon que las funciones utilizadas fueron:
- Írjon egyetlen tekercset
- Írjon egyetlen gazdaság regisztert.
rábámul:
En leer solo me interesaba la lectura del bit de error y el input register asociado a mi variable primaria.
Las funciones utilizadas fueron:
- Bemeneti regiszter olvasása
- Tekercsek olvasása.
5. lépés: Előlap

El panel frontal en labVIEW se trató lo mejor posible que fuera amigable para el usuario final. Por lo que se realization lo siguiente:
Telepítse a DMC GUI Suite programot a LabVIEW programhoz, amely a legfontosabb és a vezérlők és jelzések listáját tartalmazza.
2 termómetró (1 para indicar la temperatura en Celsius y second para indicar la temperatura en Fahrenheit).
Botón "Warning" que únicamente se enciende cuando el bit de error está encendido.
Botón para editar los rangos de temperatura a medir (para que únicamente haga el cambio al registerro cuando se es presionado el botón) caso contrario siempre los estuviera modificando lo cual causaría un funcionamiento iest.
Botón para editar la directcción del esclavo (para que únicamente haga el cambio al registro cuando se es presionado el botón)
Botón para editar el baudrate del esclavo (para que únicamente haga el cambio al registro cuando se es presionado el botón)
Un botón para "Excepciones" (Para que genere una excepción dependiendo de la función MODBUS seleccionada)
6. lépés: Archivos Python
En estos archivos está implementado el esclavo MODBUS (Transmisor de temperatura) junto con el archivo ADC para leer la muut de interés del sensor de Temperatura (Simulado en el canal 0 con un potenciometro).
Me quedo pendiente implementar las funciones 15 y 16.
7. lépés: HMI
Modbus RTU mester
Este es el maestro implementado en labVIEW. Hay cosas para mejorar, por ejemplo no pude correctgir un error al conectar al primer intento, vizsgáld meg és ne enconré una solución para aplicarla.
8. lépés: Eredményes döntő
Espero ayudar and algunas personas a comprender mejor la comunicación modbus RTU y una implementación en labVIEW.
Ajánlott:
Ipari HMI és Arduinos a MODBUS RTU -ban: 4 lépés

Ipari HMI és Arduinos a MODBUS RTU -ban: Ebben az oktatható fejezetben az ipari HMI (COOLMAY MT6070H, 150EUROS), az Arduino CLONE DIY (10EUROS) és az Arduino UNO (10EUROS) közötti kommunikációra mutatok be példát. A hálózat speciális, robusztus és ipari protokoll alatt fog működni
Digistump és Modbus RTU: 6 lépés

Digistump és Modbus RTU: Azok, akik látták a Modbus RTU és a Raspberry Pi közötti kommunikációban tanítható utasításaimat, tudják, hogy egy üvegház automatizálási projektet tervezek. Készítettem 2 kis PCB -t, amelyeket egy projektdobozba lehet helyezni. A NYÁK -ra mutató linket a
Modbus TCP kommunikáció az Arduino és az ipari eszközök között: 3 lépés

Modbus TCP kommunikáció az Arduino és az ipari eszközök között: Ipari módszer az Arduino kártya vezérlésére ipari HMI -vel, és összekapcsolása egy ipari hálózattal Modbus TCP kommunikációval
ESP32 Modbus Master TCP: 7 lépés

ESP32 Modbus Master TCP: Ebben az osztályban az ESP32 processzort Modbus TCP mesterré programozza. Két eszközt fogunk használni, amelyek tartalmazzák ezt a processzort: Moduino ESP32 és Pycom. Mindkét eszköz MicroPytthon környezetben fut. A Modbus Slave PC számítógép lesz M -vel
ESP8266 Modbus termosztát érintéssel: 5 lépés

ESP8266 Modbus termosztát érintéssel: Ebben az oktatóanyagban megmutatom, hogyan lehet jó megjelenésű érintőképernyős termosztátot készíteni az opcionális Modbus támogatással RS485-n keresztül, ArduiTouch ESP és ESP8266 (NodeMCU vagy Wemos D1 Mini) segítségével