Sdílet prostřednictvím


Kurz: Implementace referenční architektury řešení Azure Industrial IoT

Výrobci chtějí nasadit celkové průmyslové řešení IoT v globálním měřítku a propojit všechny své výrobní lokality s tímto řešením, aby se zvýšila efektivita jednotlivých výrobních lokalit.

Tyto zvýšené efektivity vedou k rychlejší výrobě a nižší spotřebě energie, což ve většině případů vede ke snížení nákladů na vyrobené zboží a zároveň zvýšení jejich kvality.

Řešení musí být co nejefektivnější a povolit všechny požadované případy použití, jako je monitorování stavu, výpočet OEE, prognózování a detekce anomálií. Z přehledů získaných z těchto případů použití je možné v druhém kroku vytvořit smyčku digitální zpětné vazby, která pak může použít optimalizace a další změny v produkčních procesech.

Interoperabilita je klíčem k dosažení rychlého zavedení architektury řešení a použití otevřených standardů, jako je OPC UA, výrazně pomáhá s dosažením této interoperability.

IEC 62541 Open Platform Communications Unified Architecture (OPC UA)

Toto řešení používá iec 62541 Open Platform Communications (OPC) Unified Architecture (UA) pro všechna data OT (Operational Technology). Tento standard je zde popsaný.

Architektura referenčních řešení

Zjednodušená architektura (azure i možnosti prostředků infrastruktury):

Diagram jednoduché architektury IIoT

Podrobná architektura (jenom Azure):

Diagram architektury IIoT

Komponenty

Toto jsou komponenty, které jsou součástí tohoto řešení:

Komponenta Popis
Průmyslové prostředky Sada simulovaných produkčních linek povolených OPC UA hostovaných v kontejnerech Dockeru
Operace Azure IoT Azure IoT Operations je jednotná rovina dat pro hraniční zařízení. Zahrnuje sadu modulárních, škálovatelných a vysoce dostupných datových služeb, které běží na hraničních clusterech Kubernetes s podporou Azure Arc.
Brána dat Tato brána připojuje vaše místní zdroje dat (jako SAP) ke službě Azure Logic Apps v cloudu.
Azure Event Hubs Zprostředkovatel cloudových zpráv, který přijímá zprávy OPC UA PubSub z hraničních bran a ukládá je, dokud je nenačtou předplatitelé.
Azure Data Explorer Databáze časových řad a služba front-endového řídicího panelu pro pokročilé cloudové analýzy, včetně integrované detekce anomálií a předpovědí.
Azure Logic Apps Azure Logic Apps je cloudová platforma, kterou můžete použít k vytváření a spouštění automatizovaných pracovních postupů s minimálním nebo žádným kódem.
Azure Arc Tato cloudová služba slouží ke správě místního clusteru Kubernetes na hraničních zařízeních. Nové úlohy je možné nasadit prostřednictvím fluxu.
Azure Managed Grafana Azure Managed Grafana je platforma pro vizualizaci dat založená na softwaru Grafana od Grafana Labs. Grafana je plně spravovaná služba, kterou microsoft hostuje a podporuje.
Microsoft Power BI Microsoft Power BI je kolekce softwarových služeb, aplikací a konektorů SaaS, které spolupracují a umožňují přeměnit nesouvisející zdroje dat na koherentní, vizuálně imerzivní a interaktivní přehledy.
Microsoft Dynamics 365 Field Service Microsoft Dynamics 365 Field Service je řešení SaaS na klíč pro správu služby u zákazníků požadavků.
UA Cloud Commander Tato opensourcová referenční aplikace převádí zprávy odeslané na přenos telemetrie front zpráv (MQTT) nebo zprostředkovatele Kafka (pravděpodobně v cloudu) na požadavky klienta nebo serveru OPC UA na připojený server OPC UA. Aplikace běží v kontejneru Dockeru.
Akce cloudu UA Tato opensourcová referenční cloudová aplikace dotazuje Azure Data Explorer na konkrétní hodnotu dat. Hodnota dat je tlak v jednom ze simulovaných strojů výrobní linky. Při dosažení určité prahové hodnoty (4 000 mbar) volá UA Cloud Commander přes Azure Event Hubs. UA Cloud Commander pak zavolá metodu OpenPressureReliefValve na počítači prostřednictvím OPC UA.
Cloudová knihovna UA Cloudová knihovna UA je online úložiště informačních modelů OPC UA, které zde hostuje nadace OPC.
Překladač UA Edge Tato opensourcová referenční aplikace pro průmyslové připojení se překládá z proprietárních rozhraní assetů na OPC UA pomocí popisu věcí W3C Web of Things (WoT) jako schématu popisovaného rozhraní průmyslových prostředků.

Poznámka:

Při skutečném nasazení by se v místním prostředí provádělo něco tak kritického jako otevření ventilu pro odlehčení tlaku. Toto je jen jednoduchý příklad toho, jak dosáhnout smyčky digitální zpětné vazby.

Cloudová knihovna UA

Pokud chcete číst informační modely OPC UA přímo z Azure Data Exploreru, můžete importovat uzly OPC UA definované v informačním modelu OPC UA do tabulky. Importované informace můžete použít k vyhledání dalších metadat v dotazech.

Nejprve nakonfigurujte zásadu popisku Azure Data Exploreru (ADX) pro cloudovou knihovnu UA spuštěním následujícího dotazu v clusteru ADX. Než začnete, ujistěte se, že jste správce clusteru ADX, který můžete nakonfigurovat na webu Azure Portal tak, že přejdete na kartu Oprávnění na kartě ADX .

.alter cluster policy callout @'[{"CalloutType": "webapi","CalloutUriRegex": "uacloudlibrary.opcfoundation.org","CanCall": true}]'

Pak na webu Azure Portal spusťte následující dotaz Azure Data Exploreru:

let uri='https://uacloudlibrary.opcfoundation.org/infomodel/download/\<insert information model identifier from the UA Cloud Library here\>';
let headers=dynamic({'accept':'text/plain'});
let options=dynamic({'Authorization':'Basic \<insert your cloud library credentials hash here\>'});
evaluate http_request(uri, headers, options)
| project title = tostring(ResponseBody.['title']), contributor = tostring(ResponseBody.contributor.name), nodeset = parse_xml(tostring(ResponseBody.nodeset.nodesetXml))
| mv-expand UAVariable=nodeset.UANodeSet.UAVariable
| project-away nodeset
| extend NodeId = UAVariable.['@NodeId'], DisplayName = tostring(UAVariable.DisplayName.['#text']), BrowseName = tostring(UAVariable.['@BrowseName']), DataType = tostring(UAVariable.['@DataType'])
| project-away UAVariable
| take 10000

V tomto dotazu musíte zadat dvě věci:

  • Jedinečné ID modelu informací z knihovny cloudu UA a jeho zadání do identifikátoru <modelu vložení z cloudové knihovny sem> v dotazu ADX.
  • Vaše přihlašovací údaje cloudové knihovny UA (vygenerované během registrace) hodnoty hash základní autorizační hlavičky a vložte je do <pole hash přihlašovacích údajů cloudové knihovny v> poli dotazu ADX. Použijte nástroje, jako https://www.debugbear.com/basic-auth-header-generator je generování hodnoty hash.

Pokud například chcete vykreslit model informací serveru OPC UA Server pro simulaci výrobní linky v nástroji Kusto Explorer, který je k dispozici ke stažení, spusťte následující dotaz:

let uri='https://uacloudlibrary.opcfoundation.org/infomodel/download/1627266626';
let headers=dynamic({'accept':'text/plain'});
let options=dynamic({'Authorization':'Basic \<insert your cloud library credentials hash here\>'});
let variables = evaluate http_request(uri, headers, options)
    | project title = tostring(ResponseBody.['title']), contributor = tostring(ResponseBody.contributor.name), nodeset = parse_xml(tostring(ResponseBody.nodeset.nodesetXml))
    | mv-expand UAVariable = nodeset.UANodeSet.UAVariable
    | extend NodeId = UAVariable.['@NodeId'], ParentNodeId = UAVariable.['@ParentNodeId'], DisplayName = tostring(UAVariable['DisplayName']), DataType = tostring(UAVariable.['@DataType']), References = tostring(UAVariable.['References'])
    | where References !contains "HasModellingRule"
    | where DisplayName != "InputArguments"
    | project-away nodeset, UAVariable, References;
