Sadržaj:
- Supplies
- Korak 1: Circuitos
- Korak 2: Esclavo MODBUS En Raspberry Pi 3B
- Korak 3: Maestro LabVIEW (HMI)
- Korak 4: Máquina De Estados
- Korak 5: Prednja ploča
- Korak 6: Archivos Python
- Korak 7: HMI
- Korak 8: Rezultat konačan
Video: Simbus Transmisor temperature temperature Modbus (Labview + Raspberry Pi 3): 8 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
POST ESCRITO EN ESPAÑOL
Istovremeno, prijenosni krug prijenosnika za temperaturu, primarni element (senzor) za implementaciju srednje implementacije srednje energije i potencijalne električne varijable napona za ulaz. Za dodatne informacije o senzoru (Elemento Secundario), implementirate protokol MODBUS RTU, sa serijskim serijskim računarom na računaru ili maestro.
Kao maestro, morate razraditi program u labVIEW -u kako biste koristili MODBUS za implementaciju. El esclavo es capaz de recibir las siguientes funciones del maestro:
- Función 0X01
- Funkcija 0x02
- Funkcija 0x03
- Funkcija 0x04
- Funkcija 0x05
- Funkcija 0x06
Los registros implementados en el esclavo son:
- Direccionamiento MODBUS (16 bita)
- Velocidad de transmisión (16 bita)
- Medición de la temperature (16 bita)
- Greška bita (1 bit)
- Bit de selección (1 bit) C o F
- Nivel máximo de medición (16 bita)
- Nivel mínimo de medición (16 bita)
Supplies
- LabVIEW
- Raspberry Pi 3
- ADC MCP3008
- 1 Potenciometro
- Džemperi
- FTDI (FT232RL)
- Protoboard
Korak 1: Circuitos
Circuito MCP3008 y Frambuesa Pi
Conexión Raspberry Pi 3 i FTDI:
- GND a GND
- TX i RX
- RX i TX
Korak 2: Esclavo MODBUS En Raspberry Pi 3B
Como primer pazo necesitas konfiguratora i instalacionog sistema operativnog sistema i Raspberry Pi 3B. Predlažemo instalaciju NOOBS -a na službenoj stranici. Luego konfiguracija za Raspberry Pi 3B za poder koristi puerto serijski i puni SPI.
(Osobno me povežite i iskoristite VNC Viewer za parametre za aktiviranje servera VNC za la raspi)
Originalni valor delc ADC -a predstavlja temperaturu sa temperaturom senzora na senzorima u gradovima Celzijusa i bitnim izborom u 1 stepenu valora koji se nalaze u gradovima po Farenhajtu.
Da biste to učinili, MODBUS je esclavo realiziran sa Python -om koji koristi labrería Pyserial. Za simulaciju transmisora sa 4 liste:
- Zavojnice
- Ulazni registri
- Vođenje registara
- Diskretni ulazi
To je popis 6 elemenata. Breve opis los elementos de cada list:
- coils_lista [0] = bit de selección (ako je 0 označava que la unidad de medición es en Celsius caso contrario unidad de medición en Fahrenheit)
- discrete_input [0] = greška bita (ovaj bit se prikazuje kao vrijednost valera temperature esta fuera del rango establecido entre temperatura maxima y minima)
- inputRegister_lista [0] = Valor del ADC (senzor temperature simulira s potenciometrom) ovisi o valor de bitu za odabir.
- holdingRegister_lista [0] = dirección de esclavo
- holdingRegister_lista [1] = valor de temperatura máxima
- holdingRegister_lista [2] = valor de temperatura minimo
- holdingRegister_lista [3] = velocidad de transmisión.
El esclavo MODBUS je odlučujuća lična postavka koja se odnosi na početne parametre u vezi sa sinom:
- Maksimalna temperatura iznosi 500 Celzijusa
- Temperatura minimuma 200 Celzijusa
- Brzina prijenosa 9600
- Dirección de esclavo 1
- Unidad de medición inicial en Celsius.
Aplikacija La lógica es la siguiente:
Na početnom mjestu se nalazi buscó leer toda la trama MODBUS je okružen el maestro, esto se nalazi u Python medijanu el kodigo:
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 pedia una dirección implementacija sino generar un código y 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 un lista 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. Funkcija CRC -a prilagođena je korisničkom povezivanju sa CRC MODBUS -om
CRC kalkulator
Izvještaj o izuzeću MODBUS
Korak 3: Maestro LabVIEW (HMI)
La creación de un maestro que fuera de cierta manera amigable para unusuario final fue hecha por medio de labVIEW y librería MODBUS la cual facilitaba la creación de un maestro MODBUS RTU.
Se elaboró una maquina de estados en labVIEW con las siguientes opciones:
- u tome
- konektor: Ovo je API za kreiranje jedinstvenog maestro modbusa sa opcijom habilitacije SERIAL.
- escribir: aquí se utiliza la funcion upisuje jedinstveni registar držanja y upisuje jednu zavojnicu
- leer: aquí se konfigurira kao registrator y zavojnice važnosti za lectura del maestro.
Korak 4: Máquina De Estados
nastavak objašnjava detaljne detalje o konfiguraciji i cada opciji:
conectar:
Upotrijebite API za stvaranje novog upravljačkog modusa MODBUS koji je odabran za opciju "New Serial Master", a zatim kreirajte kontrole za konfiguraciju:
- Baudrate
- Paritet
- Serijski port (Visa Resource)
- Serijski tip (RTU)
- ID del esclavo.
escribir:
En escribir solo me interesaba que el maestro pudiera cambiar la temperature máxima y mínima, el bit de selección, asignarle una nueva dirección al maestro y por ultimo asignarle un nuevo Baudrate al esclavo por lo que ya sabia de antemano en que direcciones en en a la que el maestro accedería. Por lo que las funciones utilizadas fueron:
- Napišite jednu zavojnicu
- Napišite jedinstveni registar holdinga.
leer:
En leer solo me interest la lactura del bit de error and el input register asociado a mi variable primar.
Las funciones utilizadas fueron:
- Pročitajte Ulazni registar
- Read Coils.
Korak 5: Prednja ploča
El panel frontal en labVIEW se trató lo mejor posible que fuera ammigable para el usuario final. Por lo que se realizó lo siguiente:
Instalirajte DMC GUI Suite za labVIEW parametar za glavne i nepostojane kontrole i indikatore.
2 termina (1 para indikatora temperature u Celzijusu i otrova za indikatora temperature po Fahrenheitu).
Boton "Warning" que únicamente se enciende cuando el bit de greška está encendido.
Botón para editor los rangos de temperature in medir (para que únicamente haga el cambio al registerro cuando se es presionado el botón) caso contrario siempre los estuviera modificira lo cual causaría un funcionamiento incorecto.
Botón para editar la dirección del esclavo (para que únicamente haga el cambio al registerro cuando se es presionado el botón)
Botón para editar el baudrate del esclavo (para que únicamente haga el cambio al registerro 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)
Korak 6: Archivos Python
Arhiva je implementirana u modusu MODBUS (Transmisor za temperaturu) sa ADC -om u arhivi za promjenjivu temperaturu senzora temperature (Simulacija na kanalu 0 sa potenciometrom).
Pitajte me za implementaciju las funciones 15 i 16.
Korak 7: HMI
Master Modbus RTU
Este es maestro implementado en labVIEW. Hay cosas para mejorar, por ejemplo no pude corregir un error al conectar al primer intento, istražite y no encontré una solución para aplicarla.
Korak 8: Rezultat konačan
Espero ayudar a algunas personi comprender mejor la comunicación modbus RTU y una implementación en labVIEW.
Preporučuje se:
Industrijski HMI i Arduinos u MODBUS RTU: 4 koraka
Industrijski HMI i Arduinos u MODBUS RTU -u: U ovom uputstvu opisat ću primjer komunikacije između industrijskog HMI -a (COOLMAY MT6070H, 150EUROS), Arduino CLONE DIY (10EUROS) i Arduino UNO (10EUROS). Mreža će raditi po posebnom, robusnom i industrijskom protokolu
Digistump i Modbus RTU: 6 koraka
Digistump i Modbus RTU: Oni koji su vidjeli moje instrukcije o komunikaciji između Modbus RTU -a i Raspberry Pi -a znaju da planiram projekt za automatizaciju staklenika. Napravio sam 2 mala PCB -a koji se mogu staviti u kutiju za projekte. Link do PCB -a ću uključiti
Modbus TCP komunikacija između Arduina i industrijskih uređaja: 3 koraka
Modbus TCP komunikacija između Arduina i industrijskih uređaja: Industrijski način upravljanja Arduino pločom s industrijskim HMI -jem i povezivanje s industrijskom mrežom s Modbus TCP komunikacijom
ESP32 Modbus Master TCP: 7 koraka
ESP32 Modbus Master TCP: U ovoj klasi ćete programirati ESP32 procesor za Modbus TCP Master. Koristit ćemo dva uređaja koja sadrže ovaj procesor: Moduino ESP32 i Pycom. Oba uređaja rade u MicroPytthon okruženju. Naš Modbus Slave bit će PC računar sa M
ESP8266 Modbus termostat sa dodirom: 5 koraka
ESP8266 Modbus termostat sa dodirom: U ovom uputstvu ću vam pokazati kako da napravite lep termostat sa ekranom osetljivim na dodir sa opcionom podrškom za Modbus preko RS485 sa ArduiTouch ESP i ESP8266 (NodeMCU ili Wemos D1 Mini)