Cześć,
Dzielę się projektem, który rozwijam od 2024 roku — zbudowałem lokalny
system MES oparty na Raspberry Pi 5, który podłącza się do przemysłowych
obrabiarek CNC i zbiera dane ze sterowników w czasie rzeczywistym.
Co to robi:
— odczytuje statusy, czasy cykli, alarmy i obciążenie wrzeciona
bezpośrednio ze sterowników (OPC-UA, S7/Siemens PLC, FOCAS/Fanuc, Modbus)
— kolejkuje zlecenia produkcyjne i przypisuje do maszyn
— liczy OEE automatycznie z danych maszynowych, bez ingerencji operatora
— zarządza magazynem narzędzi i materiałów
Stack techniczny:
Raspberry Pi 5 + własne oprogramowanie serwowane lokalnie przez przeglądarkę.
Zero chmury, wszystko w sieci zakładowej. Zdalny dostęp przez VPN (Tailscale)
bez otwierania portów w routerze.
Pierwsze wdrożenie:
2 frezarki AFM BACA R1000 + tokarka AFM VENUS 350 w warsztacie Inframet.
Podłączenie przez adapter S7 (Siemens PLC). Codziennie odzyskujemy minimum
1 godzinę, która wcześniej szła na koordynację — kto co robi, gdzie jest
narzędzie, ile materiału zostało.
Sam jestem technologiem i programistą CNC — buduję to z perspektywy
kogoś pracującego na hali, nie software house'u.
Jeśli ktoś jest ciekaw jak to wygląda w praktyce, postawiłem środowisko
demo online — można się zalogować gotowymi danymi i poklikać bez
rejestracji: https://prodq.app
Chętnie też wyślę Boxa do przetestowania na prawdziwych maszynach
jeśli ktoś ma ochotę — koszt zerowy, wysyłka gratis.
Chętnie odpowiem na pytania o protokoły, adaptery, architekturę RPi.
Kuba
Raspberry Pi 5 jako lokalny serwer MES dla warsztatu CNC — mój projekt
-
czubakjakub
Autor tematu - Nowy użytkownik, używaj wyszukiwarki

- Posty w temacie: 3
- Posty: 3
- Rejestracja: 14 lut 2022, 09:37
- Lokalizacja: Warszawa
- Kontakt:
-
forestgril
- Specjalista poziom 3 (min. 600)

- Posty w temacie: 1
- Posty: 948
- Rejestracja: 09 paź 2023, 10:20
-
czubakjakub
Autor tematu - Nowy użytkownik, używaj wyszukiwarki

- Posty w temacie: 3
- Posty: 3
- Rejestracja: 14 lut 2022, 09:37
- Lokalizacja: Warszawa
- Kontakt:
Re: Raspberry Pi 5 jako lokalny serwer MES dla warsztatu CNC — mój projekt
Rozumiem wrażenie — jest link i oferta testu, więc wygląda reklamowo.
Ale to faktycznie projekt, który sam zbudowałem i używam codziennie
na hali. Jeśli coś konkretnego wzbudza wątpliwości — chętnie odpowiem.
Mogę opisać dokładnie jak działa integracja z S7, jak wygląda odczyt
danych przez OPC-UA, albo co konkretnie robi RPi5 w tej architekturze.
Nie mam problemu z pytaniami technicznymi.
Ale to faktycznie projekt, który sam zbudowałem i używam codziennie
na hali. Jeśli coś konkretnego wzbudza wątpliwości — chętnie odpowiem.
Mogę opisać dokładnie jak działa integracja z S7, jak wygląda odczyt
danych przez OPC-UA, albo co konkretnie robi RPi5 w tej architekturze.
Nie mam problemu z pytaniami technicznymi.
-
czubakjakub
Autor tematu - Nowy użytkownik, używaj wyszukiwarki

- Posty w temacie: 3
- Posty: 3
- Rejestracja: 14 lut 2022, 09:37
- Lokalizacja: Warszawa
- Kontakt:
Re: Raspberry Pi 5 jako lokalny serwer MES dla warsztatu CNC — mój projekt
Obiecałem konkrety, więc poniżej jak to działa pod spodem — bez marketingu,
sama technika. Jak coś jest niejasne albo brzmi naciągane, pytajcie, odpiszę.
ARCHITEKTURA W SKRÓCIE
RPi5 stoi w szafie w sieci zakładowej i robi dwie rzeczy: kolektor danych
z maszyn + serwer aplikacji (UI w przeglądarce w LAN). Żadna dana nie
wychodzi na zewnątrz. Zdalny podgląd robię przez Tailscale (WireGuard),
więc nie otwieram żadnego portu w routerze ani nie wystawiam niczego do netu.
SKĄD BIORĘ DANE (zależnie od sterownika)
— Siemens (u mnie BACA R1000 i VENUS 350): po S7, czytam cyklicznie
konkretne sygnały ze sterownika — stan (praca/stop/alarm), obciążenie
wrzeciona, licznik/czas cyklu. [TU Twój konkret: jaki adapter/biblioteka
S7, co ile sekund pollujesz, z którego DB lecą sygnały]
— Fanuc: przez FOCAS.
— Sterowniki wystawiające OPC-UA: subskrypcja po OPC-UA.
— Proste przypadki / starsze PLC: Modbus TCP.
Nic nie wpisuje operator — dane lecą prosto ze sterownika.
JAK LICZĘ OEE BEZ OPERATORA
OEE = Dostępność × Wydajność × Jakość, liczone z surowych sygnałów:
— Dostępność: z czasu praca/stop/alarm (z sygnałów stanu, nie z kartki).
— Wydajność: rzeczywisty czas cyklu vs nominalny dla danego programu.
— Jakość: z liczby sztuk dobrych/braków.
Klucz w tym, że to leci z maszyny automatycznie — nie z ręcznych wpisów,
które i tak nikt rzetelnie nie prowadzi.
CO RPi5 REALNIE UDŹWIGA
Polling kilku maszyn co kilka sekund + lekka baza lokalna + serwowanie UI
to dla RPi5 (8GB) żaden problem — 24/7, bez wentylatora pod obciążeniem.
3 maszyny, interwał 1s, obciążenie CPU 18%, RAM 2488 MB / 8063 MB
DLACZEGO LOKALNIE, A NIE W CHMURZE
Rysunki techniczne i programy NC to często know-how klienta. U mnie nigdy
nie opuszczają sieci zakładu — to był wymóg od początku, nie dodatek.
Jak kogoś interesuje konkretny kawałek — np. odczyt z S7 albo jak wygląda
liczenie czasu cyklu z sygnału — mogę pokazać zrzut albo opisać dokładniej.


sama technika. Jak coś jest niejasne albo brzmi naciągane, pytajcie, odpiszę.
ARCHITEKTURA W SKRÓCIE
RPi5 stoi w szafie w sieci zakładowej i robi dwie rzeczy: kolektor danych
z maszyn + serwer aplikacji (UI w przeglądarce w LAN). Żadna dana nie
wychodzi na zewnątrz. Zdalny podgląd robię przez Tailscale (WireGuard),
więc nie otwieram żadnego portu w routerze ani nie wystawiam niczego do netu.
SKĄD BIORĘ DANE (zależnie od sterownika)
— Siemens (u mnie BACA R1000 i VENUS 350): po S7, czytam cyklicznie
konkretne sygnały ze sterownika — stan (praca/stop/alarm), obciążenie
wrzeciona, licznik/czas cyklu. [TU Twój konkret: jaki adapter/biblioteka
S7, co ile sekund pollujesz, z którego DB lecą sygnały]
— Fanuc: przez FOCAS.
— Sterowniki wystawiające OPC-UA: subskrypcja po OPC-UA.
— Proste przypadki / starsze PLC: Modbus TCP.
Nic nie wpisuje operator — dane lecą prosto ze sterownika.
JAK LICZĘ OEE BEZ OPERATORA
OEE = Dostępność × Wydajność × Jakość, liczone z surowych sygnałów:
— Dostępność: z czasu praca/stop/alarm (z sygnałów stanu, nie z kartki).
— Wydajność: rzeczywisty czas cyklu vs nominalny dla danego programu.
— Jakość: z liczby sztuk dobrych/braków.
Klucz w tym, że to leci z maszyny automatycznie — nie z ręcznych wpisów,
które i tak nikt rzetelnie nie prowadzi.
CO RPi5 REALNIE UDŹWIGA
Polling kilku maszyn co kilka sekund + lekka baza lokalna + serwowanie UI
to dla RPi5 (8GB) żaden problem — 24/7, bez wentylatora pod obciążeniem.
3 maszyny, interwał 1s, obciążenie CPU 18%, RAM 2488 MB / 8063 MB
DLACZEGO LOKALNIE, A NIE W CHMURZE
Rysunki techniczne i programy NC to często know-how klienta. U mnie nigdy
nie opuszczają sieci zakładu — to był wymóg od początku, nie dodatek.
Jak kogoś interesuje konkretny kawałek — np. odczyt z S7 albo jak wygląda
liczenie czasu cyklu z sygnału — mogę pokazać zrzut albo opisać dokładniej.


-
Bandito
- Specjalista poziom 1 (min. 100)

- Posty w temacie: 1
- Posty: 282
- Rejestracja: 09 maja 2017, 20:42
- Lokalizacja: ;)
Re: Raspberry Pi 5 jako lokalny serwer MES dla warsztatu CNC — mój projekt
Ogólnie Szacun.
Zastanawia mnie sposób określania jakości, czyli ilości wadliwych sztuk. Kto i kiedy wprowadza ilość braków i na jakiej podstawie? Spc, czy kontrola 100%?
Z danych, brakowałoby jeszcze rejestru posuwu i obrotów wrzeciona. Oraz przyrównanie posuwu rzeczywistego, do posuwu optymalnego dobranego z technologiem.
Zastanawia mnie sposób określania jakości, czyli ilości wadliwych sztuk. Kto i kiedy wprowadza ilość braków i na jakiej podstawie? Spc, czy kontrola 100%?
Z danych, brakowałoby jeszcze rejestru posuwu i obrotów wrzeciona. Oraz przyrównanie posuwu rzeczywistego, do posuwu optymalnego dobranego z technologiem.




