Sensörlerden CAD'ye: Doğrudanus'ta Mühendislik Verileri Oluşturmak için Veri Modelleme Kullanımı

Modern mühendislik örgütleri bir veri zengininde çalışır, ancak parçalanmış bir manzara. IoT cihazları, parametrik CAD modelleri, işletme kaynakları planlama (ERP) sistemleri ve laboratuvar test veritabanı her bir veri farklı formatlarda, farklı bir kadavralar ve farklı bir anlamlarla birlikte, bu kaynakları tek bir şekilde bütünleştirerek, tahmin edilebilir bir şekilde dijital ikizler için temeldir ve kapalı-loop tasarımı. Data modellemesi, bu entegrasyon için mavi verileri sağlar ve Directus gibi esnek bir platformla, bu mavileri bir çalışma alanına çevirebilir, API'ye dayalı bir şekilde sorgulanabilir.

Bu kılavuz, özellikle mühendislik veri entegrasyonuna ilişkin veri modellemesini nasıl uygulayacağınızı, Directus'u merkezi veri katmanı olarak kullanmayı açıklamaktadır. İhtiyacınız olan modelleri, bir adım adım adım adım uygulama akışı ve teorinin ötesine geçen pratik örneklerle ele alacağız.

Data Modeling Nedir (ve Neden Mühendislik Verileri için Önemlidir)

Veri modellemesi, bir satın alma siparişi oluşturulmadan önce bir CAD montajını tanımlayan bir şemanın tanımlanması sürecidir?Bir model olmadan, entegrasyon noktası spaghetti - SCADA için bir senaryo ve tek bir gerçek kaynağı.

Üç soyutlama seviyesi mühendislik veri modellemesinde standarttır:

Kavramsal Veri Modeli

Bu yüksek düzeyde anahtar işletme varlıkları (örneğin, “Measurement”, “Maintenance Log”, “Component”) ve temel ilişkileri – ancak bir varlık-ilişmanlığı (ERD) basit kutular ve hatlarıyla bağlantılı olup olmadığını tartışabilirsiniz.

Mantıksal Data Model

İşte her türlü özelliği, veri tipi ve ilişki belirtebilirsiniz. Örneğin, “Measurement” için mantıksal model bu katmanda yazılır (DATETIME), herhangi bir veritabanı motorundan bağımsızdır.

Fiziksel Data Model

