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

