تصميم نموذجي المنحى - كيف لا تكرر تشرنوبيل

مواصلة موضوع OOP في لغات البرمجة الرسومية ، سوف ندرس بمزيد من التفصيل التصميم القائم على النماذج. ما هو التصميم الموجه للطراز (MOS) ، وكيفية طبخه وماذا تأكل معه.


عند وصف تصميم موجه لأنظمة التحكم ، يقوم بعض المؤلفين في منشوراتهم بنقل فكرة أن كلمة "نموذج" تعني "نموذج لنظام التحكم". ما ليس صحيحا



لماذا هذا غير صحيح ، وكيفية القيام بذلك بشكل صحيح وأين تشيرنوبيل ، على قراءة.

فيما يلي مثال نموذجي - صورة من مقال لمؤلفين محترمين حول "أفضل الممارسات في تطوير البرمجيات باستخدام التصميم الموجه إلى النماذج":


الشكل 1. أحد خيارات MOS.

شخصيا ، بالنظر إلى هذه الصورة ، يطرح على الفور سؤال غير لائق ، ومن أي مكان ، أعتذر ، هل كان لديك ناقلات اختبار؟


أو ، على سبيل المثال ، صورة لتوصية عملية تطوير برامج نموذجية:



الشكل 2. نسخة أخرى من عملية MOS.

أين هو النموذج في هذه الصورة؟ هنا هو هذا المربع الذي يتم الحصول على شفرة المصدر؟ حقا؟ لذلك هذا هو مرة أخرى نموذج لبرامج التحكم.


لا سيما في هذه الصورة هو وجود متطلبات البرامج الأولية.
نظرًا لأنك ، على سبيل المثال ، تعد مطلبًا معتادًا جدًا ، مثل الكتب المدرسية ، لنظام التحكم:


" عندما يرتفع الضغط عن الحد الأقصى ، يجب ألا يزيد وقت إغلاق (فتح) صمام الأمان عن 5 ثوانٍ ."


وكيف تطلب بموجب هذا المخطط التحقق من عدد الثواني بعد تجاوز الضغط ، سيفتح صمام الأمان؟ على ما يبدو هناك شيء مفقود هنا. ننتقل إلى مصدر الحقيقة الذي لا ينضب في الملاذ الأخير - ويكيبيديا:

يوفر التصميم المستند إلى النماذج طريقة فعالة لإنشاء إطار عمل مشترك للتواصل خلال عملية التصميم مع دعم دورة التطوير (نموذج V). في التصميم القائم على النماذج لأنظمة التحكم ، يتجلى التطوير في هذه الخطوات الأربع:

1. نمذجة النبات ،
2. تحليل وتوليف وحدة تحكم للمصنع ،
3. محاكاة النبات والتحكم ،
4. دمج كل هذه المراحل عن طريق نشر وحدة التحكم.


تطوير نموذج كائن هو النقطة الأولى في تحديد MOS. أولاً ، نموذج الكائن ، ثم التحكم به. وهذا صحيح: لا يوجد نموذج كائن ، "شكرًا لك جميعًا - الجميع مجاني" ، وهذا ليس تصميمًا موجهًا للطراز ، بل هو خدعة كاملة للمستهلكين.


لماذا هذا مهم ومن أين تأتي تشيرنوبيل؟


في تشيرنوبيل ، حدث بالضبط ما حدث في غياب نموذج كائن. سأل العلماء السوفييت أنفسهم: "ماذا سيحدث إذا تم قطع التيار الكهربائي ، ومضخات تبريد المفاعل مزودة بالتيار من مولد يعمل على توربين نفاد؟ "ما مقدار المياه التي ستضخ عبر المفاعل قبل توقف التوربينات والمولد؟" ومن المثير للاهتمام ، أنهم طرحوا مثل هذا السؤال على أساس تجربة الحادث الذي وقع في محطة الطاقة النووية الأمريكية ، حيث لم تكن إمدادات المياه كافية للتبريد وانصهر المفاعل الأمريكي. وللتأكد من أن مفاعلاتنا لا تذوب ، فقد قررنا إجراء تجربة. ربما تجعل الإجابة على هذا السؤال الجيل التالي من مفاعلات RBMK أكثر أمانًا. أردنا الأفضل ، لكن اتضح كما هو الحال دائمًا. كنتيجة للتجربة ، قُدم المفاعل الآمن أولاً إلى حالة خطرة ، ثم انفجر. والجيل القادم من مفاعلات RBMK لم يعد وليس من المتوقع. آمين.


