
تناقش هذه المقالة الخطوات اللازمة لإنشاء جهاز يلبي المتطلبات العامة للسلامة الوظيفية (FB). وأيضًا سيتم اقتراح هندسة أبسط مولد الجهد "الأمان". منذ التحكم في الجهد ، يمكنك التحكم في أي جهاز تقريبًا.
يحتوي الموقع على
مقالات رائعة (
واحد ،
اثنان ) حول هذا الموضوع
وكتاب نشأت عليه كمهندس في برنامج FB.
سلسلة المعايير GOST R IEC 61508 (IEC 61508) هي أساس المعايير الروسية التي تحدد ترتيب تطوير الأجهزة التي يتم تقديم متطلبات FB لها. كما تعلمون ، عند تطوير الأجهزة المتعلقة بـ FB ، هناك معايير صناعية تحكم إجراء التطوير (بالنسبة للسكك الحديدية ، هذه هي GOST R 52980-2015 "متطلبات البرامج" ، GOST R 34012-2016 "المتطلبات العامة لمعدات السكك الحديدية" ، إلخ. د).
وفقًا لمعايير GOST R IEC 61508 و IEC 61508 ، تنقسم حالات الفشل إلى نوعين: منتظم وعشوائي.
يتم تحديد
الأعطال المنهجية عن طريق أخطاء في مواصفات وتصميم وترميز البرامج ، ويتم تصميم الحماية ضدها عن طريق تنظيم دورة الحياة ، وتشمل هذه: التحقق من جميع مراحل دورة الحياة للامتثال للمتطلبات ، والتحقق من الصحة (اختبار التحقق من الصحة) للمنتج النهائي.
يتم حساب
الفشل العشوائي كاحتمال لفشل الأجهزة ، وعادة ما يتم تحديد الحماية ضدهم بقرارات معمارية.
وفقًا للمعايير ، يمكن تقسيم جميع الأساليب إلى مجموعتين: تنظيمية وفنية. تشمل الطرق التنظيمية: تنفيذ دورة الحياة ، وتطبيق معايير الترميز ، ومراقبة إنتاج الأجهزة. تشمل الأساليب الفنية: التخريب (من التنوع الإنجليزي - التنوع) ، التكرار ، الحماية من التأثيرات البيئية ، استقلال وفصل المكونات ، التشخيص الذاتي (يجب وصف كل من هذه الطرق في مقالات منفصلة).
تم توضيح الطرق التنظيمية الرئيسية للحماية من الأخطاء المنهجية في ملاحق GOST R IEC 61508. على سبيل المثال ، فإننا نعتبر المكون المنهجي للبرنامج. عند كتابة التعليمات البرمجية ، ينبغي إيلاء اهتمام كبير لقواعد الترميز والمعايير المستخدمة في الترميز. يعد MISRA-C أحد المعايير المعروفة للبرمجة في لغة SI ؛ حيث يعمل استخدامه على تحسين أمان النظام. علاوة على ذلك ، هناك محللات ثابتة (من المفيد عمومًا للمحللين التحقق من أي رمز للأخطاء) التي يمكنها التحقق من الامتثال لمعايير MISRA-C ، أحدهم هو
PVS-Studio .
يمكن تحقيق تحويل البرامج الجزئي من خلال استخدام خوارزميات تطوير البرامج المختلفة. لا يتحقق نظام تنويع البرامج الكامل إلا عندما يكون هناك نوعان من المواصفات المختلفة لمتطلبات البرنامج ، وفرق مختلفة من المبرمجين ، ووسائل مختلفة لأجهزة البرمجة في الإنتاج ، أي يجب أن تكون هذه البرامج مختلفة تمامًا وأن تكون عملية برمجة الأجهزة مختلفة أيضًا. أيضًا ، عند تطوير أدوات البرامج ، من الضروري الحماية من أخطاء الأدوات. البرنامج الأكثر أهمية من حيث الأدوات هو المترجم بالتزامن مع المكتبة القياسية والرابط. يمكن تحقيق مجموعة متنوعة من الأدوات باستخدام مترجمين ARMCC و GCC. ومع ذلك ، فإن بعض إصدارات ARMCC لديها شهادة TUV لتوافق SIL-3 وفقًا للمعيار IEC 61508 ، ويتم استخدام GCC بنجاح في تطوير
برنامج Falcon 9 .
النظر في نتائج ترجمة الأمر "الكتابة إلى منفذ":
الأمر بلغة SI (ISO / IEC 9899): MDR_PORTE-> CLRTX = 0x0040 |
---|
«مجلس التعاون الخليجي» | «ARMCC» |
---|
LDR r3 ، [جهاز الكمبيوتر ، رقم 20] | MOVS r0 ، # 0x40 |
MOVS r2، # 64؛ 0x40 | LDR r1، [pc، # 16]؛ @ 0x0000072C |
STR r2 ، [r3 ، # 36] | STR r0 ، [r1 ، # 0x24] |
حتى بمثال مثل هذا الأمر البسيط (كما يمكن رؤيته من الجدول) ، فإن تسلسل أوامر متحكم مختلف ويستخدم سجلات عمل مختلفة. وهو ما يوفر لنا "التنوع" بشكل ما ، مما يقلل من احتمال حدوث أخطاء بسبب
السبب الشائع لخطأ الأدوات.
النظر في طرق الحماية ضد الأخطاء العرضية على سبيل المثال من جهاز التحكم في التتابع الكهرومغناطيسي ، كما هو موضح في الشكل. من أجل تحديد طرق الحماية ، من الضروري تحديد أعطال المعدات الخطيرة. كما تعلمون ، يتم التحكم في التتابع عن طريق تزويد التيار الكهربائي باللف ، وفي هذه الحالة ، سيكون الفشل الخطير لهذا الجهاز هو الظهور غير المصرح به للجهد الكافي لتشغيل التتابع. يعتمد هذا الجهاز على البنية 2 من 2. في هذه البنية ، يجب أن يتلقى MCU_A و MCU_B أوامر عبر شبكات منفصلة فعليًا.
الشكل - مخطط الاقتران الآمنفي إطار هذه المقالة ، لن نصف شجرة الخطأ بشكل كامل ، وبالتالي ، فإننا نعتبر واحدة من أكثر سلاسل الأحداث المحتملة التي تؤدي إلى فشل خطير:
- Optocoupler U1 ينكسر
- مفتاح K2 يكسر
- محول يكسر
يتم تحديد شدة ظهور الأحداث من هذا النوع بواسطة الصيغة

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

. وفقًا للافتراضات التقريبية ، يكون معدل الفشل لهذه السلسلة أقل من (10e-15) 1 / ساعة ، على افتراض أن الفشل يمكن أن يتراكم في غضون 24 ساعة.
دعونا نفكر في واحدة من الإخفاقات الأخرى: فشل MCU_A و MCU_B بحيث "يولد" بشكل عشوائي سلسلة من النبضات في المخرجات.
"عشوائي" يعني تنفيذ ما لا يقل عن تسعة أوامر من قبل متحكم (ثلاثة مداخل إلى الميناء) ، في حين سيتم الكشف عن الجهد الناتج من قبل اثنين من متحكم دقيق وسيتم إنشاء خطأ بين الأوامر المستلمة و "الأوامر الصادرة". شدة هذه الأحداث منخفضة للغاية منذ: سيتعين على اثنين من أعضاء الكنيست تنفيذ 9 أوامر في وقت واحد (ناهيك عن أنه يتعين على أعضاء الكنيست كتابة قيم معاكسة للمنافذ ، في فواصل زمنية معينة من أجل توليد الجهد اللازم لتشغيل التتابع عند الإخراج).
في الختام ، تجدر الإشارة إلى أنه كطرق لزيادة السلامة الوظيفية ، يوصى بتطبيق:
- تنويع البرمجيات والأجهزة ؛
- التشخيص الذاتي لجميع موارد متحكم (ذاكرة الوصول العشوائي ، ROM ، ALU ، سجلات العمل ، وما إلى ذلك) ، وكذلك العقد الجهاز ؛
- الحد من معلمات عناصر الدائرة بالنسبة لقيم الحد (تصنيف دي) ، لضمان خصائص تشغيلية أفضل وتقليل احتمال الفشل.
كل هذه الطرق يمكن استخدامها في تطوير الأجهزة التي تلبي متطلبات FB.
RS في المثال المدروس ، لتقليل احتمال حدوث أعطال بسبب سبب شائع ، يمكن استبدال أحد المتحكمات الدقيقة بـ FPGA.
شكرا لكم جميعا على اهتمامكم (هذا هو مقالي الأول)!