let objects = evaluate http_request(uri, headers, options)
    | project title = tostring(ResponseBody.['title']), contributor = tostring(ResponseBody.contributor.name), nodeset = parse_xml(tostring(ResponseBody.nodeset.nodesetXml))
    | mv-expand UAObject = nodeset.UANodeSet.UAObject
    | extend NodeId = UAObject.['@NodeId'], ParentNodeId = UAObject.['@ParentNodeId'], DisplayName = tostring(UAObject['DisplayName']), References = tostring(UAObject.['References'])
    | where References !contains "HasModellingRule"
    | project-away nodeset, UAObject, References;
let nodes = variables
    | project source = tostring(NodeId), target = tostring(ParentNodeId), name = tostring(DisplayName)
    | join kind=fullouter (objects
        | project source = tostring(NodeId), target = tostring(ParentNodeId), name = tostring(DisplayName)) on source
        | project source = coalesce(source, source1), target = coalesce(target, target1), name = coalesce(name, name1);
let edges = nodes;
edges
    | make-graph source --> target with nodes on source

Nejlepších výsledků dosáhnete tak, že Layout změníte možnost na Grouped a na Labels name.

Graf informačního modelu stanice

Simulace výrobní linky

Řešení používá simulaci výrobní linky tvořenou několika stanicemi, pomocí informačního modelu OPC UA a jednoduchého systému meS (Manufacturing Execution System). Stanice i MES jsou kontejnerizovány pro snadné nasazení.

Výchozí konfigurace simulace

Simulace je nakonfigurovaná tak, aby zahrnovala dvě výrobní linky. Výchozí konfigurace je:

Výrobní linka Ideální doba cyklu (v sekundách)
Mnichov 6
Seattle 10
Název směny Zahájení End
Ráno 07:00 14:00
Odpoledne 15:00 22:00
V noci 23:00 06:00

Poznámka:

Časy směn jsou v místním čase, konkrétně časové pásmo, na které je virtuální počítač hostující simulaci výrobní linky nastavený.

ID uzlů OPC UA serveru OPC UA

Následující ID uzlů OPC UA se používají na serveru OPC UA pro telemetrii do cloudu.

  • i=379 - výrobní sériové číslo výrobku
  • i=385 - počet vyrobených výrobků
  • i=391 – počet zahozených produktů
  • i=398 – doba běhu
  • i=399 – chybný čas
  • i=400 - stav (0=stanice připravená k práci, 1=probíhající práce, 2=práce a dobrá část vyrobena, 3=práce a výstřižky vyrobené, 4=stanice ve stavu selhání)
  • i=406 - spotřeba energie
  • i=412 - ideální doba cyklu
  • i=418 – skutečná doba cyklu
  • i=434 - tlak

Smyčka digitální zpětné vazby s UA Cloud Commanderem a akcí cloudu UA

Tato část ukazuje, jak implementovat smyčku digitální zpětné vazby. Pokud chcete vytvořit smyčku zpětné vazby, aktivujete příkaz na jednom ze serverů OPC UA v simulaci z cloudu. Aktivační událost je založená na datech časových řad, která dosáhnou určité prahové hodnoty simulovaného tlaku. Tlak počítače sestavení můžete vidět na řídicím panelu Azure Data Exploreru. Tlak se uvolní v pravidelných intervalech pro výrobní linku Seattle.

Instalace simulace výrobní linky a cloudových služeb

Výběrem tlačítka Nasadit nasaďte všechny požadované prostředky v Microsoft Azure:

Nasazení do Azure

Během nasazování musíte zadat heslo pro virtuální počítač používaný k hostování simulace produkční linky a pro UA Cloud Twin. Heslo musí mít tři z následujících atributů: jedno malé písmeno, jedno velké písmeno, jedno číslo a jeden speciální znak. Heslo musí mít délku 12 až 72 znaků.

Poznámka:

Aby se ušetřily náklady, nasazení nasadí jeden virtuální počítač s Windows 11 Enterprise pro simulaci produkční linky i infrastrukturu Edge. V produkčních scénářích není simulace výrobní linky nutná a pro základní operační systém doporučujeme kanál dlouhodobé údržby Windows IoT Enterprise (LTSC).

