fa
Feedback
DPL

DPL

رفتن به کانال در Telegram

Let's learn DPL DIgSILENT Programming Language

نمایش بیشتر
1 187
مشترکین
اطلاعاتی وجود ندارد24 ساعت
اطلاعاتی وجود ندارد7 روز
+130 روز
آرشیو پست ها
DPL
1 187
فیلم کوتاه زیر نتیجه اجرای DPL مثال فوق را نشان می دهد.

DPL
1 187
شکل 43: برنامه ای که پروفیل ولتاژ خط را به دست می آورد و در یک ماتریس ذخیره می کند. این برنامه در نهایت برنامه شکل 42 را فراخ
شکل 43: برنامه ای که پروفیل ولتاژ خط را به دست می آورد و در یک ماتریس ذخیره می کند. این برنامه در نهایت برنامه شکل 42 را فراخوانی می کند

DPL
1 187
شکل 42: برنامه ای که یک ماتریس را به عنوان ورودی دریافت و آن را به فایل اکسل منتقل می کند
شکل 42: برنامه ای که یک ماتریس را به عنوان ورودی دریافت و آن را به فایل اکسل منتقل می کند

DPL
1 187
بخش اول برنامه مثال طرح شده را در شکل زیر ملاحظه کنید:

DPL
1 187
در روش دوم به ترتیب ابتدا پارامترهای ورودی و سپس متغیرهای خروجی داخل پرانتز قرار می گیرند.

DPL
1 187
شکل 41: روش دوم فراخوانی DPL
شکل 41: روش دوم فراخوانی DPL

DPL
1 187
روش دوم:

DPL
1 187
در دستور بالا، متغیر Matrix از نوع Object به عنوان متغیر ورودی DPL با نام Mat2Xls ، برابر با Matrix از نوع IntMat از DPL اصلی شده است😱. سپس DPL به صورت یک دستور برای اجرا فراخوانی شده است. به همین روش می توان به متغیرهای خروجی نیز دسترسی پیدا کرد.

DPL
1 187
شکل 40: روش اول فراخوانی DPL از طریق DPL پدر
شکل 40: روش اول فراخوانی DPL از طریق DPL پدر

DPL
1 187
نحوه فراخوانی می تواند به یکی از دو شکل زیر باشد: روش اول:

DPL
1 187
شکل 39: تعریف یک DPL در زیر مجموعه DPL دیگر
شکل 39: تعریف یک DPL در زیر مجموعه DPL دیگر

DPL
1 187
برای مثال در شکل زیر DPL با نام Mat2Xls توسط DPL با نام VProfile فراخوانی می شود و در زیرمجموعه آن قرار گرفته است.

DPL
1 187
✍نکته: برای فراخوانی یک DPL در درون DPL دیگر به صورت یک زیربرنامه یا تابع، کافی است که DPL مذکور تحت مجموعه Contents در DPL اصلی تعریف شود. در این صورت با استفاده از دستور Execute می توان DPL را به صورت یک تابع یا پروسیجر فراخوانی کرد. این فراخوانی می تواند تعدادی متغیر ورودی و تعدادی متغیر خروجی داشته باشد.

DPL
1 187
شکل 38: محل تعریف پارامترهای ورودی DPL
شکل 38: محل تعریف پارامترهای ورودی DPL

DPL
1 187
✍:نکته: از آنجایی که DPL خود یک Object محسوب می شود، می تواند تعدادی پارامتر داشته باشد، پارامترهای ورودی و خروجی از جمله ی این پارامترها هستند که در برگه Basic Options و Advanced Options تعریف می شوند و می تواند هر یک از پنج نوع متغیر قابل تعریف در DPL باشد. برای مثال در شکل زیر Matrix از نوع Object به عنوان یک ورودی تعریف شده است. متغیرها می توانند توسط کاربر (به عنوان تنظیمات کاربر) یا دستوری (فراخوانی توسط یک برنامه دیگر) مقدار دهی شوند

DPL
1 187
روش کار به این شکل است که ابتدا برنامه ای می نویسیم که پروفیل ولتاژ خط را در یک ماتریس ذخیره کند. (برای بدست آوردن ولتاژ نقاط مختلف خط می توان از ولتاژ Pre-Fault دستور آنالیز اتصال کوتاه استفاده کرد) سپس یک زیر برنامه این ماتریس را به عنوان پارامتر ورودی دریافت و در اکسل نمایش می دهد. برای نمایش بهتر نتایج می توان فایل اکسلی را به صورت template ایجاد کرد و با فراخوانی آن مقادیر را جایگزین کیند.

DPL
1 187
مثال: برنامه ای بنویسید که پروفیل ولتاژ یک یا چند خط انتخاب شده را در اکسل نمایش دهد.

DPL
1 187
نوشتن در یک سل از sheet فعال: xlSetValue int xlSetValue (int column, int row, int/double/string value ) نمایش فایل اکسل: xlSetVisible تا زمانیکه این دستور اجرا نشده باشد، کاربر نمی تواند نتیجه اجرای هیچ یک از دستورات فوق را مشاهده کند. int xlSetVisible ( int visible ) اجرای ماکروی اکسل: xlRunMacro int xlRunMacro ( string macroName ) ذخیره فایل اکسل: xlSaveWorkbook int xlSaveWorkbook ( ) بستن فایل اکسل: xlCloseWorkbook int xlCloseWorkbook ( )

DPL
1 187
باز کردن فایل اکسل موجود: xlOpenWorkbook امکان باز کردن انواع فایلهایی که توسط اکسل شناسایی می شود با این دستور وجود دارد. ورودی این دستور یک رشته است که حاوی مسیر و نام فایل می باشد. int xlOpenWorkbook ( string file ) ایجاد فایل اکسل جدید: xlNewWorkbook این دستور فایل اکسل جدید ایجاد می کند. int xlNewWorkbook ( ) فعال نمودن یک sheet از اکسل: xlActivateWorksheet int xlActivateWorksheet ( int sheetIndex ) خواندن یک سل از sheet فعال: xlGetValue int xlGetValue (int column, int row, int/double/string value )

DPL
1 187
برقراری ارتباط با موتور اکسل: xlStart قبل از هرگونه کار با فایلهای اکسل، از دستور زیر باید استفاده کنید. این دستور در صورت وقع هرگونه اشکال در برقراری ارتباط با اکسل، خروجی یک و در غیر این صورت خروجی صفر را می دهد. مثال: error = xlStart(); !start MS Excel if (error) { Error('Unable to start MS Excel application'); exit(); }