Konfigurowanie akceleratora rozwiązania połączonej fabryki
Ważne
Chociaż aktualizujemy ten artykuł, zobacz Azure Industrial IoT (Azure Industrial IoT ), aby uzyskać najbardziej aktualną zawartość.
Akcelerator rozwiązań połączonej fabryki przedstawia symulowany pulpit nawigacyjny fikcyjnej firmy Contoso. Ta firma ma fabryki w wielu globalnych lokalizacjach na całym świecie.
W tym artykule użyto firmy Contoso jako przykładu, aby opisać sposób konfigurowania topologii rozwiązania połączonej fabryki.
Konfiguracja symulowanych fabryk
Każda fabryka Contoso ma linie produkcyjne składające się z trzech stacji. Każda stacja jest prawdziwym serwerem OPC UA z określoną rolą:
- Stacja montażowa
- Stacja testowa
- Stacja pakująca
Te serwery OPC UA mają węzły OPC UA, a wydawca OPC wysyła wartości tych węzłów do połączonej fabryki. Obejmuje to:
- Bieżący stan operacyjny, taki jak bieżące zużycie energii.
- Informacje o produkcji, takie jak liczba wyprodukowanych produktów.
Pulpit nawigacyjny umożliwia przechodzenie do szczegółów topologii fabryki firmy Contoso z widoku globalnego do widoku na poziomie stacji. Pulpit nawigacyjny połączonej fabryki umożliwia:
- Wizualizacja danych OEE i kluczowych wskaźników wydajności dla każdej warstwy w topologii.
- Wizualizacja bieżących wartości węzłów OPC UA na stacjach.
- Agregacja danych OEE i KPI z poziomu stacji do poziomu globalnego.
- Wizualizacja alertów i akcji, które mają być wykonywane, jeśli wartości osiągną określone progi.
Topologia połączonej fabryki
Topologia fabryk, linii produkcyjnych i stacji jest hierarchiczna:
- Poziom globalny ma węzły fabryki jako elementy podrzędne.
- Fabryki mają węzły linii produkcyjnej jako węzły podrzędne.
- Linie produkcyjne mają węzły stacji jako węzły podrzędne.
- Stacje (serwery OPC UA) mają węzły OPC UA jako węzły podrzędne.
Każdy węzeł w topologii ma wspólny zestaw właściwości, które definiują:
- Unikatowy identyfikator węzła topologii.
- Nazwa.
- Opis.
- Obraz.
- Elementy podrzędne węzła topologii.
- Minimalne, docelowe i maksymalne wartości dla danych OEE i KPI oraz akcje alertu do wykonania.
Plik konfiguracji topologii
Aby skonfigurować właściwości wymienione w poprzedniej sekcji, rozwiązanie połączonej fabryki używa pliku konfiguracji o nazwie ContosoTopologyDescription.json.
Ten plik można znaleźć w kodzie źródłowym rozwiązania w folderze WebApp/Contoso/Topology
.
Poniższy fragment kodu przedstawia konspekt ContosoTopologyDescription.json
pliku konfiguracji:
{
<global_configuration>,
"Factories": [
<factory_configuration>,
"ProductionLines": [
<production_line_configuration>,
"Stations": [
<station_configuration>,
<more station_configurations>
],
<more production_line_configurations>
]
<more factory_configurations>
]
}
Typowe właściwości <global_configuration>
, <factory_configuration>
, <production_line_configuration>
i <station_configuration>
to:
Nazwa (ciąg typu)
Definiuje opisową nazwę, która powinna być tylko jednym słowem dla węzła topologii do wyświetlenia na pulpicie nawigacyjnym.
Opis (ciąg typu)
Bardziej szczegółowo opisuje węzeł topologii.
Obraz (ciąg typu)
Ścieżka do obrazu w rozwiązaniu WebApp w celu wyświetlenia informacji o węźle topologii na pulpicie nawigacyjnym.
OeeOverall, OeePerformance, OeeAvailability, OeeQuality, Kpi1, Kpi2 (typ
<performance_definition>
)Te właściwości definiują minimalne, docelowe i maksymalne wartości danych operacyjnych używanych do generowania alertów. Te właściwości definiują również akcje do wykonania w przypadku wykrycia alertu.
Elementy <factory_configuration>
i <production_line_configuration>
mają właściwość:
Guid (ciąg typu)
Jednoznacznie identyfikuje węzeł topologii.
<factory_configuration>
ma właściwość:
Lokalizacja (typ
<location_definition>
)Określa, gdzie znajduje się fabryka.
<station_configuration>
ma właściwości:
OpcUri (ciąg typu)
Ta właściwość musi być ustawiona na identyfikator URI aplikacji OPC UA serwera OPC UA. Ponieważ musi być globalnie unikatowa przez specyfikację OPC UA, ta właściwość służy do identyfikowania węzła topologii stacji.
OpcNodes, które są tablicą węzłów OPC UA (typ
<opc_node_description>
)
<location_definition>
ma właściwości:
Miasto (ciąg typu)
Nazwa miasta znajdującego się najbliżej lokalizacji
Kraj (ciąg typu)
Kraj/region lokalizacji
Szerokość geograficzna (typ podwójny)
Szerokość geograficzna lokalizacji
Długość geograficzna (typ podwójny)
Długość geograficzna lokalizacji
<performance_definition>
ma właściwości:
Minimalna (typ podwójny)
Niższy próg, który może osiągnąć wartość. Jeśli bieżąca wartość jest poniżej tego progu, zostanie wygenerowany alert.
Element docelowy (typ podwójny)
Idealna wartość docelowa.
Maksymalna (typ podwójny)
Górny próg, który może osiągnąć wartość. Jeśli bieżąca wartość przekracza ten próg, zostanie wygenerowany alert.
MinimumAlertActions (typ
<alert_action>
)Definiuje zestaw akcji, które można podjąć jako odpowiedź na minimalny alert.
MaximumAlertActions (typ
<alert_action>
)Definiuje zestaw akcji, które można podjąć jako odpowiedź na maksymalny alert.
<alert_action
> ma właściwości:
Typ (ciąg typu)
Typ akcji alertu. Znane są następujące typy:
- PotwierdzenieAlert: stan alertu powinien ulec zmianie na potwierdzony.
- CloseAlert: wszystkie starsze alerty tego samego typu nie powinny być już wyświetlane na pulpicie nawigacyjnym.
- CallOpcMethod: należy wywołać metodę OPC UA.
- OpenWebPage: powinno zostać otwarte okno przeglądarki z dodatkowymi informacjami kontekstowymi.
Opis (ciąg typu)
Opis akcji wyświetlanej na pulpicie nawigacyjnym.
Parametr (ciąg typu)
Parametry wymagane do wykonania akcji. Wartość zależy od typu akcji.
- PotwierdzenieAlert: brak wymaganego parametru.
- CloseAlert: brak wymaganego parametru.
- CallOpcMethod: informacje o węźle i parametry metody OPC UA do wywołania w formacie "NodeId węzła nadrzędnego, NodeId metody do wywołania, identyfikator URI serwera OPC UA."
- OpenWebPage: adres URL do wyświetlenia w oknie przeglądarki.
<opc_node_description>
zawiera informacje o węzłach OPC UA na stacji (serwer OPC UA). Węzły, które nie reprezentują istniejących węzłów OPC UA, ale są używane jako magazyn w logice obliczeniowej połączonej fabryki są również prawidłowe. Ma następujące właściwości:
NodeId (ciąg typu)
Adres węzła OPC UA w przestrzeni adresowej serwera OPC UA stacji. Składnia musi być określona w specyfikacji OPC UA dla identyfikatora NodeId.
Nazwa symboliczna (ciąg typu)
Nazwa wyświetlana na pulpicie nawigacyjnym po wyświetleniu wartości tego węzła OPC UA.
Istotność (tablica typu ciąg)
Wskazuje, dla których obliczeń OEE lub KPI wartość węzła OPC UA jest odpowiednia. Każdy element tablicy może być jedną z następujących wartości:
- OeeAvailability_Running: wartość jest odpowiednia do obliczenia dostępności OEE.
- OeeAvailability_Fault: wartość jest odpowiednia do obliczenia dostępności OEE.
- OeePerformance_Ideal: wartość jest odpowiednia do obliczania wydajności OEE i jest zazwyczaj wartością stałą.
- OeePerformance_Actual: wartość jest odpowiednia do obliczenia wydajności OEE.
- OeeQuality_Good: wartość jest odpowiednia do obliczania jakości OEE.
- OeeQuality_Bad: wartość jest odpowiednia do obliczenia jakości OEE.
- Kpi1: wartość jest odpowiednia do obliczenia kluczowego wskaźnika wydajności1.
- Kpi2: wartość jest odpowiednia do obliczenia kluczowego wskaźnika wydajności2.
OpCode (ciąg typu)
Wskazuje, jak wartość węzła OPC UA jest obsługiwana w zapytaniach usługi Time Series Insight i obliczeniach OEE/KPI. Każde zapytanie usługi Time Series Insight jest przeznaczone dla określonego przedziału czasu, który jest parametrem zapytania i dostarcza wynik. Kod OpCode steruje sposobem obliczania wyniku i może być jedną z następujących wartości:
- Różnice: różnica między ostatnią i pierwszą wartością w przedziale czasu.
- Średnia: średnia wszystkich wartości w przedziałach czasu.
- Suma: suma wszystkich wartości w przedziałach czasu.
- Ostatni: obecnie nie jest używany.
- Liczba: liczba wartości w przedziałach czasu.
- Maks.: maksymalna wartość w przedziałach czasu.
- Minimalna wartość: minimalna wartość przedziału czasu.
- Const: wynik jest wartością określoną przez właściwość ConstValue.
- SubMaxMin: różnica między maksymalną a minimalną wartością.
- Przedział czasu: przedział czasu.
Jednostki (ciąg typu)
Definiuje jednostkę wartości do wyświetlenia na pulpicie nawigacyjnym.
Widoczne (wartość logiczna typu)
Określa, czy wartość powinna być wyświetlana na pulpicie nawigacyjnym.
ConstValue (wpisz dwukrotnie)
Jeśli kod OpCode to Const, ta właściwość jest wartością węzła.
Minimalna (typ podwójny)
Jeśli bieżąca wartość spadnie poniżej tej wartości, zostanie wygenerowany minimalny alert.
Maksymalna (typ podwójny)
Jeśli bieżąca wartość przekroczy tę wartość, zostanie wygenerowany maksymalny alert.
MinimumAlertActions (typ
<alert_action>
)Definiuje zestaw akcji, które można podjąć jako odpowiedź na minimalny alert.
MaximumAlertActions (typ
<alert_action>
)Definiuje zestaw akcji, które można podjąć jako odpowiedź na maksymalny alert.
Na poziomie stacji zobaczysz również obiekty symulacji . Te obiekty są używane tylko do konfigurowania symulacji połączonej fabryki i nie powinny być używane do konfigurowania rzeczywistej topologii.
Jak dane konfiguracji są używane w czasie wykonywania
Wszystkie właściwości używane w pliku konfiguracji można pogrupować w różne kategorie w zależności od sposobu ich użycia. Te kategorie to:
Wygląd wizualizacji
Właściwości w tej kategorii definiują wygląd wizualny pulpitu nawigacyjnego połączonej fabryki. Oto kilka przykładów:
- Nazwa/nazwisko
- opis
- Image
- Lokalizacja
- Lekcji
- Widoczna
Wewnętrzne adresowanie drzewa topologii
Aplikacja internetowa obsługuje wewnętrzny słownik danych zawierający informacje o wszystkich węzłach topologii. Właściwości Guid i OpcUri są używane jako klucze dostępu do tego słownika i muszą być unikatowe.
Obliczenia OEE/KPI
Dane OEE/KPI dla symulacji połączonej fabryki są sparametryzowane przez:
- Wartości węzła OPC UA, które mają zostać uwzględnione w obliczeniach.
- Sposób obliczania rysunku na podstawie wartości telemetrii.
Połączona fabryka używa formuł OEE opublikowanych przez usługę http://www.oeefoundation.org.
Obiekty węzłów OPC UA na stacjach umożliwiają tagowanie użycia w obliczeniach OEE/KPI. Właściwość Istotność wskazuje, dla której należy użyć wartości węzła OPC UA/OEE/KPI. Właściwość OpCode definiuje sposób uwzględniania wartości w obliczeniach.
Obsługa alertów
Połączona fabryka obsługuje prosty mechanizm generowania alertów oparty na minimalnych/maksymalnych progach. Istnieje wiele wstępnie zdefiniowanych akcji, które można skonfigurować w odpowiedzi na te alerty. Następujące właściwości kontrolują ten mechanizm:
- Maksymalnie
- Minimum
- MaximumAlertActions
- MinimumAlertActions
Korelacja danych telemetrycznych
W przypadku niektórych operacji, takich jak wizualizowanie ostatniej wartości lub tworzenie zapytań usługi Time Series Insight, aplikacja internetowa potrzebuje schematu adresowania dla pozyskanych danych telemetrycznych. Dane telemetryczne wysyłane do połączonej fabryki również muszą być przechowywane w wewnętrznych strukturach danych. Dwie właściwości umożliwiające te operacje znajdują się na poziomie stacji (serwera OPC UA) i węzła OPC UA:
Identyfikator OpcUri
Identyfikuje (globalnie unikatowy) serwer OPC UA, z których pochodzą dane telemetryczne. W pozyskanych komunikatach ta właściwość jest wysyłana jako identyfikator ApplicationUri.
Identyfikator węzła
Identyfikuje wartość węzła na serwerze OPC UA. Format właściwości musi być określony w specyfikacji OPC UA. W pozyskanych komunikatach ta właściwość jest wysyłana jako NodeId.
Zobacz Co to jest wydawca OPC, aby uzyskać więcej informacji na temat sposobu pozyskiwania danych telemetrycznych do połączonej fabryki.
Przykład: jak jest obliczany wskaźnik KPI1
Konfiguracja w ContosoTopologyDescription.json
pliku steruje sposobem obliczania danych OEE/KPI. W poniższym przykładzie pokazano, jak właściwości w tym pliku kontrolują obliczenia kluczowego wskaźnika wydajności1.
W przypadku wskaźnika KPI1 połączonej fabryki służy do mierzenia liczby pomyślnie wyprodukowanych produktów w ciągu ostatniej godziny. Każda stacja (serwer OPC UA) w symulacji połączonej fabryki udostępnia węzeł OPC UA (NodeId: "ns=2;i=385"
), który zapewnia telemetrię do obliczenia tego kluczowego wskaźnika wydajności.
Konfiguracja tego węzła OPC UA wygląda podobnie do następującego fragmentu kodu:
{
"NodeId": "ns=2;i=385",
"SymbolicName": "NumberOfManufacturedProducts",
"Relevance": [ "Kpi1", "OeeQuality_Good" ],
"OpCode": "SubMaxMin"
},
Ta konfiguracja umożliwia wykonywanie zapytań dotyczących wartości telemetrycznych tego węzła przy użyciu usługi Time Series Insights. Zapytanie usługi Time Series Insights pobiera:
- Liczba wartości.
- Minimalna wartość.
- Maksymalna wartość.
- Średnia wszystkich wartości.
- Suma wszystkich wartości dla wszystkich unikatowych par OpcUri (ApplicationUri), NodeId w danym przedkropku.
Jedną z cech wartości węzła NumberOfManufactureredProducts jest to, że zwiększa się tylko. Aby obliczyć liczbę produktów wyprodukowanych w przedziałach czasu, połączona fabryka używa podmaksu OpCode SubMaxMin. Obliczenie pobiera minimalną wartość na początku przedziału czasu i wartość maksymalną na końcu przedziału czasu.
Kod OpCode w konfiguracji konfiguruje logikę obliczeniową, aby obliczyć wynik różnicy maksymalnej i minimalnej wartości. Wyniki te są następnie u dołu do poziomu głównego (globalnego) i wyświetlane na pulpicie nawigacyjnym.
Następne kroki
Sugerowanym następnym krokiem jest dowiedzieć się, jak dostosować rozwiązanie połączonej fabryki.