Po dokončení nasazení se připojte k nasazeným virtuálnímu počítači s Windows pomocí připojení RDP (vzdálená plocha). Soubor RDP si můžete stáhnout na stránce webu Azure Portal pro virtuální počítač v části Možnosti připojení . Přihlaste se pomocí přihlašovacích údajů, které jste zadali během nasazování, otevřete příkazový řádek windows a nainstalujte Subsystém Windows pro Linux (WSL) prostřednictvím:

    wsl --install

Po dokončení příkazu restartujte virtuální počítač a znovu se přihlaste. Příkazový řádek dokončí instalaci WSL a zobrazí se výzva k zadání nového uživatelského jména a hesla pro WSL. Pak nainstalujte K3S, jednoduchý modul runtime Kubernetes, a to prostřednictvím:

    curl -sfL https://get.k3s.io | sh

Teď můžete spustit simulaci výrobní linky.

Spuštění simulace výrobní linky

Z nasazeného virtuálního počítače spusťte příkazový řádek Windows, zadejte wsl a stiskněte Enter. Přejděte do /mnt/c/ManufacturingOntologies-main/Tools/FactorySimulation adresáře a spusťte skript prostředí StartSimulation :

    sudo ./StartSimulation.sh "<EventHubsCS>"

Poznámka:

<EventHubCS>je obor názvů služby Event Hubs připojovací řetězec, jak je popsáno zde.

Příklad: StartSimulation "Endpoint=sb://ontologies.servicebus.windows.net/; SharedAccessKeyName=RootManageSharedAccessKey; SharedAccessKey=abcdefgh="

Poznámka:

Pokud se externí IP adresa služby Kubernetes zobrazí jako <pending>, můžete k ní přiřadit externí IP adresu traefik služby.sudo kubectl patch service <theService> -n <the service's namespace> -p '{"spec": {"type": "LoadBalancer", "externalIPs":["<the traefik external IP address>"]}}'

Poznámka:

Chcete-li zabránit automatickému vypnutí WSL (a K3s), nechte příkazový řádek WSL otevřený.

Nasazení operací Azure IoT na hraniční zařízení

Před nasazením ověřte, že jste spustili simulaci výrobní linky. Pak postupujte podle těchto pokynů, jak je popsáno tady.

Monitorování podmínek použití, výpočet OEE, detekce anomálií a vytváření předpovědí v Azure Data Exploreru

Můžete také navštívit dokumentaci k Azure Data Exploreru a zjistit, jak vytvářet řídicí panely bez kódu pro monitorování podmínek, předpovědi výnosu nebo údržby nebo detekci anomálií. Tady jsme vám poskytli ukázkový řídicí panel pro nasazení na řídicí panel ADX podle zde uvedených kroků. Po importu je potřeba aktualizovat zdroj dat řídicího panelu zadáním koncového bodu HTTPS instance clusteru serveru ADX ve formátu https://ADXInstanceName.AzureRegion.kusto.windows.net/ v pravém horním rohu řídicího panelu.

Snímek obrazovky s řídicím panelem Azure Data Exploreru

Poznámka:

Pokud chcete zobrazit OEE pro konkrétní směnu, vyberte v rozevíracím seznamu Časový rozsah v levém horním rohu řídicího panelu ADX vlastní časový rozsah a zadejte datum a čas od začátku do konce směny, kterou vás zajímá.

Vykreslení integrovaného grafu modelu UNS (Unified NameSpace) a ISA-95 v Nástroji Kusto Explorer

Toto referenční řešení implementuje unified NameSapce (UNS) na základě metadat OPC UA odesílaných do databáze časových řad v cloudu (Azure Data Explorer). Tato metadata OPC UA také zahrnují hierarchii prostředků ISA-95. Výsledný graf lze snadno vizualizovat v nástroji Kusto Explorer, který je k dispozici ke stažení zde.

Přidejte nové připojení k instanci Azure Data Exploreru nasazené v tomto referenčním řešení a pak v Nástroji Kusto Explorer spusťte následující dotaz:

let edges = opcua_metadata_lkv
| project source = DisplayName, target = Workcell
| join kind=fullouter (opcua_metadata_lkv
    | project source = Workcell, target = Line) on source
    | join kind=fullouter (opcua_metadata_lkv
        | project source = Line, target = Area) on source
        | join kind=fullouter (opcua_metadata_lkv
            | project source = Area, target = Site) on source
            | join kind=fullouter (opcua_metadata_lkv
                | project source = Site, target = Enterprise) on source
                | project source = coalesce(source, source1, source2, source3, source4), target = coalesce(target, target1, target2, target3, target4);
