
Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-23 15:03




Cześć, ten instruktaż pokaże Ci, jak zamienić Raspberry Pi w w pełni programowalne urządzenie automatyki kompatybilne z graficznie zorientowanym językiem programowania sterowników PLC o nazwie Function Block Diagram (część standardu IEC 61131-3). Można to osiągnąć, instalując REXYGEN. Narzędzia programowe REXYGEN są szeroko stosowane w różnych dziedzinach automatyki, sterowania procesami i robotyki.
Celem tego wprowadzenia jest pomoc użytkownikom Raspberry Pi w przezwyciężeniu przejścia od ręcznego kodowania (python, …) do programowania graficznego przy użyciu tak zwanych bloków funkcyjnych i przyspieszenie rozpoczęcia korzystania z narzędzi programowych REXYGEN.
Samouczek poprowadzi Cię przez instalację REXYGEN (zarówno narzędzia programistyczne, jak i rdzeń wykonawczy dla Raspberry Pi) i bardzo prosty przykład integracji DS18B20 jako prostego termostatu bez ręcznego kodowania.
Kieszonkowe dzieci
- Raspberry Pi (B+/2/3/3B+/Zero W)
- Karta SD z najnowszym Raspbianem według Twojego wyboru (https://www.raspberrypi.org/downloads/raspbian/)
Krok 1: Instalacja REXYGEN
Instalacja narzędzi programistycznych w systemie Windows 7/8/10:
- Pobierz instalator z:
- Uruchom plik.exe i postępuj zgodnie z instrukcją instalacji. Zalecana jest opcja pełnej instalacji.
Instalacja środowiska uruchomieniowego na Raspberry Pi:
Twoje Raspberry Pi działa na świeżym i najnowszym Raspbian zgodnie z Twoim wyborem - jeśli nie, zobacz https://www.raspberrypi.org/downloads/raspbian/, aby pobrać obraz i przewodnik instalacji Raspbian.
Na swoim Raspberry Pi zaktualizuj repozytorium pakietów instalacyjnych APT:
aktualizacja sudo apt
Następnie zainstaluj GIT:
sudo apt zainstaluj git
Przejdź do swojego katalogu domowego:
Płyta CD
Pobierz najnowszą wersję skryptów instalacyjnych:
klon git https://github.com/rexcontrols/rex-install-rpi.git --branch v2.50
Zmień katalog roboczy:
cd rex-install-rpi
Uruchom skrypt instalacyjny dla Raspberry Pi:
sudo bash install-rex.sh
Świetny! REXYGEN już działa na Twoim Raspberry Pi. Że tego nie widzisz? Nie martw się!
Zaraz po instalacji moduł uruchomieniowy RexCore jest uruchamiany automatycznie w tle jako demon. RexCore uruchamia się również automatycznie po (ponownym) uruchomieniu systemu.
Darmowa wersja DEMO jest ograniczona do 2 godzin pracy. Po każdym ponownym uruchomieniu masz kolejne 2 godziny na eksperymenty. Możesz kupić stałą licencję już od 45 € za urządzenie.
Krok 2: Pierwszy projekt - Raspberry Pi jako prosty termostat




Zbudujmy termostat
W tym przykładzie Raspberry Pi jest skonfigurowane do działania jako prosty termostat. Temperaturę mierzy czujnik 1-Wire DS18B20 a pin 17 GPIO załącza i wyłącza przekaźnik z histerezą 0,5°C.
Pamiętaj, aby podłączyć czujnik temperatury DS18B20 i przekaźnik 5V zgodnie ze schematem elektrycznym. Nie zapomnij użyć rezystora 4k7 między pinami DATA i VCC DS18B20.
Po przygotowaniu okablowania uruchom program REXYGEN Studio. Wybierz opcję Rozpocznij od przykładowego projektu i wybierz przykład prostego termostatu 0120-22. Wybierz folder, w którym chcesz zapisać pliki projektu (np. D:\FirstProject).
Dowolny blok funkcyjny można skonfigurować, klikając go dwukrotnie. Nie wiesz, co robi konkretny blok funkcyjny? Wybierz go i naciśnij F1, aby uzyskać natychmiastową dokumentację.
Jest tylko jedna rzecz, którą należy skonfigurować - DS18B20 64-bit ROM ID w celu odczytania temperatury.
Wyświetl listę wykrytych urządzeń 1-Wire za pomocą polecenia owdir. Wynik powinien wyglądać tak:
/28.551DDF030000
/bus.1 /bus.0 /uncached /settings /system /statistics /structure /simultaneous /alarm
Pierwsza linia to identyfikator urządzenia DS18B20 - skopiuj go.
Blok funkcyjny OWS to konfiguracja i taktowanie komunikacji 1-Wire. Kliknij dwukrotnie blok funkcyjny OWS i kliknij przycisk Konfiguruj.
Pojawi się okno dialogowe konfiguracji sterownika 1-Wire. Znajdź i zastąp identyfikator urządzenia DS18B20 identyfikatorem urządzenia DS18B20. Zamknij okna dialogowe przyciskami OK.
Opcjonalnie: można również zmienić nastawę temperatury, edytując blok funkcyjny CNR_temperature_sp, w którym można określić żądaną temperaturę. Lub zmień histerezę edytując parametr bloku funkcyjnego CMP_THERMOSTAT.
Projekt jest już gotowy. Skompilujmy to i pobierzmy na Raspberry Pi. Wybierz Projekt -> Kompiluj i Pobierz (lub naciśnij F6) i potwierdź zapisanie przed kompilacją.
Po skompilowaniu projektu pojawi się okno dialogowe Pobierz. Upewnij się, że podałeś adres IP swojego Raspberry Pi w linii Target i naciśnij przycisk Pobierz. Po raz pierwszy zostaniesz poproszony o licencję na swoje Raspberry Pi. Jeśli chcesz wypróbować 2 godziny DEMO, po prostu wybierz Zamów bezpłatną LICENCJĘ DEMO. W przeciwnym razie możesz kupić stałą licencję na
Po zakończeniu pobierania można przełączyć Studio REXYGEN w tzw. tryb Watch i obserwować algorytm sterowania w czasie rzeczywistym – kliknij Watch.
W trybie Watch tło wszystkich plików staje się szare i nie można przenosić ani usuwać żadnych bloków ani połączeń. Kliknij prawym przyciskiem myszy flagę OWS_temperature i wybierz z menu opcję Obejrzyj wybór, aby obejrzeć element online. Powinieneś zobaczyć aktualną temperaturę zmierzoną na DS18B20.
Interesują Cię trendy temperaturowe? Nie ma problemu! Wystarczy dwukrotnie kliknąć jeden z bloków funkcyjnych TRND_* w trybie Watch i zobaczyć dane historyczne z danego okresu.
Krok 3: Wniosek



Przykład termostatu to tylko punkt wyjścia do możliwości REXYGEN. Wymieniłbym kilka cech, które uważam za kluczowe:
- wbudowany HMI - jeden typ generowany automatycznie (WebWatch), jeden typ Simple Buttons and Displays (WebBuDi) i ostatni w pełni edytowalny za pomocą REXYGEN HMI Designer
- REST API - wszystkie stałe projektu, zmienne i sygnały mogą być odczytywane/zapisywane za pomocą REST API
- dostępne różne rodzaje komunikacji - 1-Wire, GPIO, Modbus TCP/RTU, MQTT, Database, Siemens S7, …
- obszerna przykładowa baza danych
- dostępna obszerna dokumentacja - patrz
Nie wiesz od czego zacząć? Przejdź do biblioteki przykładów i rozejrzyj się lub po prostu spróbuj zrobić ten przykład sam od podstaw:)
Zalecana:
Niezawodny, bezpieczny, konfigurowalny pilot SMS (Arduino/pfodApp) - bez kodowania: 4 kroki

Niezawodny, bezpieczny, konfigurowalny pilot SMS (Arduino/pfodApp) - nie wymaga kodowania: aktualizacja 6 lipca 2018 r.: Wersja 3G/2G tego projektu, wykorzystująca SIM5320, jest dostępna tutajAktualizacja: 19 maja 2015 r.: Użyj biblioteki pfodParser w wersji 2.5 lub wyższy. Rozwiązuje zgłoszony problem polegający na tym, że tarcza nie ma wystarczająco dużo czasu, aby połączyć się z
Alarm antywłamaniowy (prosty i bez kodowania): 3 kroki

Alarm włamaniowy (prosty i bez kodowania): Alarm włamaniowy oparty na podczerwieni na poziomie 1 włącza się brzęczyk i wyłącza się po kilku sekundach w
Wprowadzenie do programowania 8051 z AT89C2051 (gość w roli głównej: Arduino): 7 kroków (ze zdjęciami)

Wprowadzenie do programowania 8051 z AT89C2051 (gość w roli głównej: Arduino): 8051 (znany również jako MCS-51) to konstrukcja MCU z lat 80-tych, która pozostaje popularna do dziś. Nowoczesne mikrokontrolery zgodne ze standardem 8051 są dostępne u wielu dostawców, we wszystkich kształtach i rozmiarach oraz z szeroką gamą urządzeń peryferyjnych. W tej instrukcji
Interesujące wskazówki dotyczące programowania dla projektanta - kontrola procesu programowania - instrukcja pętli: 8 kroków

Interesujące wskazówki dotyczące programowania dla projektanta - sterowanie procesem programu - instrukcja pętli: sterowanie procesem programu - instrukcja pętli W tym rozdziale poznasz ważną i potężną instrukcję dotyczącą punktu wiedzy - pętli. Przed przeczytaniem tego rozdziału, jeśli chcesz narysować 10 000 okręgów w programie, możesz zrobić tylko z ter
Bezkosztowa lodówka / podstawka do laptopa (bez kleju, bez wiercenia, bez nakrętek i śrub, bez śrub): 3 kroki

Zero-kosztowa chłodnica / podstawka do laptopa (bez kleju, bez wiercenia, bez nakrętek i śrub, bez śrub): AKTUALIZACJA: PROSZĘ GŁOSOWAĆ NA MÓJ INSTRUKCJONALNY, DZIĘKI ^_^ MOŻESZ RÓWNIEŻ GŁOSOWAĆ NA MÓJ INNY KONKURS WPIS NA www.instructables.com/id/Zero-Cost-Aluminum-Furnace-No-Propane-No-Glue-/ LUB MOŻE GŁOSUJ NA MOJEGO NAJLEPSZEGO PRZYJACIELA