نموذج بيانات AAS للرافعة العلوية من PLC إلى التوأم الرقمي

تُعدّ AAS (Asset Administration Shell) المواصفة الأساسية للبيانات في التوأم الرقمي للرافعات العلوية، ويعرض هذا المقال حلاً هندسيًا متكاملًا يغطي كامل المسار بدءًا من سجلات PLC في سيمنز وصولًا إلى منصة البيانات المركزية. يشمل المقال جداول تعيين OPC UA، ومثالًا كاملًا لبنية AAS بصيغة JSON، وتصميم خط أنابيب البيانات الزمنية، وواجهات برمجة تطبيقات التكامل مع MES/ERP، ويمكن استخدامه مباشرة كمرجع تقني عملي.

في المقال السابق "تحليل تقني متعمق لنظام التوأم الرقمي للرافعات العلوية"، استعرضنا البنية العامة للتوأم الرقمي، مع تكرار ذكر مفهوم AAS (Asset Administration Shell). نخصص هذا المقال لشرح نموذج بيانات AAS بالتفصيل، بدءًا من عناوين سجلات PLC، مرورًا بتعيينات OPC UA، وصولًا إلى بنية AAS بصيغة JSON وتطبيقها في قواعد البيانات الزمنية، في خطوات عملية متسلسلة.

إذا كنت تعمل حاليًا على مشروع رقمنة للرافعات العلوية، فيمكنك اعتماد هذا المقال كمرجع تقني مباشر.

مخطط تعيين بنية بيانات AAS للرافعة العلوية: من PLC إلى OPC UA إلى غلاف AAS إلى المنصة السحابية
المسار الكامل لنموذج بيانات AAS للتوأم الرقمي: سيمنز S7 PLC، خادم OPC UA، غلاف AAS، المنصة السحابية

مواصفة AAS ونمذجة بيانات الرافعة العلوية

تُعد AAS المواصفة الأساسية للبيانات في الصناعة 4.0 (IEC 63278)، ويمكن اعتبارها "بطاقة هوية رقمية" لكل جهاز. فهي تنظّم جميع بيانات دورة حياة المعدات — معاملات التصميم، وحالة التشغيل، وسجلات الصيانة، وتقييم الصحة — في بنية هرمية موحّدة، مما يتيح لأي نظام (ERP، MES، SCADA، منصة سحابية) قراءتها وكتابتها بطريقة موحدة.

1.1 المستويات الهيكلية في AAS

Crane_AAS(هيكل الأصل)├── Asset Information(معلومات الأصل)│ ├── SerialNumber: "KELAND-CR-24001"│ ├── Manufacturer: "كيلود"│ ├── ModelType: "QD-32/5t-22.5m-A7"│ ├── ProductionDate: "2024-06-15"│ └── TechnicalData: {Span:22.5m, SWL:32t, HoistSpeed:6m/min}├── Submodels(النماذج الفرعية)│ ├── TechnicalData(المعلمات التقنية——قراءة فقط,ثابت من المصنع)│ ├── OperationalData(بيانات التشغيل——تحديث لحظي,100msدورة)│ ├── Maintenance(بيانات الصيانة——تشغيل بالحدث,تحديث عند الفحص)│ ├── HealthStatus(الحالة الصحية——AIحساب,تحديث دوري)│ └── EnvironmentalData(بيانات البيئة——تحليل مساعد)└── Views(طبقة العرض) ├── OperatorView(عرض المشغل——الحالة الحالية+إنذار) ├── MaintenanceView(عرض الصيانة——عمر قطعة الغيار+خطة الصيانة) ├── EngineerView(عرض المهندس——جميع البيانات الخام) └── ManagementView(عرض الإدارة——OEE+تقرير استهلاك الطاقة)

تكمن فائدة هذا التصميم الهرمي في أن كل دور يمكنه الاطلاع على البيانات التي يحتاجها فقط، مع بقاء نموذج البيانات الأساسي موحدًا، مما يمنع تكوّن جزر معلومات معزولة.

التعيين الكامل من PLC إلى AAS

بعد استعراض الجانب النظري، ننتقل مباشرة إلى البيانات الهندسية الفعلية. يوضح الجدول التالي التعيين الكامل من سجلات PLC إلى AAS لرافعة علوية ثنائية العارضة من كيلود للصناعات الثقيلة بقدرة 32 طنًا:

AAS (Asset Administration Shell)نموذج فرعي·خاصيةOPC UA NodeIDPLC DBعنواننوع البياناتدورة
TechnicalData.ratedCapacityCrane.Params.RatedCapDB100.DBD0Realعند التشغيل
TechnicalData.spanCrane.Params.SpanDB100.DBD4Realعند التشغيل
TechnicalData.workLevelCrane.Params.WorkLvlDB100.DBW8Intعند التشغيل
OperationalData.runningStateCrane.Status.StateDB200.DBX0.0Word100ms
OperationalData.currentLoad_pctCrane.Status.LoadPctDB200.DBD2Real100ms
OperationalData.hoistMotorCurrent_ACrane.Status.HoistCurrentDB200.DBD6Real100ms
OperationalData.motorTemp_Hoist_CCrane.Status.HoistTempDB200.DBD10Real1s
OperationalData.vibration_HoistDrive_mmsCrane.Status.HoistVibDB200.DBD14Real1s
Maintenance.lastInspectionDateCrane.Maint.LastInspDB300.DBD0Dateحدث
Maintenance.remainingBrakePadLife_pctCrane.Maint.BrakePadDB300.DBD20Realحدث
Environmental.ambientTemp_CCrane.Env.AmbTempDB400.DBD0Real10s

2.1 دورات جمع البيانات الثلاث

  • مستوى 100ms (فوري): حالة التشغيل، التيار، الحمولة، الموقع — هذه البيانات تدفع مزامنة الوضع اللحظي لمحرك 3D، وأي تأخير يسبب تباطؤًا في النموذج
  • مستوى 1s (اتجاهي): درجة الحرارة، القيمة الفعالة للاهتزاز — تُستخدم لتحليل الاتجاهات وتحديد عتبات الإنذار، ولا تحتاج إلى سرعة 100ms
  • الحدث (تسجيلي): سجلات الصيانة، سجلات الأعطال — تُحدَّث فقط عند حدوث تغيير، ولا تستهلك عرض النطاق

مثال كامل لـ AAS JSON

فيما يلي مثال كامل لـ AAS JSON لرافعة علوية ثنائية العارضة بحمولة 32t، ويتضمن 4 نماذج فرعية: المعلمات التقنية، بيانات التشغيل، بيانات الصيانة، والبيانات البيئية. يمكن تطبيقه مباشرة على المشاريع الفعلية مع تعديل قيم المعاملات فقط.

{ "administration": { "version": "3.0", "revision": "RC02", "id": "https://kurude-crane.com/aas/CR-2024-001", "idShort": "Crane32t_AAS" }, "assetInformation": { "assetKind": "Instance", "globalAssetId": "https://kurude-crane.com/asset/crane-32t-2024-001", "specificAssetId": [ {"name": "serialNumber", "value": "CRN-2024-001"}, {"name": "manufacturer", "value": "كيلود"}, {"name": "manufacturingDate", "value": "2024-03-15"} ] }, "submodels": [ { "id": "https://kurude-crane.com/aas/CR-2024-001/sm/technical-data", "idShort": "TechnicalData", "semanticId": "https://admin-shell.io/IDT/TechnicalData/3/0", "submodelElements": [ {"idShort": "ratedCapacity", "value": "32", "valueType": "xs:int", "unit": "t"}, {"idShort": "span", "value": "22.5", "valueType": "xs:double", "unit": "m"}, {"idShort": "workLevel", "value": "A6", "valueType": "xs:string"}, {"idShort": "hoistingHeight", "value": "16", "valueType": "xs:double", "unit": "m"}, {"idShort": "hoistSpeed", "value": "0.8-8.0", "valueType": "xs:string", "unit": "m/min"}, {"idShort": "totalWeight", "value": 38500, "valueType": "xs:int", "unit": "kg"}, {"idShort": "powerSupply", "value": "AC380V 50Hz 3-phase", "valueType": "xs:string"} ] }, { "id": "https://kurude-crane.com/aas/CR-2024-001/sm/operational-data", "idShort": "OperationalData", "submodelElements": [ {"idShort": "runningState", "value": "running", "valueType": "xs:string"}, {"idShort": "currentLoad_pct", "value": 42.5, "valueType": "xs:double"}, {"idShort": "totalRuntime_h", "value": 28650, "valueType": "xs:double"}, {"idShort": "cycleCount", "value": 12580, "valueType": "xs:int"}, {"idShort": "energyConsumption_kWh", "value": 186500, "valueType": "xs:double"}, {"idShort": "hoistMotorCurrent_A", "value": 45.2, "valueType": "xs:double"}, {"idShort": "motorTemp_Hoist_C", "value": 62.5, "valueType": "xs:double"}, {"idShort": "vibration_HoistDrive_mms", "value": 2.8, "valueType": "xs:double"}, {"idShort": "brakeWear_pct", "value": 35.0, "valueType": "xs:double"} ] }, { "id": "https://kurude-crane.com/aas/CR-2024-001/sm/maintenance", "idShort": "Maintenance", "submodelElements": [ {"idShort": "lastInspectionDate", "value": "2025-03-15", "valueType": "xs:date"}, {"idShort": "remainingBrakePadLife_pct", "value": 65.0, "valueType": "xs:double"}, {"idShort": "remainingWireRopeLife_pct", "value": 72.0, "valueType": "xs:double"}, {"idShort": "remainingWheelLife_pct", "value": 82.0, "valueType": "xs:double"}, {"idShort": "mtbf_h", "value": 9548, "valueType": "xs:double"}, {"idShort": "mttr_h", "value": 2.5, "valueType": "xs:double"} ] }, { "id": "https://kurude-crane.com/aas/CR-2024-001/sm/environmental", "idShort": "EnvironmentalData", "submodelElements": [ {"idShort": "ambientTemp_C", "value": 28.0, "valueType": "xs:double"}, {"idShort": "ambientHumidity_pct", "value": 55.0, "valueType": "xs:double"}, {"idShort": "noiseLevel_dBA", "value": 78.5, "valueType": "xs:double"} ] } ]}

تصميم قاعدة البيانات الزمنية وخط أنابيب البيانات

بعد دخول البيانات إلى هيكل AAS، يجب تخزينها في مكان مناسب. تتميز بيانات الرافعة العلوية بحجم كتابة كبير (سجل كل 100ms)، ونمط استعلام ثابت (تجميع حسب النطاق الزمني)، وحاجة إلى الاحتفاظ بها لفترة طويلة (≥3 سنوات). تُعد قواعد البيانات الزمنية (InfluxDB / TimescaleDB) الخيار المعياري.

4.1 استراتيجية التخزين متعدد المستويات

يتم تصميم خطط التخزين وفترات الاحتفاظ لكل نوع من أنواع البيانات على النحو التالي:

مستوى التخزينمدة الاحتفاظدقة أخذ العيناتسعة التخزين
البيانات الأولية7يوم100ms≈1.2GB/يوم
تجميع دقائقي90يوم1min≈200MB/يوم
تجميع ساعي2سنة1h≈35MB/يوم
تجميع يومي10سنة1d≈5MB/يوم

4.2 مثال استعلام مستمر (InfluxQL)

-- 1تجميع دقيقي(تيار الرفع)CREATE CONTINUOUS QUERY "cq_1min_hoist_current" ON "crane_db"RESAMPLE EVERY 1m FOR 1hBEGIN SELECT mean("value") AS "mean_hoist_current", max("value") AS "max_hoist_current", min("value") AS "min_hoist_current" INTO "crane_1min"."autogen"."hoist_current_agg" FROM "crane_realtime"."autogen"."hoist_current" GROUP BY time(1m), "crane_id"END-- استعلام:الماضي24تيار الذروة بالساعةSELECT max("max_hoist_current") AS "peak_current"FROM "crane_1min"."autogen"."hoist_current_agg"WHERE "crane_id" = CRN-2024-001 AND time >= now() - 24hGROUP BY time(1h)

ضمان جودة البيانات في الأنظمة الصناعية

مهما كان نموذج AAS مثاليًا، فإن البيانات غير الدقيقة في الطبقة السفلية تؤدي إلى مخرجات خاطئة. مشاكل جودة البيانات في البيئات الصناعية أكثر شيوعًا مما تتخيل — انحراف المستشعر، انقطاع الاتصال، تذبذب مسح PLC، وتداخل الإشارات. فيما يلي 5 مشاكل شائعة لجودة البيانات واستراتيجيات معالجتها من خبرتنا الهندسية:

نوع المشكلةطريقة الكشفاستراتيجية المعالجة
فقدان البيانات(فجوة>2×دورة)فحص التسلسل الزمنيملء بالاستيفاء الخطي،quality=1
قيمة خارج النطاقالتحقق من الحدود العليا والدنياتجاهل+إنذار،quality=2
تثبيتقيمة خارج النطاق(إشارة ميتة>30s)معدل التغيرالكشفوضع علامة مشبوه+كشف،quality=3
قيمة قفزية(معدل التغير>5σ)شذوذ إحصائيالكشفاستبدال بمرشح الوسيط،quality=4
شذوذ الطابع الزمنيتحقق الطابع الزمنيرفض الكتابة

يحمل كل نقطة بيانات حقل quality (0~192)، وعند قراءة التطبيقات العليا لهذه النقاط يمكنها الاعتماد على قيمة quality لتحديد مدى موثوقية البيانات. القيمة 192 تعني "جيد"، والقيمة 0 تعني "سيئ"، أما القيم الوسطى فتُصنَّف حسب درجة الخطورة.

تكامل MES/ERP مع الرافعات العلوية

بعد بناء نموذج AAS، يمكن لأنظمة المؤسسة مثل MES وERP وWMS قراءة وكتابة بيانات الرافعة العلوية من خلال واجهة REST API الموحدة:

