02البداية

كيف يشتغل الـ PLC: دورة المسح وصورة المداخل والمخارج

دورة المسح (Scan Cycle) هي أساس كل شيء في برمجة PLC: اقرأ المداخل، نفّذ البرنامج، اكتب المخارج، وكرّر.

الدرس 2 من 3410 دقائقIEC 61131-3

الدورة التي لا تتوقف

الـ PLC لا ينفّذ برنامجك مرة واحدة ثم ينتهي، بل يكرره آلاف المرات في الدقيقة. كل تكرار اسمه دورة مسح (Scan Cycle) وفيه ثلاث مراحل:

  1. قراءة المداخل — يأخذ المتحكم لقطة من كل المداخل الحقلية وينسخها في ذاكرة اسمها صورة المداخل (Input Image).
  2. تنفيذ البرنامج — ينفّذ برنامجك من أعلى سطر إلى أسفله، ويقرأ من صورة المداخل لا من الطرف الحقلي.
  3. كتابة المخارج — ينقل صورة المخارج إلى الأطراف الحقلية دفعة واحدة.

ثم يعود للمرحلة الأولى. في مختبر هذا الموقع الدورة ثابتة على 50 ميلي ثانية، وفي PLC حقيقي تتراوح عادة بين 1 و 20 ms.

لماذا الصورة مهمة؟

لأن قيمة المدخل لا تتغير في منتصف الدورة. لو قرأت Start في أول البرنامج وفي آخره، ستحصل على نفس القيمة في الدورة الواحدة حتى لو ضغط المشغّل الزر بينهما. هذا ما يجعل سلوك البرنامج قابلاً للتوقع.

الترتيب مهم

البرنامج ينفّذ من الأعلى للأسفل، فآخر إسناد لمتغير هو الذي يصل إلى المخرج:

Pump := TRUE;
Pump := FALSE;   (* هذه هي التي ستُكتب، والسطر الذي قبلها ضاع *)

زمن المسح والـ Watchdog

كل PLC فيه مؤقت حارس (Watchdog): إذا تجاوزت دورة واحدة الزمن المسموح، يتوقف المتحكم ويعلن خطأ. لهذا السبب:

  • لا تكتب حلقة WHILE بشرط قد لا ينتهي.
  • لا تضع حلقة FOR بمليون تكرار في مسح واحد.
  • وزّع العمل الثقيل على عدة دورات.

المهام (Tasks)

في PLC حديث يمكنك وضع البرنامج في مهمة دورية كل 10 ms، وأخرى كل 100 ms للأشياء البطيئة مثل الاتصالات. المؤقتات تحسب الزمن الحقيقي، لذلك يبقى سلوكها صحيحاً مهما تغيّر زمن المسح.

جرّبه في المختبر

المختبر يعمل في متصفحك: محرر ST، وخزان افتراضي بمضخة وصمام، وجدول مراقبة، وتصدير إلى Siemens SCL.

ماذا تجرّب

  1. شغّل البرنامج وراقب عدّاد SCAN في الأعلى.
  2. اضغط «دورة واحدة» بدل التشغيل المستمر وشاهد كيف يتقدم العداد خطوة واحدة.
  3. غيّر ترتيب السطرين الأخيرين وشاهد كيف تتغير النتيجة.

مصطلحات هذا الدرس

يبحث الناس عن هذا الدرس بـ

دورة المسح في PLCscan cycleصورة المداخل والمخارجprocess imageزمن المسحwatchdog في PLCكيف يعمل PLC

محتوى الدورة

  1. 01ما هي لغة ST؟ ومتى تستخدمها بدل Ladder
  2. 02كيف يشتغل الـ PLC: دورة المسح وصورة المداخل والمخارج
  3. 03هيكل البرنامج: POU و PROGRAM و FUNCTION و FUNCTION_BLOCK
  4. 04أول برنامج: تشغيل مضخة بالإمساك الذاتي (Seal-in)
  5. 05أنواع البيانات: BOOL و INT و REAL و TIME وغيرها
  6. 06التصريح عن المتغيرات: VAR و VAR_INPUT و RETAIN
  7. 07القيم الحرفية والثوابت: 16#FF و 2#1010 و T#5s
  8. 08التحويل بين الأنواع وتحجيم إشارة 4-20 مللي أمبير
  9. 09الإسناد والحساب في ST: ‎:=‎ وأولوية العمليات
  10. 10المنطق البولياني والمقارنات وعمليات البتات
  11. 11الدوال القياسية: ABS و SQRT و MIN و MAX و LIMIT و SEL و MUX
  12. 12الشرط IF و ELSIF و ELSE: القواعد ومتى تتجنبه
  13. 13التعليمة CASE وأول آلة حالات
  14. 14حلقة FOR والحارس Watchdog
  15. 15WHILE و REPEAT و EXIT و CONTINUE و RETURN
  16. 16كشف الحافة: R_TRIG و F_TRIG ومشكلة «نفّذ في كل مسح»
  17. 17المؤقتات: TON و TOF و TP
  18. 18العدّادات: CTU و CTD و CTUD
  19. 19القلّابات: SR و RS ومن يغلب عند التعارض
  20. 20اكتب دالتك: FUNCTION وقيمة الإرجاع
  21. 21اكتب كتلتك الوظيفية: FUNCTION_BLOCK لمحرك
  22. 22المصفوفات: ARRAY وفلتر المتوسط المتحرك
  23. 23الأنواع المركّبة: STRUCT والتعدادات
  24. 24المراجع والمؤشرات: REF_TO و POINTER TO ولماذا تتجنبها
  25. 25آلة الحالات: تسلسل دفعة كامل بـ CASE لا يعلق أبداً
  26. 26إدارة الإنذارات على أصول ISA-18.2: تأخير، نطاق ميت، إقرار، وأول خروج
  27. 27معالجة الإشارة التناظرية: من العدّات إلى وحدة هندسية، و NE43، وفلتر EMA
  28. 28التحكم المغلق في ST: من التشغيل والإيقاف بفجوة إلى PID عملي
  29. 29تشغيل المحركات والصمامات: سماحيات، تشابيك، رجع تشغيل، وزمن حركة
  30. 30نفس الكود عند كل شركة: SCL و Studio 5000 و CODESYS و TwinCAT
  31. 31الاختبار وتصحيح الأخطاء: جدول المراقبة والفرض والمحاكاة
  32. 32دليل أسلوب ST: التسمية والتعليقات والثوابت وإدارة النسخ
  33. 33المشروع الختامي: محطة خزان كاملة بآلة حالات وإنذار وعدّ دفعات
  34. 3420 سؤال مقابلة في ST وبرمجة PLC بإجابات قصيرة