هذا المشروع هو عبارة عن نظام برمجى مبني بلغة Java باستخدام إطار العمل Spring Boot، ويهدف بشكل أساسي إلى سحب وعرض بيانات التصنيع من قواعد بيانات أنظمة الـ SCADA الخاصة بمصانع السويدي (Elsewedy).
إليك ملخص لأهم جوانب المشروع التي قمنا بالعمل عليها:
1. الهدف الأساسي للمشروع
تجميع وتوحيد البيانات القادمة من ماكينات الإنتاج المختلفة (مثل ماكينات السحب، العزل، واللف) وتخزينها أو عرضها في تقارير (مثل ملفات Excel) لمراقبة جودة الإنتاج وكفاءة الماكينات.
2. المكونات التقنية التي صممناها
لقد قمنا بإنشاء طبقتين أساسيتين لكل جدول بيانات في القاعدة:
Entities (الكيانات): وهي فئات Java تمثل جداول الماكينات في قاعدة البيانات. كل "Entity" يحتوي على الحقول الخاصة بالماكينة مثل:
سرعة الخط (LineSpeed).
درجات حرارة السخانات (Heaters/Zones).
الأطوال والأقطار (Length, Diam).
بيانات الكهرباء والجهد (Voltage, Current).
Repositories (المستودعات): وهي الواجهات التي تسمح للتطبيق بالبحث في قاعدة البيانات، مع التركيز على البحث بالنطاق الزمني (بين تاريخين) باستخدام استعلامات SQL أصلية (Native Queries) لضمان السرعة والدقة.
3. أنواع الماكينات التي يشملها النظام
المشروع يغطي مجموعة واسعة من خطوط الإنتاج، منها:
سلسلة EXT: وهي جداول خاصة بماكينات "البثق" (Extruders)، وتركز على درجات حرارة المناطق (Zones) وسرعات الموتور.
سلسلة DTM و AUTO: تركز على قياسات الأطوال وسرعة الخطوط.
سلسلة MIW و MFW و MM: وهي الماكينات الخاصة بـ "سحب الأسلاك المتعددة" (Multi-Wire Drawing)، وتهتم ببيانات مثل عدد الأسلاك، جهد جهاز التخمير (Annealer)، واستهلاك الطاقة (KWh).
HWD و MLineSpeed: ماكينات السحب وتحديد أطوال البكرات (Spoolers).
4. حلول ذكية للمشاكل التقنية
مواجهة مشكلة المفتاح الأساسي (Primary Key): بما أن جداول السكادا غالباً لا تحتوي على معرف (ID) تلقائي، استخدمنا تقنية الـ Composite Key (ScadaRecordId) التي تدمج بين "وقت التسجيل" و"سرعة الخط" لتعريف كل سجل بشكل فريد.
تطابق البيانات: تم تصميم الكود ليكون مرآة للأعمدة الموجودة في قاعدة البيانات (SQL Server) لضمان عدم حدوث أخطاء أثناء نقل البيانات.
باختصار: المشروع هو "المترجم" الذي يحول بيانات الماكينات الخام من المصنع إلى كائنات برمجية منظمة يمكن تحليلها واستخراج تقارير منها بسهولة.