شرح بروتوكول IEC 104 ومحاكي IEC 104 مجاني (Client وServer)

شرح بروتوكول IEC 104 ومحاكي IEC 104 مجاني (Client وServer)
دليل
Ahmet Korkmaz8 دقائق

شرح IEC 104 ومحاكي IEC 104 مجاني

IEC 60870-5-104 (أو IEC 104 اختصاراً) بروتوكول تحكم عن بُعد دولي يربط مركز SCADA (الـ master) بوحدات RTU أو متحكمات المحطات الفرعية أو متحكمات محطات التوليد (الـ outstation) عبر TCP/IP، على المنفذ 2404 افتراضياً. وهو منتشر في أتمتة شبكات التوزيع والمحطات الفرعية ومحطات الطاقة المتجددة المرتبطة بمشغل الشبكة. يشرح هذا المقال البروتوكول باختصار، ثم يوضح كيف تختبره باستخدام محاكي IEC 104.

مفاهيم IEC 104 الأساسية

المصطلحالمعنى
Master / Clientالطرف الذي يطلب البيانات: SCADA أو بوابة
Outstation / Serverالطرف الذي يقدم البيانات: RTU أو متحكم
Common Address (CA)عنوان المحطة في الـ ASDU، ويجب أن يتطابق في الطرفين
IOAعنوان كل نقطة (3 بايت في IEC 104)
Type IDنوع النقطة: حالة مفردة، حالة مزدوجة، قياس، أمر
COTسبب الإرسال: دوري، تلقائي، رد على استجواب، تأكيد أمر
GIالاستجواب العام: طلب «أرسل كل النقاط» (C_IC_NA_1)

كيف تسير جلسة IEC 104؟

  1. يتصل الـ master بالـ outstation عبر TCP 2404.
  2. يرسل الـ master إطار STARTDT act، فيرد الـ outstation بـ STARTDT con ويبدأ تدفق البيانات.
  3. يرسل الـ master استجواباً عاماً (C_IC_NA_1، النوع 100). يرد الـ outstation بتأكيد (COT 7)، ثم كل النقاط (COT 20)، ثم إنهاء (COT 10).
  4. بعد ذلك تصل التغييرات تلقائياً (COT 3).
  5. عند خمول الخط يتبادل الطرفان إطارات TESTFR للتأكد من أن الاتصال حي.

محاكي server أم محاكي client؟

تريد أن تثبت أن…استخدموهو يحل محل
الـ SCADA أو البوابة تفسّر النقاط بشكل صحيحمحاكي server (RTU)الـ RTU
الـ RTU يرسل النقاط الصحيحة ويقبل الأوامرمحاكي client (master)الـ SCADA

محاكي الـ server مهم بشكل خاص في بداية المشروع، إذ يستطيع جانب SCADA أو مشغل الشبكة التحقق من قائمة النقاط المتفق عليها بينما الموقع ما زال قيد الإنشاء. وتظهر معظم أخطاء الربط في المختبر قبل أن يذهب أحد إلى الموقع.

خطوة بخطوة: اختبار master بمحاكي RTU

  1. جهّز قائمة النقاط: الـ CA، والـ IOA ونوع كل نقطة. هذه هي الوثيقة المتفق عليها بين مورد الـ RTU وجانب SCADA.
  2. شغّل المحاكي: في وضع الـ server عرّف الـ CA والنقاط واستمع على المنفذ 2404.
  3. وجّه الـ master إليه: غيّر عنوان IP الهدف في الـ master إلى الجهاز الذي يعمل عليه المحاكي، وتأكد أن المنفذ 2404 مفتوح في الجدار الناري.
  4. افحص رد الاستجواب العام: يجب أن تظهر كل النقاط في الـ master بالاسم والقيمة الصحيحين.
  5. غيّر قيمة: غيّر قياساً أو حالة في المحاكي وتأكد أن التحديث التلقائي وصل إلى الـ master.
  6. أرسل أمراً: أصدر أمراً من الـ master وتأكد أنه وصل إلى الـ IOA الصحيح في المحاكي.

خطوة بخطوة: اختبار RTU حقيقي بمحاكي client

  1. اتصل بعنوان IP الخاص بالـ RTU على المنفذ 2404. إذا كان الـ RTU يقبل عناوين master محددة فقط، فاطلب إضافة عنوان حاسوبك.
  2. أرسل استجواباً عاماً وقارن النقاط الواردة بقائمة النقاط.
  3. افحص الـ Type ID: إذا وصلت قيمة scaled حيث يُتوقع float فستنحرف النتيجة بمضاعفات العشرة.
  4. جرّب الأوامر أولاً على كائن مفصول أو مخصص للاختبار.

الإجراء التفصيلي على مستوى البروتوكول (STARTDT، المؤقتات، قيم COT، جدول الأعطال) موجود في How to test an IEC 104 connection (بالإنجليزية).

الأنواع الأكثر استخداماً في قائمة النقاط

Type IDالاسم المختصرالاستخدام
1M_SP_NA_1حالة مفردة: إنذار، بت حالة
3M_DP_NA_1حالة مزدوجة: قاطع مفتوح/مغلق
13M_ME_NC_1قياس (float): قدرة، جهد، تيار
30 / 31 / 36…_TB_1 / …_TF_1حالات وقياسات بختم زمني
45C_SC_NA_1أمر مفرد
46C_DC_NA_1أمر مزدوج: فتح/إغلاق قاطع
50C_SE_NC_1قيمة ضبط (float): حد القدرة

Ranaliz iOT Tester: محاكي IEC 104 client وserver في تطبيق واحد

Ranaliz iOT Tester تطبيق سطح مكتب مجاني يشغّل وضعي IEC 104 معاً:

  • Client: الاتصال بـ RTU، والاستجواب العام، ومتابعة تحديثات النقاط مباشرةً، وكتابة الأوامر.
  • Server: محاكي RTU بنقاط تعرّفها بنفسك، مع أدوات التشغيل والمراقبة.

تشمل أنواع النقاط M_SP وM_DP وM_ME وC_SC وC_DC وC_SE وغيرها. ويحتوي التطبيق نفسه على أداة اختبار Modbus (TCP/UDP/RTU) وعميل MQTT، ما يسهّل اختبار جانبي بوابة تحويل Modbus إلى IEC 104 من حاسوب واحد. تتوفر إصدارات جاهزة لـ Windows 10/11 وmacOS على Apple Silicon، والكود المصدري منشور على GitHub بترخيص MIT.

أسئلة شائعة

هل يوجد محاكي IEC 104 مجاني؟

نعم. Ranaliz iOT Tester مجاني ويتضمن محاكي client ومحاكي server (RTU). أمثلة المكتبات مثل lib60870 مجانية أيضاً لكنها تحتاج إلى بناء. ومعظم المحاكيات التجارية مجانية فقط كنسخ تقييم محدودة المدة.

ما المنفذ الذي يستخدمه IEC 104؟

TCP 2404 افتراضياً، وقد يُغيَّر في بعض التركيبات، لذا راجع إعدادات الـ outstation.

ما الفرق بين IEC 101 وIEC 104؟

يعمل IEC 101 عبر خطوط تسلسلية، بينما يحمل IEC 104 طبقة التطبيق نفسها عبر TCP/IP، عادةً بـ Common Address من 2 بايت وIOA من 3 بايت.

هل يمكن اختبار SCADA بدون RTU حقيقي؟

نعم. شغّل محاكي RTU بقائمة النقاط المتفق عليها ووجّه الـ master إليه، وستظهر معظم أخطاء الربط والأوامر هناك أولاً.

المصادر

  • IEC 60870-5-104 — Network access for IEC 60870-5-101 using standard transport profiles
  • IEC 60870-5-101 — Companion standard for basic telecontrol tasks
A

Ahmet Korkmaz

مهندس كهرباء وإلكترونيات

منصة Ranaliz

راقب محطتك مع Ranaliz

أدِر منشآت الطاقة من منصة واحدة عبر المراقبة الآنية والتنبيهات الذكية والتحليلات المدعومة بالذكاء الاصطناعي.

طلب عرض تجريبي