برمجة المبرمج الآلي: الكتل الوظيفية الداخلية
يعلّمك هذا الدرس برمجة المبرمج الآلي الصناعي بكتله الوظيفية الداخلية: لغة المخطط الكتلي FBD والذاكرات، المؤجل عند العمل TON والمؤجل عند الراحة TOF والوماض، العدادات CTU وCTD، برمجة التأجيلات والعدّ في المتمن، والمتتاليات المتزامنة، مع تطبيق كامل لمحطة ملء قارورات؛ ويُختم بتمارين محلولة بنمط البكالوريا.
يتكوّن الدرس من 7 أجزاء: 1. الكتل الوظيفية الداخلية ولغة الكتل الوظيفية FBD، 2. المؤجل عند العمل TON وبرمجة التأجيلات في المتمن، 3. المؤجل عند الراحة TOF والوماض بمؤجلين، 4. العدادات الداخلية CTU وCTD وبرمجة العدّ، 5. المتتاليات المتزامنة في المبرمج الآلي، 6. تطبيق كامل: محطة ملء القارورات وسدّها، 7. تمارين محلولة بنمط البكالوريا.
1. الكتل الوظيفية الداخلية ولغة الكتل الوظيفية FBD
من الدارات الموصولة إلى الكتل الداخلية
في درس المبرمج الآلي الصناعي (API) رأينا أن البرنامج يُنفَّذ في دورة معالجة أو دورة مسح (cycle de scrutation) لا تتوقف، مدتها زمن الدورة $T_c$: قراءة المداخل، ثم معالجة البرنامج، ثم تحديث المخارج، ورأينا كيف يُكتب المتمن بلغة المتمن الخاصة بالمبرمج. لكن أغلب المتامن تحتوي زمنا (القابلية $t/X_3/5\,s$) أو عدّا (أعد العملية 3 مرات). في التكنولوجيا الموصولة كنا نحتاج لذلك إلى عتاد إضافي: مرحل مؤجل، دارة NE555 في وضع أحادي الاستقرار، عداد 7490 مع بوابة كشف…
في المبرمج الآلي لا نضيف أي سلك: الصانع يضع في ذاكرته كتلا وظيفية داخلية (blocs fonctionnels) جاهزة، أهمها:
| الكتلة | اسمها المعياري | تعوّض في التكنولوجيا الموصولة | |---|---|---| | مؤجل عند العمل (temporisation au travail) | TON | مرحلا مؤجلا عند العمل، NE555 أحادي الاستقرار | | مؤجل عند الراحة (temporisation au repos) | TOF | مرحلا مؤجلا عند الراحة | | عداد تصاعدي (compteur) | CTU | عدادا لاتزامنيا مع بوابة كشف | | عداد تنازلي (décompteur) | CTD | عدادا تنازليا قابلا للشحن | | ذاكرة (bascule) | SR / RS | قلابا RS أو مرحلا ذا تغذية ذاتية | | كاشف جبهة (front montant) | R_TRIG | دارة اشتقاق RC |
الأسماء TON وTOF وCTU وCTD معيارية (المعيار الدولي للغات المبرمجات IEC 61131-3)، ونجدها بالاسم نفسه أو باسم قريب في كل المبرمجات. عدد هذه الكتل محدود بذاكرة المبرمج، ولذلك فهو أحد معايير اختيار المبرمج.
متغيرات المبرمج
يتعامل البرنامج مع نوعين من المتغيرات:
- متغيرات ثنائية (bits) قيمتها 0 أو 1: المداخل I1، I2…؛ المخارج Q1، Q2… (تسميها بعض المواضيع O1، O2…)؛ متغيرات المراحل $X_0$، $X_1$…؛ البتات الداخلية (مرحلات مساعدة) M1، M2…؛ مخارج الكتل مثل T1.Q وC1.Q.
- متغيرات عددية (mots): الزمن المنقضي ET لمؤجل، القيمة الحالية CV لعداد، والقيم المسبقة PT وPV.
نكتب مخرج كتلة باسم نسختها ثم نقطة ثم اسم المخرج: T1.Q هو المخرج Q للمؤجل T1، وC1.CV هو قيمة العداد C1.
تشريح الكتلة الوظيفية
الكتلة مستطيل:
- نوعها مكتوب في داخله (TON، CTU…)؛
- اسم النسخة (instance) مكتوب فوقه (T1، C1…)؛ لكل نسخة ذاكرتها الخاصة، فـ T1 وT2 مؤجلان مستقلان تماما ولو كانا من النوع نفسه؛
- المداخل على اليسار والمخارج على اليمين؛
- الوسائط (paramètres) مداخل تُعطى قيمة ثابتة: الزمن المسبق PT للمؤجل والقيمة المسبقة PV للعداد.
لغة الكتل الوظيفية FBD
لغة FBD (Function Block Diagram، logigramme)، وهي إحدى لغات المبرمج المدمج إلى جانب لغة المتمن SFC، تكتب البرنامج كتلا موصولة بخطوط، والإشارة تسري من اليسار إلى اليمين: المداخل في يسار الورقة والمخارج في يمينها.

يبيّن الجزء (a) من الشكل الكتل الأساسية: «و» (&)، «أو» (≥1)، النفي (1 مع دائرة على المخرج)، الذاكرة SR بأولوية الوضع في 1، الذاكرة RS بأولوية الوضع في 0، وكاشف الجبهة الصاعدة R_TRIG. ويبيّن الجزء (b) برنامج تشغيل محرك وإيقافه.
القواعد:
- الدائرة الصغيرة على مدخل أو مخرج تعني النفي، فلا حاجة إلى كتلة NOT منفصلة.
- الذاكرة SR (set dominant): $Q1 = S1 + \overline{R}\cdot Q1$، فإذا كان المدخلان معا 1 يكون المخرج 1.
- الذاكرة RS (reset dominant): $Q1 = \overline{R1}\cdot(S + Q1)$، فإذا كان المدخلان معا 1 يكون المخرج 0. المدخل المرقّم بـ 1 هو صاحب الأولوية. (Q1 هنا اسم طرف الكتلة، لا المخرج Q1 للمبرمج.)
- R_TRIG: مخرجها Q يساوي 1 خلال دورة مسح واحدة حين يمر المدخل CLK من 0 إلى 1. هي ترجمة القابلية $\uparrow a$.
| S | R1 | Q1 بعد التنفيذ (الذاكرة RS) | |---|---|---| | 0 | 0 | لا يتغير (حفظ) | | 1 | 0 | 1 | | 0 | 1 | 0 | | 1 | 1 | 0 (أولوية الإيقاف) |
مثال: تشغيل محرك وإيقافه
المحرك يقوده الملامس KM1 الموصول بالمخرج Q1. جدول التعيينات (affectation)، كما في درس المبرمج الآلي:
| المدخل | العنصر | نوع تماسه السلكي | |---|---|---| | I1 | زر الإيقاف S1 | مغلق في الراحة (NC، وبالفرنسية NF) | | I2 | زر التشغيل S2 | مفتوح في الراحة (NO) | | I3 | التماس 97-98 للمرحل الحراري F1 | مفتوح في الراحة، ينغلق عند الحمولة الزائدة (NO) |
> قاعدة: البرنامج يختبر حالة المدخل لا نوع التماس. الزر S1 مغلق في الراحة، فـ $I1 = 1$، والضغط عليه يجعل $I1 = 0$ فيقطع: يُكتب I1 مباشرا (دون نفي) على التسلسل. أما التماس 97-98 فمفتوح في الراحة وينغلق عند الحمولة الزائدة فيصبح $I3 = 1$، لذلك يُكتب منفيا $\overline{I3}$ ليقطع. لا يُنفى إلا تماس إيقاف أو حماية مفتوح في الراحة.
لماذا نوصل زر الإيقاف بتماس مغلق؟ لأن انقطاع سلكه يجعل $I1 = 0$ فيتوقف المحرك: العطب يؤدي إلى الحالة الآمنة.
في الشكل (b): كتلة «أو» تجمع I2 (التشغيل) وQ1 الراجع من المخرج (التغذية الذاتية)، ثم كتلة «و» تجمع I1 مباشرا وI3 منفيا (الدائرة على مدخله) ومخرج كتلة «أو»، ومخرجها يقود المخرج Q1 للمبرمج (وشيعة KM1). معادلة البرنامج:
$ Q1 = I1\cdot\overline{I3}\cdot(I2 + Q1) $
وهي بالضبط دارة التحكم الموصولة ودرجة Ladder في درس المبرمج الآلي: S1 وF1 على التسلسل، وS2 على التفرع مع تماس التغذية الذاتية لـ KM1. الجداء $I1\cdot\overline{I3}$ يضرب المعادلة كلها، فللإيقاف الأولوية، كما في الذاكرة RS.
تتبع البرنامج
| اللحظة | الحدث | I1 | I2 | I3 | Q1 | |---|---|---|---|---|---| | 1 | الراحة | 1 | 0 | 0 | 0 | | 2 | ضغط S2 | 1 | 1 | 0 | 1 | | 3 | تحرير S2 | 1 | 0 | 0 | 1 (حفظ) | | 4 | حمولة زائدة: 97-98 ينغلق | 1 | 0 | 1 | 0 | | 5 | ضغط S1 وS2 معا | 0 | 1 | 0 | 0 |
في السطر 5 يبقى المحرك متوقفا لأن $I1 = 0$ يجعل الجداء كله 0. لو كتبنا $Q1 = I2 + I1\cdot\overline{I3}\cdot Q1$ (أولوية التشغيل، كالذاكرة SR) لاشتغل المحرك والمتعامل يضغط زر الإيقاف، وهذا خطير.
ملاحظة للامتحان
- اكتب دائما جدول التعيينات قبل البرنامج، واذكر نوع كل تماس (NO أو NC).
- اسم النسخة (T1) غير اسم النوع (TON): في البرنامج الواحد قد توجد عشرة مؤجلات من النوع TON بعشرة أسماء مختلفة.
- دارة الاستطاعة لا تمر أبدا عبر المبرمج: المبرمج يقود وشيعة الملامس KM1، والملامس هو الذي يقطع تيار المحرك.
أخطاء شائعة
- كتابة $\overline{I1}$ بدل I1 لزر إيقاف موصول بتماس مغلق: في الراحة $\overline{I1} = 0$ فلا يشتغل المحرك أبدا، ولا يقبل التشغيل إلا وزر الإيقاف مضغوط.
- وضع التشغيل خارج الجداء ($Q1 = I2 + \ldots$): أولوية التشغيل، أي سلوك الذاكرة SR، في دارة تشغيل وإيقاف.
- الظن أن الكتلة الداخلية تحتاج إلى سلك: كل الربط بين الكتل برمجي داخل الذاكرة.
2. المؤجل عند العمل TON وبرمجة التأجيلات في المتمن
التعريف
المؤجل عند العمل (temporisation au travail، on-delay) كتلة TON لها:
| الطرف | النوع | دوره | |---|---|---| | IN | مدخل ثنائي | أمر التشغيل: يبدأ العدّ الزمني حين يصبح 1 | | PT | وسيط عددي | الزمن المسبق (Preset Time) | | Q | مخرج ثنائي | يصبح 1 حين ينقضي الزمن PT والمدخل ما زال 1 | | ET | مخرج عددي | الزمن المنقضي (Elapsed Time) منذ صعود IN |
> TON: المخرج Q يتأخر عند الصعود بالمدة PT، ويسقط فورا مع سقوط IN.
المخطط الزمني

يبيّن الشكل المؤجل T1 بالزمن المسبق $PT = 5\ s$ تحت أمرين على المدخل IN: الأول قصير (من $1\ s$ إلى $4\ s$) والثاني طويل (من $6\ s$ إلى $15\ s$).
نقرأ المخطط:
- من $1\ s$ إلى $4\ s$: يصعد IN فيبدأ ET بالزيادة. عند $4\ s$ يسقط IN و$ET = 3\ s$ فقط، أي أقل من PT: يُصفَّر ET ولا يظهر Q أبدا. المؤجل لا يتذكر الزمن السابق.
- من $6\ s$: يبدأ ET من الصفر من جديد، ويبلغ $5\ s$ عند $6 + 5 = 11\ s$: يصبح $Q = 1$ ويتوقف ET عند قيمة PT.
- عند $15\ s$: يسقط IN، فيسقط Q فورا ويُصفَّر ET.
مدة بقاء Q مساويا 1 هي إذن مدة IN ناقص PT: $(15 - 6) - 5 = 4\ s$.
هذا هو سلوك التماس المؤجل عند العمل للمرحل المؤجل في التكنولوجيا الموصولة، وسلوك القابلية الزمنية في المتمن.
ضبط الزمن المسبق: القاعدة الزمنية
يعدّ المؤجل نبضات ساعة داخلية دورها القاعدة الزمنية $b$ (base de temps)، والزمن المسبق هو عدد هذه النبضات:
$ PT = N\times b $
| القاعدة الزمنية $b$ | $N$ لزمن $5\ s$ | $N$ لزمن $2\ min$ | |---|---|---| | $10\ ms$ | 500 | 12000 | | $100\ ms$ | 50 | 1200 | | $1\ s$ | 5 | 120 |
مثال محسوب
مبرمج يقبل قيمة مسبقة N لا تتجاوز 9999.
- بقاعدة $0{,}1\ s$ أطول زمن هو $9999\times0{,}1 = 999{,}9\ s$، أي حوالي $16{,}7\ min$.
- لتأجيل $25\ min = 1500\ s$ نحتاج إلى $N = 15000$ بقاعدة $0{,}1\ s$، وهذا مستحيل؛ نختار القاعدة $1\ s$ فيكون $N = 1500$.
الدقة: يتغير Q داخل البرنامج، لكن المخرج الفيزيائي لا يُحدَّث إلا في نهاية دورة المسح، والمؤجل يعدّ بخطوات تساوي القاعدة الزمنية. فالخطأ الأقصى من رتبة $b + T_c$، حيث $T_c$ مدة دورة المسح: بقاعدة $0{,}1\ s$ ودورة $10\ ms$ يكون الخطأ أقل من $0{,}11\ s$ تقريبا، وهو مقبول في تأجيل من عدة ثوان.
برمجة القابلية الزمنية في المتمن
القابلية $t/X_n/5\,s$ تُترجم بمؤجل TON:
- مدخله $IN = X_n$: يبدأ العدّ عند تنشيط المرحلة n ويُصفَّر عند تخميلها؛
- زمنه المسبق $PT = 5\ s$؛
- مخرجه T1.Q يوضع قابلية للانتقال الذي يلي المرحلة n.
مثال: مكبس لصق حراري
مكبس P تحركه رافعة مزدوجة المفعول يقودها موزع 5/2 ثنائي الاستقرار. يضع العامل القطعة ويضغط dcy: ينزل المكبس، ثم تُسخَّن القطعة 5 ثوان وهي مضغوطة، ثم يصعد المكبس.
| المدخل | العنصر | المخرج | العنصر | |---|---|---|---| | I1 | زر بداية الدورة dcy | Q1 | dP+ (نزول المكبس) | | I2 | $p_0$: المكبس فوق | Q2 | dP− (صعود المكبس) | | I3 | $p_1$: المكبس تحت | Q3 | KM1 (مقاومة التسخين) | | I4 | $c$: حضور القطعة | | |

يبيّن الشكل متمن المكبس مكتوبا بعناوين المبرمج: المرحلة 2 تغذي المدخل IN للمؤجل T1 ذي الزمن المسبق $5\ s$، ومخرجه T1.Q هو قابلية الانتقال من 2 إلى 3.
ما يُكتب في البرنامج إلى جانب المتمن:
| الكتلة | IN | PT | الاستعمال | |---|---|---|---| | T1 (TON) | $X_2$ | $5\ s$ | قابلية الانتقال 2 ← 3 |
ومعادلات المخارج: $Q1 = X_1$، $Q2 = X_3$، $Q3 = X_2$.
الفعل المؤجل والفعل المحدود في الزمن
نفس الكتلة تعطي النوعين الآخرين من الأفعال الزمنية (درس المتمن):
- فعل مؤجل: مروحة Q4 تشتغل بعد $2\ s$ من بداية التسخين. نضيف المؤجل T2 بـ $IN = X_2$ و$PT = 2\ s$، ونكتب $Q4 = X_2\cdot T2.Q$.
- فعل محدود في الزمن: نفخة هواء Q5 مدة $1\ s$ فقط في بداية النزول. نضيف المؤجل T3 بـ $IN = X_1$ و$PT = 1\ s$، ونكتب $Q5 = X_1\cdot\overline{T3.Q}$.
مثال محسوب
يُضغط dcy عند $t = 0$، وينزل المكبس في $1{,}5\ s$:
| المرحلة | من | إلى | |---|---|---| | 1 | $0$ | $1{,}5\ s$ | | 2 | $1{,}5\ s$ | $1{,}5 + 5 = 6{,}5\ s$ | | 3 | $6{,}5\ s$ | حتى $p_0$ |
- Q5 يعمل من $0$ إلى $1\ s$ (نصف الثانية الأخيرة من النزول بلا نفخ)؛
- Q4 يعمل من $1{,}5 + 2 = 3{,}5\ s$ إلى $6{,}5\ s$، أي $3\ s$؛
- Q3 يعمل $5\ s$ بالضبط.
أخطاء شائعة
- مؤجل واحد لمرحلتين متتاليتين: إذا كتبنا $IN = X_2 + X_3$ لمؤجل T1 يحدد مدة المرحلة 2 ومدة المرحلة 3، فإن IN لا يسقط عند المرور من 2 إلى 3، فلا يُصفَّر المؤجل، ويكون $T1.Q = 1$ لحظة دخول المرحلة 3، فتُجتاز في دورة مسح واحدة. لكل مرحلة مؤقتة مؤجلها، أو نتأكد أن بين استعمالين مرحلةً يكون فيها $IN = 0$.
- الخلط بين IN وQ: $T1 = X_2$ أمر تشغيل المؤجل، وT1.Q نتيجته التي تُقرأ في القابلية.
- وضع T1.Q قابليةً لمرحلة أخرى غير التي أطلقته: T1.Q يعني «مرّت $5\ s$ على المرحلة 2» ولا معنى له خارجها.
- حساب N بالقسمة المعكوسة: $N = PT/b$ لا $b/PT$.
3. المؤجل عند الراحة TOF والوماض بمؤجلين
التعريف
المؤجل عند الراحة (temporisation au repos، off-delay) كتلة TOF لها الأطراف نفسها: IN وPT في المداخل، وQ وET في المخارج. لكن سلوكها معكوس:
> TOF: المخرج Q يصعد فورا مع IN، ويتأخر عند السقوط: يبقى 1 مدة PT بعد سقوط IN.
- حين يصبح $IN = 1$: يصبح $Q = 1$ فورا ويُصفَّر ET؛
- حين يسقط IN: يبدأ ET بالزيادة، وحين يبلغ PT يسقط Q؛
- إذا عاد IN إلى 1 قبل انقضاء PT: يبقى $Q = 1$ ويُصفَّر ET، وتبدأ مهلة جديدة عند السقوط التالي (إعادة التسليح).
المخطط الزمني

يبيّن الشكل المؤجل T1 من النوع TOF بالزمن المسبق $PT = 5\ s$، ومدخله يعطي ثلاث نبضات: من $1\ s$ إلى $4\ s$، ومن $11\ s$ إلى $13\ s$، ومن $16\ s$ إلى $18\ s$.
- عند $1\ s$ يصعد Q مع IN دون أي تأخير.
- عند $4\ s$ يسقط IN فيبدأ ET، ويبلغ $5\ s$ عند $4 + 5 = 9\ s$: يسقط Q عند $9\ s$.
- عند $11\ s$ يصعد Q من جديد، ويسقط IN عند $13\ s$. يبلغ ET القيمة $3\ s$ عند $16\ s$، لكن IN يعود قبل انقضاء PT: يُصفَّر ET ويبقى Q مساويا 1.
- عند $18\ s$ يسقط IN نهائيا، فيسقط Q عند $18 + 5 = 23\ s$.
النبضتان الثانية والثالثة أعطتا إذن نبضة واحدة طويلة على Q، من $11\ s$ إلى $23\ s$.
مقارنة TON وTOF
| الخاصية | TON | TOF | |---|---|---| | صعود Q | بعد PT من صعود IN | فورا مع IN | | سقوط Q | فورا مع IN | بعد PT من سقوط IN | | أمر أقصر من PT | لا يظهر Q | يظهر Q مدة الأمر زائد PT | | ما يقابله سلكيا | تماس مؤجل عند العمل | تماس مؤجل عند الراحة | | استعماله في المتمن | القابليات الزمنية والأفعال المؤجلة | منطق المخارج خارج المتمن غالبا |
تطبيقان كلاسيكيان
إنارة الدرج (minuterie)
أزرار على كل الطوابق موصولة على التفرع بالمدخل I1، والمصباح على Q1. نريد أن يضيء المصباح عند الضغط ويبقى مضاء $90\ s$ بعد آخر ضغطة. نكتب مؤجلا T1 من النوع TOF بـ $IN = I1$ و$PT = 90\ s$، و$Q1 = T1.Q$.
مثال: ضغطة عند $t = 0$ ثم أخرى عند $t = 60\ s$ (مدة كل ضغطة نصف ثانية): الضغطة الثانية تعيد التسليح، فينطفئ المصباح عند $60{,}5 + 90 = 150{,}5\ s$ لا عند $90{,}5\ s$.
تبريد محرك بعد توقفه
المحرك على Q1 ومروحة تبريده على Q2، ويجب أن تدور المروحة ما دام المحرك يدور ثم $2\ min$ بعد توقفه. نكتب T2 من النوع TOF بـ $IN = Q1$ و$PT = 120\ s$، و$Q2 = T2.Q$. إذا اشتغل المحرك من $t = 0$ إلى $t = 300\ s$ تدور المروحة من $0$ إلى $420\ s$.
تركيب المؤجلات: الوماض بمؤجلين TON
نحتاج كثيرا إلى إشارة وامضة (clignotant): مصباح إنذار، أو ضوء برتقالي وامض في إشارة المرور. نحصل عليها بمؤجلين TON يوقف أحدهما الآخر، وهو المقابل البرمجي للهزاز اللامستقر NE555.