Son olarak, fiziksel model gerçek veritabanı nesnelerine mantıksal tanımlar: tablolar, sütunlar, indeksler, bölümler.In Directus this çevirileri toETHFLT:0)Collections) (tables), [[Döneticiler)[Dönderler[Dönderler, [Dönler, tablolar, sütunlar, indeksler, ve bölümler)[Döncüler[Döneticiler için))) fiziksel model aynı zamanda performans göz önünde bulundurulur - örneğin, örneğin, optik bir indeks (sensor id, zamantamp) zamanlayıcı sorgular.

Directus'un gücü, mantıksal ve fiziksel modelleme arasındaki boşluğu çökertmektir: Uygulamanın Veri Stüdyosu'nda doğrudan mantıksal bir model tanımlayabilirsiniz ve Directus otomatik olarak fiziksel veritabanı şemasını oluşturur (PostgreSQL, Natasha, SQLite, vs.).

Mühendislik Entegrasyonunda Veri Modellemenin Faydaları

Entegrasyondan önce model yaptığınızda, çoklu kaynak mühendisliği projelerinde en yaygın ağrı puanlarını ortadan kaldırmak için beton avantajları elde edersiniz.

Semantic Consistency Across Disciplines

Mekanik mühendisler bir “Bracket” olarak adlandırabilir, satın alırken satın alma “Inventory Item #447” olarak adlandırabilir. Mantıklı bir model, izin verilen değerler ve her sistemin aynı dili konuştuğu için bir kanalda geçerliliği kontrol eder. Directus, bu tutarlılığı uygulamak için ilgili koleksiyonlardan vazgeçirir.

Giriş noktasında veri kalitesi

Gerekli alanlar, benzersiz anahtarlar veya aralık kontrolleri gibi kısıtlamalara yol açıyor - tüm gelen veri boru hatlarına girmeden önce kötü verileri durdurabilirsiniz. Örneğin, bir sensör telemetri uç noktası, depolanmış olmadan bir okumayı reddedebilir. Directus, tüm gelen veri boru hatlarında paylaşılabilecek rol tabanlı izinler ve alan doğrulama kuralları sunar.

Basitleştirilmiş Değişim Yönetimi Yönetimi

Mühendislik ortamları statik değildir. Yeni sensör türleri eklenir, ürünler güncellenir ve düzenlemeler değişir. İyi modelli bir şema değişiklikleri sınırlı bir alana ayırır. “Measurement” koleksiyonuna ek olarak, mevcut panoları veya API'leri kıramaz. Direktus tam bir şema tarihi kaydeder ve yayın yapmadan önce değişiklikleri önleyebilirsiniz.

Otomatik Data Mapping ve ETL

Net bir mantıksal modeliniz olduğunda, hedef alan alanları hedef alan için haritalama kaynak alanları genellikle ETL araçları veya Directus Flows ile otomatik hale gelebilecek bir mekanik görev haline gelir. Örneğin, bir ERP sisteminden bir CSV alan-by-field kuralları kullanarak koleksiyona haritalanabilir ve tekrarlanan yanlış eşleştirmeler (örneğin, güncel format tutarsızlıklar) dönüşüm sırasında yakalanır.

Step-byStep: Directus'ta bir Mühendislik Entegrasyon Modeli Oluşturun

Beton senaryosu aracılığıyla yürüyelim: CAD sistemi, her kaynak kendi şemalarına sahiptir - sensör API'si JSON gibi geri döndürür:0) CAD sistemi, nested bileşen yapıları ile bir XML dosyasına sahiptir.

1. Tanım ve Doküman Data Sources

Entegre veri kümesini besleyen veya tüketecek her sistem listesi. senaryomuz için:

  • [FONT:0)Sensor API[[DÜDÜT:1) – Her Türlü için her 5 dakika geri döner.
  • [FONT:0)PLM (Yaşam döngüsü Yönetimi)) - XML BOM (malzeme milyarı) ve CAD geometrisi metadata.
  • [FONT:0)CMMS (Bilgisayarlı Bakım Yönetimi Sistemi)) - bir SQL veritabanı olarak iş siparişleri ve onarım logları sağlar.

Her kaynak gönderir, veri türleri ve güncelleştirme frekansı. Bu, kavramsal modeliniz için giriş haline gelir.

2. Bir Kavramsal Model Tasarımı

Temel varlıkları ve ilişkileri henüz belirli alanlarda endişe etmeden tanımlamak: Rüzgar türbini entegrasyonu için:

  • [FONT=0]TurbineAsset[[Dönetici:0)[Dönetici:0)))[Dönetici: fiziksel Tür, yer, model).
  • [FONT:0]Component[[Dönetici: 1 ) – bir alt bölüm (blade, şanzıman, jeneratör) bir TürbinAsset ile bağlantılı.
  • [FONT=0]VibrationMeasurement) – bir sensörden bir zaman serisi okuma, bir fikre bağlı.
  • [FONT:0]Maintenance Event[[Döntme: 1 ) – Bir tamir veya denetim, bir Türbine bağlı olarak ve bir parçaya bağlı olarak bir fikre bağlanır.

Bu kutuları ve çizgileri bir beyaz tahtaya veya Lucidchart gibi bir araç çizin.Bir TürbinAsset'in birçok bileşeni var ve bir Bitirme bu diyagramı alan uzmanlarıyla paylaşabilirsiniz - eksik varlıklar (örneğin, “Sensor” kendini bir varlık olarak görecektir.

3. Doğrudanus'ta Mantıksal Model Oluşturun

Directus Data Studio açın ve her varlık için bir koleksiyon oluşturun. ForurFLT:0)VibrationMeasurement[[Dönetici: 1)

  • [DateTime alanı, gerekli) [[değiştir | kaynağı değiştir]
  • [FONT=0]rms velocity[[DÜT:1] (Float alanı, gerekli, geçerli bir yönetim kuralı ile: değer > 0)
  • [FONT:0])))[FONT=TR][/TRNT=0}[0][FONT=0}[FONT=I][/FONT=I=I)
  • [FONT:0) Kaynak sensor[[Dönetici:0)[FONT:0)[FONT=0))))))[FONT=0}[FONT=0}|[FONT=0}|[FONT QU3|0|0|0|0|0|x QT:0|x|[FONT QT:0|0|0|x x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x x|x|x|x|x|x|x|x|x|)))))))))))))))))))))))))))

