state logic progamming
TRANSCRIPT
ميكاترونيك هندسة ثالثة سنة
Third year
البعث 7/5/2014 جامعة
(:definitionتعريف)عدد على يعتمد دقيق #سلوب أ هو البرمجة في الحاالت أسلوب أن
نكون , سوف المال سحب ألة ألى ذهبنا اذا فمثال العمليات منالعمليات في التتالي أن اختيارهاعلما يجب حذرة حاالت أمام
: ثم المرور كلمة أدخال ثم البطاقة مسح كالتالي غالبا سيكون. أخراجه ثم المال عد يتم ثم المال كمية تحديد
الحالة :STATEتعريف
النظام فيها يكون التي الوضعية أو الهيئة هي الحالة في المقصود أن. به المتحكم
الحالة :State Diagramمخطط
كتابة في المبرمج تساعد رسوميا طريقة هو الحالة مخطط أنللتنفيذ حاالت عدة يتضمن الذي المنطقية برنامجه العالقة وأيجاد
فعلي برنامج ألى بعد فيما لتحويلها بعضها مع الحاالت تربط التيالواقع أرض على التي , يطبق الحالة أن نرى التالي الشكل في
ألى حالة من واألنتقال دائرة داخل تمثل النظام عندها يكونالحاالت من كل بين يربط قوس أو مستقيم بخط يمثل أخرى
.) الدوائر ) الموجودة . لدينا أكثر الفكرة تتضح سوف التالي المثال نظام (1الشكل)في
حالتين STATE1, STATE2 ذو
STATE
1
STATE
2
A
B
ELSEELSE
األولى الحالة في النظام كان حصل Aوالشرط STATE1أذا قدالثانية الحالة ألى ينتقل سوف النظام لم STATE2عنذئذا اذا أما
الشرط ,Aيحصل والكالم األولى الحالة في النظام يبقى سوفالحالة في النظام كان اذا الشرط STATE2يعاد تحقق عند Bحيث
. األولى للحالة النظام سيعوداذا حيث الغرفة بأضاءة التحكم نظام يشبه السابق الشكل أننظام سينتقل عليه ضغط التشغيل مفتاح ان او ما حركة كشفت
التشغيل حالة ألى ألى, ONاألضاءة للعودة شرط وضع ويمكناألطفاء مرة OFFحالة الضغط او الوقت من ساعة مرور مثال
. التشغيل مفتاح على اخرىفي المبينة األسهم الالزم 2الشكل أن بالشرط ملحقة تكون
سيتم محقق الشرط كان فأذا أخرى ألى حالة من لألنتقالحاله على النظام يبقى سوف وأال األنتقال
off_pushbutton
on_pushbutton
Light
OFF
Light
On
الحالة مخطط كتابة :state diagramمهارة
تعريف في هو الحاالت مخطط كتابة في األساسي الشرط لعلوشروطها حالة كل
الحالة مخطط كتابة قبل طرحها يمكن التي األسألة بعض هناك: علينا األمر تسهل والتي
: النظام صفاتالطبيعي؟ .1 النظام تصرف ماهوالشروط .2 تغير أو الظروف بتغير يتغير النظام سلوك هل
بالنظام؟ المحيطة؟ .3 النظام عليه يسير معين تسلسلي تتابع هناك هل
Example
القهوة لتصنيع نقدية ألة ندرس القارئ على األمور لتبسيط. األلة وضعيات وصف هي الدراسة في األولى الخطوة
) النقود ) ادخال بانتظار خطوة هي العمل فراغ حالة البداية حالةكمية ادخال وعند ادخالها تم التي النقود كمية عرض يمكن حيث
يريده الذي الشراب نوع يختار أن للزبون يمكن الكافية النقود
خاطئ أمر حصول وعند القهوة بتصنيع بعملها األلة ستقوم بعدها. البدائية لحالتها األلة ستعود خطأ أو
The Stateالحاالت:
شيئ – .1 والتفعل نقود على التحتوي األلة الفراغ حالةادخاله .2 تم الذي المجموع وعرض النقود ادخال الثانية الحالة3. (- من الكافية الكمية ادخال بعد وذلك للشراب الزبون اختيار
المال(4.) الشراب –) نوع أختيار بعد األلة قبل من الشراب تجهيز5. (- او الكاسات أو القهوة كمية استنفاذ مثال الطوارئ خدمة
) المصمم قبل من يحدد أخر شئمالحظة:
بتصميم .1 يأخذ ان لمصمم يمكن أي ذاتية الحاالت أنللحاالت السابق اخر في درسناه الذي التصميم غير
وتركيبها .2 األلة خصوصية بحسب الحاالت تؤحذبعين .3 المؤخوذة الحاالت بين وفرق تام وضوح هناك
األعتبار
تغذية الخدمة توفير
reset
النقود سحب
الكوب أزاحة
النقود سحب الكمية كوب ادخال اليوجد
اليوجد قهوة
الطوارئ النقود خدمة أدخالالباقي
األلة علىعملفراغ
القهوة الزبون صنع أختيار
نقود قطعة ادخال
األختيار مفتاح ضغط
(3الشكل)
EXAMPLE:
للمايكروويف الحالة مخطط .MICROWIVEأرسم
يمكن مخطط بداية رسم من نتمكن لكي المايكروف عمل ألية مناقشة: مقبول بشكل له الحالة
للطعام طهو بدون أي فراغ على العمل بحالة المايكرويف يكونالمراد المدة تحديد يتم ثم ومن الطعام ويدخل الباب يفتح ثم
بأن البداية بزر أمر الفرن اعطاء يتم ثم ومن بها الطعام طهيانتهاء , وهي شروط بثالث الطهي عن الفرن يقف الطهي يبدأ
بشكل الباب فتح أو األلغاء زر بكبس أو له المخصصة المدةفجائي .
:THE STATESالحاالت
1.) فراغ ) على العمل حالة حالةالبداية2.) ( التوقيت زر على الضغط عن المستخدم قبل من الوقت تعيين حالة3.) األدخال ) زر على بالضغط التوقيت على األستقرار حالة4.. بالطهي البدء حال
(4الشكل )
الحاالت :State tableجدول
رسم في للمساعدة كتقنية الحاالت جدول يستخدم أن يمكنبعض معقد النظام كان حال في عنه والتعبير الحاالت مخطط
: التالي , المثال في ذلك سنوضخ الشئ في مرور أشارة لدينا أنه الطبيعي (5الشكل)باعتبار التتابع أن
ولكن األحمر ويليه األصفر ثم األخضر هو األشارة ألضواءمقدار وليكن زمن واألصفر األخضر الضور بين يفصل
10second واألحمر األصفر الشارعين 4secondوبين وفي. الكالم نفس يطبق
احد من واألصفر األخضر اللون بأن لدينا المفهموم منلتجنب وذلك األخر الشارع في األحمر اللون يقابله الشارعين
السيارات بين اصطدام أي حدوث عندما بحيث للمشاة بزر المرور أشارتي من كال تزويد يتم
الزر على الضغط يمكنه األشارة عند موجود المشاة يكونيقطع أن المشاة يريد الذي بالشارع تتحكم التي األشارة لتصبح
األشارة ستفتح الفترة هذه وخالل بأمان مروره لضمان حمراءالمشاة . بمحاذاة تمشي بأن للسيارات لتسمح المعاكسة
kةkطkنق kايةkدkالب kاkدمkنkع kنkوkيك kنkرkالف kةkلkاkبحkفkاkأيق
kينkيkعkتkتkيkقkوkتkلkا
kاkرkقkتkسkألkا kىkلkع kرkتkيkقkوkلتkا
kيkهkالط زر
األلغاء
(5الشكل )
والخرج الدخل تعريف هو التحكم نظام في األولى الخطوة أنبينما, تتغير سوف والتي النظام متغيرات سنعرف أوال للنظام
. أخرى ألى حالة من ينتقل النظامستشكل بعضها مع المتغيرات بعض هنا المالحظة يرجى
األشارتين أضاء من متغير كل ليس أخر بمعنى واحدة حالة. حالة عن يعبر
لدينا أنه نرى التدقيق و 6عناصر )8في األضواء وهم 2خرج ) ودراسة لتحديد الخرج سنستخدم المشاة أزرار وهما دخل
. النظام حاالت
kتkالkاkحkجkرkخkال
L1 RED N/S YELLOW N/S L2
L3 GREEN N/S RED E/W L4
YELLOW E/W L5 GREEN E/W L6
kلkخkدkالS1 N/S , S2 E/W
الحالة مخطط استخدام الممكن من كان السابق state فيdiagram , سنعرف هنا أما وصفاته النظام حاالت عن للتعبير
الحالة جدول وهي جديدة الدراسة STATE TABLEتقنية لتسهيلأربع ولنأخذ جدول في بانتظام األضواء ترتيب يمكن علينا
لتسهيل الجدول في بأسمها حالة كل عن نعبر أن يمكن حاالتوضع من مايقابلها حالة كل بجانب ونضع األمر
) ب) عنه نعبر يشتغل ضوء كل حيث األضواء كان bit 1الخرج واذايكون :0bitمطفئ عنه. تكلمنا ما يبين التالي الجدول في
األولى :step oneالخطوة: بالترتيب وضعهم ويتم وخرجه النظام حاالت تعريف سيتم
L6 GL5 YL4 RL3 GL2 YL1 RState descripion
100001Green east/west
1
010001Yellow east/ west
2
001100Green north/south
3
001010Yellow north/south
4
الثانية :step 2الخطوة
الحاالت جدول ألى وأضافتهم األنتقال خطوط تعريفstate table.
وذلك الحالة جدول ألى األنتقال شروط أضافة يمكن , الجدول في موضح كما تماما واضحة العملية لتصبح
الحالة من األنتقال حيث المعدل greenالثانيeast/west ألىyellow east/west المشاة بضغط يتمالزر )s1على الشكل في األنتقال( 5والموضح أن أال
مرور بعد أشتغال , 10secondسيتم عند سابقا ذكرنا كماسيمر األصفر الحالة 4secondالضوء ألى بعدها لينتقل
green north/south بالمرور المشاة يستطيع عندهاوستقف سيمرون نفسها الجهة عند والسيارات
الجهة عند التي مجيئ . east/westالسيارات عند األنألى أخرين ألى s2مشاة األنتقال سيتم الزر ويضغطون
الضوء 4secondوبعد yellow north/southالحالة سيرجعالجهة ألى .green east/ westاألخضر
الخطوة نمثل أن يمكن .2وبهذا
L6 G
L5 YL4 RL3 G L2 YL1 RState descripion
100001Green east/west
1
010001Yellow east/ west
2
001100Green north/south
3
001010Yellow north/south
4
S1
4sec
S2
Delay 4sec
: الحالة الحالة مخطط جدول وبمساعدة سبق stateمماtable: التحكم لنظام الحالة مخطط ألى نصل
(6الشكل )
السلمية اللغة ألى التحويلConversion to Ladder Logic
المنطق ألى مباشرة يحول أن يمكن الحالة مخطط أنالمنطقية الكتلة باستخدام التقنية block logicالسلمي هذه أن
بسيطة طريقة تعتبر ولكن كبير برنامج تنتج سوفذلك , . األمر اقتضى ما أذا التصحيح وسهلة للفهم
المنطق في نطبقه لكين المرور أشارة عن السابق مثالنا فيال ladder logicالسلمي في والخرج الدخل تعريف plcسيتمكمايلي:
GREEN E /W
YELLOW E/W
GREEN N/S
YELLOW N/S
ال برنامج من المنطقية الكتلة لدينا البداية ladderفيالشكل ) في ال( 8الموضحة تشغيل الحالة plcعند ستكون
الموضوع للبرنامج األول المسح أن حيث الفعالة هي األولىالكتلة تنفيذ للتنفيذ MCRسيتم بداية كنقطة البرنامج من
ال قيمة تنقلب سوف والقيم B3/1حيث فعالة لتكون. فعالة تكون لن الباقية
MCR S2:1/14
L B3/1
L B3/2
B3/3 U
B3/4
U
MCR
(7الشكل)
statesB3/1 - state 1 - green E/WB3/2 - state 2 - yellow E/WB3/3 - state 3 - green N/SB3/4 - state 4 - yellow N/S
OUTPUTSO/1 - L1O/2 - L2O/3 - L3O/4 - L4O/5 - L5O/6 - L6
INPUTSI/1 - S1I/2 - S2
S2:1/14 - first scan
) التحكم) برنامج لبداية السلمي المنطق
السلمي برنامج من الثاني سيتعامل LADDER LOGICالقسمالخرج , أن مثال المخارج مع األحمر O/1مباشرة اللون هو
حالة, NORTH/SOUTHلألشارة في ستكون في ONالتيSTATE1 وSTATE2 أوB3/1 ثمB3/2 وضع أن التوالي على
ال تعليمة كتلة خارج الطبيعي وذلك MCRالخرج مهم أمر هوالكتلة تفعيل يتم حتى يفعلوا لن الكتلة داخل وجودهم عند
بحالة يكونوا أن على يجبروا سوف . OFFوأال
O/1 B3/1
B3/2
O/2 B3/4
O/3B3/3
O/4B3/3
( ال: تعليمة سنستخدم على( MCRمالحظة المرتكزة البرامج لتنفيذ . أهم أن السلمي البرنامج من جزء بأطفاء لنا يسمح هذا الحاالت
ستعكس التعليمة هذه داخل خرج أي أن هو عليه األنتباه يجب شيءتعليمة . أن وبالعكس مفتوح ألى مغلق من في MCRحالته ستفعل
مفعل يكون معها الموصول الدخل كان ONحال الدخل عندما أماليكون سيجبر التعليمة داخل الخرج جميع فأن .OFFغيرمفعل
MCR A
MCR كان تعليمة A=1اذا داخل MCRفأنسينفذ
كتلة نهاية MCRال
B3/4
O/5B3/2
O/6B3/1
الشكل ) بالمخارج المنطقي (8التحكم
( الشكل في البرنامج في كما تنفيذها تم األولى الحالة أنمفعال( . 7 األولى الحالة كانت تفعيل ONاذا I/1هو S1وتم
األولى الحالى سينهي هاذا الضوء( STATE2 B3/1فأن ذاتالثانية( الحالة تبدأ لكي األصفر ( STATE2األخضر الضوء ذات
B3/2.)
MCRB3/1
U b3/1I/1
L B3/2i/1
MCR
األولى ) بالضغط STATE1الحالة األنتقال تنتظرI/1على )
(9الشكل)
على الضغط S1عندحالة B3/1سينعكس
وهي القديمة حالته منUP الجديدة LOWألى
بحالة يصبح .OFFلكي
الحالة في يكون عنما البرنامج أن البلوك b3/1أي سيتفعلMCR الزر على الضغط عند األنتقال بالمشاة S1ويتم الخاص
العنوان له .I/1والمخصص
تتضمن ألنها الشيء بعض تعقيدا أكثر هي الثانية الحالة أنالحالة فعندما التالي الشكل في مبين كما لألنتقال مؤقت
STATE2 مفعالON القيمة على المزمن المؤخر المؤقت4SECOND الحالة يقلب لكي ألىUP=1من STATE 2سيعمل
LOW=0 ( بعد األصفر الضوء الضوء 4SECفيطفئ ويعمل ) للحالة بالنسبة وبالعكس المقابلة الجهة في أألخضر
STATE3) ,(B3/3. تصفيره يجب لذلك بقيمته بها يحتفظ ذاكرة له المؤقت أن
. جديدة دورة أجل من عمل يعود لكي عمله اداء بعد
MCRB3/2
T4:1
RTO
DEALY4SEC
U b3/2T4:1/DN
L b3/3T4:1/DN
RSTt4:1T4:1/DN
المؤقت سيعكس
b3/2الحالة Lألى uمن
المؤقت تصفير
MCR
(10الشكل)
( والرابعة الثالثة لبرمجة( state1,state2الحالة مشابها برمجتهاالتالي : الشكل في مبين هو كما والثانية األولى الحالتين
على بالضغط األنتقال بانتظار الثالثة I/2الحالة
MB3/3
Ui/2
L i2/2
( MCR(11الشكل
األنتقال) ( بانتظار الرابعة الحالة
Mcr b3/4
Rto t4:2
Dealy 4
B3/4
U t4:2
B3/1
LT4:2
T4:2
RSTT4:2
MCR
(12الشكل)
الحاالت مخطط في الخيارات تعدد مشكلة :A STATE DIAGRAM WITH PRIORITY PROBLEMS
حالة من لألنتقال واحد طريق لدينا كان السابق المثال فيالحاالت بين خيارات هناك يكن لم لذلك أخرى .STATESألى
مشكلة هناك التالي الشكل في الموضح الحالة مخطط فيواحدة حالة من أنتقالين وجود وهي البرنامج لها يتعرض قد
الحالة وهما STBوهي حالتين STCوSTAألىالحالة عند النظام كان بفرض وذلك ستظهر المشكلة هذه
STB( األنتقال النظام( CوAوشرطي سيذهب عندئذ معا حدثاللحالة الحالتين STCأو STAأما كال لتنفيذ يذهب قد ربما أو
ضعيف ) (. بشكل المصممة البرامج في وذلك معا
األنتقاالت هذه أحدى أختيار يجب المشكلة هذه لحلالنظام سيعطي األمر األخر األنتقال على أولوية وأعطائه
التصرف في وضوح
(13الشكل )
الحالة مخططات في لها نتعرض قد التي السابقة المشكلة وصف بعدهو نطرحه أن يمكن الذي السؤال األنتقاالت ألحد األولوية بتحديد وذلك
السلمية اللغة في برمجية المشكلة تلك ستحل LADDER LOGICكيفالشكل في السابق المثال على ذلك تطبيق كيفية على األن 13سنتعرف
لألنتقال األولوية بتحديد من cوذلك النظام سينتقل حصل أن ألى STBالذيSTC حصل لكي Aمع Cوان برمجته وهو عليه برمجته ماتم النظام سيطبق
األنتقال PRIORITIZATIONاألولوية Cيأخذ
ال تطبيق أن الفقرة LADDER LOGICمالحظة في شرح كما سيكونالسابقة .
STB L FIRST SCAN
STA U
STC U
STB
STCSTA
A
مسح بدايةالبرنامج
MCR STA
STA U B
STB
L
MCR
MCRSTB
STBUc
STC L
C
STB UA
STA L
كانت: اذا عندئذ CوAمالحظة بعضها مع .Cفعالة أن أولوية سيأخذمعا . فعالين أنتقالين يكون عندما هما أمر أولوية أعطاء
التي البرنامج كتلةمن بانتقال تتحكم
ألى STAالحالة STB بوجود
Bالشرط
التي المنطقية الكتلةتتحكم
الحالة STBبانتقالحدوث ألى Cبشرط
STCالحالة
األولوية تحديدAو Cبين
MCR
MCR STC
STC
U D
STB L
MCR
) الحاالت ) برمجة في والمستخدم المنطقية الكتل المتبع األسلوب أنألى للمصمم LADDER REPRESENTوتحويلها خاصة معرفة أي يتطلب ال
يمكن األخير والبرنامج الحالة مخطط من مباشرة يكتب أن يمكن والبرنامجوأقل كبيرة هي الطريق بهذه المكتوبة البرامج هذه أن ولكن يعدل أن
فعالية .
الحالة :SATE EQUATIONSمعادالت
الجبر بالشكل معادلة ألى حول أن يمكن الحالة مخطط أن ) السلمية ) البرمجة ألى يحول ثم ومن البولينى المنطقي
LADDER LOGIC كطريقة يستخدم أن يمكن األسلوب هذا أنعند شرحه تم الذي السابق األسلوب عن مختلفة للبرمجة
. المرور أشارات
ال برنامج كتلةLADDER التي
بالنتقال تتحكمالحالة من النظام
STC الحالة ألىSTB بشرط
Dحدوث
المعادلة في مبين كما رئيسية أجزاء ثالث من تتألف الحالة معادالتالتالية:
INFORMAL:State X = (State X + just arrived from another state) and has not left for another state
( الرئيسة األجزاء الثالث كانت لشرح أذا فعالة ستكون الحالةفعالة قبل األنتقال –من شرط أذا فعالة ستصبح أوالحالة
أخرى حالة من تحقق قد غير –أليها ستصبح الحالة أن ولكنغير النظام في أخرى حالة ألى األنتقال تم حال في فعالة
.) المدروسة الحالة. بها خاصة معادلة لها الحاالت مخطط من حالة كل
Formally:
حيث:
يكون عندما القيمة يأخذ متغير حالة stateiهو on= stateiفي
الحالة ألى األنتقاالت statei =nعدد
الحالة خارج األنتقاالت statei=mعدد
الحالة من لألنتقال المنطقي الحالة statejالشرط statei =Tjiألى
الحالة خارج لألنتقال المنطقي statei=Tikالشرط
الشكل ) ذو المخطط على الحالة معادالت تطبيق يمكن (13األنالحالة ألى األولوية أدخال الحالة Aمع بمعادلة وذلك
FS)) FIRST SCAN
الحالة في STAفي باألصل تكون عندما تحصل أو STAسوففي كان النظام تحدث Aوالشرط STBأن ولن حدث قد
في النظام يكون الشرط STAعندما بحدوث منه .Bوخرج
STA = STA + STB ASTA B
الحالةSTB في باألصل تكون عندما ان STBستحصل أوالحاالة في كان الشرطين STCأو STAالنظام BوDوتحقق
في النظام يكون عندما يحدث بخدوث STBولن عنه وخرجC أوA
STB = STB + STA B + STC DSTB A STB C + FS
الحالة الحالة STCأما شرح نفس تم STAشرحها ولكنحدوث عند لفعاليتها األنتقال Aافقادها كسب تم Aوبذلك
الحالة معادالت داخل أولويةSTC = STC + STB C ASTC D .
الحالة معادالت عن تعبر والتي السابقة الثالث المعادالت منال بلغة المطلوب برنامج لكتابة ننطلق الثالث .LADDERللحاالت
STB
STCSTA
A
THE END
معادلة تمثيلالحالة
STAللحالة
معادلة تمثيلالحالة
STBللحالة
معادلة تمثيلالحالة
مع STCللحالة الذي المنطق
األولوية Aيعطي للتطبيق.