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

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

  #11  
قديم 07-22-2010, 03:55 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

18- تعليمة العدادات المتزايدة والمتناقصة COUNTERS



يقوم العداد بعمل تزايد ( للعداد المتزايد CTU ) أو بعمل تناقص ( للعداد المتناقص CTD ) للعدد المرتبط به عند كل حافة صاعدة لحالة دخل السطر ( أى عند تحول حالة دخل السطر من منخفض الى مرتفع ) .
حالة الخرج من العداد ( الموضح بالشكل ) تكون مرتفعة إذا كان متغير العداد أكبر من أو يساوى 5 ومنخفضة فيما عدا ذلك .
حالة خرج السطر قد تكون مرتفعة حتى لو كانت حالة دخله منخفضة لأنها تعتمد فقط على متغير العداد .
يمكن أن يكون لديك تعليمات عداد متزايد CTU و عداد متناقص CTD بنفس الاسم بغرض عمل تزايد و تناقص لنفس العداد .
التعليمة RES تستخدم فى اعادة تصفير reset العداد .

19- تعليمة العداد الدائرى CIRCULAR COUNTER



العداد الدائرى يعمل مثل العداد التصاعدى CTU فيما عدا أنه عندما يصل الى حده العلوى يقوم بتصفير متغير العداد مرة اخرى .
على سبيل المثال العداد المبين سوف يقوم بالعد بالطريقة الاتية
0, 1, 2, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 2,....
هذا العداد مفيد عند دمجه أو أشراكه فى العبارات الشرطية على المتغير `Cname' حيث يمكنك إستخدامه كمتتابع sequencer .
يقوم العداد الدائرى CTC بالعد عند كل حافة مرتفعة لحالة دخل السطر .
يجب أن توضع هذه التعليمة فى أقصى يمين السطر الموجودة به .

20- تعليمة مسجل الازاحة SHIFT REGISTER



مسجل الإزاحة يكون مصحوب أو مرتبط بمجموعة من المتغيرات .
فعلى سبيل المثال مسجل الازاحة الموضح مرتبط بالمتغيرات `reg0', `reg1', `reg2', and `reg3' .
الدخل إلى مسجل الإزاحة هو `reg0' . وعند كل حافة مرتفعة لحالة دخل السطر فإن مسجل الإزاحة سوف ينتقل أو يزاح الى اليمين . وهذا يعنى أن إسناده أو تخصيصه سوف يكون `reg3 := reg2'
و `reg2 := reg1' و `reg1 := reg0' والمتغير `reg0' يترك دون تغيير .
مسجل الإزاحة الكبير يستهلك كثير من الذاكرة .
هذه التعليمة يجب أن توضع فى اقصى اليمين للسطر الموجودة به .

21- تعليمة جداول الفحص او التفتيش LOOK-UP TABLE



جدول الفحص عبارة عن مجموعة من القيم المرتبة قدرها n .
عندما تكون حالة دخل السطر مرتفعة فإنه سوف يتم جعل المتغير ألعددى الصحيح integer الهدف`dest' مساوى لأول قيمة أو لمدخل جدول الفحص والمناظر للمتغير العددى الصحيح `i' .
فهرس أو التسلسل أو الدليل index يبدأ من الصفر لذلك فان `i' تكون بين 0 و (n-1) .
تصرف أو سلوك هذه التعليمة سوف لا يكون معرفا إذا كان الدليل خارج هذا المدى .
هذه التعليمة يجب ان توضع فى اقصى اليمين للسطر الموجودة به .

22- تعليمة محول الأنالوج الى رقمى A/D CONVERTER READ



إذا كانت حالة دخل هذه التعليمة مرتفعة فإنه تؤخذ عينة وحيدة من المحول A/D وتحفظ أو تخزن فى المتغير`Aname' .
هذا المتغير يمكن فى وقت لاحق أن يتعامل مع (تجرى عليه)عمليات المتغير العام (إقل من – أكبر من - والعمليات الحسابية وما إلى ذلك ) .
يجب إن تخصص طرف للمتغير `Axxx' بنفس طريقة تخصيص طرف لدخل أو خرج رقمى بالنقر المزدوج عليه فى القائمة أسفل للشاشة .
إذا كانت حالة الدخل للسطر منخفضة عندئذ فإن المتغير `Aname' يترك بدون تغيير .
لجميع الميكروكونترولر المعتمدة فان دخل 0 volts يناظر قراءة محول ADC تساوى 0 والدخل الذى قيمته تساوى Vdd (جهد التغذية) يناظر قراءة محول ADC قدرها 1023 .
هذه التعليمة يجب ان توضع فى اقصى اليمين للسطر الموجودة به .

23- تعليمة تحديد دورة خدمة تشكيل أو تعديل عرض النبضة
SET PWM DUTY CYCLE




إذا كان الدخل إلى هذه التعليمة مرتفع فإن دورة الخدمة لمنفذ "تعديل عرض النبضة"PWM يصبح أو يتحدد بقيمة المتغير duty_cycle .
دورة الخدمة يجب أن تكون عدد بين 0 و 100 .
الصفر يناظر القيمة المنخفضة و 100 تناظر القيمة المرتفعة .
يمكنك تحديد تردد عمل "تعديل عرض النبضة"PWM بالهرتز Hz .
هذه التعليمة يجب أن توضع فى أقصى اليمين للسطر الموجودة به .


والى لقاء قريب ان شاء الله
رد مع اقتباس
  #12  
قديم 07-22-2010, 04:33 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



24- تعليمة " عمل حفظ دائم " : MAKE PERSISTENT



عندما تكون حالة سطر هذه التعليمة "حقيقى" فإنها تسبب فى حفظ المتغير المحدد بالذاكرة الدائمة من النوع EEPROM تلقائيا . وهذا يعنى أن قيمته سوف يتم الحفاظ عليها حتى عند غياب القدرة عن المتحكم . فلا حاجة للتصريح بحفط المتغير فى ذاكرة EEPROM بل يتم ذلك تلقائيا كلما تغيرت قيمة المتغير .
يتم تحميل المتغير تلقائيا من ذاكرة EEPROM بعد عملية التصفير عند بدء توصيل القدرة .
إذا حفظ المتغير الذى نادرا ما يتغير فإنك سوف تستهلك ذاكرة EEPROM بسرعة لأن لها عدد محدد من مرات الكتابة (~100 000) .
عندما تكون حالة السطر "غير حقيقى أو زائف" فلا يحدث شىء .
هذه التعليمة يجب أن توضع فى أقصى اليمين للسطر الموجودة به .

25- تعليمة الإستقبال عن طريق الإتصال المتتالى UART (SERIAL) RECEIVE




إذا كانت حالة الدخل إلى هذه التعليمة منخفضة فلا يحدث شىء.
إذا كانت حالة الدخل إلى هذه التعليمة مرتفعة عندئذ تحاول هذه التعليمة إستقبال "أى قراءة" حرف وحيد من منفذ التوالى UART .
إذا لم يتم قراءة أى حرف فإن حالة الخرج تكون منخفضة أما إذا تم قراءة حرف فان قيمته بكود الآسكى ASCII تخزن أو تحفظ فى المتغير `var' وتكون حالة الخرج مرتفعة لمدة دورة واحدة .

26- تعليمة الإرسال عن طريق الإتصال المتتالى UART (SERIAL) SEND




إذا كانت حالة الدخل إلى هذه التعليمة منخفضة فلا يحدث شىء.
إذا كانت حالة الدخل إلى هذه التعليمة مرتفعة عندئذ تحاول هذه التعليمة أن ترسل "أى كتابة" حرف وحيد إلى منفذ التوالى UART .
قيمة الحرف المراد إرساله وبشفرة الآسكى ASCII يجب حفظها مسبقا فى المتغير`var' .
حالة خرج السطر تكون حقيقية إذا كان منفذ التوالى UART مشغولا (بمعنى أنه يرسل حاليا حرف ) وفيما عدا ذلك تكون الحالة منخفضة .

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


يجب عليك فقط جعل حالة الدخل حقيقية (حاول إرسال حرف ) عندما تكون حالة الخرج غير حقيقية (أى المنفذ UART غير مشغول ) .
تحقيق من "تعليمة السلسلة المنشقة" formatted string instruction (التالية) قبل استخدام هذه التعليمات. "تعليمة السلسلة المنسقة" سهلة الاستخدام ومن المؤكد أنها قادرة على فعل ما تريد.

27- تعليمة " سلسلة منسقة خلال منفذ الاتصال المتتالى "
FORMATTED STRING OVER UART




