سلام مهندس ببخشید دیر جواب دادم. به نت دسترسی نداشتم و سرم خیلی شلوغ بود. البته هنوز هست!
در مورد جوابه سوالتون توی تاپیک های اولیه جواب داده شده:
این مشخصاتیه که اهدافه پروژه ماست آقای قهرمانی توضیح دادند توی پست 41 صفحه 3
ممنون از راهنمایی های ارزشمندتون. بله منم به همین صورت خواستم پروژه رو پیش ببرم. به قسمت های مختلف تبدیل شده و هر قسمت را به گروه متخصص محول کرد تا کار انجام بشه.
خوب این مشخصاتی که شما نقل قول کردید از پست ۴۱ تقریبا میشه گفت که انواع آرزوها را در خودش داره! ۴محور تا ۱۸ محور ؟!!
همانطور که ابتدا سوال کردم آیا شما قصد طراحی یک سیستم صنعتی را دارید یا برای سرگرمی این کار را پیش میبرید؟
یک سیستم صنعتی باید مشخصات خاصی را داشته باشد که در این تعریف شما از پروژه من ندیدم. در واقع این پروژه از نظر صنعتی کار بسیار پیچیده ای است. در استانداردهای مرتبط با پروتکلهای ارتباطی- Motion Control سختگیرانه ترین استانداردها را داراست. شما در این نوع سیستم نه تنها باید Real Time باشید بلکه باید سیستم شما از نوع IRT باشد یعنی تایمینگ شما باید بسیار دقیق باشد. در این نوع شبکه بندی باید jitter سیستم شما زیر یک میکرو ثانیه باشد که رسیدن به این رقم به سادگی امکانپذیر نیست.
در مورد سخت افزار و نرم افزار سیستم شما نه تنها باید Real Time باشید بلکه باید Hard Real Time باشید یعنی باز هم jitter شما باید کاملا مشخص و محدود باشد.
در قسمتی از تعریف پروژه که نوشته شده سیستمی مشابه مک تری یا لینوکس سی ان سی اما بدون سیستم عامل باز هم نامفهوم است چون هر دو سیستمی که نام بردید اصولا بر روی سیستم عامل خاصی کار میکنند و از امکانات آن سیستمها استفاده میکنند.
کلا این کار کمی سختتر از آن چیزی است که شما فکر میکنید!
به نمونه های شرکتهای معتبر مثل زیمنس - فانوک یا هایدنهین توجه کنید میبینید که در محصولات سطح پایین خود از یک سیستم با کرنل دوگانه استفاده میکنند و در نمونه های سطح بالا تر خود از سیستمهای AMP استفاده میکنند. مسلما وقتی که از یک سیستم با کرنل دوگانه استفاده میکنند وقتی که سیستم در حالت ماشینکاری است یک سری از Task ها در وضعیت معلق قرار میگیرند ولی در سیستمهای از نوع
Asymmetric Multiprocessing میتوانند در حین ماشینکاری به سایر تسک ها هم پاسخ دهند. برای طراحی چنین سیستمهایی شما باید یک سیستم عامل پایدار مثل لینوکس را برای منظور خود بگیرید و کرنل آن را آن چنان دستکاری کنید تا به Jitter مد نظر شما برسد . اینکار مستلزم آن است که شما به کرنل مربوطه تسلط کامل داشته باشید و در ضمن سخت افزاری که قراره این سیستم بر روی آن پیاده سازی شود با دقت بسیار بررسی شود و به تمام زوایای سخت افزار سیستم آشنایی کامل داشته باشید. در غیر اینصورت یک interrupt بد موقع تمام برنامه شما را به هم خواهد ریخت. در نتیجه باگ گیری چنین سیسستمی احتیاج به یک Test Bench خاص داره که باید خودتان آنرا طراحی کنید و خیلی مسایل دیگه که اگر دقیقتر توضیح بدید که چه توقعی از این پروژه دارید توضیح خواهم داد.
در ضمن آن نقل قول از پست ۴۱ را هم فراموش کنید.