يبيّن الشكل البرنامج: المدخل I4 يسمح بالوميض، ومدخل T1 هو $I4\cdot\overline{T2.Q}$، ومدخل T2 هو T1.Q، والمصباح Q1 يساوي T1.Q. وتحته المخطط الزمني بـ $PT_1 = 0{,}6\ s$ و$PT_2 = 0{,}4\ s$.
نتتبع العمل انطلاقا من صعود I4 عند $t = 0{,}5\ s$:
- $T2.Q = 0$ فمدخل T1 يساوي 1: يبدأ T1.
- بعد $0{,}6\ s$ ($t = 1{,}1\ s$): $T1.Q = 1$، فيضيء Q1 ويبدأ T2.
- بعد $0{,}4\ s$ ($t = 1{,}5\ s$): $T2.Q = 1$، فيسقط مدخل T1، ويسقط T1.Q (ينطفئ Q1)، ويُصفَّر T1.
- سقوط T1.Q يصفّر T2 في الدورة التالية، فيعود $T2.Q = 0$ ويبدأ T1 من جديد. T2.Q لا يدوم إلا دورة مسح واحدة.
النتيجة: Q1 مطفأ مدة $PT_1$ ومضاء مدة $PT_2$:
$ T = PT_1 + PT_2 = 0{,}6 + 0{,}4 = 1\ s $
$ f = \frac{1}{T} = 1\ Hz $
$ \alpha = \frac{PT_2}{T} = \frac{0{,}4}{1} = 40\ \% $
(نهمل دورة أو دورتي مسح في كل دور، أي بضعة ميلي ثوان.) حين يسقط I4 يسقط مدخل T1 فيبقى المصباح مطفأ.
> في الوماض: مدة الإطفاء يحددها المؤجل الأول T1، ومدة الإضاءة يحددها المؤجل الثاني T2. لوميض متناظر نضع $PT_1 = PT_2 = T/2$.
ملاحظة للامتحان
- يعرّف المعيار أيضا كتلة النبضة TP (impulsion): عند الجبهة الصاعدة لـ IN يصبح $Q = 1$ مدة PT بالضبط، فلا يقطعها سقوط IN ولا تمدّدها جبهة جديدة أثناءها. في المتمن نحصل على أثر قريب بفعل محدود في الزمن بمؤجل TON ($Q = X_n\cdot\overline{T.Q}$)، مع فرق واحد: هذا الفعل ينقطع إذا غادر المتمن المرحلة قبل انقضاء PT.
- في جدول التعيينات لا تضع المؤجلات ولا متغيرات المراحل في عمود المداخل: هي متغيرات داخلية للمبرمج، لا أطراف موصولة بأسلاك.
أخطاء شائعة
- الظن أن TOF يؤخر صعود المخرج: هو يؤخر سقوطه فقط.
- نسيان إعادة التسليح: أمر جديد قبل انقضاء PT يمدد المهلة، ولا يضيفها إلى المهلة السابقة.
- قلب دوري المؤجلين في الوماض: مدة الإضاءة هي PT للمؤجل الذي يبدأ حين يضيء المصباح، أي T2.
4. العدادات الداخلية CTU وCTD وبرمجة العدّ
العداد التصاعدي CTU
العداد التصاعدي (compteur، count up) كتلة CTU لها:
| الطرف | النوع | دوره | |---|---|---| | CU | مدخل ثنائي بالجبهة الصاعدة (المثلث الصغير) | كل جبهة صاعدة تزيد القيمة بواحد | | R | مدخل ثنائي | الإرجاع إلى الصفر (Reset)، وله الأولوية | | PV | وسيط عددي | القيمة المسبقة (Preset Value) | | Q | مخرج ثنائي | يساوي 1 حين $CV \ge PV$ | | CV | مخرج عددي | القيمة الحالية (Current Value) |
قواعد العمل:
- عند كل جبهة صاعدة لـ CU: $CV := CV + 1$. مستوى CU لا يهم: مدخل يبقى 1 مدة طويلة يُعدّ مرة واحدة.
- إذا كان $R = 1$: $CV := 0$، مهما حدث على CU.
- $Q = 1$ ما دام $CV \ge PV$؛ والعداد يواصل العدّ بعد PV.
العداد التنازلي CTD
العداد التنازلي (décompteur، count down) كتلة CTD مداخلها CD (بالجبهة الصاعدة) وLD (Load) وPV:
- $LD = 1$: تُشحن القيمة المسبقة، $CV := PV$؛
- كل جبهة صاعدة لـ CD: $CV := CV - 1$؛
- $Q = 1$ حين $CV \le 0$.
يناسب CTD الحالات التي نريد فيها معرفة ما بقي: عدد القطع الباقية لملء علبة، يُعرض على شاشة المبرمج. وتوجد أيضا كتلة CTUD تجمع المدخلين CU وCD في عداد واحد.
المخطط الزمني لعداد CTU

يبيّن الشكل في أعلاه الكتلتين CTU وCTD، وفي أسفله عمل العداد C1 من النوع CTU بالقيمة المسبقة $PV = 3$.
| اللحظة | الحدث | CV | Q | |---|---|---|---| | $1\ s$ | جبهة صاعدة لـ CU | 1 | 0 | | $3\ s$ | جبهة صاعدة | 2 | 0 | | $5\ s$ | جبهة صاعدة، ويبقى CU مساويا 1 حتى $8\ s$ | 3 | 1 | | $9\ s$ | جبهة صاعدة | 4 | 1 | | $11\ s$ | $R = 1$ | 0 | 0 | | $13\ s$ | جبهة صاعدة | 1 | 0 |
لاحظ ثلاث نقاط: CU الذي بقي 1 من $5\ s$ إلى $8\ s$ عُدّ مرة واحدة؛ وQ ظهر عند بلوغ $CV = PV = 3$ وبقي بعد تجاوزها؛ وQ لم يسقط إلا بالإرجاع R.
برمجة العدّ في المتمن
في درس البنيات القاعدية كتبنا التكرار بعداد C والفعل $C := C + 1$ ومتغير $c$ يساوي 1 عندما $C = 3$. في المبرمج يصبح ذلك عدادا CTU:
| في المتمن | في المبرمج | |---|---| | $C := 0$ في المرحلة الابتدائية | $R = X_0$ | | $C := C + 1$ عند تنشيط المرحلة n | $CU = X_n$ (الجبهة الصاعدة لـ $X_n$) | | $c = 1$ عندما $C = 3$ | $PV = 3$، وC1.Q في القابلية |
مثال: غمر سلة ثلاث مرات
دافعة V تُنزل سلة قطع في حوض ثم ترفعها، وتتكرر الغمرة 3 مرات، ثم يُخرج سير ناقل السلة.
| المدخل | العنصر | المخرج | العنصر | |---|---|---|---| | I1 | dcy | Q1 | dV+ (نزول السلة) | | I2 | $v_0$: السلة فوق | Q2 | dV− (صعود السلة) | | I3 | $v_1$: السلة في الحوض | Q3 | KM1 (السير الناقل) | | I4 | $e$: السلة في نهاية السير | | |

يبيّن الشكل المتمن: المرحلة 2 (صعود السلة) تغذي المدخل CU للعداد C1، والمرحلة 0 تُرجعه إلى الصفر، وتحت المرحلة 2 تباعد «أو»: $I2\cdot\overline{C1.Q}$ يعيد إلى المرحلة 1، و$I2\cdot C1.Q$ يواصل إلى المرحلة 3.
تتبع العداد:
| المرور | تنشيط المرحلة 2 | CV | C1.Q | الانتقال المجتاز عند $v_0$ | |---|---|---|---|---| | الغمرة 1 | الأول | 1 | 0 | نحو 1 | | الغمرة 2 | الثاني | 2 | 0 | نحو 1 | | الغمرة 3 | الثالث | 3 | 1 | نحو 3 |
يُحدَّث العداد لحظة تنشيط المرحلة 2، أي قبل وصول السلة إلى $v_0$ بوقت طويل، فتكون قيمة C1.Q صحيحة حين تُقرأ القابلية.
حدود العدّ: دورة المسح
المبرمج لا يرى المدخل إلا مرة في كل دورة مسح. لكي تُعدّ نبضة يجب أن يُرى المدخل 1 في دورة، ثم 0 في دورة أخرى: النبضة والفراغ بينها يجب أن يدوم كل منهما أكثر من دورة مسح $T_c$. لإشارة نسبتها $50\ \%$:
$ f_{max} = \frac{1}{2\,T_c} $
مثال: $T_c = 10\ ms$ يعطي $f_{max} = 1/0{,}02 = 50\ Hz$. خط يمرر 120 قارورة في الدقيقة يعطي $f = 120/60 = 2\ Hz$: لا مشكلة. أما ملتقط على محور يعطي $1\ kHz$ فيحتاج إلى مدخل عدّ سريع خاص.
تأجيل طويل بمؤجل وعداد
لتأجيل ساعتين بمبرمج لا يتجاوز مؤجله $999{,}9\ s$ نركّب:
- مؤجلا T1 من النوع TON بـ $IN = X_5\cdot\overline{T1.Q}$ و$PT = 60\ s$: يعطي نبضة لدورة واحدة كل دقيقة، لأنه يُصفّر نفسه حين يظهر Q؛
- عدادا C1 بـ $CU = T1.Q$ و$PV = 120$ و$R = X_0$.
يصبح $C1.Q = 1$ بعد $120\times60 = 7200\ s = 2\ h$ من تنشيط المرحلة 5، مع زيادة صغيرة: كل دقيقة تطول بدورتي مسح تقريبا (دورة لإسقاط IN وأخرى لإعادة التشغيل)، أي حوالي $120\times2\times10\ ms = 2{,}4\ s$ في الساعتين إذا كان $T_c = 10\ ms$، وهو مهمل.
أخطاء شائعة
- وضع الإرجاع داخل الحلقة: $R = X_1$ في متمن الغمر يصفّر العداد في كل غمرة، والإرجاع له الأولوية، فلا يبلغ CV أبدا القيمة 3 وتتكرر الغمرات بلا نهاية.
- نسيان الإرجاع: تبدأ الدورة الثانية و$C1.Q = 1$ من الدورة السابقة، فتنجز غمرة واحدة فقط.
- خطأ بواحد في PV: إذا كان العداد يُزاد عند كل غمرة، فـ PV هو عدد الغمرات المطلوب، لا عدد الرجوعات (اثنان).
- الظن أن CU يعدّ ما دام 1: CU يعدّ الجبهات الصاعدة فقط.
5. المتتاليات المتزامنة في المبرمج الآلي
تذكير: التباعد والتقارب «و»
في المتتاليات المتزامنة (séquences simultanées) يُنشّط انتقال واحد عدة فروع في آن واحد (التباعد «و»، خط مزدوج تحت الانتقال)، وتتطور الفروع مستقلة، ثم لا يُجتاز الانتقال الذي يجمعها (التقارب «و»، خط مزدوج فوق الانتقال) إلا حين تكون كل مراحلها الأخيرة نشطة. هذه المراحل الأخيرة غالبا مراحل انتظار بلا فعل.
في المبرمج الآلي تحتوي لغة المتمن SFC كتلتين خاصتين لهذا: كتلة التباعد «و» (divergence en ET) وكتلة التقارب «و» (convergence en ET)، فيُنقل المتمن كما هو. الجديد في هذا الدرس أن كل فرع قد يحمل مؤجلاته وعداداته الخاصة، وأن الفروع تعمل معا في الزمن.
مثال: محطة ثقب ووسم متزامنين
قطعة توضع تحت محطتين. عند dcy ينطلق عملان معا:
- الثقب: ينزل المثقب (الرافعة B) وهو يدور (المحرك KM1) حتى $b_1$، ثم يصعد وهو يدور حتى $b_0$؛
- الوسم: تخرج رافعة الوسم M حتى $m_1$، وتبقى ضاغطة $2\ s$، ثم ترجع حتى $m_0$.
حين ينتهي العملان يُخرج سير ناقل (KM2) القطعة مدة $4\ s$، ثم يعود النظام إلى حالته الابتدائية. الرافعتان مزدوجتا المفعول بموزعين 5/2 ثنائيي الاستقرار.
| المدخل | العنصر | المخرج | العنصر | |---|---|---|---| | I1 | dcy | Q1 | KM1 (دوران المثقب) | | I2 | $p$: حضور القطعة | Q2 | dB+ (نزول المثقب) | | I3 | $b_0$: المثقب فوق | Q3 | dB− (صعود المثقب) | | I4 | $b_1$: المثقب تحت | Q4 | dM+ (خروج الواسم) | | I5 | $m_0$: الواسم راجع | Q5 | dM− (رجوع الواسم) | | I6 | $m_1$: الواسم خارج | Q6 | KM2 (السير الناقل) |

