Simulink امکان مدلسازی و شبیهسازی سیستمهایی با رفتار پیوسته، گسسته و ترکیبی را فراهم میکند. انتخاب شیوه مناسب شبیهسازی، Solver و بلوکهای مورد استفاده، تأثیر مستقیمی بر دقت نتایج، سرعت اجرای مدل و نحوه نمایش رفتار سیستم دارد.
در کنار این مفاهیم، Lookup Table یا جداول جستجو نیز یکی از ابزارهای مهم سیمولینک برای مدلسازی رفتارهای غیرخطی و روابطی است که میتوان آنها را از دادههای تجربی یا نقاط از پیش تعیینشده استخراج کرد. سیمولینک مجموعهای از بلوکهای Lookup Table را برای مدلهای یکبعدی، دوبعدی و چندبعدی در اختیار قرار میدهد.
مفهوم شبیهسازی در سیمولینک
شبیهسازی در Simulink به معنای اجرای مدل و بررسی رفتار سیستم در طول زمان است. در هنگام شبیهسازی، Solver وظیفه محاسبه وضعیت سیستم و پیشبرد زمان شبیهسازی را بر عهده دارد.
نتایج شبیهسازی میتوانند از طریق ابزارهایی مانند Scope، نمایشگرهای گرافیکی و ابزارهای ثبت داده بررسی شوند. Simulink برای سیستمهای پیوسته، گسسته و ترکیبی مجموعهای از Solverهای مختلف را ارائه میکند.
شبیهسازی سیستمهای پیوسته
در یک سیستم پیوسته، متغیرهای حالت میتوانند در تمام لحظات زمانی تغییر کنند. بسیاری از سیستمهای فیزیکی مانند حرکت مکانیکی، فرآیندهای حرارتی، دینامیک سیالات و برخی سیستمهای الکتریکی را میتوان با مدلهای پیوسته نمایش داد.
در چنین مدلهایی Solverهای پیوسته از روشهای عددی برای محاسبه وضعیت سیستم در طول زمان استفاده میکنند. بلوکهایی مانند Integrator، Transfer Fcn و State-Space از جمله بلوکهایی هستند که در مدلسازی سیستمهای پیوسته کاربرد دارند.
نقش Solver در سیستمهای پیوسته
Solver در مدلهای پیوسته اهمیت ویژهای دارد، زیرا باید تغییرات متغیرهای حالت را در طول زمان محاسبه کند.
در سیمولینک میتوان از Solverهای Variable-Step یا Fixed-Step استفاده کرد. Solverهای با گام متغیر میتوانند اندازه گام را متناسب با رفتار سیستم تغییر دهند، در حالی که Solverهای با گام ثابت از یک اندازه گام مشخص استفاده میکنند.
انتخاب Solver باید با ماهیت سیستم و هدف شبیهسازی هماهنگ باشد.
شبیهسازی سیستمهای گسسته
در سیستم گسسته، تغییر وضعیت سیستم بر اساس نمونههای زمانی مشخص انجام میشود. در چنین مدلی، بلوکهای دارای حالت گسسته در زمانهای تعیینشده مقدار حالت خود را بهروزرسانی میکنند.
برای مدلهایی که فاقد حالت پیوسته هستند، Simulink میتواند از Solverهای گسسته استفاده کند. Solver گسسته وظیفه تعیین زمان گام بعدی را دارد و محاسبه حالتهای گسسته توسط خود بلوکهای مدل انجام میشود.
این نوع شبیهسازی برای کنترلکنندههای دیجیتال، پردازش سیگنال، الگوریتمهای نمونهبرداریشده و بسیاری از سیستمهای محاسباتی مناسب است.
اهمیت Sample Time
یکی از مفاهیم اساسی در مدلهای گسسته Sample Time است.
Sample Time مشخص میکند یک بلوک یا بخش خاصی از مدل با چه فاصله زمانی نمونهبرداری و بهروزرسانی شود. تنظیم نادرست Sample Time میتواند باعث تغییر رفتار مدل یا ایجاد ناسازگاری میان بخشهای مختلف سیستم شود.
در مدلهای چندنرخی نیز ممکن است بخشهای مختلف سیستم با نرخهای نمونهبرداری متفاوت کار کنند؛ بنابراین مدیریت صحیح زمان نمونهبرداری اهمیت زیادی دارد.
سیستمهای ترکیبی پیوسته و گسسته
بسیاری از سیستمهای واقعی کاملاً پیوسته یا کاملاً گسسته نیستند.
برای مثال، ممکن است یک فرآیند فیزیکی بهصورت پیوسته مدل شود، اما کنترلکننده آن به شکل دیجیتال و گسسته عمل کند. چنین مدلی دارای هر دو نوع حالت پیوسته و گسسته است.
در این شرایط باید از یک Continuous Solver استفاده شود، زیرا Solver گسسته قادر به مدیریت حالتهای پیوسته نیست.
این ساختار در مدلسازی سیستمهای کنترل دیجیتال و سیستمهای سایبرفیزیکی اهمیت زیادی دارد.
انتخاب Solver مناسب
انتخاب Solver تنها به پیوسته یا گسسته بودن مدل محدود نمیشود. عواملی مانند سرعت تغییرات سیستم، وجود ناپیوستگیها، دقت موردنیاز و هدف شبیهسازی نیز باید در نظر گرفته شوند.
در مدلهای دارای تغییرات سریع یا ناپیوستگی، Solver با گام متغیر میتواند در برخی شرایط زمان شبیهسازی را کاهش دهد، در حالی که برای کاربردهای خاص مانند تولید کد معمولاً Solver با گام ثابت مورد نیاز است.
بنابراین انتخاب Solver باید بخشی از فرآیند طراحی مدل در نظر گرفته شود.
تنظیم زمان شروع و پایان شبیهسازی
در تنظیمات شبیهسازی، Start Time و Stop Time محدوده زمانی اجرای مدل را مشخص میکنند.
این پارامترها با زمان واقعی اجرای نرمافزار یکسان نیستند. مدت زمان لازم برای اجرای یک شبیهسازی به عواملی مانند پیچیدگی مدل، اندازه گام Solver و توان محاسباتی سیستم بستگی دارد.
بنابراین یک شبیهسازی با بازه زمانی بزرگ لزوماً به همان اندازه زمان واقعی برای اجرا نیاز ندارد.
بررسی نتایج شبیهسازی
پس از اجرای مدل، نتایج باید مورد بررسی قرار گیرند تا مشخص شود سیستم مطابق انتظار رفتار کرده است یا خیر.
Scope یکی از ابزارهای رایج برای مشاهده تغییرات سیگنالها در طول زمان است. همچنین میتوان دادههای شبیهسازی را ذخیره کرد و برای تحلیلهای بعدی مورد استفاده قرار داد.
در مدلهای گسسته، توجه به زمان نمونهبرداری و شکل پلهای برخی سیگنالها اهمیت ویژهای دارد.
آشنایی با Lookup Table
Lookup Table روشی برای ایجاد یک رابطه بین ورودی و خروجی بر اساس مجموعهای از دادههای از پیش تعیینشده است.
به جای آنکه یک رابطه ریاضی پیچیده بهصورت مستقیم در مدل پیادهسازی شود، میتوان تعدادی نقطه ورودی و خروجی را در یک جدول قرار داد و سیمولینک بر اساس مقدار ورودی، خروجی مناسب را از جدول تعیین کند.
این روش برای مدلسازی روابط غیرخطی بسیار کاربردی است.
چرا از Lookup Table استفاده میشود؟
گاهی یک رابطه ریاضی دقیق برای یک پدیده در دسترس نیست یا محاسبه مستقیم آن هزینه محاسباتی زیادی دارد.
در چنین شرایطی میتوان از دادههای تجربی، نتایج آزمایشگاهی یا اطلاعات حاصل از شبیهسازیهای قبلی استفاده کرد و رفتار سیستم را به کمک Lookup Table تقریب زد.
MathWorks نیز Lookup Table را برای شرایطی مناسب میداند که رابطه بهصورت تجربی مشخص شده یا محاسبه مستقیم تابع از نظر محاسباتی پرهزینه باشد.
جدول جستجوی یکبعدی
بلوک 1-D Lookup Table برای زمانی مناسب است که خروجی سیستم تنها به یک متغیر ورودی وابسته باشد.
در این حالت، مجموعهای از نقاط مرجع یا Breakpointها و مقادیر متناظر خروجی در جدول قرار میگیرند.
اگر ورودی دقیقاً با یکی از نقاط جدول منطبق نباشد، سیمولینک میتواند بر اساس روش انتخابشده مقدار مناسب را از دادههای اطراف تخمین بزند. این بلوک از روشهای مختلفی برای درونیابی پشتیبانی میکند.
جدول جستجوی دوبعدی
گاهی خروجی به دو متغیر مستقل وابسته است. در این شرایط میتوان از 2-D Lookup Table استفاده کرد.
در این ساختار، دو مجموعه Breakpoint برای تعیین موقعیت ورودیها و یک جدول از مقادیر خروجی مورد استفاده قرار میگیرد.
این روش برای مدلسازی رفتارهایی مانند مشخصات عملکردی تجهیزات که به دو پارامتر وابسته هستند، بسیار مفید است.
جداول جستجوی چندبعدی
در سیستمهای پیچیدهتر، ممکن است خروجی به چندین متغیر وابسته باشد.
بلوک n-D Lookup Table امکان مدلسازی چنین روابطی را فراهم میکند. سیمولینک برای جداول جستجوی چندبعدی، ابزارهایی برای تعریف دادهها، Breakpointها و روش درونیابی ارائه میدهد.
هرچه تعداد ابعاد افزایش پیدا کند، مدیریت دادهها و انتخاب نقاط مناسب اهمیت بیشتری پیدا میکند.
مفهوم Interpolation در Lookup Table
در بسیاری از موارد، مقدار ورودی دقیقاً در جدول وجود ندارد.
در این شرایط، Lookup Table میتواند با استفاده از نقاط اطراف، مقدار خروجی را تخمین بزند. این فرآیند Interpolation نام دارد.
انتخاب روش درونیابی میتواند روی دقت و رفتار مدل تأثیر داشته باشد. بسته به نوع بلوک و تنظیمات، روشهایی مانند درونیابی خطی، نزدیکترین مقدار و برخی روشهای پیشرفتهتر در دسترس هستند.
Extrapolation و خارج شدن از محدوده جدول
اگر مقدار ورودی خارج از محدوده Breakpointهای تعریفشده قرار گیرد، نحوه رفتار Lookup Table به تنظیمات بلوک بستگی دارد.
برخی روشها امکان Extrapolation را فراهم میکنند، در حالی که برخی تنظیمات میتوانند از مقادیر انتهایی جدول استفاده کنند.
بنابراین هنگام طراحی Lookup Table باید مشخص باشد سیستم در خارج از محدوده دادههای موجود چه رفتاری باید داشته باشد.
Lookup Table در مدلهای گسسته
Lookup Table در سیستمهای گسسته کاربرد بسیار زیادی دارد.
در یک مدل گسسته، مقدار ورودی در زمانهای نمونهبرداری دریافت شده و جدول میتواند مقدار خروجی متناظر را تولید کند. به همین دلیل Lookup Table برای پیادهسازی روابط غیرخطی در کنترلکنندههای دیجیتال و سیستمهای Embedded نیز مناسب است.
این روش میتواند جایگزین مناسبی برای محاسبات پیچیده در برخی کاربردها باشد.
استفاده از دادههای تجربی
یکی از مزایای مهم Lookup Table امکان استفاده از دادههایی است که مستقیماً از یک رابطه تحلیلی به دست نیامدهاند.
برای مثال، مشخصات یک تجهیز ممکن است از آزمایش یا دادههای عملکردی استخراج شده باشد. این دادهها را میتوان در قالب جدول وارد مدل کرد و رفتار تجهیز را در محدوده موردنظر شبیهسازی نمود.
به این ترتیب، مدل میتواند بدون نیاز به داشتن یک مدل ریاضی دقیق، رفتار تجربی سیستم را تقریب بزند.
مدیریت جداول با Lookup Table Editor
در نسخههای جدید Simulink، Lookup Table Editor برای ایجاد، ویرایش و مدیریت جداول جستجو در اختیار کاربر قرار دارد.
این ابزار امکان مشاهده و ویرایش دادهها در قالبی مشابه محیطهای جدولی را فراهم میکند و میتواند دادههای مربوط به چند مدل، Subsystem و بلوک Lookup Table را مدیریت کند. همچنین امکان تولید نمودارها و گزارشهایی از دادههای جدول وجود دارد.
انتخاب نوع Lookup Table
انتخاب بلوک مناسب به تعداد متغیرهای ورودی، نوع داده و نحوه استفاده از جدول بستگی دارد.
برای یک متغیر میتوان از 1-D Lookup Table، برای دو متغیر از 2-D Lookup Table و برای تعداد بیشتری متغیر از n-D Lookup Table استفاده کرد.
در شرایط خاص نیز بلوکهایی مانند Prelookup و Interpolation Using Prelookup میتوانند برای بهینهسازی فرآیند جستجو و درونیابی مورد استفاده قرار گیرند.
تفاوت Lookup Table با رابطه ریاضی مستقیم
Lookup Table الزاماً یک رابطه فیزیکی یا ریاضی دقیق ایجاد نمیکند، بلکه رفتار سیستم را بر اساس دادههای موجود تقریب میزند.
بنابراین کیفیت دادههای جدول، تعداد نقاط، محدوده Breakpointها و روش درونیابی همگی بر کیفیت مدل تأثیرگذار هستند.
اگر دادههای ورودی محدود یا نامناسب باشند، حتی یک Lookup Table با تنظیمات مناسب نیز نمیتواند رفتار واقعی سیستم را بهدرستی نمایش دهد.
خطاهای رایج در شبیهسازی
برخی خطاهای متداول در این زمینه عبارتاند از:
انتخاب Solver نامتناسب با ساختار مدل
استفاده از Solver گسسته برای مدلی که حالت پیوسته دارد
انتخاب نادرست Sample Time
تعریف ناقص Breakpointها
ناسازگاری ابعاد دادههای Lookup Table
انتخاب نامناسب روش درونیابی
بیتوجهی به رفتار سیستم خارج از محدوده جدول
تفسیر نادرست نتایج شبیهسازی
بررسی این موارد پیش از تحلیل نتایج میتواند از بسیاری از خطاهای مدلسازی جلوگیری کند.
نقش شبیهسازی و Lookup Table در مدلسازی سیستمهای گسسته
شبیهسازی، Solver و Lookup Table در کنار یکدیگر ابزارهای قدرتمندی برای ساخت مدلهای مهندسی فراهم میکنند.
Solver مشخص میکند سیستم چگونه در طول زمان محاسبه شود، بلوکهای گسسته رفتار نمونهبرداریشده را ایجاد میکنند و Lookup Table نیز میتواند روابط غیرخطی یا تجربی را در اختیار مدل قرار دهد.
این ترکیب در طراحی کنترلکنندههای دیجیتال، سیستمهای صنعتی، مدلهای Embedded و بسیاری از کاربردهای مهندسی قابل استفاده است.
جمعبندی
Simulink امکان شبیهسازی سیستمهای پیوسته، گسسته و ترکیبی را فراهم میکند و انتخاب Solver مناسب یکی از مهمترین مراحل تنظیم یک مدل است. در سیستمهای پیوسته، Solverهای پیوسته برای محاسبه حالتهای دینامیکی استفاده میشوند، در حالی که مدلهای کاملاً گسسته میتوانند با Solverهای گسسته اجرا شوند. مدلهای دارای هر دو نوع حالت نیز به Solver پیوسته نیاز دارند.
در کنار شبیهسازی، Lookup Table روشی کاربردی برای نمایش روابط غیرخطی و تجربی است. جداول یکبعدی، دوبعدی و چندبعدی این امکان را فراهم میکنند که رفتار یک سیستم بر اساس دادههای از پیش تعیینشده و روشهای مختلف درونیابی در مدل قرار گیرد.
در نتیجه، آشنایی با Solver، Sample Time، سیستمهای پیوسته و گسسته، Lookup Table، Breakpoint و Interpolation از مفاهیم مهم برای ساخت مدلهای دقیق و قابل اعتماد در سیمولینک محسوب میشود.
کلیدواژه ها : Simulink Simulation-شبیهسازی در سیمولینک-Simulation Solver-حلگر شبیهسازی-Continuous System-سیستم پیوسته-Continuous Simulation-شبیهسازی پیوسته-Discrete System-سیستم گسسته-Discrete Simulation-شبیهسازی گسسته-Mixed Continuous Discrete System-سیستم ترکیبی پیوسته و گسسته-Sample Time-زمان نمونهبرداری-Fixed-Step Solver-حلگر گام ثابت-Variable-Step Solver-حلگر گام متغیر-Lookup Table-جدول جستجو-1-D Lookup Table-جدول جستجوی یکبعدی-2-D Lookup Table-جدول جستجوی دوبعدی-n-D Lookup Table-جدول جستجوی چندبعدی-Breakpoint-نقاط شکست-Interpolation-درونیابی-Extrapolation-برونیابی-Lookup Table Editor-ویرایشگر جداول جستجو-Nonlinear Modeling-مدلسازی غیرخطی-Discrete Control-کنترل گسسته-Digital Control Simulation-شبیهسازی کنترل دیجیتال-Simulink Modeling-مدلسازی در سیمولینک