منتديات الالكترونيات العصرية  
yoursite.com page title .

استرجاع كلمة المرور طلب كود تفعيل العضوية تفعيل العضوية
العودة   منتديات الالكترونيات العصرية > منتدى الحاكمات الدقيقة Microcontroller > منتدى البرمجه بالمخطط السلمى ladder diagram

  #1  
قديم 07-20-2010, 03:16 AM
الصورة الرمزية F.Abdelaziz
F.Abdelaziz F.Abdelaziz غير متواجد حالياً
استاذ الكترونيان
 
تاريخ التسجيل: May 2009
المشاركات: 2,658
معدل تقييم المستوى: 21
F.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to behold
افتراضي برمجة الميكروكونترولر PIC بلغة منطق السلم Ladder Logic Programm

برمجة الميكروكونترولر 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 .



رابعا : خصائص مخططات منطق السلم

أتفق عند رسم مخطط منطق السلم على الاتى :

1- الخطين الرأسيين بالمخطط يمثلان قضيبى القدرة ويوصل بينهما الدوائر. سريان القدرة يؤخد من الخط الرأسى الأيسر ثم يمر عبر الخط الافقى (يسمى درجة rung).

2- كل درجة من السلم تعرف عملية واحدة من عمليات التحكم . يقرأ مخطط منطق السلم من اليسار إلى اليمين ومن أعلا الى اسفل . الشكل رقم (3) يبين طريقة أو حركة المسح أو التنفيذ المستخدمة فى المتحكم المنطقى القابل للبرمجة PLC . يقرأ السطر الأول العلوى من اليسار الى اليمين ثم السطر الثانى من اليسار الى اليمين وهكذا .وعندما يكون المتحكم فى نظام العمل يسير خلال برنامج السلم كله حتى النهاية . آخر سطر فى البرنامج يجب أن يكون معروفا تماما ومن ثم يستأنف على الفور من البداية . هذا الإجراء أى المرور بجميع أسطر البرنامج أصطلح على تسميته ب "دورة المسح للبرنامج " cycle . كما أن السطر الأخير يعرف بمربع به كلمة END او RET ليعود البرنامج فورا من حيث بدأ .




3- كل سطر يجب أن يبدأ بمدخل أومداخل ويجب أن ينتهى بخرج واحد على الاقل.

المصطلح "مدخل"يستخدم من أجل فعل تحكم ( مثل قفل تلامسات مفتاح ) يستخدم كدخل للمتحكم . والإصطلاح "خرج" يستخدم من أجل جهاز موصل الى خرج المتحكم مثل المحرك.

4- - الأجهزة الكهربية تظهر فى حالتها العادية أو الطبيعية أى المفتاح الذى يكون فى وضعه العادى مفتوح يظهر مفتوح فى مخطط السلم (حتى يحدث ما يغير وضعه) والمفتاح الذى يكون فى وضعه العادى مغلق يظهر مغلقا .
5- أى جهاز معين يمكن أن يظهر فى اكثر من سطر .

مثال : قد يكون لدينا ريلاى ويتحكم فى تحويل أكثر من جهاز . تستخدم نفس الحروف و /أو الارقام فى تسمية الجهاز فى أماكنه المختلفة .

6- المداخل والمخارج تعرف جميعها بعناوينها وطريقة العنونة تعتمد على صناع المتحكم وهى عنوان المدخل أو المخرج فى ذاكرة المتحكم . الشكل رقم (4) يبين الرموز القياسية IEC 1131-3 المستخدمة فى أجهزة الدخل والخرج . لاحظ أن المداخل تمثل برموز مختلفة حسب حالتها العادية "مفتوح فى الوضع العدى"NO أو "مقفول فى الوضع العادى" NC بينما ملفات الخرج تمثل برمز واحد فقط .



خامسا : شرح لمخطط منطق السلم مكون من سطر (درجة) واحد :

أعتبر الموقف حيث إثارة (تشغيل) جهاز الخرج (مثل المحرك) تعتمد على مفتاح بدء مفتوح فى الوضع العادى وعند تشغيله أو تحويله يصبح مقفول .

فى هذه الحالة يكون الدخل هو المفتاح والخرج هو المحرك و الشكل (5 ) يبين مخطط منطق السلم .



يبدأ السطر بالدخل : لدينا تلامسات دخل من النوع NOو رمزه | | كما فى الشكل

رقم (5- أ) . لا يوجد أجهزة دخل اخرى وينتهى السطر بالخرج ورمزه ( ) .

عند غلق المفتاح و يقال "عند وجود دخل " تتم إثارة الخرج إلى المحرك ويقال "يوجد خرج". أى "طالما وجد دخل يوجد خرج ".

أما إذا كان المفتاح من النوع " المقفول فى الوضع العادى " NC ورمزه |/| كما فى

الشكل (5- ب ) فيكون هناك خرج حتى يتم فتح المفتاح أى أن فتح المفتاح أو الفعل أو تغير الحالة الطبيعية هو المسمى "دخل" أى "طالما لا يوجد دخل يوجد خرج" .

سادسا : طريقة كتابة أسماء وعناوين المتغيرات :

عند رسم مخطط منطق السلم فإن أسماء المتغيرات أو العناوين تلحق برموزها . وهكذا فالشكل رقم ( 6) يبين طرق العنونة المختلفة .

الشكل (أ) للنوع متسوبيشى والشكل (ب) للنوع سيمنس والشكل (ج) للنوع الن برادلى والشكل (د) للنوع تليميكانيك .

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



والى لقاء قريب لن شاء الله
رد مع اقتباس
  #2  
قديم 07-20-2010, 01:33 PM
الصورة الرمزية F.Abdelaziz
F.Abdelaziz F.Abdelaziz غير متواجد حالياً
استاذ الكترونيان
 
تاريخ التسجيل: May 2009
المشاركات: 2,658
معدل تقييم المستوى: 21
F.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to behold
افتراضي رد: برمجة الميكروكونترولر PIC بلغة منطق السلم Ladder Logic Prog

الجزء الثانى :



البرمجيات المستخدمة :



البرمجة بلغة منطق السلم مثل أى لغة برمجة أخرى تحتاج إلى محرر لكتابة البرنامج ( سواء أكان على شكل نصوص أو على شكل رموز ) وإلى مترجم "كومبيلر" لتحويل البرنامج الى ملف على شكل سداسى عشر HEX وغالبا ما يكونا مندمجين فى مجموعة برمجيات واحدة .

البرمجيات المستخدمة هنا تسمى LDmicro وهى مجانية وعلى الموقع :



http://www.cq.cx/ladder.pl



جولة مصورة للتعرف على البرنامج














القادم إن شاء الله

دليل الاستخدام لبرنامج LDmicro :
رد مع اقتباس
  #3  
قديم 07-20-2010, 03:13 PM
الصورة الرمزية F.Abdelaziz
F.Abdelaziz F.Abdelaziz غير متواجد حالياً
استاذ الكترونيان
 
تاريخ التسجيل: May 2009
المشاركات: 2,658
معدل تقييم المستوى: 21
F.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to behold
افتراضي دليل الاستخدام لبرنامج LDmicro

دليل الاستخدام لبرنامج LDmicro :

اولا : مقدمة :

· يقوم برنامج LDmicro بتوليد الشفرة المطلوبة لبعض أنواع من الميكروكونترولر من العائلة PIC16 لشركة ميكروشيب و بعض أنواع الميكروكونترولر AVRلشركة أتمل . عادة ما تكتب البرامج لهذه الميكروكونترولر بلغات برمجة مثل الأسمبلى أو السى او ألبيسك والبرنامج فى أى من هذه اللغات يتألف من قائمة من العبارات والتعليمات النصية . هذه اللغات قوية ومناسبة جدا لبناء المعالج الذى يقوم داخليا بتنفيذ قائمة التعليمات .

· على الجانب الآخر فإن المتحكم القابل للبرمجة PLC غالبا ما يبرمج بما يعرف باسم البرمجة بمخطط "منطق السلم " `ladder logic' ومثال بسيط لشكل هذا المخطط كما فى الشكل :







حيث Tdon يمثل مؤقت "تخيرأأأأاأخير التوصبل" turn-on delay .

و Tdof يمثل مؤقت "تخيرأأأأاأخير الفصل" turn-off delay .
والرمز او التعليمة --] [-- تمثل المداخل والتى تتصرف وتعامل كنوع من تلامسات الريلايهات.
والرمز او التعليمة --( )-- تمثل المخارج والتى تتصرف وتعامل كنوع من ملفات الريلايهات .

نلاحظ عدد من الإختلافات :
1- يتم تمثيل البرنامج على شكل رموز وليس كقائمة من التعليمات النصية وكثيرون يجدون أن ذلك إسهل للفهم .
2- على مستوى المبادىء الأولية فإن البرامج تشبه مخططات الدوائر الكهربائية التى تستخدم الريلاى أى تلامسات (للمداخل) وملف (للمخارج) وهى بديهية ومنطقية وسهلة للمبرمجين الذين لديهم معلومات عن نظريات الدوائر الكهربية .
3- مترجم أو كومبيلر مخطط منطق السلم يقوم بكل شىء فلست مضطرا لكتابة كود لتحديد متى يتم تحديث المخارج بناء على التغيير فى المداخل أو التغيير فى الأحداث الزمنية ولا تكون مضطرا إلى تحديد ترتيب حدوث ذلك فالأدوات الموجودة فى البرنامج تقوم بذلك .

مترجم أو كومبيلر برنامج LDmicro يدعم معالجات الميكروكونترولر التالية

يمكنك أستخدام برنامج LDmicro من :
1- رسم المخطط السلمى لبرنامجك أى يعمل كمحرر .
2- محاكاة البرنامج كوقت التشغيل الفعلى real time ياستخدام الكومبيوتر الشخصى .
3- وعندما تكون على قناعة تامة بأن البرنامج صحيح يمكنك تخصيص أطراف الميكروكونترولر لمداخل ومخارج البرنامج .
4- واخيرا ترجمة البرنامج الى الملف سداسى عشر( .hex*) والمطلوب لوضعه أو تحميله فى الميكروكونترولر بأستخدام أى جهاز برمجة .


ثانيا : الاساسيات :

1- كتابة البرنامج

عند بدء البرنامج يبدأ ببرنامج وبه سطر واحد فارغ حيث يمكنك إضافة أو إدراج التعليمات اليه . فعلى سبيل المثال يمكنك إضافة مجموعة من التلامسات من القائمة المنسدلة (Instruction > Insert Contacts) فتظهر بالاسم `Xnew' حيث `X' تعنى أن التلامسات سوف ترتبط أو توصل بطرف دخل بالميكروكونترولر . يمكنك تأجيل تخصيص الطرف بعد اختيار الميكروكونترولر وباقى التلامسات .