يبيّن الشكل المتمن المكتوب بعناوين المبرمج: بعد المرحلة الابتدائية 10 والقابلية $I1\cdot I2\cdot I3\cdot I5$ يبدأ الفرعان معا، فرع الثقب (11، 12، ومرحلة الانتظار 13) وفرع الوسم (14، 15، 16، ومرحلة الانتظار 17)، ثم يلتقيان في المرحلة 18 التي تشغّل السير الناقل.
ملاحظات على المتمن:
- الشروط الابتدائية $b_0$ و$m_0$ (I3 وI5) مكتوبة في قابلية الانطلاق، فلا تبدأ دورة والرافعتان خارج موضع الراحة.
- المرحلة 15 لا تحمل إلا المؤجل T1: الرافعة M تبقى خارجة لأن موزعها ثنائي الاستقرار.
- قابلية التقارب $= 1$: المرحلة 18 تنشط في اللحظة التي تصبح فيها 13 و17 نشطتين معا.
الكتل الداخلية ومعادلات المخارج
| الكتلة | النوع | المدخل | الوسيط | الاستعمال | |---|---|---|---|---| | T1 | TON | $X_{15}$ | $PT = 2\ s$ | قابلية 15 ← 16 | | T2 | TON | $X_{18}$ | $PT = 4\ s$ | قابلية 18 ← 10 |
| المخرج | المعادلة | |---|---| | Q1 (KM1) | $Q1 = X_{11} + X_{12}$ | | Q2 (dB+) | $Q2 = X_{11}$ | | Q3 (dB−) | $Q3 = X_{12}$ | | Q4 (dM+) | $Q4 = X_{14}$ | | Q5 (dM−) | $Q5 = X_{16}$ | | Q6 (KM2) | $Q6 = X_{18}$ |
KM1 يظهر في مرحلتين متتاليتين، فنكتب مجموعهما في معادلة واحدة.
مثال محسوب: مدة الدورة
الأزمنة المقيسة: نزول المثقب $3\ s$، صعوده $2\ s$، خروج الواسم $1\ s$، رجوعه $1\ s$. يُضغط dcy عند $t = 0$:
| الفرع | المراحل | ينتهي عند | |---|---|---| | الثقب | 11 ($3\ s$) ثم 12 ($2\ s$) | $5\ s$ | | الوسم | 14 ($1\ s$) ثم 15 ($2\ s$) ثم 16 ($1\ s$) | $4\ s$ |
- فرع الوسم ينتهي أولا، فتنتظر المرحلة 17 مدة $5 - 4 = 1\ s$؛
- المرحلة 18 تنشط عند $5\ s$ وتدوم $4\ s$، فتعود المرحلة 10 عند $9\ s$؛
- مدة الدورة $9\ s$، والإنتاج الأقصى $3600/9 = 400$ قطعة في الساعة.
لو كانت العمليتان متتاليتين لدامت الدورة $5 + 4 + 4 = 13\ s$، أي حوالي 277 قطعة في الساعة: هذا هو ربح التزامن.
إذا لم يكن في المبرمج كتل SFC: المراحل بذاكرات SR
بعض المبرمجات لا تُبرمج إلا بـ FBD أو Ladder. في درس المبرمج الآلي برمجنا المتمن بلغة Ladder بدرجة تثبيت ومسح لكل انتقال؛ وبلغة FBD نكتب معادلات المراحل (درس معادلات التنشيط والتخميل) بذاكرة SR لكل مرحلة: $S1 = CA_n$ و$R = CD_n$. نختار SR لا RS لأن التنشيط له الأولوية (القاعدة الخامسة):
$ X_n = CA_n + \overline{CD_n}\cdot X_n $
ونأخذ إشارة التهيئة Init من بت النظام الذي يساوي 1 في أول دورة مسح بعد وضع التغذية.
| المرحلة | S1 (التنشيط) | R (التخميل) | |---|---|---| | 10 | $X_{18}\cdot T2.Q + Init$ | $X_{11}\cdot X_{14}$ | | 11 | $X_{10}\cdot I1\cdot I2\cdot I3\cdot I5$ | $X_{12} + Init$ | | 12 | $X_{11}\cdot I4$ | $X_{13} + Init$ | | 13 | $X_{12}\cdot I3$ | $X_{18} + Init$ | | 14 | $X_{10}\cdot I1\cdot I2\cdot I3\cdot I5$ | $X_{15} + Init$ | | 15 | $X_{14}\cdot I6$ | $X_{16} + Init$ | | 16 | $X_{15}\cdot T1.Q$ | $X_{17} + Init$ | | 17 | $X_{16}\cdot I5$ | $X_{18} + Init$ | | 18 | $X_{13}\cdot X_{17}$ | $X_{10} + Init$ |
نرى فيه قواعد البنية «و»: المرحلتان 11 و14 لهما التنشيط نفسه، والمرحلة 10 تُخمَّل بـ جداء $X_{11}\cdot X_{14}$، والمرحلة 18 تُنشَّط بـ جداء مرحلتي الانتظار، وتُخمّل 13 و17 كلتاهما بـ $X_{18}$.
أخطاء شائعة
- التقارب بـ «أو»: $CA_{18} = X_{13} + X_{17}$ يشغّل السير الناقل حين ينتهي فرع واحد، والواسم ربما ما زال على القطعة.
- حذف مرحلة الانتظار: لو كانت 12 هي آخر فرع الثقب، لبقي KM1 وdB− مشغّلين في انتظار انتهاء الوسم.
- مؤجل واحد لفرعين: الفرعان يعملان في الوقت نفسه، فلا يتقاسمان مؤجلا ولا عدادا قد يُستعملان معا؛ لكل فرع كتله.
- نسيان شروط الراحة في قابلية الانطلاق، فتبدأ دورة والمثقب ما زال تحت.
6. تطبيق كامل: محطة ملء القارورات وسدّها
دفتر الشروط
محطة آلية تملأ قارورات بسائل ثم تسدّها. سير ناقل يقدّم القارورات خطوة خطوة، وفيه موضعان: موضع الملء وموضع السدّ الذي يليه.
- عند الضغط على dcy، والرافعة C راجعة، يدور السير الناقل (KM1) حتى تصل قارورة جديدة أمام الملتقط $p$ في موضع الملء.
- يبدأ عملان معا:
- الملء: يُفتح الصمام الكهربائي EV1 مدة $6\ s$؛
- السدّ (للقارورة التي مُلئت في الدورة السابقة): تخرج الرافعة C حتى $c_1$، وتضغط السدادة $2\ s$، ثم ترجع حتى $c_0$.
- حين ينتهي العملان: إذا لم تُملأ 6 قارورات بعد، يتقدم السير بقارورة جديدة؛ وإذا مُلئت 6 قارورات (صندوق القارورات الفارغة فرغ) يضيء المصباح H1، ويستبدل العامل الصندوق ويضغط زر الإقرار Acq، فيعود النظام إلى حالته الابتدائية.
نفترض أن موضع الملء فارغ عند أول انطلاق.
جدول التعيينات والكتل الداخلية
| المدخل | العنصر | المخرج | العنصر | |---|---|---|---| | I1 | dcy | Q1 | KM1 (السير الناقل) | | I2 | $p$: قارورة في موضع الملء | Q2 | EV1 (صمام الملء) | | I3 | $c_0$: الرافعة C راجعة | Q3 | dC+ (خروج C) | | I4 | $c_1$: الرافعة C خارجة | Q4 | dC− (رجوع C) | | I5 | Acq: زر الإقرار | Q5 | H1 (مصباح «الصندوق فارغ») |
| الكتلة | النوع | المداخل | الوسيط | دورها | |---|---|---|---|---| | T1 | TON | $IN = X_2$ | $PT = 6\ s$ | مدة الملء | | T2 | TON | $IN = X_5$ | $PT = 2\ s$ | مدة ضغط السدادة | | C1 | CTU | $CU = X_2$، $R = X_0$ | $PV = 6$ | عدد القوارير المملوءة | | R_TRIG | كاشف جبهة | $CLK = I2$ | — | القابلية $\uparrow I2$ |
المتمن من وجهة نظر المبرمج

