日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[转载]PSCAD调用MATLAB/SIMULINK之接口元件设计

發布時間:2023/11/30 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [转载]PSCAD调用MATLAB/SIMULINK之接口元件设计 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原文地址:PSCAD調用MATLAB/SIMULINK之接口元件設計作者:luckyhappier

?

1)接口元件

? 接口元件包括Graphics,Parameters和Script。注意:變量要與DSDYN要一致(PSCAD根據變量名區別變量)。




2)Circuit

?? 定義接口元件外殼。根據需要定義輸入輸出類型,數據類型,維數。(如下圖)

?? 在Circuit中右擊選Create New Comoponent(接口元件向導(如上圖)


3)Graphics

?? 元件外觀和修改輸入輸出數列類型,維數。在自定義元件右鍵選擇Edit Definition進入Graphics。

?? 雙擊綠色節點彈出Connection,在此修改輸入輸出性質。

?? 注意:Symbol輸入是數列名均和腳本代碼里面一致。

4)Parameters(在沒有選中Page Module)

? 在沒有選中Page Module時在完成Graphics后進入此,單擊菜單New Category后點OK,在分類布上(點格矩陣區域)右鍵選New Control,在選不同類型,此選Text Field(設計matlab/simulink 路徑和文件名,注意:Symbol輸入是名和腳本代碼里面一致,caption:describe the Text Field)和Input Field (調用matlab的速度,鉤選ALL Signal Names)

5)Script

?注意:變量要與前面定義輸入輸出要一致。DSDYN完成代碼添加。在script里單擊segement manager。在彈出對話框選添加DSDYN,OK后進入添加代碼階段。(在網上下個Fortran help看看就OK)

Fortran 語言:

#STORAGE REAL:33 //向系統申請一個數據空間,包括輸入輸出的個數,有real和integer

#LOCAL INTEGER I_CNT? //定義一個局部變量

! First Input Array (REAL(31))

??????DO I_CNT = 1,31,1? //循環壓棧,

????????STORF(NSTORF+I_CNT-1) = $INPUT(I_CNT)

??????END DO? //注意空格

DO的用法簡介:DO 與 end DO聯合使用。

DO 變量名 = 初值,終值,步長(當步長為1時可省略)

………

ENDDO

DO WHILE(條件語句)

………

ENDDO

?

IF? (條件) then

。。。。

Else if(條件) then

。。。。

Endif

?

或 #if??? //不用加then

………??

#ELSE

………

#endif

!?SUBROUTINE MLAB_INT(MPATH, MFILE, INPUTS, OUTPUTS)//路徑一般使用相對路徑,即在你當前的工程目錄下建立一個文件夾,比如命名為mfiles。則"$Path"可改寫為”:$Dir$Path”,Path,Name均為設定的變量值,A MATLAB module is called by [D] = TEST(A,B,C), where TEST is a module in a MATLAB file 'TEST.m', that is located in C:TEMP MLAB_FILES. ?The input 'A' is a REAL variable, 'B' is a REAL array of dimension 31 and 'C' is an INTEGER. ?The output 'D' is a REAL array of dimension 10.?

The MATLAB interface subroutine call would then appear as follows:?

?

CALL MLAB_INT("C:TEMPMLAB_FILES", "TEST", "R R(31) I", "R(10)")

?

?

CALL MLAB_INT("%:Dir$Path", "$Name", "R(3)" , "R" )//相對路徑表示。

??????CALL MLAB_INT("$Path","$Name","R(31)","R(2)")

!

! First Output Array (REAL(2))

! 得到輸出值,同樣是使用變量棧輸出,數組的標號順序與棧先后順序一致。

??????DO I_CNT=1,2,1

????????$OUTPUT(I_CNT) = STORF(NSTORF+31+I_CNT-1)

??????ENDDO

!

! Increment STORF pointer

!改變棧的索引值

??????NSTORF = NSTORF + 33

!

6)在Circuit

?對自定義元件調用matlab/simulink的文件路徑,文件名和接口調用頻率。

到此一個接口元件就完成了。

?

??

轉載于:https://www.cnblogs.com/accjsjc/p/6011607.html

總結

以上是生活随笔為你收集整理的[转载]PSCAD调用MATLAB/SIMULINK之接口元件设计的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。