🏭

رقابة صالة الإنتاج اللحظية (Shop Floor Control)

طبقة تتبّع لحظية تجيب على سؤال واحد: «أين يقف كل أمر إنتاج الآن؟». توفّر شاشة طرفية لكل قسم (مركز عمل) يُغلق عبرها العامل المرحلة الحالية، فينتقل الأمر تلقائياً إلى المرحلة التالية، مع لوحة متابعة حيّة للمشرف. هي طبقة فوق محرّك التنفيذ القائم، لا إعادة بناء له.

الموقع داخل المعمارية

تقع رقابة الصالة بين التخطيط والتنفيذ وتربطهما لحظياً: تقرأ مسار التصنيع Routing (التسلسل المعرّف مسبقاً كبيانات أساسية ثابتة) لتعرف «ما العملية التالية»، وتكتب التأكيد Confirmation (الإنجاز الفعلي) عبر محرّك التنفيذ القائم. تنبيه جوهري: رقابة الصالة ليست هي المسار Routing — المسار هو التسلسل المعرّف الثابت، أما رقابة الصالة فهي التنفيذ اللحظي لذلك التسلسل.

80%من المنطق موجود مسبقاً
4حالات للعملية الواحدة
5آثار تشغيلية للطبقة
2زرّان فقط بالطرفية: Start / Done

الآلية الجوهرية

كل قسم يقابله شاشة طرفية لمركز عمل؛ وإغلاق العامل للمرحلة هو تأكيد عملية؛ وانتقال الأمر للمرحلة التالية هو تقدّم آلي في خطوة المسار؛ ورؤية الجميع للحالة لحظياً هي المتابعة الحيّة لصالة الإنتاج.

الكيان المحوري — حالة العملية اللحظية (Order_Operation)

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

الحقلالوصف
order_noأمر الإنتاج الذي تتبع له العملية
operation_noرقم الخطوة داخل المسار (مثال: 10، 20، 30)
work_center_idمركز العمل / القسم المنفّذ
tool_idالأداة / القالب المرتبط بالعملية
statusالحالة ضمن { Waiting, Ready, InProgress, Completed }
actual_start_timeيُختم عند ضغط زر [Start]
actual_end_timeيُختم عند ضغط زر [Done]
confirmed_byالعامل الذي أغلق العملية
quantity_completedالكمية المسجّلة عند التأكيد

آلة الحالة للعملية (operation_status)

الحالةالدلالة
Waitingالعملية السابقة لم تكتمل بعد؛ العملية غير قابلة للتنفيذ على طرفيتها
Readyاكتملت السابقة؛ تظهر العملية في طابور الطرفية ويمكن بدؤها
InProgressضغط العامل [Start] وتم ختم actual_start_time
Completedضغط العامل [Done]؛ ختم actual_end_time وتسجيل التأكيد

منطق التقدّم الآلي عند الضغط على «Done»

  1. تعيين operation[N].status = Completed وختم end_time = now.
  2. تسجيل التأكيد (الكمية + توزيع الدرجات + الهالك) عبر استدعاء محرّك التنفيذ القائم.
  3. استدعاء routing.get_next(N) لقراءة المسار وتحديد العملية التالية.
  4. إن وُجدت عملية تالية: تعيين operation[next].status = Ready وإشعار مركز عملها فتظهر على طرفيته.
  5. إن لم توجد (آخر عملية): تعيين order.status = Completed فيصبح الأمر جاهزاً لاستلام البضاعة GR.

العلاقة الجسرية: routing.get_next(N) يجيب «ما التالي؟» (من المسار)، وحالة العملية تسجّل «أين نقف» (لحظياً).

مثال تطبيقي — مسار: كبس ← إزالة زوائد ← صنفرة ← تدريج

  1. طرفية الكبس: يصل WO-001؛ يضغط العامل [Start] فتصير العملية InProgress.
  2. يضغط [Done] فتُسجّل الكمية وتصير العملية Completed.
  3. يقرأ النظام المسار فيجد التالية «إزالة الزوائد»، فيجعلها Ready ويُشعر طرفيتها.
  4. يظهر WO-001 تلقائياً على طرفية إزالة الزوائد — وهذا هو «التقدّم».
  5. تستمر السلسلة حتى التدريج (آخر عملية) فيصبح الأمر Completed وجاهزاً للاستلام.

الطرفية لكل قسم (Terminal UI)

لوحة المتابعة الحيّة للمشرف (Real-time Dashboard)

لوحة حيّة تُظهر لكل أمر عمليته الحالية ونسبة إنجازها، مثل: WO-001: Sanding (Op 30) — 60%، WO-002: Pressing — just started، WO-003: Waiting for press (mold busy). ومنها كشف الاختناق اللحظي: تكدّس أوامر بحالة Waiting قبل مورد معيّن يكشف أنه القيد الحالي — ترتبط بتخطيط السعة CRP لكنها لحظية لا تقديرية.

الآثار التشغيلية الخمسة

#الأثر
1رؤية لحظية: تعرف الإدارة موقع كل أمر بلا سؤال العمّال.
2تغذية تلقائية للتأكيد: كل Done يُنشئ تأكيداً فورياً (كمية + وقت) فتصير بيانات التكلفة حيّة ودقيقة بلا إدخال يدوي آخر اليوم.
3كشف اختناق لحظي: تكدّس Waiting قبل مورد يفضح القيد الحالي.
4أزمنة تشغيل فعلية: البدء/الانتهاء لكل عملية يغذّي OEE وضبط أزمنة المسار وانحرافات الزمن (الفعلي مقابل المخطّط).
5فرض التسلسل: لا تظهر عملية قبل اكتمال سابقتها ⇐ سلامة الجودة والعملية.

نطاق البناء والتكاملات الاختيارية

ماذا يعني هذا لـ Moon ERP