در بسیاری از مدلهای سیمولینک لازم است مسیر عبور سیگنال را بر اساس یک شرط مشخص تغییر دهیم. به عبارت دیگر، مدل باید بتواند بین دو ورودی مختلف انتخاب کند و تصمیم بگیرد کدام سیگنال به خروجی منتقل شود. بلوکی که این کار را انجام میدهد Switch نام دارد.
در منابع انگلیسی Simulink از بلوک Switch بهعنوان ابزاری برای انتخاب شرطی مسیر سیگنال یاد میشود؛ ابزاری که در سیستمهای کنترل، پردازش سیگنال و تصمیمگیری دینامیکی کاربرد فراوان دارد.
این آموزش به معرفی عملکرد Switch، نحوه تنظیم آن و کاربردهای عملی آن در مدلسازی میپردازد.
مفهوم بلوک Switch در سیمولینک
بلوک Switch یکی از مهمترین بلوکهای تصمیمگیری است که بر اساس یک شرط منطقی یا عددی، مسیر عبور سیگنال را مشخص میکند.
این بلوک سه ورودی دارد:
- ورودی بالا: مقدار True یا شرط برقراری (اگر شرط برقرار باشد انتخاب میشود)
- ورودی پایین: مقدار False یا حالت جایگزین
- ورودی میانی: سیگنال شرط
بر اساس مقایسهای که در تنظیمات بلوک مشخص شده، خروجی بین ورودی بالا و پایین انتخاب میشود.
بهصورت مفهومی میتوان گفت:
اگر شرط درست باشد → خروجی = ورودی اول
اگر شرط نادرست باشد → خروجی = ورودی دوم
این ساختار امکان پیادهسازی منطق تصمیمگیری را بهطور ساده و گرافیکی فراهم میکند.
نحوه عملکرد Switch در تصمیمگیری
در تنظیمات داخلی بلوک Switch دو بخش مهم وجود دارد:
معیار تصمیمگیری (Threshold)
این مقدار تعیین میکند سیگنال شرط چگونه ارزیابی شود.
در حالت پیشفرض، تصمیمگیری به صورت زیر انجام میشود:
اگر مقدار سیگنال شرط ≥ مقدار آستانه → ورودی اول
اگر مقدار سیگنال شرط < مقدار آستانه → ورودی دوم
این منطق باعث میشود Switch در بسیاری از کاربردهای کنترلی و مقایسهای استفاده شود.
نوع مقایسه
در تنظیمات میتوان مشخص کرد شرط چگونه بررسی شود:
- سیگنال ≥ آستانه
- سیگنال > آستانه
- سیگنال == مقدار مشخص
- یا مقایسههای دیگر بسته به نوع کاربرد
این انعطافپذیری باعث میشود Switch برای انواع سیستمها قابل استفاده باشد.
کاربردهای مهم بلوک Switch در مدلسازی
بلوک Switch در بسیاری از سیستمهای علمی و مهندسی استفاده میشود. برخی از رایجترین کاربردهای آن شامل موارد زیر است:
انتخاب حالت عملکرد یک سیستم
برای مثال در یک سیستم تهویه، اگر دما از حد مشخصی بیشتر شود حالت “خنککننده” فعال میشود، و در غیر این صورت سیستم در حالت “عادی” باقی میماند.
تغییر مسیر سیگنال در کنترلکنندهها
در کنترل فیدبک ممکن است لازم باشد در شرایط خاص نوع کنترل ورودی تغییر کند.
طراحی سیستمهای حفاظتی
برای مثال خاموش کردن موتور اگر مقدار جریان از یک حد تعریفشده بالاتر رود.
مدلسازی رفتارهای دینامیکی وابسته به شرط
مثل انتخاب بین دو معادله مختلف در بخشهای متفاوت چرخه کاری سیستم.
تفاوت Switch با بلوکهای منطقی مشابه
در سیمولینک بلوکهای دیگری نیز وجود دارند که منطق شرطی ایجاد میکنند؛ اما Switch ویژگیهایی دارد که آن را متمایز میکند.
مقایسه با بلوک If/Else
بلوک If/Else ساختارهای پیچیدهتر تصمیمگیری را ممکن میکند، اما Switch سادهتر و زمانواقعیتر عمل میکند.
مقایسه با بلوک Logical Operator
Logical Operator تنها خروجی منطقی تولید میکند، اما Switch یک سیگنال واقعی یا برداری را از میان چند گزینه انتخاب میکند.
به همین دلیل Switch در بسیاری از مدلها نقش مستقیم در مسیر سیگنال دارد، نه صرفاً تولید شرط.
نکات مهم هنگام استفاده از Switch
برای عملکرد صحیح این بلوک باید چند نکته مهم را در نظر گرفت:
- ورودیهای بالا و پایین باید از نظر نوع داده با هم سازگار باشند.
- در مدلهای مبتنی بر زمان واقعی، مقدار Threshold باید بهدقت تنظیم شود.
- سیگنال شرط میتواند اسکالر یا برداری باشد؛ در حالت برداری، رفتار Switch به صورت عنصربهعنصر ارزیابی میشود.
- اگر قصد کنترل فعال یا غیرفعال کردن بخشهایی از مدل را دارید، ترکیب Switch با Enabled Subsystem بسیار کاربردی است.
جمعبندی
بلوک Switch یکی از ابزارهای کلیدی در سیمولینک برای تصمیمگیری و کنترل مسیر سیگنال است. این بلوک بر اساس مقدار یک سیگنال شرط، بین دو ورودی انتخاب میکند و امکان طراحی رفتارهای شرطی را در مدل فراهم میسازد. سادگی، سرعت عملکرد و انعطافپذیری Switch باعث شده در بسیاری از سیستمهای کنترل، پردازش سیگنال و تصمیمگیری دینامیکی بهطور گسترده استفاده شود.
کلیدواژه ها : بلوک Switch در سیمولینک-switch block simulink-کنترل مسیر سیگنال-signal routing simulink-آستانه Switch در متلب-switch threshold matlab-انتخاب شرطی سیگنال-conditional signal selection simulink-مسیردهی سیگنال در مدلسازی-signal path control simulink-بلوک تصمیمگیری در Simulink-decision block simulink-آموزش بلوک Switch-simulink switch tutorial-سیگنال شرطی در سیمولینک-conditional logic simulink- مدیریت مسیر سیگنال در متلب-signal switching matlab