لغة السلّم
🎯 أهداف التعلّم
في نهاية الفصل ستستطيعون:
- التعرّف على لغات البرمجة الخمس في المعيار IEC 61131-3.
- ترجمة سطر سلّم إلى معادلة بوليانية، وترجمة معادلة إلى سطر سلّم.
- استعمال التعليمتين SET وRSET وتجنّب الملفّ المزدوج.
- استعمال المؤقّت TIM من أومرون ورسم مخططه الزمني.
- استعمال العدّاد CNT من أومرون مع دخل للعدّ ودخل للتصفير.
❓ سؤال افتتاحي
نريد أن يومض مصباح العطل مرّة كلّ ثانية عندما يوجد حمل زائد.
كيف نفعل ذلك دون وصل أيّ مكوّن إضافي باللوحة؟
تلميح: ابحثوا في الفصل 2 عن بِت خاصّ يومض وحده.
معرفة سابقة
- الفصل 2: مناطق الذاكرة.
- الفصل 3: التلامس في الميدان مقابل التلامس في السلّم.
- العمليات «و» و«أو» و«لا».
المعدّات والوقت
| المعدّات | الكمية |
|---|---|
| حاسوب مع برنامج البرمجة من أومرون (CX-Programmer) | 1 |
| متحكّم أومرون (غير إلزامي، يمكن العمل بالمحاكاة) | 1 |
⏱️ الوقت المقترح: ثلاث حصص. معظم العمل بالمحاكاة في الحاسوب.
4.1 لغات المعيار الخمس
حدّد المعيار الدولي IEC 61131-3 خمس لغات لبرمجة المتحكّمات. في معظم المتحكّمات يمكن الجمع بين عدّة لغات في البرنامج نفسه.
| اللغة | النوع | متى نستعملها |
|---|---|---|
| مخطط السلّم (LD) | رسومية | التحكّم في المحرّكات والصمّامات. تشبه دائرة التحكّم، لذلك نبدأ بها. |
| مخطط الكتل (FBD) | رسومية | التحكّم المستمرّ والحسابات: كتل موصولة بخطوط. |
| النص المهيكل (ST) | نصّية | الحسابات المعقّدة، والحلقات، والشروط، مثل لغات البرمجة العادية. |
| قائمة التعليمات (IL) | نصّية | لغة قديمة تشبه لغة التجميع. لا تكاد تُستعمل اليوم. |
| مخطط المراحل (SFC) | رسومية | عمليات على مراحل: تعبئة، وخلط، وتسخين، وتفريغ. سنلتقي بالفكرة في الفصل 12. |
منطق التشغيل/الإيقاف نفسه من الفصل 5، بلغتين إضافيتين: بمخطط الكتل وبالنص المهيكل.
(* تشغيل/إيقاف مع التثبيت الذاتي *)
Motor := NOT OL AND NOT Stop AND (Start OR Motor);
الطلّاب الذين يعرفون أردوينو يرون تشابهًا بين النص المهيكل ولغة C. الفكرة متشابهة، لكنّهما لغتان مختلفتان: في المتحكّم لا توجد loop()، لأنّ المتحكّم يمسح البرنامج مرّة بعد مرّة بنفسه.
لماذا السلّم رغم ذلك؟ من يقف بجانب اللوحة يرى مخطط السلّم (דיאגרמת סולם) «حيًّا» على الشاشة: كلّ تلامس يوصل يُلوَّن. الفنّي الذي يعرف دوائر التحكّم يفهمه فورًا، حتّى دون أن يعرف البرمجة.
4.2 سطر السلّم هو معادلة
- التلامسات على التوالي هي «و».
- التلامسات على التوازي هي «أو».
- التلامس المغلق هو «لا» على البِت الخاصّ به.
- الملفّ في الجهة اليمنى هو النتيجة.
الملفّ المزدوج (סליל כפול). هنا المخرج نفسه 100.00 مكتوب في سطرين. ينفّذ المتحكّم السطرين، والسطر الأخير هو الذي يحدّد. الزرّ 1 «لا يعمل»، لأنّ السطر 1 يطفئ المصباح مباشرةً بعده. القاعدة: كلّ ملفّ يُكتب مرّة واحدة، وكلّ شروطه نوصلها بالسطر نفسه.
التعليمتان SET وRSET
SET يجعل البِت فعّالًا، ويبقى البِت فعّالًا حتّى بعد أن يزول الشرط. RSET يلغي تفعيله. هذه طريقة إضافية لبناء ذاكرة دون تلامس تثبيت.
عندما يتحقّق الشرطان معًا، يتغلّب السطر الأخير. لذلك نضع سطر RSET بعد سطر SET: هكذا يتغلّب الإيقاف.
4.3 مؤقّت أومرون
- TIM 0000 هو رقم المؤقّت (קוצב זמן).
- #50 هو القيمة المضبوطة، بوحدات من عُشر الثانية: 50 × 0.1 = 5 ثوانٍ.
- عندما يكون الدخل فعّالًا، القيمة الحالية تنزل من 50 حتّى 0.
- عندما تصل إلى 0، يصبح علم الانتهاء (דגל סיום) T0000 فعّالًا.
- عندما يتوقّف الدخل، يُصفَّر المؤقّت فورًا.
بين t1 وt2 كان الدخل فعّالًا ثانيتين فقط، لذلك لم يضئ المصباح وصُفِّر المؤقّت. من t3 يكون الدخل فعّالًا بشكل متواصل، وبعد 5 ثوانٍ يصبح علم الانتهاء فعّالًا. هذا هو تأخير التشغيل (השהיה בהפעלה). تأخير الإيقاف نبنيه ببِت عمل، وسنتعلّمه في الفصل 8.
قيم شائعة: #10 = ثانية واحدة، #50 = 5 ثوانٍ، #200 = 20 ثانية، #600 = دقيقة. تُكتب القيمة مع علامة # قبلها.
4.4 عدّاد أومرون
- للعدّاد (מונה) دخلان: العدّ في السطر العلوي، والتصفير (R) في السطر السفلي.
- في كلّ مرّة ينتقل فيها دخل العدّ من 0 إلى 1، القيمة الحالية تنزل بواحد، من 5 حتّى 0.
- عندما تصل القيمة إلى 0، يصبح علم الانتهاء C0000 فعّالًا ويبقى فعّالًا.
- دخل التصفير يعيد القيمة إلى 5 ويلغي تفعيل العلم.
قيمة العدّاد تُحفظ حتّى عند انقطاع الكهرباء. لذلك نخطّط دائمًا كيف نصفّره: بزرّ، أو في نهاية الدورة، أو ببِت المسح الأوّل P_First_Cycle.
4.5 تدريب
المستوى 1 · أساسي اكتبوا معادلة السلّم.
المستوى 2 · متوسّط ارسموا سلّمًا للمعادلة Y = A · ( B + C ) + D. استعملوا المداخل 0.00 إلى 0.03 والمخرج 100.00.
المستوى 3 · متقدّم اكتبوا سلّمًا فيه:
- مصباح العطل 100.02 يومض مرّة كلّ ثانية ما دامت الحماية الحرارية 0.00 تعمل.
- العدّاد CNT 0001 يعدّ كم مرّة شُغِّل المحرّك 100.00، والمصباح 100.03 يضيء بعد 10 مرّات تشغيل. الزرّ 0.07 يصفّر العدّاد.
4.6 تلخيص
- المعيار IEC 61131-3 يحدّد خمس لغات: السلّم، والكتل، والنص المهيكل، وقائمة التعليمات، ومخطط المراحل.
- في السلّم: التوالي هو «و»، والتوازي هو «أو»، والتلامس المغلق هو «لا».
- كلّ ملفّ يُكتب في سطر واحد فقط. في الملفّ المزدوج، السطر الأخير هو الذي يحدّد.
- SET يجعل البِت فعّالًا ويبقيه فعّالًا. RSET يلغي تفعيله. سطر RSET يكون الأخير كي يتغلّب الإيقاف.
- TIM من أومرون يعدّ تنازليًّا بوحدات من عُشر الثانية: #50 يساوي 5 ثوانٍ.
- يُصفَّر المؤقّت في اللحظة التي يتوقّف فيها دخله.
- CNT من أومرون يعدّ تنازليًّا من القيمة المضبوطة حتّى 0، وله دخل للتصفير.
- P_1s يومض مرّة كلّ ثانية، وP_First_Cycle فعّال فقط في المسح الأوّل.
المصطلحات
| المصطلح | بالعبرية | بالإنجليزية | شرح مختصر |
|---|---|---|---|
| مخطط السلّم | דיאגרמת סולם | Ladder Diagram | لغة رسومية تشبه دائرة التحكّم |
| النص المهيكل | טקסט מובנה | Structured Text | لغة نصّية في المعيار |
| مخطط المراحل | תרשים שלבים | SFC | لغة للعمليات التي تتقدّم على مراحل |
| المؤقّت | קוצב זמן | Timer | يعدّ الزمن ويفعّل علم الانتهاء |
| العدّاد | מונה | Counter | يعدّ النبضات ويفعّل علم الانتهاء |
| الملفّ المزدوج | סליל כפול | Double coil | خطأ: المخرج نفسه في سطرين |
| القيمة المضبوطة | ערך קביעה | Set value | القيمة التي يجب أن يصل إليها المؤقّت أو العدّاد |
فحص ذاتي
- اكتبوا معادلة سطر فيه التلامسان A وB على التوالي، وC على التوازي معهما.
- ماذا يحدث إذا كان المخرج نفسه 100.00 مكتوبًا في سطرين مختلفين؟
- كم من الزمن سيعدّ TIM 0003 مع القيمة #120؟
- وصل المؤقّت إلى 3 ثوانٍ من أصل 5، ثمّ توقّف دخله. ماذا يحدث لقيمته؟
- أجيبوا عن السؤال الافتتاحي للفصل.
الأجوبة في نهاية الفصل.
صفحة المدخل إلى المتحكّمات المبرمجة في الموقع، مع شروحات وعروض حيّة لمواضيع الفصول 1 إلى 4:
حلول تمارين الفصل
المستوى 1
التلامس 0.00 على التوالي مع بقيّة السطر («و»). التلامس المغلق 0.01 هو B، وهو على التوازي مع C («أو»).
المستوى 2
الفرع العلوي هو A · (B + C). التلامس D على التوازي مع الفرع كلّه، لأنّه «أو» على التعبير كلّه.
المستوى 3
البِت P_1s يومض وحده، لذلك عندما يكون على التوالي مع الحماية الحرارية فإنّه يُنتج الوميض. العدّاد يعدّ صعود المخرج 100.00: كلّ تشغيل للمحرّك هو نبضة واحدة. بعد 10 مرّات تشغيل يضيء علم الانتهاء مصباح الخدمة.
أجوبة الفحص الذاتي
- Y = A · B + C.
- ينفَّذ السطران، والسطر الأخير هو الذي يحدّد حالة المخرج. شرط السطر الأوّل كأنّه غير موجود.
- 120 × 0.1 = 12 ثانية.
- يُصفَّر فورًا، وعندما يصبح الدخل فعّالًا مرّة أخرى يبدأ العدّ من البداية.
- نوصل على التوالي تلامس الحماية الحرارية والبِت P_1s، ونشغّل بهما مصباح العطل. يومض المصباح مرّة كلّ ثانية ما دامت الحماية تعمل.