يبيّن الشكل المتمن الكامل: المرحلة 1 تقدّم القارورة، ثم تباعد «و» إلى فرع الملء (2 ثم الانتظار 3) وفرع السدّ (4، 5، 6 ثم الانتظار 7)، ثم تقارب «و» نحو المرحلة 8، وتحتها تباعد «أو»: $\overline{C1.Q}$ يعيد إلى المرحلة 1، وC1.Q يؤدي إلى المرحلة 9 (المصباح) ثم إلى المرحلة 0 بالإقرار I5.
لماذا هذه الاختيارات؟
القابلية $\uparrow I2$ لا $I2$: حين تنشط المرحلة 1 من جديد تكون القارورة التي مُلئت للتو ما زالت أمام $p$، أي $I2 = 1$. لو كتبنا $I2$ لاجتيز الانتقال فورا دون أن يتحرك السير، ولأعيد ملء القارورة نفسها فيفيض السائل. الجبهة الصاعدة لا تظهر إلا حين تغادر القارورة الملتقط ($I2 = 0$) ثم تصل الجديدة ($I2 = 1$).
مرحلتا الانتظار 3 و7: تتوقف كل عملية عند انتهائها (يُغلق EV1 بمجرد مغادرة المرحلة 2) بينما ينتظر الفرع الآخر.
المرحلة 8 بلا فعل: الانتقال الواقع تحت خط التقارب «و» واحد، فنضع بعده مرحلة يتفرع تحتها الاختيار «أو». تُجتاز في دورة مسح واحدة.
العدّ في المرحلة 2: $CU = X_2$ يزيد العداد عند بداية كل ملء، أي قبل الوصول إلى المرحلة 8 بست ثوان على الأقل، فتكون قيمة C1.Q صحيحة حين يُختار الفرع. لو عددنا بـ $X_8$، وهي مرحلة لا تدوم إلا دورة واحدة، لصار صواب الاختيار متوقفا على ترتيب تنفيذ الكتل داخل الدورة.
الإرجاع في المرحلة 0: المرحلة 0 تنشط مرة واحدة في كل صندوق، خارج الحلقة 1 ← 8 ← 1. لو أُرجع العداد في المرحلة 1 لما بلغ أبدا القيمة 6.
معادلات المخارج
| المخرج | المعادلة | |---|---| | Q1 (KM1) | $Q1 = X_1$ | | Q2 (EV1) | $Q2 = X_2$ | | Q3 (dC+) | $Q3 = X_4$ | | Q4 (dC−) | $Q4 = X_6$ | | Q5 (H1) | $Q5 = X_9$ |
مثال محسوب
المعطيات: تقدّم السير بقارورة يدوم $4\ s$، خروج الرافعة C يدوم $1\ s$ ورجوعها $1\ s$، تدفق الصمام $q_v = 0{,}25\ L/s$، والقاعدة الزمنية للمؤجلات $0{,}1\ s$.
1. حجم القارورة المملوءة:
$ V = q_v\times t = 0{,}25\times6 = 1{,}5\ L $
2. مدة دورة قارورة: فرع الملء $6\ s$، وفرع السدّ $1 + 2 + 1 = 4\ s$، فينتظر فرع السدّ في المرحلة 7 مدة $2\ s$. الدورة $4 + \max(6, 4) = 4 + 6 = 10\ s$.
3. مدة صندوق: $6\times10 = 60\ s$. تنشط المرحلة 1 ست مرات (مرة من المرحلة 0 وخمس مرات من المرحلة 8)، وتنشط المرحلة 8 ست مرات، والمرحلة 9 مرة واحدة.
4. الإنتاج في الساعة: إذا استغرق العامل $30\ s$ لاستبدال الصندوق والإقرار وإعادة الانطلاق، فدورة الصندوق $60 + 30 = 90\ s$، أي $3600/90 = 40$ صندوقا، أو $40\times6 = 240$ قارورة في الساعة.
5. قيم المؤجلات المسبقة: $N_1 = 6/0{,}1 = 60$ و$N_2 = 2/0{,}1 = 20$.
6. تغيير القارورة: لقوارير سعتها $1\ L$ يكفي تغيير الوسيط في البرنامج: $PT_1 = 1/0{,}25 = 4\ s$، أي $N_1 = 40$، دون لمس أي سلك. هذه هي ميزة التكنولوجيا المبرمجة. وتصبح الدورة $4 + \max(4, 4) = 8\ s$.
تتبع العداد
| القارورة | CV بعد تنشيط المرحلة 2 | C1.Q | الفرع المختار تحت 8 | |---|---|---|---| | 1 | 1 | 0 | نحو 1 | | 2 إلى 5 | 2 إلى 5 | 0 | نحو 1 | | 6 | 6 | 1 | نحو 9 |
ثم في المرحلة 0: $R = X_0 = 1$، فـ $CV = 0$ و$C1.Q = 0$، والصندوق الجديد يبدأ من الصفر.
ملاحظة للامتحان
في سؤال «حوّل المتمن إلى متمن المبرمج» لا تنس ثلاثة أشياء: جدول التعيينات، وجدول الكتل الداخلية بمداخلها ووسائطها، ومعادلات المخارج. ودارة الاستطاعة (المحرك، الصمام، الموزعات) لا تمر عبر المبرمج: المبرمج يقود المنفذات المتصدرة فقط.
7. تمارين محلولة بنمط البكالوريا
التمرين 1: إشارات المرور في مفترق طرق
دفتر الشروط
مفترق طريقين A وB، لكل منهما إشارة ضوئية (F1 للطريق A، وF2 للطريق B) بثلاثة أضواء. يتحكم في الإشارتين مبرمج آلي.
- مبدّلة التشغيل S (المدخل I1): إذا كانت $S = 0$ تنطفئ الأضواء كلها عند نهاية الدورة الجارية.
- ملتقط الليل N (المدخل I2): مقاومة ضوئية مع مقارن، $N = 1$ ليلا.
- نهارا: أخضر F1 وأحمر F2 مدة $25\ s$، ثم برتقالي F1 وأحمر F2 مدة $3\ s$، ثم أحمر F1 وأخضر F2 مدة $25\ s$، ثم أحمر F1 وبرتقالي F2 مدة $3\ s$.
- ليلا: يومض البرتقاليان معا، مضاءين $1\ s$ ومطفأين $1\ s$.
- يُختار نمط النهار أو الليل في المرحلة 0، أي عند بداية كل دورة.
| المخرج | الضوء | المخرج | الضوء | |---|---|---|---| | Q1 | أحمر F1 | Q4 | أحمر F2 | | Q2 | برتقالي F1 | Q5 | برتقالي F2 | | Q3 | أخضر F1 | Q6 | أخضر F2 |
القاعدة الزمنية للمؤجلات $0{,}1\ s$.
العمل المطلوب
- ارسم المتمن من وجهة نظر المبرمج، بمؤجلات من النوع TON.
- أعط جدول المؤجلات بمداخلها وقيمها المسبقة N.
- اكتب معادلات المخارج.
- احسب مدة الدورة النهارية، وعدد الدورات الكاملة في الساعة، وتواتر الوميض ليلا.
- يصبح $N = 1$ بعد مغادرة المرحلة 0 بقليل. بعد كم من الوقت يبدأ الوميض على الأكثر؟
- اقترح تلميذ مؤجلا واحدا T1 للمرحلتين 1 و3 (كلتاهما $25\ s$) بـ $IN = X_1 + X_3$، ومؤجلا واحدا T5 للمرحلتين 5 و6 بـ $IN = X_5 + X_6$. ناقش الاقتراحين.
الحل
1. المتمن

