Asset Administration Shell (AAS), her endüstriyel varlığa yapılandırılmış ve makine tarafından okunabilir bir dijital ikiz kazandırmak için geliştirilmiş Endüstri 4.0 standardıdır. Bu makalede bir asset administration shell'in alt modellerden ve semantik ID'lerden nasıl oluşturulduğunu, üç AAS türünün nasıl farklılaştığını ve alt model değerlerinin bir broker üzerinden akan MQTT verisiyle nasıl güncel tutulacağını öğreneceksiniz.
İkizlere daha geniş bir giriş için dijital ikiz teknolojisi rehberimize bakın.
Asset Administration Shell Nedir?
Asset administration shell, bir varlığın standartlaştırılmış dijital temsilidir: bir motor, bir sürücü, bir robot, bütün bir üretim hücresi, hatta bir yazılım parçası. Almanya'da Plattform Industrie 4.0 bünyesinde tanımlanmış olup bugün Industrial Digital Twin Association (IDTA) tarafından sürdürülmektedir; metamodeli uluslararası olarak IEC 63278 ile standartlaştırılmıştır.
Temel fikir birlikte çalışabilirliktir. Bir tedarikçiden gelen sürücü ile başka bir tedarikçiden gelen pompa; isim plakalarını, teknik verilerini, dokümantasyonlarını ve işletme verilerini aynı şekilde tanımlamalıdır. Böylece bir tesis mühendisi, bir MES veya bir bakım aracı bunları her üretici için özel entegrasyon yapmadan okuyabilir. AAS her varlığa aynı "sarmalayıcıyı" verir ve içindeki içerik alt modeller halinde düzenlenir.
Bir AAS'nin Yapısı
Bir AAS az sayıda yapı taşından oluşur:
| Öğe | Amaç |
|---|---|
| Asset Administration Shell | Kendi ID'sine sahip olan ve tam olarak bir varlığa referans veren ikizin kendisi |
| Varlık bilgisi | Küresel varlık ID'si ve tür (type veya instance) |
| Alt model (Submodel) | Varlığın isim plakası veya operasyonel veri gibi kendi içinde bütün bir yönü |
| Alt model öğesi | Asıl içerik: özellikler, aralıklar, dosyalar, koleksiyonlar, işlemler |
| Semantik ID | Bir öğenin ne anlama geldiğini söyleyen bir sözlük tanımına referans |
| Kavram tanımı | Bir semantik ID'nin tanımı, birimleri ve veri türü |
Alt Modeller
Alt modeller asset administration shell'in kalbidir. Her biri varlığın bir yönünü kapsar ve farklı bir taraf tarafından sürdürülebilir. Üretici dijital isim plakasını ve teknik verileri sağlar; işletmeci ise bakım kayıtlarını ve canlı operasyonel verileri ekler.
IDTA, yaygın yönlerin her yerde aynı görünmesi için alt model şablonları yayımlar. Yaygın kullanılan şablonlar arasında Digital Nameplate, Technical Data, Contact Information, Handover Documentation ve Time Series Data bulunur. AAS'yi birlikte çalışabilir kılan şey, kendi yapınızı icat etmek yerine bir şablon kullanmaktır.
Alt Model Öğeleri
Bir alt modelin içindeki içerik, türü belirli öğelerle ifade edilir. En sık karşılaşacaklarınız:
- Property: bir veri türüne sahip tek bir değer, örneğin double olarak
MaxRotationSpeed. - MultiLanguageProperty: birden fazla dilde metin.
- Range: bir minimum ve maksimum.
- File ve Blob: belgeler, görseller, CAD dosyaları.
- SubmodelElementCollection ve SubmodelElementList: gruplama ve tekrarlama.
- ReferenceElement ve RelationshipElement: öğeler veya varlıklar arasındaki bağlantılar.
- Operation: giriş ve çıkış değişkenlerine sahip çağrılabilir bir fonksiyon.
Semantik ID'ler
Her öğe, ECLASS veya IEC Common Data Dictionary gibi bir sözlükteki bir tanıma işaret eden bir semantik ID taşıyabilir. Yazılımın, bir AAS'deki NenndrehzahlMax adlı özellik ile bir başkasındaki MaxSpeed özelliğinin aynı anlama geldiğini bilmesini sağlayan budur. Semantik ID'ler olmadan bir AAS, sıradan bir JSON formatından ibarettir.
Üç Asset Administration Shell Türü
| AAS türü | Biçim | Tipik kullanım |
|---|---|---|
| Tür 1 | Genellikle AASX paketi olan bir dosya | Üretici ikiz verisini ürünle birlikte teslim eder |
| Tür 2 | AAS'yi bir API üzerinden sunan bir sunucu | Tesis sistemleri çalışma anında ikizleri okur ve günceller |
| Tür 3 | Birbirleriyle etkileşen proaktif kabuklar | Varlıklar arası otonom müzakere, hâlâ gelişmekte |
Bugün çoğu endüstriyel proje, mühendislik ve devir teslim verileri için Tür 1, çalışma zamanı ikizleri için Tür 2 ile çalışır. Eclipse BaSyx gibi açık kaynak uygulamalar AAS sunucuları ve kayıtları sağlar; AASX Package Explorer ise AASX dosyalarını oluşturmak ve incelemek için yaygın olarak kullanılır.
MQTT'nin Yeri: Bir Asset Administration Shell İçin Canlı Veri
AAS standardı bilgi modelini ve API'leri tanımlar, ancak canlı saha değerlerinin nasıl geleceğini belirlemez. Pratikte sıcaklıklar, hızlar ve durumlar gibi operasyonel veriler zaten PLC'lerden ve uç ağ geçitlerinden MQTT üzerinden akar. Pratik kalıp, MQTT'yi gerçek zamanlı taşıma katmanı olarak tutmak ve ilgili AAS alt modelini bir adaptörün güncellemesine izin vermektir.
PLC / sensor -> edge gateway -> MQTT broker -> AAS adapter -> AAS server (Type 2)
|
+-> dashboards, 3D twins, historians
Bu yapı hızlı tüketicileri (panolar, alarmlar, gerçek zamanlı 3D ikizler) MQTT üzerinde tutarken, AAS sunucusu MES, ERP ve mühendislik araçlarının okuduğu standartlaştırılmış, semantik olarak açıklanmış görünümü barındırır.
Alt Modellere Temiz Eşlenen Topic Tasarımı
AAS'ye eşlemeyi açıkça ortaya koyan topic'ler seçin. Bir ISA-95 yolu varlığı tanımlar, son seviyeler de alt modeli tanımlar:
acme/plant1/assembly/line3/drive07/operational live values, retained
acme/plant1/assembly/line3/drive07/status online/offline, retained
Adaptör, MQTT varlık yollarından AAS ID'lerine ve JSON alanlarından alt model öğesi idShort'larına bir eşleme tablosu tutar. Sparkplug B payload'ları da çalışır: ConnectMQ Sparkplug B'yi çözümler ve ISA-95 topic'lerine yeniden yayınlayabilir; bu da adaptöre tüketmesi için basit bir JSON akışı sağlar.
Minimal Bir MQTT-AAS Adaptörü
Bu Python adaptörü operasyonel veriye abone olur ve bir AAS sunucusundaki özellik değerlerini günceller (patch). REST yolu, tanımlayıcıların base64url ile kodlandığı Eclipse BaSyx gibi sunucuların kullandığı AAS Part 2 API stilini izler; tam uç nokta ve sürüm için sunucunuzun dokümantasyonunu kontrol edin.
import base64
import json
import paho.mqtt.client as mqtt
import requests
AAS_SERVER = "http://localhost:8081"
SUBMODEL_IDS = {
"acme/plant1/assembly/line3/drive07": "https://acme.example/ids/sm/drive07-operational",
}
FIELD_TO_IDSHORT = {"speed_rpm": "RotationSpeed", "temp_c": "MotorTemperature", "state": "OperatingState"}
def b64url(value: str) -> str:
return base64.urlsafe_b64encode(value.encode()).decode().rstrip("=")
def on_connect(client, userdata, flags, reason_code, properties):
client.subscribe("acme/plant1/+/+/+/operational", qos=1)
def on_message(client, userdata, msg):
asset_path = msg.topic.rsplit("/", 1)[0]
submodel_id = SUBMODEL_IDS.get(asset_path)
if not submodel_id:
return
data = json.loads(msg.payload)
for field, id_short in FIELD_TO_IDSHORT.items():
if field in data:
url = f"{AAS_SERVER}/submodels/{b64url(submodel_id)}/submodel-elements/{id_short}/$value"
requests.patch(url, json=data[field], timeout=5)
client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2, client_id="YOUR_CLIENT_ID")
client.username_pw_set("YOUR_USERNAME", "YOUR_PASSWORD")
client.tls_set()
client.on_connect = on_connect
client.on_message = on_message
client.connect("YOUR_BROKER_HOST", 8883)
client.loop_forever()
İki tasarım notu. Birincisi, her yüksek frekanslı örneği AAS sunucusuna göndermeyin; sunucuyu makul bir hızda, örneğin saniyede bir veya değişiklik olduğunda güncelleyin ve tam frekanslı veriyi bir historian'da tutun. İkincisi, eşleme tablolarını yapılandırmada, ideal olarak AAS'nin kendisinden üretilmiş halde tutun; böylece bir varlık eklemek kod değişikliği gerektirmez.
MQTT tarafını şimdi herkese açık MQTT test broker'ı ile, acme/... yerine connectmq/demo/c58d/... gibi benzersiz bir önek kullanıp aboneliği buna göre ayarlayarak test edebilirsiniz.
Asset Administration Shell Uygulama Kontrol Listesi
- Kapsamdaki varlıkları tanımlayın ve kararlı küresel varlık ID'leri atayın.
- Özel alt modeller oluşturmadan önce IDTA alt model şablonlarından başlayın.
- Sunduğunuz her özelliğe ECLASS veya IEC CDD'den semantik ID'ler ekleyin.
- Hangi verinin Tür 1 dosyalarında, hangisinin Tür 2 sunucusunda yaşayacağına karar verin.
- MQTT topic'lerini, varlık yolları AAS ID'lerine bire bir eşlenecek şekilde tasarlayın.
- Canlı alt model değerlerini kontrollü bir hızda güncelleyen bir adaptör yazın veya devreye alın.
- MQTT yolunu TLS ve ağ geçidi başına kimlik bilgileriyle güvenceye alın.
- Alt modelleri sürümleyin ve eşleme yapılandırmasını sürüm kontrolünde tutun.
AAS'nin Diğer İkiz Modelleriyle Karşılaştırması
AAS, üreticiler, entegratörler ve işletmeciler arasında el değiştiren endüstriyel varlıklar için en güçlü seçenektir; çünkü alt model şablonları ve semantik ID'leri varlıkla birlikte taşınır. DTDL daha hafif ve geliştirici odaklıdır; telemetri, özellikler ve komutlara odaklanır. Eclipse Ditto ikizleri öznitelikler ve özellikler içeren thing'ler olarak modeller ve MQTT'ye yerel olarak bağlanır; bkz. MQTT ile Eclipse Ditto. Pek çok tesis bunları birleştirir: standartlaştırılmış varlık tanımı için AAS, canlı veri için MQTT ve bir Unified Namespace, görselleştirme için hafif bir ikiz katmanı. Sparkplug B ve Unified Namespace rehberimiz canlı veri tarafını ele alır.
Asset Administration Shell'inizi ConnectMQ ile Besleyin
ConnectMQ gerçek zamanlı katmanı sağlar: MQTT 3.1.1 ve 5.0, 8883'te TLS, ISA-95 topic algılama, ISA-95 seviyelerine göre düzenlenmiş bir cihaz görünümü ve Sparkplug B çözümlemesi sunan bir bulut MQTT broker. AAS sunucunuz ve adaptörünüz, onun yanında normal MQTT istemcileri olarak çalışır. app.connectmq.com adresinden kaydolun, kredi kartı olmadan ücretsiz Serverless planla başlayın ve ilk varlığınızın operasyonel verisini kabuğuna akıtın.
Sık Sorulan Sorular
Asset administration shell bir yazılım ürünü mü?
Hayır. Standartlaştırılmış bir bilgi modeli ve API spesifikasyonudur. Ürünler ve Eclipse BaSyx gibi açık kaynak projeler onu uygular.
AAS'de alt model nedir?
Alt model, varlığın isim plakası, teknik verileri veya operasyonel verileri gibi kendi içinde bütün bir yönüdür; semantik ID'lere sahip, türü belirli öğelerden oluşur.
AAS, MQTT'nin veya OPC UA'nın yerini alır mı?
Hayır. AAS varlıkları tanımlar ve API'ler üzerinden sunar; MQTT ve OPC UA ise canlı veriyi taşır. Yaygın bir kalıp, gerçek zamanlı akışlar için MQTT ve AAS'yi güncelleyen bir adaptör kullanmaktır.
AASX dosyası nedir?
AASX dosyası, Tür 1 kabuklar için AAS'yi, alt modellerini ve kılavuzlar gibi ek dosyaları değişim amacıyla tek bir dosyada toplayan bir paket formatıdır.



