۲۴ اردیبهشت ۱۳۹۹
بازدیدها: 1,472
بدون نظر

طراحی مبتنی بر مدل چیست؟
طراحی مبتنی بر مدل فرایندی برای طراحی و پیاده‌سازی سیستم‌های کنترل است که در آن همه مراحل طراحی، پیاده‌سازی، تست و ارزیابی سیستم کنترل با استفاده از یک مدل نرم‌افزاری انجام می‌شود. شرکت MathWorks‌ به‌عنوان یکی از توسعه‌دهندگان اصلی این روش طراحی است و توسعه نرم‌افزار MATLAB و به‌صورت خاص SIMULINK‌ به‌نحوی صورت می‌گیرد که همه مراحل طراحی، تست و پیاده‌سازی یک سیستم کنترلی را بتوان در این محیط انجام داد.
در سال‌های اخیر توسعه قدرت پردازش و میزان حافظه در سیستم‌های توکار (embedded) از یک‌سو و افزایش پیچیدگی سیستم‌های کنترل از سوی دیگر و همچنین نیاز به کاهش زمان رسیدن به محصول باعث شده‌است که روش طراحی مبتنی بر مدل توسط شرکت‌های بزرگ و در پروژه‌های حساس مورد استفاده قرار گیرد. برای نمونه می‌توان به سیستم کامپیوتر پرواز هواپیمای F35‌ شرکت Lockheed Martin و پروژه سیستم کنترل سوخت هواپیمای Airbus A380 و کامپیوتر پرواز هواپیمای Scramjet X-43 (محصول مشترک BAE و NASA‌) اشاره کرد که در آن از روش تولید خودکار کد و نرم‌افزار MATLAB‌ استفاده شده‌است.
روند طراحی مبتنی بر مدل به بیان ساده بدین‌صورت است: ابتدا مدل نرم‌افزاری سیستم در محیط SIMULINK‌ طراحی شده و سپس پارامتر‌های مدل با استفاده از ورود‌ی‌ها و خروجی‌های سیستم واقعی تنظیم می‌شوند. این کار با استفاده از ابزار Parameter Estimation‌ انجام می‌شود. سپس سیستم کنترل با استفاده از ابزار‌های متنوع موجود برای مدل نرم‌افزاری طراحی می‌شود. در ادامه نمونه‌سازی سریع و شبیه‌سازی سخت‌افزار در حلقه پلنت انجام می‌شود که در آن کنترل‌کننده طراحی‌شده در محیط SIMULINK با استفاده از ‌ابزار‌های Real Time Windows Target‌ یا xPC Target‌ به‌صورت زمان‌حقیقی اجرا شده و به پلنت واقعی متصل می‌شود. در این حالت می‌توان عملکرد سیستم کنترل را روی پلنت واقعی ارزیابی کرد و تنظیمات نهایی را انجام داد.
پس از تنظیم پارامتر‌های کنترل‌کننده نوبت به پیاده‌سازی آن روی یک برد سخت‌افزاری می‌رسد. در روش طراحی مبتنی مدل این کار با استفاده از ابزار‌های تولید خودکار کد انجام می‌شود. در این حالت نیازی به کدنویسی سخت‌افزار پردازشی به‌صورت دستی نیست و با انجام یکسری تنظیمات ساده می‌توان مدل توسعه‌داده‌شده در محیط SIMULINK‌ را روی برد سخت‌افزاری موردنظر پیاده‌سازی کرد.
در سال‌های اخیر نرم‌افزار MATLAB توسعه روش تولید خودکار کد را برای برد‌های ارزان قیمت آغاز کرده است. این موضوع باعث شده که دانشجویان و کارشناسان همه رشته‌ها با داشتن اطلاعات کمی در مورد الکترونیک دیجیتال،‌ توانایی پیاده‌سازی سیستم‌های کنترل را برای انواع سیستم‌ها پیدا کنند.

سخت افزار در حلقه

ایده اصلی شبیه سازی سخت افزار در حلقه (HIL)، به قراردادن یک یا چند زیر سیستم از یک سامانه به صورت سخت افزار واقعی در حلقه ی شبیه سازی مربوط می شود. مزیت عمده این روش این است که بدون نیاز به ساخت تمام اجزای سیستم، می توان سیستم کنترل را در شرایطی تا حد امکان واقعی مورد آزمایش قرار داد و چون به جای برخی از زیر سیستم ها، سخت افزار واقعی قرار گرفته است، نتایج شبیه سازی به عملکرد واقعی سیستم نزدیکتر خواهد بود و در نتیجه می توان از ریسک و هزینه ی آزمایش هایی که ممکن است ناموفق باشند، جلوگیری کرد.

گام اول در طراحی مفهومی آزمایشگاه، تعیین حلقه های موجود در سیستم و تعیین زیر سیستم های هر حلقه است. ممکن است یک سیستم برای انجام صحیح مأموریت خود، از چندین حلقه استفاده کند که هرکدام از این حلقه ها دارای زیر سیستم های متعدد هستند. پس از تعیین حلقه های موجود در سیستم لازم است که تعیین شود که شبیه سازی سخت افزار در حلقه برای کدام حلقه ها انجام می شود. اینکه کدام یک از زیر سیستم ها و کدام حلقه در شبیه سازی سخت افزار در حلقه مورد بررسی قرار بگیرند، به نظر طراحان سیستم و امکانات در دسترس بستگی داشته و در جلسات مشترک تعیین می شود. پس از تعیین حلقه-هایی که در شبیه سازی سخت افزار در حلقه به آنها توجه می شود، بررسی از داخلی ترین حلقه آغاز شده و تا بیرونی ترین حلقه ادامه خواهد یافت. شبیه سازی سخت افزار در حلقه برای یک سیستم بسته به اینکه کدام قسمت از آن به صورت نرم افزاری و کدام قسمت به صورت سخت افزاری در حلقه شبیه سازی قرار گیرد، متفاوت است.
در مرحله دوم، تمام حالاتی که زیر سیستم های یک حلقه به صورت سخت افزار یا نرم افزاری در حلقه ی شبیه سازی قرار می گیرند در جدولی به نام جدول حالات رسم می شوند. بعد از رسم جدول حالات برای حلقه های مورد نظر سیستم، لازم است حالاتی که از لحاظ منطقی غیرممکن هستند از جدول حالات حذف شوند. یک نمونه از حالات غیرممکن حالت هایی است که در آنها پلنت به صورت سخت افزاری و حسگرها و عملگرها به صورت نرم افزاری در حلقه ی شبیه سازی قرار داده شده اند، زیرا در حالتی که پلنت واقعی باشد، نمی توان با استفاده از عملگر شبیه سازی شده، فرمانی به آن اعمال کرد، همچنین در این حالت نمی توان با استفاده از حسگر شبیه سازی شده اطلاعات مورد نیاز را خواند، علاوه بر آن، حالت هایی که حسگر به صورت سخت افزاری در حلقه شبیه سازی قرار داشته و پارامتری که قرار است توسط آن اندازه گیری شود، به صورت نرم افزاری در حلقه قرار داده شود، به عنوان حالات غیرممکن حذف می شوند.
در فاز طراحی اولیه آزمایشگاه، ملاحظات مربوط به انجام هرکدام از تست هایی که در مرحله طراحی مفهومی تعیین شد، مورد بررسی قرار می گیرد. در شبیه سازی سخت افزار در حلقه، به منظور اجرای شبیه سازی، لازم است اطلاعاتی از شبیه سازی نرم افزاری برای سخت افزار ارسال شده یا اطلاعاتی از سخت افزار مورد نظر دریافت شده و برای شبیه سازی ارسال شود. در این مرحله با بررسی هر کدام از زیر سیستم ها، اطلاعاتی که لازم است بین سخت افزار و نرم افزار هر زیر سیستم رد و بدل شود، مشخص می-شود. در برخی موارد علاوه بر اطلاعاتی که به منظور اجرای صحیح شبیه سازی، بین نرم افزار و سخت افزار رد و بدل می شود، به منظور بررسی دقیق تر صحت عملکرد سیستم و عیب یابی آن، لازم است اطلاعات دیگری از قسمت های گوناگون سیستم دریافت شود. با توجه به اینکه معمولاً این اطلاعات، جمع آوری شده و برای تحلیل و نمایش برای رایانه شبیه ساز ارسال می شود، لازم است توسط طراح آزمایشگاه، مدنظر قرار گیرد، برای این منظور، طراح آزمایشگاه با برگزاری جلسات متعدد با طراحان هر کدام از زیر سیستم ها، اطلاعات مورد نیاز برای هر زیر سیستم را تعیین می کند. پس از تعیین این اطلاعات، حسگرهای مورد نیاز هر کدام مشخص می شود. در شبیه سازی سخت افزار در حلقه، به منظور تست دقیق عملکرد سیستم در شرایط نزدیک به واقعیت، لازم است، شرایطی تا حد امکان واقعی برای هر زیر سیستم، مانند دما، لرزش و… شبیه سازی شود.