برمجة الميكروكونترولر PIC بلغة منطق السلم Ladder Logic Programming:
أولا : مقدمة تاريخية عن نشأة البرمجة بمنطق المخطط السلمى
كان التحكم الكهربائى فى عمليات الانظمة الصناعية قديما ( ومازال أحيانا ) يتم باستخدام : المرحلات relays و المؤقتات timers والعدادات counters ( كأجزاء منفصلة ) يتم التوصيل فيما بينها بالأسلاك الكهربية hardwired ومجمعة فى صناديق ( لوح ) تسمى لوح التحكم وكلما كبر النظام كبرت معه لوحة التحكم ولسهولة تصميم وتنفيذ وفهم هذه الأنظمة كانت تتم وفق "المنطق التتابعى " بمعنى أن تتم خطوة بخطوة أى تتم الخطوة الاولى وبناء عليها تتم الخطوة الثانية وهكذا حتى النهاية تماما كالحركة على درجات السلم درجة ثم درجة ومن ثم سمى هذا المنطق "بمنطق السلمladder logic" وكانت رسومات التصميمات تتم بهذا المنطق .
بعد التقدم السريع والهائل فى الألكترونيات تقدم معها التحكم فى العمليا ت الصناعية وظهرت المتحكمات المنطقية القابلة للمبرمجة PLC (programmable logic controllers ) لتحل محل الأنظمة السابقة لها فكان من الصعب إهمال وفقد فائدة منطق السلم ( التتابعى ) وخاصة للعاملين فى حقل الكهرباء فى الصناعةآنذاك ( وحتى الان ) ولذلك كان لابد من لغة جديدة تعتمد على هذا المنطق فتم استحداث لغة برمجة جديدة سميت "البرمجة بمنطق السلم" Ladder logic programming .
وكان من نتيجة المقدرة على تقبل البرمجة بمنطق السام ما يلى :
· نجاح المتحكمات المنطقية المبرمجة PLC فى الصناعة .
· سهولة تحويل الأنظمة القائمة والتى تعمل بالمرحلات وتتصل باسلاك hardwired إلى أنظمة تعتمد على ال PLC .
· المقدرة على مراقبة monitor أجهزة PLC فى شكل مخطط سلم جعل إكتشاف الأخطاء troubleshooting أسهل للذين اعتادو على أنظمة التحكم بالمرحلات .
· وعلى الرغم من وجود لغات عالية المستوى كثيرة الآن يمكنها التعامل مع برمجة PLC ولكن غالبية الأنظمة مازال يتم برمجتها بشكل مخطط السلم لما له من مميزات .
ومن ثم يمكن تلخيص المميزات فى :
1- التحكم فى الأنظمة المعقدة أصبح ناجح ( فعال ) من حيث التكاليف .
2- المرونة : حيث يمكن إعادة الاستعمال من جديد للتحكم فى أنظمة أخرى بسرعة وسهولة .
3- المقدرة على تطوير الأنظمة .
4- المساعدة فى إكتشاف الاعطال Trouble shooting مما يجعل البرمجة أسهل والأهم تقليل وقت التوقف عن العمل للنظام
5- باستخدام مكونات موثوق بها يجعل النظام يعمل لعدة سنوات دون ان يحدث له انهيار failure
ثانيا : لماذا البرمجة بلغة منطق السلم ؟ '''Ladder logic programming language'''
توضع (تحمل) البرامج فى الأنظمة التى تعتمد فى بنائها على المعالج الدقيق فى شكل كود(شفرة) الماكينة (الآلة) هى شفرة على شكل سلسلة من الأرقام الثنائية تمثل تعليمات البرنامج .
يمكن إستخدام لغة الاسمبلى والتى تعتمد على إستخدام كلمات تذكرة او مفكرة تساعد على تذكر التعليمة مثل إستخدام LD لبيان أن العملية المطلوبة هى تحميل البيانات LoaD فيقوم برنامج الترجمة المسمى الاسمبلر وبمساعدة كومبيوتر شخصى فى ترجمة LD الى شفرة الماكينة .
كما يمكن البرمجة بلغات المستوى المرتفع مثل السى والبيزك C, BASIC . وهذه اللغات تستخدم وظائف معدة سلفا وتمثل بكلمات أو رموز سهلة تصف الوظيفة المطلوبة .
فمثلا فى لغة السى C يستخدم الرمز & للعملية المنطقية (و) AND .
إستخدام هذه الطرق يتطلب بعض المهارات فى البرمجة بينما المتحكمات القابلة للبرمجة PLC أعدت خصيصا ليستخدمها المتخصصين الذين ليس لديهم مهارات عالية فى البرمجة .
نتيجة لذلك تم عمل البرمجة بلغة منطق السلم وهى وسيلة لكتابة البرامج والتى يمكن تحويلها إلى شفرة الماكينة ببعض البرمجيات من أجل المعالج الدقيق الموجود داخل المتحكم القابل للبرمجة PLC .
هذه الطريقة فى كتابة البرامج أصبحت معتمدة من معظم صناع المتحكمات القابلة للبرمجة PLC على الرغم من أن كل صانع له إصداره الخاص به .لذلك تم توحيد واعتماد مواصفات قياسية عالمية للبرمجة بلغة منطق السلم وتعرف بأسم IEC 1131-3 .
ثالثا : مخطط منطق السلم :Ladder Logic Daigram
كمقدمة لمخطط السلم إعتبر مخطط الدائرة الكهربائية البسيطة بالشكل رقم (1- أ) . يوضح المخطط دائرة توصيل وفصل محرك كهربائى . يمكننا إعادة هذا المخطط بطريقة مختلفة .
باستخدام خطين رأسيين لتمثيل قضيبى أو خطى القدرة ووضع أو رص باقى الدائرة بينهما .
الشكل 1- ب يبين النتيجة .
كلا الدائرتان بهما مفتاح على التوالى مع المحرك والذى يتم إمداده بالقدرة الكهربية عند غلق المفتاح .
الدائرة المبينة بالشكل رقم (1- ب) أصطلح على تسميتها بمخطط السلم .
فى هذا المخطط يكون مصدر التغذية للدوائر دائما على شكل خطين رأسيين وباقى الدائرة على شكل خطوط افقية . خطوط القدرة (أو قضبان كما أصطلح على تسميتها ) تشبه الجانبين الرأسيين لسلم والخطوط الأفقية للدائرة تشبه درجات هذا السلم .
الخطوط أو الدرجات الأفقية تبين فقط جزء التحكم من الدائرة ففى حالة الشكل رقم (1)هى فقط مفتاح على التوالى مع محرك .
مخططات الدوائر غالبا ما تبين المواقع الفيزيائية أو الطبيعية النسبية لمكونات الدائرة وكيفية توصيلها الفعلى . ولكن مخططات السلم لا تبين المواقع الفعلية للمكونات ولكن الغرض منها هو بيان وبوضوح كيفية تنفيذ التحكم .
الشكل رقم (2) يبين مثال لمخطط سلم للدائرة المستخدمة فى بدء وإيقاف محرك باستخدام مفاتيح أو أزرار ضاغطة . فى الحالة العادية أو الوضع الطبيعى يكون الزر الضاغط 1 مفتوح (غير موصل) والزر الضاغط 2 مغلق (موصل) . عند الضغط على الزر 1 تكتمل دائرة المحرك ويبدأ الدوران . أيضا تلامسات المسك للمحرك الموصلة على التوازى مع الزر 1 تغلق وتظل مغلقة طالما أن المحرك يدور . لذلك عند تحرير (إزالة الضغط) الزر 1 فإن تلامسات المسك تحافظ على الدائرة ومن ثم القدرة الى المحرك .
لإيقاف المحرك يتم الضغط على الزر 2 حيث يؤدى إلى فصل القدرة عن المحرك ومن ثم تفتح تلامسات المسك للمحرك وعند تحرير الزر 2 أيضا لن تصل القدرة الى المحرك . ويكون لدينا تحكم فى المحرك حيث يبدأ الدوران عند الضغط على الزر 1 ويقف عن الدوران عند الضغط على الزر 2 .