Integracja z maszynami – obsługiwane sygnały

System IoT MES ma możliwość integracji z maszynami poprzez protokół MQTT. Bieżący rozdział opisuje dostępne sygnały obsługiwane przez system.

Integracja z maszynami

Poniższa grafika przedstawia uproszczony schemat wymiany informacji między systemami w przykładowym wdrożeniu. Informacje z parku maszynowego są rejestrowane na operacjach produkcyjnych w Comarch IoT MES. Aktualizacja informacji o postępie operacji jest następnie przekazywana do zintegrowanego systemu ERP.

Uproszczony schemat wymiany informacji z Comarch IoT MES

Comarch IoT MES obsługuje informacje przychodzące poprzez protokół MQTT. W celu przeniesienia sygnałów z protokołów stosowanych w przemyśle (przykładowo OPC UA, IO-Link, Profinet) należy zastosować odpowiednie urządzenie, bądź oprogramowanie typu IoT Gateway. Pozwala ono na wysłanie odczytanych informacji w formie wiadomości MQTT.

Uproszczony schemat odczytu informacji z maszyn przez Comarch IoT MES

Dostępne sygnały

Comarch IoT MES umożliwia odczyt 4 typów sygnałów, które są odpowiednio interpretowane w aplikacji:

  • deklaracja wyrobu OK
  • deklaracja wyrobu NOK
  • deklaracja przestoju
  • wartość pomiaru odczytanego przez czujnik

Ten zestaw informacji zapewnia główne informacje konieczne do wyliczenia wskaźnika OEE stanowiska pracy (OEE składa się z 3 elementów – Dostępność, Wydajność, Jakość). Informacja o deklaracji wyrobu jest składową wydajności maszyny. Wiadomość o tym czy wyrobu są prawidłowe lub wadliwe wpływa na wskaźnik jakości. Odczyt danych o przestojach pozwala na wypracowanie dostępności maszyny.

Wiadomości MQTT

Wiadomość MQTT zawiera m.in. informacje związane z adresowaniem wiadomości oraz treść samej wiadomości. Przykładowo: -h address -p 1883 -u username -t topic -P password -m {message}
W ramach tego opisu omówiona zostanie sama treść wiadomości (message). W każdym z przypadków komunikat musi zawierać swój unikalny identyfikator (ID).

Deklaracja wyrobu OK

Przykład
{„id”:”20241015-001″,”type”:”SIGNAL_OK”,”scope”:”WORK_UNIT_2″,”amount”:5,”value”:””}
  • ID – unikalny numer komunikatu;
  • type – typ wiadomości;
  • scope – kod maszyny na jaką wysyłamy wiadomość;
  • amount – ilość zadeklarowanych wyrobów;
  • value – przestrzeń na informacje z etykiety sztuki (opcjonalne)

Po odebraniu komunikatu w systemie powstaje deklaracja wyrobu jak na obrazku poniżej.

Automatyczna deklaracja wyrobu OK

Deklaracja wyrobu NOK

Przykład
{„id”:”20241015-002″,”type”:”SIGNAL_NOK”,”scope”:”WORK_UNIT_2″,”amount”:2,”value”:””}

Identycznie jak w przypadku deklaracji wyrobu OK:

  • ID – unikalny numer komunikatu;
  • type – typ wiadomości;
  • scope – kod maszyny na jaką wysyłamy wiadomość;
  • amount – ilość zadeklarowanych wyrobów;
  • value – przestrzeń na informacje z etykiety sztuki (opcjonalne)

Po odebraniu komunikatu w systemie powstaje deklaracja wyrobu jak na obrazku poniżej.

Automatyczna deklaracja wyrobu NOK

Deklaracja wyrobu OK z kodem partii

Parametr value musi zawierać informację zgodną z konfiguracją trybu skanowania.

Przykładowa konfiguracja trybu skanowania:

Przykład
[
{
„pattern”: „^SN_(\\S+)_(\\S+)_(\\S+)$”,
„materialLotCodeTransformation”: „$2_$3”,
„operationsRequestCodeTransformation”: „$1”
}
]

„operationsRequestCodeTransformation”: „$1” definiuje, że pierwszy z elementów odczytanego kodu informuje o tym, z jakiego zlecenia operacja ma zostać wybrana (na stanowisku pracy nie może być więcej niż 1 operacja z danego zlecenia).
„materialLotCodeTransformation”: „$2_$3” definiuje, jaki kod partii zostanie nadany deklaracji.

Wiadomość zawierająca parametr value:

Przykład
{„id”:”20241015-003″,”type”:”SIGNAL_OK”,”scope”:”WORK_UNIT_2″,”amount”:1,”value”:”SN_ZP-28/24_241015_001″}
Automatyczna deklaracja wyrobu z kodem partii

Deklaracja przestoju

Przykład
{„id”:”20241015-004″,”type”:”WORKING”,”scope”:”WORK_UNIT_2″,”amount”:0}
  • ID – unikalny numer komunikatu;
  • type – typ wiadomości;
  • scope – kod maszyny na jaką wysyłamy wiadomość;
  • amount – stan pracy maszyny. 1 – praca, 0 – przestój;

Po odebraniu przykładowego komunikatu w systemie rozpoczyna się przestój.

Automatyczna deklaracja przestoju

Aby zakończyć przestój należy przesłać komunikat z wartością 1.

Przykład
{„id”:”20241015-005″,”type”:”WORKING”,”scope”:”WORK_UNIT_2″,”amount”:1}

Wartość pomiaru odczytanego przez czujnik

Przykład
{„id”:”20241015-006″,
„type”:”QUALITY_CONTROL_VALUE”,”scope”:”kod_urządzenia”,”value”:”30.5″}
  • ID – unikalny numer komunikatu;
  • type – typ wiadomości;
  • scope – kod urządzenia z jakiego pochodzi pomiar;
  • value – wartość odczytanego pomiaru (zapisana jako STRING);
Wskazówka
Plan kontroli określa jaka klasa urządzeń jest wykorzystywana w danej czynności kontrolnej. Aby wartość pomiaru była odczytana na wybranej czynności kontroli, wybrane przez scope urządzenie musi należeć do zdefiniowanej w planie kontroli klasie urządzeń.

Po zakończeniu pomiaru i wysłaniu wyniku należy wywołać odczytanie zarejestrowanej wartości wskazanym poniżej przyciskiem.

Wywołanie odczytu zapisanej w systemie wartości pomiaru

Po pomyślnym odczycie, wartość jest wpisana do czynności kontroli.

Odczytana wartość pomiaru z urządzenia

Czy ten artykuł był pomocny?