آموزش سیمولینک قسمت اول

در نرم افزار متلب، برای باز کردن پنجره مربوط به سیمولینک (SIMULINK)، در پنجره Command ، دستور simulink را نوشته و سپس کلید enter از کیبورد را فشار بدهید. پنجره Simulink Library Browser باز می‌شود که به شکل زیر می‌باشد :

matlab41

از منوی File ، گزینه New و سپس گزینه Model را انتخاب کنید. یک پنجره خالی به شکل زیر باز می‌شود :

matlab42

 

این پنجره را پنجره Model می‌نامیم. آنچه که از این به بعد باید انجام دهیم، این است که بلوک‌هایی (blocks) را که می‌خواهیم، از library‌های سیمولینک انتخاب کنیم و آنها را در پنجره Model کپی کنیم.

در ادامه، مثال مطرح شده در بخش سیمولینک کتاب زیر را برای شما شرح خواهم داد :

A Guide to MATLAB for Beginners and and Experienced Users

فرض کنید بخواهیم معادله دیفرانسیل زیر را در سیمولینک نرم افزار متلب، مدل سازی کنیم :

\begin{align}
u”+2u’+5u=0
\end{align}

 

چون متغیر زمان به صورت پیوسته می‌باشد، بنابراین از پنجره Simulink Library Browser ، گزینه Continuous را انتخاب می‌کنیم. بلوک‌های library Continuous ، به صورت شکل زیر نمایش داده می‌شوند :

matlab44

 

برای انتخاب بلوک‌های مورد نظرمان، باید دقت داشته باشیم که u را می‌توانیم با انتگرال گیری از ‘u به دست آوریم و ‘u را می‌توانیم با انتگرال گیری از ”u به دست آوریم. بنابراین به دو بلوک انتگرال گیر نیاز داریم. برای قرار دادن بلوک انتگرال گیر در پنجره Model ، ابتدا در پنجره Simulink Library Browser ، بر روی بلوک انتگرال گیر (integrator)، با موس کلیک کنید (کلیک سمت چپ) و بدون رها کردن کلید موس، موس را بر روی محلی در پنجره model ببرید و سپس کلید موس را رها کنید. یک بلوک انتگرال گیر، در پنجره Model ، نمایش داده خواهد شد. به همین روش، یک بلوک انتگرال گیر دیگر را در پنجره model رسم کنید. بنابراین شکل زیر را خواهیم داشت :

matlab45

حال برای آنکه دو بلوک را به یکدیگر متصل کنیم، باید ابتدا بر روی خروجی بلوک اول، با موس کلیک کنیم (کلیک سمت چپ) و بدون رها کردن کلید موس، موس را بر روی ورودی بلوک دوم ببریم و سپس کلید موس را رها کنیم. یک فلش بین دو بلوک رسم خواهد شد که نشان دهنده اتصال دو بلوک به یکدیگر می‌باشد. البته برای اتصال دو بلوک به یکدیگر، روش دیگری نیز وجود دارد و آن این است که ابتدا بلوک منبع (source block) را با موس انتخاب کنیم و سپس کلید Ctrl از کیبورد را پایین نگه داریم و سپس بر روی بلوک مقصد (destination block) با موس کلیک کنیم (کلیک سمت چپ). پس از اتصال، شکل بلوک‌ها به صورت زیر خواهد بود :

matlab46

همچنین اگر دقت کنید، نام هر بلوک، در زیر آن نوشته شده است، می‌توانیم بر روی نام هر بلوک کلیک کنیم و نام آن را تغییر بدهیم. بنابراین نام هر بلوک را به صورت شکل زیر تغییر می‌دهیم :

matlab47

معادله دیفرانسیل را می‌توانیم به صورت زیر بازنویسی کنیم :

\begin{align}
u”=-(5u+2u’)
\end{align}

بنابراین، به 3 بلوک بهره (Gain) و یک بلوک جمع (Sum) نیاز داریم که آنها را می‌توانیم در Math Operations Library بیابیم. با ترسیم آنها، شکل بلوک‌ها به صورت زیر در می‌آید :
matlab49

 

 

اما اگر در شکل بالا دقت کنید، متوجه می‌شوید که میزان بهره بلوک‌های بهره، برابر 1 می‌باشد و مقدار بهره آنها را باید تغییر بدهیم. برای این منظور، باید بر روی هر کدام از بلوک‌های بهره، دو بار کلیک (دابل کلیک) کنیم تا پنجره Function Block Parameters باز شود. این پنجره به شکل زیر می‌باشد :

matlab50

 

در این پنجره، مقدار بهره مورد نظر خود را باید در قسمت Gain بنویسید. بنابراین مقدار بهره بلوک Gain را برابر 5 ، مقدار بهره بلوک Gain1 را برابر 1- و مقدار بهره بلوک Gain2 را برابر 2 قرار می‌دهیم. مشاهده خواهید کرد که مقدار بهره‌ها، درون هر بلوک، نمایش داده می‌شود :

