Menu
Umów demo
Nazywanie tematów MQTT dla OEE: jeden wzorzec dla każdej linii

Nazywanie tematów MQTT dla OEE: jeden wzorzec dla każdej linii

Nazywaj tematy MQTT od zakładu w dół: site, area, line, machine, a potem wartość. Jeden stały wzorzec dla każdej linii ułatwia odnajdywanie i łączenie danych OEE.
Nazywanie tematów MQTT dla OEE: jeden wzorzec dla każdej linii

Najważniejsze wnioski

  • Nazwij tematy od zakładu w dół: site, area, line, machine, potem wartość.
  • Używaj stabilnych ID, nie nazw wyświetlanych, małymi literami i bez spacji.
  • Plain MQTT pozwala wybrać strukturę drzewa. Sparkplug B narzuca własny format, umieszczając waszą hierarchię w ID.
  • Trzymaj znacznik czasu w wiadomości, ostemplowany u źródła, nie w topicu.
  • Publikuj tylko zmiany, aby broker przekazywał zdarzenia zamiast szumu.

MQTT przesyła dane zakładowe jako wiadomości na nazwanych topicach. Dla OEE nazwa topicu to sposób, w jaki każdy późniejszy system znajdzie stan maszyny i liczniki. Wybierz jeden wzorzec od zakładu w dół, stosuj go na każdej linii i nigdy nie zmieniaj nazwy topicu, gdy po nim już płyną dane.

Fabrico, oprogramowanie OEE i lekki MES z kamerami AI, rejestruje przestoje automatycznie z sygnału maszyny, bez względu na to, jak ten sygnał jest przesyłany. To, jak dane docierają do Fabrico w Twojej sieci, uzgadniasz z zespołem technicznym Fabrico. Ten przewodnik obejmuje neutralną względem dostawcy stronę nazewnictwa.

Dlaczego nazewnictwo topiców MQTT ma znaczenie dla OEE?

  • Subskrybenci filtrują po topicu. Dobre drzewo pozwala jednemu subskrypcji zebrać każdy filler na danym site.
  • Raporty łączą się po nazwach. ID linii i maszyny w topicach muszą pasować do tych w kalendarzu zmian.
  • Historia podąża za topiciem. Zmienisz nazwę topicu i dane z zeszłego miesiąca wydają się należeć do innej maszyny.

Broker MQTT nie sprawdza nazw za Ciebie. Wzorzec użyty przez pierwszą bramkę staje się wzorcem zakładu — zdecyduj go zanim pierwsza linia zacznie działać.

Jakiego wzorca powinny używać tematy OEE?

Większość zakładów stosuje poziomy ISA-95, które też kształtują ideę zunifikowanej przestrzeni nazw: jedno wspólne drzewo dla całego site. Bramy edge często budują dokładnie takie drzewo z danych PLC.

LevelExampleRule
Siteplant2Stałe site ID, nigdy tylko nazwa miasta
AreapackagingJedno słowo na obszar
Lineline4ID używane w kalendarzu zmian
MachinefillerJedna nazwa na rolę maszyny
Valuestate, total_count, fault_codeJeden topic na wartość, te same nazwy na każdej maszynie

Stąd stan filler na linii 4 znajduje się pod plant2/packaging/line4/filler/state. Nasz przewodnik po unified namespace omawia szerszą ideę.

Jakie zasady utrzymują nazwy topiców w porządku?

  • Tylko małe litery. Topicy MQTT rozróżniają wielkość liter, więc Line4 i line4 to dwa różne topic.
  • Brak spacji i specjalnych znaków. Używaj liter, cyfr i podkreślenia.
  • Nigdy nie używaj + lub # w nazwie. To są wildcardy używane przez subskrybentów.
  • Nie zaczynaj od ukośnika ani od $. Topicy zaczynające się od $ są zarezerwowane dla brokera.
  • Używaj ID, które się nigdy nie zmieniają. "filler" pozostaje "filler", gdy maszyna zostanie wymieniona.
  • Trzymaj jednostki poza nazwą. Umieść jednostkę w wiadomości lub na liście tagów, aby topic nie zmieniał się przy zmianie jednostki.
  • Zapisz wzorzec na jednej stronie i przekaż go każdemu integratorowi zanim podłączą bramkę.

Plain MQTT czy Sparkplug B?

Z plain MQTT projektujesz całe drzewo samodzielnie, jak powyżej. Sparkplug B dodaje stały format topicu, format payload i stan sesji. Jego topicy mają postać spBv1.0/group_id/message_type/edge_node_id/device_id, a część namespace musi być spBv1.0.

W Sparkplug hierarchia zakładu trafia do ID. Grupa może być plant2_packaging, edge node line4_gw, a device filler. Wartości podróżują jako metryki wewnątrz wiadomości, a nie jako osobne topicy. Nasz przewodnik po Sparkplug B wyjaśnia wiadomości birth i death.

Przykład: topicy dla jednej linii

Przykładowa linia (liczby poglądowe, nie klient). Linia 4 ma trzy maszyny: filler, capper i labeller. Każda publikuje pięć wartości: state, total_count, reject_count, fault_code i sku. To 3 x 5 = 15 topiców.

  • plant2/packaging/line4/filler/state
  • plant2/packaging/line4/capper/fault_code
  • plant2/packaging/line4/labeller/total_count