let nodes = opcua_metadata_lkv;
edges | make-graph source --> target with nodes on DisplayName

Nejlepších výsledků dosáhnete tak, že Layout změníte možnost na Grouped.

Graf znázorňující hierarchii prostředků ISA-95

Použití služby Azure Managed Grafana

Grafana můžete také použít k vytvoření řídicího panelu v Azure pro řešení popsané v tomto článku. Grafana se používá ve výrobě k vytváření řídicích panelů, které zobrazují data v reálném čase. Azure nabízí službu s názvem Azure Managed Grafana. Pomocí Grafany můžete vytvářet cloudové řídicí panely. V tomto konfiguračním manuálu povolíte Grafana v Azure a vytvoříte řídicí panel s daty, která se dotazují z Azure Data Exploreru a služby Azure Digital Twins. Použijete simulovaná data výrobní linky z tohoto referenčního řešení.

Následující snímek obrazovky ukazuje řídicí panel:

Snímek obrazovky znázorňující řídicí panel Grafana

Povolení služby Azure Managed Grafana

  1. Přejděte na web Azure Portal a vyhledejte službu Grafana a vyberte službu Azure Managed Grafana .

    Snímek obrazovky s povolením Grafany na Marketplace

  2. Dejte instanci název a ponechte standardní možnosti zapnuté – a vytvořte službu.

  3. Po vytvoření služby přejděte na adresu URL, kde přistupujete k instanci Grafany. Adresu URL najdete na domovské stránce služby.

Přidání nového zdroje dat v Grafana

Po prvním přihlášení budete muset do Azure Data Exploreru přidat nový zdroj dat.

  1. Přejděte do části Konfigurace a přidejte nový zdroj dat.

  2. Vyhledejte Azure Data Explorer a vyberte službu.

  3. Nakonfigurujte připojení a použijte registraci aplikace (postupujte podle návodu uvedeného v horní části této stránky).

  4. Uložte a otestujte připojení v dolní části stránky.

Import ukázkového řídicího panelu

Teď jste připraveni importovat poskytnutý ukázkový řídicí panel.

  1. Stáhněte si ukázkový řídicí panel zde: Ukázkový řídicí panel pro výrobu Grafana.

  2. Přejděte na řídicí panel a vyberte Importovat.

  3. Vyberte zdroj, který jste stáhli, a vyberte Uložit zobrazí chybu na stránce, protože ještě nejsou nastaveny dvě proměnné. Přejděte na stránku nastavení řídicího panelu.

  4. Vyberte proměnné a aktualizujte dvě adresy URL adresou URL vaší služby Azure Digital Twins.

  5. Přejděte zpět na řídicí panel a stiskněte tlačítko Aktualizovat. Teď byste měli vidět data (nezapomeňte na řídicím panelu stisknout tlačítko Uložit).

    Proměnná umístění v horní části stránky se automaticky vyplní daty z Azure Digital Twins (uzly oblastí z ISA95). Tady můžete vybrat různá umístění a zobrazit různé datové body každé továrny.

  6. Pokud se data nezobrazují na řídicím panelu, přejděte na jednotlivé panely a zkontrolujte, jestli je vybraný správný zdroj dat.

Konfigurace upozornění

V rámci Grafany je také možné vytvořit upozornění. V tomto příkladu vytvoříme nízké upozornění OEE pro jednu z výrobních linek.

  1. Přihlaste se ke službě Grafana a v nabídce vyberte Pravidla upozornění.

    Snímek obrazovky znázorňující navigaci na výstrahy

  2. Vyberte Vytvořit pravidlo upozornění.

    Snímek obrazovky, který ukazuje, jak vytvořit pravidlo upozornění

  3. Pojmenujte upozornění a jako zdroj dat vyberte Azure Data Explorer . Výběr dotazu v navigačním podokně

    Snímek obrazovky s vytvořením dotazu na upozornění

  4. Do pole dotazu zadejte následující dotaz. V tomto příkladu používáme výrobní linku Seattle.

    let oee = CalculateOEEForStation("assembly", "seattle", 6, 6);
    print round(oee * 100, 2)
    
  5. Vyberte tabulku jako výstup.

  6. Posuňte se dolů k další části. Tady nakonfigurujete prahovou hodnotu upozornění. V tomto příkladu jako prahovou hodnotu použijeme hodnotu nižší než 10, ale v produkčních prostředích může být tato hodnota vyšší.

    Snímek obrazovky znázorňující upozornění na prahovou hodnotu

  7. Vyberte složku, do které chcete výstrahy uložit, a nakonfigurujte chování vyhodnocení výstrah. Vyberte možnost každých 2 minuty.

  8. Vyberte tlačítko Uložit a ukončit.

