Talaan ng mga Nilalaman:
- Mga gamit
- Hakbang 1: Mga Circuitos
- Hakbang 2: Esclavo MODBUS En Raspberry Pi 3B
- Hakbang 3: Maestro LabVIEW (HMI)
- Hakbang 4: Máquina De Estados Unidos
- Hakbang 5: Front Panel
- Hakbang 6: Archivos Python
- Hakbang 7: HMI
- Hakbang 8: Pangwakas na Resulta
Video: Simulación Transmisor De Temperatura Modbus (Labview + Raspberry Pi 3): 8 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:11
POST ESCRITO EN ESPAÑOL
Se simuló un circuito transmisor de temperatura, el elemento primario (Sensor) fue implementado mediante un potenciometro el cual varia el voltaje de entrada. Para sa impormasyon tungkol sa sensor (Elemento Secundario), ang pagpapatupad ng mga proteksyon MODBUS RTU, para sa medio de un puerto serial hacia una computadora que será el maestro.
Como maestro se elaboró un programa at labVIEW haciendo uso de la librería MODBUS na iyong ipinatupad. 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:
- Direccionamiento MODBUS (16 na piraso)
- Velocidad de transmisión (16 na piraso)
- Medición de la temperatura (16 bits)
- Bit de error (1 bit)
- Bit de selección (1 bit) C o F.
- Nivel máximo de medición (16 na piraso)
- Nivel mínimo de medición (16 na piraso)
Mga gamit
- LabVIEW
- Raspberry Pi 3
- ADC MCP3008
- 1 Potenciometro
- Mga jumper
- FTDI (FT232RL)
- Protoboard
Hakbang 1: Mga Circuitos
Circuito MCP3008 y Frambuesa Pi
Conexión Raspberry Pi 3 y FTDI:
- GND isang GND
- TX isang RX
- RX a TX
Hakbang 2: Esclavo MODBUS En Raspberry Pi 3B
Como primer pazo necesitas configurar at i-install ang iyong operating system para sa Raspberry Pi 3B. Sugiero installar NOOBS desde la pagina oficial. Luego configurar tu Raspberry Pi 3B para sa poder utilizar el puerto serial y puerto SPI.
(I-personalize mo ito sa aking koneksyon sa VNC Viewer para makita kung paano ito aktibo sa serbisyo ng VNC de la raspi)
Ang orihinal na valor del ADC ay kumakatawan sa la sensor medida por el sensor esta en grados 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 se realizó con Python haciendo uso de la librería Pyserial. Para sa simulación del transmisor se trabajo con 4 listas:
- Mga coil
- Mga Rehistro ng Input
- Humahawak ng Mga Rehistro
- Mga Disput na Input
Cada lista se hizo de 6 elementos. Paglalahad ng paglalarawan ng los elementos de cada lista:
- coils_lista [0] = bit de selección (si está en 0 kahulugan ng isang unidad de medición es en Celsius caso contrario unidad de medición en Fahrenheit)
- discrete_input [0] = bit de error (kakaunti ang panahon na ito ay napalaki ang temperatura mula sa fuera del rango establecido entre temperatura máxima y mínima)
- inputRegister_lista [0] = Valor del ADC (sensor de temperatura simulado por un potenciometro) dependiendo del valor de bit de selección.
- holdingRegister_lista [0] = direcció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 isang napagpasyahan na personal na personal na pagkilala sa mga tagapag-aral ng iyong anak:
- Magalang na de temperatura máxima 500 Celsius
- Magalang na 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 dirección implementada sino generar un código de excepción 2 y por ultimo realizar la instrucción pedida según el código de función leído.
Y a sucesivamente con el resto de funciones implementadas.
Para ultimo paso en cada función crear una 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. Ang función de CRC ay maaari nang magdagdag ng link sa CRC MODBUS
Calculator ng CRC
Códigos de excepción MODBUS
Hakbang 3: Maestro LabVIEW (HMI)
Ang paglikha ng un maestro que fuera de cierta manera amigable para sa usuario final fue hecha por medio de labVIEW at su librería MODBUS ang bawat madaling gawin para sa paglikha ng MODBUS RTU.
Se elaboró una maquina de estados en labVIEW con las siguientes opciones:
- sa loob
- conectar: aquí está el API de crear un nuevo maestro modbus con la opción habilitada de SERIAL.
- escribir: aquí se utiliza la funcion sumulat ng solong may hawak na rehistro at sumulat ng solong coil
- leer: aquí se configuran los registros y coils de importancia para sa lectura del maestro.
Hakbang 4: Máquina De Estados Unidos
pagpapatuloy explicare detalladamente la configuración en cada opción:
conectar:
Ang paggamit ng API de crear un nuevo maestro MODBUS seleccionando la opción de "Bagong Serial Master", kinokontrol ng mga pamagat para sa pag-configure:
- Baudrate
- Pagkakaparehas
- Serial Port (Visa Resource)
- Serial Type (RTU)
- ID del esclavo.
escribir:
Mag-isip ng solo me interesaba que el maestro pudiera cambiar la temperatura 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 se encontraba la información a la que el maestro accedería. Sa pamamagitan ng paggamit ng mga gumagamit:
- Sumulat ng solong coil
- Sumulat ng solong may hawak na Rehistro.
leer:
En leer solo me interesaba la lectura del bit de error y el input register asociado a mi variable primaria.
Las funciones utilizadas fueron:
- Basahin ang Pagrehistro ng Input
- Basahin ang Mga Coil.
Hakbang 5: Front Panel
El panel frontal en labVIEW se trató lo mejor posible que fuera amigable para sa usuario final. Para sa iyong katotohanan:
Ang pag-install ng DMC GUI Suite para sa labVIEW para sa hindi mabubuting sakit ay makokontrol at magsasaad.
2 termómetros (1 para indar la temperatura en Celsius y otro para nagpapahiwatig la temperatura en Fahrenheit).
Ang boton na "Babala" ay nagsasagawa ng isang error mula sa error sa encendido.
Ang boton para sa editar los rangos de temperatura a medir (para sa únicamente haga el cambio al registro cuando se es presionado el botón) caso contrario siempre los estuviera modificando lo cual causaría un funcionamiento hindi wasto.
Ang boton para sa editar la dirección del esclavo (para sa únicamente haga el cambio al registro cuando se es presionado el botón)
Ang boton para sa editar el baudrate del esclavo (para sa únicamente haga el cambio al registro cuando se es presionado el botón)
Un botón para sa "Excepciones" (Para sa genere una excepción dependiendo de la función MODBUS seleccionada)
Hakbang 6: Archivos Python
En estos archivos está implementado el esclavo MODBUS (Transmisor de temperatura) junto con el archivo ADC para masunod ang variable ng interes del sensor de temperatura (Simulado en el canal 0 con un potenciometro).
Me quedo pendiente implementar las funciones 15 y 16.
Hakbang 7: HMI
Master Modbus RTU
Este es el maestro implementado en labVIEW. Hay cosas para mejorar, por ejemplo no pude corregir un error al conectar al primer intento, investigate y no encontré una solución para aplicarla.
Hakbang 8: Pangwakas na Resulta
Tumutulong ang isang algunas personas bilang isang tagapag-alaga ng account combo ng modbus RTU at isang pagpapatupad sa labVIEW.
Inirerekumendang:
ESP8266 Pagsubaybay sa Temperatura ng Nodemcu Paggamit ng DHT11 sa isang Local Webserver - Kumuha ng Temperatura ng Temperatura at Humidity sa Iyong Browser: 6 na Hakbang
ESP8266 Pagsubaybay sa Temperatura ng Nodemcu Paggamit ng DHT11 sa isang Local Webserver | Kumuha ng Temperatura ng Temperatura at Kahalumigmigan sa Iyong Browser: Kumusta mga tao ngayon gagawa kami ng isang kahalumigmigan & temperatura monitoring system gamit ang ESP 8266 NODEMCU & Sensor ng temperatura ng DHT11. Ang temperatura at halumigmig ay makukuha mula sa DHT11 Sensor & makikita ito sa isang browser kung aling webpage ang magiging manag
Simple at Murang Temperatura ng Pagsukat ng Temperatura Gamit ang Thermistor: 5 Mga Hakbang
Simple at Murang Temperatura ng Pagsukat ng Temperatura Gamit ang Thermistor: ang simple at murang sensor ng temperatura na gumagamit ng NTC thermistor thermistor ay binabago ang paglaban nito sa pagbabago ng oras gamit ang pag-aari na ito na nagtatayo kami ng sensor ng temperatura upang malaman ang tungkol sa thermistor https://en.wikipedia.org/wiki/ Thermistor
ESP32 NTP Temperatura Probe Cooking Thermometer Na May Steinhart-Hart Pagwawasto at Temperatura Alarm .: 7 Hakbang (na may Mga Larawan)
ESP32 NTP Temperatura Probe Cooking Thermometer Na May Steinhart-Hart Pagwawasto at Temperatura Alarm .: Nasa paglalakbay pa rin upang makumpleto ang isang " paparating na proyekto ", " ESP32 NTP Temperatura Probe Cooking Thermometer Na May Steinhart-Hart Pagwawasto at Temperatura Alarm " ay isang Naituturo na nagpapakita kung paano ako nagdaragdag ng isang probe ng temperatura ng NTP, piezo b
10 Mga kahalili sa DIY sa Mga Off-The-Shelf na Elektroniko na Mga Bahagi: 11 Mga Hakbang (na may Mga Larawan)
10 Mga Kahalili sa DIY sa Mga Off-The-Shelf na Mga Elektroniko na Bahagi: Maligayang pagdating sa aking kauna-unahang itinuro! Sa palagay mo ba ang ilang mga bahagi mula sa mga tagatingi sa online ay masyadong mahal o may mababang kalidad? Kailangan bang makakuha ng isang prototype nang mabilis at tumatakbo nang mabilis at hindi makapaghintay linggo para sa pagpapadala? Walang mga lokal na electronics distributor? Ang fol
Paggamit ng Mga Sensor ng Temperatura, tubig-ulan, at panginginig sa isang Arduino upang Protektahan ang Mga Riles: 8 Hakbang (na may Mga Larawan)
Paggamit ng Temperature, Rainwater, at Vibration Sensors sa isang Arduino upang Protektahan ang Mga Riles: Sa modernong lipunan, ang pagtaas ng mga pasahero sa riles ay nangangahulugang ang mga kumpanya ng riles ay dapat gumawa ng higit pa upang ma-optimize ang mga network upang makasabay sa pangangailangan. Sa proyektong ito ipapakita namin sa isang maliit na sukat kung paano ang temperatura, tubig-ulan, at mga sensor ng panginginig ng boses