يبيّن الشكل المرحلة 0 بلا فعل، وتحتها تباعد «أو»: $I1\cdot\overline{I2}$ نحو دورة النهار (المراحل 1 إلى 4)، و$I1\cdot I2$ نحو الوميض (المرحلتان 5 و6). ينتهي الفرعان بتقارب «أو» يعيد إلى المرحلة 0. القابليتان متنافيتان بفضل $I2$ و$\overline{I2}$. والمرحلة 6 بلا ضوء: هي زمن الإطفاء.
2. المؤجلات
| المؤجل | IN | PT | N | |---|---|---|---| | T1 | $X_1$ | $25\ s$ | 250 | | T2 | $X_2$ | $3\ s$ | 30 | | T3 | $X_3$ | $25\ s$ | 250 | | T4 | $X_4$ | $3\ s$ | 30 | | T5 | $X_5$ | $1\ s$ | 10 | | T6 | $X_6$ | $1\ s$ | 10 |
3. معادلات المخارج: نجمع لكل ضوء المراحل التي يضيء فيها.
| المخرج | المعادلة | |---|---| | Q1 (أحمر F1) | $Q1 = X_3 + X_4$ | | Q2 (برتقالي F1) | $Q2 = X_2 + X_5$ | | Q3 (أخضر F1) | $Q3 = X_1$ | | Q4 (أحمر F2) | $Q4 = X_1 + X_2$ | | Q5 (برتقالي F2) | $Q5 = X_4 + X_5$ | | Q6 (أخضر F2) | $Q6 = X_3$ |
للتحقق: في كل مرحلة نهارية يكون ضوء واحد مشتعلا في كل إشارة، وأحد الطريقين على الأقل أحمر.
4. الأزمنة
$ T_{jour} = 25 + 3 + 25 + 3 = 56\ s $
عدد الدورات الكاملة: $3600/56 \approx 64{,}3$، أي 64 دورة في الساعة (المرحلة 0 تُجتاز في دورة مسح، فزمنها مهمل). الوميض: دوره $1 + 1 = 2\ s$، فتواتره $f = 1/2 = 0{,}5\ Hz$.
5. أطول انتظار: الاختيار لا يُقرأ إلا في المرحلة 0. إذا أصبح $N = 1$ بعد مغادرتها مباشرة، تُتمّ دورة النهار كاملة: يبدأ الوميض بعد $56\ s$ على الأكثر. هذا مقصود: لا نقطع دورة والأخضر مشتعل.
6. مناقشة الاقتراحين
- T1 للمرحلتين 1 و3: بينهما المرحلة 2 حيث $IN = 0$ مدة $3\ s$، فيُصفَّر المؤجل قبل دخول 3، ويعدّ $25\ s$ من جديد. الاقتراح صحيح (والقيمة المسبقة واحدة).
- T5 للمرحلتين 5 و6: المرحلتان متتاليتان، فيبقى $IN = 1$ عند المرور من 5 إلى 6، ويبقى $T5.Q = 1$، فتُجتاز المرحلة 6 في دورة مسح. يعود المتمن إلى 0 ثم إلى 5 فورا: يبقى البرتقاليان مضاءين تقريبا دون انقطاع، ولا وميض. الاقتراح خاطئ.
التمرين 2: محطة خلط منتوجين
دفتر الشروط
خزان خلط يُملأ بمنتوجين A وB ثم يُخلطان ثم يُفرغ الخزان.
- عند dcy (I1) والخزان فارغ ($b = 0$): يُفتح معا الصمامان EV1 (المنتوج A) وEV2 (المنتوج B).
- كمية A تُقاس بعداد تدفق يعطي نبضة كل $0{,}5\ L$ على المدخل I3، والمطلوب $40\ L$؛ ثم يُغلق EV1.
- EV2 يبقى مفتوحا $12\ s$ بتدفق $0{,}5\ L/s$.
- حين ينتهي الملآن: يدور الخلاط (KM1) $30\ s$، ثم يُفتح صمام التفريغ EV3 حتى يفرغ الخزان ($b = 0$).
- $b$ (المدخل I2) ملتقط مستوى أسفل الخزان: $b = 1$ إذا كان فيه سائل.
- المخارج: Q1 (EV1)، Q2 (EV2)، Q3 (KM1)، Q4 (EV3).
المعطيات: تدفق EV1 هو $1{,}25\ L/s$، وتدفق التفريغ $2\ L/s$، ودورة المسح $T_c = 15\ ms$، والقاعدة الزمنية $0{,}1\ s$، ونبضات عداد التدفق نسبتها $50\ \%$.
العمل المطلوب
- احسب القيمة المسبقة PV للعداد C1.
- احسب مدة ملء A، وتواتر نبضات عداد التدفق، وتحقق من أن المبرمج يعدّها كلها.
- اكتب المتمن من وجهة نظر المبرمج (جدولا: مرحلة، أفعال، قابلية)، مع برمجة الكتل الداخلية.
- أعط قيم N للمؤجلين.
- احسب مدة الدورة، ونسبة المنتوج B في الخليط.
- برمج تلميذ العداد بـ $R = X_1$. ماذا يحدث؟
الحل
1. $PV = 40/0{,}5 = 80$ نبضة.
2. مدة ملء A: $t_A = 40/1{,}25 = 32\ s$. تواتر النبضات: $f = 1{,}25/0{,}5 = 2{,}5\ Hz$، أي نبضة كل $0{,}4\ s$ تدوم $0{,}2\ s$. أكبر تواتر يمكن عدّه:
$ f_{max} = \frac{1}{2T_c} = \frac{1}{0{,}03} \approx 33{,}3\ Hz $
بما أن $2{,}5\ Hz$ أصغر بكثير من $33{,}3\ Hz$ (والنبضة $200\ ms$ أطول بكثير من $15\ ms$)، فلا تضيع أي نبضة، ولا حاجة إلى مدخل عدّ سريع.
3. المتمن والكتل
| المرحلة | الأفعال | القابلية التي تليها | |---|---|---| | 0 (ابتدائية) | — | $I1\cdot\overline{I2}$، ثم تباعد «و» نحو 1 و3 | | 1 | Q1 (EV1) | C1.Q ← المرحلة 2 | | 2 (انتظار) | — | تقارب «و» مع 4 | | 3 | Q2 (EV2)، T1 | T1.Q ← المرحلة 4 | | 4 (انتظار) | — | تقارب «و» مع 2، القابلية $= 1$ ← المرحلة 5 | | 5 | Q3 (KM1)، T2 | T2.Q ← المرحلة 6 | | 6 | Q4 (EV3) | $\overline{I2}$ ← المرحلة 0 |
| الكتلة | النوع | البرمجة | |---|---|---| | C1 | CTU | $CU = I3\cdot X_1$، $R = X_0$، $PV = 80$ | | T1 | TON | $IN = X_3$، $PT = 12\ s$ | | T2 | TON | $IN = X_5$، $PT = 30\ s$ |
نكتب $CU = I3\cdot X_1$ لكي لا يُعدّ إلا ما يمر أثناء ملء A. ومعادلات المخارج: $Q1 = X_1$، $Q2 = X_3$، $Q3 = X_5$، $Q4 = X_6$.
4. $N_1 = 12/0{,}1 = 120$ و$N_2 = 30/0{,}1 = 300$.
5. الحجم الكلي $V = 40 + 0{,}5\times12 = 40 + 6 = 46\ L$. الملء يدوم $\max(32, 12) = 32\ s$ (تنتظر المرحلة 4 مدة $20\ s$)، والخلط $30\ s$، والتفريغ $46/2 = 23\ s$:
$ T_{cycle} = 32 + 30 + 23 = 85\ s $
نسبة B: $6/46 \approx 0{,}13$، أي حوالي $13\ \%$.
6. المدخل R له الأولوية: ما دامت المرحلة 1 نشطة يُفرض $CV = 0$، فلا يبلغ العداد أبدا 80، ويبقى $C1.Q = 0$، ولا يُغلق EV1: يفيض الخزان. الإرجاع يوضع في المرحلة 0، قبل فتح الصمامين.
الجزء الأول من الدرس مفتوح للجميع، وبقيته مع الاشتراك.