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

درک محیط Simulink و شناخت صحیح پورت‌های ورودی و خروجی، یکی از اولین مهارت‌هایی است که برای ساخت مدل‌های حرفه‌ای باید فرا گرفته شود. بلوک‌های Inport و Outport نیز نقش مهمی در تعریف رابط میان یک سیستم، زیرسیستم و بخش‌های مختلف مدل دارند. مستندات رسمی MathWorks، Inport را برای ایجاد ورودی سیستم یا Subsystem و Outport را برای ایجاد خروجی سیستم یا Subsystem معرفی می‌کند. 

آشنایی با محیط Simulink

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

مهم‌ترین بخش‌های محیط شامل Simulink Editor، Library Browser، ناحیه مدل‌سازی، ابزارهای شبیه‌سازی و پنجره تنظیمات مدل هستند.

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

Simulink Editor

Simulink Editor محیط اصلی ساخت و ویرایش مدل است.

در این محیط می‌توان بلوک‌ها را قرار داد، جابه‌جا کرد، به یکدیگر متصل نمود و ویژگی‌های آن‌ها را تغییر داد. همچنین امکاناتی برای تنظیم مدل، مشاهده ویژگی‌های سیگنال‌ها و مدیریت ساختار مدل در اختیار کاربر قرار دارد. 

هر مدل Simulink در واقع یک نمودار بلوکی است که رفتار سیستم را به شکل گرافیکی نمایش می‌دهد.

Library Browser

کتابخانه‌های Simulink مجموعه بزرگی از بلوک‌های آماده را در اختیار کاربر قرار می‌دهند.

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

کتابخانه Ports & Subsystems نیز شامل بلوک‌هایی مانند Inport، Outport و Subsystem است که برای ایجاد ساختار سلسله‌مراتبی و تعریف رابط سیستم استفاده می‌شوند. 

مفهوم بلوک در Simulink

هر بلوک در Simulink یک وظیفه مشخص را در مدل انجام می‌دهد.

برای مثال، یک بلوک می‌تواند یک ورودی تولید کند، بلوک دیگری عملیات ریاضی انجام دهد و بلوک دیگری نتیجه را در اختیار بخش بعدی قرار دهد.

اتصال این بلوک‌ها از طریق خطوط سیگنال انجام می‌شود و در نهایت مجموعه آن‌ها رفتار سیستم موردنظر را شکل می‌دهد.

مفهوم Signal در Simulink

Signal یا سیگنال، اطلاعاتی است که از یک بلوک به بلوک دیگر منتقل می‌شود.

سیگنال‌ها می‌توانند ویژگی‌های مختلفی داشته باشند؛ از جمله ابعاد، نوع داده و زمان نمونه‌برداری. در مدل‌های گسسته، Sample Time نیز یکی از ویژگی‌های مهم سیگنال محسوب می‌شود. 

بنابراین هنگام اتصال دو بلوک، تنها ظاهر اتصال اهمیت ندارد؛ بلکه سازگاری ویژگی‌های سیگنال نیز باید مورد توجه قرار گیرد.

پورت چیست؟

پورت را می‌توان نقطه ورود یا خروج اطلاعات از یک بلوک یا سیستم در نظر گرفت.

پورت‌ها مشخص می‌کنند که سیگنال چگونه وارد یک سیستم می‌شود یا چگونه از آن خارج می‌شود.

در مدل‌های ساده، ممکن است ارتباط بین بلوک‌ها مستقیماً قابل مشاهده باشد؛ اما با پیچیده‌تر شدن مدل و استفاده از Subsystemها، پورت‌ها اهمیت بیشتری پیدا می‌کنند.

آشنایی با Inport

بلوک Inport برای ایجاد یک ورودی برای سیستم یا Subsystem استفاده می‌شود.

در یک Subsystem، سیگنالی که از محیط بیرونی وارد Subsystem می‌شود، از طریق Inport در اختیار بخش داخلی آن قرار می‌گیرد. به بیان ساده، Inport مرز ورود اطلاعات به یک سیستم را مشخص می‌کند. 

این مفهوم در طراحی مدل‌های سلسله‌مراتبی بسیار مهم است.

Inport در سطح اصلی مدل

در سطح اصلی یا Top Level مدل، Inport می‌تواند برای دریافت داده‌های ورودی خارجی استفاده شود.

این داده‌ها می‌توانند از Workspace یا سایر روش‌های ورود داده به مدل تأمین شوند. MATLAB برای بارگذاری داده در Inportهای سطح اصلی روش‌های مختلفی از جمله استفاده از Workspace و ابزارهای مدیریت ورودی در اختیار کاربر قرار می‌دهد. 

بنابراین Inport فقط یک اتصال گرافیکی نیست؛ بلکه می‌تواند بخشی از رابط میان مدل و داده‌های خارجی باشد.

Inport در Subsystem

در یک Subsystem، Inport نقش رابط بین محیط بیرونی و محتوای داخلی Subsystem را دارد.

برای مثال، اگر یک Subsystem یک کنترل‌کننده یا یک مدل دینامیکی باشد، ورودی‌های آن از طریق Inport وارد ساختار داخلی می‌شوند.

هر Inport داخل Subsystem می‌تواند یک پورت ورودی روی خود Subsystem ایجاد کند. 

شماره پورت Inport

هر Inport دارای یک Port Number است که جایگاه آن را در رابط Subsystem مشخص می‌کند.

در یک سیستم یا Subsystem، شماره پورت‌ها به‌صورت ترتیبی سازمان‌دهی می‌شوند. برای مثال، Inport اول مربوط به ورودی اول و Inport بعدی مربوط به ورودی بعدی است. 

این شماره‌گذاری در مدل‌هایی که چند ورودی دارند اهمیت زیادی پیدا می‌کند.

نام‌گذاری Inport

نام‌گذاری مناسب پورت‌ها یکی از نکات مهم در ساخت مدل‌های خوانا است.

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

در مدل‌های بزرگ، نام‌گذاری صحیح پورت‌ها می‌تواند از اشتباه در اتصال سیگنال‌ها جلوگیری کند.

آشنایی با Outport

بلوک Outport برای ایجاد خروجی یک سیستم یا Subsystem استفاده می‌شود.

در یک Subsystem، سیگنال داخلی از طریق Outport به محیط بیرونی منتقل می‌شود. بنابراین اگر Inport را مسیر ورود اطلاعات بدانیم، Outport مسیر خروج اطلاعات از سیستم را مشخص می‌کند. 

Outport در Subsystem

هر Outport داخل یک Subsystem می‌تواند یک پورت خروجی روی بلوک Subsystem ایجاد کند.

به این ترتیب، بخشی از اطلاعات محاسبه‌شده در داخل Subsystem می‌تواند به بخش‌های دیگر مدل منتقل شود.

در مستندات Simulink نیز تأکید شده است که Outport داخل Subsystem نماینده خروجی آن Subsystem در سطح بالاتر است. 

Outport در سطح اصلی مدل

Outport در سطح اصلی مدل می‌تواند برای ارائه خروجی مدل به محیط خارجی مورد استفاده قرار گیرد.

این خروجی‌ها می‌توانند در فرآیند شبیه‌سازی ذخیره یا برای تحلیل بیشتر به محیط MATLAB منتقل شوند. 

بنابراین Outport می‌تواند بخشی از رابط مدل با محیط بیرونی باشد.

تفاوت Inport و Outport

تفاوت اصلی این دو بلوک در جهت انتقال اطلاعات است.

Inport برای ورود سیگنال به سیستم و Outport برای خروج سیگنال از سیستم استفاده می‌شود.

در طراحی یک Subsystem، این دو بلوک در واقع رابط آن Subsystem با محیط اطراف را تشکیل می‌دهند. بنابراین می‌توان یک Subsystem را مانند یک واحد مستقل در نظر گرفت که ورودی‌های مشخصی دریافت کرده و خروجی‌های مشخصی تولید می‌کند.

ارتباط Inport و Outport با Subsystem

یکی از مهم‌ترین کاربردهای Inport و Outport، ساخت مدل‌های سلسله‌مراتبی است.

با قرار دادن چند بلوک درون یک Subsystem و تعریف Inport و Outport، می‌توان مجموعه‌ای از عملیات را در قالب یک بلوک واحد نمایش داد.

این روش باعث می‌شود مدل‌های بزرگ به بخش‌های کوچک‌تر و قابل مدیریت تقسیم شوند.

هر Inport داخل Subsystem یک ورودی برای بلوک Subsystem ایجاد می‌کند و هر Outport نیز یک خروجی برای آن ایجاد می‌کند. 

مفهوم رابط یا Interface

می‌توان مجموعه Inportها و Outportهای یک Subsystem را به‌عنوان Interface آن در نظر گرفت.

این Interface مشخص می‌کند که Subsystem چه اطلاعاتی دریافت می‌کند و چه اطلاعاتی در اختیار محیط بیرونی قرار می‌دهد.

این دیدگاه در مدل‌سازی حرفه‌ای اهمیت زیادی دارد، زیرا باعث می‌شود ساختار داخلی یک Subsystem از نحوه ارتباط آن با سایر بخش‌های مدل مستقل‌تر شود.

چند ورودی و چند خروجی

یک Subsystem می‌تواند بیش از یک ورودی و خروجی داشته باشد.

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

در چنین شرایطی، شماره پورت‌ها و نام‌گذاری آن‌ها اهمیت زیادی پیدا می‌کند و باید ساختار رابط به‌صورت منظم طراحی شود.

ارتباط پورت‌ها با سیگنال‌ها

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

بنابراین باید میان مفهوم Port و Signal Line تفاوت قائل شد.

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

ویژگی‌های سیگنال در پورت‌ها

پورت‌ها می‌توانند با سیگنال‌هایی با ویژگی‌های مختلف کار کنند.

از جمله ویژگی‌های مهم می‌توان به نوع داده، ابعاد سیگنال و Sample Time اشاره کرد. Simulink امکان نمایش و بررسی این ویژگی‌ها را در محیط مدل فراهم می‌کند. 

در نتیجه، هنگام طراحی رابط یک Subsystem باید علاوه بر تعداد پورت‌ها، ویژگی سیگنال‌های عبوری نیز مورد توجه قرار گیرد.

Inport و Outport در مدل‌های گسسته

در مدل‌های گسسته، Inport و Outport نیز نقش مهمی دارند.

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

در این شرایط، توجه به Sample Time و سازگاری زمانی سیگنال‌ها اهمیت بیشتری پیدا می‌کند.

مدیریت چند سطح از Subsystem

در پروژه‌های بزرگ، ممکن است یک Subsystem خود شامل چند Subsystem دیگر باشد.

در این ساختار سلسله‌مراتبی، Inport و Outport در هر سطح رابط مناسبی میان لایه‌های مختلف ایجاد می‌کنند.

این قابلیت به طراح اجازه می‌دهد یک سیستم پیچیده را از سطح کلی به اجزای کوچک‌تر تقسیم کند و هر بخش را به‌صورت مستقل بررسی نماید.

خطاهای رایج در استفاده از پورت‌ها

یکی از خطاهای رایج، اشتباه در شماره پورت‌ها است؛ به‌خصوص زمانی که یک Subsystem دارای چند ورودی یا خروجی باشد.

عدم تطابق تعداد ورودی‌های مورد انتظار با سیگنال‌های متصل‌شده، نام‌گذاری نامناسب، اتصال سیگنال به پورت اشتباه و ناسازگاری ویژگی‌های سیگنال نیز می‌توانند باعث ایجاد مشکل در مدل شوند.

در مدل‌های پیچیده، بررسی ساختار پورت‌ها قبل از اجرای شبیه‌سازی می‌تواند بسیاری از این خطاها را کاهش دهد.

طراحی اصولی رابط Subsystem

یک Subsystem مناسب باید رابط مشخص و قابل فهمی داشته باشد.

بهتر است تعداد ورودی‌ها و خروجی‌ها فقط به نیاز واقعی سیستم محدود شود و برای هر پورت نام مناسبی انتخاب گردد.

همچنین باید مشخص باشد هر ورودی چه اطلاعاتی دریافت می‌کند و هر خروجی چه معنایی دارد.

این رویکرد باعث می‌شود مدل قابلیت استفاده مجدد بیشتری داشته باشد و در پروژه‌های بزرگ نیز قابل مدیریت باقی بماند.

جایگاه این مبحث در مدل‌سازی سیستم‌های گسسته

شناخت محیط Simulink و پورت‌های Inport و Outport، پایه‌ای برای مباحث بعدی مدل‌سازی سیستم‌های گسسته محسوب می‌شود.

پس از آشنایی با این مفاهیم، می‌توان ساختارهای پیچیده‌تر را با استفاده از Subsystemها ایجاد کرد و سپس بلوک‌های مربوط به Delay، Unit Delay، Zero-Order Hold، انتگرال‌گیرهای گسسته و سایر اجزای سیستم‌های گسسته را درون آن‌ها قرار داد.

در نتیجه، Inport و Outport را می‌توان یکی از پایه‌های اصلی ایجاد مدل‌های ساختاریافته و سلسله‌مراتبی در Simulink دانست.

جمع‌بندی

محیط Simulink بستری گرافیکی برای ساخت و شبیه‌سازی مدل‌های مهندسی فراهم می‌کند که در آن بلوک‌ها، سیگنال‌ها و پورت‌ها اجزای اصلی ساختار مدل هستند.

Inport برای دریافت سیگنال از محیط یا بخش بالاتر مدل و Outport برای ارسال سیگنال به محیط یا بخش بالاتر استفاده می‌شود. در ساختارهای مبتنی بر Subsystem، این دو بلوک رابط میان محتوای داخلی سیستم و محیط بیرونی را ایجاد می‌کنند. 

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

کلیدواژه ها : محیط سیمولینک-Simulink Environment-آشنایی با سیمولینک-Introduction to Simulink-مدل‌سازی در سیمولینک-Simulink Modeling-بلوک‌های سیمولینک-Simulink Blocks-پورت ورودی-Inport-پورت خروجی-Outport-بلوک Inport-Inport Block-بلوک Outport-Outport Block-پورت ورودی سیمولینک-Simulink Input Port-پورت خروجی سیمولینک-Simulink Output Port-سیگنال در سیمولینک-Simulink Signal-خط سیگنال-Signal Line-رابط سیستم-System Interface-رابط زیرسیستم-Subsystem Interface-زیرسیستم سیمولینک-Simulink Subsystem-مدل‌سازی سلسله‌مراتبی-Hierarchical Modeling-شماره پورت-Port Number-نام‌گذاری پورت-Port Naming-ورودی سیستم-System Input-خروجی سیستم-System Output-ورودی خارجی-External Input-خروجی خارجی-External Output-ویژگی سیگنال-Signal Attributes-نوع داده-Data Type-ابعاد سیگنال-Signal Dimensions-زمان نمونه‌برداری-Sample Time-مدیریت سیگنال-Signal Management-کتابخانه سیمولینک-Simulink Library-Library Browser-ویرایشگر سیمولینک-Simulink Editor-ساخت مدل سیمولینک-Simulink Model Creation-ساخت Subsystem در سیمولینک-Subsystem Creation in Simulink-مدل‌های گسسته-Discrete Models-سیستم‌های گسسته-Discrete Systems-مدل‌سازی سیستم‌های گسسته-Discrete System Modeling-آموزش پورت‌های Inport و Outport-Inport and Outport Tutorial-آموزش سیمولینک-Simulink Tutorial-دوره سیمولینک-Simulink Course-مدل‌سازی سیستم‌های مهندسی-Engineering System Modeling