V přehledu vašich upozornění se teď zobrazí upozornění, které se aktivuje, když je vaše zařízení OEE menší než 10.

Snímek obrazovky s přehledem upozornění

Toto nastavení můžete integrovat například se službou Microsoft Dynamics Field Services.

Připojení referenčního řešení k Microsoft Power BI

Pokud chcete připojit referenční řešení Power BI, potřebujete přístup k předplatnému Power BI.

Proveďte následující kroky:

  1. Odtud nainstalujte aplikaci Power BI Desktop.

  2. Přihlaste se k aplikaci Power BI Desktop pomocí uživatele s přístupem k předplatnému Power BI.

  3. Na webu Azure Portal přejděte do instance databáze Azure Data Exploreru (ontologies) a přidejte Database Admin oprávnění k uživateli Azure Active Directory s přístupem jenom k jednomu předplatnému Azure, konkrétně k předplatnému používanému pro nasazenou instanci tohoto referenčního řešení. Pokud potřebujete, vytvořte nového uživatele v Azure Active Directory.

  4. V Power BI vytvořte novou sestavu a vyberte data časové řady Azure Data Exploreru jako zdroj dat prostřednictvím Získání dat > Azure > Data Exploreru (Kusto).

  5. V místním okně zadejte koncový bod Azure Data Exploreru vaší instance (například https://erichbtest3adx.eastus2.kusto.windows.net), název databáze (ontologies) a následující dotaz:

    let _startTime = ago(1h);
    let _endTime = now();
    opcua_metadata_lkv
    | where Name contains "assembly"
    | where Name contains "munich"
    | join kind=inner (opcua_telemetry
        | where Name == "ActualCycleTime"
        | where Timestamp > _startTime and Timestamp < _endTime
    ) on DataSetWriterID
    | extend NodeValue = todouble(Value)
    | project Timestamp, NodeValue
    
  6. Vyberte Načíst. Tato akce importuje skutečnou dobu cyklu montážní stanice mnichovské výrobní linky za poslední hodinu.

  7. Po zobrazení výzvy se přihlaste k Azure Data Exploreru pomocí uživatele Azure Active Directory, který jste udělili oprávnění pro přístup k databázi Azure Data Exploreru dříve.

  8. Ve sloupci Data viewNodeValue vyberte sloupec NodeValue a v položce nabídky Souhrn nevyhrávejte souhrn.

  9. Přepněte na tlačítko Report view.

  10. V části Vizualizace vyberte vizualizaci spojnicového grafu .

  11. V části Vizualizace přesuňte Timestamp zdroj Data na X-axispoložku , vyberte ji a vyberte Časové razítko.

  12. V části Vizualizace přesuňte NodeValue zdroj Data na Y-axispoložku , vyberte ji a vyberte Medián.

  13. Uložte novou sestavu.

    Poznámka:

    Do sestavy můžete přidat další data z Azure Data Exploreru.

    Snímek obrazovky se zobrazením Power BI

Připojení referenčního řešení ke službě Microsoft Dynamics 365 Field Service

Tato integrace předvádí následující scénáře:

  • Nahrání prostředků z referenčního řešení Manufacturing Ontologies do služby Dynamics 365 Field Service
  • Vytváření upozornění ve službě Dynamics 365 Field Service při dosažení určité prahové hodnoty pro data telemetrie řešení pro výrobní ontologie.

Integrace používá Azure Logics Apps. S aplikacemi a službami Logic Apps se dají propojit prostřednictvím pracovních postupů bez kódu. Načteme informace z Azure Data Exploreru a aktivujeme akce ve službě Dynamics 365 Field Service.

Pokud ještě nejste zákazníkem služby Field Service Dynamics 365, aktivujte tady 30denní zkušební verzi. Nezapomeňte použít stejné ID Microsoft Entra (dříve Azure Active Directory) používané při nasazování referenčního řešení Manufacturing Ontologies. Jinak byste museli nakonfigurovat ověřování mezi tenanty, které není součástí těchto pokynů.

Vytvoření pracovního postupu aplikace logiky Azure pro vytváření prostředků ve službě Dynamics 365 Field Service

Začněme nahráváním prostředků z výrobních ontologií do služby Dynamics 365 Field Service:

  1. Přejděte na web Azure Portal a vytvořte novou aplikaci logiky.

  2. Pojmenujte aplikaci logiky Azure a umístěte ji do stejné skupiny prostředků jako referenční řešení Pro výrobu ontologií.

  3. Vyberte Pracovní postupy.

  4. Pojmenujte svůj pracovní postup – pro tento scénář používáme stavový typ, protože prostředky nejsou toky dat.

  5. Vytvořte novou aktivační událost. Začneme vytvořením triggeru opakování. Databáze se tak kontroluje každý den, pokud se vytvoří nové prostředky. Trigger můžete změnit tak, aby k němu docházelo častěji.

  6. V akcích vyhledejte Azure Data Explorer a vyberte příkaz Spustit dotaz KQL. V rámci tohoto dotazu zkontrolujeme, jaký druh prostředků máme. Pomocí následujícího dotazu získejte prostředky a vložte ho do pole dotazu:

    let ADTInstance =  "PLACE YOUR ADT URL";let ADTQuery = "SELECT T.OPCUAApplicationURI as AssetName, T.$metadata.OPCUAApplicationURI.lastUpdateTime as UpdateTime FROM DIGITALTWINS T WHERE IS_OF_MODEL(T , 'dtmi:digitaltwins:opcua:nodeset;1') AND T.$metadata.OPCUAApplicationURI.lastUpdateTime > 'PLACE DATE'";evaluate azure_digital_twins_query_request(ADTInstance, ADTQuery)
    
  7. Pokud chcete data assetu získat do služby Dynamics 365 Field Service, musíte se připojit k Microsoft Dataverse. Připojte se k instanci služby Dynamics 365 Field Service a použijte následující konfiguraci:

    • Použití názvu tabulky Assets (Prostředky zákazníka)
    • Vložte vlastnost AssetName do pole Název.
  8. Uložte pracovní postup a spusťte ho. Později uvidíte, že se v Dynamics 365 Field Service vytvoří nové prostředky.

Vytvoření pracovního postupu aplikace logiky Azure pro vytváření upozornění ve službě Dynamics 365 Field Service

Tento pracovní postup vytváří výstrahy ve službě Dynamics 365 Field Service, konkrétně v případě, že je dosaženo určité prahové hodnoty FaultyTime u prostředku referenčního řešení Manufacturing Ontologies.

  1. Nejprve vytvořte funkci Azure Data Exploreru, abyste získali správná data. Přejděte na panel dotazů Azure Data Exploreru na webu Azure Portal a spuštěním následujícího kódu vytvořte funkci FaultyFieldAssets:

    Snímek obrazovky s vytvořením dotazu ADX funkce

    .create-or-alter function  FaultyFieldAssets() {  
    let Lw_start = ago(3d);
    opcua_telemetry
    | where Name == 'FaultyTime'
    and Value > 0
    and Timestamp between (Lw_start .. now())
    | join kind=inner (
        opcua_metadata
        | extend AssetList =split (Name, ';')
        | extend AssetName=AssetList[0]
        ) on DataSetWriterID
    | project AssetName, Name, Value, Timestamp}
    
  2. Vytvořte nový pracovní postup v aplikaci logiky Azure. Vytvořte trigger Opakování, který se spustí – každých 3 minuty. Vytvořte jako akci Azure Data Explorer a vyberte spustit dotaz KQL.

  3. Zadejte adresu URL clusteru Azure Data Exploreru a pak jako dotaz vyberte svou databázi a použijte název funkce vytvořený v kroku 1.

  4. Jako akci vyberte Microsoft Dataverse .

  5. Spusťte pracovní postup a podívejte se, jak se na řídicím panelu Dynamics 365 Field Service generují nová upozornění:

    Snímek obrazovky s upozorněními ve službě Dynamics 365 FS