اهمیت ذخیره داده ها در سیمولینک

به طور مشخص به منظور پردازش اطلاعات بدست آمده از سیمولینک و از همه مهتر رسم داده ها نیازمند ذخیره داده ها در سیمولینک متلب هستیم. نرم افزار متلب جهت ذخیره داده ها (چه از سیمولینک و یا ام فایل) از بخش وُرک اسپیس (Workspace) استفاده می کند. در این بخش داده ها به چند طریق ذخیره می شوند که در ادامه به آن می پردازیم.

انواع داده های ذخیره شده

متلب داده های خود را به صورت انواع زیر ذخیره می کند :

  1. متغیر پارامتری یا سیمبولیک : این متغیرهای پارامتری برای انجام عملیاتی نظیر مشتق گیری و یا رسم پارامتری و … استفاده می شوند. این داده ها در وُرک اسپیس بصورت sym ذخیره می شوند. syms x
  2. متغیر رشته : داده های عددی یا پارامتری که به صورت متوالی و رشته ای ذخیره می شوند.
  3. متغیرهای عددی : داده هایی که به صورت عدد مشخص شده اند. x=2
  4. متغیرهای برداری : داده هایی که به صورت بردارهای سطری و یا ستونی ذخیره شده اند. [x=[1 5 6 7
  5. متغیرهای ماتریسی : داده هایی که به صورت ماتریس ذخیره می شوند. (لزوم برآوردن شرایط ماتریس) [x=[1 2 3;4 5 6
  6. متغیرهای ساختاری (structure) : داده هایی که اصطلاحا بصورت ساختاری ذخیره می شوند. این داده ها بخش های مختلفی نظیر نام ، رنج ، طول داده ، طول زمانی و … دارند.

ذخیره داده ها در سیمولینک

در سیمولینک قادر به بکارگیری داده های پارامتری نیستیم. در این محیط بایستی تمامی متغیرها به صورت عددی در جریان باشند. بنابراین از انواع ذخیره های اشاره شده تنها دو مورد در این محیط بکار می رود:

  • ذخیره داده بصورت عدد یا آرایه
  • ذخیره داده به صورت ساختاری (structure)

در این بین می توان در ذخیره داده ها بصورت ساختاری از دو نوع :

  • ساختاری همراه با زمان
  • ساختاری بدون زمان

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

روش های ذخیره داده ها در سیمولینک

به منظور ذخیره داده ها در سیمولینک ، دو روش اصلی وجود دارد :

  1. در روش اول از کتابخانه سیمولینک و آدرس simulink>>sinks بلوک to Workspace را استفاده می کنیم. در این بلوک با اینترفیس زیر روبرو هستیم (با دابل کلیک بر روی بلوک) :
    اینترفیس بلوک to workspace برای ذخیره داده ها در سیمولینک min 220x300 ذخیره داده ها در سیمولینک متلب پردازش و رسم

    اینترفیس بلوک to Workspace

    در این اینترفیس نیاز هست تا به ترتیب نام متغیر ذخیره شده(یک نام معتبر در متلب)، طول در نظر گرفته شده برای ذخیره داده(معمولا بی نهایت قرار داده می شود-ذخیره کامل داده)، زمان نمونه برداری(معمولا -1 قرار داده می شود-ذخیره بصورت زمان نمونه برداری شبیه سازی) و فرمت ذخیره (طبق موارد اشاره شده) ، قرار داده شوند.

  2. روش ساده تر به منظور ذخیره داده ها در سیمولینک، استفاده از اسکوپ (scope) می باشد. اسکوپ بلوکی است که در بخش commonly used blocks و یا sinks از کتابخانه سیمولینک قرار دارد. از این بلوک به کرات به منظور مشاهده سیگنال ها و نتایج در سیمولینک استفاده می کنیم. یکی دیگر از کاربردهای مهم این بلوک، استفاده از آن در ذخیره داده ها در سیمولینک می باشد. به این منظور گزینه parameters از نوار منوی بالای اسکوپ را کلیک می کنیم و با اینترفیس زیر روبرو می شویم:
    ذخیره داده ها در سیمولینک با اسکوپ min 300x262 ذخیره داده ها در سیمولینک متلب پردازش و رسم

    اینترفیس بخش parameters از اسکوپ

    در این انترفیس اگر چنان چه اسکوپ شما تنها یک ورودی به خود می گیرد، بخش General را رها کنید. حال از بخش History با برداشتن تیک مربوط به ذخیره سازی محدود داده ها (پیش فرض بر روی 5000 قرار دارد )، ذخیره داده های خود را به صورت نامحدود تنظیم کنید. سپس گزینه save data to workspace را تیک زده و نام مورد نظر برای متغیر را اعمال کنید.(نام معتبر در متلب- شروع با حرف و عدم استفاده از خط تیره و برخی علائم دیگر) نهایتا نوع داده ذخیره شده را تعیین کنید.

همانطور که بیان شد، بهترین نوع ذخیره داده، نوع Structure with time می باشد. در این حالت داده ذخیره شده بصورت یک ساختار که هم طول زمان و هم طول مقدار را در برمی گیرد، در اختیارتان خواهد بود. بطوریکه مقادیر بردار زمانی بطور یک به یک با مقادیر عددی مربوط می گردند.

رسم داده های ساختاری همراه با زمان

پس از انجام سیمولینک، داده ذخیره شده در ورک اسپیس متلب در اختیار شما خواهد بود. اگر به عنوان مثال این داده را با نام x_sim ذخیره کرده باشید. این داده در ورک اسپیس به همین نام موجود خواهد بود. حال به منظور رسم داده از ویژگی های ساختارها استفاده خواهید کرد. در داده ساختاری به منظور دسترسی به هر کدام از بخش های زیردستی از نقطه “.” استفاده می شود. به عنوان مثال در این حالت x_sim.time بردار زمان را به شما می دهد. همچنین اگر داده شما تنها یک متغیر باشد(اسکوپ مورد استفاده دارای یک محور یا axis باشد و همینطور خود داده ذخیره شده یک بعدی باشد)، x_sim.signals.values بردار مقادیر را به شما می دهد.

حال به سادگی با دستورات زیر می توان این داده را رسم کرد.

(figure;plot(x_sims.time,x_sims.signals.values

منبع : برق تِک

 

About برق تِک

Leave a Reply

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *