Orodha ya maudhui:

Simulación Transmisor De Temperatura Modbus (Labview + Raspberry Pi 3): Hatua 8
Simulación Transmisor De Temperatura Modbus (Labview + Raspberry Pi 3): Hatua 8

Video: Simulación Transmisor De Temperatura Modbus (Labview + Raspberry Pi 3): Hatua 8

Video: Simulación Transmisor De Temperatura Modbus (Labview + Raspberry Pi 3): Hatua 8
Video: Leyendo el sensor XY-MD02 con labview usando MODBUS RS485 2024, Novemba
Anonim
Simulación Transmisor De Temperatura Modbus (Labview + Raspberry Pi 3)
Simulación Transmisor De Temperatura Modbus (Labview + Raspberry Pi 3)

POST ESCRITO EN ESPAÑOL

Angalia kama mzunguko wa kifaa cha kupuuza, vifaa vya msingi (Sensor) vinatekelezwa kwa njia ya kutekelezwa na kutekelezwa kwa hali ya juu. Para enviar la información del sensor (Elemento Secundario), ni utekelezaji wa itifaki ya MODBUS RTU, kwa njia ya simu kuu ya habari inayoweza kutekelezwa kwa njia hii.

Como maestro se elaboró un programa en labVIEW haciendo uso de la librería MODBUS ni nini cha kutekeleza. El esclavo es capaz de recibir las siguientes funciones del maestro:

  1. Furaha 0X01
  2. Furaha 0x02
  3. Furaha 0x03
  4. Furaha 0x04
  5. Furaha 0x05
  6. Furaha 0x06

Los registros kutekelezaados en el esclavo son:

  1. Direccionamiento MODBUS (bits 16)
  2. Velocidad de transmisión (16 bits)
  3. Medición de la temperatura (bits 16)
  4. Hitilafu kidogo (1 kidogo)
  5. Kidogo cha kuchagua (1 kidogo) C o F
  6. Nivel máximo de medición (16 bits)
  7. Nivel mínimo de medición (16 bits)

Vifaa

  • MAONI YA MAABARA
  • Raspberry Pi 3
  • ADC MCP3008
  • 1 Potenciometro
  • Wanarukaji
  • FTDI (FT232RL)
  • Kitabu cha ulinzi

Hatua ya 1: Circuitos

Mizunguko
Mizunguko

Circuito MCP3008 na Frambuesa Pi

Conexión Raspberry Pi 3 na FTDI:

  1. GND GND
  2. TX na RX
  3. RX ya TX

Hatua ya 2: Esclavo MODBUS En Raspberry Pi 3B

Como primer pazo necesitas configurar and instalar tu sistema operativo en tu Raspberry Pi 3B. Sugiero instalar NOOBS desde la pagina oficial. Luego usanidi tu Raspberry Pi 3B kwa matumizi ya vifaa vya puerto serial y puerto SPI.

(Ubinafsi wako unanipa maoni ya kutumia raspi utumiaji wa Mtazamaji wa VNC kwa sababu ya uanzishaji wa huduma ya VNC de la raspi)

Asili ya nguvu ya ADC inawakilisha hali ya kufanya kazi kwa sensorer ya hali ya joto ya Celsius na kila kitu kutoka kwa 1 ya nguvu ya kufanya kazi kwa Fahrenheit.

Kwa sababu hii, unaweza kutumia MODBUS kwa kutambua Python chafu ya uso wa la bure. Para la simulación del transmisor se trabajo con 4 orodha:

  1. Coils
  2. Rejista za Uingizaji
  3. Kushikilia Rejista
  4. Pembejeo dhahiri

Orodha ya orodha hizi 6 elementos. Punguza maelezo ya orodha ya mambo:

  • coils_lista [0] = uchaguaji kidogo (sio kwa 0 tu maana ya unidad de medición es en Celsius caso contrario unidad de medición en Fahrenheit)
  • discrete_input [0] = hitilafu kidogo (hii ni sawa na sababu moja ya ustadi wa hali ya juu ya eneo hili linaloweza kutekelezwa kwa sababu ya hali ya juu ya mima xima na mima)
  • inputRegister_lista [0] = Valor del ADC (sensor de temperatura simulado por un potenciometro) inategemea uwezaji wa vifaa.
  • HoldRegister_lista [0] = dirección de esclavo
  • HoldRegister_lista [1] = ujasiri wa hali ya juu
  • HoldRegister_lista [2] = valor de temperatura mínimo
  • HoldRegister_lista [3] = velocidad de transmisión.

El esclavo MODBUS uamuzi wa kibinafsi cuenta con ciertos parámetros iniciales como lo son:

  • 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:

Kwa njia ya kwanza, tafadhali tumia programu hii kwa njia ya MODBUS kwa mfano kwa maestro, ikiwa ni pamoja na Python mediante el código:

Kwa habari hii, tafadhali tafadhali wasiliana na mauzo ya mauzo ya msingi kwa ajili ya kuhakikisha kuwa watu wengi wanakabiliwa na dhamana ya kufanya kazi 3, itatokea saa tatu kabla ya kutekelezwa kwa sababu ya utekelezaji wa mpango huu 2 y kwa mwisho wa utambuzi wa mafunzo kwa njia ya msingi ya mafunzo kwa watu wanaofurahisha.

Wewe unafanikiwa kupata maoni yako juu ya utekelezaji wa programu.

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 CRC enviada al esclavo era el correcto pero si lo hice para el mensaje enviado al maestro. La función de CRC la adapte a mi código usando este link CRC MODBUS

Kikokotoo cha CRC

Códigos de excepción MODBUS

Hatua ya 3: Maestro LabVIEW (HMI)

Maestro LabVIEW (HMI)
Maestro LabVIEW (HMI)
Maestro LabVIEW (HMI)
Maestro LabVIEW (HMI)

La creación de un maestro que fuera de cierta manera amigable para un usuario final fue hecha por medio de labVIEW na su librería MODBUS ya ufundishaji wa uundaji wa maestro MODBUS RTU.

Tazama maelezo zaidi kuhusu maabara kwenye MAONI YA MAONI YA MAONI:

  • ndani yake
  • conectar: aquí está el API de crear un nuevo maestro modbus con la opción habilitada de SERIAL.
  • maelezo: aquí se utiliza la funcion andika rejista moja ya kushikilia y andika koili moja
  • leer: tunaona usanidi wa usajili na koili za kuagiza kutoka kwa lectura del maestro.

Hatua ya 4: Máquina De Estados

Máquina De Estados
Máquina De Estados
Máquina De Estados
Máquina De Estados
Máquina De Estados
Máquina De Estados

mwendelezo explicare detalladamente la configuración en cada opción:

conectar:

Tumia mfumo wa API ya kuunda na kutumia maabara ya MODBUS kwa kuchagua "Mwalimu Mkuu Mpya", na uangalie mikataba ya usanidi:

  • Baudrate
  • Usawa
  • Bandari ya Siri (Rasilimali ya Visa)
  • Aina ya Serial (RTU)
  • ID del esclavo.

maelezo:

Kwa maelezo yangu peke yangu utaftaji wa maestro ya kupigia kura kwa sababu ya picha na picha, kwa muda mrefu, kuchagua tu, kutia saini kwa maestro na kufanya kazi kwa mara ya pili Baudrate al esclavo por lo que ya sabia de antemano en que direcciones la la que el maestro accedería. Kwa maana hii ni muhimu kutumia vifaa:

  • Andika coil moja
  • Andika Daftari moja la kushikilia.

leer:

Kwa hiyo, nitajisomea peke yangu kwa sababu ya kusoma na kuandika makosa kidogo na rejista ya pembejeo kama vile mabadiliko ya msingi.

Las funciones utilizadas fueron:

  • Soma Daftari la Kuingiza
  • Soma Coils.

Hatua ya 5: Jopo la mbele

Paneli ya mbele
Paneli ya mbele

El panel frontal en labVIEW se trató lo mejor posible que fuera amigable para el usuario final. Kwa sababu hii tunajua ukweli:

Angalia Instant DMC GUI Suite kwa labVIEW kwa ajili ya kufanya kazi kwa njia inayofaa kwa kupinga na kuonyesha.

2 termómetros (1 para indicar la temperatura en Celsius y otro para indicar la temperatura en Fahrenheit).

"Onyo" linaweza kutekelezwa kwa sababu ya makosa na makosa.

Boti kwa wahariri wa tafrija ya hali ya juu (para que énicamente haga el cambio al registro cuando se es presionado el botón) kwa sababu ya hali hii ni pamoja na kutekelezwa kwa hali ya kawaida kwa sababu sio sahihi.

Boti kwa hariri ya utaftaji wa habari (kwa sababu ya maoni ya watu wote wanaosajiliwa katika eneo la mkutano)

Boon para editar el baudrate del esclavo (para que únicamente haga el cambio al registro cuando se es presionado el boton)

Un boton para "Excepciones" (Para que genere una excepción dependiendo de la función MODBUS seleccionada)

Hatua ya 6: Archivos Python

Katika kumbukumbu hizi ni pamoja na utekelezaji wa MODBUS (Transmisor de temperatura) ambayo inaweza kuhifadhiwa kwa ADC kwa sababu ya kutofautisha hali ya hisia (Simulado en canal 0 con un potenciometro).

Me quedo pendiente kutekeleza las funciones 15 y 16.

Hatua ya 7: HMI

Mwalimu Modbus RTU

Este es el maestro implementado en labVIEW. Hay cosas for mejorar, for ejemplo no pude corregir un error al conectar al primer intento, uchunguzi hakuna ombi linaloweza kutekelezwa kwa aplicarla.

Hatua ya 8: Matokeo ya mwisho

Espero ayudar a algunas personas a comprender mejor la comunicación modbus RTU na una implementación en labVIEW.

Ilipendekeza: