04البداية
أول برنامج: تشغيل مضخة بالإمساك الذاتي (Seal-in)
أول منطق يتعلمه كل مهندس تحكم: زر تشغيل لحظي يُبقي المضخة شغّالة، وزر إيقاف يغلب دائماً.
المشكلة
أزرار اللوحة لحظية: يعطي الزر إشارة ما دام إصبعك عليه فقط. لكن المضخة يجب أن تبقى شغّالة بعد رفع الإصبع. الحل الكلاسيكي اسمه الإمساك الذاتي (Seal-in أو Latch).
السطر الواحد
Pump := (Start OR Pump) AND NOT Stop;اقرأه هكذا: المضخة تعمل إذا ضُغط زر التشغيل أو كانت تعمل أصلاً، وفي نفس الوقت لم يُضغط زر الإيقاف. الجزء OR Pump هو «الإمساك»: المخرج يُغذّي شرطه بنفسه.
لماذا الإيقاف في النهاية؟
لأن AND NOT Stop تضرب كل ما قبلها، فإذا ضُغط الإيقاف تصبح النتيجة FALSE مهما كان الباقي. هذه قاعدة عامة في السلامة: شرط الإيقاف يغلب شرط التشغيل.
زر الإيقاف في الواقع يكون NC
في اللوحة الحقيقية يُوصل زر الإيقاف تماساً مغلقاً (NC): إذا انقطع السلك، ينقطع التيار، فيقرأ الـ PLC صفراً وتتوقف المضخة. الفشل يذهب إلى الجانب الآمن. عندها يصبح السطر:
Pump := (Start OR Pump) AND StopNC;لأن StopNC تساوي TRUE في الوضع الطبيعي. في المختبر هنا الزر محاكى كـ NO لتبسيط التجربة.
أضف الحماية (Interlock)
لا تكتفِ بالأزرار. أضف الشروط التي تمنع الضرر:
Pump := (Start OR Pump) AND NOT Stop AND Level < 95.0;الآن المضخة تتوقف وحدها قبل أن يفيض الخزان. هذا تشابك (Interlock)، وهو ما يفصل البرنامج الهاوي عن البرنامج الصناعي.
والتفريغ
Valve := NOT Pump AND Level > 60.0;صمام التفريغ يفتح فوق 60% عندما تكون المضخة متوقفة، فلا يعمل الاثنان ضد بعضهما.
جرّبه في المختبر
المختبر يعمل في متصفحك: محرر ST، وخزان افتراضي بمضخة وصمام، وجدول مراقبة، وتصدير إلى Siemens SCL.
ماذا تجرّب
- اضغط START لحظة واحدة وارفع إصبعك: ستبقى المضخة شغّالة.
- اضغط STOP: تتوقف فوراً.
- شغّل مرة أخرى واترك المستوى يرتفع فوق 95%: تتوقف وحدها بفضل التشابك.
- احذف «AND NOT Stop» وجرّب: لن تتوقف المضخة أبداً.
مصطلحات هذا الدرس
يبحث الناس عن هذا الدرس بـ
seal in logicالامساك الذاتيstart stop plclatch في PLCتشغيل مضخة PLCأول برنامج STmotor start stop structured text
محتوى الدورة
- 01ما هي لغة ST؟ ومتى تستخدمها بدل Ladder
- 02كيف يشتغل الـ PLC: دورة المسح وصورة المداخل والمخارج
- 03هيكل البرنامج: POU و PROGRAM و FUNCTION و FUNCTION_BLOCK
- 04أول برنامج: تشغيل مضخة بالإمساك الذاتي (Seal-in)
- 05أنواع البيانات: BOOL و INT و REAL و TIME وغيرها
- 06التصريح عن المتغيرات: VAR و VAR_INPUT و RETAIN
- 07القيم الحرفية والثوابت: 16#FF و 2#1010 و T#5s
- 08التحويل بين الأنواع وتحجيم إشارة 4-20 مللي أمبير
- 09الإسناد والحساب في ST: := وأولوية العمليات
- 10المنطق البولياني والمقارنات وعمليات البتات
- 11الدوال القياسية: ABS و SQRT و MIN و MAX و LIMIT و SEL و MUX
- 12الشرط IF و ELSIF و ELSE: القواعد ومتى تتجنبه
- 13التعليمة CASE وأول آلة حالات
- 14حلقة FOR والحارس Watchdog
- 15WHILE و REPEAT و EXIT و CONTINUE و RETURN
- 16كشف الحافة: R_TRIG و F_TRIG ومشكلة «نفّذ في كل مسح»
- 17المؤقتات: TON و TOF و TP
- 18العدّادات: CTU و CTD و CTUD
- 19القلّابات: SR و RS ومن يغلب عند التعارض
- 20اكتب دالتك: FUNCTION وقيمة الإرجاع
- 21اكتب كتلتك الوظيفية: FUNCTION_BLOCK لمحرك
- 22المصفوفات: ARRAY وفلتر المتوسط المتحرك
- 23الأنواع المركّبة: STRUCT والتعدادات
- 24المراجع والمؤشرات: REF_TO و POINTER TO ولماذا تتجنبها
- 25آلة الحالات: تسلسل دفعة كامل بـ CASE لا يعلق أبداً
- 26إدارة الإنذارات على أصول ISA-18.2: تأخير، نطاق ميت، إقرار، وأول خروج
- 27معالجة الإشارة التناظرية: من العدّات إلى وحدة هندسية، و NE43، وفلتر EMA
- 28التحكم المغلق في ST: من التشغيل والإيقاف بفجوة إلى PID عملي
- 29تشغيل المحركات والصمامات: سماحيات، تشابيك، رجع تشغيل، وزمن حركة
- 30نفس الكود عند كل شركة: SCL و Studio 5000 و CODESYS و TwinCAT
- 31الاختبار وتصحيح الأخطاء: جدول المراقبة والفرض والمحاكاة
- 32دليل أسلوب ST: التسمية والتعليقات والثوابت وإدارة النسخ
- 33المشروع الختامي: محطة خزان كاملة بآلة حالات وإنذار وعدّ دفعات
- 3420 سؤال مقابلة في ST وبرمجة PLC بإجابات قصيرة