Öğretici: Azure Endüstriyel IoT başvuru çözümü mimarisini uygulama
Üreticiler küresel ölçekte genel bir Endüstriyel IoT çözümü dağıtmak ve her bir üretim sitesinin verimliliklerini artırmak için tüm üretim sitelerini bu çözüme bağlamak istemektedir.
Bu artan verimlilikler daha hızlı üretime ve daha düşük enerji tüketimine yol açar ve bu da çoğu durumda kalitelerini artırırken üretilen malların maliyetini düşürmeye yol açar.
Çözümün mümkün olduğunca verimli olması ve koşul izleme, OEE hesaplaması, tahmin ve anomali algılama gibi tüm gerekli kullanım örneklerini etkinleştirmesi gerekir. Bu kullanım örneklerinden elde edilen içgörülerden, ikinci bir adımda üretim süreçlerine iyileştirmeler ve diğer değişiklikler uygulayabilecek bir dijital geri bildirim döngüsü oluşturulabilir.
Birlikte çalışabilirlik, çözüm mimarisinin hızlı bir şekilde kullanıma sunılmasının anahtarıdır ve OPC UA gibi açık standartların kullanılması bu birlikte çalışabilirliğin sağlanmasına önemli ölçüde yardımcı olur.
IEC 62541 Açık Platform İletişim Birleşik Mimarisi (OPC UA)
Bu çözüm, tüm Operasyonel Teknoloji (OT) verileri için IEC 62541 Açık Platform İletişimleri (OPC) Birleşik Mimarisini (UA) kullanır. Bu standart burada açıklanmıştır.
Çözüm mimarisi başvurusu
Basitleştirilmiş Mimari (hem Azure hem de Doku Seçenekleri):
Ayrıntılı Mimari (Yalnızca Azure):
Bileşenler
Bu çözümde yer alan bileşenler şunlardır:
Bileşen | Veri Akışı Açıklaması |
---|---|
Endüstriyel Varlıklar | Docker kapsayıcılarında barındırılan bir dizi sanal OPC UA özellikli üretim hattı |
Azure IoT İşlemleri | Azure IoT Operations, uç için birleşik bir veri düzlemidir. Azure Arc özellikli uç Kubernetes kümelerinde çalışan bir dizi modüler, ölçeklenebilir ve yüksek oranda kullanılabilir veri hizmeti içerir. |
Veri Ağ Geçidi | Bu ağ geçidi, şirket içi veri kaynaklarınızı (SAP gibi) buluttaki Azure Logic Apps'e bağlar. |
Azure Event Hubs | Uç ağ geçitlerinden OPC UA PubSub iletileri alan ve aboneler tarafından alınana kadar bunları depolayan bulut iletisi aracısı. |
Azure Veri Gezgini | Yerleşik anomali algılama ve tahminler dahil olmak üzere gelişmiş bulut analizi için zaman serisi veritabanı ve ön uç pano hizmeti. |
Azure Logic Apps | Azure Logic Apps, çok az kodla ve hiç kod olmadan otomatik iş akışları oluşturmak ve çalıştırmak için kullanabileceğiniz bir bulut platformudur. |
Azure Arc | Bu bulut hizmeti, uçta şirket içi Kubernetes kümesini yönetmek için kullanılır. Yeni iş yükleri Flux aracılığıyla dağıtılabilir. |
Azure Yönetilen Grafana | Azure Yönetilen Grafana, Grafana Labs tarafından grafana yazılımının üzerine kurulmuş bir veri görselleştirme platformudur. Grafana, Microsoft'un barındırıp desteklediği tam olarak yönetilen bir hizmettir. |
Microsoft Power BI | Microsoft Power BI, ilgisiz veri kaynaklarınızı tutarlı, görsel olarak çevreleyici ve etkileşimli içgörülere dönüştürmek için birlikte çalışan SaaS yazılım hizmetleri, uygulamaları ve bağlayıcılarından oluşan bir koleksiyondur. |
Microsoft Dynamics 365 Field Service | Microsoft Dynamics 365 Field Service, saha hizmeti isteklerini yönetmek için anahtar teslimi bir SaaS çözümüdür. |
UA Bulut Komutanı | Bu açık kaynak başvuru uygulaması, bir İleti Kuyruğu Telemetri Aktarımı'na (MQTT) veya Kafka aracısına (muhtemelen bulutta) gönderilen iletileri bağlı bir OPC UA sunucusu için OPC UA İstemci/Sunucu isteklerine dönüştürür. Uygulama bir Docker kapsayıcısında çalışır. |
UA Bulut Eylemi | Bu açık kaynak başvuru bulut uygulaması belirli bir veri değeri için Azure Veri Gezgini sorgular. Veri değeri, simülasyon üretim hattı makinelerinden birinin baskısıdır. Belirli bir eşiğe (4.000 mbar) ulaşıldığında Azure Event Hubs aracılığıyla UA Cloud Commander'ı çağırır. UA Cloud Commander daha sonra OPC UA aracılığıyla makinede OpenPressureReliefValve yöntemini çağırır. |
UA Bulut Kitaplığı | UA Bulut Kitaplığı, OPC Foundation tarafından burada barındırılan çevrimiçi bir OPC UA Bilgi Modelleri deposudur. |
UA Edge Translator | Bu açık kaynak endüstriyel bağlantı başvuru uygulaması, endüstriyel varlık arabirimini tanımlamak için şema olarak W3C Nesnelerin Web'i (WoT) Şey Açıklamaları'nı kullanarak özel varlık arabirimlerinden OPC UA'ya çevrilir. |
Not
Gerçek bir dağıtımda, basınç tahliye vanasını açmak kadar kritik bir şey şirket içinde yapılır. Bu, dijital geri bildirim döngüsüne ulaşmanın basit bir örneğidir.
UA Bulut Kitaplığı
OPC UA Bilgi Modelleri'ni doğrudan Azure Veri Gezgini okumak için, OPC UA Bilgi Modeli'nde tanımlanan OPC UA düğümlerini bir tabloya aktarabilirsiniz. Sorgular içinde daha fazla meta veri araması için içeri aktarılan bilgileri kullanabilirsiniz.
İlk olarak, ADX kümenizde aşağıdaki sorguyu çalıştırarak UA Bulut Kitaplığı için bir Azure Veri Gezgini (ADX) belirtme çizgisi ilkesi yapılandırın. Başlamadan önce, ADX sekmesinde İzinler'e giderek Azure portalında yapılandırabileceğiniz bir ADX kümesi yöneticisi olduğunuzdan emin olun.
.alter cluster policy callout @'[{"CalloutType": "webapi","CalloutUriRegex": "uacloudlibrary.opcfoundation.org","CanCall": true}]'
Ardından Azure portalından aşağıdaki Azure Veri Gezgini sorgusunu çalıştırın:
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
Bu sorguda iki şey sağlamanız gerekir:
- Bilgi Modeli'nin UA Bulut Kitaplığı'ndan alınan benzersiz kimliği ve adx sorgusunun <buradaki> bulut kitaplığından bilgi modeli ekleme tanımlayıcısına girin.
- UA Bulut Kitaplığı kimlik bilgileriniz (kayıt sırasında oluşturulur) temel yetkilendirme üst bilgisi karması ve bunu ADX sorgusunun <bulut kitaplığı kimlik bilgileri karması buraya> ekleyin alanına ekleyin. Karmayı oluşturmak için gibi https://www.debugbear.com/basic-auth-header-generator araçları kullanın.
Örneğin, Kusto Gezgini aracında üretim hattı benzetimi İstasyonu OPC UA Server'ın Bilgi Modeli'ni buradan indirilebilir hale getirmek için aşağıdaki sorguyu çalıştırın:
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
En iyi sonuçları elde etmek için Grouped
Labels
ve seçeneğini olarak name
değiştirinLayout
.
Üretim hattı benzetimi
Çözüm, bir OPC UA bilgi modeli ve basit bir Üretim Yürütme Sistemi (MES) kullanarak birkaç istasyondan oluşan bir üretim hattı simülasyonu kullanır. Hem İstasyonlar hem de MES, kolay dağıtım için kapsayıcılı hale getirilir.
Varsayılan benzetimi yapılandırma
Benzetimi iki üretim hattı içerecek şekilde yapılandırılmıştır. Varsayılan yapılandırma:
Üretim Hattı | İdeal Döngü Süresi (saniye) |
---|---|
Münih | 6 |
Seattle | 10 |
Shift Adı | Başlat | End |
---|---|---|
Sabah | 07.00 | 14:00 |
Öğleden sonra | 15:00 | 22.00 |
Gece | 23.00 | 06.00 |
Not
Vardiya süreleri, özellikle üretim hattı benzetimini barındıran Sanal Makinenin (VM) ayarlandığı saat dilimi olmak üzere yerel saat dilimindedir.
İstasyon OPC UA sunucusunun OPC UA düğüm kimlikleri
Aşağıdaki OPC UA Düğüm Kimlikleri, buluta telemetri için İstasyon OPC UA Sunucusu'nda kullanılır.
- i=379 - üretilen ürün seri numarası
- i=385 - üretilen ürünlerin sayısı
- i=391 - atılan ürünlerin sayısı
- i=398 - çalışma süresi
- i=399 - hatalı süre
- i=400 - durum (0=istasyon çalışmaya hazır, 1=devam eden çalışma, 2=yapılan iş ve iyi parça üretimi, 3=yapılan iş ve hurda üretimi, 4=istasyon arıza durumunda)
- i=406 - enerji tüketimi
- i=412 - ideal döngü süresi
- i=418 - gerçek döngü süresi
- i=434 - basınç
UA Cloud Commander ve UA Cloud Action ile dijital geri bildirim döngüsü
Bu bölümde "dijital geri bildirim döngüsünün nasıl uygulanacakları gösterilmektedir. Geri bildirim döngüsünü oluşturmak için buluttan simülasyondaki OPC UA sunucularından birinde bir komut tetiklersiniz. Tetikleyici, simülasyon basıncı için belirli bir eşiğe ulaşan zaman serisi verilerini temel alır. Derleme makinesinin baskısını Azure Veri Gezgini panosunda görebilirsiniz. Baskı Seattle üretim hattı için düzenli aralıklarla serbest bırakılır.
Üretim hattı benzetimi ve bulut hizmetlerini yükleme
Tüm gerekli kaynakları Microsoft Azure'da dağıtmak için Dağıt düğmesini seçin:
Dağıtım sırasında, üretim hattı simülasyonunu barındırmak için kullanılan bir Sanal Makine (VM) ve UA Bulut İkizi için bir parola sağlamanız gerekir. Parola aşağıdaki özniteliklerden üç tanesine sahip olmalıdır: Bir küçük harf karakteri, bir büyük harf karakteri, bir sayı ve bir özel karakter. Parola 12 ile 72 karakter uzunluğunda olmalıdır.
Not
Maliyetten tasarruf etmek için dağıtım, hem üretim hattı benzetimi hem de Edge altyapısı için tek bir Windows 11 Enterprise VM dağıtır. Üretim senaryolarında üretim hattı benzetimi gerekli değildir ve temel işletim sistemi için Windows IoT Enterprise Uzun Süreli Bakım Kanalı (LTSC) önerilir.
Dağıtım tamamlandıktan sonra, dağıtılan Windows VM'ye rdp (uzak masaüstü) bağlantısıyla bağlanın. RDP dosyasını VM'nin Azure portalı sayfasında, Bağlan seçenekleri'nin altında indirebilirsiniz. Dağıtım sırasında sağladığınız kimlik bilgilerini kullanarak oturum açın, bir Windows komut istemi açın ve şu aracılığıyla Linux için Windows Alt Sistemi (WSL) yükleyin:
wsl --install
Komut tamamlandıktan sonra VM'nizi yeniden başlatın ve yeniden oturum açın. Komut istemi WSL yüklemesini tamamlar ve WSL için yeni bir kullanıcı adı ve parola girmeniz istenir. Ardından, basit bir Kubernetes çalışma zamanı olan K3S'yi şu şekilde yükleyin:
curl -sfL https://get.k3s.io | sh
Artık üretim hattı benzetimi çalıştırabilirsiniz.
Üretim hattı benzetimi çalıştırma
Dağıtılan VM'den bir Windows komut istemi çalıştırın, wsl yazın ve Enter tuşuna basın. Dizine /mnt/c/ManufacturingOntologies-main/Tools/FactorySimulation
gidin ve StartSimulation kabuk betiğini çalıştırın:
sudo ./StartSimulation.sh "<EventHubsCS>"
Not
<EventHubCS>
burada açıklandığı gibi Event Hubs ad alanı bağlantı dizesi.
Örnek: StartSimulation "Endpoint=sb://ontologies.servicebus.windows.net/; SharedAccessKeyName=RootManageSharedAccessKey; SharedAccessKey=abcdefgh="
Not
Kubernetes hizmetinin dış IP adresi olarak <pending>
görünüyorsa, aracılığıyla hizmetin dış IP adresini traefik
atayabilirsiniz sudo kubectl patch service <theService> -n <the service's namespace> -p '{"spec": {"type": "LoadBalancer", "externalIPs":["<the traefik external IP address>"]}}'
.
Not
WSL'nin (ve K3'lerin) otomatik olarak kapanmasını önlemek için WSL komut isteminizi açık tutun.
Uçta Azure IoT İşlemleri dağıtma
Dağıtmadan önce üretim hattı benzetimini başlattığınızı onaylayın. Ardından, burada açıklandığı gibi bu adımları izleyin.
Kullanım örnekleri koşulu izleme, OEE hesaplama, anomalileri algılama ve Azure Veri Gezgini
Koşul izleme, verim veya bakım tahminleri veya anomali algılama için kod içermeyen panolar oluşturmayı öğrenmek için Azure Veri Gezgini belgelerini de ziyaret edebilirsiniz. Burada açıklanan adımları izleyerek ADX Panosu'na dağıtmanız için örnek bir pano sağladık. İçeri aktarma işleminden sonra, ADX sunucu küme örneğinizin HTTPS uç noktasını panonun sağ üst köşesindeki biçimde https://ADXInstanceName.AzureRegion.kusto.windows.net/
belirterek panonun veri kaynağını güncelleştirmeniz gerekir.
Not
Belirli bir vardiyanın OEE'sini görüntülemek istiyorsanız ADX Panosu'nun sol üst köşesindeki Zaman Aralığı açılan listesinde Özel Zaman Aralığı'nı seçin ve ilgilendiğiniz vardiyanın başından sonuna kadar olan tarih ve saati girin.
Kusto Explorer'da yerleşik Unified NameSpace (UNS) ve ISA-95 model grafını işleme
Bu başvuru çözümü, buluttaki zaman serisi veritabanına (Azure Veri Gezgini) gönderilen OPC UA meta verilerini temel alan bir Unified NameSapce (UNS) uygular. Bu OPC UA meta verileri, ISA-95 varlık hiyerarşisini de içerir. Elde edilen grafik, buradan indirilebilen Kusto Explorer aracında kolayca görselleştirilebilir.
Bu başvuru çözümünde dağıtılan Azure Veri Gezgini örneğinize yeni bir bağlantı ekleyin ve ardından Kusto Gezgini'nde aşağıdaki sorguyu çalıştırın:
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
En iyi sonuçları elde etmek için seçeneğini olarak Grouped
değiştirinLayout
.
Azure Yönetilen Grafana hizmetini kullanma
Grafana'yı kullanarak bu makalede açıklanan çözüm için Azure'da bir pano oluşturabilirsiniz. Grafana, gerçek zamanlı verileri görüntüleyen panolar oluşturmak için üretimde kullanılır. Azure, Azure Yönetilen Grafana adlı bir hizmet sunar. Grafana ile bulut panoları oluşturabilirsiniz. Bu yapılandırma kılavuzunda Azure'da Grafana'yı etkinleştirip Azure Veri Gezgini ve Azure Digital Twins hizmetinden sorgulanan verileri içeren bir pano oluşturacaksınız. Bu başvuru çözümünden sanal üretim hattı verilerini kullanırsınız.
Aşağıdaki ekran görüntüsünde pano gösterilmektedir:
Azure Yönetilen Grafana hizmetini etkinleştirme
Azure portalına gidin ve 'Grafana' hizmetini arayın ve Azure Yönetilen Grafana hizmetini seçin.
Örneğinize bir ad verin ve standart seçenekleri açık bırakın ve hizmeti oluşturun.
Hizmet oluşturulduktan sonra Grafana örneğine eriştiğiniz URL'ye gidin. URL'yi hizmetin giriş sayfasında bulabilirsiniz.
Grafana'da yeni veri kaynağı ekleme
İlk oturum açmanızın ardından Azure Veri Gezgini'a yeni bir veri kaynağı eklemeniz gerekir.
'Yapılandırma' bölümüne gidin ve yeni bir veri kaynağı ekleyin.
Azure Veri Gezgini için arama yapın ve hizmeti seçin.
Bağlantınızı yapılandırın ve uygulama kaydını kullanın (bu sayfanın üst kısmında sağlanan kılavuzu izleyin).
Sayfanın en altında bağlantınızı kaydedin ve test edin.
Örnek panoyu içeri aktarma
Artık sağlanan örnek panoyu içeri aktarmaya hazırsınız.
Örnek panoyu buradan indirin: Örnek Grafana Üretim Panosu.
Pano'ya gidin ve İçeri Aktar'ı seçin.
İndirdiğiniz kaynağı seçin ve Kaydet Sayfada bir hata alıyorsunuz seçeneğini belirleyin çünkü henüz iki değişken ayarlanmamıştır. Panonun ayarlar sayfasına gidin.
Değişkenler'i seçin ve iki URL'yi Azure Digital Twins Hizmetinizin URL'si ile güncelleştirin.
Panoya geri dönün ve yenile düğmesine basın. Şimdi verileri görmeniz gerekir (panodaki kaydet düğmesine tıklamayı unutmayın).
Sayfanın üst kısmındaki konum değişkeni, Azure Digital Twins'den (ISA95 alan düğümleri) gelen verilerle otomatik olarak doldurulur. Burada farklı konumları seçebilir ve her fabrikanın farklı veri noktalarını görebilirsiniz.
Panonuzda veriler gösterilmiyorsa tek tek panellere gidin ve doğru veri kaynağının seçili olup olmadığına bakın.
Uyarıları yapılandırma
Grafana'da uyarı oluşturmak da mümkündür. Bu örnekte, üretim hatlarından biri için düşük bir OEE uyarısı oluşturacağız.
Grafana hizmetinizde oturum açın ve menüden Uyarı kuralları'nı seçin.
Uyarı kuralı oluştur’u seçin.
Uyarınıza bir ad verin ve veri kaynağı olarak Azure Veri Gezgini'ı seçin. Gezinti bölmesinde sorguyu seçin.
Sorgu alanına aşağıdaki sorguyu girin. Bu örnekte Seattle üretim hattını kullanacağız.
let oee = CalculateOEEForStation("assembly", "seattle", 6, 6); print round(oee * 100, 2)
Tabloyu çıkış olarak seçin.
Ekranı aşağı kaydırarak sonraki bölüme gelin. Burada uyarı eşiğini yapılandıracaksınız. Bu örnekte eşik olarak '10'un altında' kullanıyoruz ancak üretim ortamlarında bu değer daha yüksek olabilir.
Uyarılarınızı kaydetmek istediğiniz klasörü seçin ve 'Uyarı Değerlendirme davranışı'nı yapılandırın. 'Her 2 dakikada bir' seçeneğini belirleyin.
Kaydet ve çık düğmesini seçin.
Uyarılarınıza genel bakış bölümünde, artık OEE'niz 10'dan küçük olduğunda bir uyarının tetiklendiğini görebilirsiniz.
Bu kurulumu, örneğin Microsoft Dynamics Field Services ile tümleştirebilirsiniz.
Başvuru çözümünü Microsoft Power BI'a bağlama
Başvuru çözümü Power BI'a bağlanmak için Power BI aboneliğine erişmeniz gerekir.
Aşağıdaki adımları tamamlayın:
Power BI aboneliğine erişimi olan kullanıcıyı kullanarak Power BI Desktop uygulamasında oturum açın.
Azure portalından Azure Veri Gezgini veritabanı örneğinize (
ontologies
) gidin ve yalnızca tek bir Azure aboneliğine, özellikle de bu başvuru çözümünün dağıtılan örneği için kullanılan aboneliğe erişimi olan bir Azure Active Directory kullanıcısına izinler ekleyinDatabase Admin
. Gerekirse Azure Active Directory'de yeni bir kullanıcı oluşturun.Power BI'da yeni bir rapor oluşturun ve Azure Veri Gezgini (Kusto) verilerini alma aracılığıyla veri kaynağı olarak Azure > Veri Gezgini zaman serisi verilerini > seçin.
Açılan pencerede örneğinizin Azure Veri Gezgini uç noktasını (örneğin
https://erichbtest3adx.eastus2.kusto.windows.net
), veritabanı adını ()ontologies
ve aşağıdaki sorguyu girin: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
Yükle'yi seçin. Bu eylem, Münih üretim hattının Montaj istasyonunun son bir saat için gerçek döngü süresini içeri aktarır.
İstendiğinde, daha önce Azure Veri Gezgini veritabanına erişim izni vermiş olduğunuz Azure Active Directory kullanıcısını kullanarak Azure Veri Gezgini oturum açın.
öğesinden
Data view
NodeValue sütununu seçin ve Özetleme menü öğesinde Özetleme'yi seçin.öğesine
Report view
geçin.Görselleştirmeler'in altında Çizgi Grafik görselleştirmesini seçin.
Görselleştirmeler'in altında öğesini kaynaktan
Data
öğesineX-axis
taşıyınTimestamp
, seçin ve Zaman damgası'nı seçin.Görselleştirmeler'in altında öğesini kaynaktan
Data
öğesineY-axis
taşıyın, seçin ve Ortanca'yı seçin.NodeValue
Yeni raporunuzu kaydedin.
Not
Azure Veri Gezgini'dan raporunuza benzer şekilde başka veriler de ekleyebilirsiniz.
Başvuru çözümünü Microsoft Dynamics 365 Field Service'e bağlama
Bu tümleştirme aşağıdaki senaryoları gösterir:
- Manufacturing Ontologies başvuru çözümündeki varlıkları Dynamics 365 Alan Hizmeti'ne yükleme.
- Üretim Ontologları başvuru çözümü telemetri verileri üzerinde belirli bir eşiğe ulaşıldığında Dynamics 365 Field Service'te uyarılar oluşturun.
Tümleştirme, Azure Logics Apps'i kullanır. Logic Apps ile veri yolu-critcal uygulamaları ve hizmetleri kod içermeyen iş akışları aracılığıyla bağlanabilir. Azure Veri Gezgini'dan bilgi getirir ve Dynamics 365 Alan Hizmeti'nde eylemleri tetikleriz.
İlk olarak, Dynamics 365 Field Service müşterisi değilseniz burada 30 günlük bir deneme sürümünü etkinleştirin. Manufacturing Ontologies başvuru çözümünü dağıtırken kullanılan Aynı Microsoft Entra Kimliğini (eski adıyla Azure Active Directory) kullanmayı unutmayın. Aksi takdirde, bu yönergelerin parçası olmayan kiracılar arası kimlik doğrulamasını yapılandırmanız gerekir.
Dynamics 365 Field Service'te varlık oluşturmak için Azure Logic App iş akışı oluşturma
Manufacturing Ontologies'ten varlıkları Dynamics 365 Field Service'e yüklemeyle başlayalım:
Azure portalına gidin ve yeni bir Mantıksal Uygulama oluşturun.
Azure Logic App'e bir ad verin ve Bunu Manufacturing Ontologies başvuru çözümüyle aynı kaynak grubuna yerleştirin.
İş Akışları'ı seçin.
İş akışınıza bir ad verin; bu senaryo için durum bilgisi olan durum türünü kullanırız çünkü varlıklar veri akışı değildir.
Yeni bir tetikleyici oluşturun. Bir yinelenme tetikleyicisi oluşturarak başlıyoruz. Bu, yeni varlıklar oluşturulursa veritabanını her gün denetler. Tetikleyiciyi daha sık gerçekleşecek şekilde değiştirebilirsiniz.
Eylemlerde KQL sorgusunu çalıştır komutunu arayın
Azure Data Explorer
ve seçin. Bu sorguda ne tür varlıklara sahip olduğumuzu denetleriz. Varlıkları almak ve sorgu alanına yapıştırmak için aşağıdaki sorguyu kullanın: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)
Varlık verilerinizi Dynamics 365 Alan Hizmeti'ne almak için Microsoft Dataverse'e bağlanmanız gerekir. Dynamics 365 Alan Hizmeti örneğine bağlanın ve aşağıdaki yapılandırmayı kullanın:
- 'Müşteri Varlıkları' Tablo Adını Kullanma
- 'AssetName' öğesini Ad alanına yerleştirin
İş akışınızı kaydedin ve çalıştırın. Birkaç saniye sonra yeni varlıkların Dynamics 365 Alan Hizmeti'nde oluşturulduğunu görürsünüz.
Dynamics 365 Alan Hizmeti'nde uyarı oluşturmak için Azure Logic App iş akışı oluşturma
Bu iş akışı, özellikle Manufacturing Ontologies başvuru çözümünün varlığında belirli bir FaultyTime eşiğine ulaşıldığında Dynamics 365 Field Service'te uyarılar oluşturur.
İlk olarak, doğru verileri almak için bir Azure Veri Gezgini işlevi oluşturun. Azure portalında Azure Veri Gezgini sorgu panelinize gidin ve bir FaultyFieldAssets işlevi oluşturmak için aşağıdaki kodu çalıştırın:
.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}
Azure Logic App'te yeni bir iş akışı oluşturun. Her 3 dakikada bir başlamak için bir 'Yinelenme' tetikleyicisi oluşturun. 'Azure Veri Gezgini' eylemi olarak oluşturun ve KQL Sorgusunu Çalıştır'ı seçin.
Azure Veri Gezgini Kümesi URL'nizi girin, ardından veritabanınızı seçin ve sorgu olarak 1. adımda oluşturulan işlev adını kullanın.
Eylem olarak Microsoft Dataverse'i seçin.
Dynamics 365 Alan Hizmeti panonuzda yeni uyarıların oluşturulduğunu görmek için iş akışını çalıştırın: