المحاكاة مقابل الإيمولاشن في الأتمتة: ما الفرق؟
By Mirko Peters ·
المحاكاة مقابل الإيمولاشن في الأتمتة: تنمذج المحاكاة سلوك النظام، بينما يحل الإيمولاشن محل جزء حقيقي ويعمل في الوقت الفعلي. تعرّف على متى تستخدم كلاً منهما.
Automatically translated with AI from the original post. Read the English original
في الأتمتة، المحاكاة هي نموذج يحاكي سلوك النظام، وغالباً أسرع من الوقت الفعلي، لاستكشاف الخيارات. أما الإيمولاشن فيستبدل جزءاً من النظام الحقيقي بنموذج، أو يحاكي جهازاً، بحيث يعمل النظير الحقيقي معه كما لو كان متصلاً بالنظام الفعلي، ويعمل في الوقت الفعلي. يستهدف هذا الدليل مدراء التميز التشغيلي الذين يقرؤون عروض الأسعار وخطط المشاريع التي تخلط بين المصطلحين، مثل ما يرد في virtual commissioning. ستتعرّف على التعريفات، والغرض من كل منهما، وكيف تتناسب الحلقة البرمجية والحلقة المادية معهما، ومثال تطبيقي مع أزمنة التشغيل.
النقاط الرئيسية
- تنمذج المحاكاة سلوك النظام ويمكنها أن تعمل أسرع من الوقت الفعلي؛ أما الإيمولاشن فيستبدل جزءاً من النظام الحقيقي بنموذج، أو يحاكي جهازاً، ويعمل في الوقت الفعلي.
- استخدم المحاكاة لاستكشاف خيارات التصميم والتخطيطات والسعة واستراتيجيات التحكم؛ واستخدم الإيمولاشن لاختبار منطق التحكم مقابل نموذج للمصنع، ولتدريب الأشخاص.
- لا يمكن تسريع الإيمولاشن، لأن مؤقتات التحكم والاتصال تعتمد على الوقت الفعلي، لذلك فهو أداة غير مناسبة لتشغيل سيناريوهات كثيرة.
- الحلقة البرمجية والحلقة المادية هما إعدادان للإيمولاشن: تعمل شيفرة التحكم الحقيقية أو وحدة تحكم حقيقية مع مصنع محاكى.
- غالباً ما تُستخدم المصطلحات بشكل غير دقيق، لذا اسأل عما يعمل في الوقت الفعلي، وما الجزء الحقيقي، وما الجزء المنمذج، قبل أن تقبل عرض سعر أو مواصفة.
المحاكاة مقابل الإيمولاشن: الإجابة المختصرة
تتداخل المصطلحات، وتعترف الأدبيات بذلك. فكلٌّ من الإيمولاشن والمحاكاة يُنشئ بيئة افتراضية يمكنك فيها التصحيح والاختبار قبل المساس بالعتاد المادي. يذكر تقرير ميداني عن محاكاة الشبكات الصناعية أعدّه Duque Anton وزملاؤه المشاركون، ومتاح على arXiv، أن المحاكاة تهدف إلى محاكاة حالات النظام، وأن الإيمولاشن يهدف إلى إعادة إنتاج سلوكه. ويلاحظ المؤلفون أن المصطلحين كثيراً ما يُستخدمان بالتبادل، وأنهم يستخدمون كلمة "simulation" بمعناها العام لأن كثيراً من الأدوات تستطيع القيام بالأمرين.
يقدّم Ian McGregor تعريفاً أكثر عملية في ورقة بحثية لمؤتمر Winter Simulation Conference لعام 2002. فهو يعرّف نموذج الإيمولاشن بأنه النموذج الذي يُنفَّذ فيه جزء وظيفي منه بواسطة جزء من النظام الحقيقي، والعكس صحيح أيضاً: يُستبدل جزء من النظام الحقيقي بنموذج. عمل McGregor لدى شركة تبيع أدوات الإيمولاشن، لذا ينبغي قراءة ادعاءاته مع أخذ ذلك في الاعتبار. أما التعريف نفسه فيسهل التحقق منه في أي مشروع.
بعبارة بسيطة، فإن التمييز العملي في الأتمتة هو التالي:
- المحاكاة هي نموذج للنظام بأكمله يُشغَّل بمفرده. تغيّر المدخلات وترى ما يحدث، ويمكنك تشغيلها بسرعة. يمكنك محاكاة الطلب والتوقفات وعدد الموظفين، ويمكنك بناء نموذج أولي لتخطيط ما داخل النموذج قبل بناء أي شيء فعلياً.
- المحاكاة الافتراضية (Emulation) تربط شيئًا حقيقيًا بنموذج. الشيء الحقيقي قد يكون برنامج تحكم أو وحدة تحكم أو لوحة تشغيل، والنموذج يمثل الآلة أو المنشأة المحيطة به. ولأن هناك عنصرًا حقيقيًا مشاركًا، فإن التشغيل يستغرق وقتًا فعليًا.
ينعكس الفرق نفسه على الأدوات، حيث يتوقف الفرق بين المحاكي (Emulator) والمحاكي الموازي (Simulator) على ما يقوم كل منهما بتكراره. يمكن للـ Simulator أن يحاكي المنشأة أو منطق برنامج وحدة التحكم في نموذج. أما الـ Emulator فيحاول محاكاة وظائف وحدة التحكم الحقيقية، حتى سلوك المعالج والاتصال، بحيث يمكن تشغيل الشيفرة الفعلية عليه وإعادة إنتاج ما كانت ستفعله على الجهاز المستهدف. وفي الممارسة العملية، كثيرًا ما يطلق الموردون اسم Emulator أو Simulator على محاكي PLC بالتبادل، لذا يجب التحقق مما يقف خلف التسمية. وقد تختلف أدوات المحاكاة والمحاكاة الموازية لوحدة التحكم نفسها اختلافًا كبيرًا في مدى دقة إعادة إنتاج النظام المستهدف.
حالات الاستخدام: الغرض من كل منهما في الأتمتة
يصف McGregor حالات الاستخدام النموذجية. تُستخدم نماذج المحاكاة لاختبار حلول مختلفة وتطويرها بهدف الوصول إلى الأفضل منها. فهي تستكشف خيارات التصميم والتخطيط وحدود التشغيل واستراتيجية التحكم. وتعمل بسرعة، غالبًا أسرع من الزمن الفعلي، وتكون قابلة للتكرار طالما لم تتغير المعاملات. ولذلك فهي مناسبة لكثير من التجارب ولعمليات التحسين الآلي.
تُستخدم نماذج المحاكاة الافتراضية (Emulation) لاختبار منطق نظام التحكم تحت ظروف تحميل مختلفة، وللتحقق من سلوك التحكم قبل التشغيل التجريبي، ولتدريب المشغلين وفرق الصيانة. وتعمل في الزمن الفعلي مع ربط نظام التحكم من الخارج.
يذكر McGregor أيضًا حدود هذه النماذج. فنماذج المحاكاة الافتراضية غير مناسبة للتجارب لأنها غالبًا ما تعمل في الزمن الفعلي فقط. وتشغيلها أسرع من الزمن الفعلي يسبب أخطاءً، لأن مؤقتات نظام التحكم لا تستطيع التكيف. كما أن النتائج أقل قابلية للتكرار، لأن الاتصال بين النموذج ووحدة التحكم غير متزامن ويعتمد على الشبكة ونظام التشغيل.
يطرح Duque Anton والمشاركون معه نقطة مشابهة من الجانب الآخر. فالمحاكاة فعالة من حيث التكلفة والموارد والوقت، لكن يجب نمذجة كل خاصية فيزيائية، وقد يتطلب ذلك جهدًا كبيرًا أحيانًا. أما المحاكاة الافتراضية فهي بحكم تصميمها دقيقة بقدر النظام الإنتاجي عندما تكون البيئة حقيقية، لكنها تحتاج إلى أجهزة أكثر ومساحة أكبر، وتكلف أكثر. ويخلصون إلى أنه لا يوجد حل عام يلبي جميع المتطلبات.
المحاكاة البرمجية في الحلقة، والمحاكاة الأجهزة في الحلقة، والتوأم الرقمي
في مشاريع الأتمتة يلتقي المفهومان في اختبارات "في الحلقة". وتصف صفحة المورد الخاصة بـ realvirtual هذه الاختبارات:
- المحاكاة البرمجية في الحلقة (Software in the loop): يعمل برنامج التحكم كبرنامج على جهاز حاسوب، على سبيل المثال داخل محاكي PLC، ويتعامل مع نموذج الآلة. ولا يلزم أي عتاد.
- المحاكاة الأجهزة في الحلقة (Hardware in the loop): يتصل PLC حقيقي بنموذج الآلة عبر الشبكة. ويُشغّل العتاد الحقيقي آلةً افتراضية.
كلاهما يُعد محاكاة افتراضية (Emulation) بالمعنى الذي يستخدمه McGregor، لأن جزءًا حقيقيًا، سواء كان شيفرة التحكم أو وحدة التحكم، يعمل مع نموذج لبقية النظام. وهما جوهر التشغيل الافتراضي (Virtual Commissioning). والصفحة مصدر من المورد، وأوصافها متسقة مع التعريفات الأكاديمية الواردة أعلاه.
نموذج تدفق الإنتاج حالة مختلفة. محاكاة المصنع نموذج مضبوط لكيفية انتقال العمل عبر جزء من المصنع، باستخدام قواعد التشغيل الحالية والموارد والطلبات والتباين المعتاد، بحيث يمكن اختبار تغيير مثل وردية إضافية أو آلة جديدة أو مخزن مؤقت أصغر قبل تنفيذه. لا توجد وحدة تحكم في الحلقة. إنها محاكاة بالمعنى الخالص، وتعمل أسرع بكثير من الزمن الفعلي.
يمكن أن يكون التوأم الرقمي، وهو تمثيل رقمي مُحدَّث لمورد مادي يُحافَظ على تحديثه من الملاحظات، النموذجَ في الحالتين. الأهم ليس النموذج نفسه، بل طريقة استخدامه: كتجربة مستقلة، وهذه محاكاة، أو متصلًا بشيء حقيقي في الزمن الفعلي، وهذه محاكاة افتراضية (Emulation).
المحاكي أم المحاكي الموازي: أيهما تستخدم
استخدم هذا كدليل سريع. وهو ملخص من إعدادنا، وليس معيارًا.
- ما مقدار السعة التي نحتاجها، وأين عنق الزجاجة؟ المحاكاة. تريد سيناريوهات كثيرة، وبسرعة.
- هل يتعامل برنامج التحكم مع انحشار، أو قطعة مفقودة، أو عطل في المستشعر؟ المحاكاة الافتراضية (Emulation) أولاً، على مستوى البرمجيات.
- هل يستوفي وحدة التحكم الفعلية متطلبات التوقيت والواجهات؟ اختبار الأجهزة في الحلقة (Hardware in the loop)، أو اختبار على المعدات الفعلية. يذكر Duque Anton والمؤلفون المشاركون معه أن الأجهزة الحقيقية تعطي أكثر النتائج واقعية، لكنها الأصعب في الإعداد.
- هل يمكننا تدريب المشغلين قبل التشغيل؟ المحاكاة الافتراضية (Emulation). يتصرف نموذج متصل بلوحة التحكم الفعلية كما تتصرف الآلة نفسها.
- أيّ التصميمين من بين اثنين أفضل؟ المحاكاة (Simulation).
غالباً ما يحتاج المشروع الواحد إلى النوعين معاً. أولاً تحدد المحاكاة حجم خط الإنتاج، ثم تختبر المحاكاة الافتراضية لاحقاً برنامج التحكم الخاص بذلك الخط.
مثال: خط تعبئة واحد وسؤالان
هذا مثال توضيحي وليس حالة مقاسة. يُنتج خط التعبئة 3,000 كرتونة في الساعة. وتطرح المنشأة سؤالين.
السؤال الأول: هل ستؤدي إضافة آلة لصق ملصقات ثانية إلى رفع الإنتاج إلى 3,600 كرتونة في الساعة؟ هذا سؤال يتعلق بالمحاكاة. يعمل النموذج الإنتاجي وردية مدتها 8 ساعات في نحو دقيقتين، أي أسرع من الزمن الحقيقي بمقدار 240 مرة. يختبر الفريق 30 سيناريو، مثل أحجام الدفعات المختلفة، وأحجام المخازن المؤقتة، وأنماط التوقف. تستغرق التشغيلات الثلاثون نحو 60 دقيقة. أما تنفيذ السيناريوهات نفسها الثلاثين بالزمن الحقيقي فسيستغرق 30 × 8 ساعات = 240 ساعة، أي 30 يوم عمل. لذلك لا تشكّل الاختبارات بالزمن الحقيقي خياراً مناسباً لهذا السؤال.
السؤال الثاني: هل يتعامل برنامج التحكم مع انحشار الكرتونة عند آلة لصق الملصقات؟ هذا سؤال يتعلق بالمحاكاة الافتراضية (Emulation). يعمل برنامج التحكم على محاكي PLC، ويقوم النموذج بدور خط الإنتاج. تستغرق كل حالة عطل نحو 5 دقائق بالزمن الحقيقي، ولا يمكن تسريعها لأن مؤقتات البرنامج تعتمد على الزمن الحقيقي. وتستغرق اثنتا عشرة حالة عطل نحو 60 دقيقة. وهذا تكلفة منخفضة مقارنةً باكتشاف خطأ معالجة الانحشار أثناء التشغيل على الخط الفعلي.
تستغرق الاختبارات الاثنان نحو ساعة، لكنهما يجيبان عن سؤالين مختلفين. فالمحاكاة السريعة لا تُظهر ما إذا كانت مؤقتات التحكم تعمل بشكل صحيح، والمحاكاة الافتراضية بالزمن الحقيقي لا تستطيع اختبار 30 سيناريو في يوم واحد.
الأخطاء الشائعة
- استخدام المصطلحين كمترادفين في المواصفات. قد يقدّم المورد خدمة تحت مسمى "المحاكاة" ثم يسلّم نموذجاً بحتاً، بينما كنت بحاجة إلى اختبارات للتحكم.
- الحكم على توقيت التحكم من خلال المحاكاة. النموذج الذي يعمل أسرع من الزمن الحقيقي لا يقول شيئاً عن المؤقتات ولا عن الاتصالات.
- تسريع المحاكاة الافتراضية. تكون النتائج خاطئة عندما لا تستطيع مؤقتات التحكم مواكبة التسريع.
- النماذج شديدة التفصيل. النموذج الذي يتضمن كل كابل وكل برغي يكلّف جهداً لا يحتاجه السؤال المطروح.
- الوثوق بالمحاكي على أنه وحدة التحكم الفعلية. محاكاة وحدة التحكم ليست PLC. خطّط لفحص على الأجهزة الفعلية للتحقق من التوقيت والواجهات.
- غياب اختبار القبول على الخط الفعلي. الاختبار الافتراضي الناجح يخفض المخاطر لكنه لا يزيلها.
كيف يمكن للبرمجيات أن تساعد
توجد أدوات لكلا الغرضين. تعمل برامج نمذجة تدفق الإنتاج ضمن برمجيات المحاكاة، بينما تستخدم اختبارات التحكم محاكيات PLC ونماذج الآلات. اسأل المورد عما يعمل بالزمن الحقيقي، وما هو فعلي، وما هو مُنمذج. أما بالنسبة إلى الاختبار البرمجي لشيفرة التحكم، فاسأل عن كيفية أتمتة الاختبارات وتسجيلها، حتى يمكن تكرار تشغيل الاختبار بعد كل تغيير في البرنامج. واطلب الواجهة الخاصة بمنصة PLC لديك، وتقدير الجهد اللازم لبناء النموذج. لا تحسم البرمجيات بدلاً منك أيّ السؤالين ينبغي طرحه، والسؤال الواضح هو أفضل وسيلة للاختيار بين الاثنين.
الخطوة التالية
في مشروع الأتمتة القادم، اكتب كل اختبار تريده على شكل سؤال، وصنّف كل سؤال بأنه "سيناريوهات كثيرة، وسريع" أو "تحكم فعلي، وزمن حقيقي". ثم استخدم هذه القائمة للحسم بين المحاكاة والمحاكاة الافتراضية قبل أن تطلب عروض الأسعار.