Turinys:
- Prekės
- 1 žingsnis: grandinės
- 2 žingsnis: „Esclavo MODBUS“ir „Raspberry Pi 3B“
- 3 žingsnis: „Maestro LabVIEW“(HMI)
- 4 žingsnis: Máquina De Estados
- 5 žingsnis: priekinis skydelis
- 6 žingsnis: „Python“archyvas
- 7 žingsnis: HMI
- 8 žingsnis: galutinis rezultatas
Video: Simuliatorius Transmisor De Temperatura Modbus („Labview“+ „Raspberry Pi 3“): 8 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
POST ESCRITO EN ESPAÑOL
Simuliuokite grandinės perdavimo temperatūrą, el. Pažvelkite į jutiklio informaciją („Elemento Secundario“), įveskite protokolą „MODBUS RTU“, kuriame yra serijinė informacija apie seriją ir maestro.
Como maestro se elaboró 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:
- Funkcija 0X01
- Funkcija 0x02
- Funkcija 0x03
- Funkcija 0x04
- Funkcija 0x05
- Funkcija 0x06
Sąskaitos registrai įgyvendinami ir el esclavo sūnus:
- Modbuso kryptis (16 bitų)
- „Velocidad de transmisión“(16 bitų)
- Medicinos temperatūra (16 bitų)
- Bitų klaida (1 bitas)
- Pasirinkimo bitas (1 bitas) C o F
- Medicininė medicina (16 bitų)
- Medicininė medicina (16 bitų)
Prekės
- LabVIEW
- Raspberry Pi 3
- ADC MCP3008
- 1 Potenciometro
- Džemperiai
- FTDI (FT232RL)
- Protoboard
1 žingsnis: grandinės
„Circuito MCP3008“ir „Frambuesa Pi“
„Conexión Raspberry Pi 3“ir FTDI:
- GND ir GND
- TX ir RX
- RX ir TX
2 žingsnis: „Esclavo MODBUS“ir „Raspberry Pi 3B“
„Como primer“reikia konfigūruoti ir įdiegti „Raspberry Pi 3B“operacinę sistemą. Sugiero instaliacija NOOBS desde la pagina oficialus. Skaitykite konfigūraciją iš „Raspberry Pi 3B“, naudodamiesi serijiniu ir puerto SPI.
(Personalmente yo me conectó a mi raspi utilizando VNC Viewer para ello hay que activar el servidor VNC de la raspi)
Originalus el valor del ADC atstovas, skirtas temperatūros jutimui ir temperatūrai Celsijaus ir alterio temperatūroje, pasirenkant 1 laipsnį Fahrenheito.
Ya sabiendo todo esto, esclavo MODBUS se realization with Python haciendo uso de la librería Pyserial. Simuliacija transmisoriui su 4 sąrašais:
- Ritės
- Įvesties registrai
- Registrų tvarkymas
- Diskretieji įėjimai
6 elementų sąrašas. Sąrašo aprašymas:
- 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)
- diskretus_įvestis [0] = bitų klaida (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“(temperatūros jutiklio modelio ir potencialo jutiklio jutiklis) priklauso nuo pasirinkimo bitų vertės.
- holdingRegister_lista [0] = esclavo režimas
- holdingRegister_lista [1] = valor de temperatura máxima
- holdingRegister_lista [2] = valor de temperatura mínimo
- holdingRegister_lista [3] = velocidad de transmisión.
Esclavo MODBUS ir asmeninis sprendimas, skirtas asmeniniam naudojimui:
- Temperatūra - 500 laipsnių pagal Celsijų
- Temperatūra - 200 laipsnių Celsijaus
- Baudrate inicial de 9600
- Esclavo kryptis 1
- Unidad de medición inicial en Celsius.
La lógica aplicada es la siguiente:
Pradinis skaitymas bus bus ler 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 and código de excepción 3, seguido de validar si el maestro pedía una directcción implementada sino generar un code 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 ma 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. CRC modulis, pritaikytas CRC modifikavimui, yra pritaikytas prie mūsų kodo
CRC skaičiuoklė
„Códigos de excepción MODBUS“
3 žingsnis: „Maestro LabVIEW“(HMI)
La Creación de un maestro que fuera de cierta manera amigable para and usuario final fue hecha por por medio de labVIEW y librería MODBUS la cual hõlbinti kūrimą ir sukurti maestro MODBUS RTU.
Išsiaiškinkite, kaip maquina de estados en labVIEW con las siguientes opciones:
- iniciat
- sąsaja: „Aquí está el API“sukuria naują „maestro modbus“programą, skirtą serijos „habilitada“.
- escribir: aquí se utiliza la funcion rašyti vieną laikymo registrą ir rašyti vieną ritę
- rašo: konfigūracijos registras ir importo sistemos ritės, skirtos lectura del maestro.
4 žingsnis: Máquina De Estados
tęstinis aiškinimas detalizuojant konfigūraciją ir cada opción:
konektorius:
Naudokite API, kad sukurtumėte naują „MODBUS“maestro pasirinkimą ir pasirinktumėte „New Serial Master“, kurdami konfigūraciją:
- Sparta
- Paritetas
- Serijinis prievadas (vizų šaltinis)
- Serijos tipas (RTU)
- Esclavo ID.
aprašymas:
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 enion a la que el maestro accedería. Jei norite naudoti fueron:
- Parašykite vieną ritę
- Parašykite vieno ūkio registrą.
laiškas:
Skaitykite man įdomiai, skaitykite šiek tiek klaidų ir įveskite registrą asociado a mi variable primaria.
Fuerono naudojimo funkcijos:
- Skaitykite įvesties registrą
- Skaitykite ritinius.
5 žingsnis: priekinis skydelis
El panel frontal en labVIEW se trató lo mejor posible que fuera amigable para el usuario final. Por lo que se realization lo siguiente:
Įdiekite „DMC GUI Suite“, skirtą „LabVIEW“, skirtam dešimčiai ir pagrindinėms ligoms bei kontrolėms ir nurodymams.
2 termometrai (1 indikacinė temperatūros ir Celsijaus ir antroji indikacinė temperatūros temperatūra pagal Farenheitą).
Botonas „Įspėjimas“yra įtrauktas į klaidą ir yra klaidingas.
Botón para editar los rangos de temperatura a medir (para que ú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 inserecto.
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 žingsnis: „Python“archyvas
EN estos archivos está implementado el esclavo MODBUS (Transmisor de temperatura) junto con el archivo ADC para leer la var la de de interés del sensor de temperatura (Simulado en el canal 0 con un potenciometro).
Me quedo pendiente implementar las funciones 15 ir 16.
7 žingsnis: HMI
Pagrindinis „Modbus RTU“
Este es el maestro implementado en labVIEW. Hay cosas para mejorar, por ejemplo no pude correctgir un error all conectar al primer intento, tyrinėti y no encontré una solución para aplicarla.
8 žingsnis: galutinis rezultatas
Espero ayudar ir algunas personas a comprender mejor la comunicación modbus RTU y una implementación en labVIEW.
Rekomenduojamas:
Automatinis EKG grandinės simuliatorius: 4 žingsniai
Automatinis EKG grandinės simuliatorius: elektrokardiograma (EKG) yra galingas metodas, naudojamas paciento širdies elektriniam aktyvumui matuoti. Unikali šių elektrinių potencialų forma skiriasi priklausomai nuo įrašymo elektrodų vietos ir buvo naudojama daugeliui aptikti
„Pasidaryk pats“lenktynių žaidimo simuliatorius: 1 dalis: 6 žingsniai
„Pasidaryk pats“lenktynių žaidimo simuliatorius PASTATAS 1 DALIS: Sveiki visi Sveiki, Šiandien aš jums parodysiu, kaip aš sukuriu „Lenktynių žaidimo simuliatorių“. padedant Arduino UNO. „YouTube“kanalas " būtinai užsiprenumeruokite mano A kanalą (spustelėkite čia) " Tai kūrimo tinklaraštis, taigi le
„Pasidaryk pats“lenktynių žaidimų simuliatorius -- F1 SIMULATORIUS: 5 žingsniai
„Pasidaryk pats“lenktynių žaidimų simuliatorius || F1 simuliatorius: Sveiki visi Sveiki atvykę į mano kanalą. Šiandien aš jums parodysiu, kaip aš sukuriu „Lenktynių žaidimų simuliatorių“. padedant Arduino UNO. tai nėra kūrimo tinklaraštis, tai tik simuliatoriaus apžvalga ir bandymas. Netrukus bus baigtas kurti dienoraštis
Automobilio simuliatorius „Arduino“pedalai: 7 žingsniai (su nuotraukomis)
Automobilių simuliatorius „Arduino“pedalai: Turiu tęstinį projektą sukurti automobilių simuliatorių, o vienas tikslas yra sukurti jausmą, tarsi sėdėtumėte tikrame lenktyniniame automobilyje. Su šia instrukcija paaiškinu, kaip sukonstruoti pedalus prie automobilio simuliatoriaus. Žinoma, galite nusipirkti tokių dalykų, bet aš noriu
„Pasidaryk pats“„Arduino 2d“judesio lenktynių simuliatorius: 3 žingsniai
„Pasidaryk pats“„Arduino 2d“judesio lenktynių simuliatorius: šiose instrukcijose parodysiu, kaip sukurti įdomų vairavimo simuliatorių naudojant „Arduino“mikrovaldiklį ir du mažus servo variklius