رسم نمودار در سیمولینک (بلوک Scope و xy Graph)
به نام خدا و سلام.
به جلسه ششم از سری جلسات آموزش سیمولینک متلب خوش آمدید. آموزش متلب و سیمولینک بصورت رایگان و تخصصی از وبسایت متلبپلاس ارائه میشود. در جلسات یک تا سه اپراتورهای ریاضی، بلوک Mux و Demux بطور کامل معرفی شد. همچنین در جلسات چهارم و پنجم نیز بلوک زیرسیستم (Subsystem) و بلوکهای ورودی معرفی شد. در این جلسه قصد داریم به رسم نمودار در سیمولینک بپردازیم. رسم نمودار در سیمولینک به روشهای مختلفی امکان پذیر است. از جمله رسم با بلوک Scope و یا انتقال اطلاعات از سیمولینک به متلب برای رسم نمودار در متلب. انتقال دادهها از سیمولینک به متلب نیز با استفاده از بلوک To Workspace انجام میشود.
با متلب پلاس همراه باشید.
رسم نمودار در سیمولینک با بلوک Scope
برای رسم یک متغیر در سیمولینک، از بلوک Scope استفاده میشود. بلوک Scope هر متغیر یا پارامتر را در طول زمان شبیه سازی رسم میکند. به عبارت دیگر، این بلوک فقط یک متغیر را برحسب زمان رسم میکند. برای دسترسی به این بلوک به سربرگ Commonly Used Blocks در کتابخانه سیمولینک میرویم.
همانطور که از ظاهر بلوک Scope مشخص است، این بلوک فقط پورت ورودی دارد. هر سیگنال ورودی به این بلوک، برحسب زمان رسم خواهد شد. برای درک بهتر یک مثال از رسم نمودار در سیمولینک ارائه میشود. مثلا ورودی پله (که در جلسه پیش معرفی شد) را با بلوک Scope رسم میکنیم. برای رسم، یک بلوک Scope و یک بلوک Step را به مدل اضافه میکنیم. در جلسه قبل گفتیم که بلوک Step در کتابخانه سیمولینک، بخش Sources وجود دارد. مدل بصورت شکل زیر خواهد بود.
سپس این مدل را با کلیک بر روی آیکون سبز رنگ Run اجرا میکنیم. پس از اجرا بایستی روی بلوک Scope دابل کلیک کنیم. نتیجه بصورت شکل زیر است.
ممکن است ظاهر نمودار فوق بدلیل رنگ سیاه و… خیلی جالب نباشد. با کلیک بر روی گزینه View و سپس Style کلیک میکنیم. پنجرهای مطابق شکل زیر باز میشود که با آن میتوان ظاهر نمودار را تغییر داد.
همچنین ممکن است بخواهیم این نمودار را در جایی (مثلا فایل Word) کپی کنیم. برای این کار بر روی File کلیک کرده و سپس گزینه Copy to Clipboard را انتخاب میکنیم.
رسم چند نمودار در بلوک Scope
برای رسم چند نمودار روی هم در بلوک Scope سیمولینک، تعداد پورت ورودی بلوک Scope را زیاد میکنیم. برای این کار ابتدا بر روی آیکون Scope راست کلیک کرده وگزینه Signal & Port را انتخاب میکنیم. سپس تعداد پورت را در قسمت Number of Input Port انتخاب میکنیم.
مثلا تعداد پورت ورودی را 3 درنظر میگیریم تا سه نمودار را روی هم در Scope رسم کنیم. نمودارها نیز ورودیهای پله، شیب و sin میباشند. بلوکهای ورودی پله، شیب و سینوسی در جلسه قبل معرفی شدند. این بلوکها در بخش Sources کتابخانه سیمولینک قرار دارند.
پس از اجرای مدل و دابل کلیک روی بلوک Scope خواهیم داشت:
بلوک XY Graph در سیمولینک
بلوک XY Graph برای رسم دو متغیر برحسب یکدیگر به کار میرود. یعنی این که اگر ما دو متغیر X و Y را داشته باشیم، این دو متغیر را در طول شبیه سازی برحسب هم رسم میکند. به عبارت دیگر، بلوک Scope فقط نمودار یک پارامتر را برحسب زمان رسم میکند. اما XY Graph دو متغیر را برحسب هم رسم میکند.
بلوک XY Graph در سربرگ sinks در کتابخانه سیمولینک قابل دسترسی است.
بلوک Display در سیمولینک
اگر بخواهیم مقدار یا ابعاد یک متغیر را در طول شبیه سازی مشاهده کنیم، از بلوک Display استفاده میکنیم. بلوک Display برای پیدا کردن اشتباهات مدل نیز بسیار مفید است. به این صورت که مقادیر یک پارامتر را در طول شبیه سازی مشاهده کرده و خطا را پیدا کنیم. این بلوک در بخش Sinks کتابخانه سیمولینک قابل دسترسی است.
برای مثال یک ماتریس سه در سه را که شامل اعداد 1 تا 9 است در بلوک Constant تعریف میکنیم. سپس خروجی آن را به بلوک Display داده تا آن را نمایش دهد. پس از اجرا، نتیجه به صورت زیر خواهد بود:
دقت داشته باشید که بلوک Constant در جلسه دوم آموزش سیمولینک در متلب، معرفی شد.
در ادامه روشی ارائه میشود که میتوان دادههای موردنظر را از سیمولینک به متلب انتقال داد. پس از انتقال نیز امکان رسم این دادهها در متلب وجود دارد.
بلوک To Workspace در سیمولینک
از بلوک To Workspace یا (simout) برای انتقال اطلاعات از سیمولینک به متلب (Workspace) استفاده میشود. پس از انتقال اطلاعات به فضای کاری متلب، امکان استفاده از توابع و دستورات متلب روی این دادهها وجود دارد. مثلا میتوان با استفاده از دستور plot در متلب، این دادهها را رسم نمود.
بلوک To Workspace در بخش Sinks کتابخانه سیمولینک قابل دسترسی است.
برای استفاده از بلوک To Worksapce باید به چند نکته توجه کرد.
فرمت ذخیره سازی از سیمولینک به متلب
اولین موضوعی که برای انتقال اطلاعات از سیمولینک به متلب اهمیت دارد فرمت ذخیره سازی است. به عبارت دیگر، متغیرهای ما با چه فرمتی در فضای Workspace ذخیره شوند. به صورت یک سری زمانی، آرایه یا یک ساختار (استراکچر) در متلب. برای تعیین فرمت ذخیره سازی ابتدا روی بلوک To Workspace دابل کلیک کرده تا پنجره Block Parameters باز شود. سپس در قسمت Save format فرمت دلخواه خود را انتخاب میکنیم. مطابق شکل زیر:
فرمت Timeseries و Array مهمترین فرمتهای ذخیره سازی هستند. معمولا اگر بخواهیم از یک متغیر در فضای Workspace استفاده کنیم آن را به فرمت Array ذخیره سازی میکنیم.
زمان نمونه برداری دادهها در سیمولینک
نکته دیگری که باید توجه کنیم Sample time یا زمان نمونه برداری است. این نکته در کارهای شناسایی اهمیت بیشتری دارد. هرچقدر زمان نمونه برداری کوچک تر باشد تعداد دادهها بالاتر میرود و در نتیجه جواب دقیق تری به ما میدهد. به عنوان مثال اگر زمان شبیه سازی 10 ثانیه باشد و زمان نمونه برداری 0.1 تعداد دادههای ذخیره شده نزدیک به 100 داده میشود. ولی اگر sample time برابر با 0.01 باشد آنگا حدود 1000 داده داریم که دقت را بیشتر میکند.
برای تعیین زمان نمونه برداری، بعد از دابل کلیک کردن روی بلوک، در قسمت Sample time مقدار موردنظر را وارد میکنیم.
نام دادههای منتقل شده از سیمولینک به متلب
نکته آخر نامی است که میخواهیم برای دادههای منتقل شده به متلب انتخاب کنیم. در بلوک To Workspace میتوان نامهای دلخواه را به متغیرها اختصاص داد. برای این کار ابتدا روی این بلوک دابل کلیک کرد. سپس در بخش Variable Name نام موردنظر را برای متغیر وارد میکنیم. مثلا در شکل زیر نام x برای دادهها وارد شدهاست. همچنین فرمت دادهها نیز از نوع Array انتخاب شدهاست.
جمعبندی
جلسه ششم از مجموعه جلسات آموزش سیمولینک متلب در اینجا به پایان رسید. در این جلسه از سری جلسات آموزش رایگان سیمولینک با بلوکهای رسم نمودار و انتقال اطلاعات به متلب آشنا شدیم. سعی کردیم تا مهم ترین و پرکاربردترین بلوکهای رسم نمودار در سیمولینک را معرفی و مثال نیز ارائه کنیم. همچنین بلوک انتقال دادهها از سیمولینک به متلب نیز معرفی شد. با استفاده از این بلوک میتوان دادهها را به محیط Workspace متلب آورد. سپس رسم نمودار، محاسبات آماری در متلب و یا هر نوع تحلیل و پردزش را روی آنها انجام داد. بلوکهای رسم نمودار در اکثر شبیه سازیهای سیمولینک نقش مهمی ایفا میکنند. به همین دلیل توصیه میشود که مباحث این جلسه را بطور کامل و دقیق مطالعه کنید. هدف تیم متلب پلاس ارائه محتوای آموزشی درجه یک برای شما عزیزان است.
اگر سوال و ابهامی درباره مباحث این جلسه دارید در بخش نظرات (پایین همین صفحه) به ما بگید. از فهرست سمت راست👉 هم میتونید به محتوای بقیه جلسات آموزش سیمولینک متلب دسترسی داشته باشید.
1 Comments
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
ممنون همون چیزی بود که نیاز داشتم