You are on page 1of 105

P.L.C.

Training Course
"Master-K Family"
V2.0

‫إعداد‬

‫ أمجد ســنوبر‬.‫م‬
https://www.electrobrahim.com

https://www.facebook.com/AB.Electromecanique
‫فهرس الموضوعات‬

‫الفصل األول ‪ :‬مدخل إلى المتحكم المنطقي القابل للبرمجة‬

‫تعريف الـ ‪06 ............................ ................................ ................................ PLC‬‬


‫بنية منظومة الـ ‪06 ..................... ................................ ................................ PLC‬‬
‫مفهوم دورة المسح ‪08 ..................... ................................ ................................‬‬
‫طرق توصيل المداخل ‪09 .................... ................................ ................................‬‬
‫طرق توصيل المخارج ‪11 .................... ................................ ................................‬‬
‫تصنيف أجهزة المتحكمات المنطقية ‪12 ................................. ................................‬‬

‫الفصل الثاني ‪ :‬المتحكمات المنطقية من شركة ‪LSIS‬‬

‫المواصفات العامة للعائلة ‪15 ................................ ................................ Master-K‬‬


‫المخطط الصندوقي للمعالج ‪15 .............................. ................................ MK120s‬‬
‫وصف أجزاء المعالج ‪16 .......... ................................ ................................ MK120s‬‬
‫المميزات األساسية للمعالج ‪17 ......... ................................ ................................‬‬
‫أشكال المعالجات ‪18 ............ ................................ ................................ MK120s‬‬
‫أشكال المعالجات ‪19 .............. ................................ ................................ MK80s‬‬

‫الفصل الثالث ‪ :‬أساسيات في النظم المنطقية و البرمجة‬

‫أنظمة العد ‪22 ................................. ................................ ................................‬‬


‫أهمية النظام الثنائي في نظم المعلومات ‪23 ........................ ................................‬‬
‫أنواع حجوم البيانات ‪24 ...................... ................................ ................................‬‬
‫شفرات البيانات الرقمية و المحرفية ‪25 ................................. ................................‬‬
‫العمليات المنطقية األساسية ‪26 ......... ................................ ................................‬‬
‫مخطط الذاكرة للمعالج ‪27 ..................................... ................................ MK120s‬‬
‫مخطط الذاكرة للمعالج ‪28 ....... ................................ ................................ MK80s‬‬
‫آلية عنونة نقاط الدخل‪/‬الخرج في المعالجات المدمجة ‪28 ......... ................................‬‬
‫البرمجة بلغة ‪29 ................... ................................ ................................ Ladder‬‬

‫‪102 / 2‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫فهرس الموضوعات‬

‫الفصل الرابع ‪ :‬العمل على برنامج ‪KGL-Win‬‬

‫وصف الواجهة الرئيسية ‪32 ................. ................................ ................................‬‬


‫بدء برنامج جديد ‪33 ......................... ................................ ................................‬‬
‫إدخال التعليمات ‪34 ......................... ................................ ................................‬‬
‫تعديل بارامترات المتحكم ‪36 .............. ................................ ................................‬‬
‫تحميل البرنامج إلى المتحكم ‪37 ........ ................................ ................................‬‬
‫توثيق البرنامج و تنقيحه من األخطاء ‪38 ................................ ................................‬‬

‫الفصل الخامس ‪ :‬التعليمات البرمجية للمعالجات ‪Master-K‬‬

‫التعليمات األساسية ‪41 ..................... ................................ ................................‬‬


‫تعليمات المقارنة ‪43 ........................ ................................ ................................‬‬
‫العدادات و المؤقتات ‪44 ...................... ................................ ................................‬‬
‫التعليمات الحسابية ‪49 ..................... ................................ ................................‬‬
‫التعليمات المنطقية ‪51 ..................... ................................ ................................‬‬
‫اإلزاحة و الدوران ‪54 .......................... ................................ ................................‬‬
‫تعليمات نقل البيانات ‪58 .................... ................................ ................................‬‬
‫تعليمات التحكم بتدفق البرنامج ‪60 ..................................... ................................‬‬
‫تعليمات النظام ‪62 ............................ ................................ ................................‬‬

‫الفصل السادس ‪ :‬العدادات عالية السرعة ‪H.S.C.‬‬

‫مفهوم العداد عالي السرعة ‪65 ........... ................................ ................................‬‬


‫أنماط العد ‪65 ................................. ................................ ................................‬‬
‫برمجة ‪ HSC‬في المعالج ‪66 .................................... ................................ MK80s‬‬
‫برمجة ‪ HSC‬في المعالج ‪69 ................................... ................................ MK120s‬‬

‫‪102 / 3‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫فهرس الموضوعات‬

‫الفصل السابع ‪ :‬التعامل مع وحدات التوسعة‬

‫وحدات التوسعة التشابهية ‪73 ........... ................................ ................................‬‬


‫وحدة التوسعة الحرارية ‪77 ................ ................................ ................................‬‬
‫ساعة الزمن الحقيقي ‪79 ................. ................................ ................................‬‬

‫الفصل الثامن ‪ :‬مشاريع عملية‬

‫‪ :1‬السير الناقل اآللي ‪83 ..................................... ................................‬‬ ‫المشروع‬


‫‪ :2‬عربة النفخ ‪84 ............... ................................ ................................‬‬ ‫المشروع‬
‫‪ :3‬عربة التعبئة و التفريغ ‪85 ................................. ................................‬‬ ‫المشروع‬
‫‪ :4‬إقالع نجمي ‪ -‬مثلثي ‪86 .................................. ................................‬‬ ‫المشروع‬
‫‪ :5‬تعبئة صهريج ماء ‪87 ........ ................................ ................................‬‬ ‫المشروع‬
‫‪ :6‬عداد إنتاج مزود بفاحص وزن ‪88 ......................... ................................‬‬ ‫المشروع‬
‫‪ :7‬تنظيم حرارة فرن ‪89 ....... ................................ ................................‬‬ ‫المشروع‬
‫‪ :8‬حساب قيمة الـ ‪ RPM‬لمحرك ‪90 ........................ ................................‬‬ ‫المشروع‬
‫‪ :9‬تنظيم سرعة مروحة تكييف مركزي ‪91 ................ ................................‬‬ ‫المشروع‬
‫‪ :10‬النظام اليدوي لمحطة ضخ ‪92 ......................... ................................‬‬ ‫المشروع‬

‫الملحق‬

‫مواصفات المعالج ‪94 ............. ................................ ................................ MK120s‬‬


‫مواصفات المعالج )‪96 ........ ................................ ................................ MK120s(E‬‬
‫مواصفات المعالج ‪97 .............. ................................ ................................ MK80s‬‬
‫وحدات التوسعة للمتحكمات من النوع ‪98 ................ ................................ Compact‬‬
‫وحدة التوسعة الحرارية ‪99 ................ ................................ ................................‬‬
‫وحدات التوسعة التشابهية ‪100 ......... ................................ ................................‬‬
‫أهم خاليا الذاكرة الخاصة "‪102 ....... ................................ ................................ "F‬‬

‫‪102 / 4‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫الفصل األول‬
‫مدخل إلى المتحكم المنطقي القابل للبرمجة‬

‫‪102 / 5‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫تعريف الـ ‪: P.L.C.‬‬

‫إن مصطلح الـ ‪ PLC‬هو نحت من الكلمات ‪ Programmable Logic Controller‬أي المتحكم المنطقي‬
‫القابل للبرمجة ‪.‬‬

‫و هو عبارة عن حاسب مخصص لألغراض الصناعية يستخدم للتحكم باآلالت بهدف أتمتة عملها‪ ،‬حيث‬
‫يستخدم ذاكرة قابلة للبرمجة لتخزين تعليمات باإلضافة إلى وظائف خاصة تتضمن التحكم ‪، On/Off‬‬
‫مؤقتات‪ ،‬عدادات‪ ،‬العمليات الحسابية‪ ،‬و معالجة البيانات ‪.‬‬

‫لقد نشأت الحاجة إلى وجود الـ ‪ PLC‬بسبب ضرورة ‪:‬‬

‫تسهيل عملية تعديل مداخل و مخارج النظام ‪.‬‬ ‫‪.1‬‬


‫تسهيل عملية تعديل سلوك النظام من خالل تعديل البرنامج ‪.‬‬ ‫‪.2‬‬
‫توفير في الكلفة ناجم عن حلول المعالج مكان عدد كبير من الريليهات ‪.‬‬ ‫‪.3‬‬
‫توفير الوقت المستهلك عند توصيل عدد كبير من األسالك لنظام التحكم التقليدي بالريليهات ‪.‬‬ ‫‪.4‬‬

‫يتمتع الـ ‪ PLC‬بالمميزات التالية ‪:‬‬

‫مرونة عالية ‪.‬‬ ‫‪.1‬‬


‫زمن استجابة سريع ‪.‬‬ ‫‪.2‬‬
‫قادر على أتمتة أنظمة معقدة ‪.‬‬ ‫‪.3‬‬
‫إمكانية إجراء عمليات التحديث و الصيانة عن بعد ‪.‬‬ ‫‪.4‬‬
‫سهولة تشخيص حالة النظام من خالل مراقبة جميع بارامتراته ‪.‬‬ ‫‪.5‬‬
‫تسريع دورة التصنيع من خالل إعادة تحميل البرنامج على اآلالت المنتجة ‪.‬‬ ‫‪.6‬‬
‫يؤمن مجموعة من التعليمات المتقدمة التي توفر العناء على المبرمج و تقوم بوظائف يستحيل‬ ‫‪.7‬‬
‫على نظام التحكم التقليدي القيام بها ‪.‬‬

‫بنية منظومة الـ ‪: P.L.C.‬‬

‫تتكون بنية الـ ‪ PLC‬بشكل عام من ‪:‬‬

‫‪ .1‬وحدة التغذية ( ‪: ) Power Supply‬‬


‫حيث تؤمن الجهود الالزمة لعمل المعالج‪ ،‬قراءة إشارات الدخل‪ ،‬تفعيل المخارج ‪..‬‬
‫و يمكن أن يكون مصدر التغذية ‪ 220 Vac‬أو ‪. 24 Vdc‬‬

‫‪ .2‬وحدة المعالج المركزي ( ‪: ) Central Processing Unit‬‬


‫يؤمن تنفيذ عمل البرنامج المخزن في الذاكرة‪ ،‬و بعض الوظائف األخرى مثل معالجة طلبات‬
‫االتصال و التشخيص الذاتي لحالة النظام ‪.‬‬

‫‪ .3‬وحدة الذاكرة ( ‪: ) Memory Unit‬‬


‫و تنقسم إلى قسمين ‪...‬‬
‫‪ ‬ذاكرة البرنامج ( ‪ : ) Program Memory‬حيث تحتوي على برنامج المستثمر ‪.‬‬
‫‪ ‬ذاكرة المعطيات ( ‪ : ) Data Memory‬حيث تضم قيم متحوالت النظام التي قد تكون أزمنة‬
‫معينة أو قيم مرجعية كدرجة حرارة مطلوبة‪،‬كما تلعب دوراً في العمليات الحسابية ‪.‬‬

‫‪102 / 6‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫‪ .4‬وحدة المداخل ( ‪: ) INPUTs Block‬‬
‫تمثل منفذ لجميع حساسات النظام من مفاتيح و أزرار تنقل أوامر المستخدم للمعالج‪ ،‬أو‬
‫حساسات تقرأ قيم فيزيائية للنظام المتحكم به كحساس حرارة‪ ،‬رطوبة‪ ،‬ضغط ‪...‬‬

‫أي أن المداخل على نوعين ‪:‬‬


‫‪ .1‬مداخل رقمية‪ :‬مفاتيح‪ ،‬إشارة من تماس مساعد ألحد الكونتاكتورات ‪...‬‬
‫‪ .2‬مداخل تشابهية‪ :‬إشارة جهد ‪ 0~10 volt‬تعبر عن سرعة ( تاكوميتر ) ‪...‬‬

‫‪ .5‬وحدة المخارج ( ‪: ) OUTPUTs Block‬‬


‫تمثل أداة تنفيذ األوامر التي يعطيها المعالج كي تعمل المنظومة المراد التحكم بها بالشكل الذي‬
‫يحقق رغبة المستخدم و ذلك وفقاً للبرنامج المخزن و نتائج معالجته ‪.‬‬

‫يمكن أيضاً –كما هو الحال لدى المداخل‪ -‬أن تكون المخارج رقمية أو تشابهية ‪.‬‬
‫و عاد ًة ما تكون المخارج الرقمية أحد ثالثة أنواع ‪:‬‬
‫‪ ‬ريليه ‪ : Relay‬يمثل الخيار قياسي في معظم التطبيقات ‪.‬‬
‫‪ ‬ترانزستور ‪ : Transistor‬يستخدم للتطبيقات التي تحتاج إلى سرعة تغيير حالة الخرج ‪.‬‬
‫‪ ‬ريليه الحالة الصلبة ‪ : Solid State Relay‬يجمع بين مزايا الريليه و الترانزستور ‪.‬‬

‫و الشكل التالي يبين األجزاء الرئيسية لنظام الـ ‪: PLC‬‬

‫إن كال ً من المداخل و المخارج معزولين عزال ً كهربائياً عن المعالج بواسطة العوازل الضوئية ألن المعالج‬
‫يعمل على جهد مستمر صغير من رتبة الـ ‪ 5 Vdc‬و ال يستطيع التعامل مباشر ًة مع إشارة المداخل التي‬
‫قد تكون ‪ 24 Vdc‬أو حتى إشارة جهد متناوب ‪ ، AC‬و أيضاً تكون المخارج معزولة عن المعالج حتى ال‬
‫تؤدي مشاكل في األحمال التي يقودها المعالج إلى مرور قيم عالية للتيار قد تؤدي إلى إتالف وحدة‬
‫المعالج و بالتالي إلى تلف جهاز الـ ‪ PLC‬بالكامل ‪.‬‬

‫‪102 / 7‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫مفهوم دورة المسح ‪:‬‬

‫حالما يتم وضع المتحكم في نمط العمل‬


‫( ‪ ) Run‬يبدأ نظام التشغيل الخاص به‬
‫بتنفيذ سلسلة متكررة تدعى دورة المسح‬
‫( ‪ ) Scan Cycle‬تتكون من خمسة مهام‬
‫وفق الترتيب التالي ‪:‬‬

‫قراءة المداخل ‪.‬‬ ‫‪.1‬‬


‫تنفيذ البرنامج ‪.‬‬ ‫‪.2‬‬
‫معالجة طلبات االتصال ‪.‬‬ ‫‪.3‬‬
‫إجراء الفحص الذاتي ‪.‬‬ ‫‪.4‬‬
‫تحديث المخارج ‪.‬‬ ‫‪.5‬‬

‫أوال ً – قراءة المداخل ‪:‬‬


‫يعمل المعالج على قراءة الحالة الكهربائية‬
‫للمداخل بنوعيها الرقمي و التشابهي‪ ،‬ثم‬
‫يقوم بتكميم قيمتها و يحفظها في الذاكرة ‪.‬‬

‫عندما يحتاج البرنامج لمعرفة حالة الدخل‪ ،‬يقوم باسترجاع حالته كما تم تخزينها في الذاكرة و ال يقوم‬
‫بفحص القيمة الحقيقية للمدخل لحظة تنفيذ البرنامج ‪.‬‬

‫ثانياً – تنفيذ البرنامج ‪:‬‬


‫يعمل المعالج على تنفيذ البرنامج المخزن بتحميل تعليمات البرنامج من الذاكرة و تنفيذها بشكل‬
‫متسلسل حتى الوصول إلى نهاية البرنامج المحددة بتعليمة ‪. END‬‬

‫ثالثاً – معالجة طلبات االتصال ‪:‬‬


‫يقوم المعالج بتنفيذ طلبات االتصال سوا ًء أكانت طلب قراءة من الذاكرة أو كتابة عليها التي تصله من‬
‫التجهيزات المحيطية المتصلة مع المعالج عبر شبكات االتصال المختلفة‪ ،‬أو أن يعمل على إرسال بيانات‬
‫وفق البرنامج المخزن إلى تجهيزات أخرى مرتبطة معه ‪.‬‬

‫رابعاً – إجراء الفحص الذاتي ‪:‬‬


‫قبل أن يصدر المعالج أي أمر خارجي ( تحديث حالة المخارج ) يجب أن يتأكد من سالمته و سالمة‬
‫الوحدات المتصلة معه و خلوها من أي مشاكل ‪.‬‬

‫خامساً – تحديث المخارج ‪:‬‬


‫بعد أن قام المعالج بتنفيذ البرنامج و معالجة طلبات االتصال‪ ،‬أصبحت نتائج هذه المعالجة جاهزة ليتم‬
‫إرسالها للمخارج الرقمية و التشابهية بشكل آمن لتأدية العمل كما هو مخطط له ‪.‬‬

‫‪102 / 8‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫توصيل المداخل ‪:‬‬

‫أوال ً – الدخل من النوع ‪: AC‬‬

‫في حال كون المداخل من النوع الذي‬


‫يتعامل مع إشارة تيار متناوب ‪ AC‬يتم وصل‬
‫النقطة المشتركة للمداخل ‪ COM‬مع خط‬
‫الحيادي الخاص بالدخل ‪.‬‬

‫أما المداخل فتتصل مع خط الطور الخاص‬


‫بالدخل ‪. Hot Phase‬‬

‫ثانياً – الدخل من النوع ‪: DC‬‬

‫في حال كون المداخل من النوع الذي‬


‫يتعامل مع إشارة تيار مستمر ‪ DC‬لدينا‬
‫شكلين مختلفين من التوصيل وذلك بحسب‬
‫نوع المدخل كما تحدده الشركة المصنعة‪.‬‬

‫حالة المنبع ( ‪: ) Sourcing‬‬ ‫‪‬‬

‫يتم وصل النقطة المشتركة للمداخل مع خط‬


‫القطب الموجب الخاص بالتغذية ‪.‬‬

‫أما المداخل فتتصل مع خط القطب السالب‬


‫الخاص بالتغذية ‪.‬‬

‫‪102 / 9‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫حالة المصرف ( ‪: ) Sinking‬‬ ‫‪‬‬

‫يتم وصل النقطة المشتركة للمداخل مع‬


‫خط القطب السالب الخاص بالتغذية ‪.‬‬

‫أما المداخل فتتصل مع خط القطب الموجب‬


‫الخاص بالتغذية ‪.‬‬

‫مالحظة ‪:‬‬
‫قد تكون هناك مداخل ذات بنية كهربائية داخلية تسمح بكال النوعين من التوصيل ‪.‬‬

‫‪102 / 10‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫توصيل المخارج ‪:‬‬

‫أوال ً – المخارج ترانزستورية ‪:‬‬


‫في هذه الحالة يكون الحمل من نوع ‪ DC‬حصراً ‪.‬‬

‫حالة المنبع ( ‪: ) Sourcing‬‬ ‫‪‬‬

‫يتم وصل النقطة المشتركة للمخارج مع‬


‫خط القطب الموجب الخاص بالتغذية ‪.‬‬

‫أما المخارج فتتصل مع خط القطب السالب‬


‫الخاص بالتغذية ‪.‬‬

‫حالة المصرف ( ‪: ) Sinking‬‬ ‫‪‬‬

‫يتم وصل النقطة المشتركة للمخارج مع‬


‫خط القطب السالب الخاص بالتغذية ‪.‬‬

‫أما المخارج فتتصل مع خط القطب الموجب‬


‫الخاص بالتغذية ‪.‬‬

‫‪102 / 11‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫ثانياً – المخارج من النوع ‪: SSR‬‬
‫في هذه الحالة يمكن أن يكون الحمل‬
‫من النوع ‪ DC‬أو من النوع ‪. AC‬‬

‫السبب في ذلك أن العنصر اإللكتروني‬


‫"الترياك" الذي يمثل مفتاح يعمل على‬
‫وصل‪ /‬فصل الحمل يمكن أن يمرر التيار‬
‫في كال االتجاهين ‪.‬‬

‫ثالثاً – المخارج من النوع ‪: Relay‬‬


‫أيضاً في هذه الحالة يمكن أن يكون الحمل من النوع ‪ DC‬أو من النوع ‪ .. AC‬و ذلك ألن تماس الريليه‬
‫يمكن أن يمرر التيار في كال االتجاهين ‪.‬‬

‫تصنيف أجهزة المتحكمات المنطقية ‪:‬‬

‫يمكن أن نقوم بتصنيف المتحكمات المنطقية إلى صنفين أساسيين ‪:‬‬

‫‪ .1‬المتحكمات المدمجة ( ‪: ) Compact PLC‬‬


‫و فيها تكون أجزاء منظومة المتحكم‪ :‬وحدة التغذية‪ ،‬المعالج‪ ،‬و المداخل‪/‬المخارج ضمن كيان واحد‬
‫وال يمكن الفصل بينهم ‪ ..‬و عاد ًة ما يكون رخيص الثمن و يستخدم في المشاريع الصغيرة ‪.‬‬

‫‪ .2‬المتحكمات القابلة للتخصيص ( ‪: ) Modular PLC‬‬


‫و فيها تكون أجزاء منظومة المتحكم‪ :‬وحدة التغذية‪ ،‬المعالج‪ ،‬و المداخل‪/‬المخارج على شكل‬
‫بطاقات تثبت على قاعدة تدعى ‪ Rack‬تحوي فتحات ‪ Slots‬يتصل كل منها مع بطاقة تؤدي مهمة‬
‫معينة كأن تكون بطاقة معالج أو بطاقة مداخل ‪ ...‬و عاد ًة ما يستخدم في المشاريع المتوسطة‬
‫والكبيرة ‪.‬‬

‫يمتاز هذا النوع بالمرونة العالية في تعديل و توسيع منظومة التحكم ودعمه لطيف واسع من‬
‫شبكات االتصال التي يمكن أن تستثمر من قبل المعالج بشكل متزامن ‪.‬‬

‫‪102 / 12‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫مالحظات و أفكار‬
‫(هذه الصفحة مخصصة إلضافة مالحظات و أفكار القارئ عن كل فصل)‬

‫‪102 / 13‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫الفصل الثاني‬
‫المتحكمات المنطقية من شركة‬

‫‪102 / 14‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫المواصفات العامة للعائلة ‪: Master-K‬‬

‫لقد أنتجت شركة ‪ LSIS‬العديد من المتحكمات التي تنتمي لعائلة ‪ Master-K‬و من أهمها ‪:‬‬

‫‪ : MK200s .1‬و هو من النوع ‪ Modular PLC‬يتمتع بمواصفات متقدمة تؤهله للعمل في المشاريع‬
‫المتوسطة و الكبيرة ‪.‬‬

‫‪ : MK120s .2‬و هو من النوع ‪ Compact PLC‬ذو مواصفات عالية و عاد ًة ما يستخدم في المشاريع‬
‫الصغيرة و المتوسطة ‪.‬‬

‫‪ : MK80s .3‬له نفس مواصفات ‪ MK120s‬بشكل عام لكنهما يختلفان ببعض القدرات البرمجية و‬
‫المكونات الصلبة فمثال ً ذاكرة البرنامج للمعالج ‪ MK80s‬أقل من ذاكرة ‪ .. MK120s‬و عاد ًة ما‬
‫يستخدم في المشاريع الصغيرة فقط ‪.‬‬

‫عموماً‪ ،‬تملك العائلة ‪ Master-K‬المميزات التالية ‪:‬‬


‫‪ ‬توسعات دخل رقمية ‪ ، DC‬و توسعات خرج رقمية يمكن أن تكون ريليه أو ترانزستور ‪.‬‬

‫توسعات دخل‪ /‬خرج تشابهية للتعامل مع اإلشارات ( ‪. ) 0~10 V , 0~20 mA‬‬ ‫‪‬‬

‫توسعات ذات وظائف خاصة للتعامل مع تطبيقات مثل المالئمة مع حساسات الحرارة‪ ،‬قراءة‬ ‫‪‬‬
‫نبضات عالية السرعة (‪ )Encoder‬و مخارج نبضية عالية السرعة ألغراض التحكم بالموضع ‪.‬‬

‫توسعات تدعم شبكات االتصال المختلفة ( … ‪) RS232, RS485, Fnet, Dnet‬‬ ‫‪‬‬

‫المخطط الصندوقي للمعالج ‪: MK120s‬‬

‫يبين الشكل التالي المخطط الصندوقي للمتحكم ‪ MK120s‬مع توضيح آللية التوسع ‪.‬‬

‫‪102 / 15‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫تتصل وحدات التوسعة مع وحدة المعالجة الرئيسية ( ‪ ) Main Unit‬عن طريق كبل اتصال خاص يدعى‬
‫( ‪ .. ) System Bus‬و هذا المعالج يسمح بـ ‪ 3‬وحدات توسعات كحد أقصى‪ ،‬حيث يوضح الجدول التالي‬
‫االحتماالت الممكنة للتوسعات من أجل المعالج ‪: MK120s‬‬

‫مالحظات‬ ‫العدد األقصى‬ ‫نوع الوحدة‬


‫‪3‬‬ ‫وحدات رقمية‬
‫‪ 2‬كحد أقصى في المعالج االقتصادي‬ ‫‪3‬‬ ‫وحدات تشابهية‬
‫‪3‬‬ ‫وحدة المؤقت التشابهي‬
‫‪1‬‬ ‫وحدة اتصاالت‬

‫وصف أجزاء المعالج ‪: MK120s‬‬

‫يبين الشكل التالي وصفاً ألجزاء المتحكم الخارجي و التي هي‪:‬‬

‫‪ .1‬مؤشرات الحالة للمعالج ( ‪: ) CPU Status LEDs‬‬

‫هناك ثالثة مؤشرات و هي‪:‬‬

‫‪ : PWR LED‬مؤشر الطاقة‪ ،‬و يضئ في حال كون تغذية المعالج موجودة و طبيعية ‪.‬‬ ‫‪‬‬
‫‪ : Run LED‬مؤشر العمل‪ ،‬أي أن المعالج في يعمل نمط تنفيذ البرنامج ‪.‬‬ ‫‪‬‬
‫‪ : ERR LED‬مؤشر الخطأ‪ ،‬حيث يومض في حال اكتشاف وجود خطأ ما ‪.‬‬ ‫‪‬‬

‫‪102 / 16‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫‪ .2‬مؤشرات الدخل‪/‬الخرج ( ‪: ) I/O LEDs‬‬
‫تشير إلى حالة المداخل و المخارج إذا كانت في حالة تفعيل أم ال ‪.‬‬

‫‪ .3‬منفذ االتصال ( ‪: ) RS485‬‬


‫يستخدم لبناء شبكة تحكم تربط المعالج مع عدة أجهزة محيطية ‪.‬‬

‫‪ .4‬مفتاح نمط العمل ‪:‬‬


‫و له ثالثة مواضع تغير من نمط عمل المعالج و هي‪:‬‬
‫‪ : Run ‬لجعل المعالج في وضعية تنفيذ البرنامج ‪.‬‬
‫‪ : PAU / REM ‬إليقاف البرنامج بشكل مؤقت‪ ،‬و تمكين نمط التحكم عن بعد ‪.‬‬
‫‪ : Stop ‬لجعل المعالج يتوقف عن تنفيذ البرنامج ‪.‬‬

‫‪ .5‬مفتاحي الوظائف الخاصة ‪.‬‬

‫‪ .6‬منفذ االتصال ( ‪: ) RS232‬‬


‫يستخدم ألغراض البرمجة بواسطة الحاسب ‪.‬‬

‫‪ .7‬غطاء وصلة ممر التوسعة ‪.‬‬

‫‪ .8‬غطاء قسم الدخل‪/‬الخرج‬

‫‪ .9‬خطاف التعليق على سكة ‪. DIN‬‬

‫المميزات األساسية للمعالج ‪:‬‬

‫إن المميزات األساسية للمتحكم بشكل عام ترتبط بشكل عام بأداء المعالج و إمكاناته‪ ،‬و هذه المميزات‬
‫هي التي ستحدد اختيارنا لمتحكم معين دون آخر و ذلك بانتقاء المعالج الذي يحقق أعلى أداء ممكن‬
‫لتشغيل التطبيق المطروح و بنفس الوقت المحافظة على كلفة اقتصادية معقولة ‪.‬‬

‫و مما يميز المعالجات عن بعضها البعض ‪:‬‬

‫حجم ذاكرة البرنامج ‪.‬‬ ‫‪‬‬


‫حجم ذاكرة المعطيات ‪.‬‬ ‫‪‬‬
‫نوع التغذية التي يعمل عليها ‪.‬‬ ‫‪‬‬
‫سرعة المعالج في تنفيذ التعليمة ‪.‬‬ ‫‪‬‬
‫عدد المداخل ‪ /‬المخارج األعظمي الممكن التعامل معها ‪.‬‬ ‫‪‬‬
‫دعمه لشبكات اتصال معينة قد نحتاجها في تطبيق معين ‪.‬‬ ‫‪‬‬
‫دعمه لوظائف خاصة معينة مثل العدادات عالية السرعة‪ ،‬و دعم ‪... RTC‬‬ ‫‪‬‬

‫يجب على المبرمج دراسة التطبيق المراد بناؤه بدقة‪ ،‬مع األخذ بعين االعتبار النقاط المذكورة‪ ،‬و من ثم‬
‫اختيار المتحكم المناسب ‪.‬‬

‫‪102 / 17‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


: MK120s ‫أشكال المعالجات‬

... ‫ وفق عدد المداخل و المخارج‬MK120s ‫فيما يلي جدول يوضح األحجام المختلفة للمعالج‬

Model Inputs No. Outputs No. Input Type Output Type

K7M-DR20U 12 8 inputs(24VDC) Relay outputs

K7M-DR30U 18 12 inputs(24VDC) Relay outputs

K7M-DR40U 24 16 inputs(24VDC) Relay outputs

K7M-DR60U 36 24 inputs(24VDC) Relay outputs


4/0 Relay outputs
K7MDRT/DT20U 12 inputs(24VDC)
4/8 TR outputs
8/0 Relay outputs
K7MDRT/DT30U 18 inputs(24VDC)
4/12 TR outputs
12/0 Relay outputs
K7MDRT/DT40U 24 inputs(24VDC)
4/16 TR outputs
20/0 Relay outputs
K7MDRT/DT60U 36 inputs(24VDC)
4/24 TR outputs

... MK120s Economic ‫أما الجدول التالي فيوضح األحجام المختلفة للمعالج االقتصادي‬

Model Inputs No. Outputs No. Input Type Output Type

K7M-DR10UE 6 4 inputs(24VDC) Relay outputs

K7M-DR14UE 8 6 inputs(24VDC) Relay outputs

K7M-DR20UE 12 8 inputs(24VDC) Relay outputs

K7M-DR30UE 18 12 inputs(24VDC) Relay outputs

102 / 18 "Master-K" Training Course - ©2008


: MK80s ‫أشكال المعالجات‬

... ‫ وفق عدد المداخل و المخارج‬MK80s ‫فيما يلي جدول يوضح األحجام المختلفة للمعالج‬

Model Inputs No. Outputs No. Input Type Output Type


K7M-DR10S/DC Relay outputs
6 4 inputs(24VDC)
K7M-DT10S TR outputs
K7M-DR20S/DC Relay outputs
12 8 inputs(24VDC)
K7M-DT20S TR outputs
K7M-DR30S/DC Relay outputs
18 12 inputs(24VDC)
K7M-DT30S TR outputs
K7M-DR40S/DC Relay outputs
24 16 inputs(24VDC)
K7M-DT40S TR outputs
K7M-DR60S/DC Relay outputs
36 24 inputs(24VDC)
K7M-DT60S TR outputs

102 / 19 "Master-K" Training Course - ©2008


‫مالحظات و أفكار‬
‫(هذه الصفحة مخصصة إلضافة مالحظات و أفكار القارئ عن كل فصل)‬

‫‪102 / 20‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫الفصل الثالث‬
‫أساسيات في النظم المنطقية و البرمجة‬

‫‪102 / 21‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫أنظمة العد ‪:‬‬

‫هناك أربع أنظمة عد مستخدمة في برمجة المتحكمات المنطقية ‪ ..‬و يوضح الجدول التالي طريقة‬
‫تسلسل العد في كل منها ‪:‬‬

‫النظام الثنائي‬ ‫النظام الثماني‬ ‫النظام الست عشري‬ ‫النظام العشري‬


‫‪Binary‬‬ ‫‪Octal‬‬ ‫‪Hexa Decimal‬‬ ‫‪Decimal‬‬
‫‪00000‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬
‫‪00001‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬
‫‪00010‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪2‬‬
‫‪00011‬‬ ‫‪3‬‬ ‫‪3‬‬ ‫‪3‬‬
‫‪00100‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬
‫‪00101‬‬ ‫‪5‬‬ ‫‪5‬‬ ‫‪5‬‬
‫‪00110‬‬ ‫‪6‬‬ ‫‪6‬‬ ‫‪6‬‬
‫‪00111‬‬ ‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬
‫‪01000‬‬ ‫‪10‬‬ ‫‪8‬‬ ‫‪8‬‬
‫‪01001‬‬ ‫‪11‬‬ ‫‪9‬‬ ‫‪9‬‬
‫‪01010‬‬ ‫‪12‬‬ ‫‪A‬‬ ‫‪10‬‬
‫‪01011‬‬ ‫‪13‬‬ ‫‪B‬‬ ‫‪11‬‬
‫‪01100‬‬ ‫‪14‬‬ ‫‪C‬‬ ‫‪12‬‬
‫‪01101‬‬ ‫‪15‬‬ ‫‪D‬‬ ‫‪13‬‬
‫‪01110‬‬ ‫‪16‬‬ ‫‪E‬‬ ‫‪14‬‬
‫‪01111‬‬ ‫‪17‬‬ ‫‪F‬‬ ‫‪15‬‬
‫‪10000‬‬ ‫‪20‬‬ ‫‪10‬‬ ‫‪16‬‬

‫يعتمد النظام العشري مجال مكون من عشرة أعداد ( ‪. ) 0 ~ 9‬‬


‫يعتمد النظام الست العشري مجال مكون من ‪ 16‬عدد ( ‪. ) 0 ~ F‬‬
‫يعتمد النظام الثماني مجال مكون من ‪ 8‬أعداد ( ‪. ) 0 ~ 7‬‬
‫يعتمد النظام الثنائي مجال مكون من عددين ( ‪. ) 0 ~ 1‬‬
‫يسمى هذا المجال بأساس نظام العد ( ‪. ) B‬‬

‫للتحويل من أي نظام عد إلى النظام العشري نطبق صيغة المجموع التالية ‪:‬‬

‫‪∑𝑛=i‬‬
‫‪𝑛=0(D) × B‬‬
‫‪n‬‬
‫‪ = i‬عدد خانات العدد – ‪1‬‬ ‫حيث أن ‪:‬‬
‫‪ = D‬قيمة خانة العدد ( ‪) Digit Value‬‬
‫‪ = B‬أساس نظام العد ( ‪) Numeric System Base‬‬
‫‪ = n‬وزن الخانة ( ‪ 0‬من أجل الخانة األقل أهمية ‪ 1 ،‬للخانة التالية ‪. ) ...‬‬

‫‪102 / 22‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫بفرض أنه لدينا العدد ‪ ... ] 10F3 [16‬عندئذ لتحويله للنظام العشري نكتب ‪:‬‬

‫‪(3) x 160 + (F) x 161 + (0) x 162 + (1) x 163 = 4339‬‬

‫بفرض أنه لدينا العدد ‪ ... ] 100110 [2‬عندئذ لتحويله للنظام العشري نكتب ‪:‬‬

‫‪(1) x 21 + (1) x 22 + (1) x 25 = 2 + 4 + 32 = 38‬‬

‫أهمية النظام الثنائي في نظم المعلومات ‪:‬‬

‫يلعب النظام الثنائي دوراً كبيراً في األنظمة الرقمية التي تقوم بتخزين و معالجة البيانات‪ ..‬حيث يتسم‬
‫بسهولة تمثيله بواسطة العناصر اإللكترونية‪ ،‬و سهولة نقل المعطيات و إمكانية استردادها بالرغم من‬
‫تعرضها لعوامل الضجيج و التشويش ‪.‬‬

‫إن النظام الثنائي مبني على العددين ( ‪ ) 1‬و ( ‪ ) 0‬الذين يعبران عن حالتين منطقيتين ( ‪ ) True‬أو‬
‫( ‪ ) False‬و بالتالي هذا النظام مناسب للتعبير عن حالة المداخل و المخارج في منظومة التحكم فعلى‬
‫سبيل المثال يمكن التعبير عن حالة وجود إشارة من مفتاح على أنها الحالة ‪ 1‬أو ‪ ،On‬أو يمكن التعبير‬
‫عن حالة كون أحد مخارج المتحكم في حالة الفصل على أنها الحالة ‪ 0‬أو ‪. Off‬‬

‫و باجتماع عدة خانات من األعداد الثنائية يمكن لنا أن نشفر األرقام و نجري عليها العمليات الحسابية و‬
‫المنطقية كما يمكن تشفير األحرف األبجدية و الرموز ‪.‬‬

‫يمكن التعبير عن األرقام الموجبة و السالبة باستخدام الخانة األكثر أهمية ‪ MSB‬لمجموعة الخانات‬
‫المكونة للعدد‪ ..‬ففي حال كونها ذات قيمة "‪ "0‬فالعدد موجب‪ ،‬و إذا كانت ذات قيمة "‪ "1‬فالعدد سالب ‪.‬‬
‫و الجدول التالي يبين التشفير الموافق لتمثيل األعداد المؤشرة و غير المؤشرة ‪.‬‬

‫العدد الثنائي‬ ‫األعداد المؤشرة‬ ‫األعداد غير المؤشرة‬


‫‪0000‬‬ ‫‪0‬‬ ‫‪0‬‬
‫‪0001‬‬ ‫‪1‬‬ ‫‪1‬‬
‫‪0010‬‬ ‫‪2‬‬ ‫‪2‬‬
‫‪0011‬‬ ‫‪3‬‬ ‫‪3‬‬
‫‪0100‬‬ ‫‪4‬‬ ‫‪4‬‬
‫‪0101‬‬ ‫‪5‬‬ ‫‪5‬‬
‫‪0110‬‬ ‫‪6‬‬ ‫‪6‬‬
‫‪0111‬‬ ‫‪7‬‬ ‫‪7‬‬
‫‪1000‬‬ ‫‪-7‬‬ ‫‪8‬‬
‫‪1001‬‬ ‫‪-6‬‬ ‫‪9‬‬
‫‪1010‬‬ ‫‪-5‬‬ ‫‪10‬‬
‫‪1011‬‬ ‫‪-4‬‬ ‫‪11‬‬
‫‪1100‬‬ ‫‪-3‬‬ ‫‪12‬‬
‫‪1101‬‬ ‫‪-2‬‬ ‫‪13‬‬
‫‪1110‬‬ ‫‪-1‬‬ ‫‪14‬‬
‫‪1111‬‬ ‫‪15‬‬

‫‪102 / 23‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫أنواع حجوم البيانات ‪:‬‬

‫هناك خمسة وحدات تخزين أساسية في النظام الثنائي و التي تستخدم في برمجة المتحكمات‬
‫المنطقية و هي‪:‬‬

‫الـ ‪: Bit‬‬ ‫‪‬‬


‫أصغر وحدة تخزين و تكون قيمتها إما ‪ 0‬أو ‪. 1‬‬

‫الـ ‪: Nibble‬‬ ‫‪‬‬


‫وحدة مكونة من ‪ 4‬خانات ‪ ...‬و تمثل عدداً ضمن المجال ( ‪ ) 0 ~ 15‬أو ( ‪) 0 ~ F‬‬

‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬ ‫‪0‬‬


‫‪MSB‬‬ ‫‪LSB‬‬

‫الـ ‪: Byte‬‬ ‫‪‬‬


‫و حدة مكونة من ‪ 8‬خانات ‪ ...‬و تمثل عدداً ضمن المجال ( ‪ ) 0 ~ 255‬أو ( ‪) 0 ~ FF‬‬

‫‪7‬‬ ‫‪6‬‬ ‫‪5‬‬ ‫‪4‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬ ‫‪0‬‬


‫‪MSB‬‬ ‫‪LSB‬‬

‫الـ ‪: Word‬‬ ‫‪‬‬


‫ً‬
‫وحدة مكونة من ‪ 16‬خانة ‪ ...‬و تمثل عددا ضمن المجال ( ‪ ) 0 ~ 65535‬أو ( ‪) 0 ~ FFFF‬‬

‫‪F E‬‬ ‫‪D‬‬ ‫‪C‬‬ ‫‪B‬‬ ‫‪A‬‬ ‫‪9‬‬ ‫‪8‬‬ ‫‪7‬‬ ‫‪6‬‬ ‫‪5‬‬ ‫‪4‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬ ‫‪0‬‬
‫‪MSB‬‬ ‫‪LSB‬‬

‫الـ ‪: Double Word‬‬ ‫‪‬‬


‫وحدة مكونة من ‪ 32‬خانة ‪ ...‬و تمثل عدداً ضمن المجال ( ‪) 0 ~ 4,294,967,295‬‬

‫عاد ًة ما تكون ذاكرة المتحكمات مبنية بشكل أساسي على الـ ‪ Bit‬من أجل تمثيل المداخل و المخارج‪،‬‬
‫و الـ ‪ Word‬و الـ ‪ Double Word‬من أجل تمثيل األعداد و األحرف ‪ ...‬حيث تكون تعليمات المعالج مصممة‬
‫للولوج إلى هذه المناطق‪ ،‬بينما قد تكون بقية أنواع الوحدات مدعومة ببعض التعليمات بشكل غير مباشر‬
‫أو غير مدعومة على اإلطالق ‪.‬‬

‫‪102 / 24‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫شفرات البيانات الرقمية و المحرفية ‪:‬‬

‫أوال ً – شفرة الـ ‪: ASCII‬‬


‫ً‬
‫ال يستطيع المعالج التمييز بين األعداد و األحرف و الرموز ‪ ،‬بل ينظر إليها جميعا كقيم رقمية ‪ ..‬و قد تم‬
‫وضع مرجعية قياسية لتمييز المحارف عن بعضها بحيث يسند لكل محرف قيمة رقمية معينة و قد دعيت‬
‫هذه المرجعية باسم ‪. ) American Standard Code for Information Interchange ( ASCII‬‬
‫و الجدول التالي يعرض أمثلة عن هذه المرجعية‪:‬‬

‫القيمة الثنائية‬ ‫القيمة العشرية‬ ‫المحرف‬

‫‪1000001‬‬ ‫‪65‬‬ ‫‪A‬‬


‫‪1000010‬‬ ‫‪66‬‬ ‫‪B‬‬
‫‪1000011‬‬ ‫‪67‬‬ ‫‪C‬‬
‫‪.‬‬
‫‪.‬‬
‫‪1011010‬‬ ‫‪90‬‬ ‫‪Z‬‬
‫‪1100001‬‬ ‫‪97‬‬ ‫‪a‬‬
‫‪1100010‬‬ ‫‪98‬‬ ‫‪b‬‬
‫‪.‬‬
‫‪.‬‬
‫‪1111010‬‬ ‫‪122‬‬ ‫‪z‬‬
‫‪0011110‬‬ ‫‪48‬‬ ‫‪0‬‬
‫‪0011111‬‬ ‫‪49‬‬ ‫‪1‬‬
‫‪0100000‬‬ ‫‪50‬‬ ‫‪2‬‬
‫‪.‬‬
‫‪.‬‬
‫‪0100111‬‬ ‫‪57‬‬ ‫‪9‬‬
‫‪0010100‬‬ ‫‪20‬‬ ‫‪Space‬‬
‫‪0111111‬‬ ‫‪63‬‬ ‫?‬

‫ثانياً – شفرة الـ ‪: BCD‬‬


‫في هذا النمط من التشفير يتم التعبير عن كل خانة عشرية بعدد ثنائي مكون من أربع خانات ‪..‬‬
‫و اختصار ‪ ) Binary Coded Decimal ( BCD‬يعبر عن آلية هذا التشفير ‪.‬‬
‫و الجدول التالي يبين طريقة هذا التشفير ‪:‬‬

‫‪Decimal‬‬ ‫‪BCD‬‬ ‫‪Decimal‬‬ ‫‪BCD‬‬


‫‪0‬‬ ‫‪0000‬‬ ‫‪5‬‬ ‫‪0101‬‬
‫‪1‬‬ ‫‪0001‬‬ ‫‪6‬‬ ‫‪0110‬‬
‫‪2‬‬ ‫‪0010‬‬ ‫‪7‬‬ ‫‪0111‬‬
‫‪3‬‬ ‫‪0011‬‬ ‫‪8‬‬ ‫‪1000‬‬
‫‪4‬‬ ‫‪0100‬‬ ‫‪9‬‬ ‫‪1001‬‬
‫مثال‪:‬‬
‫] ‪[ 730‬‬ ‫‪Dec‬‬ ‫] ‪= [ 0111 0011 0000‬‬ ‫‪BCD‬‬

‫‪102 / 25‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫العمليات المنطقية األساسية ‪:‬‬

‫أوال ً – عملية ‪: AND‬‬

‫‪X‬‬ ‫‪Y‬‬ ‫‪X and Y‬‬ ‫يكون ناتج هذه العملية "‪ "1‬منطقي إذا كانت جميع دخول‬
‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫هذه العملية لها الحالة المنطقية "‪. "1‬‬
‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬
‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫أي أن خرج العملية "محقق" إذا كانت "جميع" مداخلها بدون‬
‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫استثناء محققة‪ ،‬و في حال كون أحدها غير محقق يصبح خرج‬
‫هذه العملية غير محقق ‪.‬‬

‫ثانياً – عملية ‪: OR‬‬

‫‪X‬‬ ‫‪Y‬‬ ‫‪X or Y‬‬ ‫يكون ناتج هذه العملية "‪ "1‬منطقي إذا كانت أحد دخول هذه‬
‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫العملية لها الحالة المنطقية "‪. "1‬‬
‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬
‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫أي أن خرج العملية "محقق" إذا كان "أحد" المداخل على‬
‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫األقل محقق‪ ،‬و في حال كون جميعها غير محقق يصبح خرج‬
‫هذه العملية غير محقق ‪.‬‬

‫ثالثاً – عملية ‪: XOR‬‬

‫‪X‬‬ ‫‪Y‬‬ ‫‪X xor Y‬‬ ‫يكون ناتج هذه العملية "‪ "1‬منطقي إذا كان دخليها غير‬
‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫متماثلين ‪.‬‬
‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬
‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫و لهذا السبب تدعى هذه العملية أيضاً بعملية عدم التماثل‬
‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫المنطقي ‪.‬‬

‫رابعاً – عملية ‪: NOT‬‬

‫‪X‬‬ ‫‪NOT X‬‬ ‫يكون ناتج هذه العملية معاكساً لدخلها ‪.‬‬
‫‪0‬‬ ‫‪1‬‬
‫‪1‬‬ ‫‪0‬‬ ‫أي أن خرج العملية هو "النفي" المنطقي لحالة دخلها ‪.‬‬

‫مالحظة‪:‬‬
‫العمليتين ‪ AND‬و ‪ OR‬يمكن أن يكون لهما أكثر من دخلين‪ ،‬بينما عملية ‪ XOR‬لها دخلين فقط ‪..‬‬
‫أما عملية ‪ NOT‬فلها دخل واحد حصراً ‪.‬‬

‫‪102 / 26‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫مخطط الذاكرة للمعالج ‪: MK120s‬‬

‫يبين الشكل التالي أقسام الذاكرة في المعالج ‪. MK120s‬‬

‫‪ : P‬خاصة بعنونة المداخل و المخارج ‪ ..‬حيث يتم التمييز بينهما وفقاً لمجال العنونة ‪.‬‬ ‫المنطقة‬ ‫‪‬‬
‫‪ : M‬خانات الذاكرة المساعدة لخزين حاالت برمجية معينة ‪.‬‬ ‫المنطقة‬ ‫‪‬‬
‫‪ : K‬خانات ذاكرة مساعدة لها نفس وظيفة ‪ M‬لكنها تحافظ على قيمها بانقطاع التغذية ‪.‬‬ ‫المنطقة‬ ‫‪‬‬
‫‪ : F‬خانات الوظائف الخاصة‪ ،‬منها للقراءة و منها للكتابة ‪.‬‬ ‫المنطقة‬ ‫‪‬‬
‫‪ : C‬خاصة بتعليمات العدادات‪ ،‬يمكن الوصول إليها كخانة أو كلمة ‪.‬‬ ‫المنطقة‬ ‫‪‬‬
‫‪ : T‬خاصة بتعليمات المؤقتات‪ ،‬يمكن الوصول إليها كخانة أو كلمة ‪.‬‬ ‫المنطقة‬ ‫‪‬‬
‫‪ : D‬منطقة البيانات يمكن الوصول إليها ككلمة فقط ‪.‬‬ ‫المنطقة‬ ‫‪‬‬
‫‪ : S‬خانات الذاكرة المستخدمة في البرمجة الخطوية ‪.‬‬ ‫المنطقة‬ ‫‪‬‬
‫‪ : L‬خاصة بتعليمات وظائف االتصال التسلسلي ‪.‬‬ ‫المنطقة‬ ‫‪‬‬

‫‪102 / 27‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫مخطط الذاكرة للمعالج ‪: MK80s‬‬

‫مخطط ذاكرة المعالج ‪ MK80s‬له نفس مخطط ذاكرة المعالج ‪ MK120s‬باستثناء منطقة المؤقتات ‪T‬‬
‫حيث ال يدعم المعالج ‪ 80s‬مؤقت ذو قاعدة زمنية ‪. 1 mSec‬‬

‫آلية عنونة المداخل‪/‬المخارج في المعالجات المدمجة ‪:‬‬

‫يوضح الجدول التالي طريقة حجز عناوين الذاكرة الخاصة بنقاط الدخل و الخرج في كل من المعالج و‬
‫التوسعات من أجل المتحكمات من النوع ‪: Compact PLC‬‬

‫مالحظات‬ ‫مجال الذاكرة‬ ‫دخل‪/‬خرج‬ ‫نوع الوحدة‬


‫نقطة‬ ‫‪64‬‬ ‫‪P000‬‬ ‫~‬ ‫‪P03F‬‬ ‫دخل‬
‫وحدة المعالج‬
‫نقطة‬ ‫‪64‬‬ ‫‪P040‬‬ ‫~‬ ‫‪P07F‬‬ ‫خرج‬
‫نقطة‬ ‫‪16‬‬ ‫‪P080‬‬ ‫~‬ ‫‪P08F‬‬ ‫دخل‬
‫التوسعة ‪1#‬‬
‫نقطة‬ ‫‪16‬‬ ‫‪P090‬‬ ‫~‬ ‫‪P09F‬‬ ‫خرج‬
‫نقطة‬ ‫‪16‬‬ ‫‪P100‬‬ ‫~‬ ‫‪P10F‬‬ ‫دخل‬
‫التوسعة ‪2#‬‬
‫نقطة‬ ‫‪16‬‬ ‫‪P110‬‬ ‫~‬ ‫‪P11F‬‬ ‫خرج‬
‫نقطة‬ ‫‪16‬‬ ‫‪P120‬‬ ‫~‬ ‫‪P12F‬‬ ‫دخل‬
‫التوسعة ‪3#‬‬
‫نقطة‬ ‫‪16‬‬ ‫‪P130‬‬ ‫~‬ ‫‪P13F‬‬ ‫خرج‬

‫‪102 / 28‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫البرمجة بلغة ‪: Ladder‬‬

‫باالعتماد على المبادئ األساسية للعمليات المنطقية‪ ،‬و مفهوم تماسات الكونتاكتور المساعدة‬
‫المستخدمة في عمليات التحكم التقليدي سابقاً‪ ،‬و طرق رسم المخططات الكهربائية تم وضع‬
‫أسس لغة البرمجة السلمية أو ما يدعى بلغة ‪. Ladder‬‬

‫أنه لدينا مضخة ( ‪ ) Pump‬نريد لها أن تعمل وفق الشروط التالية ‪:‬‬ ‫بفرض‬
‫ف للقيام بعملية الضخ ‪.‬‬
‫وجود مستوى ماء ( ‪ ) Water‬كا ٍ‬ ‫‪‬‬
‫مفتاح تشغيل المضخة ( ‪ ) SL_Pump‬في الوضعية "‪. "On‬‬ ‫‪‬‬
‫كباس الطوارئ ( ‪ ) EMG‬غير مضغوط ‪.‬‬ ‫‪‬‬

‫اآلن بافتراض الرموز التالية ‪:‬‬

‫تماس مفتوح ( ‪ : ) Opened Contact‬يقصر نقطتي التماس عند تغذيته ‪.‬‬

‫تماس مغلق ( ‪ : ) Closed Contact‬يقصر نقطتي التماس عند عدم تغذيته ‪.‬‬

‫وشيعة خرج ( ‪ : ) Output Coil‬تعبر عن خرج ما ‪ ..‬و في مثالنا‪ :‬محرك المضخة ‪.‬‬

‫بتطبيق هذه المفاهيم على المثال المطروح يمكن رسم المخطط السلمي التالي ‪:‬‬

‫فإذا وصلنا مداخل نظام التحكم للمثال السابق إلى المداخل ( ‪ ) P0, P1, P2‬على الترتيب‪ ،‬و قمنا‬
‫بتغذية محرك المضخة عبر المخرج ( ‪ ) P40‬عندئذ يمكن إعادة الرسم كما يلي‪:‬‬

‫بفرض أننا نريد إضافة "مدخل" جديد ( ‪ ) Test‬الختبار عمل المضخة بدون أية شروط ‪ ..‬عندئذ يصبح‬
‫البرنامج كما في الشكل أدناه ‪:‬‬

‫‪102 / 29‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫مالحظات و أفكار‬
‫(هذه الصفحة مخصصة إلضافة مالحظات و أفكار القارئ عن كل فصل)‬

‫‪102 / 30‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫الفصل الرابع‬
KGL-Win ‫العمل على برنامج‬

102 / 31 "Master-K" Training Course - ©2008


‫وصف الواجهة الرئيسية ‪:‬‬

‫يبين الشكل التالي شكل الواجهة الرئيسية لبرنامج ‪: KGL-Win‬‬

‫يمكن تقسيم هذه الواجهة إلى أربعة مناطق رئيسية و هي‪:‬‬

‫‪ : Project Window )1‬نافذة المشروع‪ ،‬و تستخدم للتنقل بين أربعة نوافذ هي‬

‫‪ : Program‬و هي نافذة كتابة و تحرير برنامج المتحكم ‪.‬‬ ‫‪)a‬‬


‫‪ : Parameter‬و هي نافذة تعديل بارامترات المتحكم التي تقوم بتفعيل وظائف خاصة ‪.‬‬ ‫‪)b‬‬
‫‪ : Variable/Comment‬و هي نافذة تعريف المتحوالت المستخدمة في البرنامج ‪.‬‬ ‫‪)c‬‬
‫‪ : Monitor‬و هي نافذة مراقبة خاليا الذاكرة عند وصل المتحكم مع الحاسب ‪.‬‬ ‫‪)d‬‬

‫‪ : Toolbars )2‬شريط األدوات الذي يحوي اختصارات ألهم األوامر المستخدمة ‪.‬‬

‫‪ : Program Area )3‬منطقة كتابة و تحرير البرنامج ‪.‬‬

‫‪ : Message Window )4‬نافذة الرسائل‪ ،‬و التي تظهر معلومات عند تنفيذ أوامر معينة أو تظهر رسائل‬
‫األخطاء عند حدوث خلل ما في البرنامج أو المتحكم ‪.‬‬

‫‪102 / 32‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫بدء برنامج جديد ‪:‬‬

‫) ‪ .‬فتظهر‪:‬‬ ‫لبدء مشروع جديد ننفذ األمر من القائمة ( ‪ ) Project \ New Project‬أو نضغط األيقونة (‬

‫نختار "مشروع فارغ" ( ‪ ) Blank Project‬و نضغط الزر "‪ "Ok‬فتظهر ‪:‬‬

‫نختار نوع المعالج من ضمن قائمة معالجات العائلة ‪ .. Master-K‬ثم نضغط زر "‪. "Ok‬‬

‫)‪.‬‬ ‫مالحظة‪ :‬لفتح برنامج موجود مسبقاً ننفذ األمر ( ‪ ) Project \ Open Project‬أو نضغط األيقونة (‬

‫‪102 / 33‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫إدخال التعليمات ‪:‬‬

‫يوضح الشكل التالي شريط األدوات المستخدم إلدخال التعليمات ‪...‬‬

‫لنحاول اآلن كتابة تعليمات البرنامج‬


‫الموضح في الشكل المجاور ‪:‬‬

‫أوال ً‪ -‬نضع مربع اإلدخال (المربع‬


‫األزرق) في بداية السطر األول من‬
‫)‬ ‫البرنامج و نضغط األيقونة (‬
‫إلضافة تماس مفتوح فتظهر النافذة‬
‫التالية ‪:‬‬

‫ندخل رمز الخلية في الحقل ‪ Device‬و هو‬


‫العنوان الذاكري للبت ‪. M0‬‬

‫ندخل اسماً نصياً يعبر عن دور هذه الخلية‬


‫في عمل البرنامج و ذلك في حقل اإلدخال‬
‫‪. Variable‬‬

‫كما يمكن كتابة تعليق مفصل عن دور هذه‬


‫الخلية في حقل اإلدخال ‪. Comment‬‬

‫إلغالق النافذة نضغط الزر "‪. "OK‬‬

‫) فتظهر‬ ‫ثانياً‪ -‬نضغط "‪ "F9‬أو األيقونة (‬


‫نافذة إدخال الخرج المباشر‪ ،‬فتظهر نافذة‬
‫مشابهة للنافذة المجاورة ‪ ..‬نكتب العنوان‬
‫‪ P40‬في الحقل ‪ Device‬و نضغط "‪. "OK‬‬

‫‪102 / 34‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫)‬ ‫ثالثاً‪ -‬ننقل مربع اإلدخال إلى الموقع الذي يلي التماس "‪ "M0‬مباشر ًة ‪ ،‬و نضغط "‪ "F6‬أو األيقونة (‬
‫لنقوم برسم خط شاقولي كي ندخل التعليمة في السطر الثاني ‪.‬‬

‫) فيظهر مربع إدخال التعليمات المبين في الشكل أدناه ‪:‬‬ ‫رابعاً‪ -‬نضغط "‪ "F10‬أو األيقونة (‬

‫ندخل التعليمة في حقل اإلدخال الموجود في أعلى النافذة و في حالتنا نكتب‪SET K0007 :‬‬

‫نالحظ أنه يمكن الحصول على معلومات عن بارامترات التعليمة أسفل النافذة و ذلك في الحقل‬
‫‪ .. Valid Devices‬نضغط زر "‪ "OK‬إلغالق النافذة ‪.‬‬

‫خامساً‪ -‬ننتقل بمربع اإلدخال إلى السطر التالي و نضغط زر "‪ "F10‬إلدخال تعليمة "‪ "END‬إلنهاء‬
‫البرنامج ثم نضغط زر "‪. "OK‬‬

‫‪102 / 35‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫تعديل بارامترات المتحكم ‪:‬‬

‫ننقر الرمز "‪ "Parameter‬في نافذة البرنامج "‪ "Project Window‬فتظهر النافذة التالية ‪:‬‬

‫تمكننا هذه النافذة من ضبط العديد من إعدادات المتحكم التي تغير من سلوك المتحكم أو تقوم بتفعيل‬
‫وظائف معينة بأنماط عمل معينة ‪ ...‬و فيما يلي وصف لصفحات البارامترات ‪:‬‬

‫‪ : Basic .1‬البارامترات األساسية‪ ،‬حيث تمكننا من تحديد مناطق الذاكرة من النوع ‪ Latch‬و التي‬
‫تحافظ على قيمتها بانقطاع التغذية الكهربائية عن المتحكم ‪ ..‬كما تمكننا من تحدد مجاالت‬
‫المؤقتات و القاعدة الزمنية الموافقة لكل منها ‪.‬‬

‫‪ : Interrupt .2‬لتفعيل خدمات المقاطعة المختلفة المدعومة من المعالج ‪.‬‬

‫‪ : Comm. CH0/1 .3‬لتفعيل منافذ االتصال للمتحكم و تحديد نمط العمل الخاص بها ‪.‬‬

‫‪ : PID .4‬إلدخال إعدادات حلقات التحكم ‪ PID‬و ضبط بارامتراتها ‪.‬‬

‫‪ : Position .5‬لتفعيل أنماط التحكم بالموضع و تعريف المداخل و المخارج المرتبطة بها ‪.‬‬

‫‪ : HSC Ch0/1/2/3 .6‬لتفعيل العدادات عالية السرعة و تعريف المداخل و المخارج المرتبطة بها ‪.‬‬

‫)‬ ‫بعد ضبط البارامترات وفق الحاجة إليها‪ ،‬ننفذ األمر ( ‪ ) Project \ Save Project‬أو بضغط األيقونة (‬
‫حتى يقوم البرنامج بحفظ التعديالت التي قمنا بإجرائها ‪.‬‬

‫‪102 / 36‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫تحميل البرنامج إلى المتحكم ‪:‬‬

‫بعد تثبيت كبل االتصال ‪ RS-232‬بين المتحكم و الحاسب ننفذ األمر ( ‪ ) Online \ Connect‬أو نضغط على‬
‫) لتبدأ عملية الوصل ‪ .‬في حال كون برنامج المتحكم محمي بكلمة مرور مسبقاً ستظهر‬ ‫األيقونة (‬
‫الرسالة المبينة في الشكل أدناه و التي تطالب بإدخال كلمة المرور "‪ "Password‬حتى يتم الوصل ‪.‬‬

‫بعدئذ تظهر النافذة التالية‪:‬‬

‫نختار منها ما سيتم تحميله إلى ذاكرة المتحكم ‪ ،‬ثم نضغط الزر "‪ "OK‬لتبدأ عملية التحميل ‪.‬‬
‫‪ : Parameter ‬يتم تحميل كتلة البارامترات إلى المتحكم ‪.‬‬
‫‪ : Program ‬يتم تحميل البرنامج إلى المتحكم ‪.‬‬
‫مالحظة‪:‬‬
‫يتم الوصل بين المتحكم و الحاسب عن طريق المنفذ التسلسلي ( ‪ ) COM‬و الذي يمكن تحديده من‬
‫خالل تنفيذ األمر ( ‪ ) Project \ Options‬فتظهر النافذة التالية ‪:‬‬

‫نختار الصفحة "‪ "Connection Option‬و منها يمكن أن ننتقي أحد منافذ الـ ‪ COM‬المتاحة ‪.‬‬

‫‪102 / 37‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫توثيق البرنامج و تنقيحه من األخطاء ‪:‬‬

‫هناك العديد من أدوات التوثيق المتاحة و منها ‪:‬‬

‫‪ -1‬إدخال سطر تعليق على البرنامج ‪ :‬و ذلك بتنفيذ األمر ( ‪ ) Edit \ Rung Comment‬أو باستعمال‬
‫االختصار ( ‪ ) Ctrl + E‬فيظهر صندوق نصي‪ ،‬ندخل التعليق المطلوب و نضغط زر "‪. "Enter‬‬

‫‪ -2‬توثيق خاليا الذاكرة المستخدمة بواسطة نافذة "‪: "Variable / Comment‬‬

‫حيث يمكن إضافة خلية الذاكرة و كتابة اسم المتحول الخاص بها ( ‪ ) Variable Name‬و كذلك تعليق‬
‫يصف دور هذه الخلية في البرنامج‪ ،‬ثم عرض هذه المعلومات في صفحة البرنامج بواسطة خيارات العرض‬
‫الموضحة في شريط األدوات ‪.‬‬

‫تنقيح البرنامج ‪:‬‬


‫يمكن تنقيح البرنامج قبل تحميله إلى المتحكم من خالل تنفيذ األمر ( ‪ ) View \ Check Program‬و‬
‫الذي يفحص سالمة البرنامج من أخطاء الصياغة البرمجية و يبلغ عن أية أخطاء في نافذة الرسائل ‪.‬‬
‫كما يمكن مراقبة قيم خاليا الذاكرة من خالل نافذة المراقبة ( ‪... ) Monitor Window‬‬

‫‪102 / 38‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫مالحظات و أفكار‬
‫(هذه الصفحة مخصصة إلضافة مالحظات و أفكار القارئ عن كل فصل)‬

‫‪102 / 39‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫الفصل الخامس‬
‫التعليمات البرمجية للمعالجات ‪Master-K‬‬

‫‪102 / 40‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫‪ -1‬التعليمات األساسية ‪:‬‬

‫[‪ ]1-1‬التماس المفتوح و التماس المغلق‬

‫‪S‬‬ ‫التماس المفتوح‬ ‫‪Steps‬‬


‫‪Load‬‬
‫خانة الشرط =‪S‬‬ ‫‪Bit : P, M, K, F, T, C, S‬‬ ‫‪1‬‬

‫يستخدم كشرط لتنفيذ التعليمات التي ترتبط معه بشرط كون البت ‪ S‬في الحالة المنطقية ‪. ON‬‬

‫‪S‬‬ ‫التماس المغلق‬ ‫‪Steps‬‬


‫‪Load NOT‬‬
‫خانة الشرط =‪S‬‬ ‫‪Bit : P, M, K, F, T, C, S‬‬ ‫‪1‬‬

‫يستخدم كشرط لتنفيذ التعليمات التي ترتبط معه بشرط كون البت ‪ S‬في الحالة المنطقية ‪. OFF‬‬

‫[‪ ]2-1‬تماس النفي المنطقي‬

‫‪-‬‬ ‫تماس النفي‬ ‫‪Steps‬‬


‫‪NOT‬‬
‫‪1‬‬

‫يستخدم لعكس النتيجة المنطقية لجميع الشروط (التماسات) التي تسبقه ‪.‬‬

‫[‪ ]3-1‬تعليمة الخرج المباشر‬

‫‪D‬‬ ‫تعليمة الخرج المباشر‬ ‫‪Steps‬‬


‫‪OUT‬‬
‫خانة الخرج =‪D‬‬ ‫‪Bit : P, M, K‬‬ ‫‪1‬‬

‫تستخدم لتخزين النتيجة المنطقية للشروط التي تسبقه في البت ‪. D‬‬

‫‪102 / 41‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫[‪ ]4-1‬تعليمة ‪ SET‬و ‪RST‬‬

‫‪D‬‬ ‫تعليمة المسك ‪ON‬‬ ‫‪Steps‬‬


‫‪SET‬‬
‫الخانة الهدف =‪D‬‬ ‫‪Bit : P, M, K‬‬ ‫‪1‬‬

‫تستخدم لمسك الحالة المنطقية للبت ‪ D‬على الحالة ‪ ON‬حتى بعد زوال تحقق الشروط التي تسبق‬
‫هذه التعليمة ‪.‬‬

‫‪D‬‬ ‫تعليمة المسك ‪OFF‬‬ ‫‪Steps‬‬


‫‪RST‬‬
‫الخانة الهدف =‪D‬‬ ‫‪Bit : P, M, K‬‬ ‫‪1‬‬

‫تستخدم لمسك الحالة المنطقية للبت ‪ D‬على الحالة ‪ OFF‬حتى بعد زوال تحقق الشروط التي تسبق‬
‫هذه التعليمة ‪.‬‬

‫[‪ ]5-1‬تعليمة ‪ D‬و ‪D NOT‬‬

‫‪D‬‬ ‫نبضة عند تحقق الشرط‬ ‫‪Steps‬‬


‫‪D‬‬
‫الخانة الهدف =‪D‬‬ ‫‪Bit : P, M, K‬‬ ‫‪1‬‬

‫تستخدم لجعل البت ‪ D‬في الحالة ‪ ON‬خالل دورة مسح واحدة عند تحقق الشرط ‪.‬‬

‫‪D‬‬ ‫نبضة عند زوال الشرط‬ ‫‪Steps‬‬


‫‪D NOT‬‬
‫الخانة الهدف =‪D‬‬ ‫‪Bit : P, M, K‬‬ ‫‪1‬‬

‫تستخدم لجعل البت ‪ D‬في الحالة ‪ ON‬خالل دورة مسح واحدة عند زوال الشرط ‪.‬‬

‫‪102 / 42‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫[‪ ]6-1‬تعليمة ‪END‬‬

‫‪-‬‬ ‫تعليمة إنهاء البرنامج‬ ‫‪Steps‬‬


‫‪END‬‬
‫‪1‬‬

‫تستخدم لتحديد موقع انتهاء البرنامج في ذاكرة المتحكم كي يتوقف المعالج عند هذه التعليمة و يعاود‬
‫تنفيذ البرنامج من التعليمة األولى ‪.‬‬

‫‪ -2‬تعليمات المقارنة ‪:‬‬

‫[‪ ]1-2‬تماس المقارنة‬

‫‪Type S1 S2‬‬ ‫تماس المقارنة‬ ‫‪Steps‬‬


‫‪Load‬‬ ‫نوع المقارنة =‪Type‬‬ ‫=< ‪=, <>, >, <, >=,‬‬ ‫‪5‬‬
‫)‪Load(D‬‬ ‫العدد ‪S1= 1‬‬ ‫‪Word: D, P, M, K / Constant‬‬ ‫)‪(D‬‬
‫العدد ‪S2= 2‬‬ ‫‪Word: D, P, M, K / Constant‬‬ ‫‪5/7/9‬‬

‫يستخدم كشرط لتنفيذ التعليمات التي ترتبط معه بشرط كون عملية المقارنة بين العدد ‪ S1‬و العدد ‪S2‬‬
‫محققة وفق نوع عملية المقارنة سوا ًء أكانت مساواة أو غير ذلك ‪.‬‬

‫مالحظة ‪:‬‬

‫الرمز (‪ )D‬يعني أن معامالت التعليمة بحجم ‪ Double Word‬و يصبح رمز التعليمة ‪. LoadD‬‬
‫الرمز (‪ )P‬بعني أن التعليمة ستنفذ مرة واحدة (‪ )Pulse‬عند تحقق الشرط الخاص بها ‪.‬‬

‫‪102 / 43‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫[‪ ]2-2‬تعليمة المقارنة‬

‫‪S1 S2‬‬ ‫تعليمة المقارنة‬ ‫‪Steps‬‬


‫‪CMP‬‬
‫العدد ‪S1= 1‬‬ ‫‪Word: D, P, M, K, C, T/Constant‬‬ ‫‪5‬‬
‫)‪(D)CMP(P‬‬
‫العدد ‪S2= 2‬‬ ‫‪Word: D, P, M, K, C, T/Constant‬‬ ‫‪(D) 5/7/9‬‬

‫تستخدم لمقارنة العددين ‪ S1‬و ‪ S2‬على أن يتم تخزين نتيجة المقارنة في خاليا الذاكرة الخاصة المبينة‬
‫في الجدول أدناه ‪.‬‬

‫‪Flag‬‬ ‫‪F120‬‬ ‫‪F121‬‬ ‫‪F122‬‬ ‫‪F123‬‬ ‫‪F124‬‬ ‫‪F125‬‬


‫‪Op.‬‬ ‫<‬ ‫=<‬ ‫=‬ ‫>‬ ‫=>‬ ‫><‬
‫‪S1>S2‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬
‫‪S1<S2‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬
‫‪S1=S2‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬

‫‪ -3‬العدادات و المؤقتات ‪:‬‬

‫[‪ ]1-3‬المؤقت ‪Ton‬‬

‫‪T‬‬ ‫‪SV‬‬ ‫مؤقت تأخير الوصل‬ ‫‪Steps‬‬


‫‪Ton‬‬ ‫رقم المؤقت =‪T‬‬ ‫‪Timer: Txxx‬‬
‫‪3‬‬
‫زمن التأخير =‪SV‬‬ ‫‪Word: D / Constant‬‬

‫يعمل تماس المؤقت ‪ Ton‬بعد مرور زمن محدد بالبارامتر ‪ SV‬على تفعيل شرط عمل المؤقت ‪.‬‬
‫مالحظة‪:‬‬
‫تتحد القاعدة الزمنية للمؤقت ( ‪ ) 1mSec, 10mSec, 100mSec‬بحسب رقم المؤقت وفق مجاالت معينة‬
‫يمكن تعديلها بواسطة برنامج المتحكم ‪.‬‬

‫‪Delay Time = Time Base x SV‬‬

‫‪102 / 44‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫[‪ ]2-3‬المؤقت ‪Toff‬‬

‫‪T‬‬ ‫‪SV‬‬ ‫مؤقت تأخير الفصل‬ ‫‪Steps‬‬


‫‪Toff‬‬ ‫رقم المؤقت =‪T‬‬ ‫‪Timer: Txxx‬‬
‫‪3‬‬
‫زمن التأخير =‪SV‬‬ ‫‪Word: D / Constant‬‬

‫يعمل تماس المؤقت ‪ Toff‬بمجرد تفعيل شرط عمل لمؤقت‪ ،‬و بعد زوال هذا الشرط يبدأ المؤقت بعد‬
‫تنازلي من الزمن المحدد بالبارامتر ‪ SV‬حتى القيمة صفر و عندئذ يصبح تماس المؤقت ‪. Off‬‬

‫[‪ ]3-3‬المؤقت ‪TMR‬‬

‫‪T‬‬ ‫‪SV‬‬ ‫مؤقت تأخير الوصل مع ماسك‬ ‫‪Steps‬‬


‫‪TMR‬‬ ‫رقم المؤقت =‪T‬‬ ‫‪Timer: Txxx‬‬
‫‪3‬‬
‫زمن التأخير =‪SV‬‬ ‫‪Word: D / Constant‬‬

‫له نفس مبدأ عمل المؤقت ‪ ، Ton‬و لكنه يتمتع بمميزة المسك أي أنه يحافظ على قيمته الحالية بالرغم‬
‫من زوال شرط المؤقت ‪ ..‬فقط تعليمة ‪ RST‬هي التي تستطيع تصفير القيمة الحالية لهذا المؤقت ‪.‬‬

‫‪102 / 45‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫[‪ ]4-3‬المؤقت ‪TMON‬‬

‫‪T‬‬ ‫‪SV‬‬ ‫مؤقت أحادي االستقرار ‪Mono-stable‬‬ ‫‪Steps‬‬


‫‪TMON‬‬ ‫رقم المؤقت =‪T‬‬ ‫‪Timer: Txxx‬‬
‫‪3‬‬
‫زمن التأخير =‪SV‬‬ ‫‪Word: D / Constant‬‬

‫له نفس مبدأ عمل المؤقت ‪ ، Toff‬و لكنه يتمتع بمميزة تجاهل تغيرات شرط المؤقت طالما أن عملية‬
‫العد قد بدأت ‪.‬‬

‫[‪ ]5-3‬المؤقت ‪TRTG‬‬

‫‪T‬‬ ‫‪SV‬‬ ‫مؤقت أحادي االستقرار ‪Mono-stable‬‬ ‫‪Steps‬‬


‫‪TRTG‬‬ ‫رقم المؤقت =‪T‬‬ ‫‪Timer: Txxx‬‬
‫‪3‬‬
‫زمن التأخير =‪SV‬‬ ‫‪Word: D / Constant‬‬

‫له نفس مبدأ عمل المؤقت ‪ ، Toff‬و لكنه قابل إلعادة القدح ‪ ..‬أي يعيد العد من جديد عند ورود نبضة‬
‫على دخله ‪.‬‬

‫‪102 / 46‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫[‪ ]6-3‬العداد ‪CTU‬‬

‫‪C‬‬ ‫‪SV‬‬ ‫العداد التصاعدي‬ ‫‪Steps‬‬


‫‪CTU‬‬ ‫رقم العدد =‪C‬‬ ‫‪Counter: Cxxx‬‬
‫‪3‬‬
‫القيمة الهدف =‪SV‬‬ ‫‪Word: D / Constant‬‬

‫يقوم بزيادة القيمة الحالية للعداد بمقدار ‪ 1‬عند كل حافة صاعدة لشرط مدخل العد‪ ،‬و عندما تصبح‬
‫القيمة الحالية للعداد مساوية للقيمة الهدف تصبح خانة العداد في الوضعية ‪. On‬‬

‫للعداد مدخل ‪ ) Reset ( R‬لتصفير العداد أي يجعل القيمة الحالية للعداد مساوي ًة للصفر ‪.‬‬

‫[‪ ]6-3‬العداد ‪CTD‬‬

‫‪C‬‬ ‫‪SV‬‬ ‫العداد التنازلي‬ ‫‪Steps‬‬


‫‪CTD‬‬ ‫رقم العدد =‪C‬‬ ‫‪Counter: Cxxx‬‬
‫‪3‬‬
‫القيمة الهدف =‪SV‬‬ ‫‪Word: D / Constant‬‬

‫يقوم بإنقاص القيمة الحالية للعداد بمقدار ‪ 1‬عند كل حافة صاعدة لشرط مدخل العد‪ ،‬و عندما تصبح‬
‫القيمة الحالية للعداد مساوية للصفر تصبح خانة العداد في الوضعية ‪. On‬‬

‫للعداد مدخل ‪ ) Reset ( R‬لتهيئة العداد أي يجعل القيمة الحالية للعداد مساوي ًة للقيمة الهدف ‪.‬‬

‫‪102 / 47‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫[‪ ]7-3‬العداد ‪CTUD‬‬

‫‪C‬‬ ‫‪SV‬‬ ‫العداد التصاعدي ‪ /‬التنازلي‬ ‫‪Steps‬‬


‫‪CTUD‬‬ ‫رقم العدد =‪C‬‬ ‫‪Counter: Cxxx‬‬
‫‪3‬‬
‫القيمة الهدف =‪SV‬‬ ‫‪Word: D / Constant‬‬

‫يقوم بالعد تصاعدياً أو تنازلياً و ذلك بحسب الحافة الصاعدة المطبقة على مدخل العد التصاعدي أو‬
‫التنازلي على الترتيب‪ ..‬و عندما يصل العداد لقيمة أكبر أو تساوي القيمة الهدف تصبح خانة العداد‬
‫في الوضعية ‪. On‬‬

‫للعداد مدخل ‪ ) Reset ( R‬لتصفير العداد أي يجعل القيمة الحالية للعداد مساوي ًة للصفر ‪.‬‬

‫[‪ ]6-3‬العداد ‪CTR‬‬

‫‪C‬‬ ‫‪SV‬‬ ‫العداد الحلقي‬ ‫‪Steps‬‬


‫‪CTR‬‬ ‫رقم العدد =‪C‬‬ ‫‪Counter: Cxxx‬‬
‫‪3‬‬
‫القيمة الهدف =‪SV‬‬ ‫‪Word: D / Constant‬‬

‫يقوم بزيادة القيمة الحالية للعداد بمقدار ‪ 1‬عند كل حافة صاعدة لشرط مدخل العد‪ ،‬و عندما تصبح‬
‫القيمة الحالية للعداد مساوية للقيمة الهدف تصبح خانة العداد في الوضعية ‪ .. On‬لكن في حال ورود‬
‫نبضة جديدة على مدخل العد يتم تصفير خانة العداد و قيمته الحالية‪ ،‬ليبدأ العد من جديد ‪.‬‬

‫للعداد مدخل ‪ ) Reset ( R‬لتصفير العداد أي يجعل القيمة الحالية للعداد مساوي ًة للصفر ‪.‬‬

‫‪102 / 48‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫‪ -4‬التعليمات الحسابية ‪:‬‬

‫[‪ ]1-4‬عملية الجمع ‪ADD‬‬

‫‪S1 S2 D‬‬ ‫عملية الجمع‬ ‫‪Steps‬‬


‫‪ADD‬‬ ‫العدد األول =‪S1‬‬ ‫‪D, P, M, K, C, T / Constant‬‬
‫‪7‬‬
‫)‪(D)ADD(P‬‬ ‫العدد الثاني =‪S2‬‬ ‫‪D, P, M, K, C, T / Constant‬‬
‫‪7/9/11‬‬
‫ناتج الجمع =‪D‬‬ ‫‪D, P, M, K, C, T‬‬

‫تعليمة ‪ ADD‬تجمع العددين ‪ S1‬و ‪ ( S2‬كل منها بطول ‪ 16‬بت ) و تخزن الناتج في خلية الذاكرة ‪ D‬و التي‬
‫تكون بطول ‪ 16‬بت أيضاً ‪.‬‬

‫تعليمة ‪ DADD‬تجمع العددين ‪ S1‬و ‪ ( S2‬كل منها بطول ‪ 32‬بت ) و تخزن الناتج في خليتي الذاكرة‬
‫المتتاليتين ‪ D‬و ‪ .. D+1‬أي أن الناتج بطول ( ‪ 32‬بت ) أيضاً ‪.‬‬

‫[‪ ]2-4‬عملية الطرح ‪SUB‬‬

‫‪S1 S2 D‬‬ ‫عملية الطرح‬ ‫‪Steps‬‬


‫‪SUB‬‬ ‫العدد األول =‪S1‬‬ ‫‪D, P, M, K, C, T / Constant‬‬
‫‪7‬‬
‫)‪(D)SUB(P‬‬ ‫العدد الثاني =‪S2‬‬ ‫‪D, P, M, K, C, T / Constant‬‬
‫‪7/9/11‬‬
‫ناتج الطرح =‪D‬‬ ‫‪D, P, M, K, C, T‬‬

‫تعليمة ‪ SUB‬تطرح العدد ‪ S2‬من العدد ‪ ( S1‬كل منها بطول ‪ 16‬بت ) و تخزن الناتج في خلية الذاكرة ‪ D‬و‬
‫التي تكون بطول ‪ 16‬بت أيضاً ‪.‬‬

‫تعليمة ‪ DSUB‬تطرح العدد ‪ S2‬من العدد ‪ ( S1‬كل منها بطول ‪ 32‬بت ) و تخزن الناتج في خليتي الذاكرة‬
‫المتتاليتين ‪ D‬و ‪ .. D+1‬أي أن الناتج بطول ( ‪ 32‬بت ) أيضاً ‪.‬‬

‫[‪ ]3-4‬عملية الضرب ‪MUL‬‬

‫‪S1 S2 D‬‬ ‫عملية الضرب‬ ‫‪Steps‬‬


‫‪MUL‬‬ ‫العدد األول =‪S1‬‬ ‫‪D, P, M, K, C, T / Constant‬‬
‫)‪(D)MUL(P‬‬ ‫العدد الثاني =‪S2‬‬ ‫‪D, P, M, K, C, T / Constant‬‬ ‫‪7‬‬
‫‪7/9/11‬‬
‫ناتج الضرب =‪D‬‬ ‫‪D, P, M, K, C, T‬‬

‫تعليمة ‪ MUL‬تضرب العدد ‪ S1‬بالعدد ‪ ( S2‬كل منها بطول ‪ 16‬بت ) و تخزن الناتج في خليتي الذاكرة‬
‫المتتاليتين ‪ D‬و ‪ .. D+1‬أي أن الناتج بطول ( ‪ 32‬بت ) ‪.‬‬

‫‪102 / 49‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫تعليمة ‪ DMUL‬تضرب العدد ‪ S1‬بالعدد ‪ ( S2‬كل منها بطول ‪ 32‬بت ) و تخزن الناتج في خاليا الذاكرة‬
‫المتتالية ] ‪ .. [ D, D+1, D+2, D+3‬أي أن الناتج بطول ( ‪ 64‬بت ) ‪.‬‬

‫[‪ ]3-4‬عملية القسمة ‪DIV‬‬

‫‪S1 S2 D‬‬ ‫عملية القسمة‬ ‫‪Steps‬‬


‫‪DIV‬‬ ‫العدد األول =‪S1‬‬ ‫‪D, P, M, K, C, T / Constant‬‬
‫‪7‬‬
‫)‪(D)DIV(P‬‬ ‫العدد الثاني =‪S2‬‬ ‫‪D, P, M, K, C, T / Constant‬‬
‫‪7/9/11‬‬
‫ناتج القسمة =‪D‬‬ ‫‪D, P, M, K, C, T‬‬

‫تعليمة ‪ DIV‬تقسم العدد ‪ S1‬على العدد ‪ ( S2‬كل منها بطول ‪ 16‬بت ) و تخزن ناتج القسمة في خلية‬
‫الذاكرة ‪ D‬و باقي القسمة في خلية الذاكرة ‪. D+1‬‬

‫تعليمة ‪ DDIV‬تقسم العدد ‪ S1‬على العدد ‪ ( S2‬كل منها بطول ‪ 32‬بت ) و تخزن ناتج القسمة في‬
‫خليتي الذاكرة المتتاليتين ‪ ( D, D+1‬بطول ‪ 32‬بت ) ‪ ،‬كما تخزن باقي القسمة في خليتي الذاكرة‬
‫المتتاليتين ‪( D+2, D+3‬بطول ‪ 32‬بت ) ‪.‬‬

‫مالحظة‪:‬‬
‫هناك تعليمات حسابية على األعداد ذات التشفير ‪ BCD‬مناظرة للعمليات السابق ذكرها و هي‪:‬‬
‫‪ ADDB , SUBB , MULB, DIVB‬و تقوم بنفس الوظائف التي تم شرحها آنفاً ‪.‬‬

‫[‪ ]4-4‬عملية الزيادة بواحد ‪INC‬‬

‫‪INC‬‬ ‫‪D‬‬ ‫عملية الزيادة بواحد‬ ‫‪Steps‬‬


‫)‪(D)INC(P‬‬ ‫ناتج العملية =‪D‬‬ ‫‪D, P, M, K, C, T‬‬ ‫‪3‬‬

‫تعليمة ‪ INC‬تقوم بزيادة العدد ‪ D‬بمقدار واحد ( العدد بطول ‪ 16‬بت ) و تخزن ناتج الزيادة في خلية‬
‫الذاكرة ‪ D‬نفسها ‪.‬‬

‫تعليمة ‪ DINC‬تقوم بزيادة العدد ‪ D‬بمقدار واحد ( العدد بطول ‪ 32‬بت ) و تخزن ناتج الزيادة في خلية‬
‫الذاكرة ‪ D‬نفسها ‪.‬‬

‫[‪ ]5-4‬عملية اإلنقاص بواحد ‪DEC‬‬

‫‪DEC‬‬ ‫‪D‬‬ ‫عملية اإلنقاص بواحد‬ ‫‪Steps‬‬


‫)‪(D)DEC(P‬‬ ‫ناتج العملية =‪D‬‬ ‫‪D, P, M, K, C, T‬‬ ‫‪3‬‬

‫تعليمة ‪ DEC‬تقوم بإنقاص العدد ‪ D‬بمقدار واحد ( العدد بطول ‪ 16‬بت ) و تخزن ناتج الزيادة في خلية‬
‫الذاكرة ‪ D‬نفسها ‪.‬‬

‫‪102 / 50‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫‪ -5‬التعليمات المنطقية ‪:‬‬

‫[‪ ]1-5‬عملية ‪ AND‬المنطقية‬

‫‪S1 S2 D‬‬ ‫عملية ‪AND‬‬ ‫‪Steps‬‬


‫‪WAND‬‬ ‫العدد األول =‪S1‬‬ ‫‪D, P, M, K, C, T / Constant‬‬
‫‪7‬‬
‫)‪(D)WAND(P‬‬ ‫العدد الثاني =‪S2‬‬ ‫‪D, P, M, K, C, T / Constant‬‬
‫‪7/9/11‬‬
‫ناتج العملية =‪D‬‬ ‫‪D, P, M, K, C, T‬‬

‫تقوم تعليمة ‪ WAND‬بتنفيذ عملية ‪ AND‬المنطقية بين جميع الخانات الثنائية الممثلة للعدد ‪ ( S1‬بطول‬
‫‪ 16‬بت ) مع جميع الخانات المناظرة لها للعدد ‪ ( S2‬بطول ‪ 16‬بت ) و تضع الناتج في خلية الذاكرة ‪ D‬و‬
‫التي تكون بطول ‪ 16‬بت أيضاً ‪.‬‬

‫تقوم تعليمة ‪ DWAND‬بتنفيذ عملية ‪ AND‬المنطقية بين جميع الخانات الثنائية الممثلة للعدد ‪ ( S1‬بطول‬
‫‪ 32‬بت ) مع جميع الخانات المناظرة لها للعدد ‪ ( S2‬بطول ‪ 32‬بت ) و تضع الناتج في خلية الذاكرة ‪ D‬و‬
‫التي تكون بطول ‪ 32‬بت أيضاً ‪.‬‬

‫[‪ ]2-5‬عملية ‪ OR‬المنطقية‬

‫‪S1 S2 D‬‬ ‫عملية ‪OR‬‬ ‫‪Steps‬‬


‫‪WOR‬‬ ‫العدد األول =‪S1‬‬ ‫‪D, P, M, K, C, T / Constant‬‬
‫‪7‬‬
‫)‪(D)WOR(P‬‬ ‫العدد الثاني =‪S2‬‬ ‫‪D, P, M, K, C, T / Constant‬‬
‫‪7/9/11‬‬
‫ناتج العملية =‪D‬‬ ‫‪D, P, M, K, C, T‬‬

‫‪102 / 51‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫تقوم تعليمة ‪ WOR‬بتنفيذ عملية ‪ OR‬المنطقية بين جميع الخانات الثنائية الممثلة للعدد ‪ ( S1‬بطول ‪16‬‬
‫بت ) مع جميع الخانات المناظرة لها للعدد ‪ ( S2‬بطول ‪ 16‬بت ) و تضع الناتج في خلية الذاكرة ‪ D‬و التي‬
‫تكون بطول ‪ 16‬بت أيضاً ‪.‬‬

‫مثال‪:‬‬

‫تقوم تعليمة ‪ DWOR‬بتنفيذ عملية ‪ OR‬المنطقية بين جميع الخانات الثنائية الممثلة للعدد ‪ ( S1‬بطول ‪32‬‬
‫بت ) مع جميع الخانات المناظرة لها للعدد ‪ ( S2‬بطول ‪ 32‬بت ) و تضع الناتج في خلية الذاكرة ‪ D‬و التي‬
‫تكون بطول ‪ 32‬بت أيضاً ‪.‬‬

‫‪102 / 52‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫[‪ ]3-5‬عملية ‪ XOR‬المنطقية‬

‫‪S1 S2 D‬‬ ‫عملية ‪XOR‬‬ ‫‪Steps‬‬


‫‪WXOR‬‬ ‫العدد األول =‪S1‬‬ ‫‪D, P, M, K, C, T / Constant‬‬
‫‪7‬‬
‫)‪(D)WXOR(P‬‬ ‫العدد الثاني =‪S2‬‬ ‫‪D, P, M, K, C, T / Constant‬‬
‫‪7/9/11‬‬
‫ناتج العملية =‪D‬‬ ‫‪D, P, M, K, C, T‬‬

‫تقوم تعليمة ‪ WXOR‬بتنفيذ عملية ‪ XOR‬المنطقية بين جميع الخانات الثنائية الممثلة للعدد ‪ ( S1‬بطول‬
‫‪ 16‬بت ) مع جميع الخانات المناظرة لها للعدد ‪ ( S2‬بطول ‪ 16‬بت ) و تضع الناتج في خلية الذاكرة ‪ D‬و‬
‫التي تكون بطول ‪ 16‬بت أيضاً ‪.‬‬

‫مثال‪:‬‬

‫تقوم تعليمة ‪ DWXOR‬بتنفيذ عملية ‪ XOR‬المنطقية بين جميع الخانات الثنائية الممثلة للعدد ‪ ( S1‬بطول‬
‫‪ 32‬بت ) مع جميع الخانات المناظرة لها للعدد ‪ ( S2‬بطول ‪ 32‬بت ) و تضع الناتج في خلية الذاكرة ‪ D‬و‬
‫التي تكون بطول ‪ 32‬بت أيضاً ‪.‬‬

‫‪102 / 53‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫‪ -6‬تعليمات اإلزاحة و الدوران ‪:‬‬

‫[‪ ]1-6‬عملية الدوران لليسار‬

‫‪ROL‬‬ ‫‪D‬‬ ‫عملية التدوير لليسار‬ ‫‪Steps‬‬


‫)‪(D)ROL(P‬‬ ‫ناتج العملية =‪D‬‬ ‫‪D, P, M, K, C, T‬‬ ‫‪3‬‬

‫تقوم تعليمة ‪ ROL‬بتنفيذ عملية تدوير الخانات الثنائية المخزنة في خلية الذاكرة ‪ D‬ابتدا ًء من الخانة ‪MSB‬‬
‫حيث تنتقل للخانة ‪ ( LSB‬بعد أن يتم نسخها لخانة الحمل ) و تستمر عملية الدوران على باقي الخاليا‬
‫بنفس اتجاه االنزياح ‪ ..‬و من ثم تخزن الناتج في الخلية ‪ D‬نفسها ‪.‬‬

‫مالحظة‪ :‬التعليمة ‪ DROL‬تقوم بنفس آلية العمل السابقة لكنها تتعامل مع خليتين متتاليتين هما‬
‫‪ D, D+1‬أي عدد بطول ‪ 32‬بت ‪.‬‬

‫مثال‪:‬‬

‫‪102 / 54‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫[‪ ]2-6‬عملية الدوران لليمين‬

‫‪ROR‬‬ ‫‪D‬‬ ‫عملية التدوير لليمين‬ ‫‪Steps‬‬


‫)‪(D)ROR(P‬‬ ‫ناتج العملية =‪D‬‬ ‫‪D, P, M, K, C, T‬‬ ‫‪3‬‬

‫تقوم تعليمة ‪ ROR‬بتنفيذ عملية تدوير الخانات الثنائية المخزنة في خلية الذاكرة ‪ D‬ابتدا ًء من الخانة ‪LSB‬‬
‫حيث تنتقل للخانة ‪ ( MSB‬بعد أن يتم نسخها لخانة الحمل ) و تستمر عملية الدوران على باقي الخاليا‬
‫بنفس اتجاه االنزياح ‪ ..‬و من ثم تخزن الناتج في الخلية ‪ D‬نفسها ‪.‬‬

‫مالحظة‪ :‬التعليمة ‪ DROR‬تقوم بنفس آلية العمل السابقة لكنها تتعامل مع خليتين متتاليتين هما‬
‫‪ D, D+1‬أي عدد بطول ‪ 32‬بت ‪.‬‬

‫مثال‪:‬‬

‫‪102 / 55‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫[‪ ]3-6‬عملية الدوران لليسار عبر الحمل‬

‫‪RCL‬‬ ‫‪D‬‬ ‫عملية التدوير لليسار عبر الحمل‬ ‫‪Steps‬‬


‫)‪(D)RCL(P‬‬ ‫ناتج العملية =‪D‬‬ ‫‪D, P, M, K, C, T‬‬ ‫‪3‬‬

‫تقوم تعليمة ‪ RCL‬بتنفيذ عملية تدوير الخانات الثنائية المخزنة في خلية الذاكرة ‪ D‬ابتدا ًء من نقل خانة‬
‫الحمل إلى الخانة ‪ ، LSB‬ثم نقل الخانة ‪ MSB‬إلى خانة الحمل‪ ،‬و تستمر عملية الدوران على باقي‬
‫الخاليا بنفس اتجاه االنزياح ‪ ..‬و من ثم تخزن الناتج في الخلية ‪ D‬نفسها ‪.‬‬

‫مالحظة‪ :‬التعليمة ‪ DRCL‬تقوم بنفس آلية العمل السابقة لكنها تتعامل مع خليتين متتاليتين هما‬
‫‪ D, D+1‬أي عدد بطول ‪ 32‬بت ‪.‬‬

‫مثال‪:‬‬

‫‪102 / 56‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫[‪ ]4-6‬عملية الدوران لليمين عبر الحمل‬

‫‪RCR‬‬ ‫‪D‬‬ ‫عملية التدوير لليمين عبر الحمل‬ ‫‪Steps‬‬


‫)‪(D)RCR(P‬‬ ‫ناتج العملية =‪D‬‬ ‫‪D, P, M, K, C, T‬‬ ‫‪3‬‬

‫تقوم تعليمة ‪ RCR‬بتنفيذ عملية تدوير الخانات الثنائية المخزنة في خلية الذاكرة ‪ D‬ابتدا ًء من نقل الخانة‬
‫‪ LSB‬إلى خانة الحمل ‪ ،‬ثم نقل خانة الحمل إلى الخانة ‪ ، MSB‬و تستمر عملية الدوران على باقي‬
‫الخاليا بنفس اتجاه االنزياح ‪ ..‬و من ثم تخزن الناتج في الخلية ‪ D‬نفسها ‪.‬‬

‫مالحظة‪ :‬التعليمة ‪ DRCR‬تقوم بنفس آلية العمل السابقة لكنها تتعامل مع خليتين متتاليتين هما‬
‫‪ D, D+1‬أي عدد بطول ‪ 32‬بت ‪.‬‬

‫مثال‪:‬‬

‫‪102 / 57‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫‪ -8‬تعليمات نقل البيانات ‪:‬‬

‫[‪ ]1-8‬عملية النقل ‪MOV‬‬

‫‪S‬‬ ‫‪D‬‬ ‫تعليمة النقل‬ ‫‪Steps‬‬


‫‪MOV‬‬
‫الخلية المصدر =‪S‬‬ ‫‪D, P, M, K, C, T / Constant‬‬ ‫‪5‬‬
‫)‪(D)MOV(P‬‬
‫الخلية الهدف =‪D‬‬ ‫‪D, P, M, K, C, T‬‬ ‫‪5/7‬‬

‫تقوم هذه التعليمة بنقل عدد ثابت أو محتويات الخلية المصدر ‪ S‬إلى محتويات الخلية الهدف ‪. D‬‬

‫[‪ ]2-8‬عملية الملء ‪FMOV‬‬

‫‪S‬‬ ‫‪D‬‬ ‫‪n‬‬ ‫تعليمة الملء‬ ‫‪Steps‬‬


‫‪FMOV‬‬ ‫الخلية المصدر =‪S‬‬ ‫‪D, P, M, K / Constant‬‬
‫)‪(D)FMOV(P‬‬ ‫الخلية الهدف =‪D‬‬ ‫‪D, P, M, K‬‬ ‫‪7‬‬
‫الخاليا التي ستملئ =‪n‬‬ ‫‪D / Constant‬‬

‫تقوم هذه التعليمة بنقل عدد ثابت أو محتويات الخلية المصدر ‪ S‬إلى جميع خاليا كتلة من الذاكرة تبدأ‬
‫من العنوان ‪ D‬و لها الطول ‪. n‬‬

‫مثال‪:‬‬

‫‪102 / 58‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫[‪ ]3-8‬عملية نقل المجموعة ‪GMOV‬‬

‫‪S‬‬ ‫‪D‬‬ ‫‪n‬‬ ‫تعليمة نقل كتلة ذاكرة‬ ‫‪Steps‬‬


‫‪GMOV‬‬ ‫الخلية المصدر =‪S‬‬ ‫‪D, P, M, K, C, T‬‬
‫)‪(D)GMOV(P‬‬ ‫الخلية الهدف =‪D‬‬ ‫‪D, P, M, K, C, T‬‬ ‫‪7‬‬
‫الخاليا التي ستملئ =‪n‬‬ ‫‪D / Constant‬‬

‫تقوم هذه التعليمة بنقل كتلة ذاكرة ابتدا ًء من الخلية المصدر ‪ S‬و التي طولها ‪" n‬كلمة" ( ‪ ) Word‬إلى‬
‫كتلة ذاكرة ابتدا ًء من العنوان ‪. D‬‬

‫و الشكل التالي يوضح مبدأ عملية نقل كتل الذاكرة ‪:‬‬

‫مثال‪:‬‬

‫‪102 / 59‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫‪ -9‬تعليمات التحكم بتدفق البرنامج ‪:‬‬

‫[‪ ]1-9‬تعليمة القفز ‪JMP / JME‬‬

‫‪n‬‬ ‫تعليمة القفز‬ ‫‪Steps‬‬


‫‪JMP‬‬
‫رقم موقع القفز = ‪n‬‬ ‫‪Constant‬‬ ‫‪1‬‬

‫‪n‬‬ ‫تعليمة موقع القفز‬ ‫‪Steps‬‬


‫‪JME‬‬
‫موقع القفز = ‪n‬‬ ‫‪Constant‬‬ ‫‪1‬‬

‫عند تحقق شرط تعليمة القفز ‪ JMP‬ينقل المعالج مؤشر تنفيذ البرنامج إلى أول تعليمة تلي التعليمة‬
‫التي تحدد موقع القفز و التي هي ‪. JME‬‬

‫مثال‪:‬‬

‫‪102 / 60‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫[‪ ]2-9‬تعليمة استدعاء البرنامج الفرعي‬

‫‪CALL‬‬ ‫‪n‬‬ ‫تعليمة استدعاء البرنامج الفرعي‬ ‫‪Steps‬‬


‫)‪CALL(P‬‬ ‫رقم البرنامج الفرعي = ‪n‬‬ ‫‪Constant‬‬ ‫‪1‬‬

‫‪n‬‬ ‫تعليمة موقع بداية البرنامج الفرعي‬ ‫‪Steps‬‬


‫‪SBRT‬‬
‫رقم البرنامج الفرعي = ‪n‬‬ ‫‪Constant‬‬ ‫‪1‬‬

‫‪-‬‬ ‫تعليمة موقع نهاية البرنامج الفرعي‬ ‫‪Steps‬‬


‫‪RET‬‬
‫‪3‬‬

‫عند تحقق شرط تعليمة استدعاء البرنامج الفرعي ‪ CALL‬ينقل المعالج مؤشر تنفيذ البرنامج إلى أول‬
‫تعليمة تلي التعليمة التي تحدد موقع بداية البرنامج الفرعي و التي هي ‪ ، SBRT‬و عند يصل مؤشر‬
‫التنفيذ إلى التعليمة ‪ RET‬التي تمثل نهاية البرنامج الفرعي‪ ،‬يعود مؤشر التنفيذ إل التعليمة التي تلي‬
‫مباشر ًة التعليمة ‪ CALL‬أي التعليمة التي تلي نقطة التفرع ‪.‬‬

‫مثال‪:‬‬

‫‪102 / 61‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫‪ -10‬تعليمات النظام ‪:‬‬

‫[‪ ]1-10‬تعليمة ‪STOP‬‬

‫‪-‬‬ ‫وضع المعالج في النمط ‪Stop‬‬ ‫‪Steps‬‬


‫‪STOP‬‬
‫‪1‬‬

‫عند تحقق شرط هذه التعليمة يدخل المعالج في نمط التوقف‪ ،‬أي يتوقف عن تنفيذ البرنامج المخزن‪.‬‬

‫[‪ ]2-10‬تعليمة ‪OUTOFF‬‬

‫‪-‬‬ ‫إلغاء تفعيل جميع مخارج المتحكم‬ ‫‪Steps‬‬


‫‪OUTOFF‬‬
‫‪1‬‬

‫عند تحقق شرط هذه التعليمة ال يقوم المعالج بتفعيل مخارج المتحكم حتى لو كان مسجل الخرج يشير‬
‫إلى تفعيل هذه المخارج ‪.‬‬

‫‪102 / 62‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫مالحظات و أفكار‬
‫(هذه الصفحة مخصصة إلضافة مالحظات و أفكار القارئ عن كل فصل)‬

‫‪102 / 63‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫الفصل السادس‬
‫العدادات العالية السـرعة ‪H.S.C.‬‬

‫‪102 / 64‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫مفهوم العداد عالي السرعة ‪:‬‬

‫هناك العديد من األدوات في الحياة العملية التي تولد قطاراً من النبضات الذي يعبر عن قيم معينة مثل‬
‫حساس التدفق الذي تعبر نبضات الخرج الخاصة به عن معدل تدفق السوائل المارة به‪ ،‬و اإلنكودر الذي‬
‫تعبر نبضاته عن موقع معين ‪...‬‬

‫عاد ًة ما يكون تردد هذا القطار النبضي سريعاً جداً بحيث تتغير حالة الدخل الذي ترد عليه هذه النبضات‬
‫أكثر من مرة خالل دورة مسح واحدة للمعالج‪ ،‬و بالتالي لن يستطيع المعالج "تحسس" هذه التغيرات‬
‫أي ستضيع هذه النبضات و لن يتم قراءة القيم التي تعبر عنها بدقة و بشكل صحيح ‪.‬‬

‫تم حل هذه المشكلة بفكرة إيجاد عداد عالي السرعة له داراته المستقلة عن المعالج بحيث يستطيع‬
‫مالحقة السرعة العالية للقطار النبضي على أن يقوم بنقل قيمة العد للمعالج وفق آليات معينة تضمن‬
‫سرعة استجابة البرنامج لقيم معينة لهذا العداد ‪.‬‬

‫أنماط العد ‪:‬‬

‫هنالك أربع أنماط للعد و هي ‪:‬‬

‫أوال ً – نمط العد وحيد الطور ( ‪: ) 1 Phase‬‬

‫حيث يتم العد عند الحواف الصاعدة للقطار النبضي على مدخل المتحكم ‪.‬‬

‫ثانياً – نمط العد وحيد الطور مع اتجاه ( ‪: ) 1 Phase + Dir‬‬

‫مشابه للنمط السابق‪ ،‬و لكن مع وجود مدخل إضافي لتحديد اتجاه العد‪ :‬تصاعدي ‪ /‬تنازلي ‪.‬‬

‫‪102 / 65‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


: ) CW + CCW ( ‫ثالثاً – نمط العد ثنائي الطور‬

. ‫حيث يتحدد اتجاه العد بحسب المدخل الذي ترد منه النبضات‬

: ) Phase A & Phase B ( ‫رابعاً – نمط العد ثنائي الطور‬

. ‫حيث يتحدد اتجاه العد من خالل فرق الطور بين المدخلين النبضيين‬

: MK80s ‫ في المعالج‬HSC ‫برمجة العداد‬

: ‫يبين الجدول التالي المواصفات الكهربائية للعداد عالي السرعة في هذا المعالج‬

Items Specification
Types A-phase, B-phase, Preset
Input
Rated Level 24VDC (15mA)
Signal
Signal Type Voltage input
Counting Range 0 ~ 16,777,215 (Binary 24 bits)
Max. Count Speed 1-phase 16kHz/ 2-phase 8kHz
Up/Down 1-Phase Sequence program or B-phase input
Selection 2-Phase Auto-select by phase difference of A-phase and B
Multiplication 1, 2, or 4
Preset Input Sequence program or external preset input

102 / 66 "Master-K" Training Course - ©2008


‫لتوصيل مداخل العداد عالي السرعة نتبع المخطط التالي ‪:‬‬

‫‪No.‬‬ ‫‪Terminal‬‬ ‫‪Name‬‬ ‫‪Description‬‬


‫‪1‬‬ ‫‪P00‬‬ ‫)‪A (24 Vdc‬‬ ‫‪A Phase Input Terminal‬‬
‫‪2‬‬ ‫‪P01‬‬ ‫)‪B (24 Vdc‬‬ ‫‪B Phase Input Terminal‬‬
‫‪3‬‬ ‫‪P02‬‬ ‫) ‪Preset (24 Vdc‬‬ ‫‪Preset Input Terminal‬‬
‫‪4‬‬ ‫‪COM0‬‬ ‫‪Common‬‬ ‫‪Common Terminal‬‬

‫تعليمة العداد عالي السرعة للمعالج ‪: 80s‬‬

‫‪ : EN‬مدخل تمكين العداد‪ ،‬و في حال كونه غير فعال يتم تجاهل نبضات الدخل ‪.‬‬ ‫‪‬‬
‫‪ : U/D‬مدخل تحديد اتجاه العد ( ‪ : 0‬تصاعدي ‪ :1 ،‬تنازلي ) ‪.‬‬ ‫‪‬‬
‫‪ : PR‬عند يكون المدخل في حالة ‪ On‬يتم جعل القيمة الحالية مساوية لقيمة الضبط ‪.‬‬ ‫‪‬‬
‫‪ : PV‬قيمة الضبط ‪. Preset Value‬‬ ‫‪‬‬
‫‪ : SV‬القيمة الهدف ‪ Set Value‬و هي القيمة التي يتفعل عندها الخانة الخاصة ‪ F170‬و ذلك‬ ‫‪‬‬
‫عندما تصل القيمة الحالية للعداد إلى القيمة الهدف أي تحقق المتراجحة ‪:‬‬

‫𝑉 ‪𝐶. 𝑉 ≥ 𝑆.‬‬

‫‪102 / 67‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


: ‫ ) و ذلك وفق الجدول التالي‬D4999 ( ‫يتم ضبط إعدادات العداد بوضع قيمة معينة في خلية الذاكرة‬

Op. Mode Input Terminal


Multiplication Description
(D4999) P0 P1 P2
U/D: By Program
h1000 Pulse In - -
P/R: By Program
U/D: By Program
h1010 Pulse In - Preset In
1 P/R: By PR Input
Phase U/D: By Input
h1100 Pulse In U/D -
P/R: Program
U/D: By Input
h1110 Pulse In U/D Preset In
P/R: By PR Input
h2001 A  B  - 1 1x
h2002 A  B  - 2 2x
2 h2004 A  B  - 4 4x
Phase h2011 A  B  Preset In 1 1x
h2012 A  B  Preset In 2 2x
h2014 A  B  Preset In 4 4x

:‫مثال‬

‫ و‬F18 ‫ ) للعداد من حجرة لذاكرة الخاصة‬Current Value ( ‫و الجدير بالذكر أنه يمكن قراءة القيمة الحالية‬
. Double Word ‫بطول‬

102 / 68 "Master-K" Training Course - ©2008


‫برمجة العداد ‪ HSC‬في المعالج ‪: MK120s‬‬

‫يتم ضبط نمط العد والعديد من الخيارات اإلضافية بواسطة صفحة البارامترات الخاصة بالعداد ‪.. HSC‬‬

‫‪ : Counter Format‬ننوع العداد ( خطي ‪ / Linear‬حلقي ‪. ) Ring‬‬ ‫‪‬‬


‫‪ : Counter Mode‬شكل نبضات دخل العداد عالي السرعة ‪.‬‬ ‫‪‬‬
‫‪ : Preset Setting‬ضبط إعداد تحميل العداد بقيمة معينة و لها طريقتين ( ‪. ) SW / HW‬‬ ‫‪‬‬
‫‪ : Latch Enable‬مسك القيمة الحالية للعداد عند انقطاع التغذية ‪.‬‬ ‫‪‬‬
‫‪ : Comparison Output‬ضبط مخرج المقارنة ( تفعيل مخرج آلياً عند وصول العداد لقيمة معينة )‬ ‫‪‬‬
‫‪ : RPM Enable‬حساب قيمة السرعة ‪ rpm‬بشكل تلقائياً ‪.‬‬ ‫‪‬‬

‫‪102 / 69‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫تعليمة العداد عالي السرعة للمعالج ‪: 120s‬‬

‫يبين الشكل التالي الشكل العام لهذه التعليمة‪:‬‬

‫لهذه التعليمة ثالثة بارامترات و هي ‪:‬‬

‫‪ : Ch. Number‬رقم العداد عالي السرعة ‪.‬‬ ‫‪‬‬


‫‪ : SV‬القيمة الهدف ‪.‬‬ ‫‪‬‬
‫‪ : CV‬القيمة الحالية ‪.‬‬ ‫‪‬‬

‫عند وصول القيمة الحالية إلى القيمة الهدف يقوم المعالج بجعل أحد خانات الوظائف الخاصة في‬
‫الوضعية ‪ On‬و ذلك بحسب قناة العد ( رقم العداد ) المستخدمة ‪.‬‬

‫و الجدول التالي يوضح هذه الخانات‪:‬‬

‫‪HSC Ch#‬‬ ‫‪Function Bit‬‬


‫‪0‬‬ ‫‪F170‬‬
‫‪1‬‬ ‫‪F171‬‬
‫‪2‬‬ ‫‪F172‬‬
‫‪3‬‬ ‫‪F173‬‬

‫يلخص الجدول التالي المداخل المخصصة للعداد عالي السرعة في هذا المعالج ‪...‬‬

‫‪HSC Mode‬‬ ‫‪P0‬‬ ‫‪P1‬‬ ‫‪P2‬‬ ‫‪P3‬‬ ‫‪P4‬‬ ‫‪P5‬‬ ‫‪P6‬‬ ‫‪P7‬‬
‫‪Clock‬‬ ‫‪Clock‬‬ ‫‪Clock‬‬ ‫‪Clock‬‬ ‫‪Ch0‬‬ ‫‪Ch1‬‬ ‫‪Ch2‬‬ ‫‪Ch3‬‬
‫‪1 Phase‬‬ ‫‪Input‬‬ ‫‪Input‬‬ ‫‪Input‬‬ ‫‪Input‬‬ ‫‪Preset‬‬ ‫‪Preset‬‬ ‫‪Preset‬‬ ‫‪Preset‬‬
‫‪HSC#1‬‬ ‫‪HSC#2‬‬
‫‪2 Phase‬‬ ‫‪A‬‬ ‫‪B‬‬ ‫‪A‬‬ ‫‪B‬‬ ‫‪Preset‬‬
‫‪-‬‬
‫‪Preset‬‬
‫‪-‬‬

‫أما الجدول أدناه فيبين اختالفات العداد عالي السرعة بين المعالجين ‪ 120s‬و ‪... 80s‬‬

‫‪Item‬‬ ‫‪MK120s‬‬ ‫‪MK80s‬‬


‫‪HSC 2Phase No.‬‬ ‫‪2‬‬ ‫‪1‬‬
‫‪HSC 1Phase No.‬‬ ‫‪4‬‬ ‫‪1‬‬
‫‪CW/CCW Support‬‬ ‫‪Yes‬‬ ‫‪No‬‬
‫‪Counting Range‬‬ ‫)‪0 ~ 4,294,96,7296 (32 Bit‬‬ ‫)‪0 ~ 16,777,215 (24 Bit‬‬
‫‪( Ch0, Ch1):‬‬
‫‪1-phase 100kHz/ 2-phase 50kHz‬‬ ‫‪1-phase 16kHz‬‬
‫‪Max Speed Counting‬‬ ‫)‪( Ch2, Ch3‬‬ ‫‪2-phase 8kHz‬‬
‫‪1-phase 20kHz/ 2-phase 10kHz‬‬
‫‪Setting Method‬‬ ‫‪Parameters‬‬ ‫‪Instructions‬‬

‫‪102 / 70‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫مالحظات و أفكار‬
‫(هذه الصفحة مخصصة إلضافة مالحظات و أفكار القارئ عن كل فصل)‬

‫‪102 / 71‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫الفصل السابع‬
‫التعامل مع وحدات التوسـعة‬

‫‪102 / 72‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫وحدات التوسعة التشابهية ‪:‬‬

‫تستخدم وحدات التوسعة التشابهية للتعامل مع اإلشارات التشابهية ضمن المجال ( ‪) 0 ~ 10 V‬‬
‫كجهد و ضمن المجال ( ‪ ) 0 ~ 20 mA‬كتيار ‪ ..‬حيث يمكن للمعالج أن يحول قيمة اإلشارة التشابهية‬
‫على دخله إلى قيمة رقمية‪ ،‬أو يمكن أن يولد إشارة تشابهية مكافئة لقيمة رقمية يحددها المبرمج ‪.‬‬

‫يتم قراءة قيمة الدخل التشابهي أو تحديد قيمة الخرج التشابهي من خالل مواقع خاصة لخاليا الذاكرة‬
‫المبينة في الجدول التالي ‪:‬‬

‫العناصر‬ ‫خاليا‬
‫الذاكرة‬
‫توسعات ‪D/A‬‬ ‫‪A/D‬‬ ‫التوسعات المختلطة‬
‫موقع التوسعة‬
‫‪G7F-DA2V‬‬ ‫‪G7F-DA2I‬‬ ‫‪G7F-AD2A‬‬ ‫‪G7F-ADHB‬‬ ‫‪G7F-ADHA‬‬
‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬
‫‪CH0‬‬ ‫‪CH0‬‬ ‫‪CH0‬‬ ‫‪CH0‬‬ ‫‪CH0‬‬
‫‪D/A value‬‬ ‫‪D/A value‬‬ ‫‪A/D value‬‬ ‫‪A/D value‬‬ ‫‪A/D value‬‬
‫‪D4980‬‬ ‫‪D4984‬‬ ‫‪D4988‬‬
‫‪CH1‬‬ ‫‪CH1‬‬ ‫‪CH1‬‬ ‫‪CH1‬‬ ‫‪CH1‬‬
‫‪D/A value‬‬ ‫‪D/A value‬‬ ‫‪A/D value‬‬ ‫‪A/D value‬‬ ‫‪A/D value‬‬
‫‪D4981‬‬ ‫‪D4985‬‬ ‫‪D4989‬‬
‫‪CH2‬‬ ‫‪CH2‬‬ ‫‪CH2‬‬ ‫‪CH0‬‬ ‫‪CH0‬‬
‫‪D/A value‬‬ ‫‪D/A value‬‬ ‫‪A/D value‬‬ ‫‪D/A value‬‬ ‫‪D/A value‬‬
‫‪D4982‬‬ ‫‪D4986‬‬ ‫‪D4990‬‬
‫‪CH3‬‬ ‫‪CH3‬‬ ‫‪CH3‬‬ ‫‪CH1‬‬
‫‪-‬‬ ‫‪D4983‬‬ ‫‪D4987‬‬ ‫‪D4991‬‬
‫‪D/A value‬‬ ‫‪D/A value‬‬ ‫‪A/D value‬‬ ‫‪D/A value‬‬

‫يبين الشكل التالي نموذجاً عن وحدة التوسعة ‪. G7F-ADHA‬‬

‫‪102 / 73‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫أما األشكال التالية فتبين مخطط التوصيل ‪:‬‬

‫توصيل المداخل التشابهية‬ ‫توصيل المخارج التشابهية‬

‫يتم تحديد نوع الدخل ( تيار ‪ /‬جهد ) من خالل القصرات ( ‪ ) Jumpers‬على سطح التوسعة ‪:‬‬

‫مخططات التحويل ‪:‬‬

‫أوال ً – قناة الدخل التشابهية ( جهد ) ‪:‬‬

‫) ‪( 0 ~ 10 Vdc Voltage )  ( 0 ~ 4000 Digital Value‬‬


‫‪Resolution = 2.5 mV / Step‬‬

‫‪102 / 74‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


: ) ‫ثانياً – قناة الدخل التشابهية ( تيار‬

( 0 ~ 20 mA DC Current )  ( 0 ~ 4000 Digital Value )


Resolution = 5 A / Step

: ) ‫ثالثاً – قناة الخرج التشابهية ( جهد‬

( 0 ~ 4000 Digital Value )  ( 0 ~ 10 Vdc Voltage )


Resolution = 2.5 mV / Step

102 / 75 "Master-K" Training Course - ©2008


‫رابعاً – قناة الخرج التشابهية ( تيار ) ‪:‬‬

‫) ‪( 0 ~ 4000 Digital Value )  ( 0 ~ 20 mA DC Current‬‬


‫‪Resolution = 5 A / Step‬‬

‫مثال‪:‬‬

‫المطلوب قراءة القناة التشابهية الثالثة من التوسعة ‪ ، G7F-AD2A‬و تفعيل المخرج ‪ P40‬إذا كانت قيمة إشارة‬
‫الجهد على هذه القناة ضمن المجال ( ‪) 5 ~ 7.5 Volts‬و ذلك بافتراض أن ترتيب التوسعة هو ‪. 2‬‬

‫مالحظة هامة‪:‬‬

‫يجب تعريف نوع و ترتيب كل توسعة تشابهية متصلة مع المعالج‪ ،‬و ذلك من خالل صفحة الـ ‪Analog‬‬
‫ضمن قوائم البارامترات في برنامج ‪. KGL-Win‬‬

‫‪102 / 76‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫وحدة التوسعة الحرارية ‪:‬‬

‫تستخدم للحصول على قيمة درجة الحرارة حيث تعمل هذه التوسعة كدارة مالئمة مع الحساس‬
‫الحراري و تحول الحرارة لقيمة رقمية يتم تخزينها في مواقع ذاكرة ثابتة مبينة في الجدول التالي ‪:‬‬

‫درجة‬ ‫مسجل‬
‫الحرارة‬ ‫الحالة‬
‫‪G7F-RD2A‬‬
‫موقع التوسعة‬ ‫موقع التوسعة‬
‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬
‫‪CH0‬‬
‫‪D4980 D4984 D4988‬‬
‫‪Temperature‬‬
‫‪D4880‬‬ ‫‪D4882‬‬ ‫‪D4884‬‬
‫‪CH1‬‬
‫‪D4981 D4985 D4989‬‬
‫‪Temperature‬‬
‫‪CH2‬‬
‫‪D4982 D4986 D4990‬‬
‫‪Temperature‬‬
‫‪D4881‬‬ ‫‪D4883‬‬ ‫‪D4885‬‬
‫‪CH3‬‬
‫‪D4983 D4987 D4991‬‬
‫‪Temperature‬‬

‫قيمة الحرارة المقروءة من المسجالت الخاصة تكون بدقة ( ‪ ) 0.1‬و مجال الحرارة المسموح هو‬
‫( ‪ ) -200 ~ +600 C‬أي مجال القراءة هو ( ‪. ) -2000 ~ + 6000 C‬‬

‫يتم تحديد موقع التوسعة بالنسبة للمعالج‪ ،‬و كذلك وحدة قياس الحرارة ( ‪ ) C / F‬من خالل صفحة‬
‫‪ Analog‬ضمن قوائم البارامترات ‪.‬‬

‫يتكون مسجل الحالة من كلمة مقسومة إلى بايتين‪ ،‬كل بايت يزود المبرمج بمعلومات العطل عن إحدى‬
‫قنوات التوسعة الحرارية‪ ..‬و الشكل التالي يوضح بنية هذا المسجل ‪:‬‬

‫إجراء التصحيح‬ ‫الوصف‬ ‫شفرة الخطأ‬


‫ال يوجد خطأ‬ ‫‪0‬‬
‫تأكد من وصلة الحساس مع وحدة التوسعة‬ ‫فصل عند النقطة ‪A‬‬ ‫)‪16(10h‬‬
‫تأكد من وصلة الحساس مع وحدة التوسعة‬ ‫فصل عند النقطة ‪B‬‬ ‫)‪17(11h‬‬
‫تأكد من وصلة الحساس مع وحدة التوسعة‬ ‫فصل عند النقطتين ‪ A‬و ‪B‬‬ ‫)‪18(12h‬‬
‫حدد نوع الحساس بشكل صحيح‪ ،‬أو حافظ على الحرارة‬
‫الحرارة خارج المجال‬ ‫)‪19(13h‬‬
‫ضمن المجال ( ‪) -200 ~ 600‬‬

‫‪102 / 77‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫و فيما يلي شكل التوسعة و طرق توصيل الحساس الحراري ‪:‬‬

‫‪102 / 78‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫ساعة الزمن الحقيقي ‪:‬‬

‫تستخدم لتزويد المعالج بالبيانات الخاصة بالتاريخ ( سنة‪ ،‬شهر‪ ،‬يوم )‬


‫و كذلك بيانات الساعة ( ثانية‪ ،‬دقيقة‪ ،‬ساعة ) مما يسمح للمبرمج‬
‫بتنفيذ أوامر تحكم في أيام معينة و أوقات محددة ‪.‬‬

‫يجب تثبيت توسعة ساعة الزمن الحقيقي على ممر التوسعة‬


‫الخاص بالمعالج‪ ،‬أو على ممر التوسعة الخاص بآخر وحدة توسعة‬
‫مرتبطة بالمعالج ‪.‬‬

‫قراءة بيانات ‪: RTC‬‬


‫يوضح الجدول التالي مواقع بيانات ‪ RTC‬في الذاكرة ‪:‬‬

‫أمثلة‬ ‫الوصف‬ ‫مسجل‬


‫( صيغة ‪) BCD‬‬ ‫البايت األعلى‬ ‫البايت األدنى‬ ‫الذاكرة‬
‫‪H0207‬‬ ‫سنة ( أول خانتين)‬ ‫شهر‬ ‫‪F53‬‬
‫‪H2313‬‬ ‫يوم‬ ‫ساعة‬ ‫‪F54‬‬
‫‪H5020‬‬ ‫دقيقة‬ ‫ثانية‬ ‫‪F55‬‬
‫‪H2002‬‬ ‫سنة ( آخر خانتين)‬ ‫يوم األسبوع‬ ‫‪F56‬‬

‫أما الجدول التالي فيوضح كيف يتم ترميز كل يوم من األسبوع برقم معين ‪..‬‬

‫‪6‬‬ ‫‪5‬‬ ‫‪4‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫الرقم‬

‫سبت‬ ‫جمعة‬ ‫خميس‬ ‫أربعاء‬ ‫ثالثاء‬ ‫اثنين‬ ‫أحد‬ ‫اليوم‬

‫تحديث بيانات ‪: RTC‬‬


‫يمكن للمبرمج أن يغير من بيانات ساعة الزمن الحقيق بواسطة برنامجه عبر وضع القيم الجديدة لهذه‬
‫البيانات في خاليا ذاكرة معينة‪ ،‬ثم تفعيل الخانة ( ‪ ) M1904‬لدورة مسح وحيدة ‪.‬‬

‫يبين الجدول التالي مواقع الذاكرة الخاصة بالتحديث ‪...‬‬

‫الوصف‬ ‫مسجل‬
‫البايت األعلى‬ ‫البايت األدنى‬ ‫الذاكرة‬

‫سنة ( أول خانتين)‬ ‫شهر‬ ‫‪D4992‬‬


‫يوم‬ ‫ساعة‬ ‫‪D4993‬‬
‫دقيقة‬ ‫ثانية‬ ‫‪D4994‬‬
‫سنة ( آخر خانتين)‬ ‫يوم األسبوع‬ ‫‪D4995‬‬

‫‪102 / 79‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫ضبط بيانات ‪ RTC‬من الحاسب ‪:‬‬
‫يمكن ضبط ساعة الزمن الحقيقي عبر برنامج ‪ KGL-Win‬بإتباع الخطوات التالية ‪:‬‬

‫ننفذ األمر ( ‪ ) Set PLC Clock‬من القائمة ( ‪ ) Online \ Write Information‬فتظهر النافذة التالية‪:‬‬

‫و هنا لدينا خيارين‪:‬‬

‫‪: Set By PLC Clock‬‬ ‫‪‬‬


‫لمزامنة ساعة التوسعة مع ساعة الحاسب ‪.‬‬

‫‪: Set By Next Value‬‬ ‫‪‬‬


‫ً‬
‫لضبط بيانات ساعة التوسعة يدويا باإلدخال المباشر للقيم ‪.‬‬

‫ننتقي الخيار المناسب ثم نضغط زر "‪. "OK‬‬

‫‪102 / 80‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫مالحظات و أفكار‬
‫(هذه الصفحة مخصصة إلضافة مالحظات و أفكار القارئ عن كل فصل)‬

‫‪102 / 81‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫الفصل الثامن‬
‫مشاريع عملية‬

‫‪102 / 82‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫المشروع ( ‪) 1‬‬
‫السير الناقل اآللي‬

‫بفرض أنه لدينا ثالث سيور متتالية يمر عليها منتج ما‪ ،‬كما في الشكل التالي ‪:‬‬

‫و المطلوب تنفيذ آلية العمل التالية‪:‬‬

‫عند مرور المنتج أمام الحساس الضوئي ( ‪ ) P00‬يقوم المتحكم بتفعيل السير األوسط آلياً عبر المخرج‬
‫( ‪ ) P40‬و عند مرور المنتج أمام حساس الخروج ( ‪ ) P01‬يتم إيقاف السير ‪.‬‬

‫وظيفة ‪:‬‬
‫ع ّ‬
‫دل البرنامج بحيث يتم إضافة حساس "تحميل زائد على المحرك" على المدخل ( ‪ ) P02‬بحيث يقوم‬
‫المتحكم بفصل محرك السير عند ورود إشارة على هذا المدخل ‪.‬‬

‫‪102 / 83‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫المشروع ( ‪) 2‬‬
‫عربة النفخ‬

‫بفرض أنه لدينا عربة متحركة على سكة أفقية كما في الشكل التالي ‪:‬‬

‫و المطلوب تنفيذ آلية العمل التالية‪:‬‬

‫عندما يضغط المستخدم على زر البدء "‪ "Start‬يقوم المتحكم بتحريك العربة جيئة و ذهاباً على السكة‬
‫باالعتماد على حساسي نهاية الشوط عند كل طرف للسكة مع تشغيل أمر النفخ‪ ..‬و عند الضغط على‬
‫زر اإليقاف "‪ ، "Stop‬تقف العربة مباشر ًة ‪.‬‬

‫وظيفة ‪:‬‬
‫دل البرنامج بحيث يتم إضافة حساس ضوئي "الكتشاف وجود جسم على السكة " على المدخل‬ ‫ع ّ‬
‫( ‪ ) P04‬يعمل كتماس ( ‪ ) NO‬بحيث يقوم المتحكم بإيقاف العربة حتى زوال الجسم ثم يتابع تحريك‬
‫العربة بنفس االتجاه التي كانت تتجه إليه ‪.‬‬

‫‪102 / 84‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫المشروع ( ‪) 3‬‬
‫عربة التعبئة و التفريغ‬

‫بفرض أنه لدينا عربة متحركة على سكة أفقية كما في الشكل التالي ‪:‬‬

‫و المطلوب تنفيذ آلية العمل التالية‪:‬‬

‫عندما يضغط المستخدم على زر البدء "‪ "Start‬يقوم المتحكم بفتح بوابة تفريغ الخزان ‪ G1‬و ذلك لتعبئة‬
‫العربة‪ ،‬و عندما ترد إشارة على المدخل ( ‪ ) P02‬التي تدل على امتالء العربة‪،‬تغلق البوابة ‪ G1‬ثم تتحرك‬
‫العربة باتجاه نقطة التفريغ المحددة بالحساس ( ‪ ، ) P03‬و عندها يتم فتح بوابة تفريغ العربة ‪ G2‬حتى‬
‫ورود إشارة الحساس ( ‪ ) P01‬التي تدل على أن العربة أصبحت فارغة‪ ،‬فيتم إغالق بوابة التفريغ ‪ G2‬ثم‬
‫يعود المتحكم بالعربة إلى نقطة التعبئة من جديد باالستفادة من حساس موقع بدء الحركة ( ‪) Z-Point‬‬
‫على المدخل ( ‪. ) P00‬‬

‫وظيفة ‪:‬‬
‫دل البرنامج بحيث يتم إضافة حساس "مستوى تعبئة‪ "2-‬على المدخل ( ‪ ) P04‬يمثل مستوى تعبئة‬ ‫ع ّ‬
‫فوق المستوى المحدد بالحساس ( ‪ ، ) P02‬و عند بدء عملية التعبئة يفحص المتحكم خانة الذاكرة ‪K1‬‬
‫التي تمثل رغبة المستخدم في التعبئة إلى أحد المستويين ‪.‬‬

‫‪102 / 85‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫المشروع ( ‪) 4‬‬
‫إقالع محرك نجمي ‪ -‬مثلثي‬

‫بفرض أنه لدينا التوصيالت الكهربائية التالية لمحرك ‪:‬‬

‫و المطلوب تنفيذ آلية العمل التالية‪:‬‬

‫عندما يضغط المستخدم على زر البدء "‪ "Start‬يقوم المتحكم بتشغيل الكونتاكتور الرئيسي ‪ Km‬و‬
‫كونتاكتور التوصيل النجمي ‪ .. Ks‬و بعد تأخير زمني قدره ‪ 5 Sec‬يتم فصل ‪ Ks‬و انتظار ‪ 0.5 Sec‬يليه وصل‬
‫كونتاكتور التوصيل المثلثي ‪. kd‬‬

‫عند ضغط زر التوقف "‪ "Stop‬يتم فصل جميع الكونتاكتورات ‪.‬‬

‫وظيفة ‪:‬‬
‫ع ّ‬
‫دل البرنامج بحيث يتم إضافة المميزات التالية‪:‬‬
‫‪ ‬وصل التماسات المساعدة للكونتاكتورات ( ‪ ) Km, Ks, Kd‬إلى المداخل ( ‪ ) P2, P3, P4‬على‬
‫الترتيب ‪ ..‬وفي حال عدم استجابة أحد الكونتاكتورات ألمر التشغيل يتم فصل جميع األوامر ‪.‬‬
‫‪ ‬بافتراض وجود ريليه حرارية تعمل كعنصر حماية بين المحرك و الكونتاكتور الرئيسي و تم وصل‬
‫تماسها ( بوضعية ‪ ) NC‬إلى المدخل ( ‪ .. ) P5‬استفد من هذا المدخل كأمر فصل لجميع‬
‫الكونتاكتورات المستخدمة ‪.‬‬

‫‪102 / 86‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫المشروع ( ‪) 5‬‬
‫تعبئة سيارة صهريج ماء‬

‫بفرض أنه لدينا سيارة تحمل صهريج ماء يراد تعبئتها بكمية معينة من الماء كما في الشكل ‪:‬‬

‫و المطلوب تنفيذ آلية العمل التالية‪:‬‬

‫عندما يضغط المستخدم على زر البدء "‪ "Start‬يقوم المتحكم بفتح بوابة تفريغ خزان الماء ‪ G1‬ليمر‬
‫التدفق المائي عبر حساس التدفق ( ‪ ) P02‬و الذي يعطي قطار نبضي على خرجه متناسب مع عدد‬
‫اللترات المتدفقة ( افرض كل ‪ 1‬نبضة تعادل مرور ‪ 1‬لتر ) ‪ ..‬و عند مرور ‪ 75‬لتر تتوقف عملية التعبئة‪.‬‬

‫مع مالحظة النقاط التالية ‪:‬‬


‫‪ ‬تشغيل اللمبة على المخرج ( ‪ ) P41‬في وضعية الوميض عندما يتبقى ) ‪ ) 5‬لتر على انتهاء‬
‫عملية التعبئة ‪.‬‬
‫‪ ‬عندما ال يتبق ماء في الخزن ( وفق الحساس ‪ ) P03‬يتم إيقاف عملية التعبئة ‪.‬‬

‫وظيفة ‪:‬‬
‫ع ّ‬
‫دل البرنامج بحيث يتم إضافة المميزات التالية‪:‬‬
‫‪ ‬إضافة حساس تأكيد إغالق البوابة ( ‪ ) P04‬فإذا لم تستجب البوابة ألمر اإلغالق ( لمدة ‪ 3‬ثا )‬
‫يتم تفعيل مخرج التنبيه الصوتي ‪. ) P42 ( Buzzer‬‬

‫بافتراض أن سعة الخزان باللتر مخزنة ضمن الذاكرة ( ‪ ،) D7‬المطلوب تنبيه المستخدم إذا لم‬ ‫‪‬‬
‫يبق في الخزان سوى ‪ 25‬لتر و ذلك بتفعيل اللمبة على المخرج ( ‪. ) P43‬‬

‫‪102 / 87‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫المشروع ( ‪) 6‬‬
‫عداد إنتاج مزود بفاحص وزن‬

‫بفرض أنه لدينا سير مزود بخلية وزن كما في الشكل التالي ‪:‬‬

‫و المطلوب تنفيذ آلية العمل التالية‪:‬‬

‫عندما يضغط المستخدم على زر البدء "‪ "Start‬يقوم المتحكم بتشغيل محرك السير ( ‪ ) P40‬و عندما يمر‬
‫المنتج أمام الحساس ( ‪ ) P00‬تبدأ عملية وزن المنتج‪ ،‬و تعطي الخلية إشارة على المدخل ( ‪ ) P01‬تدل‬
‫على أن الوزن صحيح و ذلك خالل زمن ال يتجاوز ( ‪ .. ) 2 Sec‬و إذا لم تعطي هذه اإلشارة يقوم المتحكم‬
‫بتشغيل الدفاش ‪ Ejector‬وذلك بتفعيل المخرج ( ‪ ) P41‬لمدة ‪. 650 mSec‬‬

‫مع مالحظة أن يقوم المتحكم بعد القطع ذات الوزن الصحيح و تخزينها في حجرة ذاكرة يختارها المبرمج ‪.‬‬

‫وظيفة ‪:‬‬
‫ع ّ‬
‫دل البرنامج بحيث يتم إضافة المميزة التالية‪:‬‬

‫إذا تجاوز عدد القطع ذات الوزن الخاطئ ( ‪ ) 50‬قطعة يقوم المتحكم بـ ‪:‬‬ ‫‪‬‬

‫‪ ‬إيقاف السير الناقل ‪.‬‬


‫‪ ‬تفعيل لمبة التنبيه على المخرج ( ‪. ) P42‬‬

‫‪102 / 88‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫المشروع ( ‪) 7‬‬
‫تنظيم حرارة فرن‬

‫بفرض أنه لدينا فرن يراد تنظيم درجة حرارته عند قيمة معينة ‪...‬‬

‫و المطلوب تنفيذ آلية العمل التالية‪:‬‬

‫عندما يضغط المستخدم على زر البدء "‪ "Start‬يقوم المتحكم بتشغيل الحرّاق بتفعيل المخرج ( ‪ ) P40‬و‬
‫يبدأ عملية تنظيم الحرارة وفق الخوارزمية التالية‪:‬‬

‫بفرض أن قيمة الحرارة الحالية مخزنة في الخلية ‪) C.V. ( D19‬‬ ‫‪‬‬


‫و بفرض أن قيمة الحرارة المطلوبة مخزنة في الخلية ‪) S.V. ( D2000‬‬ ‫‪‬‬

‫‪C.V > S.V.‬‬ ‫تستمر عملية التسخين حتى تتحقق المتراجحة‪:‬‬


‫) ‪C.V < S.V. - ) 3 C‬‬ ‫و يعاود المتحكم عملية التسخين إذا كان ‪:‬‬

‫يجب أن تستمر عملية التنظيم لمدة نصف الساعة‪ ،‬بعدها يقوم المتحكم بإطفاء الحرّاق ‪.‬‬
‫عند ضغط كباس اإليقاف "‪ "Stop‬تتوقف عملية التسخين مباشر ًة ‪.‬‬

‫مالحظة‪:‬‬
‫يجب أن يحافظ المتحكم على زمن التسخين حتى لو تم ضغط كباس التوقف ‪ ..‬و يتم تصفير هذا الزمن‬
‫المتراكم عن طريق كباس التصفير "‪ "Reset‬أو عندما ينتهي زمن التسخين بالكامل ‪.‬‬

‫وظيفة ‪:‬‬
‫ع ّ‬
‫دل البرنامج بحيث يتم إضافة المميزة التالية‪:‬‬

‫إذا تجاوزت الحرارة القيمة ( ‪ ) S.V. + 10 C‬يقوم المتحكم بتفعيل لمبة التنبيه على شكل‬ ‫‪‬‬
‫وميض على المخرج ( ‪ ) P41‬بحيث زمن الـ ‪ 2 = On‬ثا‪ ،‬و زمن الـ ‪ 1 = Off‬ثا ‪.‬‬

‫‪102 / 89‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫المشروع ( ‪) 8‬‬
‫حساب قيمة الـ ‪ R.P.M.‬لمحرك‬

‫بفرض أنه لدينا محرك ما نريد قياس سرعته ( دورة ‪ /‬الدقيقة ) وذلك بوصل إنكودر مع محور المحرك‬
‫يعطي على خرجه قطار نبضي متناسب مع دوران المحرك ‪.‬‬

‫اكتب برنامجاً لحساب سرعة المحرك بافتراض أن ‪:‬‬

‫‪ o‬كل ( ‪ ) 14‬نبضة من اإلنكودر تعادل دورة واحدة للمحرك ‪.‬‬


‫‪ o‬قيمة السرعة المنخفضة ( ‪. ) 100 RPM‬‬
‫‪ o‬قيمة السرعة العالية ( ‪. ) 900 RPM‬‬

‫على أن يقوم المتحكم بتفعيل لمبتين (‪ )P41‬و (‪ )P42‬عند السرعة المنخفضة و العالية على الترتيب ‪.‬‬

‫‪102 / 90‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫المشروع ( ‪) 9‬‬
‫تنظيم سرعة مروحة تكييف‬

‫بفرض أنه لدينا مبنى مكون من ( ‪ ) 12‬غرفة‪ ،‬كل غرفة تحوي حساس يعطي إشارة في حال ارتفاع‬
‫درجة الحرارة عن قيمة معينة‪ ،‬كما هو مبين في الشكل التالي ‪:‬‬

‫و المطلوب تنفيذ آلية العمل التالية‪:‬‬


‫عندما يكون هناك طلب تبريد من أحد الغرف على األقل‪ ،‬يقوم المتحكم بتشغيل مروحة التبريد التي‬
‫تضخ هواء شبكة التكييف المركزي و ذلك على المخرج ( ‪. ) P40‬‬

‫المخارج الثالثة ( ‪ ) P41, P42, P43‬تمثل التحكم بسرعة المروحة وفق الجدول أدناه ‪.‬‬
‫يجب تشغيل المروحة بسرعة متناسبة مع النسبة المئوية لعدد الغرف التي تطلب التكييف ‪.‬‬

‫‪Speed‬‬ ‫‪P43‬‬ ‫‪P42‬‬ ‫‪P41‬‬


‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬
‫‪2‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬
‫‪3‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬
‫‪4‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬
‫‪5‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬
‫‪6‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬
‫‪7‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬
‫‪8‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬

‫وظيفة ‪:‬‬
‫ع ّ‬
‫دل البرنامج بحيث يتم إضافة المميزة التالية‪:‬‬
‫إضافة مفتاح ( ‪ ) On / Off‬لعمل النظام على المدخل ( ‪. ) P00‬‬

‫‪102 / 91‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫المشروع ( ‪) 10‬‬
‫النظام اليدوي لمحطة ضخ‬

‫بفرض أنه لدينا محطة ضخ مكونة من أربع مضخات يراد تصميم نظام التشغيل اليدوي لها ‪...‬‬

‫و المطلوب تنفيذ آلية العمل التالية‪:‬‬

‫اكتب برنامجاً باستخدام التعليمات المنطقية و تعليمات الدوران بحيث تعمل كل مضخة إذا تحقق‬
‫الشرطين التاليين ‪:‬‬

‫‪ .1‬مفتاح نمط لعمل للمضخة ( آلي ‪ /‬يدوي ) في الوضعية اليدوية ( ‪. ) On‬‬


‫‪ .2‬كباس اختبار المضخة في الوضعية ( ‪. ) On‬‬

‫وظيفة ‪:‬‬
‫ع ّ‬
‫دل البرنامج بحيث يتم إضافة المميزة التالية‪:‬‬
‫إضافة أربع مخارج ( ‪ ) P44, P45, P46, P47‬تمثل ‪ 4‬لمبات تمثل عمل كل مضخة ‪.‬‬

‫‪102 / 92‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


‫المالحق‬
‫مجموعة من المعلومات العملية المفيدة‬

‫‪102 / 93‬‬ ‫‪"Master-K" Training Course - ©2008‬‬


: MK120s ‫مواصفات المعالج‬

: ‫يبين الجدول التالي أهم المميزات البرمجية لهذا المعالج‬

K7M – K7M – K7M – K7M –


Items DR/DRT/DT20U DR/DRT/DT30U DR/DRT/DT40U DR/DRT/DT60U
Cyclic execution of stored program, Time-driven interrupt,
Program control method
Process-driven interrupt

Processing speed 0.1 µs/step

Program capacity 10K Steps

P P000 ~ P63F

M M000 ~ M191F

K K000 ~ K31F

L L000 ~ L63F

F F000 ~ F63F
Memory
Device 100msec : T000 ~ T191 (192 points)
10msec : T192 ~ T250 (59 points)
T
1msec : T251 ~ T255 (5 points)
-. Adjustable by parameter setting
C C000 ~ C255

S S00.00 ~ S99.99

D D0000 ~ D4999

Self-diagnosis functions Detects errors of scan time, memory, I/O and power supply

Max. expansion level Up to 3 level

102 / 94 "Master-K" Training Course - ©2008


.. MK120s ‫كما يبين الجدول التالي المواصفات الكهربائية للمداخل و المخارج الخاصة بالمعالج‬

K7M – K7M – K7M – K7M –


Items DR/DRT/DT20U DR/DRT/DT30U DR/DRT/DT40U DR/DRT/DT60U

Rated voltage 85 ~ 264 VAC


Rated
50 / 60 Hz (47 ~ 63 Hz)
frequency
Rated current 0.5A(110VAC)/0.25A(220VAC) 0.6A(110VAC)/0.3A(220VAC)
Inputs
Inrush current Up to 30A Up to 60A

Input fuse 2A/AC250V


Permitted
Momentary 10 ms
power failure
Rated Load
DC 24V : 2A/1 Point
Output Voltage
AC220V : 2A/1 Point
(R) Rated Load
Current 5A /1 COM
Rated Load
DC 12/24V
Output Voltage
(T) Max Load
0.1 A
Current

102 / 95 "Master-K" Training Course - ©2008


: MK120s (E) ‫مواصفات المعالج‬

: 120S(E) ‫يبين الجدول التالي أهم المميزات البرمجية للمعالج االقتصادي‬

Items K7M –DR10UE K7M –DR14UE K7M –DR20UE K7M –DR30UE

Cyclic execution of stored program, Time-driven interrupt,


Program control method
Process-driven interrupt

Processing speed 0.4 µs/step

Program capacity 2K Steps

P P000 ~ P63F

M M000 ~ M191F

K K000 ~ K31F

L L000 ~ L63F

F F000 ~ F63F
Memory
Device 100msec : T000 ~ T191 (192 points)
10msec : T192 ~ T250 (59 points)
T
1msec : T251 ~ T255 (5 points)
-. Adjustable by parameter setting
C C000 ~ C255

S S00.00 ~ S99.99

D D0000 ~ D4999

Self-diagnosis functions Detects errors of scan time, memory, I/O and power supply

Max. expansion level Up to 2 level

102 / 96 "Master-K" Training Course - ©2008


: MK80s ‫مواصفات المعالج‬

: ‫يبين الجدول التالي أهم المميزات البرمجية لهذا المعالج‬

K7M–DR/DT K7M–DR/DT K7M–DR/DT K7M–DR/DT K7M–DR/DT


Items 10S(/DC) 20S(/DC) 30S(/DC) 40S(/DC) 60S(/DC)
Cyclic execution of stored program, Time-driven interrupt,
Program control method
Process-driven interrupt .

Processing speed 0.5 µs/step

Program capacity 7K Steps

P P000 ~ P15F

M M000 ~ M191F

K K000 ~ K31F

L L000 ~ L63F

Memory F F000 ~ F63F


Device
100msec : T000 ~ T191 (192 points)
T
10msec : T192 ~ T255 (64 points)
C C000 ~ C255

S S00.00 ~ S99.99

D D0000 ~ D4999

Self-diagnosis functions Detects errors of scan time, memory, I/O and power supply

Max. expansion level Up to 3 level

102 / 97 "Master-K" Training Course - ©2008


: ‫أنواع وحدات التوسعة‬

... ‫يبين الجدول التالي أصناف وحدات التوسعة‬

‫مالحظات‬ ‫وصف‬ ‫الطراز‬ ‫العناصر‬ ‫النوع‬


6 DC inputs
G7E-DR10A
4 relay outputs
12 DC inputs
G7E-DR20A
8 relay outputs

Slim Type 8 DC inputs G7E-DC08A


‫وحدات‬
‫التوسعات الرقمية‬
10 Transistor outputs
‫التوسـعة‬
G7E-TR10A

Slim Type 8 relay outputs G7E-RY08A

4 DC Input
G7E-DR08A
4 Relay output
A/D : 2 channel
D/A : 1 channel
G7F-ADHA ‫خرج‬/‫دخل‬
‫تشابهي‬
A/D : 2 channel
MK120s ONLY
D/A : 2 channel
G7F-ADHB A/D-D/A

‫دخل تشابهي‬
A/D : 4 channel G7F-AD2A
A/D
D/A : 4 channel
G7F-DA2I
(current output) ‫خرج تشابهي‬
D/A : 4 channel D/A
MK120s ONLY G7F-DA2V
(voltage output) ‫التوسعات‬
Points : 4points ‫المؤقت التشابهي‬ ‫الخاصة‬
G7F-AT2A
Digital output : 0~200 Analog timer
Slim Type 4 channel ‫حساسات الحرارة‬
G7F-RD2A
N/A@ MK120sE (Pt100, JPt100) RTD module
RS-232C : 1 channel G7L-CUEB
‫شبكات االتصال‬
Comm. I/F module
RS-422 : 1 channel G7L-CUEC

‫الزمن الحقيقي‬
Real Time Clock G7E-RTCA
RTC module

102 / 98 "Master-K" Training Course - ©2008


: ‫وحدة التوسعة الحرارية‬

.. ‫يبين الجدول التالي مواصفات هذه التوسعة‬

Items Specification
Pt 100 (JIS C1640-1989, DIN 43760-1980)
Connectable RTD
JPt100 (KS C1603-1991, JIS C1604-1981)
Temperature Pt 100 : -200 ~ 600℃ (18.48 to 313.59 )
input Range JPt100 : -200 ~ 600℃ (17.14 to 317.28 )
Each of three wires at every channel has
Burn out detection
detection function.
Accuracy ±0.5% [Full Scale]
Maximum conversion
40 scan / 1 module
speed
Current consumption 25 mA
External Voltage DC21.6 ∼ 26.4V
Power Current 70 mA

102 / 99 "Master-K" Training Course - ©2008


: ‫وحدات التوسعة التشابهية‬

.. ‫فيما يلي جداول توضح أهم مواصفات التوسعات التي تتعامل مع اإلشارات التشابهية‬

: A/D ‫أوال ً – وحدات التوسعة‬

Items Specification

Voltage 0∼10 VDC ( input resistance 1 M )


Analog
input DC 4~20 mA ( input resistance 250  )
Current
DC 0~20 mA ( input resistance 250  )
Digital output
12 Bit (0∼4000)
Resolution

0~10 VDC 2.5 mV (1/4000)

Maximum DC 0~20
5 µA (1/4000)
resolution mA
DC 4~20
5 µA (1/3200)
mA

Overall accuracy ±0.5% [Full Scale]

Max. conversion speed 1 ㎳/CH + scan time

Max. absolute input Voltage : ±15V, Current : ±25 mA

Current consumption 25 mA

External Voltage DC21.6 ∼ 26.4V


Power Current 100 mA

102 / 100 "Master-K" Training Course - ©2008


: D/A ‫ثانياً – وحدات التوسعة‬

Specification
Items
G7F-DA2I G7F-DA2V

DC 0~20 mA ( Load res. 510)


DC 0 ~ 10V
Output Range DC 4~20 mA ( Load res. 510)
(Load resistance 2 k ~ 1 M)
Classified by parameter

Digital Output 12 Bit (0~4000)

Max. absolute output DC +24 mA DC 12V

DC 0~20 mA: 5 µA (1/4000)


Maximum resolution 2.5 mV (1/4000)
DC 4~20 mA: 6.25 µA (1/3200)

Overall accuracy ±0.5% [Full Scale]

Max. conversion speed 0.5 mSec /CH + scan time 1 mSec/CH + scan time

Current consumption 20 mA 15 mA

Voltage DC21.6 ∼ 26.4V


External Power
Current 80 mA 90 mA

102 / 101 "Master-K" Training Course - ©2008


: "F" ‫أهم خاليا الذاكرة الخاصة‬

. "F" ‫قيما يلي جدول يسرد ألهم الوظائف خاليا الذاكرة الخاصة‬

Memory Function Description

F10 Always On To execute instructions without condition !


F11 Always Off For Debug Purpose only .
F12 1 Scan On 1st Scan On, Next Scans becomes Off .
F13 1 Scan Off 1st Scan Off, Next Scans becomes On .
F14 Scan toggle This Bit is toggled each Scan .
F90 20 mSec Clk. 20-ms cycle clock
F91 100 mSec Clk. 100-ms cycle clock
F92 200 mSec Clk. 200-ms cycle clock
F93 1 Sec Clk. 1 Sec cycle clock
F94 2 Sec Clk. 2 Sec cycle clock
F95 10 Sec Clk. 10 Sec cycle clock
F96 20 Sec Clk. 20 Sec cycle clock
F97 60 Sec Clk. 60 Sec cycle clock
F111 Zero Flag Turn On when Operation result is 0 .
F112 Carry Flag Turn On when Carry occurs due to Op.
F120 Less than Flag On if S1< S2 when using CMP Operation .
F121 Less/Equal Flag On if S1 ≤ S2 when using CMP Operation .
F122 Equal Flag On if S1 = S2 when using CMP Operation .
F123 More than Flag On if S1 > S2 when using CMP Operation .
F124 More/Equal Flag On if S1 ≥ S2 when using CMP Operation .
F125 Not Equal Flag On if S1 ≠ S2 when using CMP Operation .
F170 HSC0 Output Bit
F171 HSC2 Output Bit Turn on when the current value of HSC(x)
F172 HSC3 Output Bit reaches setting value .

F173 HSC4 Output Bit

102 / 102 "Master-K" Training Course - ©2008


‫لتحميل المزيد من الكتب والمراجع باللغة العربية‬

‫تابعونا على‬

‫صفحة موسوعة الهندسة الكهربية على الفيس بوك‬


‫‪Electrical Engineering Encyclopedia-Arabic‬‬
‫‪www.facebook.com/EEE.Arabic‬‬
‫‪-------------------------------------------------------‬‬
‫جروب موسوعة الهندسة الكهربية على الفيس بوك‬
‫‪EEE-Arabic‬‬
‫‪www.facebook.com/groups/EEE.Arabic‬‬
https://www.electrobrahim.com

https://www.facebook.com/AB.Electromecanique

You might also like