Jedna subskrypcja na plant2/packaging/+/+/state zbiera stan każdej maszyny w packaging. Wildcard + dopasowuje dokładnie jeden poziom.

A teraz wolumen. Polling wszystkich 15 wartości co sekundę wysyła 15 x 3,600 = 54 000 wiadomości na godzinę.

Zamiast tego publikuj stany, błędy i SKU tylko przy zmianie, około 100 wiadomości na godzinę. Wysyłaj dwa liczniki na każdej maszynie co 10 sekund: 3 x 2 x 360 = 2 160 wiadomości. To daje w przybliżeniu 2 260 wiadomości na godzinę, czyli około 96% mniej.

Zobacz te straty na swojej linii

Book a demo

Jakie błędy nazewnictwa sprawiają problemy później?

  • Nazwy wyświetlane w topicach, takie jak "Filler (new)", które zmieniają się, gdy ktoś edytuje ekran.
  • Zmiana nazwy linii po zmianie układu, przez co historia dzieli się na dwie części.
  • Mieszane języki lub pisownie między zakładami, przez co raport grupowy nie może ich połączyć.
  • Jeden gigantyczny topic niosący cały zakład w jednej wiadomości, którego nikt nie potrafi filtrować.
  • Brak znacznika czasu w wiadomości, więc zdarzenia dostają czas przybycia zamiast czasu zdarzenia.

Publikowanie tylko zmian to idea stojąca za report by exception. Nasz artykuł o report by exception vs polling omawia to, a MQTT in manufacturing opisuje protokół.

Ustal liczbę

Open the free OEE calculator

Gdzie pasuje Fabrico?

Fabrico to platforma Manufacturing Performance z wbudowanym computer vision. OEE i lekki MES są na pierwszym miejscu, na jednym zestawie nazw linii i maszyn.

  • Automatyczne rejestrowanie przestojów z sygnału maszyny.
  • Operator potwierdza powód jednym stuknięciem, ponieważ topic niesie stan, nie przyczynę.
  • OEE na żywo według linii i zmiany, z każdą stratą wycenioną w pieniądzu.
  • Jeden widok w skali zakładów, który działa tylko gdy nazwy pasują.

To warstwa OEE light MES. Zaczynasz na jednej linii, z linią bazową i uzgodnioną wcześniej datą decyzji. Nie ma darmowego planu i nie ma poziomów: każdy zakład otrzymuje wycenę.

Najczęściej zadawane pytania

Czym jest konwencja nazewnictwa topiców MQTT?

To stała reguła zakładu określająca, jak budowane są topicy, np. site, area, line, machine i value, w tej kolejności. Każda bramka ją stosuje. Dzięki temu każdy system może znaleźć dane maszyny po nazwie, a raport może połączyć linie i zakłady bez ręcznego mapowania.

Czy topicy MQTT powinny podążać za ISA-95?

Dla OEE to rozsądny wybór. Poziomy ISA-95: site, area, line i machine odpowiadają sposobowi, w jaki zakłady są prowadzone i raportowane. Większość projektów unified namespace używa tej kolejności. Najważniejsze to wybrać jeden wzorzec i stosować go wszędzie.

Jaki jest format topicu Sparkplug B?

Topicy Sparkplug B zaczynają się od spBv1.0, potem group ID, message type, edge node ID i device ID. Część namespace musi być spBv1.0. Hierarchia zakładu trafia do group, node i device ID, a wartości przesyłane są jako metryki w wiadomości.

Jak działają wildcardy MQTT?

Subskrybenci mogą używać dwóch wildcardów. Plus dopasowuje dokładnie jeden poziom, więc plant2/packaging/+/filler/state pasuje do filler na każdej linii packaging. Hash dopasowuje wszystkie pozostałe poziomy, więc plant2/# pasuje do wszystkiego w tym site.

Czy znacznik czasu powinien być w topicu czy w wiadomości?

W wiadomości. Topicy określają skąd pochodzą dane; nie powinny zmieniać się przy każdym zdarzeniu. Ostempluj każde zdarzenie zegarem PLC lub bramki w momencie jego wystąpienia. Umieść ten czas w payloadzie, aby opóźniona wiadomość zachowała swój rzeczywisty czas.

Przynieś drzewo topiców na demo

Przynieś listę linii w swoim zakładzie. Pokażemy zatrzymania i liczniki jednej linii, nazwane tak, jak działa twój zakład.

Request a demo · Contact us

Mierz OEE i przestoje w czasie rzeczywistym
Zobacz, gdzie linie tracą czas
Umów demo na żywo.
Zobacz, gdzie linie tracą czas
Zobacz, gdzie linie tracą czas

Prawdziwe kafelki Fabrico, dane przykładowe.

Klikając przycisk Akceptuj, wyrażasz zgodę na korzystanie z plików cookie podczas uzyskiwania dostępu do tej witryny i korzystania z naszych usług. Aby dowiedzieć się więcej o tym, jak pliki cookie są używane i zarządzane, zapoznaj się z naszą Polityką prywatności Polityka prywatności i Deklaracja plików cookie