شبیه سازی با متلب یک مهارت مهم و پولساز است. پس خوب است که یک مهندس برای آموزش شبیه سازی با متلب وقت بگذارد و آینده شغلی و رفاهی خود را تامین کند.
در این مقاله صرفا با تعریف سیمولینک، نحوه استفاده از آن و کاربرد بلوکهای آن آشنا خواهیم شد. برای آموزش حرفهای و جامع به کلاسهای حضوری و یا مجازی مراجعه نمایید.
فهرست مطالب
سیمولینک چیست؟
آموزش شبیه سازی با متلب
آشنایی با محیط سیمولینک
آموزش اجزای سیمولینک
آموزش شبیه سازی با متلب در ابر فردوسی
سیمولینک چیست؟
سیمولینک یک جعبهابزار مهم در نرمافزار متلب است. برای آشنایی با متلب و سیمولینک به ترتیب مقالات متلب چیست و شبیه سازی با سیمولینک را بخوانید.
کاربرد اصلی سیمولینک شبیهسازی و مدلسازی معادلات علمی و ریاضیات است. کار با سیمولینک آسان است و نتایج به دست آمده از آن دقیق و معتبر هستند.
سیمولینک به شدت در میان مهندسان و دانشمندان ناآشنا با دنیای کدنویسی محبوبیت دارد. زیرا دیگر نیازی به ساعتها سر و کله زدن با کدها و خطایابی آنها ندارند.
همچنین با این جعبه ابزار دیگر نیازی به صرف هزینه و انرژی برای ساخت ایدههایی که هنوز از عملکرد آنها مطمئن نشدهایم، نیست. پس احتمال شکست پروژه نیز کاهش مییابد.
یعنی میتوان به صورت مجازی در سیمولینک پیشبینی نمود که آیا یک ایده در دنیای واقعی کار خواهد کرد یا نه. سپس شروع به صرف وقت و انرژی برای ساخت و ساز آن کنیم.
حتی میتوان آزمایش کرد که یک ایده تحت چه شرایطی بهتر عمل میکند. مثلا یک ماشین مسابقه تحت چه میزان باد یا جنس بدنه سرعت بیشتری خواهد داشت.
آموزش شبیه سازی با متلب
قبل از هر آموزشی این را در نظر داشته باشید که محیط سیمولینک به صورت بلوک و دیاگرام است. مثلا اعمال جمع و تفریق، بلوک مخصوص به خودشان را دارند.
بنابراین در این محیط هیچ نیازی به کدنویسی نیست. اما در صورتی که بلوک یک عمل محاسباتی مورد نیاز شما موجود نباشد، میتوانید کد آن را شخصا وارد نمایید.
برای شبیه سازی با سیمولینک متلب، باید معادلات ریاضی مورد نیاز برای ایده خود را در نظر داشته باشید. سپس آنها را با بلوک و دیاگرامهای سیمولینک مدلسازی کنید.
مثلا در مثال مدل سازی ماشین مسابقه، چندین اجزا مختلف وجود دارند که باید به صورت بهم پیوسته و همزمان طراحی شوند. این کار به خوبی از عهده Simulink برمیآید.
کافیست سیستم دقیقی از بلوکها و دیاگرامها را بر حسب نیاز مدل خود طراحی نمایید و دکمه Run را فشار بدهید. اینک نتیجه شبیهسازی پیش روی شماست.
میتوانید نقاط ضعف و قوت آن را تجزیه و تحلیل کنید و هزاران پارامتر و جزئیات دیگر را برای سنجش مدل خود در شرایط مختلف، به صورت همزمان به سیستم بیافزایید.
حلکنندههای پیشرفته در Simulink از شبیهسازی طیف وسیعی از سیستمهای آنالوگ، دیجیتال، سیگنال مختلط و چند نرخی پشتیبانی میکنند.
آشنایی با محیط سیمولینک
برای شروع ابتدا به متلب، سپس به نوار ابزار سیمولینک بروید. زمان شبیهسازی را به عدد دلخواه تغییر بدهید و آیکون پنجره شکل چهار رنگ را انتخاب نمایید.
در آنجا تمام کتابخانه های سیمولینک برای تمام رشتهها موجود است. در دل هر کدام از آنها تعداد زیادی بلوک است که از آنها برای مدلسازی استفاده میشود.
کافیست بلوکهای مورد نیازتان را از داخل کتابخانه به صفحه اصلی برنامه بکشید. سپس آنها را از طریق دیاگرام بهم متصل نموده و در نهایت دکمه ران را بزنید.
Commonly Used Blocks – بلوک های رایج
Continuous – بهم پیوسته
Discontinuities – نا پیوسته
Discrete – گسسته
Logic and Bit Operations – منطق و عملیات بیت
Math Operations – عملیات ریاضی
Sinks – سینکها
Sources – منابع
User-Defined Function – عملکرد تعریف شده توسط کاربر
Additional Math and Discrete – ریاضی و گسسته اضافی
آموزش اجزای سیمولینک
بلوکهای مجود در کتابخانههای سیمولینک / Simulink بسیار متنوع هستند. در ادامه تلاش کردهایم تا با کمک سایت ctms.engin برخی از کاربردهای آنها شرح بدهیم:
1. Commonly Used Blocks – بلوک های رایج:
بلوکهای رایج سیمولینک را در کادر زیر مشاهده مینمایید. مهم نیست که رشته و تخصص شما چیست. بهطور حتم این بلوکها مورد نیاز شما هستند. با ابر فردوسی همراه باشید:
Bus Creator:
ترکیب مجموعهای از سیگنالها بر عهده این بلوک است. در ادامه باس معادل گذرگاه در نظر گرفته میشود.
Bus Selector:
این بلوک زیرمجموعه مشخصی از عناصر را در ورودی خود خروجی میدهد. و میتواند عناصر مشخص شده را به عنوان سیگنال جداگانه یا به عنوان یک گذرگاه جدید خروجی دهد.
Constant:
بلوک Constant یک مقدار ثابت واقعی یا مختلط تولید میکند. مقدار خروجی ثابت در وسط بلوک با مقدار پیش فرض 1 نمایش داده میشود. میتوانید مقدار این عدد را به عدد دلخواه تغییر دهید.
Data Type Conversion:
این بلوک یک سیگنال ورودی از هر نوع داده را به نوع دادهای که برای پارامتر نوع داده خروجی مشخص میکنید تبدیل میکند. ورودی میتواند هر سیگنال با ارزش واقعی یا پیچیده باشد.
Delay:
Delay یک ورودی u را با توجه به پارامتر Delay length، که مشخص کردهاید، یا طول تاخیری که سیگنال به پورت ورودی میدهد، به تاخیر می اندازد. و معادل عملگر زمان گسسته z-1 است.
Mux:
از بلوک Mux (Multiplexer) برای ترکیب دو یا چند سیگنال اسکالر در یک سیگنال برداری واحد استفاده میشود.
Demux:
برعکس بلوک قبل، Demux (Demultiplexer) یک سیگنال برداری را به اجزای سیگنال اسکالر میشکند. تعداد مولفه های برداری باید در هر مورد مشخص شود.
Discrete-Time Integrator:
بلوک ادغام کننده زمان گسسته، یک تقریب زمان گسسته برای انتگرالگر زمان پیوسته است. روش تقریب و همچنین شرایط اولیه و محدودیتهای اشباع را میتواند مشخص کند.
Gain:
بلوک Gain ورودی را در یک مقدار ثابت ضرب میکند. ورودی و مقدار ثابت هر کدام میتوانند یک اسکالر، بردار یا ماتریس باشند.
Ground:
بلوک زمین به بلوکهایی متصل میشود که پورتهای ورودی آنها به بلوکهای دیگر متصل نمیشوند.
In1:
بلوکهای ورودی، پیوندهایی از خارج از یک سیستم به داخل سیستم هستند.
Out1:
بلوکهای خروجی پیوندهایی از یک سیستم به مقصدی خارج از سیستم هستند.
Integrator:
خروجی این بلاک یک انتگرال ورودی است. میتوان یک شرایط اولیه و همچنین محدودیتهای اشباع را مشخص کرد. این بلوک برای مدلسازی سیستمها در سیمولینک بسیار مفید است.
Logical Operator:
بلوک Logical Operator عملیات منطقی مشخص شده را روی ورودیهای خود انجام میدهد. مقدار ورودی اگر غیر صفر باشد TRUE (1) و اگر صفر باشد FALSE (0) است.
Product:
بهطور پیشفرض، بلوک Product حاصل ضرب دو ورودی را بهدست میآورد: دو اسکالر، یک اسکالر و یک غیراسکالر، یا دو غیراسکالر با ابعاد یکسان.
Relational Operator:
این بلوک دو ورودی را با استفاده از پارامتر عملگر رابطهای که شما مشخص کردهاید مقایسه میکند. ورودی اول مربوط به درگاه ورودی بالا و ورودی دوم مربوط به درگاه ورودی پایین است.
Saturation:
بلوک اشباع یا Saturation محدودیتهای بالا و پایین را بر سیگنال ورودی تحمیل میکند.
Scope:
بلوک Scope سیگنالهای ورودی را با توجه به زمان شبیهسازی نمایش میدهد.
Subsystem:
Subsystem نشان دهنده زیرسیستم سیستمی است که آن را در خود دارد. بلوک Subsystem میتواند یک زیر سیستم مجازی یا یک زیر سیستم غیر مجازی را نشان دهد.
Sum:
این بلوک بر ورودیهای خود عمل جمع یا تفریق را انجام میدهد. این بلوک میتواند ورودیهای اسکالر، برداری یا ماتریسی را اضافه یا کم کند. همچنین میتواند عناصر یک سیگنال را جمع کند.
Switch:
Switch از ورودی اول یا ورودی سوم بر اساس مقدار ورودی دوم عبور میکند. ورودیهای اول و سوم را ورودی داده میگویند. ورودی دوم ورودی کنترل نامیده میشود.
Terminator:
از بلوک Terminator به عنوان درپوش بلوکهایی که پورتهای خروجی آنها به بلوکهای دیگر متصل نمیشوند استفاده کنید.
Vector Concatenate:
وکتور الحاق، سیگنالها را در ورودیهای خود به هم متصل میکند تا یک سیگنال خروجی ایجاد کند که عناصر آن در مکانهای به هم پیوسته در حافظه قرار دارند.
2. Continuous – بهم پیوسته:
بلوکهای پیوسته عناصری از سیستمهای دینامیکی زمان پیوسته هستند و توابعی مانند مشتق و انتگرالها را در خود جای دادهاند:
Derivative:
با این بلوک خروجی برابر با مشتق ورودی است.
Integrator Limited:
بلوک Integrator Limited با بلوک Integrator یکسان است با این تفاوت که خروجی بلوک بر اساس حد اشباع بالا و پایین محدود میشود.
Integrator, Second-Order و Integrator, Second-Order Limited:
بلوک انتگرالکننده مرتبه دوم و بلوک انتگرالکننده محدود مرتبه دوم مشکل مقدار اولیه مرتبه دوم را حل میکنند.
PID Controller:
خروجی بلوک کنترلر PID مجموع وزنی سیگنال ورودی، انتگرال سیگنال ورودی و مشتق سیگنال ورودی است. وزنها پارامترهای بهره متناسب، انتگرال و مشتق هستند.
PID Controller (2DOF):
بلوک PID Controller (2DOF) یک سیگنال خروجی را بر اساس تفاوت بین سیگنال مرجع و خروجی سیستم اندازه گیری شده تولید میکند.
State Space:
ماتریسهای A، B، C و D را میتوان برای ایجاد یک سیستم فضای حالت LTI مشخص کرد. ورودیها و خروجیها با توجه به اندازه ماتریسها ممکن است سیگنالهای برداری باشند.
Transfer Function:
چند جملهای های صورت و مخرج را میتوان برای ایجاد یک تابع انتقال سیستم استاندارد SISO LTI مشخص کرد.
Transport Delay:
بلوک تأخیر حمل و نقل، ورودی را برای مدت زمان مشخصی به تاخیر میاندازد. میتوانید از این بلوک برای شبیه سازی تاخیر زمانی استفاده کنید. ورودی این بلوک باید یک سیگنال پیوسته باشد.
Variable Time Delay, Variable Transport Delay:
تاخیر انتقال متغیر و تاخیر زمانی متغیر به صورت دو بلوک در کتابخانه بلوک سیمولینک ظاهر میشوند. از این پارامترها برای تعیین حالتی که بلوک در آن کار میکند استفاده کنید.
Zero-Pole:
بلوک Zero-Pole سیستمی را مدل میکند که کاربر با صفرها، قطبها و بهره (Gain) تابع انتقال دامنه لاپلاس تعریف میکند.
این بلوک میتواند سیستمهای تک ورودی تک خروجی (SISO) و تک ورودی چند خروجی (SIMO) را مدل کند.
3. Discontinuities – نا پیوسته:
بلوکهای ناپیوسته عناصری از سیستمهای دینامیکی زمان ناپیوسته هستند و کاربردهای ویژهای دارند.. در ادامه به معرفی مختصری از آنها میپردازیم:
Backlash:
عکسالعمل باعث میشود که تغییر در ورودی باعث تغییر برابر در خروجی شود. با این حال، هنگامی که ورودی تغییر جهت میدهد، تغییر اولیه در ورودی هیچ تاثیری بر خروجی ندارد.
Coulomb & Viscous Friction:
بلوک اصطکاک کولن و ویسکوز، اصطکاک کولن (استاتیک) و ویسکوز (دینامیک) را مدل میکند. بلوک یک ناپیوستگی در صفر و یک بهره (Gain) خطی را در غیر این صورت مدل میکند.
Dead Zone:
بلوک Dead Zone خروجی صفر را در یک منطقه مشخص به نام منطقه مرده تولید میکند.
Dead Zone Dynamic:
بلوک دینامیک منطقه مرده به صورت پویا، محدوده سیگنال ورودی را محدود میکند و ناحیه ای با خروجی صفر را ارائه میدهد.
Hit Crossing:
این بلوک زمانی را تشخیص میدهد که ورودی به مقدار پارامتر انحراف Hit crossing در جهت مشخص شده توسط ویژگی Hit crossing direction میرسد.
Quantizer:
بلوک کوانتایزر سیگنال ورودی خود را از طریق یک تابع پلهای عبور میدهد. به طوری که بسیاری از نقاط همسایه در محور ورودی به یک نقطه در محور خروجی نگاشت میشوند.
Rate Limiter:
بلوک Rate Limiter اولین مشتق سیگنال عبوری از آن را محدود میکند. خروجی سریعتر از حد مشخص شده تغییر نمیکند.
Rate Limiter Dynamic:
بلوک دینامیک محدود کننده نرخ، نرخ افزایش و کاهش سیگنال را محدود میکند.
Relay:
این بلوک به خروجی خود اجازه میدهد تا بین دو مقدار مشخص جابجا شود. هنگامی که Relay روشن است، تا زمانی که ورودی از مقدار پارامتر Switch off point پایین بیاید، روشن میماند.
هنگامی که رله خاموش است، تا زمانی که ورودی از مقدار پارامتر Switch on point فراتر رود، خاموش میماند. بلوک یک ورودی میپذیرد و یک خروجی تولید میکند.
Saturation Dynamic:
بلوک دینامیک اشباع محدوده سیگنال ورودی را به مقادیر اشباع بالا و پایین محدود میکند.
Wrap To Zero:
این بلوک زمانی که ورودی بالاتر از مقدار آستانه باشد، خروجی را صفر میکند. با این حال، بلوک زمانی ورودی را خروجی میدهد که ورودی کمتر یا مساوی با آستانه باشد.
4. Discrete – گسسته:
بلوک های گسسته عناصر سیستمهای دینامیکی زمان گسسته هستند. روی نماد Discrete در پنجره اصلی Simulink دوبار کلیک کنید تا پنجره Discrete ظاهر شود.
Unit Delay:
بلوک Unit Delay ورودی خود را مشابه با دوره زمانی نمونهای که شما مشخص کردهاید نگه میدارد و به تاخیر میاندازد.
Difference:
بلوک Difference مقدار ورودی فعلی، منهای مقدار ورودی قبلی را خروجی میدهد.
Discrete Derivative:
بلوک مشتق گسسته یک مشتق زمان گسسته با مقیاس اختیاری را محاسبه میکند.
Discrete Filter:
این یک فیلتر زمان گسسته در فرم تابع منطقی است. بردارهای حاوی ضرایب چند جملهای در z^-1 مشخص شدهاند.
Discrete FIR Filter:
بلوک فیلتر گسسته FIR به طور مستقل هر کانال سیگنال ورودی را با فیلتر FIR دیجیتال مشخص شده فیلتر میکند.
این بلوک میتواند فیلترهای استاتیک با ضرایب ثابت و همچنین فیلترهای متغیر با زمان با ضرایبی را که در طول زمان تغییر میکنند، پیادهسازی کند.
Discrete PID Controller:
خروجی بلوک کنترلر گسسته PID مجموع وزنی سیگنال ورودی، انتگرال زمان گسسته سیگنال ورودی و مشتق زمان گسسته سیگنال ورودی است.
Discrete PID Controller (2DOF):
بلوک کنترل کننده PID گسسته (2DOF) یک سیگنال خروجی بر اساس تفاوت بین سیگنال مرجع و خروجی اندازه گیری شده سیستم تولید میکند.
Discrete State-Space:
این یک سیستم دینامیکی زمان گسسته در فرم فضای حالت است. ماتریسهای A، B، C و D و همچنین شرایط اولیه را میتوان مشخص کرد.
Discrete-Time Integrator:
خروجی این بلوک ادغام زمان گسسته سیگنال ورودی است. روشهای ادغام می تواند فوروارد اویلر (اویلر جلو)، اویلر عقب و غیره باشد.
Discrete Transfer Fcn:
این فرم استاندارد یک سیستم زمان گسسته SISO LTI است. چند جملهای های تابع انتقال به صورت بردارهای ضریب بر حسب z به نمایش در میآیند.
Discrete Zero-Pole:
یک تابع انتقال زمان گسسته را میتوان به صورت فهرستی از قطبهای صفحه z و صفرها نشان داد. سود را نیز میتوان مشخص کرد.
Enabled Delay:
این بلوک سیگنال ورودی را با تعداد مشخصی از نمونهها به تاخیر میاندازد. وقتی ورودی پورت فعال غیر صفر باشد، بلوک را فعال در نظر میگیرد و زمانی که ورودی 0 باشد غیرفعال میشود.
First-Order Hold:
بلوک اول مرتبه Hold یک نمونه مرتبه اول را اجرا میکند که در بازه نمونه برداری مشخص عمل میکند. این بلوک در کاربردهای عملی ارزش کمی دارد و در درجه اول برای اهداف آکادمیک است.
Memory:
بلوک حافظه ورودی خود را با یک مرحله زمانی یکپارچه نگه میدارد و به تاخیر می اندازد. این بلوک سیگنالهای پیوسته را میپذیرد و خروجی میدهد.
بلوک یک ورودی میپذیرد و یک خروجی تولید میکند. هر سیگنال میتواند اسکالر یا برداری باشد.
Resettable Delay:
بلوک Resettable Delay سیگنال ورودی را با یک دوره نمونه متغیر به تاخیر میاندازد و با سیگنال خارجی تنظیم مجدد میشود.
Tapped Delay:
بلوک Tapped Delay یک ورودی را با تعداد مشخصی از دورههای نمونه به تاخیر میاندازد و همه نسخههای تاخیری را خروجی میدهد.
از این بلوک برای گسسته کردن یک سیگنال در زمان یا نمونه گیری مجدد سیگنال با نرخ متفاوت استفاده کنید.
Transfer Fcn First Order:
بلوک Transfer Fcn First Order تابع انتقال مرتبه اول گسسته ورودی را پیادهسازی میکند. تابع انتقال دارای یک بهره DC واحد است.
Transfer Fcn Lead or Lag:
بلوک Transfer Fcn Lead یا Lag یک جبران کننده لید یا تاخیر در زمان گسسته ورودی را پیاده سازی می کند.
بهره لحظهای جبران کننده یک است و بهره DC برابر با (1-z)/(1-p) است که z صفر و p قطب جبران کننده است.
Transfer Fcn Real Zero:
بلوک Transfer Fcn Real Zero یک تابع انتقال زمان گسسته را پیادهسازی میکند که یک صفر واقعی دارد و در واقع هیچ قطبی ندارد.
Variable Integer Delay:
بلوک تاخیر عدد صحیح، متغیر سیگنال ورودی را با یک دوره نمونه متغیر به تاخیر میاندازد.
Zero-Order Hold:
بلوک Zero-Order Hold ورودی خود را برای دوره نمونهای که شما مشخص کردهاید نگه میدارد. بلوک یک ورودی میپذیرد و یک خروجی تولید میکند. هر سیگنال میتواند اسکالر یا برداری باشد.
5. Logic and Bit Operations – منطق و عملیات بیت:
از بلوکهای منطق و عملیات بیت برای انجام عملیات منطقی و بیتی استفاده میشود. برای آشنایی با این بلوکها با ابر فردوسی همراه باشید:
Bit Clear:
بلوک Bit Clear بیت مشخص شده توسط ایندکس آن عدد صحیح ذخیره شده را صفر میکند.
Bit Set:
بلوک Bit Set بیت مشخص شده از عدد صحیح ذخیره شده را روی یک تنظیم میکند.
Bitwise Operator:
بلوک Bitwise Operator عملیات بیتی را انجام میدهد که شما روی یک یا چند عملوند مشخص میکنید.
Combinatorial Logic:
منطق ترکیبی یک جدول حقیقت استاندارد را برای مدلسازی آرایههای منطقی قابل برنامهریزی (PLA)، مدارهای منطقی، جداول تصمیمگیری و دیگر عبارات بولی پیادهسازی میکند.
Compare To Constant:
بلوک Compare To Constant یک سیگنال ورودی را با یک مقدار ثابت مقایسه میکند.
Compare To Zero:
بلوک Compare To Zero یک سیگنال ورودی را با صفر مقایسه میکند.
Detect Change:
بلوک Detect Change تعیین میکند که آیا یک ورودی با مقدار قبلی خود برابر نیست یا خیر.
Detect Decrease:
بلوک Detect Decrease تعیین میکند که آیا ورودی به شدت کمتر از مقدار قبلی خود است یا خیر.
Detect Fall Negative:
بلوک Detect Fall Negative تعیین میکند که آیا ورودی کمتر از صفر است و مقدار قبلی آن بزرگتر یا مساوی صفر بوده است.
Detect Fall Nonpositive:
بلوک Detect Fall Nonpositive تعیین میکند که آیا ورودی کمتر یا مساوی صفر است و مقدار قبلی آن بزرگتر از صفر بوده است.
Detect Increase:
بلوک Detect Increase تعیین میکند که آیا ورودی به شدت از مقدار قبلی خود بزرگتر است یا خیر.
Detect Rise Nonnegative:
بلوک Detect Rise Nonnegative تعیین میکند که آیا ورودی بزرگتر یا مساوی صفر است و مقدار قبلی آن کمتر از صفر بوده است.
Detect Rise Positive:
بلوک Detect Rise Positive تعیین میکند که آیا ورودی کاملاً مثبت است و مقدار قبلی آن غیرمثبت بوده است.
Extract Bits:
بلوک Extract Bits به شما امکان میدهد مجموعه ای از بیتها را از مقدار صحیح ذخیره شده سیگنال ورودی خروجی بگیرید.
Interval Test:
اگر ورودی بین مقادیر مشخص شده توسط پارامترهای حد پایین و حد بالایی باشد، بلوک آزمایش فاصله زمانی درست است.
Interval Test Dynamic:
اگر ورودی بین مقادیر سیگنالهای خارجی up و lo باشد، بلوک دینامیک تست فاصله زمانی درست است. اگر ورودی خارج از این مقادیر باشد بلوک FALSE را خروجی میدهد.
خروجی بلوک زمانی که ورودی برابر با سیگنال بالا باشد یا سیگنال lo با انتخاب کادرهای کنار فاصله بسته در سمت چپ و فاصله بسته در سمت راست در کادر محاورهای تعیین میشود.
Logical Operator:
بلوک Logical Operator عملیات منطقی مشخص شده را روی ورودیهای خود انجام میدهد.
Relational Operator:
با استفاده از پارامتر Relational Operator که شما مشخص کردهاید، دو ورودی را با هم مقایسه میکند. ورودی اول مربوط به درگاه ورودی بالا و ورودی دوم به درگاه ورودی پایینی است.
Shift Arithmetic:
بلوک Shift Arithmetic میتواند بیت ها یا نقطه باینری یک سیگنال ورودی یا هر دو را جابجا کند.
6. Math Operations – عملیات ریاضی:
از بلوکهای عملیات ریاضی برای انجام عملیات ریاضی استفاده میشود. روی نماد Math Operations در پنجره اصلی Simulink دوبار کلیک کنید تا پنجره Math Operations ظاهر شود.
Abs:
بلوک Abs مقدار مطلق ورودی را خروجی میکند.
Algebraic Constraint:
بلوک محدودیت جبری سیگنال ورودی f(z) را به صفر محدود میکند و حالت جبری z را خروجی میکند.
Assignment:
بلوک Assignment مقادیری را به عناصر مشخص شده سیگنال اختصاص میدهد.
Bias:
بلوک Bias یک بایاس یا آفست را به سیگنال ورودی اضافه می کند. در شکل زیر U ورودی بلوک و Y خروجی است.
Complex to Magnitude-Angle:
بلوک Complex to Magnitude-Angle یک سیگنال با ارزش Complex از نوع double یا single را میپذیرد.
Complex to Real-Image:
بلوک Complex to Real-Imag یک سیگنال با ارزش Complex از هر نوع دادهای که Simulink پشتیبانی میکند، از جمله انواع دادههای نقطه ثابت را میپذیرد.
Divide:
بلوک Divide نتیجه تقسیم اولین ورودی خود بر دوم را به دست میآورد.
Dot Product:
خروجی برابر است با حاصل ضرب نقطهای دو سیگنال برداری.
Find:
بلوک Find تمام عناصر غیر صفر سیگنال ورودی را تعیین میکند و شاخصهای خطی آن عناصر را برمیگرداند.
Magnitude-Angle to Complex:
بلوک Magnitude-Angle to Complex ورودیهای بزرگی و زاویه فاز را به خروجی پیچیده تبدیل میکند.
Math Function:
بلوک تابع ریاضی چندین توابع ریاضی رایج را انجام میدهد.
MinMax:
بلوک MinMax حداقل یا حداکثر عنصر یا عناصر ورودیها را خروجی میدهد.
MinMax Running Resettable:
این بلوک به معنای MinMax در حال اجرا و قابل تنظیم مجدد است و حداقل یا حداکثر تمام ورودیهای گذشته u را خروجی میدهد.
Permute Dimensions:
این بلوک عناصر سیگنال ورودی را مجدداً مرتب میکند تا به ترتیبی که در پارامتر Order مشخص کردهاید باشند.
Polynomial:
شما مجموعهای از ضرایب چند جملهای را به شکلی تعریف میکنید که دستور چند جملهای متلب میپذیرد. این بلوک P(u) را در هر مرحله زمانی برای ورودی u ارزیابی میکند.
Product:
خروجی برابر است با حاصلضرب ورودیها. تعداد ورودیها را میتوان مشخص کرد.
Product of Elements:
بلوک محصول عناصر یک اسکالر، بردار یا ماتریس را وارد میکند.
Real-Imag to Complex:
بلوک Real-Imag به Complex ورودیهای واقعی و/یا خیالی را به سیگنال خروجی با ارزش پیچیده تبدیل میکند.
Reciprocal Sqrt:
بلوک Reciprocal Sqrt مقدار متقابل جذر ورودی را میدهد.
Reshape:
بلوک Reshape ابعاد سیگنال ورودی را با استفاده از پارامتر ابعاد خروجی بلوک به ابعادی که شما مشخص کردهاید تغییر میدهد.
Rounding Function:
بلوک Rounding Function یک تابع برای گرد کردن را به سیگنال ورودی اعمال میکند تا سیگنال خروجی را تولید کند.
Signed Sqrt:
بلوک Signed Sqrt جذر قدر مطلق ورودی را ضرب در علامت ورودی میدهد.
Sine Wave Function:
این بلوک همان بلوک موج سینوسی است که در کتابخانه Sources ظاهر میشود.
Slider Gain:
این بلوک ورودی را در یک ثابت اسکالر ضرب میکند که با حرکت دادن یک نوار لغزنده بر روی صفحه همراه است. محدودیتهای لغزنده را میتوان مشخص کرد.
Sqrt:
بلوک Sqrt جذر ورودی را میدهد.
Squeeze:
بلوک Squeeze ابعاد تکی را از سیگنال ورودی چند بعدی خود حذف میکند.
Sum, Add, Subtract, Sum of Elements:
بلوک Sum در ورودیهای خود جمع یا تفریق را انجام میدهد. این بلوک میتواند ورودیهای اسکالر، برداری یا ماتریسی را اضافه یا کم کند. همچنین میتواند عناصر یک سیگنال را جمع کند.
Vector Concatenate, Matrix Concatenate:
بلوک Concatenate سیگنالها را در ورودیهای خود به هم متصل میکند تا یک سیگنال خروجی ایجاد کند که عناصر آن در مکانهای به هم پیوسته در حافظه قرار دارند.
7. Sinks – سینکها:
بلوک سینک برای نمایش یا خروجی سیگنال استفاده میشود. توجه داشته باشید که تمام بلوکهای سینک ورودی دارند و خروجی ندارند. اکثر آنها یک ورودی واحد دارند.
Display:
نمایشگر سینک بلوک، بازخوانی دیجیتالی سیگنال در زمان شبیه سازی فعلی است.
Out Bus Element:
بلوک Out Bus Element یک عنصر از یک گذرگاه (یا کل گذرگاه) را برای پورت خروجی زیرسیستم مشخص میکند.
Scope:
برای نمایش سیگنال به عنوان تابعی از زمان استفاده میشود.
Stop Simulation:
این یک بلوک کنترل ویژه است که برای متوقف کردن شبیه سازی جریان، در زمانی که ورودی آن غیر صفر است راهاندازی میشود.
To File:
بلوک To File Sink یک سیگنال را در یک فایل mat ذخیره میکند، به همان روشی که بلوک منبع فایل From از یک فایل میخواند. زمان نمونه برداری را میتوان مشخص کرد، اما ضروری نیست.
To Workspace:
بلوک To Workspace Sink یک سیگنال را در یک متغیر فضای کاری مشخص ذخیره میکند. برخلاف To File Sink Block، زمان در متغیر ذخیره نمیشود و باید جداگانه ذخیره شود.
XY Graph:
XY Graph Sink Block یک سیگنال را در مقابل سیگنال دیگر ترسیم میکند. برای نمودارهای صفحه فاز و غیره مفید است.
8. Sources – منابع:
از بلوکهای منبع برای تولید سیگنال استفاده میشود. توجه داشته باشید که همه بلوکهای منبع یک خروجی دارند و هیچ ورودی ندارند.
در حالی که پارامترهای هر یک از این بلوکها در کتابخانه را میتوان با دوبار کلیک کردن روی بلوک تغییر داد، بهتر است بلوکها را تا زمانی که در پنجره مدل کپی نشدهاند تغییر ندهید.
Band-Limited White Noise:
بلوک منبع نویز سفید باند محدود یک سیگنال تصادفی تولید میکند که در یک دوره نمونه مشخص تغییر میکند. همچنین میتوان قدرت سیگنال و یک عدد تصادفی را مشخص کرد.
Chirp Signal:
بلوک منبع سیگنال Chirp یک سیگنال سینوسی تولید میکند که در طیف وسیعی از فرکانسها اسکن میکند.
فرکانسهای اولیه و نهایی و همچنین زمان اسکن را میتوان مشخص کرد. دامنه همیشه 1 است و سیگنال چیپ پس از هر اسکن فرکانس تکرار میشود.
Clock:
این بلوک سیگنالی برابر با زمان جاری در شبیه سازی تولید میکند. این زمانی مفید است که خروجی یک شبیه سازی به MATLAB صادر میشود اما در مراحل زمانی ناهموار رخ میدهد.
خروجی ساعت منعکس کننده زمانهایی است که در آن سیگنالهای خروجی دیگر رخ میدهند.
Counter Free-Running:
این بلوک تا رسیدن به حداکثر مقدار شمارش میکند. $2^{Nbits}-1$، که در آن Nbits تعداد بیتها است. سپس شمارنده به صفر میرسد و دوباره شروع به شمارش میکند.
Counter Limited:
بلوک Counter Limited تا رسیدن به حد بالایی که مشخص شده است میشمارد. سپس شمارنده به صفر میرسد و شمارش مجدد را شروع میکند.
Digital Clock:
بلوک منبع ساعت دیجیتال، یک سیگنال زمانی کاملا دورهای را در یک بازه نمونه برداری مشخص تولید میکند.
Enumerated Constant:
بلوک Enumerated Constant یک اسکالر، آرایه یا ماتریسی از مقادیر شمارش شده را خروجی میدهد.
From File:
این بلوک یک سیگنال گرفته شده از یک فایل mat مشخص شده را خروجی می دهد. تا حدودی شبیه به Repeating Sequence Source Block است.
یک ماتریس ذخیره شده در MATLAB به عنوان یک فایل mat تبدیل به سیگنالی میشود که در آن ردیف اول ماتریس مقادیر زمانی را مشخص میکند.
From Spreadsheet:
این بلوک مقادیر داده را از یک صفحه گسترده میخواند. ستون اول را به عنوان زمان و سطر اول و ستونهای باقی مانده را به عنوان سیگنال تفسیر میکند.
From Workspace:
بلوک منبع From Workspace مشابه بلوک From File Source است با این تفاوت که مقادیر از یک متغیر (یا عبارت) در محیط کاری MATLAB گرفته میشوند.
In Bus Element:
این بلوک عنصری را از یک گذرگاه (یا کل گذرگاه) که به پورت ورودی زیرسیستم متصل است، انتخاب میکند.
Pulse Generator:
بلوک منبع پالس ژنراتور، یک قطار پالسی با چرخه کاری متفاوت تولید میکند. سیگنال بین 0 و مقدار مشخص شده در زمان خاصی شروع میشود.
دوره، چرخه وظیفه، دامنه و زمان شروع را خود کاربر میتواند مشخص کند.
Ramp:
این بلوک سیگنالی را تولید میکند که در ابتدا ثابت است و شروع به افزایش (یا کاهش) با نرخ ثابت در یک زمان مشخص میکند. کاربر شیب، زمان شروع و خروجی اولیه را میتواند مشخص کند.
Random Number:
بلوک منبع اعداد تصادفی، دنبالهای از اعداد تصادفی تولید شده با دانه اعداد تصادفی مشخص شده را تولید میکند. به دلیل seed، همان دنباله را میتوان برای بیش از یک شبیه سازی اعمال کرد.
Repeating Sequence:
یک مجموعه دلخواه از نقاط (t,y) را میتوان مشخص کرد. این نقاط به عنوان دو بردار که مقادیر زمان t و مقادیر خروجی y را مشخص میکند، وارد میشوند.
خروجی به صورت خطی بین مقادیر زمانی مشخص شده درون یابی میشود. در آخرین مقدار زمانی، خروجی بلافاصله از نو شروع میشود، احتمالاً با یک انتقال ناپیوسته.
Repeating Sequence Interpolated:
بلوک Repeating Sequence Interpolated یک توالی زمان گسسته را خروجی میدهد و سپس آن را تکرار میکند.
Repeating Sequence Stair:
بلوک Repeating Sequence Stair یک توالی پله را که با پارامتر Vector of output values مشخص کردهاید، خروجی و تکرار میکند.
Waveform Generator:
بلوک Waveform Generator شکل موجها را بر اساس نمادهای سیگنالی که در جدول تعریف شکل موج وارد شدهاند، خروجی میدهد.
Signal Generator:
این یک بلوک همه منظوره است که برخی از عملکردهای بلوکهای دیگر را هم دارد. شکل موجهای دورهای مانند امواج سینوسی، مربعی و دندانهای و همچنین یک سیگنال تصادفی تولید میکند.
به طور پیش فرض، مولد سیگنال یک موج سینوسی با دامنه 1 و فرکانس 1 هرتز تولید میکند. برای تغییر این حالت، روی Signal Generator در پنجره مدل خود دابل کلیک کنید.
در کادری که ظاهر میشود دامنه، فرکانس و همچنین نوع شکل موج قابل تغییر است. برای تغییر شکل موج، روی قسمت Waveform کلیک کنید تا لیستی از شکل موجهای ممکن ظاهر شوند.
Sine Wave:
این بلوک یک سیگنال سینوسی تولید میکند. بر خلاف سیگنال مولد، در این بلوک مقدار دامنه، فرکانس و همچنین فاز را میتوان مشخص کرد.
پارامتر چهارمی به نام Sample Time نیز وجود دارد که میتواند برای وادار کردن منبع موج سینوسی به کار در حالت زمان گسسته استفاده شود.
Step:
همانطور که قبلا اشاره شد، بلوک Step یک تابع مرحله تولید میکند. مقادیر اولیه و نهایی و همچنین زمان گام را میتوان مشخص کرد.
Uniform Random Number:
بلوک اعداد تصادفی یکنواخت، اعداد تصادفی توزیع شده یکنواخت را در بازهای که شما مشخص میکنید تولید میکند.
آموزش شبیه سازی با متلب در ابر فردوسی
یک کاربر برای کار و حتی تمرین در فضای متلب و آموزش شبیه سازی در سیمولینک، به سختافزارهای قدرتمندی احتیاج دارد.
از آنجایی خرید این سختافزارهای قدرتمند بسیار گران است و گاها از عهده یک کارآموز تازهکار خارج است، استفاده از سرویس محاسبات سنگین ابر فردوسی بهترین گزینه است.
برای این کار کافیست وارد سایت ابر فردوسی شوید و از صفحه سرویسها، گزینه محاسبات سنگین را انتخاب نمایید. اینک با توجه به نیاز خود تعرفه مناسب را برگزینید.
سپس با هماهنگی پشتیبانان شرکت، پلتفرم متلب بر روی کامپیوتر مجازی شما نصب میگردد تا با خاطری آسوده، با نازلترین قیمتها و بهترین کیفیت از متلب بهره ببرید.
از دیگر نرمافزارهای موجود در ابر فردوسی میتوان به ژوپیترلب، انسیس، آباکوس، آر استودیو، پریمیر، فتوشاپ، افترافکت و… اشاره کرد. جهت استفاده از متلب کلیک نمایید:
کار با سیمولینک برای مهندسایی که با برنامه نویسی آشنا نیستن خوبه؟
نرمافزار سیمولینک به دلیل محیط گرافیکی و استفاده از بلوکهای دیاگرام، برای مهندسانی که با برنامهنویسی آشنا نیستند، بسیار مناسب است. این نرمافزار به کاربران اجازه میدهد بدون نیاز به نوشتن کد، سیستمها را طراحی و شبیهسازی کنند.
مزایای کار با سیمولینک برای مهندسان غیر برنامهنویس:
محیط گرافیکی: کار با بلوکها و دیاگرامهای بصری سادهتر از کدنویسی است.
تبدیل خودکار به کد: سیمولینک به طور خودکار دیاگرامهای گرافیکی را به کد تبدیل میکند، که این امر نیاز به دانش عمیق برنامهنویسی را کاهش میدهد.
آموزش و یادگیری آسان: با وجود منابع آموزشی و دورههای رایگان، یادگیری سیمولینک برای افراد تازهکار آسانتر است.
بنابراین، سیمولینک گزینهای عالی برای مهندسانی است که به دنبال شبیهسازی و مدلسازی سیستمها بدون نیاز به برنامهنویسی پیچیده هستند.