عندما تتحول حالة مدخل سطر التعليمة من المنخفض إلى المرتفع تبدأ فى إرسال كل السلسلة النصية من خلال منفذ التوالى .
إذا أحتوت السلسلة النصية على ترتيب أو تسلسل معين `\3' عندئذ يستبدل ذلك الترتيب بقيمة المتغير`var' والذى يحول تلقائيا إلى نص . وسوف يتشكل المتغير لكى يأخد 3 حروف . فعلى سبيل المثال إذا كان المتغير `var' يساوى 35 فإن النص الصحيح المطبوع سوف يكون `Pressure: 35\r\n' (لاحظ المسافة الزائدة ) فاذا كان المتغير `var' بدلا من ذلك يساوى 1432 فان السلوك سوف يكون غير محدد لأن 1432 بها أكثر من ثلاثة أرقام . ففى مثل هذه الحالة يجب استخدام التنسيق `\4' .
إذا كان المتغير سالب فيستخدم التنسيق `\-3d' أو `\-4d' ولهذا السبب تترك مسافة للتعبير عن الأرقام الموجبة بينما تكتب فيها علامة السالب للأرقام السالبة .
إذا تم عمل تنسيق متعدد للنص مرة واحدة (أو إذا تم عمل تنسيق آخر قبل إنتهاء التنسيق الأول ) أو كانت هذه التعليمات متداخلة مع تعليمات منفذ التوالى فإن السلوك سوف يكون غير محدد .
يمكن أيضا استخدام هذه التعليمة لأخراج نص ثابت دون إقحام قيم متغير عددى صحيح فى النص الذى يرسل عبر منفذ التوالى . فى هذه الحالة ببساطة لا تضع اى علامات تتابع .
استخدم `\\' للحرف المائل .
بالإضافة إلى تتابع العمليات فان حروف التحكم الآتية ممكنة :
* \r للرجوع من أول السطر carriage return
* \n سطر جديد newline
* \f شكل التغذية formfeed
* \b مسافة خلفية backspace
* \xAB حرف بقيمة شفرة آسكى ASCII 0xAB (أى سداسى عشر ) .

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


والى لقاء قريب ان شاء الله
رد مع اقتباس
  #13  
قديم 07-22-2010, 02:03 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
افتراضي أول وأبسط وأهم تعليمات البرمجة بلغة مخطط السلم :

أول وأبسط وأهم تعليمات البرمجة بلغة مخطط السلم :


مخطط السلم يطلق عليه احيانا "مخطط سلم الريلاى" Relay Ladder Logic لأن هذا المخطط أنشأ ليحل محل مخططات دوائر التحكم بالريلاى . أى أن أهم التعليمات وأبسطها هى المرتبطة بالريلاى . فلنقترب منه قليلا .

الريلاى Relay:

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




الشكل يبين أن الريلاى يتكون من ثلاثة أجزاء رئيسية وكل جزء له رمزه الدال عليه والرموز الثلاثة هى :

1- رمز التلامس المفتوح فى الوضع العادىNO ---| |--- (الوضع العادى عندما لا يكون فى حالة عمل )

2- رمز التلامس المقفول (المغلق) فى الوضع العادى NC ---|/|---

3- رمز الملف ---( )---

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

سوف نستخدم الحرف X كاسم لتلامسات الدخل(وهو طرف لمنفذ خارجى) فنقول X1(اللحقة هنا الرقم 1 ) أو نقول Xinput1 (اللاحقة هنا input1 ) وهكذا .
وسوف نستخدم الحرف Y كاسم لملفات الخرج(وهو طرف لمنفذ خارجى) فنقول Y1 أو نقول Yout1 وهكذا
وسوف نستخدم الحرف R كاسم لملفات الريلاى الداخلى ( مكان بالذاكرة يساعد فى البرنامج ولكنه ليس طرف لمنفذ خارجى) .

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

المدخلات تمثل فعل التحكم ويرمز لها بالتلامسات (مفاتيح – حساسات – تلامسات ريلاى) .
المخرجات تمثل رد الفعل أو التنفيذ بمعرفة المنفذات المختلفة ويرمز لها بالملف .

خواص المدخلات (نقط التلامس) CONTACTS:
كل دخل لطرف بمنفذ الدخل له نقطة تلامس تناظره داخل البرنامج ولكن العكس غير صحيح فليس كل نقطة تلامس فى البرنامج يناظرها طرف دخل .
كل دخل مخصص له رقم فى بمنفذ الدخل .

خواص المخرجات (الملفات) COILS :

يتم تشغيل أو إثارة energized الخرج من خلال طرف بمنفذ الخرج عندما يكون رقم الملف المناظر لهذا الخرج تم توصيله on بمخطط منطق السلم .
ليس كل ملف فى البرنامج يناظره خرج . بعض الملفات تستخدم داخل البرنامج (تسمى داخلية(

الريلاى الداخلى Internal Relays

يطلق عليه عدة مسميات مثل الريلاى المساعد auxiliary او العلامات markers أو الأعلام flags أو خانة تخزين . وهو من العناصر الخاصة والمستخدمة على نطاق كبير فى البرامج حيث يمكن ان يحتوى البرنامج مائة أو أكثر من الريلايات الداخلية .
يوجد فى المتحكم عناصر تستخدم فى حفظ البيانات (وهى الخانات) وتتصرف مثل الريلاى فى كونها يمكنها التحويل بين التوصيل والفصل ON/OFF ومن ثم تشغيل وتبطيل أجهزة اخرى . ومن هنا جاء الاسم "ريلاى داخلى " .
هذا الريلاى الداخلى لا يتواجد فى الحقيقة ولكنه مجرد خانة تخزين بالذاكرة (سجل ) ولكنه يتصرف (يعامل) بنفس طريقة الريلاى .
فى البرمجة يعامل كما يعامل الريلاى الحقيقى أو الخارجى سواء فى الدخل او فى الخرج . وهكذا فان المداخل الى المفاتيح الخارجية يمكن أن تعطى خرج من ريلاى داخلى . وينتج تلامسات للريلاى الداخلى يمكن إستخدامها مع مفاتيح الدخل الخارجية الأخرى لكى تعطى خرج لتشغيل محرك مثلا .

مثال :فى الشكل:

فى احد أسطر(درجة) rung البرنامج :
الدخل الى الدخل الخارجى يقوم بتشغيل ملف ريلاى داخلى كخرج .
وفى سطر أخر (فيما بعد) :
كنتيجة للريلاى الداخلى كخرج فان تلامساته تستخدم فى التحكم فى بعض المخارج .
أى عند استخدام الريلاى الداخلى يتم تشغيله فى أحد أسطر البرنامج ثم يستخدم خرجه فى تشغيل تلامسات فى سطر آخر أو أسطر أخرى من البرنامج .
يمكن برمجة الريلاى الداخلى بعدد تلامسات مصاحب له حسب الرغبة .
التفرقة بين الريلاى الداخلى والريلاى الخارجى عن طريق اختلاف انواع العناوين (والتسميات) والتى تختلف من صانع الى اخر .
على سبيل المثال شركة متسوبيشى تستخدم الرموز M100, M101 بينما شركة سيمنس تستخدم F0.0, F0.1 وشركة تليميكانيك تستخدم B0, B1 وشركة توشيبا تستخدم R000, R001 وشركة ألن باردلى تستخدم B3/001, B3/002 .



والى لقاء قريب ان شاء الله
رد مع اقتباس
  #14  
قديم 07-22-2010, 08:32 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

التدريب العملى :

التعرف والتدريب الأساسى على برنامج LDmicro

أولا :التعرف على واجهة البرنامج بعد تشغيله وهو برنامج تنفيذى مباشر ( EXE )أى لا يحتاج فى
تشغيله إلا النقر المزدوج عليه فيفتح كما يلى :







ملخص للقوائم :

1- قائمة الملف File :



2- قائمة التحرير Edit




3- قائمة الضبط Settings



4- قائمة إختيار التعليمات Instruction



5- قائمة المحاكاة Simulate



6- قائمة الكومبيلر أو المترجم Compile



القادم ان شاء الله
تدريب رقم1:
التحكم فى تشغيل وتبطيل جهاز كمخرج ( مصباح – محرك ....) باستخدام مفتاح (أو أى حساس رقمى) كمدخل
رد مع اقتباس
  #15  
قديم 07-23-2010, 03:09 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
افتراضي التدريب الشامل على برنامج LDmicro Tutorial :

التدريب الشامل على برنامج LDmicro Tutorial :

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

وصف البرنامج المطلوب وأجهزة الدخل وأجهزة الخرج

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

فى بداية البرنامج يكون الليد off .
عند الضغط على المفتاح الضاغط (أول ضغطة) يتحول الليد إلى وضع on أى مضاء باستمرار .
إذا ضغطت على المفتاح الضاغط مرة أخرى(الضغطة الثانية) يبدأ الليد فى الوميض أوالإضاءة المتقطعة .
إذا ضغطت على المفتاح للمرة الثالثة (الضغطة الثالثة) يتحول الليد إلى حالة off مرة ثانية .
• وتتكرر الدورة بتكرار الفعل .

1- إختيار الميكروكونترولر والدائرة الكهربائية :

سوف نستخدم الميكرومونترولر PIC16F876 . وهذه هى الدائرة الكهربائية :




الميكروكونترولر PIC16F876-20I (IC1) بمذبذب رنين resonator سيراميكى (U1) (يحتوى داخله على المكثفات ) ويمكن استخدام كريستال مع مكثفين ~20 pF .
المفتاح الضاغط متصل بحيث عند تشغيله يعطى جهد موجب إلى دخل الميكروكونترولر (أسهل فى الفهم) ويسمى ‘active HIGH’ أى جهد مرتفع او منطق 1 عند التشغيل أو التوصيل .
الدائرة على لوحة الاختبار (البريد بورد) كما فى الشكل :



2- المخطط السلمى للبرنامج :

أ*- شرح فكرة البرنامج

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




وهى تعطى معدل وميض (التردد = مقلوب الزمن الدورى) 1/((250+250) ms) أى 2 Hz أو مرتين كل ثانية .
النتيجة تكون توصيل " 250 ms = on " وفصل 250 ms = off " ".
هذه الدائرة يمكنها عمل أى نوع من المذبذبات وبأى عرض فيجب تذكرها .
أيضا لاحظ أننا اخترنا استخدام ريلاى داخلى (‘R’) بدلا من ربطه بطرف دخل ‘X’ أو طرف خرج ‘Y’. وهذا منطقى لأنه لا يوجد سبب معين لربط الإشارة بأى طرف . يقوم البرنامج تلقائيا بتخصيص موضع فى الذاكرة للريلاى الداخلى .

البرنامج له ثلاثة حالات : وهى تبطيل (عدم اضاءة) off – إضاءة مستمرة – إضاءة متقطعة .
يحب أن يحول البرنامج حالته عند كل إرتفاع فى حافة الإشارة من المفتاح الضاغط .
وهذا يعتبر تطبيق جيد للعداد الدائرى .
سوف نقول أن الحالة 0 هى حالة off وأن الحالة 1 هى حالة الإضاءة المستمرة والحالة 2 هى حالة الوميض .
العداد سوف يعد 0, 1, 2, 0, 1, 2, ..., وهكذا.
كل ما نفعله هوأن نجعل السطر به عداد Cstate (يسمى العداد المعبر عن حالة الدخل ) مرتبط (أى الشرط) بالمفتاح الضاغط بالدخل Xbutton وسوف يعمل كل شىء وفق ما نريد .



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



من السهل فهم عمل البرنامج لإنه :

إذا كان البرنامج فى الحالة 1 عندئذ تكون التعليمة ‘Cstate == 1’ لها خرج مرتفع (اى يتحقق الشرط) ومن ثم تعمل على إثارة او تشغيل الخرج ‘Yled’ كما هو مطلوب .
بينما فى الحالة 2 تقوم التعليمة ‘Cstate == 2’ بإثارة الخرج ‘Yled’ (لتحقق الشرط) ولكن فقط عندما يكون ‘Rosc’ حقيقى أو مرتفع . ونظرا لان ‘Rosc’ متذبذب يكون الليد أيضا متذبذب فى الإضاءة اى متقطع كما هو مطلوب .
واخيرا فى الحالة 0 لا يكون أى من تعليمتى التساوى حقيقى (عدم تحقق أى شرط) ولا يوجد طريق لاضاءة الليد أبدا .

ب*- طريقة ادخال (كتابة) المخطط السلمى (البرنامج)
رد مع اقتباس
  #16  
قديم 07-23-2010, 03:20 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
افتراضي ب*- طريقة ادخال (كتابة) المخطط السلمى (البرنامج)

ب*- طريقة ادخال (كتابة) المخطط السلمى (البرنامج)

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




إدخال ( كتابة ) السطر الاول من البرنامج :

نبدأ بالملف coil :

الطريقة :

من القائمة المنسدلة Instruction إختار التعليمة " إدراج ملف " Insert Coil
(ونكتبها إختصارا Instruction > Insert Coil ).
ينشأ هذا الأمر ملف coil بأسم ‘Ynew’ . وهذا ما نريده فيما عدا الاسم فهو خاطىء ويجب إعادة تسميته . لذلك : أنقر نقرا مزدوجا على رمز الملف فيظهر لك مربع حوارى والذى يمكنك ملأه كما فى الشكل .



الآن يمكننا إدراج باقى السطر بنفس الطريقة كما يلى :
أنقر على الحافة اليسرى لرمز الملف فيصبح المؤشر رأسيا الى يسار الملف .
إختار TON (Delayed Turn On) Instruction -> Insert أى مؤقت تاخير التوصيل .
مرة ثانية أنقر نقرا مزدوجا على رمز المؤقت لإعادة تسميته ولتحديد زمن التاخير .
أضف المؤقت TOF ( اى مؤقت تاخير الفصل) والتلامسات بنفس الطريقة .

إدخال ( كتابة ) السطر الثانى :

الآن نريد ان ندخل السطر الثانى لذلك :

إختار Edit > Insert Rung After أى إدراج سطر بعد السطر الحالى .
ثم انقر على السطر الثانى لنقل المؤشر هناك .



السطر الثانى سهل :

مجرد وضع التعليمتان بالترتيب الصحيح بوضع المؤشر حيث تريد إدراج التعليمة وأختار التعليمة المطلوبة من قائمة التعليمات Instruction > Insert .... .
تذكر إعادة التسمية لتكون (‘Xbutton’) للتلامس ووضع أسم ( وهو state) والحد الاقصى (العلوى) للعداد ( وهو 2 ).
بعد ذلك إختار Edit -> Insert Rung After مرة ثانية ليصبح شكل البرنامج كما يلى :



إدخال ( كتابة ) السطر الثالث :

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

أولا يتم ادراج الملف .



ثم إدرج أول تعليمة تساوى على يسار الملف كالمعتاد ويتم أعادة تسميتها ووضع القيمة الصحيحة .



بعد ذلك يتم إضافة فرع توازى .

يمكنك فعل ذلك بالنقر على الحافة السفلية لتعليمة التساوى فيصبح المؤشر اسفل تعليمة التساوى وافقيا .
الآن اختار Instruction-> Insert EQU (Compare for Equals) أى تعليمة مقارنة للتساوى
ولإن المؤشر تحت أول تعليمة تساوى فإن تعليمة التساوى الجديدة سوف تدرج أسفل هذه التعليمة وعلى التوازى معها . يتم اعادة التسمية كالمعتاد .

لإنهاء السطر يجب إدراج التلامسات ‘Rosc’ إلى يمين تعليمة التساوى الثانية .
لفعل ذلك أنقر على الحافة اليمنى لتعليمة التساوى الثانية لنقل المؤشر كما يلى :



عند هذه النقطة أختار Instruction > Insert Contacts يدرج تلامسات على التوالى مع تعليمة التساوى الثانية كما كنت ترغب . يتم إعادة تسمية التلامسات ويكون لديك الشكل :



محاكاة البرنامج :
رد مع اقتباس
  #17  
قديم 07-23-2010, 03:24 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

محاكاة البرنامج :

الآن نحن مستعدين لمحاكاة دائرتنا .
إختار Simulate > Simulation Mode . يتغير مظهر واجه الشاشة ويظهر المخطط السلمى باللون الرمادى ولكنك لن تشاهد أى تغيير مع الزمن . وذلك لأن المتحكم لم يقوم بعمل دورته بعد .
لعمل بدء للدورة (التشغيل ) إختار Simulate> Start Real-Time Simulation
الآن سوف تشاهد حدوث أشياء :
تلاحظ عمل المذبذب . ولكن الليد (‘Yled’) مازالت مطفأة off وهو الذى نريده لأنه لم يتم الضغط على المفتاح الضاغط بعد .
لمحاكاة الضغط على المفتاح الضاغط أنقر نقرا مزدوجا على النص ‘Xbutton’ بالقائمة أسفل الشاشة .
أنت الان حاكيت " جهد دخل المفتاح الضاغط مرتفع " كما لو أن أحدا ضغط على المفتاح الضاغط ( ولم يترك الضغط بعد).



يمكنك مشاهدة البرنامج وهو يعمل :
العداد ‘Cstate’ الآن يساوى 1 والذى يناظر حالة الإضاءة المستمرة والتى نريدها .
خرج الليد يصبح مرتفع حيث يمكنك أن ترى أن قيمتها أصبحت 1 بالقائمة السفلية والملف‘Yled’ يظهر باللون الاحمر .
النقر المزدوج على النص‘Xbutton’ بالقائمة السفلية يحرر المفتاح الضاغط (ازالة الضغط) . بعد ذلك أنقر نقرا مزدوجا مرة أخرى لمحاكاة الضغطة الثانية .
يبدا الملف ‘Yled’ فى الضاءة المتقطعة كما صممنا .
إذا حاكيت الضغطة الثالثة فإن الخرج سوف يصبح منخفض ومستمر أى عدم الاضاءة .
الترجمة إلى ملف سداسى عشر Compiling
الآن تأكدنا تماما من أن البرنامج يعمل .
عند هذه النقطة نحن جاهزون لتوليد الكود أو الشفرة الفعلية وتجربتها على الميكروكونترولر .
أولا أخرج من نظام المحاكاة بأختيار Simulate > Simulation Mode أو بالضغط على زر Escape .
بعد ذلك يحب أن نختار الميكروكونترولر . نحن قررنا سابقا إستخدام PIC16F876 لذلك اختارSettings > Microcontroller ومنها إختار Microchip PIC16F876
يجب أن نخبر البرنامج أيضا عن نوع الكريستال المستخدم .
إختار Settings -> MCU Parameters واملأ خانة سرعة الساعة بالقيمة 20 MHz . أترك زمن الدورة عند 10 ms لانها قيمة جيدة .
الآن يمكنك تخصيص الأطراف للمداخل والمخارج .
أنقر نقرا مزدوجا على النص ‘Xbutton’ بالقائمة السفلية للشاشة واختار الطرف رقم 14 للميكروكونترولر PIC وهو يناظر RC3 . أنقر على OK .




كرر العملية للخرج ‘Yled’ وكما ترى من الدائرة أنه الطرف 15 .
باقى العناصر بالقائمة هى متغيرات داخلية وخانات بالذاكرة لذلك فلا حاجة لتخصيص أطراف لها . فالبرنامج سوف يخصص لها ذاكرة عند الترجمة .
أنت جاهز للترجمة .
أختار Compile> Compileوحدد أين تريد وضع الملف السداسى عشر .
إستخدم جهاز البرمجة لتحميل الملف الى الميكروكونترولر وتكون جاهزا لتجربته.

والى لقاء قريب ان شاء الله
رد مع اقتباس
  #18  
قديم 07-24-2010, 01:10 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
افتراضي التعامل مع إشارات المداخل والمخارج المتقطعة أو المنفصلة Discrete

التعامل مع إشارات المداخل والمخارج المتقطعة أو المنفصلة Discrete كتطبق على الدوائر المنطقية

تمهيد :

1- تعرف هذه الإشارات أيضا بالمداخل والمخارج الرقمية ولها حالتان :
حالة التوصيل on وحالة الفصل off .

أمثلة لأجهزة الدخل المتقطع أو الرقمى :

مفاتيح التحويل العادية والمفاتيح الضاغطة ومفاتيح نهاية المشوار (ليمت سويتش) والمفاتيح التقاربية وتلامسات الريلاى.

وأمثلة لأجهزة الخرج (المنفذات) المتقطع أو الرقمى :

الملفات (السولينويد) وملفات الريلاى وملفات الكونتاكتور ومصابيح (لمبات البيان) .



فى حالة التوصيل on فإن الدخل أو الخرج الرقمى يمثل داخل المتحكم بالمنطق 1 .
فى حالة الفصل off فأن الدخل أو الخرج الرقمى يمثل داخل المتحكم بالمنطق 0 .
الشكل يوضح ذلك



2- مخطط السلم Ladder Diagram

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



3- التدريب الاول :
برنامج بدخل رقمى واحد وخرج رقمى واحد :
تطبيق :
تشغيل مصباح أو محرك عن طريق مفتاح ( أو :التحكم فى جهازخرج عن طريق جهاز دخل )




4- التدريب الثانى : تشغيل حمل من مكانين منفصلين والفصل من مكان واحد
كما فى مخطط الدائرة الكهربية :
• يتم تشغيل الحمل (مثل مجموعة اضاءة H1 ) بالضغط على المفتاح الضاغط S1 "أو" OR المفتاح الضاغط S2 .
• الفصل يتم عند الضغط على الزر الضاغط S0 .



5- التدريب الثالث :
تشغيل مجموعة إضاءة من أربعة أماكن بشرط أن يكون التشغيل من مكانين مختلفين وعلى التوالى .
مخطط الدائرة الكهربائية كما فى الشكل :
يتم تشغيل الحمل (مثل مجموعة الاضاءة H1 ) بالضغط على أى من المفتاحين الضاغطين
( S1 "او" OR S2 ) مع (بمعنى "و" AND) الضغط على أى من المفتاحين الضاغطين ( S4 "أو" OR S5 ).
أما الفصل فيتم عن طريق الضغط على المفتاح الضاغط S3 .

رد مع اقتباس
  #19  
قديم 07-24-2010, 01: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
افتراضي رد: برمجة الميكروكونترولر PIC بلغة منطق السلم Ladder Logic Prog

6- التدريب الرابع :

تشغيل محرك ببادىء حركة أو كونتاكتور من أربعة أماكن إثنان على التوالى وإثنان منفصلان . والفصل يتم من ثلاثة أماكن الأول فصل رئيسى والثانى للتشغيل على التوالى والثالث للتشغيل على التوازى .
مخطط الدائرة الكهربية كما فى الشكل :
يتم تشغيل الكونتاكتور K1 بالضغط على أى من المفتاحين الضاغطين
( S3 "أو" OR S4 ) "أو" OR بالضغط على المفتاح الضاغط ( S2 " مع" "و" AND المفتاح الضاغط S5 ) على التوالى .
يتم الفصل عن طريق مفتاح الفصل الرئيسى S1 أو مفتاح الفصل S7 الخاص بمجموعة التشغيل على التوازى (S3 "أو" S4) أو مفتاح الفصل S6 الخاص بمجموعة التشغيل على التوالى ( S2 مع S5) .



7- التدريب الخامس :
تشغيل محرك من ثلاثة أماكن مختلفة والفصل من مكانين .
مخطط الدائرة الكهربية كما فى الشكل :
يتم تشغيل بادىء أو كونتاكتور المحرك M عن طريق المفاتيح ( S1 "او" S2"أو" S3) .
ويتم الفصل عن طريق المفاتيح ( S01 "أو" S02)



8- مثال عملى : بادىء حركة محرك :
المطلوب : التحكم فى بدء وإيقاف محرك تيار متردد .
قبل الدخول إلى البرنامج لنلقى نظرة على الطريقة العادية للتوصيل بالاسلاك .
المخطط يبين طريقة توصيل مفتاح ضاغط NO "مفتوح فى الوضع العادى" وآخر NC " مقفول فى الوضع العادى " للتحكم فى محرك ذو ثلاثة أوجه.

فى هذا المثال : ملف بادىء حركة المحرك (M) موصل على التوالى مع كل من "لمفتاح الضاغط NO (يقوم بعملية البدء لحظيا) " و AND " المفتاح الضاغط NC ( يقوم بعملية الايقاف لحظيا ) " و AND "تلامسات الاوفرلود (OL) المغلق فى الوضع العادى" .



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

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



يبدأ البرنامج فى العمل عند الضغط على زر البدء حيث:
تستقبل وحدة التحكم المركزية CPU المنطق 1 من المدخل الأول I0.0 .
يتسبب ذلك فى غلق التلامسات I0.0 .
ألآن أصبحت المداخل الثلاثة عند المنطق1 . فترسل وحدة التحكم المركزية CPU المنطق 1 الى الخرج Q0.0
فيتم إثارة بادىء المحرك فيدور .



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

عند الضغط على زر الإيقاف يتحول الدخل الثانى I0.1 إلى وضع التبطيل off وتفتح التلامسات I0.1 والنتيجة فصل ملف الخرج Q0.0 ويقف المحرك عن الدوران .

9- تطوير التطبيق

أولا : إضافة مصابيح أو لمبات بيان

يمكن تطوير البرنامج بسهولة ليحتوى على مصابيح (لمبات) بيان للبدء وللإيقاف .
فى هذا المثال : مصباح بيان البدء RUNيتم توصيله الى المخرج Q0.1 ومصباح بيان الإيقاف STOP يتم توصيله الى المخرج Q0.2 .

رد مع اقتباس
  #20  
قديم 07-24-2010, 01:26 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

ثانيا : إضافة مفتاح نهاية مشوار (ليمت سويتش) Limit Switch

يمكن إستخدام مفتاح نهاية المشوار فى العديد من الوظائف . على سبيل المثال يمكن إستخدامه لإيقاف المحرك أو منعه من الدوران لأى سبب .
فى هذا المثال مفتاح نهاية المشوار مرتبط بباب او فتحة door يجب غلقها للسماح للمحرك بالدوران .
يتم توصيل مفتاح النهاية الى المدخل I0.3 وهو من النوع NO .
إذا كان الباب مفتوح فان مفتاح نهاية المشوار LS1يكون مفتوحا ويكون الدخل I0.3 ايضا مفتوحا . وهذا يمنع المحرك من بدء الدوران .
عند غلق الباب يغلق مفتاح نهاية المشوار LS1 وتبعا له يغلق التلامس I0.3 . تكون النتيجة السماح للمحرك ببدء الدوران عند الضغط على زر البدء .



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

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

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

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

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

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



الساعة الآن 12:23 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