matlab51

حال باید خروجی بلوک انتگرال گیر ‘u را به ورودی بلوک Gain2 متصل کنیم، اما چون بلوک انتگرال گیر، تنها یک خروجی دارد، باید یک انشعاب از خروجی بلوک انتگرال گیر بگیریم. برای این منظور، موس را بر روی وسط فلشی که دو بلوک انتگرال گیر را به هم متصل کرده است می‌بریم و سپس کلید Ctrl از کیبورد را فشار داده و پایین نگه می‌داریم، آنگاه با موس کلیک می‌کنیم (کلیک سمت چپ) و همان طور که کلید موس را نگه داشته ایم، نشانگر موس را بر روی ورودی بلوک Gain2 می‌بریم و آنگاه کلید موس را رها می‌کنیم. یک فلش در بین بلوک انتگرال گیر و بلوک Gain2 ساخته خواهد شد. شکل بلوک‌ها به صورت زیر در می‌آید :

matlab52

بلوک‌های لازم برای مدل سازی معادله دیفرانسیل را در پنجره Model قرار دادیم، اما اکنون به بلوکی نیاز داریم تا خروجی را با آن مشاهده کنیم. برای این منظور، از Sinks Library بلوک Scope را انتخاب کرده و آن را در پنجره مدل قرار می‌دهیم :

matlab53

دقت داشته باشید که اگر بلوکی را اضافه کردید و مشاهده کردید که ساختار شکلتان زیادی فشرده است و بلوک جدید در جای مناسبی قرار نگرفته است، می‌توانید هر بلوک دلخواه را با موس جابجا کنید تا در محل مناسبتری قرار بگیرد.

اکنون زیرنویس بلوک‌های مختلف را تغییر می‌دهیم تا نقش هر بخش مدل، به طور دقیق، مشخص باشد. چنانچه تمایل داشته باشید عبارتی را در زیر یک فلش بنویسید، تنها کافی است که بر روی آن فلش، با موس دو بار کلیک (دابل کلیک) کنید و کادری نمایش داده خواهد شد که در آن می‌توانید عبارت مورد نظر خود را بنویسید.

شکل نهایی بلوک‌ها به صورت زیر می‌شود :

matlab54

حال برای مشاهده نتیجه، ابتدا باید مدل ساخته شده را Save کنیم. از منوی File گزینه Save را انتخاب کنید و سپس با نامی‌دلخواه، مدل ساخته شده را در محل مورد نظرتان Save کنید.

ممکن است بخواهیم برای معادله دیفرانسیل، شرایط اولیه تعریف کنیم. مثلا فرض کنید شرایط اولیه زیر را برای معادله دیفرانسیل داشته باشیم :

\begin{cases}u”+2u’+5u=0 \\ u(0)=1 \\ u'(0)=5 \end{cases}

 

که با این شرایط اولیه، پاسخ معادله دیفرانسیل به صورت زیر خواهد بود :

\begin{align}
u(t)=3e^{-t}sin(2t)+e^{-t}cos(2t)
\end{align}

 

 

برای اعمال شرایط اولیه ذکر شده، ابتدا بر روی بلوک انتگرال گیر اول، که مربوط به u’ می‌باشد، با موس، دو بار کلیک (دابل کلیک) کنید و سپس در پنجره ای که باز می‌شود، مقدار نوشته شده در زیر Initial condition را به مقدار 5 تغییر بدهید. سپس بر روی بلوک انتگرال گیر دوم، که مربوط به u می‌باشد، با موس، دو بار کلیک (دابل کلیک) کنید و سپس در پنجره ای که باز می‌شود، مقدار نوشته شده در زیر Initial condition را به مقدار 1 تغییر بدهید.

برای آنکه بتوانید مشاهده کنید که در حین شبیه سازی، چه اتفاقاتی می‌افتد، باید قبل از شبیه سازی، بر روی بلوک Scope ، با موس، دو بار کلیک کنید تا پنجره نمایش آن باز شود. در این پنجره، پس از شبیه سازی، مقدار u به صورت تابعی از t رسم خواهد شد. این پنجره به شکل زیر می‌باشد :

\begin{align}
u(t)=3e^{-t}sin(2t)+e^{-t}cos(2t)
\end{align}

 

matlab57

حال برای مشاهده شبیه سازی، از منوی Simulation ، گزینه Start را انتخاب کنید. شبیه سازی انجام می‌شود و مقدار u به صورت تابعی از t ، به صورت شکل زیر، نمایش داده می‌شود :

matlab58

این شکل، نمایش پاسخ معادله دیفرانسیل، با شرایط اولیه ذکر شده، می‌باشد. در پنجره Scope ، بر روی گزینه Autoscale ، کلیک کنید تا مقادیر پاسخ در شکل، به طور دقیق نمایش داده شود :

matlab59

طراحی شده توسط ایران متلب 1388-1395