الحرف الاول فى الاسم يدل على نوع العنصر فعلى سبيل المثال :
· Xname يمثل طرف دخل للميكروكونترولر (أحد أطراف منافذ الدخل والخرج ) .
· Yname يمثل طرف خرج للميكروكونترولر (أحد أطراف منافذ الدخل والخرج ).
· Rname يمثل ريلاى داخلى أى خانة فى ذاكرة الميكروكونترولر الداخلية .
· Tname يمثل مؤقت ( سواء كان لتأخير التوصيل أو لتأخير الفصل أو متذكر .
· Cname يمثل عداد (سواء كان متزايد أو متناقص ) .
· Aname يمثل قراءة لقيمة من دخل محول تناظرى (أنالوج) الى رقمى A/D .
· Name يمثل متغير استخدام عام .

يتم اختيار باقى الاسم بحيث يعبر عن ما يفعله العنصر أو الكائن وبحيث يكون فريد أى لا نظير له فى البرنامج . وكمثال فإنه من الخطأ أن نسمى مؤقت التاخير (TON) بالاسم `Tdelay' ثم نسمى المؤقت (TOF) بنفس الاسم `Tdelay' فى نفس البرنامج لأن كل عداد يحتاج إلى موقع لذاكرته الخاصة .
ومن جهة أخرى قد يكون ممكنا أن تسمى مؤقت التذكر (RTO) بالاسم `Tdelay' وتعليمة التصفير (RES) المرتبطة به `Tdelay' لانه فى هذه الحالة فإنك تريد أن تعمل كلتا التعليمتان بنفس المؤقت .
اسم المتغير يمكن أن يتكون من حروف وأرقام والشرطة السفلية (_) ولكنه يجب أن لا يبدأ برقم واسم المتغير حساس لنوع الحرف (كبير او صغير ).

تعليمات المتغيرات العامة (MOV, ADD, EQU, etc.) يمكنها أن تعمل على متغيرات بأى اسم وهذا يعنى أنها تقبل أو تسمح بالتعامل مع المؤقت والعداد وهو قد يكون مفيدا احيانا . فعلى سبيل المثال يمكنك إختبار أو فحص إذا ما كان العداد أو المؤقت عند حالة أو مدى معين .

المتغيرات دائما تكون عدد من 16 bit. وهذا يعنى أنه يمكنها اخذ القيم من -32768 الى 32767 وتعامل المتغيرات بإشاراتها مثل الاعداد العشرية (0, 1234, -56) . كما يمكنك تحديد قيم على شكل حروف آسكى ASCII مثل ('A', 'z') بوضع الحرف بين الاقواس المبينة (single-quotes ) .

أسفل الشاشة سوف ترى قائمة بكل الكائنات الموجودة بالبرنامج وهذه القائمة تتولد اتوماتيكيا من البرنامج ولا تحتاج تحديث او تدخل منك . معظم الكائنات لا تحتاج الى إعداد أو تهيئة .
الكائنات `Xname' و `Yname' و `Aname' يجب ان تسند او تنسب الى طرف بالميكروكونترولر ويتم ذلك أولا باختيار نوع الميكروكونترولر من القائمة المنسدلة (Settings -> Microcontroller). ثم خصص أو إنسب أطراف الدخل والخرج بالنفر المزدوج على الكائن بالقائمة السفلية .

يمكنك تعديل البرنامج بادراج أو حذف التعليمات . المؤشر بالبرنامج يظهر وهو يومض ليبين التعليمة المختارة الحالية ونقطة الإدراج الحالية . فاذا لم يكن يومض إضغط على مفتاح <Tab> أو أنقر على التعليمة.
الان يمكنك حذف التعليمة الحالية أو ادراج تعليمة جديدة إلى يمين أو إلى يسار (أى على التوالى مع ) أو فوق أو تحت (أى على التوازى مع ) التعليمة الحالية المختارة .

بعض العمليات لا يسمح بها . على سبيل المثال : لا يسمح بوجود تعليمة الى يمين الملف coil .
يبدأ البرنامج بمجرد سطر . يمكنك اضافة اسطر من القائمة المنسدلة
Edit > Insert Rung Before/After
يمكنك وضع دوائر فرعية كثيرة ومعقدة على التوازى فى سطر واحد ولكن يكون من الأوضح استخدام عدة أسطر .
بمجرد كتابة البرنامج يمكنك اختباره بالمحاكاة ثم بعد ذلك ترجمته الى ملف سداسى عشر HEX .

2- المحاكاة :

للدخول الى نظام المحاكاة اختار من القائمة المنسدلة Simulate > Simulation Mode أو إضغط على الازرار <Ctrl+M> فيظهر البرنامج بمظهر مختلف فى نظام المحاكاة فلا يوجد مؤشر والتعليمة ألمثارة
( المفعلة أوتسمح بمرور التيار) تظهر باللون الأحمر الفاتح كما لو كانت مضيئة . والتعليمات ألغير مثارة تظهر باللون الرمادى .

إضغط على مسطرة المسافات لتشغيل المتحكم دورة واحدة . وللتشغيل المستمر كمل فى التشغيل الحقيقى أختار من القائمة المنسدلة Simulate > Start Real-Time Simulation أو إضغط على على الازرار <Ctrl+R> . يظهر البرنامج وهو يعمل كما لو كان يعمل وقت التشغيل الحقيقى .

يمكنك تحديد أو ضبط حالة المداخل إلى البرنامج بالنقر المزدوج عليها بالقائمة أسفل الشاشة أو بالنقر المزدوج على تلامسات تعليمة الدخل `Xname' فى البرنامج .

إذا غيرت من حالة طرف دخل فان إنعكاس أو تأثير هذا التغيير لن يتم إلا بعد دورة للمتحكم PLC وسوف يحدث ذلك أتوماتيكيا سواء فى المحاكاة المستمرة أو خطوة خطوة .



3- الترجمة بالمترجم او الكومبيلر :

فى نهاية المطاف نصل إلى نقطة توليد الملف السداسى عشر( ( *.hex والذى تحتاجه لتحميله على للميكروكونترولر .

أولا يجب إختيار نوع الميكروكونترولر من القائمة المنسدلة Settings > Microcontroller .
بعد ذلك يجب تخصيص أطراف للمداخل وللمخارج لكل كائن يمثل مدخل `Xname' أو مخرج `Yname' . وذلك بالنقر المزدوج على اسم الكلئن بالقائمة أسفل الشاشة . فيظهر لك مربع حوارى يمكنك إختيار أحد الأطراف (الغير مخصصة من قبل ) من القائمة .
بعد ذلك يجب عليك إختيار زمن دورة التشغيل ويجب عليك إخبار الكومبيلر بسرعة الساعة (المذبذب) التى سوف يعمل عليها الميكروكونترولر .
ويتم ذلك من القائمة المنسدلة Settings > MCU Parameters .

عامة أنت لا تحتاج إلى تغيير زمن الدورة فالقيمة الافتراضية هى 10 ms وهى قيمة جيدة لمعظم التطبيقات . أكتب تردد الكريستال الذى سوف تستخدمه مع الميكروكونترولر (أو مذبذب الرنين السيراميكى resonator) ثم اضغط على OK .

الآن يمكنك توليد الكود من البرنامج باختيارمن القوائم المنسدلة Compile > Compile أو من Compile > Compile As إذا كنت ترجمت هذا البرنامج من قبل وتريد تحديد مسار أو إسم آخر لملف الخرج .

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

تذكر انه يجب تحديد وضبط خانات الإعداد والتهيئة المسماة بالفيوزات(fuses) .
بالنسبة للميكروكونترولر PIC16 خانات الإعدادات متضمنه داخل الملف السداسى عشر ومعظم برمجيات software البرمجة سوف تنظر هناك اتوماتيكيا .
أما الميكروكونترولر AVR فيجب ضبط الاعدادات يدويا .

ثالثا : مرجع التعليمات : INSTRUCTIONS REFERENCE
رد مع اقتباس
  #4  
قديم 07-21-2010, 02:03 AM
kiai_87 kiai_87 غير متواجد حالياً
عضو نشيط
 
تاريخ التسجيل: Dec 2009
المشاركات: 104
معدل تقييم المستوى: 10
kiai_87 will become famous soon enough
افتراضي رد: برمجة الميكروكونترولر PIC بلغة منطق السلم Ladder Logic Prog

السلام عليكم

شكرا لك اخي وبارك الله فيك
رد مع اقتباس
  #5  
قديم 07-21-2010, 02:15 AM
الصورة الرمزية F.Abdelaziz
F.Abdelaziz F.Abdelaziz غير متواجد حالياً
استاذ الكترونيان
 
تاريخ التسجيل: May 2009
المشاركات: 2,658
معدل تقييم المستوى: 21
F.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to behold
افتراضي رد: برمجة الميكروكونترولر PIC بلغة منطق السلم Ladder Logic Prog

اقتباس:
المشاركة الأصلية كتبت بواسطة kiai_87 مشاهدة المشاركة
السلام عليكم

شكرا لك اخي وبارك الله فيك
اخى الكريم

شكرا جزيلا لك

مع تمنياتى بدوام التوفيق
رد مع اقتباس
  #6  
قديم 07-21-2010, 02:22 AM
الصورة الرمزية F.Abdelaziz
F.Abdelaziz F.Abdelaziz غير متواجد حالياً
استاذ الكترونيان
 
تاريخ التسجيل: May 2009
المشاركات: 2,658
معدل تقييم المستوى: 21
F.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to behold
افتراضي ثالثا : مرجع التعليمات : Instructions reference1-

ثالثا : مرجع التعليمات : INSTRUCTIONS REFERENCE1-

التلامس المفتوح فى الوضع العادى NO




إذا كانت إشارة الدخول إلى التعليمة منخفضة (تسمى أيضا غير حقيقى أو المنطق 0) فإن إشارة الخروج منها تكون منخفضة أى لا يوجد خرج .أما إذا كانت إشارة الدخول إلى التعليمة مرتفعه (تسمى إيضا حقيقى أو المنطق 1) فان إشارة الخروج منها تكون مرتفعة أى يوجد خرج "إذا وفقط إذا كان طرف الدخل المعطى Xname أو طرف الخرج المعطى Yname أو الريلاى الداخلى Rname حقيقى وإلا كان الخرج غير حقيقى" .بمعنى أن : شروط وجود خرج مرتفع هى : أولا وجود "أشارة دخل ومرتفع" وثانيا "حالة هذا التلامس تكون مرتفعة" أى تم تشغيله أو تفعيله أو إثارته أو تحويله .هذه التعليمة يمكنها "فحص أو اختبار" حالة طرف الدخل أو حالة طرف الخرج أو حالة الريلاى الداخلى .

2- التلامس المغلق او المقفول فى الوضع العادى NC :




إذا كانت اشارة الدخول إلى التعليمة منخفضة (تسمى أيضا غير حقيقى أو المنطق 0) فإن إشارة الخروج منها تكون منخفضة أى لا يوجد لها خرج .أما إذا كانت إشارة الدخول إلى التعليمة مرتفعه (تسمى أيضا حقيقى أو المنطق 1) فإن إشارة الخروج منها تكون مرتفعة (أى يوجد لها خرج ) إذا وفقط إذا كان طرف الدخل أو طرف الخرج أو الريلاى الداخلى المعطى منخفض أى لم يتم تشغيله أو تفعيله والا كان كان الخرج منخفض . · اى شروط وجود خرج مرتفع هى : اولا وجود دخل ومرتفع وثانيا حالة هذا التلامس تكون منخفضة أى لم يتم تشغيله أو تفعيله أو اثارته أو تحويله.هذه التعليمة يمكنها فحص أو اختبار حالة طرف الدخل أو حالة طرف الخرج أو حالة الريلاى الداخلى .هذه التعليمة عكس تعليمة التلامس

3- الملف العادى :



إذا كانت الإشارة الداخلة إلى التعليمة منخفضة فإن الريلاى الداخلى المعطى أو طرف الخرج يكون منخفضا وتسمى clear. أما إذا كانت الإشارة الداخلة لهذه التعليمة مرتفعة فإن الريلاى الداخلى المعطى أو طرف الخرج يكون مرتفعا ويسمى set.هذه التعليمة يجب ان تكون فى أقصى يمين السطر الموجودة به .

4- الملف المعكوس :



إذا كانت الإشارة الداخلة إلى التعليمة مرتفعة فإن الريلاى الداخلى المعطى أو طرف الخرج يكون منخفضا وتسمى clear. أما إذا كانت الاشارة الداخلة إلى التعليمة منخفضة فإن الريلاى الداخلى المعطى أو طرف الخرج يكون مرتفعا وتسمى set. هذه التعليمة عكس تعليمة الملف العادى .هذه التعليمة يجب أن تكون فى أقصى يمين السطر الموجودة به .

5- الملف SET-ONLY



إذا كانت الإشارة الداخلة إلى التعليمة مرتفعة فان الريلاى الداخلى المعطى أو طرف الخرج يكون مرتفعا set . وإلا فان الريلاى الداخلى أو طرف الخرج لا يتغير .هذه التعليمة تستطيع فقط تحويل حالة الملف من منخفض إلى مرتفع لذلك فهى تستخدم عادة بالاشتراك مع تعليمة الملف reset-only .هذه التعليمة يجب أن تكون فى أقصى يمين السطر الموجودة به .

6- الملف RESET-ONLY



إذا كانت الإشارة الداخلة إلى التعليمة مرتفعة فإن الريلاى الداخلى المعطى أو طرف الخرج يكون منحفضا clear . وإلا فإن الريلاى الداخلى أو طرف الخرج لا يتغير .هذه التعليمة تستطيع فقط تحويل حالة الملف من مرتفع إلى منخفض لذلك فهى تستخدم عادة بالاشتراك مع تعليمة الملف set-only .هذه التعليمة يجب ان تكون فى أقصى يمين السطر الموجودة به .

ملخص تعليمات التلامسات والملفات




القادم ان شاء الله


7- مؤقت تأخير التوصيل TURN-ON DELAY
رد مع اقتباس
  #7  
قديم 07-21-2010, 04:34 PM
الصورة الرمزية wmasmi
wmasmi wmasmi غير متواجد حالياً
عضو مجتهد
 
تاريخ التسجيل: Dec 2009
المشاركات: 223
معدل تقييم المستوى: 10
wmasmi has a spectacular aura aboutwmasmi has a spectacular aura about
افتراضي رد: برمجة الميكروكونترولر PIC بلغة منطق السلم Ladder Logic Prog

أخي العزيز فتح الله شكرا لك على إعادة ترتيب الموضوعات بأسلوب جميل
تحياتي لك وشكرا جزيلاً
رد مع اقتباس
  #8  
قديم 07-22-2010, 03:17 AM
الصورة الرمزية F.Abdelaziz
F.Abdelaziz F.Abdelaziz غير متواجد حالياً
استاذ الكترونيان
 
تاريخ التسجيل: May 2009
المشاركات: 2,658
معدل تقييم المستوى: 21
F.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to behold
افتراضي رد: برمجة الميكروكونترولر PIC بلغة منطق السلم Ladder Logic Prog

اقتباس:
المشاركة الأصلية كتبت بواسطة wmasmi مشاهدة المشاركة
أخي العزيز فتح الله شكرا لك على إعادة ترتيب الموضوعات بأسلوب جميل
تحياتي لك وشكرا جزيلاً
اخى الكريم

شكرا جزيلا لك

مع تمنياتى بدوام التوفيق
رد مع اقتباس
  #9  
قديم 07-22-2010, 03:35 AM
الصورة الرمزية F.Abdelaziz
F.Abdelaziz F.Abdelaziz غير متواجد حالياً
استاذ الكترونيان
 
تاريخ التسجيل: May 2009
المشاركات: 2,658
معدل تقييم المستوى: 21
F.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to behold
افتراضي المؤقتات timers

7- مؤقت تأخير التوصيل TURN-ON DELAY



إذا كانت الإشارة الداخلة إلى التعليمة "تتغير من منخفضة الى مرتفعة " فإن إشارة خرج التعليمة "تظل منخفضة للفترة الزمنية المحددة بالتعليمة" (1.000 s ) ثم يصبح الخرج مرتفعا أى "تأخير التوصيل" .
وعندما تتغير الإشارة الداخلة إلى التعليمة "من مرتفع إلى منخفض" فان الاشارة الخارجة من التعليمة "تتحول الى منخفض مباشرة" .
يبدأ المؤقت من جديد أى reset فى كل مرة تصبح إشارة دخله منخفض .
يجب أن يظل الدخل مرتفعا لمدة متتابعة أو ثابتة قدرها 1000 ملى ثانية قبل أن يتحول الخرج الى مرتفع .
زمن التاخير يمكن إعداده .
من الممكن التعامل مع متغير العداد فى مكان آخر على سبيل المثال بالتعليمة MOV .

8- مؤقت تأخير الفصل TURN-OFF DELAY



عندما تتغير الإشارة الداخلة إلى التعليمة من مرتفع إلى منخفض فإن إشارة خرجها تظل مرتفعة لفترة التاخير الزمنى المطلوبة قبل ان تتحول الى منخفض أى "تأخير الفصل" .
وعندما تتغير الإشارة الداخلة إلى التعليمة من منخفض إلى مرتفع فإن إشارة خرجها تصبح مرتفعة مباشرة .
يتم إعادة بدأ المؤقت reset كلما كانت إشارة الدخل منخفضة .
يجب ن يظل الدخل منخفض لمدة متتابعة قدرها 1000 قبل أن يتحول خرج التعليمة إلى منخفض .
التأخير قابل للإعداد .

9- المؤقت المتذكر أو ألتراكمى RETENTIVE TIMER



هذه التعليمة تقوم بتتبع وحفظ طول زمن إرتفاع إشارة دخله . فاذا كان الدخل مرتفعا لزمن لا يقل عن
1.000 sفإن الخرج يصبح مرتفعا وإلا كان الخرج منخفضا .
الدخل ليس شرط أن يكون مرتفعا لفترة 1000 ملى ثانية متعاقبة . فإذا كان الخرج مرتفعا لفترة 0.6 s ثم أصبح منخفضا لفترة 2.0 s ثم مرتفعا لفترة0.4 s عندئذ يتحول الخرج إلى مرتفع .
بعد تحول الخرج إلى مرتفع يظل مرتفعا حتى بعد تحول الدخل إلى منخفض طالما كان الدخل مرتفعا لزمن أطول من 1.000 s .
هذا المؤقت "يجب إعادته للعمل أى reset يدويا باستخدام تعليمة reset" .

10- تعليمة إعادة التشغيل RESET



هذه التعليمة تقوم بعمل reset للمؤقت أو العداد .
المؤقتات TON و TOF يتم إعادتها للعمل تلقائيا عندما يتحول دخلها إلى منخفض أو إلى مرتفع ولذلك فهذه التعليمات لا تحتاج الى تعليمة reset .
مؤقتات التذكر RTO والعدادات المتزايدة CTU والعدادات المتناقصة CTD لا يتم إعادة تشغيلها تلقائيا لذلك يجب عمل reset لها يدويا باستخدام التعليمة RES .
عندما تكون إشارة الدخل إلى التعليمة مرتفعة فإن العدادأاو المؤقت المقصود يحدث له reset . وعندما تكون إشارة دخلها منخفضة لا يتم اتخاذ اى فعل .
يجب أن تكون هذه التعليمة فى أقصى يمين السطر الموجودة به .

11- تعليمة توليد نبضة طلقة عند الحافة الصاعدة (نبضة كالإبرة أو الدبوس عرضها صغير جدا ) ONE-SHOT RISING



إذا كانت الإشارة الداخلة للتعليمة مرتفعة خلال لدورة المسح الحالية وكانت منخفضة أثناء دورة المسح السابقة عندئذ يتحول خرجها إلى مرتفع . وهكذا فإنها تولد نبضة بعرض دورة مسح واحدة عند كل إرتفاع أو صعود لحافة إشارة دخلها .
هذه التعليمة مفيدة إذا أردت إشعال أو بدء أحداث نتيجة لصعود حافة الإشارة .

12- تعليمة توليد نبضة طلقة عند الحافة الهابطة ONE-SHOT FALLING




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

ملخص لتعليمات المؤقتات



والى لقاء قريب ان شاء الله
رد مع اقتباس
  #10  
قديم 07-22-2010, 03:45 AM
الصورة الرمزية F.Abdelaziz
F.Abdelaziz F.Abdelaziz غير متواجد حالياً
استاذ الكترونيان
 
تاريخ التسجيل: May 2009
المشاركات: 2,658
معدل تقييم المستوى: 21
F.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to behold
افتراضي رد: برمجة الميكروكونترولر PIC بلغة منطق السلم Ladder Logic Prog

13- تعليمة دائرة مقصورة (مقفولة) ودائرة مفتوحة
SHORT CIRCUIT, OPEN CIRCUIT



حالة خرج تعليمة دائرة القصر دائما تساوى حالة دخلها .
حالة خرج تعليمة الدائرة المفتوحة دائما منخفضة .
هاتان التعليمتان مفيدتان فى حالة تصحيح أخطاء البرنامج .

14- تعليمة ريلاى التحكم الرئيسى أو الماستر MASTER CONTROL RELAY



الوضع الافتراضى هو أن تكون حالة مدخل أو بداية كل سطر هو الجهد المرتفع .
إذا ما تم تنفيذ تعليمة ريلاى التحكم الرئيسى على سطر حالة دخله منخفضة تكون النتيجة ان حالة جميع مداخل السطور التالية تكون منخفضة . ويستمر ذلك حتى نصل الى تعليمة ريلاى التحكم الرئيسى التالية بغض النظر عن حالة دخل سطر التعليمة .
لذلك هذه التعليمات تستخدم فى شكل ازواج : واحدة ( كشرط ) فى بداية الجزء المحتمل إيقافه disabled والتعليمة الاخرى فى نهايته .

15- تعليمة النقل MOVE



عندما يكون الدخل إلى هذه التعليمة مرتفع تقوم بجعل المتغير الهدف أو المقصود destination المعطى مساوى للمتغير أو الثابت للمصدر source المعطى .
عندما يكون الدخل إلى هذه التعليمة منخفض فلا يحدث شىء .
يمكنك تخصيص أى متغير مع تعليمة النقل . وهذا يشمل المؤقتات والعدادات والمميزة بوجود حرف `T' أو `C' فى البداية .
مثال لذلك تعليمة نقل 0 الى `Tretentive' تكافىء تعليمة إعادة التشغيل reset (RES) لهذا المؤقت .
هذه التعليمة يجب أن تكون فى أقصى يمين السطر الموجودة به .

16- التعليمات الرياضية : ARITHMETIC OPERATION



عندما يكون الدخل لهذه التعليمة مرتفع تقوم بجعل المتغير المقصود أو الهدف المعطى مساوى للتعبير المعطى.
المعاملات يمكن أن تكون إما متغيرات (بما فى ذلك متغيرات المؤقتات والعدادات ) أو ثوابت .
هذه التعليمات تستخدم عمليات رياضية بإشاراتها على شكل 16 bit.
تذكر أن النتيجة تحسب أو تقيم كل دورة عندما تكون حالة الدخل مرتفعة .
إذا قمت بعمل تناقص أو تزايد لمتغير ( أى إذا كان المتغير الهدف هو أيضا احد المعاملات ) يجب أن تستخدم تعليمة one-shot بحيث يتم الحساب فقط عند الحافة الصاعدة أو الحافة الهابطة لحالة الدخل .
هذه التعليمة يجب أن تكون فى أقصى يمين السطر الموجودة فيه .

17- تعليمات المقارنة : COMPARE



إذا كان الدخل لهذه التعليمة منخفض فإن خرجها يكون منخفضا .
وإذا كان دخلها مرتفع يكون خرجها مرتفع إذا وفقط إذا تحقق شرطها المعطى أى كان حقيقى أو مرتفع .
هذه التعليمات تستخدم فى عمليات مقارنة (التساوى – أكبر من – أكبر من أو يساوى – لا يساوى – أقل من – أقل من او يساوى ) متغير بمتغير أو مقارنة متغير بثابت 16-bit .

والى لقاء قريب ان شاء الله
رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)

الكلمات الدلالية (Tags)
ladder, logic, programm, منطق, الميكروكونترولر, السلم, بلغة, برمجة

أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة



الساعة الآن 07:32 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
الحقوق محفوظة لمنتديات الاليكترونيات العصرية

Security team

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77