در این پست می توانید متن کامل این پایان نامه را با فرمت ورد word دانلود نمائید:
دانشگاه آزاد اسلامی
(واحد کرج)
دانشکده فنی- گروه مهندسی کامپیوتر
عنوان:
طراحی و پیاده سازی نرم افزار شبیه ساز
عملکرد تراکتور با ویژوال بیسیک
استاد راهنما:
دکتر محمود امید
نگارش:
مهدی روغنی زاده
خلاصه :
این تز یک قسمت از پروژه HSV در مرکز استرالیایی برای زمینه رباتیک در دانشگاه سیدنی است . هدف توسعه Package ارتباطی بی سیم برای ارتباط بین کامپیوتر آن بورد ute و کامپیوتر اپراتور است . اول از همه حسگرها و محرک ها مطالعه و بحث شدند و همه داده های مهم که اپراتور ممکن است به آن علاقه داشته باشد تحلیل و معین شده اند . سیستم ارتباطی بی سیم سپس انتخاب و گسترش یافت . بانداستفاده شده 2.4 GHz بود و سیستم IEEE802.llb بوسیله ارتباط پیک توپیک کامپیوترها استفاده می شود . Package سخت افزاری بی سیم به دفت انتخاب شده مانند : آنتن ute ، آنتن اپراتور کارت اینترنتی ارتباطی بی سیم و مبدل اینترنتی . کتابخانه ارتباطی استفاده شده کتابخانه msg-Bus بود . جایی که ارتباط به آسانی فعال می شود تا پیامها در یک زمان فرستاده شوند .دو نرم افزار اصلی توسعه یافت . اولین نرم افزار توسعه یافته برای ute تمام دیتای حسگرها را ز حافظه تقسیم شده هسته اصلی می خواند و آن را به کامپیوتر اپراتوری می فرستد . نرم افزار دوم ، نرم افزار اپراتور با ute ارتباط می یابد و دیتای مخصوصی رامی خواهد و آن را در فایلهای متنی ذخیره می کند . سرانجام ، روالهای مطمئن برای هر کس طرح ریزی شده که ute برای مردم توسعه یافته استفاده کند و هر بخش از آزمایش انجام شده در هر زمان را دنبال کند .
فصل اول
مقدمه
Chapter 4 :
4.1 Background : (پیش زمینه)
massage-Bus رابط برنامه نویسی کاربردی msg-Bus یک کتابخانه برای پشتیبانی پردازش داخلی و ارتباط سیستم داخلی است که واسط سوکت را استفاده می کند . کتابخانه پروتکل پیام دیاگرام را استفاده می کند (UDP) که بوسیله IP فراهم می شود. این انتخاب که نسبت به استفاده TCP برتری دارد ساخته شده است . برای اجرای دلایل و بدلیل اینکه واسط اساسی (اترنت سریع کلیدداری در صفحه بندی hupspoke) خودش به تنهایی مجزا است : ارتباط دو طرفه نقطه به نقطه پس گره ها و تصادم یابی با دوباره ارسال کردن بسته ها گم شده . کتابخانه برای کد کردن ساختار دستوری C++ است .
توابع گذرگاه پیام : 4.2
یک سیستم توزیعی شامل تعدادی از سیستم هاست (که گره ها نامیده می شوند) جایی که روی هر نود یک شماره از فرایندها (که وظایف خوانده می شوند) می توانند اجرا شوند . هدف از یک message Bus یک گذرگاه پیام فعال سازی این وظایف است برای انتقال دادن اطلاعات تبادلی و همزمان سازی اهداف دلیل استفاده از message Bus برای این تبادلات اجتناب از ارتباطات نقطه به نقطه یک شبکه وسیع و بدست آوردن معماری سیستم پیمانه ای است . هدف توانایی ارتباط (گذراندن پیام) پس وظیفه ها در نودهای مختلف پاپس وئظایفی در نود مشابه بدون ایجاد هیچ تغییر برای وظایف دیگر در سیستم می باشد . کتابخانه msg-bus شامل تعدادی از توابع است که بوسیله سرویس گیرنده ، سرور و برنامه های نظیر به نظیر فراخوانی می شووند . بوسیله استفاده از این فراخوانی ها یک سیستم تمام توزیع شده عبور دهنده پیام میتواند در هر سیستم عامل پشتیبانی شده فهمیده شود . چهار تابع اصلی شامل :
msg – attach message Bus نصب ارتباط
msg – detach message Bus آزادسازی ارتباط با
msg – send فرستادن یک پیغام به برنامه یا نود دیگر
msg – receive انتظار رسیدن یک پیغام و خواندن آن
4.2.1 : ضمیمه یا پیوست
تابع کتابخانه ای msg-bus یعنی msg-attach اولین تابعی است که بوسیله هر فرایندی که بخواهد msg-Bus را استفاده کند فراخوانی می شود . آن نود و برنامه را برای ایجاد سوکت و تنظیم یک ساختار عمومی با دیتای معمولی استفاده می کند . تابع مقدار Msg-ok(0) را هنگامی که الحاق موفقیت آمیز است یا یکی از کدهای خطا در جایی که سوکت باز است ، بسته است یا خطاها قرار داده شده اند برمی گرداند .
Long msg – attach (char*node,char*task)
(گره) : nede
نود نامی از خود سیستم است (در واقع آدرس IP) که بوسیله یک رشته درفرمت
“XXX.XXX.XXX.XXX” معرفی می شود . (برای مثال “155.69.31.90” ) .
(وظیفه) : task
task(وظیفه) اسمی از خود سیستم است :این باید یک رشته باشد که یک عدد صحیح است . ( در واقع یک شماره درگاه) در رنج 65535+1024 را معرفی می کند . (برای مثال “5016” )
(انفعال ) Detach 4.2.2
تابع کتابخانه msg-bus یعنی msg-attach باید قبل از خارج شدن برنامه کاربردی فراخوانی شود که msg-bus استفاده شود . آن نزدیک socket خواهد بود . هیچ پارامتری هم نیاز نیست .
Long msg-detach( );
4.2.3
msg-send از تابع کتابخانه ای msg-bus برای فرستادن پیغام به برنامه (وظیفه) دیگر بکار می رود . تابع یک بسته با اطلاعات فرستنده و گیرنده اضافه خواهد کرد . برای توانایی فرستادن ، سوکت بایداول بوسیله msg-attach ( ) اضافه شود . ID پیغام و طول (اگر لازم باشد) به دستور بایتی شبکه تبدیل خواهند شد. برای محتویات میدان داده ای ، آن مسئولیت برنامه کاربردی است که این را انجام دهد . برای اطمینان از اینکه آن دریافت شده باشد ، پارامتر قبلی باید به شکل صحیح تنظیم شود . سپس msg – send ( 0 قبل از اینکه برگردد منتظر یک تعویق (البته استفاده از یک timeout) می ماند . تابع هنگامی که فرستادن موفقیت آمیز باشد msg-ok(0) را بر می گرداند یا هنگامی که فرستادن خطا داشته باشد یکی از کدهای خطا را بر می گرداند . timeout یا تصدیق .
Long msg – send (char*nede , char * tssk , Long id , Long len , char * data , boolck);
Node
نود یا گره نام سیستم است (آدرس IP) جایی که برنامه قرار می گیرد . نام نود در رشته ای در فرمت “XXX.XXX.XXX.XXX” معرفی می شود (برای مثال “155.69.31.90”
task
وظیفه یا برنامه نام فرایند مقصد است : این باید یگ رشته بارها که یک عدد صحیح (در واقع یک شماره گذرگاهی) در رنج 1024 به 65535 را معرفی کند (برای مثال “5016”)
id
شناسه ای از پیام برای فرستادن است . (ID ساختار پیام ، احتیاج به دریافت وظیفه برای جذب داده دارد)
Len
طول ، در مقیاس بایت : دنباله بلاک داده است .
data
بلاک دیتا ، یک رشته است .
ack
اگر فرستنده بخواهد برای تصدیق دریافت منتظر بماند بولین True را set می کند .
: دریافت 4.25
msg-receive تابع کتابخانه ای msg-bus یک پیام را از یک سوکت دریافت می کند و با ID پیام و دیتا جواب می دهد . مقدار time out می تواند برای ثانیه های زیاد انتظار کشیدن داده شود . زمانی که یک time out اتفاق بیافتد ، تابع بوسیله کد خطای Msg-ERR-timeout(-30) برگردانده می شود .
اگر timeout به 1- تنظیم شود تابع برای همیشه برای یک پیام ورودی منتظر خواهد ماند .
(این در یک setup استفاده خواهد شد جایی که برنامه دریافتی به یک event ورودی لینک شده است برای اینکه تابع بازخورد فراهم شود) . تابع هنگامیکه پیام دریافتی موفقیت آمیز باشد msg-ok(0) را بر می گرداند یا یکی از کدهای خطا را هنگامی که خطا دریافت می شود . time out یا تصدیق . زمانی که یک ساختمان داده دریافت میشود ، این ساختار فقط بعد از اینکه ID پیغام شناخته شده یکی می شود .
ما یک اشاره گر برای یک ساختار درست فرمت شده ایجاد خواهیم کرد و آن را به یک میدان داده ای ساختار نیافته برای دستیابی به داده نسبت می دهیم .
Long msg – receive(char*nede,char*task,Long* id , Long* len , char* data , Long timeout) ;
Node
نود نام سیستم است (آدرس IP) جایی که فرایند فرستاده شده ناشی می شود . اسم نود بوسیله یک رشته در فرمت “XXX.XXX.XXX.XXX” معرفی می شود . (برای مثال “135.69.31.90” )
task
برنامه (وظیفه) نام فرایند فرستاده شده است . این شاید یک رشته باشد که یک عدد صحیح (در واقع یک شماره گذرگاه) در رنج 1024 تا 65535 را معرفی کند (برای مثال “5016”)
id
شناسه ای از پیام دریافتی است . ID بوسیله برنامه فرستاده شده با موافقت با وظیفه دریافتی استفاده می شود تا ساختار پیام تعریف شود . برنامه دریافتی برای جذب داده مورد نیاز است .
Len
طول ، در مقیاس بایت : دنباله بلاک داده است .
data
بلاک دیتا ، یک رشته است .
timeout :
انتظار کشیدن به مدت چند میلی ثانیه برای یک پیام ورودی . هنگامی که timeout صفر است تابع فقط با دیتایی که در صف موجود است بر می گردد . وقتی مثبت است، این تابع بلوکه می شود و تا وقتی که پیام برسد منتظر می ماند .
پیغامهای فوری 4.3
کتابخانه می تواند بین پیامهای معمولی و پیامهای فوری فرق قائل شود . برای هر برنامه ای که کانال ارتباطی استفاده می کند همچنین یک کانال فوری می تواند باز شود. اگر کانال ارتباطی معمولی بسته باشد کانال اضطراری می تواند استفاده شود . تابع msg-attach-urgent از کتابخانه msg-bus خیلی به msg-attach شبیه است . هر چند سوکت های مختلف برای تهیه کانال جدا برای پیام های اضطراری باز است . این کانال اضطراری مورد نیاز است زیرا برای پیام های اضطراری به صف شدن و گم شدن غیرقابل قبول است زیرا بافر سرریز می کند . تابع می تواند بوسیله هر فرایندی که می خواهد تسهیلات کانال اضطراری از msg-bus را استفاده کند فراخوانی شود . آن می تواند با msg-attach( ) در زمان نصب فراخوانی شود . تابع هنگامی که الحاق موفقیت آمیز باشد msg-ok(0) را بر می گرداند یا یکی از کدهای خطا را هنگامیکه سوکت باز باشد یا بسته یا خطاها set شوند نشان می دهد .
Long msg – attach – urgent(Char*nede,char*task) ;
چیز مشابهی که به فرستادن پیغام ها ، دریافت پیغامها و جدا کردن پارامترها جواب میدهد مانند زیر است:
Long msg – send – urgent(char*node,char*task , Long id, Long len , char* data , bool ack) ;
Long msg – receive – urgent (char*node , char * task , Long * id , Long * len , char * data , Long timeout) ;
Msg-detach 0 urgent ( ) ;
در پروژه ها پیامهای فوری استفاده نمی شود زیرا اساساً پیامهای ارتباطی کاملاً ساده و به موقع هستند . هچ کدام از آنها اضطراری نیستند .
(ممکن است هنگام انتقال از فایل ورد به داخل سایت بعضی متون به هم بریزد یا بعضی نمادها و اشکال درج نشود ولی در فایل دانلودی همه چیز مرتب و کامل است)
متن کامل را می توانید دانلود نمائید
چون فقط تکه هایی از متن پایان نامه در این صفحه درج شده (به طور نمونه)
ولی در فایل دانلودی متن کامل پایان نامه
همراه با تمام ضمائم (پیوست ها) با فرمت ورد word که قابل ویرایش و کپی کردن می باشند
موجود است
پایان نامه کامپیوتر: پیاده سازی نرم افزار شبیه ساز عملکرد تراکتور با ویژوال بیسیک