عندما يتوقف شاحن عن العمل، يصل أول دليل عادةً في صورة رسالة OCPP. إذ يُبلغ الشاحن عن حالة مثل Faulted مصحوبة برمز خطأ، وأحيانًا برمز خاص بالمُصنّع يقدّم تفاصيل أكثر. وقراءة هذه الرسائل بشكل صحيح توفّر الزيارات الميدانية غير الضرورية وتساعدك على إصلاح المشكلات بسرعة أكبر.
يشرح هذا الدليل حالات الموصلات في OCPP 1.6 وجميع رموز الأخطاء القياسية، مع السبب المعتاد والإجراء الأول المناسب لكل منها. ثم يعرض منهجية لاستكشاف الأعطال وإصلاحها، والممارسات الجيدة لإعادة التشغيل وفك القفل عن بُعد، وكيفية إعداد السجلات والتنبيهات، ومتى يحين وقت إرسال فني.
- في OCPP 1.6، تُبلغ الشواحن عن الحالة والأخطاء عبر رسالة
StatusNotification. - يحدد رمز الخطأ القياسي (errorCode) فئة المشكلة، بينما يكشف الحقلان الاختياريان
vendorErrorCodeوinfoغالبًا عن السبب الدقيق. - راجع السجلات والتاريخ أولًا، ثم جرّب الإجراء عن بُعد الأقل إزعاجًا.
- أرسل فنيًا في حالة الأخطاء المتعلقة بالسلامة، أو الأعطال المتكررة، أو المشكلات التي لا تستطيع الأوامر عن بُعد إزالتها.
من أين تأتي رموز أخطاء OCPP
في OCPP 1.6، يرسل الشاحن رسالة StatusNotification إلى نظام CSMS كلما تغيّرت حالة أحد الموصلات أو وقع خطأ. وتتضمن الرسالة معرّف الموصل، والحالة، وerrorCode، واختياريًا vendorErrorCode ومعرّف المُصنّع ونص info. ويشير معرّف الموصل 0 إلى الشاحن بأكمله.
عادةً ما يأتي رمز الخطأ المختلف عن NoError مع الحالة Faulted، لكن ليس دائمًا. فقد يُبلغ الشاحن عن خطأ، مثل WeakSignal أو HighTemperature، بينما يواصل العمل في حالة أخرى. لذا تعامل مع الحالة ورمز الخطأ معًا باعتبارهما الصورة الكاملة.
في OCPP 2.0.1، تكون رسالة StatusNotification أبسط ولا تُبلغ إلا عن حالة الموصل. أما المشكلات التفصيلية فتُبلَّغ كأحداث عبر نموذج الجهاز (مثلًا باستخدام NotifyEvent). وتظل الأفكار الواردة في هذا المقال صالحة، لكن أسماء الحقول مختلفة.
حالات الموصلات في OCPP 1.6
| الحالة | المعنى |
|---|---|
Available | الموصل متاح وجاهز لجلسة جديدة. |
Preparing | بدأ المستخدم إجراءً ما، مثل توصيل الكابل أو تقديم بطاقة، لكن الشحن لم يبدأ بعد. |
Charging | يجري نقل الطاقة إلى المركبة. |
SuspendedEVSE | الشاحن لا يوفّر الطاقة، مثلًا بسبب حد للقدرة أو قرار محلي. |
SuspendedEV | المركبة لا تستقبل الطاقة، مثلًا لأن البطارية ممتلئة أو لأن المركبة تجدول الشحن. |
Finishing | توقفت المعاملة، لكن الموصل لم يصبح متاحًا بعد، مثلًا لأن الكابل لا يزال موصولًا. |
Reserved | الموصل محجوز لمستخدم محدد. |
Unavailable | عُطّل الموصل، مثلًا بأمر ChangeAvailability. |
Faulted | خطأ يمنع استخدام الموصل. |
هناك حالتان تتسببان في كثير من الإنذارات الكاذبة. فالحالة SuspendedEV طبيعية عندما تكون المركبة ممتلئة أو تنتظر موعد بدء مجدولًا. والحالة Finishing طبيعية حتى يفصل السائق الكابل. ولا تُعدّ أي منهما عطلًا في حد ذاتها.
شرح رموز أخطاء OCPP 1.6
يسرد الجدول جميع رموز الأخطاء القياسية في OCPP 1.6. والأسباب والإجراءات الأولى الواردة فيه أمثلة نموذجية؛ لذا راجع دائمًا دليل الشاحن، لأن المُصنّعين يستخدمون الرموز بطرق مختلفة قليلًا.
| errorCode | المعنى | السبب المعتاد | الإجراء الأول |
|---|---|---|---|
ConnectorLockFailure | لم يُقفَل قفل الكابل أو لم يُفتح | مشكلة ميكانيكية في القفل، أو كابل غير مُدخل بالكامل | اطلب من السائق إعادة إدخال الكابل؛ وجرّب فك قفل الموصل (Unlock connector) |
EVCommunicationError | فشل الاتصال بالمركبة | مشكلة من جهة المركبة، أو تلف في الكابل أو في نقاط تلامس القابس | اختبر بمركبة أخرى قبل الاشتباه في الشاحن |
GroundFailure | اكتُشف عطل تأريض أو تيار متبقٍّ | عطل في العزل، أو رطوبة، أو مركبة أو كابل معيب | لا تُعِد التشغيل مرارًا؛ وتعامل معه كمسألة سلامة |
HighTemperature | درجة الحرارة مرتفعة جدًا | أشعة شمس مباشرة، أو تهوية مسدودة، أو أطراف توصيل محمّلة فوق طاقتها | تحقق من التهوية والظروف المحيطة |
InternalError | خطأ في مكونات الشاحن المادية أو البرمجية | مشكلة في البرنامج الثابت أو عطل في مكوّن داخلي | اقرأ vendorErrorCode؛ وجرّب إعادة تشغيل مرنة (soft reset) |
LocalListConflict | تعارض بين القائمة المحلية ونظام CSMS | رد نظام CSMS يختلف عن قائمة التحقق المحلية | أعد إرسال القائمة المحلية من نظام CSMS |
NoError | لا يوجد خطأ | تقرير حالة عادي | لا حاجة لأي إجراء |
OtherError | خطأ لا تغطيه الرموز الأخرى | حالة خاصة بالمُصنّع | اقرأ vendorErrorCode وinfo، ثم راجع الدليل |
OverCurrentFailure | اكتُشف تيار زائد | المركبة تسحب تيارًا أكبر من اللازم، أو مشكلة في التمديدات | افحص المركبة والتركيبات الكهربائية |
OverVoltage | الجهد أعلى من النطاق المسموح | اضطراب في الشبكة أو مشكلة في التغذية | افحص التغذية؛ واستعن بكهربائي إذا تكرر الخطأ |
PowerMeterFailure | تتعذر قراءة عدّاد الطاقة | عطل في العدّاد أو مشكلة في التوصيلات الداخلية | راجع قيم العدّاد في السجلات؛ وخطّط لزيارة صيانة |
PowerSwitchFailure | فشل الكونتاكتور أو المرحّل في التبديل | كونتاكتور مستهلك أو عالق | أخرج الموصل من الخدمة؛ وأرسل فنيًا |
ReaderFailure | فشل قارئ التعريف | عطل أو تلف في قارئ RFID | اختبر ببطاقة مسجّلة معروفة؛ وخطّط للإصلاح |
ResetFailure | تعذّر تنفيذ إعادة التشغيل | مشكلة في البرنامج الثابت أو المكونات المادية | جرّب إعادة تشغيل كاملة (hard reset) أو فصل التيار وإعادته في الموقع |
UnderVoltage | الجهد أقل من النطاق المسموح | تغذية ضعيفة، أو توصيل غير محكم، أو مشكلة في الشبكة | افحص التغذية وأطراف التوصيل |
WeakSignal | إشارة لاسلكية ضعيفة | ضعف تغطية شبكة الجوال أو Wi-Fi | حسّن موضع الهوائي أو الشبكة |
منهجية عملية لاستكشاف الأعطال وإصلاحها
- اقرأ الرسالة كاملة. انظر إلى status وerrorCode وvendorErrorCode وinfo معًا، ودوّن الوقت.
- راجع السجل التاريخي. هل هذه أول مرة يظهر فيها الخطأ أم أنه نمط متكرر؟ وهل بدأ بعد تحديث للبرنامج الثابت، أو انقطاع للكهرباء، أو حدث جوي؟
- تحقق من الاتصال. إذا توقفت رسائل Heartbeat، فقد تكون المشكلة في الشبكة لا في الشاحن. راجع دليلنا لربط الشاحن بخادم OCPP لمعرفة مشكلات الاتصال الشائعة.
- حدّث الحالة. استخدم
TriggerMessageلطلبStatusNotificationجديدة والتأكد من أن الخطأ لا يزال قائمًا. - جرّب الحل الأقل إزعاجًا. افتح قفل الموصل، أو غيّر حالة الإتاحة، أو نفّذ إعادة تشغيل مرنة، بهذا الترتيب حيثما كان ذلك منطقيًا.
- صعّد المشكلة. إذا عاد الخطأ أو كان متعلقًا بالسلامة، فأخرج الموصل من الخدمة وحدّد موعدًا لزيارة فني.
آداب إعادة التشغيل وفك القفل عن بُعد
قد يؤدي الاستخدام غير المدروس للأوامر عن بُعد إلى إزعاج السائقين أو إخفاء مشكلات حقيقية.
- تحقق أولًا من وجود جلسات نشطة. إعادة التشغيل تُنهي المعاملات الجارية. فلا تُعِد تشغيل شاحن أثناء شحن أحدهم إلا إذا كان الشاحن غير قابل للاستخدام أصلًا.
- فضّل إعادة التشغيل المرنة. تعيد إعادة التشغيل المرنة (soft reset) تشغيل البرنامج بشكل منظّم. ولا تلجأ إلى إعادة التشغيل الكاملة (hard reset) إلا عند فشل المرنة.
- افتح القفل عند الطلب فقط. افتح قفل الموصل عندما يُبلغ السائق عن كابل عالق، ويُفضّل أن يكون ذلك أثناء تواصلك معه.
- لا تُخفِ أعطال السلامة. إعادة التشغيل المتكررة بعد خطأ
GroundFailureأو خطأ تيار زائد قد تعرّض الأشخاص للخطر. - عطّل الموصلات المعيبة. ضبط الموصل على حالة غير متاح يمنع السائقين من إضاعة وقتهم عليه حتى يُصلَح.
- سجّل ما قمت به. سجل الأوامر ونتائجها يساعد الشخص التالي على فهم ما حدث سابقًا.
يدعم برنامج OCPP من Üreticy إعادة التشغيل المرنة والكاملة، والإيقاف عن بُعد، وفك قفل الموصل، وتغيير حالة الإتاحة، وتغيير الإعدادات، وTriggerMessage من لوحة التحكم، مع تسجيل نتيجة كل أمر.
السجلات والتنبيهات
ينبغي لنظام CSMS أن يحتفظ برسائل OCPP الخام، وأن يجعلها قابلة للبحث، وأن ينبّه الأشخاص المعنيين عند حدوث خلل.
- سجلات الرسائل الخام: غالبًا ما يكون المحتوى الدقيق لرسالة StatusNotification، بما في ذلك حقول المُصنّع، أسرع طريق إلى التشخيص.
- التنبيهات: أخطِر الفريق بالأعطال وانقطاعات الاتصال والأوامر التي لم تتلقَّ ردًا.
- سجل الحالات: يوضح الخط الزمني لكل موصل ما إذا كان العطل جديدًا أم متكررًا.
توفّر Üreticy سجلات رسائل OCPP قابلة للبحث، وتنبيهات للأعطال وانقطاعات الاتصال وانتهاء مهلة الأوامر والتحذيرات من بلوغ الحدود، إلى جانب لوحة تحكم مباشرة لحالة الموصلات. اطّلع على قائمة المزايا الكاملة.
متى ترسل فنيًا
- الأخطاء المتعلقة بالسلامة مثل
GroundFailureأوOverCurrentFailureأو أخطاء الجهد المتكررة. - أعطال المكونات المادية مثل
PowerSwitchFailureأوPowerMeterFailureأوReaderFailure. - أي عطل يعود بعد إعادة التشغيل، أو شاحن يظل غير متصل بعد فحص الشبكة.
- التلف الظاهر الذي يُبلغ عنه السائقون، مثل الكابلات أو القوابس أو الهياكل المكسورة.
- أعطال قارئ البطاقات التي تمنع الوصول؛ راجع دليلنا للتحقق من بطاقات RFID لاستبعاد مشكلات البطاقات أولًا.
زوّد الفني برموز الأخطاء، ورموز المُصنّع، والطوابع الزمنية، والإجراءات عن بُعد التي جُرّبت بالفعل.
الأسئلة الشائعة
ما الفرق بين status وerrorCode في OCPP؟
تصف status حالة الموصل، مثل Available أو Charging أو Faulted. أما errorCode فيصف مشكلة، مثل GroundFailure أو InternalError. وفي OCPP 1.6 يُرسَل الاثنان معًا في رسالة StatusNotification.
ماذا يعني vendorErrorCode؟
vendorErrorCode حقل اختياري يُبلغ فيه مُصنّع الشاحن عن رمز خطأ خاص به وأكثر تفصيلًا. ويُحدَّد معناه في وثائق المُصنّع لا في OCPP. وغالبًا ما يكون أكثر فائدة في التشخيص من رمز الخطأ القياسي.
هل SuspendedEV خطأ؟
لا. تعني SuspendedEV أن المركبة لا تستقبل الطاقة حاليًا، مثلًا لأن بطاريتها ممتلئة أو لأنها تنتظر موعد شحن مجدولًا. ولا يستحق الأمر التحقيق إلا إذا بقيت مركبة تحتاج إلى الطاقة في هذه الحالة.
هل يجب إعادة تشغيل شاحن يُبلغ عن الحالة Faulted؟
إعادة التشغيل المرنة خطوة أولى معقولة للأخطاء البرمجية مثل InternalError، بشرط عدم وجود جلسة نشطة. أما الأخطاء المتعلقة بالسلامة مثل GroundFailure، فلا تُعِد التشغيل مرارًا؛ بل أخرج الموصل من الخدمة واستعن بفني.
هل رموز الأخطاء في OCPP 2.0.1 هي نفسها في 1.6؟
لا. في OCPP 2.0.1 لا تُبلغ رسالة StatusNotification إلا عن حالة الموصل، وتُبلَّغ المشكلات التفصيلية كأحداث عبر نموذج الجهاز. ومنهجية استكشاف الأعطال هي نفسها، لكن الرسائل والحقول مختلفة.
اطّلع على كل حالات الموصلات ورموز الأخطاء ورسائل OCPP في مكان واحد، وتعامل مع الأعطال عبر أوامر عن بُعد مسجّلة. اكتشف برنامج OCPP من Üreticy أو تواصل معنا للحصول على عرض توضيحي.
