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

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

چرا از شبیه سازی دینامیکی دیگسایلنت استفاده می کینم؟

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

خلاصه مطالب بالا اینکه، ما از DSL دیگسایلنت برای ساختن کنترل کننده های مورد نظرمان استفاده می کنیم که در کتابخانه نرم افزار موجود نیستند. بعنوان مثال خود نرم افزار براساس هر عنصر، کنترل کننده های خاصی برای آن به صورت as built دارد که می توان آنها را به عناصر کتابخانه لینک کرد. مثلا می توان کنترل کننده ولتاژ AVR یا پایدار ساز سیستم قدرت PSS را بر روی ژنراتور سنکرون نصب کرد.

DSL دیگسایلنت شامل ساختن کنترل کننده و اتصال آن به عنصر مورد نظر می باشد. در حالتی که شما برای اینوتر خود یک کنترل کننده جریانی جدید طراحی می کنید، باید این کنترل کننده را بر روی اینورتر سوار کنید. ساختار کلی DSL دیگسایلنت در شکل زیر نشان داده شده است. در شکل زیر بلوک هایی که مشاهده می کنید نحوه پیاده سازی یک کنترل کننده با DSL دیگسایلنت را بر روی یک عنصر شبکه مثل ژنراتور یا موتور نشان می دهد.

Fram: بلوک شماره یک طرح اصلی کنترل کننده شما را نشان می دهد که در DSL دیگساینلت طراحی می کنید. این بلوک که بصورت اتصال چندین بلوک دیگر در درونش می باشد، نشان می دهد که برای ساخت کنترل کننده شما چه تجهیزاتی استفاده شده است. مثلا اتصال تجهیزاتی مانند PLL، ولتمتر، اندازه گیر توان و فرکانس متر و مدل DSL کنترل کننده در این قاب قرار می گیرند. در واقع می توان گفت که این Fram نقشه خارجی کنترل کننده شما را نشان می دهد بطوریکه هر کسی غیر از شما این نقشه را ببینید می تواند متوجه شود که در این کنترل کننده چه المانهایی استفاده شده است و کارکرد کلی کنترل کننده را متوجه می شود.

Macros: همانطور که در قسمت ۲ نشان داده شده است، ماکروها در واقع توابع کنترلی هستند که در شبیه سازی استفاده می شود. توابع تبدیلی که در درس کنترل خطی یاد گرفته اید مانند انتگرال گیر یا مشتق گیر یا حتی گین ثابت توسط ماکروها ساخته می شود. خود نرم افزار مجموعه زیادی ماکرو آماده دارد اما در صورتی که ماکرو جدیدی باید بنویسید می توانید این کار را انجام دهید. این ماکروها سپس به مدل کنترل کننده شما در قسمت ۳ اعمال می شوند. در واقع شما در قسمت ۳ پلن کنترل کننده خود را مانند آنچه در کنترل خطی یاد گرفته اید رسم می کنید و سپس بلوک های آن را باین ماکروها پر می کنید.

Model definition: این بلوک همانطور که در قسمت قبل گفته شد صفحه ترسیم کنترل کننده شما را شامل می شود.

Common model: این بلوک یه کنترل کننده طراحی شده شما جان می دهد. به عبارتی ساده شما زمانیکه کنترل کننده خود را توسط Model definition رسم کردید برای اینکه کنترل کننده شما در نرم افزار شناخته شود و بتوانید از آن استفاده کنید باید آن را درون یک Common model قرار دهید. علت این کار این است که دیگسایلنت دسته بندی خیلی مشخصی برای عناصر در نظر گرفته است و زمانیکه شما کنترل کننده خود را درون یک Common model قرار می دهید، در واقع آن را به یک مدل DSL جدید تبدیل کرده اید که نرم افزار آن را می شناسد و در دسته مدل های DSL قرار می دهد.

Composite model: این بلوک نیز که در قسمت ۵ نشان داده عملکردی مانند Common model دارد با این تفاوت که Fram ساخته شده در بلوک ۱ را در خود جای می دهد و نقشه خارجی سیستم کنترل را مشخص می کند.

Network Element: این بلوک در واقع یک عنصر از کتابخانه دیگسایلنت می باشد که قرار است کنترل کننده شبیه سازی شده با DSL بر روی آن پیاده سازی یا سوار شود. این عنصر می تواند اینورتر، ژنراتور، منبع ولتاژ، باتری و… باشد. در این قسمت کنترل کننده طراحی شده توسط Composite model به عنصر مورد نظر لینک می شود.

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

DSL Diagram