[0][0][0)

  • [FONT:0][[FONT=0)
  • [0]part count[[Dönetici:0)[Dönetici, eşsiz)
  • [FONT=0)) [FONT=0)))[FONT=0)

Directus otomatik olarak birçok yabancı anahtarı yaratır ve her koleksiyon için bir REST /GraphQL API uç noktası oluşturur. Bu aşamada, temel veritabanının üst kısmında doğrudan mantıksal modeli inşa edersiniz (PostgreSQL, örneğin).

4. Fiziksel Model (Performance Optimizasyonları) oluşturun

Şimdi, sorgu performansını etkileyen indeksler ve alan ayarları ekleyin.In Directus, “önemli anahtar” (auto-increment tam veya UUID) olarak bir alan ayarlayabilirsiniz ve veritabanı arayüzü üzerinden özel indeksler ekleyebilir veya doğrudan doğruya doğru koşarken.For a time-se table like the “primary key” (auto-increment tamsa veya UUUUID)

  • [FONT=0)[0|[0|0|0|0|0|0|))[Dönetici: 0))))))[Geçmişler için tüm okumalar: “Son 24 saatte 3 vitesli tüm okumalar.
  • Masayı milyonlarca satır beklerseniz tarihle bölmeyi düşünün. Directus yerel olarak bölmeyi yönetmez, ancak altta yatan veritabanında ayarlayabilirsiniz ve Directus her bölüm için hala çalışacaktır.

Fiziksel model ayrıca veri tutma kuralları da içerir. Direktus Flows veya 90 günden daha eski okumalar için planlanan bir senaryo kullanabilir veya modeli sağlam tutmak için onları daha ucuz bir depolama katmanına arşivleyebilirsiniz.

5. Kaynağı doğrudanus'a entegre et

Dış sistemlerden tanımlanmış Direktus koleksiyonlarına veri yüklemenin birkaç yolu vardır:

  • [FONT=0)Directus Flow[Dönetici:0)[Dönergeler[Dönergeler)[Dönergeler için bir dış API çağıran bir kod otomasyonu, JSON'u dönüştürmek ve koleksiyonları yazmak. A Webhook tetikleyicisi, sensör POST talepleri ve ücret yük alanlarını dinlemek için dinlenebilir.
  • [FONT=0)Directus SDK[[[Dönetici:0)[0]- Directus API'ye ve kayıt eklemelere dair bir Node.js veya Python senaryosu yaz.For the PLM XML import, a Python script can parse XML and callTELFLT:1).
  • [FONT:0)ETL aracı [[Dönetici:2|Dönetici:0) veya [[Döntgen|Döntme[Döntme: 0:0) Doğrudan SİGİ SİGÜNCÜŞÜNCÜŞÜNCÜŞÜNCÜŞÜNCÜŞÜNÜŞÜNCÜŞÜNÜŞÜNÜye Değeri: 3,00 SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİİRMELER SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD SİAD Sİ
  • [FONT=0)Direct Database Sync) – Eğer CMMS bir SQL Server veritabanında çalışırsa, aslında uzaktan tablo aynası olan bir Directus “collection” oluşturabilirsiniz (PostgreSQL Yabancı Data diskpers veya Natasha Federated Engine).

Bütünleme aşamasında, her haritalama başarısızlığı ve bir rekorun neden reddedildiğini anlamak için Directus Aktivite Feed'i gözden geçirin (gerekli alan, tip yanlış bir oyun vs.). Bu geri bildirim döngüsü, modeli düzeltmenize yardımcı olacaktır.

6. Modelin Geçerliliği ve Evolve the Model

Veri akışlarından sonra, sorguların doğru sonuçları geri döndüğünü kontrol edin. Örneğin, Directus'un tüm “VibrationMeasurement” kayıtlarının tamamını bulmak için filtreyi çalıştırın ve verileri kanıtlayan “Sensor” ve “Ücretsiz” koleksiyonlarla bağlantı kurması gerekir.

Zamanla, yeni kaynaklar (örneğin, petrol analiz sonuçları) veya deprecate eskileri ekleyeceksiniz.In Directus mevcut koleksiyonlarına yeni alanları ekleyebilir veya mevcut API'leri etkilemeden yeni koleksiyonları yaratabilirsiniz - sadece bir OpenAPI spec'daki değişiklikleri yeniden üretebilirsiniz.

Mühendislik Data Modeling için Araçlar ve Teknikler

Directus, yürütme ortamı olsa da, veri modelleme süreci özel araçlardan yararlanır. Ekibinizin iş akışına uygun olan kombinasyonu kullanın.

Schema Design and Documentation

  • [FONT=0)dbdiagram.io) - DSL olarak mantıksal modelinizi ihraç etmek ve sonra bunu doğrudan koleksiyonlara çevirmek için iyi bir sürüm için bir Gopo'da modeli kontrol etmek.
  • [FONT:0)Lucidchart[[DDD) veya [[Draw.io[DDDD)[DDD)[FONTD)) ile onları doğrudan inşa etmeden önce teknik olmayan paylarla paylaşıyor.
  • [FONT=0)Directus Data Studio [Dönetici:0) Kendi başına yaşayan bir belge aracı olarak hizmet edebilir. “Display Şablonu” insan hazır bir formatta bağlantılı kayıtları göstermek için (örneğin, “Turbine T-07 - Şanağı”).

ETL ve Data Boruları

  • [FONT=0)Directus Flows[[Dönetici: 1))[Dönergeler[Döneticiler)[tr|Dönergeler, ek altyapı olmadan verileri dönüştürebilecek ve yükleyebilecek otomasyonlar. Destekler webhooks, zamanlama tetikleyiciler ve dönüşüm operasyonları kütüphanesi (JSONata, matematik, matematik, grafik)
  • [FONT=0]Apache NiFi[Dönetici: 1)) – karmaşık entegrasyonları yeniden deneme mantığı ve kanıtlayıcı izleme ile işlemek için güçlü bir akış tabanlı programlama aracı. Directus's REST API, NiFi mükemmel bir orkestra yapar.
  • [FONT:0)Müşteri senaryoları (Python, Node.js)) - CAD STEP dosyaları gibi görevler için son derece esnek veya endüstriyel protokolleri ile iletişim kurmak (OPC UA, MQTT).Use theENFLT:2).

Data Governance and Metadata

Directus şemasını yönetilmiş bir varlık olarak tedavi etmeyi düşünün.Use Directus's “Comment” and “Not” fields on each collection to store business definitions, sorumlu sahibi ve saklama politikası.Daha büyük organizasyonlar için, ek olarak dış bir veri kataloğu veyaFL]

En İyi Uygulamalar ve Ortak Pitfalls

Mühendislik entegrasyonu projeleri ile deneyim sayesinde, birçok desen defalarca ortaya çıkar.Bunları benimsemek önemli bir yeniden iş sağlayacaktır.

En İyi Uygulamaları

  • [FONT:0] kavramsal bir modelle başlayın, alanlarda değil.[DÜT:1) Alan uzmanlarıyla, varlıkların ve ilişkilerin özellikleri niteliklere girmeden önce doğru olduğunu onaylayın.
  • [FONT:0) UUID'leri, birleşme veya hareket edecek koleksiyonlar için birincil anahtar olarak kullanın.[DÜT:1] Auto-increment tamsaları, daha sonra kendi kimlik serisine sahip olan ikinci bir tür çiftliği entegre ettiğinizde kırılgandır.
  • [FONT:0]Leverage Directus Revisions.[DDD][/FONT][/TRNT=0]Leverage Directus Revisions.[[D][/FONT=0)[FONTD][/FONT=0)[FONT=0))[değiştir | kaynağı değiştir] Bu, bir türdeki bir tür yapılandırmaya yönelik değişikliklerle ilgili olarak, bir denetim izi etkin bir şekilde yapılır.
  • [[Dönetici:0) Model zaman serisi verileri açıkça gösterir.[DDD:0) Komppozisyon koleksiyonu içinde bir JSON serisini koymaz. Yabancı anahtar ve bir zaman damgası ile ayrı bir ölçüm koleksiyonu oluşturun. Bu sorgulayıcı ve indeksleme verimli yapar.
  • [FONT:0) Okuyan ve yazmalı desenleri ayrı ayrı ayrı yazabilme; ), Mühendislik panoları genellikle son 24 saat sensör verilerini sorgularken, engestasyon süreci dakika başına binlerce puan yazarken, Directus'un “Database” modunu uygulama katmanını atlamak ve doğrudan üst düzeye doğru koyar.

Ortak Pitfalls

  • [FONT:0)Over-normalizasyon[[Dönetici:0) Her olası özelliği ayrı bir koleksiyona devretme, yavaş ve karmaşık sorgular yapabilir. Örneğin, “MeasurementUnit”i tek bir alanla ayrı bir koleksiyon olarak depolamak genellikle aşırılık kuralları yeterlidir - geçerlilik kuralları ile bir metin alanı yeterlidir.
  • [FONT:0]Görüntü evrimi görmezden gelin; [Dönetici:0] Yeni bir sensör modeli, şema değişiklikleri yaptığınızda bir uyarı gönderirken, veri reddedilebilir veya kaybedilebilir.
  • [FONT:0) Alanlara sürekli olarak hitap etmek; Mix camelCase ([Döntilmiş) yılan case ([DÜT:6) ile farklı koleksiyonlar arasındaki farklar, projenin başlangıcındaki bir isim sözleşmeyi tanımlamaktır.
  • [FONT:0] Bir gezi alanı hariç; Sensörlerden gelen Raw verileri genellikle tekrarlar veya yanlış zamanlayıcılar içerir. İlk olarak bir “en iyileştirici” koleksiyona (çok fazla kısıtlama olmaksızın), temizlenmiş ve kesinti mantığına sahip olun, sonra da temizlenmiş verileri üretim koleksiyonlarına taşıyabilir. Directus Flows bu iki adımlı deseni orkestraya götürebilir.

Entegre Mühendislik Data Platformunu Gerçekleştirmek

Veri modellemesi bir zaman tasarım egzersiz değildir - mühendislik çevre değişiklikleriniz olarak adapte olan devam eden bir disiplindir. Doğrudanus'u merkezi bir veri platformu olarak kullanarak, modeli alt zamanlı olarak çözme yeteneğinizi kazanırsınız, entegre verileri tutarlı REST ve GraphQL API'ler ile ortaya koyar ve mühendislik takımlarınızı panolarınızı güvenilir bir şekilde güçlendirebilirsiniz.

Rüzgar türbini entegrasyonu örneği evrensel modeli göstermektedir: varlıkları tanımlamak, ilişkileri tanımlamak, Directus koleksiyonlarında uygulamak, kaynakları bağlanmak ve doğrulama. Bu süreci diğer mühendislik alanları için tekrarladığınız gibi - otomotiv, havacılık, endüstriyel otomasyon - model aylarca entegrasyon süresini azaltır.

Mevcut entegrasyon projesindeki en önemli on varlık belgeleyerek başlayın. kavramsal bir modelde onları haritalayın, sonra Directus'taki bu koleksiyonlar oluşturun. API en sonunda aynı dili konuşacaktır.