نظام MES قراءة حالة التشغيل، أوامر الإنتاج، بيانات الجودة
نظام ERP مزامنة بيانات الأصول، أوامر الصيانة، بيانات المخزون
نظام WMS تحديث مواقع التخزين، بيانات النقل الداخلي

جميع واجهات API تعيد البيانات بالتنسيق الموحد التالي:

APIنقطة طرفيةطريقةوصفترددقيد
/api/v2/cranes/{id}/statusGETحالة التشغيل اللحظية300مرة/min
/api/v2/cranes/{id}/telemetryGETالبيانات التاريخية للقياس عن بعد30مرة/min
/api/v2/cranes/{id}/alarmsGETسجل الإنذارات30مرة/min
/api/v2/maintenance/recordsPOSTإضافة سجل صيانة10مرة/min
/api/v2/statisticsGETتقرير إحصائي10مرة/min
{ "code": 200, "message": "success", "data": { /* بيانات الاستجابة */ }, "timestamp": "2026-06-21T14:00:00.000Z", "requestId": "req-001-abc-xyz"}

الخلاصة

نموذج بيانات AAS ليس نظرية معقدة، بل هو مواصفة تتيح للمعدات والأنظمة التحدث بلغة مشتركة. تطبيقه ليس بالأمر الصعب —فقط تنظيم عناوين سجلات PLC، وإنشاء جدول تعيين OPC UA، وملء قالب JSON الخاص بـ AAS، وما تبقى هو مجرد مسألة خط أنابيب البيانات.

لاحقًا، كتبنا مقالًا حول طريقة معايرة معاملات نموذج محاكاة الرافعة العلوية، موضحين كيفية استنتاج معاملات المحاكاة من البيانات المقاسة ميدانيًا، وعرض عملية معايرة نماذج الحركة والديناميكا بالتفصيل، بالإضافة إلى حلول تحسين العرض في الوقت الفعلي على الحافة. ترقبوا المزيد.

الأسئلة الشائعة

س: ما هي AAS Asset Administration Shell بالضبط؟ وما فائدتها؟
ج: AAS (Asset Administration Shell) هي معيار أساسي في الصناعة 4.0 (IEC 63278)، ويمكن فهمها على أنها "بطاقة هوية + سيرة ذاتية" للجهاز في العالم الرقمي. إنها توحّد معلومات دورة حياة الجهاز بالكامل، مثل معاملات التصميم، وبيانات التشغيل اللحظية، وسجلات الصيانة، والحالة الصحية، في تنسيق موحّد. بالنسبة للرافعة العلوية، بعد تطبيق AAS، يمكن لأنظمة ERP وMES وSCADA والمنصة السحابية جميعها قراءة وفهم جميع بيانات الرافعة باستخدام نفس الواجهة، دون الحاجة إلى الربط المتكرر مع أنظمة مختلفة.
س: ما الأنظمة التي يمكن لنموذج AAS من كيلود للصناعات الثقيلة الاتصال بها؟
ج: يدعم حاليًا الاتصال المباشر مع وحدات التحكم المنطقي القابلة للبرمجة (PLC) من سيمنز سلسلة S7-1200/1500 (عبر بروتوكول OPC UA)، وسلسلة ميتسوبيشي Q (عبر Modbus TCP)، بالإضافة إلى واجهات MQTT/REST API القياسية. كما يمكن ربط النموذج مع قاعدة بيانات InfluxDB للسلاسل الزمنية، وصفوف رسائل Kafka، وأي قاعدة بيانات SQL اختيارية. تم تطبيق هذا الحل بنجاح في مصنع الصلب والميناء والمناطق الصناعية، مع تحقيق نسبة نجاح في الاتصال تبلغ 100%.
س: هل يمكن تطبيق نظام AAS على المعدات القديمة التي لا تحتوي على واجهة بيانات PLC؟
ج: نعم، يمكن ذلك. بالنسبة للمعدات القديمة التي لا توفر إخراج بيانات PLC، هناك حلّان: الأول هو تركيب صندوق تجميع بيانات مزود بمستشعرات (وحدة تجميع IO-Link أو 4-20mA، بتكلفة حوالي 2,000 درهم للوحدة)، حيث يتم تحويل الإشارات الفيزيائية إلى إشارات رقمية ثم ربطها بنظام AAS؛ الثاني هو إدخال البيانات الثابتة مثل سجلات الصيانة يدويًا، مع الحصول على البيانات الديناميكية من المستشعرات المضافة. لا يتطلب أي من الحلّين استبدال المعدة بالكامل.

مقالات ذات صلة

contact

contact us

phone:
+86 13903802779

mail:3915269@qq.com

Working hours: Monday to Friday

Wechat
Wechat
SHARE
TOP