العدّاد مقياس على المعدّة يقيس كم اشتغلت: ساعات المحرك على رافعة شوكية، وكيلومترات على شاحنة، ودورات على مكبس، ودورات المحرك على عمود دوران. والعدّادات هي ما يترجم به بيلوسيتي الاستعمال إلى مُشغِّل صيانة — فالرافعة الشوكية التي تستحق مراجعة كل 250 ساعة لا تعرف أنها استحقّت إلا حين يجمع عدّاد الساعات 250 ساعة منذ آخر مراجعة.
كيف تصل القراءات إلى النظام
يمكنك تسجيل قراءة من عدة أماكن:
- المسح بالهاتف — يمسح المشغّل رمز الاستجابة السريعة على المعدّة، ويكتب قيمة العدّاد.
- الإدخال اليدوي — من صفحة قراءات العداد، انقر تسجيل القراءة، واختر المعدّة (الوحدة مضبوطة سلفاً من إعداد عدّاد المعدّة)، واكتب قيمة العدّاد، وأشّر اختيارياً على دورة العدّاد أو إعادة الضبط، ثم احفظ. يرسل النموذج إلى
/meter-readings/record، الذي يُجري منطق التراكم والتصاعد المطرد ويُطلق فحص مشغّلات الخطط في الحين. - الاستيراد الجماعي — رفع ملف
CSVفي نهاية الشهر، وهو شائع خصوصاً حين يُصدّر متحكّم منطقي مبرمَج عدّاداته إلى جدول. - الواجهة الآلية — إرسال مباشر من تكامل مع متحكّم منطقي مبرمَج أو من بوابة إنترنت الأشياء.
- إقفال أمر تدخل — القراءة المُدخَلة وأمر التدخل مفتوح تُوسم بمصدر أمر تدخل. وهذا مجرد وسم على قراءة تسجّلها بنفسك؛ فإقفال أمر التدخل لا يلتقط لك قيمة عدّاد تلقائياً.
وتلتقط كل قراءة القيمة، والوحدة، ومن سجّلها، ومتى، والمصدر.
وأول قراءة تراكمية تسجّلها لمعدّة تضبط وحدة عدّاد تلك المعدّة تلقائياً (إن لم تكن لها وحدة أصلاً). وبعدها يجب أن تستعمل كل قراءة تراكمية للمعدّة الوحدة نفسها — فالقراءة بوحدة أخرى مرفوضة حتى لا يختلط تاريخ العدّاد، فتُخلط الكيلومترات بالأميال مثلاً.
القراءات التراكمية والقراءات الحالية
للقراءة نوعان:
- تراكمية — عدّادات لا تزيد إلا صعوداً. وتحمل بطاقة المعدّة قيمة تراكمية محفوظة تقرأها جدولة الخطط. وتُستوعب الدورات (حين يكمل العدّاد دورته) وإعادات الضبط (حين يُستبدل المستشعر) داخل السجل، فيبقى التراكمي متصاعداً ولا تفقد الساعات التراكمية تاريخها عند تبديل مستشعر.
- حالية — قياسات مستشعرات تتحرك في الاتجاهين: القيمة الفعّالة للاهتزاز، وحموضة الزيت، وحرارة المحمل. وهذه لا تحدّث التراكمي؛ بل تغذّي مشغّلات الخطط المحسوبة على الحالة (استبدل المحمل حين يتجاوز الاهتزاز 8 مم/ثا على مدى خمس قراءات).
الدورات وإعادات الضبط
حين يمرّ عدّاد المسافة ذو الستة أرقام من 999.999 إلى 000.000، يؤشّر المشغّل على القراءة بأنها دورة عدّاد، فيحتسب النظام فرق الالتفاف مقابل counter_max_value الخاص بالمعدّة. وحين يُستبدل مستشعر، يؤشّر المشغّل على القراءة بأنها إعادة ضبط ويعطي قيمة انطلاق المستشعر الجديد (وهي الصفر غالباً). فتُحتسب القراءات اللاحقة على الأساس الجديد، ولا تفقد ساعات المعدّة التراكمية تاريخها.
ولا يستنتج النظام دورةً من قيمة خام متراجعة أبداً — فالأخطاء المطبعية تُنتج إنذارات كاذبة كثيرة. والقراءة المتراجعة بلا is_rollover = true مرفوضة، ويُطلب من المشغّل أن يوضّح (دورة، أو إعادة ضبط، أو خطأ في الكتابة).
التصحيحات
أخطأت في الكتابة؟ سجّل تصحيحاً: قراءة جديدة تشير إلى القراءة التي تحل محلها. ويبقى الأصل في السجل للتدقيق؛ وتُعاد سلسلة الأرصدة التراكمية إلى الأمام انطلاقاً من نقطة التصحيح. وتأخذ أوامر التدخل المفتوحة المعنية وسم «أثر تصحيح العداد» ليقرر المخطِّط هل يعيد فتحها، ويعيد التصحيح فحص خطط المعدّة المحسوبة على العدّاد مقابل القيمة المصحَّحة، فتُعاد دراسة كل صيانة صارت مستحقة الآن.
ربط مشغّلات الخطط
بعد كل قراءة ناجحة، يفحص النظام في الحين خطط المعدّة النشطة المحسوبة على العدّاد. وإن كان التراكمي الجديد قد تجاوز عتبة استحقاق خطة، فُتح أمر تدخل خلال أجزاء من الثانية — دون انتظار المرور الساعي التالي.
أما الاستيرادات الجماعية فتؤجّل الفحص إلى مهمة خلفية لكل معدّة، تفادياً للعبء الناتج عن إطلاقه مئات المرات في عملية إدخال واحدة.
وقائمة القراءات سجل لا يقبل إلا الإضافة، فالتضييق هو السبيل إليها: زر التصفية المجاور لصندوق البحث يأخذ المعدّة أو نوع القراءة أو المصدر أو دورة العداد أو إعادة الضبط أو تصحيح، أو نافذة تاريخ سُجّلت في أو مجال قيمة (التعامل مع القوائم).
سجل الأسطول في نهاية اليوم
نمطان جماعيان شائعان مبنيان في النظام:
- سجل الأسطول في نهاية اليوم — ينسخ منسّق الرافعات الشوكية عدّاد ساعات كل شاحنة عند نهاية الوردية. تعرض الشبكة سطراً لكل شاحنة؛ وزر واحد يرسل الدفعة كلها. ولكل دفعة
import_batch_idخاص بها، فتُستخرج قراءاتها معاً. - الاستيراد الشهري من ملف
CSV— ارفع ملفاً صادراً عن متحكّم منطقي مبرمَج؛ يتحقق النظام من التصاعد المطرد سطراً سطراً، ويُظهر ما رُفض منها، ويُدرج الأسطر المقبولة. وتُعدّ القراءة مكرَّرة حين توجد قراءة أخرى للمعدّة نفسها والوحدة نفسها والوقت نفسه والمصدر نفسه — فإعادة رفع الملف نفسه (أو إعادة كتابة قراءة أدخلتها سلفاً) لا تفعل شيئاً بدل أن تُدخلها مرتين.