اسس البرمجة بلغة المنطق السلمىLadder logic programming language
1- المخططات السلمى
كمقدمة للمخطط السلمى اعتبر مخطط التوصيل البسيط المبين بالشكل 1a. المخطط يبين تشغيل وتبطيل محرك كهربائى .
نستطيع اعادة هذا المخطط بطرسقة اخرى , باستخدام خطين راسيين يمثلان خطى دخول – توصيل – القدرة يسميان input power rails ونقل stringing باقى الدائرة بينهما .
الشكل 1b يبين النتيجة . كلتا الدائرتين عبارة عن مفتاح على التوالى مع المحرك ويتم تغذيته بالقدرة الكهربية عند غلق المفتاح . الدائرة المبيينة بالشكل 1b تعرف بالمخطط السلمى
الشكل 1 يبين طرق رسم نفس الدائرة الكهربية
فى هذا المخطط ( السلمى ) يتم تمثيل مصدر التغذية كخطين راسيين rails وباقى الدائرة بخطوط افقية . خطوط القدرة مثل الجانبين الراسيين للسلم وخطوط الدوائر الافقية كدرجات rungs . الدرجات الافقية تمثل فقط جزء التحكم للدائرة.
كتابة البرنامج تكافىءرسم الدائرة . فى النهاية يتكون المخطط السلمى من خطين راسيين يمثلان خطى القدرة .توصل الدوائر فى خطوط افقية - كدرجات السلم - بين الخطين الراسيين
2- قواعد واسس البرمجة
كأى لغة من لغات البرمجة قواعد واسس يجب ماعاتها بدقة قبل لبدء فى كتابة البرنامج لكى ينجح
عند رسم المخطط السلمى يجب الاخذ فى الاعتبار القواعد الاتية :
1- الخطوط الراسية للمخطط تمثل خطى القدرة والتى يتم بينها توصيل الدوائر . اتجاه تدفق القدرة يكون ماخوذا من الخط الراسى الايسر خلال السلم .
2-كل سلمة فى السلم تعرف عملية واحدة من عمليات التحكم .
3-يتم قراءة المخطط السلمى من اليسار الى اليمين ومن اعلا الى اسفل . الشكل 2 يوضح حركة المسح scanning
حيث يتم قراءة السلمة العليا من اليسار الى اليمين ثم بعد ذلك الدرجة الى تليها الى اسفل تقرا من اليسار الى اليمين وهكذا الى اخر سلمة والتى يجب ان تحتوى على عبارة النهايةEND
شكل 2 طريقة مسح scanning المخطط السلمى
4-كل سلمة يجب ان تبدا بدخل واحد او اكثر ويجب ان تنتهى بخرج او اكثر .
المقصود بكلمة دخل هو فعل تحكم control action مثل قفل تلامس مفتاح . والمقصود بكلمة خرج بجهاز device متصل بالخرج مثل ملف مرحل او كونتاكتور او لمبات
5-يتم بيان الاجهزة الكهربائية فى حالتها العادية normal . وهكذا فان المفتاح المفتوح عاديا يظهر مفتوحا فى المخطط السلمى حتى يحدث شىء يعمل على غلقه . والمفتاح المغلق عاديا يظهر مغلقا
*اى جهاز معين ممكن ان يظهر فى اكئر من سلمة .على سبيل المثال , قد يكون لدينا مرحل ويقوم بتحويل switches on جهاز واحد او اكثر . تستخدم نفس الحروف و او الارقام لعنونة الجهاز فى كل مكان.
*يعرف كل دخل وكل خرج بعنوانه الخاص وذلك حسب البرنامج المستخدم ( الصانع ) . هذا العنوان هو عنوان فى ذاكرة
الميكرو كونترولر .
3—التعليمات الاساسية الخاصة بالبرمجة INSTRUCTIONS
كأى لغة من لغات البرمجة هناك تعليمات هى الوحيدة التى يمكن استخدامها وذلك لان المترجم compiler لايفهم الا حسب القواعد والاسس المذكورة علاوة على هذه التعليمات
1-التلامسات CONTACTS
*التلامس المفتوح عاديا
Xname Rname Yname
----] [---- ----] [---- ----] [----
اذا كانت الاشارة الوصلة الى التعليمة : غير متواجدة ( يطلق عليها 0 او false او low ) فان اشارة خرجها غير متواجدة .
اذا كانت الاشارة الواصلة للتعليمة متواجدة ( يطلق عليها 1 او true او high ) فان اشارة خرجها تكون متواجدة بشرط ان تكون التعليمة عاملة .
*التلامس المغلق عاديا
Xname Rname Yname
----]/[---- ----]/[---- ----]/[----
اذاكانت الاشارة الواصلة الى الى التعليمة غير موجودة فان اشارة خرجها تكون غير موجودة .
اذا كانت الاشارة الواصلة الى التعليمة موجودة فان اشارة الخرج تكون موجودة بشرط ان تكون التعليمة غير عاملة .
2-الملفات COILS
*الملف العادى NORMAL
Rname Yname
----( )---- ----( )----
اذا كانت الاشارة الواصلة الى التعليمة غير متواجدة فان المرحل الداخلى او طرف الخرج ( الذى يمثله الملف ) يكون غير متواجد .
اذا كانت الاشارة الواصلة الى التعليمة متواجدة فان المرحل الداخلى او طرف الخرج يكون موجودا .
هذه التعليمة يجب ان تكون فى النهاية اليمنى للسلمة rung المتواجدة فيها .
*الملف المعكوس NEGATED
Rname Yname
----(/)---- ----(/)----
اذا كانت الاشارة الواصلة الى التعليمة متواجدة فان المرحل الداخلى او طرف الخرج ( الذى يمثله الملف ) يكون غير متواجد
اذا كانت الاشارة الواصلة الى التعليمة غير متواجدة فان المرحل الداخلى او طرف الخرج سوف يكون متواجد .
هذه التعليمة عكس تعليمة الملف ويجب ايضا ان تتواحد فى النهاية اليمنى للسلمة المتواجدة فيها .
مثال توضيحى بسيط : فى الدائرة الموضحة بالشكل :
التلامس يمثل مفتاح وهو الدخل لاننا عن طريقه ندخل الامر والملف يمثل خرج لانة نتيجة نحصل عليها
فى الشكل a تشغيل المفتاح (توصيل) يؤدى الى تشغيل ( توصيل ) الخرج والعكس .
فى الشكل b تشغيل المفتاح يؤدى الى فصل الخرج والعكس
4-الرموز والدلالات notations المستخدمة فى البرنامج المستخدم ( تختلف من برنامج لاخر )
الحرف الاول يشير الى نوع الكائن :
Xname يشير الى طرف من اطراف الميكروكونترولر ( يعبر عن دخل )
Yname يشير الى طرف من اطراف الميكروكونترولر ( يعبر عن خرج )
Rname يشير الى مرحل مساعد داخلى ( ويمثل بت bit فى الذاكرة )
يتم اختيار الاسم للكائن ( المتغير فى لغات البرمجة الاخرى ) name بحيث يعبر عن الكائن ( مثل مفتاح تشغيل اى دخل Xon ومفتاح ايقاف ايضا دخل Xoff ) وبحيث يكون وحيدا بمعنى ان الكائن الواحد يسمى باسم واحد فقط . ممكن للاسم ان يحتوى على حروف وارقام وعلامة (_)ولكنه يجب الايبدا برقم مع الاخد فى الاعتبار انه حساس لنوع الحرف
case-sensitive .
فى الدرس القادم سوف نرى انه بمثل هذه التعليمات البسيطة يمكن عمل الدوائر المنطقية الاتية AND-OR- NOT NAND – NOR – XOR
والى اللقاء ان شاء الله
الملف الكامل على الرابط
http://filaty.com/f/905/17708/al-brm...-slmi.zip.html