PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : برنامه آسانسور(فوری)



ROBOMAN
21-09-2010, 01:00
سلام این برنامه آسانسور رو نوشتم تا یه جهت بالا میره ولی برگشت کار نمیکنه

یه نفر کد ها روببینه بگه مشکل کجاست

morteza_rk
21-09-2010, 01:35
سلام

مهندس من برنامتو دیدم. ولی از اونجائیکه خیلی تو هم تو هم نوشته بودی و هیچ توضیحی هم در متن برنامه نبود و نسبتا طولانی هم بود حوصلم نگرفت که تحلیلش کنم.

از شماتیکشم چیزی نفهمیدم!

ببین در آسانسور دکمه ها باید طوری برنامه ریزی بشن که در حرکت به سمت بالا یا پائین اگه کلید فشار داده شده در مسیر حرکت بود آسانسور در اون طبقه توقف کنه و اگه در مسیر حرکت نبود شماره طبقه ذخیره بشه تا در مسیر برگشت آسانسور در اونجا توقف کنه.

حالا دوتا نکته مهم اینجا هست :

1. دکمه های فشار داده شده باید به ترتیب شماره ی طبقه ذخیره بشن نه بترتیب فشار داده شدن.

2. کلیدهای هر طبقه با کلید متناظرش در داخل اتاقک آسانسور موازی هستن!

حالا شما این موارد رو رعایت کردی یا نه؟

ROBOMAN
21-09-2010, 23:46
سلام

آسانسور که نمیشه گفت یه بالابر 3 طبقه که 4 تا شستی داخل آسانسور داره سه تا برای
طبقات و یکی برای توقف اضطراری و 5 تا سنسور داریم یکی حد بالا یکی حد پایین و سه تا هم برای توقف در طبقات
این مشکلات رو تا حدودی حل کردم مشکل دیگه اولویت کلید فشار داده شده هست که مثلا بعد از فشار کلید مثلا طبقه 3 دستگاه 2 ثانیه صبر کنه تو این دو ثانیه اگر کلید طبقه2 فشار داده شد اولویت با طبقه دوم باشه بعد طبقه 3 لطفا یه نفر کد اولویت بندی کلیدها رو با یه مثال ساده بهم بگه

morteza_rk
22-09-2010, 12:55
برای اولویت بندی بهترین روش استفاده از یه ماتریس هست. یعنی شماره ی کلید فشار داده شده باید به ترتیب عددی (نه ترتیب فشار داده شدن) توی ماتریس ذخیره بشه.

برای تشخیص و مرتب کردن شماره ی طبقه هایی که کلیدشون فشار داده شده میشه براحتی از دستور ه if , عملوندهای بزرگتر ، کوچکتر ، مساوی و ... استفاده کرد.

این روزا یکمی بخاطر جشن و عروسی دوستام سرم شلوغه ، ولی اگه وقت کنم یه برنامه ی نصفه و نیمه می نویسم برات. البته قول نمیدم. ii998)

ROBOMAN
22-09-2010, 15:36
سلام

یه نمونه سورس برام مینویسی تا غروب میخوام
ممنون:unh:

ROBOMAN
01-10-2010, 10:57
سلام

بالاخره یه برنامه آسانسور -بالابر جفت و جور کردیم و بردشم بستم و تحویل دادم و الان داره کار میکنه
حالا یه سری مشکلات جدید به مدار اضافه شده
کلا یه توضیح میدم
ما سه طبقه دارم که از سه تا شستی برای طبقات و از یه شستی برای استپ استفاده کردم
کلیدهای هر طبقه با کلید متناظرش در داخل اتاقک آسانسور موازی هست
و سه تا سنسور که برای توقف بالابر (یعنی به طبقه رسیدی)،حالا من طبقه اول هستم و سنسور اول هم وصله کلید طبقه 1 را میزنم آسانسور نباید کاری بکنه پس طبقه دوم را میزنم آسانسور به سمت بالا حرکت میکنه تابه سنسور طبقه دوم برخورد کنه بعد می ایسته
و از طبقه دوم شسی طبقه اول را میزنم دستگاه به سمت پایین میره تا به سنسور 1 برخورد کنه و متوقف بشه،فاصله بین سنسورها طوریه که بعد از حرکت مثلا از 1 به 2 یه فضایی خالی از سنسور اون وسط باقی میمونه که نه سنسور 1 نه سنسور 2 کار میکنه ولی دستگاه کارشو درست انجام میده اگه در همین حین یه استپ بدیم دستگاه بین سنسور ها توقف میکنه و اگه شسی طبقه 1 رو فشار بدین برمیگرده جای خودش تا اینجا برنامه مثل هلو کار میکنه
حالا اون صاحب بالابر گفته من میخوام برای مثال از طبقه 1 میخوام برم طبقه 2 دکمه طبقه 2 رو میزنم دستگاه به سمت بالا حرکت میکنه هنوز نیم متر از زمین بالا نمیره که دستور استپ رو فشار میده (در این حین توجه کنین که سنسور طبقه 1 هنوز فعاله ) حالا میخواد دستگاه بیاد پایین نمیشه چون سنسور 1 فعاله ،حالا این مشکل برای تمام طبقات هست که طرف بعد از 1 متر از بالا یا پایین رفتن دستگاه شسی استپ رو فشار میده و دکمه همون طبقه ای که هست رو میزنه و میخواد برگرده به اونجا ،
بچه ها لطفا کمک کنین چون اگه درست نشه طرف پول منو با یه لیوان آب روش میخوره

ROBOMAN
01-10-2010, 20:25
سلام

چی شد کسی نبوووود؟

morteza_rk
02-10-2010, 12:43
سلام مهندس

اگه اشتباه نکنم جای سنسورهات بالای اتاقک آسانسور هست! درسته؟

یک راهی که به ذهن من میرسه اینه که برای هر طبقه دوتا سنسور بذاری! و شرط توقف آسانسور در هر طبقه اینه که هر دو سنسور فعال باشه! وگرنه اگه یکی فعال باشه دکمه ی stop کار کنه و اتاقک متوقف بشه!