وإذا بدلاً من إجراء تجربة على مفاعل ، سيكون من الممكن فعل الشيء نفسه على نموذج رياضي لكائن ، ثم ، ربما ، سنقوم الآن ببناء RBMK-2400 بدلاً من مفاعلات VVER-1200.


بعد حادث تشيرنوبيل في الصناعة النووية ، يعتبر نموذج الكائن (المفاعل النووي) جزءًا إلزاميًا من المشروع. يجب أن يعرض المصمم على النموذج ما سيحدث إذا حدث خطأ ما. وبالتالي ، ظهر التصميم الموجه بين المهندسين النوويين قبل ذلك بكثير في الصناعات الأخرى ، وذلك بسبب متطلبات الهيئات التنظيمية.


ولكن حتى في حالة عدم وجود متطلبات من السلطات التنظيمية ، فإن نموذج الكائن يسهل إلى حد كبير تصميم كل من نظام التحكم والكائن نفسه. الآن نعرض هذا بمثال من صناعة تتحقق فيها "الأحلام".


النهج الصحيح المنحى.


كمثال على MOS الصحيح ، خذ بعين الاعتبار عملية تطوير برنامج التحكم لنظام التحكم الهيدروليكي لمجمع التعدين تحت الماء (كما هو الحال دائمًا ، لقد حصلت على هذا الطراز على جهاز الكمبيوتر الخاص بي عن طريق الصدفة تمامًا).


يتم التحكم في التدفقات الرئيسية للغاز المنتج بواسطة التزويد بواسطة تركيبات هيدروليكية تحت الماء. توجد على الشاطئ محطة ضخ توفر الضغط في النظام الهيدروليكي ، ويتم توفير الزيت من خلال ضغط سري تحت الماء. يتم فتح وإغلاق الصمامات بواسطة مشغلات هيدروليكية ، يتم التحكم فيها بواسطة نظام تحكم موزع. يتكون النظام من:


  • وحدة التحكم الأرضي للحقل بأكمله ؛
  • مجموعة من وحدات التحكم تحت الماء (PMU) التي توفر التحكم المباشر في الصمامات.


لتوفير الراحة في التركيب والصيانة ، يتم دمج خطوط الأنابيب في مشعب ، حيث يتم تثبيت الصمامات ووحدات التحكم الضرورية على منصة واحدة. إذا كنت في المحطة الأرضية يمكنك استخدام أدوات SCADA القياسية وخوادم الأرشفة و PLCs مع أنظمة التشغيل التقليدية و (أو) في الوقت الفعلي ، فإن وحدة التحكم تحت الماء هي ، كقاعدة عامة ، معالج دقيق غير تشغيلي ، يجب تطوير رمز التحكم من أجله بشكل منفصل عن برنامج التحكم الساحلي . (لا C ++ ، فقط C ، فقط hardcode) ثم يجب دمج العديد من وحدات إدارة المشروع هذه في النظام الموحد واختبارها. وفي الوقت نفسه ، يجب أن يعمل النظام بأكمله ككل ويوفر فتح وإغلاق الصمامات في غضون 30 عامًا تحت الماء.


والمهمة معقدة بسبب حقيقة أن جميع المعدات المستخدمة على الرف كانت حتى الآن غربية ، والجرف يخضع الآن للعقوبات. وبناءً على ذلك ، من الضروري إنشاء مجمع تكون فيه العديد من الحلول التقنية جديدة وغير معالجة لنا. كيفية الحصول على النتيجة ، والحد من أخطاء التصميم إذا كان ذلك ممكنا؟ جيد للمطورين الغربيين: لديهم بالفعل خبرة ، وهم يعرفون عن مطبات التعدين تحت الماء. وهنا يأتي التصميم الموجه للطراز لمساعدة المطورين. بدلاً من إجراء تجارب على معدات باهظة الثمن ، مثل العلماء النوويين السوفيت في تشيرنوبيل ، نقوم بإنشاء نموذج للكائن وإجراء تجارب على هذا النموذج.


نموذج متكامل لنظام التحكم تحت الماء


لتصميم البرمجيات ، يتم إنشاء نموذج متكامل في شكل حزمة تحتوي على كل من نماذج تدفق السوائل الهيدروليكية تحت الماء مع التجهيزات ومشاريع نظام التحكم. (انظر الشكل 3)



الشكل 3. حزمة من نموذج متكامل لنظام إدارة SPD.


تحتوي هذه الحزمة على مشروع - نموذج لمحطة هيدروليكية أرضية (ملف 200.prt في الشكل 3) ، والذي يوفر نمذجة العمليات الديناميكية لمعدات نظام إمداد السوائل الهيدروليكية الأرضي للمياه. (انظر الشكل 4)



الشكل 4. مخطط تصميم المحطة الهيدروليكية الأرضية.


بالتزامن مع نموذج العمليات الفيزيائية ، يجري تطوير مشروع نظام تحكم يوفر تشغيل وإيقاف تشغيل المعدات والتحكم في أوضاع تشغيل هذا الجهاز. يوضح الشكل 5 مشروع خوارزميات التحكم لوحدة التحكم الأرضية.



الشكل 5. تصميم نظام التحكم وحدة الأرض.


في هذه المرحلة ، يمكن تقسيم تطوير خوارزميات التحكم بين الفرق المختلفة. على سبيل المثال ، بالنسبة لمطوري محطة هيدروليكية أرضية ، فإن تكاليف الوحدات الموجودة تحت سطح البحر والضغط فيها هي شروط حدودية. لمطوري المعدات تحت الماء ، شرط الحدود هو الضغط الناتج عن محطة الضخ على الشاطئ.


يتم تطوير وحدات التحكم تحت الماء (PMUs) على أساس المشروع لتقسيم أنابيب الغاز الرئيسية بين الفتحات. أولاً ، يتم تشكيل الآبار ، وتحديد الأنابيب والتجهيزات بين الآبار والشاطئ ، ثم تطوير نظام تحكم هيدروليكي لهذه الصمامات.


لكل وحدة تحت الماء ، يتم تشكيل نموذج مشروع نظام التحكم ونموذج التصميم للنظام الهيدروليكي المتعدد مع الصمامات المثبتة. على مخطط تصميم النظام الهيدروليكي ، يتم تثبيت الصمامات ، والتي يتم التحكم فيها من هذه الوحدة تحت الماء. يمكن تنفيذ هذا التصميم بالتوازي مع تطوير وحدة التحكم الأرضية ، بينما يمكن إجراء التطوير بشكل مستقل وبالتوازي. لتطوير خوارزميات PMU وتشغيل الصمام ، يتم تعريف النظام الخارجي من خلال أوامر التحكم والشروط الحدودية للنظام الهيدروليكي.


النظر في وحدة التحكم تحت الماء (PMU) 502. يستخدم مشروعان هنا:

  • 502.prt - نموذج الأنظمة الهيدروليكية (الشكل 6 ، 7) ؛
  • 502a.prt - مشروع نظام التحكم لوحدة إدارة المشروع (الشكل 8).


الشكل 6. الدائرة الهيدروليكية لوحدة إدارة المشروع.


يوفر مخطط التصميم هذا محاكاة لسلوك نظام التحكم الهيدروليكي وحساب معدلات التدفق والضغوط في نظام يتحكم فيه 502 PMU. تتيح لك الدائرة الهيدروليكية المحسوبة ضبط التأثير على المحركات والحصول على بيانات المستشعر المحسوبة في نموذج العمليات المادية. طالما لم يكن لدينا محطة أرضية في الكتلة 502 P (الزاوية السفلى اليسرى من الشكل 6) ، يمكننا ضبط الضغط الناتج عن المحطة الكهرومائية كشرط حدّي.


في النظام ، يوضح الشكل 6 صمامات إغلاق وتحكم هيدروليكي (ZRA) ، يمثل كل منهما بطبيعته أسطوانة هيدروليكية متصلة بخطين عالي ومنخفض الضغط. نحن نطبق المزيد من الضغط على الجزء العلوي من الاسطوانة ، والضغط يتحرك القضيب لأسفل ، ونطبق المزيد من الضغط على الجزء السفلي من الاسطوانة ، يرتفع القضيب.


يتم التحكم في التبديل عن طريق صمامات التحكم الموجودة داخل الكتلة البيضاء (انظر الشكل 7).



الشكل 7. كتلة صمام التوزيع في النموذج.


مبدأ التشغيل بسيط: اعتمادًا على موضع صمام الشريحة ، سيتم توصيل غرف الأسطوانات بخطوط مختلفة. نقل بكرة - تغيير اتجاه حركة قضيب في الاسطوانة. (يمكن الاطلاع على مزيد من التفاصيل حول النمذجة الهيدروليكية هنا ... )



الشكل 8. تصميم نظام التحكم PMU.

يحتوي برنامج إدارة المشروع لوحدة التحكم تحت الماء على عدة كتل حسابية ، يمكن تطوير كل منها بواسطة مطور أو فريق منفصل. في هذه الحالة ، يحدث الفصل في الوحدات وفقًا لسمة وظيفية ، كل كتلة مسؤولة عن التحكم في نوع معين من الصمامات. يتم تطبيق منهجية البرمجة الموجهة للكائنات ، حيث تكون الكتلة هي فئة OOP (مزيد من التفاصيل هنا ... وهنا ... )


النظر في عملية تصميم وحدة التحكم لمعدات الإغلاق والتحكم. تستقبل هذه الكتلة في الدائرة 4 إشارات إدخال وتولد 8 إشارات خرج. (انظر الشكل 9)



الشكل 9. وحدة التحكم ZRA (النوع 1).


يتكون مخطط الكتلة الداخلية من ورقتين من الخوارزميات. تظهر الورقة الأولى في الشكل 10 أ ، والثانية في الشكل 10 ب.



الشكل 10 أ. مخطط تصميم وحدة التحكم في الصمام. ورقة 1.



الشكل 10 ب. مخطط تصميم وحدة التحكم في الصمام. ورقة 2.


عند تطوير هذه الوحدة ، يتم استخدام الأنواع التالية من الإشارات:

  • الإشارات المستلمة عبر خطوط الاتصال (الكتل الزرقاء) ؛
  • المعلمات والإشارات المستلمة من قاعدة بيانات الإشارة (الكتل الصفراء الشاحبة) ؛
  • الإشارات المرسلة إلى قاعدة بيانات الإشارة (كتل زرقاء شاحبة) ؛
  • إشارات تنتقل إلى الذاكرة (كتل صفراء زاهية) ؛
  • إشارات وردت من الذاكرة (كتل خضراء زاهية).

الرسم التخطيطي لوحدة التحكم في الصمام هو ناقل. هذا يعني أنه لا يتم إرسال إشارة تحكم واحدة على كل سطر ، ولكن متجهًا للإشارات ، والبعد الذي يتوافق مع كمية المعدات من هذا النوع المثبتة في PMP. للاتصال بين وحدة الحساب والإشارات والمعلمات والأوامر الخاصة بقطعة معينة من المعدات ، يتم استخدام وحدات الواجهة.


وبالتالي ، بعد تطوير واختبار دائرة تحكم واحدة لعنصر نموذجي ، حيث يمكن وضع العديد من وحدات الواجهة على الدائرة حيث يتم توصيل المعدات من هذا النوع بوحدة التحكم تحت الماء. في هذه الحالة ، يوجد في وحدة PMU وحدتان من الوصلات لصمام الإغلاق والتحكم من النوع 1 (انظر الشكل 8).


توضع جميع الإشارات والمعلمات المتغيرة اللازمة لوحدة التحكم في الفئة المقابلة من قاعدة إشارة ZRAT1 . يظهر جزء من الفئة في الشكل 11.


يسمح الفصل بين فئة منفصلة بتكوين فصل تطوير وحدات برامج التحكم إلى أجزاء وتحديد واجهة التفاعل بوضوح بين مختلف أجزاء البرنامج. وبالتالي ، يستمر تطوير وحدة التحكم بمعزل على طول الواجهات من الوحدات الأخرى في البرنامج.



الشكل 11. مجموعة إشارة لوحدة التحكم ZRAT1


نظام ترميز المشروع


يحتوي النظام على عدة مثيلات لهذا النوع من المعدات ، مما يعني وجود المزيد من المتغيرات في برنامج الإدارة. من أجل القضاء على الأخطاء المرتبطة اسم المتغيرات ، يتم استخدام نظام ترميز المعدات. في قاعدة بيانات الإشارة ، يتم تشكيل مجموعات من الإشارات تحتوي أسماؤها الفريدة على رمز النظام ونوع الجهاز ورمز فريد داخل النظام.


في هذا المثال ، على الدائرة الهيدروليكية ، لدينا حالتان من الصمامات الموجودة في النظام 502 ، والتي يتم التحكم فيها بواسطة كتلة ZRA TYPE 1 . (انظر الشكل 12.) أسمائهم في قاعدة البيانات هي 502GTVOO1 و 502GTVOO2 . يظهر إطار قاعدة بيانات الإشارة في الشكل 12.



الشكل 12. قاعدة بيانات إشارات معدات نظام التحكم SPD.


يحدد نظام الترميز أسماء المتغيرات الخاصة بالوحدات النمطية لبرنامج التحكم ويسمح لك بأتمتة عمليات تسمية الإشارات داخل وحدة البرامج المطورة بأكملها. يتكون أي اسم متغير من اسم مجموعة الإشارة واسم المتغير المتصل بعلامة "_".


بالنسبة إلى أي صمامات إيقاف وتحكم مرتبطة بنطاق إطلاق النار "ZRA Type1" ، فإن اسم إشارات الدخل ومتغيرات الحالة ومتغيرات الإخراج يشبه " رمز حديد التسليح " _ " إشارة_الاسم ". بالنسبة للصمام 502GTV002 ، هناك 65 متغيرًا في قاعدة بيانات الإشارة ، على سبيل المثال:


الفرق:
502GTV002_open_rem - القيادة المفتوحة عن بعد.
502GTV002_close_rem - أمر إغلاق عن بعد.
502GTV002_open_rem_z - أمر أولي للإغلاق.

متغيرات حالة حديد التسليح:
502GTV002_opened - الصمام مفتوح بالكامل.
502GTV002_notopened - صمام غير مفتوح.
502GTV002_notclosed - صمام غير مغلق.
502GTV002_losed - الصمام مغلق بالكامل.

مدخل السوائل الهيدروليكية ومخرجها:

502GTV002_XTK1 - الضغط في خط العمل.
502GTV002_XTK2 - الضغط في خط الضغط.
502GTV002_XTK3 - الضغط في خط التصريف.

إذا أضفنا وحدة أخرى من التعزيز لهذا المخطط ، فسيكون اسمه 502GTV003 ، حيث وفقًا لنظام الترميز المقبول


502 هو اسم الوحدة النمطية.
GTV - نوع من التعزيز.
003 - الرقم التسلسلي للصمامات من هذا النوع في الوحدة النمطية.

أثناء تطوير وحدة التحكم ، يمكن تعيين قيم المعلمات في قاعدة بيانات الإشارة ، وبالتالي ، يتم التحقق من صحة وحدة التحكم المنفصلة. على وجه الخصوص ، يتم تحديد حالة الصمامات في هذا المثال من خلال الضغط في خطوط إدخال ومخرج السوائل الهيدروليكية. لاختبار وحدة التحكم بشكل منفصل عن بقية النظام ، يمكن ضبط هذا الضغط يدويًا في قاعدة بيانات الإشارة.


عندما تعمل الوحدة كجزء من وحدة إدارة المشروع ، فمن الضروري نقل قيم الضغط من أجهزة الاستشعار المعنية إلى وحدة التحكم. لهذا الغرض ، يتم استخدام كتل واجهة ، يتزامن اسمها مع اسم الجهاز - انظر الشكل. 13. لراحة تصحيح الأخطاء ، يعرض نفس الكتلة قيم الإشارات المستلمة من أجهزة الاستشعار.



الشكل 13. نقل الإشارات من أجهزة الاستشعار إلى وحدة التحكم ZRA T1.

نتيجة لتشغيل هذه الوحدة ، تم تشكيل فريق لنقل المكبات في صمامات التحكم ، والتي تكون مسؤولة عن معدات التحكم التي تحمل اسم 502GTV002 .


أثناء حساب المفصل ، يتم نقل قيم المعلمات المحسوبة في النموذج الهيدروليكي إلى وحدة معالجة قراءة المستشعر (انظر الشكل 14) ، حيث يتم تحليل البيانات التي تم الحصول عليها للتأكد من موثوقيتها وتصفيتها وترجمتها إلى قيم القياس المطلوبة.



الشكل 14. مخطط التصميم لمعالجة أجهزة الاستشعار.

يعد مخطط حساب معالجة قراءات المستشعر الموضح في الشكل 14 أيضًا برنامجًا وظيفيًا بالكامل. لنقل هذه الدائرة إلى معدات التحكم الحقيقية ، يكفي وضع القيمة المستلمة من لوحة الإدخال / الإخراج في المستشعر الحقيقي في متغير "القيمة المقدرة" على مدار الساعة لتبادل البيانات في المعدات الحقيقية.


, 502.prt


.


, . :


  • .
  • , .

.


.


. . .


.


« , () 5 »


, . . . . . , , , . , , - , .


, - (. . 15).



15. .


. , 9, 10 7, 8 (. . 16).



16. .


(. . 17). , , . , , .



17. .


, , .


18 . , .


19 .



18. 2- .



19. .


, , , , 30,5 , , 32, .


« () 5 »


, 5 , . , « () 5 », , , , 8 ( ). ( ).


النتائج


- , !


. .


. .


, , , , . , - , .


- , !


, — .

Source: https://habr.com/ru/post/ar456782/


All Articles