ch
Feedback
DPL

DPL

前往频道在 Telegram

Let's learn DPL DIgSILENT Programming Language

显示更多
1 187
订阅者
无数据24 小时
无数据7 天
+130 天
帖子存档
DPL
1 187
از فایل اکسل به منظور گزارش گیری، واسطه با سایر نرم افزارها یا اجرای ماکرو بر روی داده ها می توان استفاده کرد.

DPL
1 187
👈👈👈دستورات مخصوص کار با فایل های اکسل:

DPL
1 187
شکل 37: برنامه MATALB برای مثال شکل 39
شکل 37: برنامه MATALB برای مثال شکل 39

DPL
1 187
شکل 36: مثال DPL برای ارتباط با MATLAB
شکل 36: مثال DPL برای ارتباط با MATLAB

DPL
1 187
فایل استفاده شده در این برنامه: ‏index.mat : اگر عدد ذخیره شده در این فایل صفر باشد، به این معنی است که دیگسایلنت در حال انجام محاسبات می باشد، اگر عدد یک باشد به این معنی است که متلب در حال انجام محاسبه می باشد و اگر 2 شود به معنی خاتمه اجرای برنامه است. ‏test.mat: فایلی که برای انتقال زمان برداشت اطلاعات استفاده شده است.

DPL
1 187
✍نکته: یکی از روشهای انتقال مقادیر از دیگسایلنت به متلب استفاده از فرمت mat به صورت Ascii است. اعداد ذخیره شده در این فرمت با دستور Load در متلب تحت عنوان یک متغیر همنام با فایل، وارد محیط متلب خواهند شد.

DPL
1 187
روش کار به این شکل است که هر 0.1 ثانیه، شبیه سازی RMS متوقف می شود و اگر در این باز زمانی کلید یا تجهیزی باز شده باشد، شاخص مورد نظر تغییر می کند. برنامه متلب این متغیر را دائم تحت نظر دارد و به محض تغییر آن، دستورات مرتبط را اجرا می کند. پس از اتمام اجرای دستورات، شاخص به حالت اول بر می گردد و DPL ادامه پیدا می کند.

DPL
1 187
مثال: برنامه ای بنویسید که در تحلیل RMS در صورت باز شدن هر یک از کلیدهای شبکه، سیگنالی به MATLAB ارسال کند و منتظر پاسخ MATLAB برای ادامه شبیه سازی شود. برنامه MATLAB نیز با دریافت سیگنال، علاوه بر تولید صدای بوق کوتاه، نیم ثانیه بعد اجازه ادامه شبیه سازی را برای دیگسایلنت صادر کند.

DPL
1 187
sticker.webp0.13 KB

DPL
1 187
شکل 35: مجموعه دستورات تبادل داده با فایل
شکل 35: مجموعه دستورات تبادل داده با فایل

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

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

DPL
1 187
خواندن اطلاعات از فایل: از دستور fscanf برای خواندن اطلاعات از فایل به کار می رود: int fscanf (int iFH, string Format, string T | double X | int I, ...) این دستور مشابه دستور sscanf است. برای مثال اگر فایل متن با نام test.txt حاوی رشته به صورت abc 1234 باشد دستور fscanf و نتیجه آن به صورت زیر خواهد بود.

DPL
1 187
مثال زیر فایل متن در مسیر مشخص شده را جهت خواندن باز کرده و دستگیره صفر را به آن اختصاص می دهد: fopen('d:\tmp\test.txt','r',0);

DPL
1 187
‏Mode می تواند یکی از اعضای این مجموعه باشد (r,w,a,r+,w+,a+,b,t) ‌‏r: خواندن ‏w: فایل موجود (یا جدید) را برای نوشتن باز می کند، محتویات فعلی را پاک می کند. ‏a : مشابه w با این تفاوت که محتویات فعلی را حفظ می کند و محتویات جدید را به انتهای آن اضافه می کند. ‏r+: فایل برای خواندن و نوشتن باز می شود ‏w+: فایل برای نوشتن (ایجاد) و خواندن باز می شود ‏a+: فایل برای نوشتن (الحاق محتویات جدید به انتهای فایل) و خواندن باز می شود. ‏b: الزام فایل به باینری بو‏دن و t : الزام به text بودن فایل

DPL
1 187
به منظور ارتباط با فایل متن (جهت خواندن یا نوشتن) ابتدا فایل باید توسط نرم افزار باز شود و یک دستگیره به آن اختصاص یابد. دستور fopen همین کار را انجام می دهد. int fopen (string Path, string Mode, int iFH, int iRet) برای باز کردن یک فایل علاوه بر اسم ومسیر (Path)، دلیل باز شدن (Mode) و همچنین دستگیره (iFH) که بعداً جهت خواندن یا نوشت به جای نام فایل استفاده شود و عددی بین 0 تا 9 است (همزمان تعداد 10 فایل می تواند باز باشد) نیز باید وارد شود. اگر فایل به منظور نوشتن باز شود و قبلاً ایجاد نشده باشد، فایل جدید ایجاد خواهد شد (مسیر باید موجود باشد)

DPL
1 187
از فایلهای متنی با اهداف گزارش گیری، ارتباط با نرم افزارهایی مانند MATLAB و ... می توان استفاده کرد.

DPL
1 187
👈👈👈دستورات تبادل داده با فایل ها:

DPL
1 187
شکل 33: مجموع دستورات مربوط به رشته
شکل 33: مجموع دستورات مربوط به رشته

DPL
1 187
مجموعه دستورات رشته را در شکل زیر می توانید ملاحظه کنید: