وصف
الملخص:
تصميم وتطوير وصيانة البرمجيات المضمنة والزمنية الحقيقية لأنظمة التحكم عبر مختلف القطاعات الصناعية، مع ضمان السلامة والأداء والموثوقية.
أبرز النقاط:
1. تصميم وتنفيذ برامج التحكم المضمنة باستخدام لغتي C/C++ وأنظمة التشغيل الزمنية الحقيقية (RTOS).
2. تطوير خوارزميات التحكم ودمجها في بنية البرمجيات.
3. ضمان السلامة الوظيفية والموثوقية لأنظمة بالغة الأهمية.
**مهندس برمجيات أنظمة التحكم — وصف الوظيفة: ملخّص الدور**
تصميم وتطوير وصيانة البرمجيات المضمنة والزمنية الحقيقية لأنظمة التحكم التي تراقب وتوجّه العمليات الكهروميكانيكية، مع ضمان السلامة والأداء والموثوقية عبر الأنظمة الصناعية والروبوتية والفضائية والسيارات أو الطاقية.
**المهام الرئيسية**
* تصميم وتنفيذ برامج التحكم المضمنة (البرامج الثابتة، والمشغلات، والبرمجيات الوسيطة) لأنظمة الزمن الحقيقي باستخدام لغتي C/C++ وأنظمة التشغيل الزمنية الحقيقية (RTOS) أو بيئات التشغيل المباشرة (bare-metal).
* تطوير خوارزميات التحكم (مثل PID، وفضاء الحالات، والمراقبين، ومرشحات كالمان) ودمجها في بنية البرمجيات.
* التعاون مع مهندسي الأنظمة لتحديد المتطلبات والواجهات وبنية أنظمة التحكم؛ وترجمة نظريات التحكم إلى أكواد جاهزة للإنتاج.
* تنفيذ منهجيات التصميم القائمة على النماذج (MATLAB/Simulink) وتوليد الأكواد الخاصة بالأهداف المضمنة والتحقق منها.
* تطوير وصيانة مكدّسات الاتصالات والبروتوكولات (مثل CAN، وEtherCAT، وModbus، وRS-485، وTCP/IP) وواجهات الأجهزة.
* تنفيذ أنظمة التشخيص والقياس عن بُعد (telemetry) والتسجيل (logging) لمراقبة الأداء وكشف الأعطال والتصحيح عن بُعد.
* كتابة اختبارات الوحدة والاختبارات التكاملية واختبارات الحلقة المغلقة مع الأجهزة (HIL)، وأتمتة أدوات الاختبار وبيئة التكامل المستمر (CI) لبنى البرمجيات المضمنة.
* إجراء ضبط الأداء الزمني الحقيقي وتحليل زمن التأخير وتحسين استخدام الموارد (الذاكرة، ووحدة المعالجة المركزية، والطاقة).
* دعم بدء تشغيل الأجهزة (hardware bring-up)، والتصحيح على مستوى اللوحة (board-level debugging)، والتعاون مع الفرق الكهربائية والميكانيكية (باستخدام أجهزة قياس مثل أجهزة تحليل المنطق ومذبذبات الإشارات وأدوات JTAG/SWD).
* ضمان السلامة الوظيفية والموثوقية: المشاركة في تتبع المتطلبات، وتحليل طرق الفشل وتأثيراتها (FMEA)، والتحليلات الأمنية، وتنفيذ الميزات الحرجة للأمان وفق المعايير المعمول بها (مثل ISO 26262، وIEC 61508، وDO-178، حسب الاقتضاء).
* إدارة التحكم بالإصدارات والتوثيق وإدارة التهيئة لإصدارات البرمجيات والبرامج الثابتة.
* إرشاد المهندسين الجدد والمشاركة في مراجعات التصميم والتخطيط التقني.
**المؤهلات المطلوبة**
* درجة البكالوريوس في هندسة الكهرباء أو هندسة الحاسوب أو الروبوتيكا أو علوم الحاسوب أو تخصص ذي صلة؛ ويُفضَّل الحصول على درجة الماجستير.
* خبرة لا تقل عن ٣ سنوات في تطوير برامج التحكم المضمنة أو ما يعادلها.
* إتقان قوي للغتين C وC++؛ ومعرفة بمعايير MISRA C/C++ تُعتبر ميزةً إضافية.
* خبرة في أنظمة التشغيل الزمنية الحقيقية (مثل FreeRTOS، وVxWorks، وRTEMS) ومفاهيم جدولة المهام الزمنية الحقيقية.
* خلفية متينة في نظريات التحكم وخبرة في تنفيذ خوارزميات التحكم ضمن البرمجيات.
* خبرة في أدوات التصميم القائمة على النماذج (مثل MATLAB/Simulink) ومنهجيات توليد الأكواد.
* معرفة بواجهات الأجهزة وأدوات التصحيح المضمنة (مثل JTAG، ومحلل المنطق) وبرامج التشغيل منخفضة المستوى للأجهزة.
* خبرة في بروتوكولات الاتصال ذات الصلة بالمجال (مثل CAN، وEtherCAT، وModbus، وغيرها).
* خبرة في تطوير البرمجيات باستخدام منهجية التطوير القائمة على الاختبار (TDD) للأنظمة المضمنة، بما في ذلك أطر عمل اختبارات الوحدة وتكوينات الحلقة المغلقة مع الأجهزة (HIL).
* مهارات قوية في حل المشكلات والتفكير الشمولي والعمل الجماعي.
أنواع الوظائف: دوام كامل، دائم
الأجر: ٢٥٫٢٥ ر.ق إلى ٨٩٫٥٠ ر.ق لكل ساعة
عدد الساعات المتوقعة: ٤٠ ساعة أسبوعيًا
مكان العمل: شخصيًا