[vip专享]PSCAD与MATLAB的交互全步骤教程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
从零开始学习PSCAD与MATLAB的交互一、环境的营造
第一步:安装PSCAD(我的版本是4.2)及MATLAB(我的版本是7.0)
常见问题:无法运行PSCAD中有关MATLAB的例子。
原因:PSCAD只与较低版本的MATLAB进行交互,如5或者6.5版本。
解决方法:(1)下载compaq visual fortran 6 程序,迅雷上有,是6.5版本,能用的。
解压有密码:
(2)解包安装,内有SN的。
(3)安装时问的几个问题注意一下。
可能与关联有关的。
(4)在PSCAD中的EDIT——workspacesetting中有以下图,将会较原来新出现黑框中的内容!
(5)向右找到“matlab”菜单
(6)打开PSCAD例程中中有关MATLAB的例子。
运行试试看!
二、做一个最最简单的例子
设计方案:在PSCAD中设计一个MATLAB INTERFACE元件,一个输入量、一个输出量。
开始跟我做。
第一步:新建一个case。
白手起家,挫折多多,选一个最简单的有关MATLAB的例子,初学者最好是选择一个运行成功的程序另存为test.psc。
把main中的所有内容都清掉。
如果想多学那我们就新建一个!
第二步:在工作区内点击鼠标右键。
出现下图。
生成一个新的元件。
分步1:输入元件的名称,左右各选择为“1”
分步2、3:#1连接点的定义(本例中为输入)及#2连接点的定义(本例中为输出)
第二步完成!
第三步:元件定义的修改
分步1:按图双击左侧窗口中本文件相关元件定义。
分步2:元件的图形不用动。
分步3:作本元件的对话框。
第四步:脚本的编写(SCRIPT)
脚本的编写非常重要,照猫画虎!掌握关键的几句即可。
本例是最简单的了!
以下是脚本程序及相应的注释说明:
#STORAGE REAL:2:此处代表两个变量,建立元件时要计算,如果输入10个,输出10个,则此处定义为20.
! two input ---------------------------------------
! First Input Array (REAL(20))
STORF(NSTORF) = $INPUT:第一个输入变量,是在元件参数定义中有的,注意INPUT必须与元件的定义相一致。
等号左边不用改,相当于
STORF(NSTORF+0),对于多个输入变量,则可以加数字即可。
! Second Input Variable
! Third Input Variable
! --------------------------------------------------
! Call PSCAD/EMTDC Matlab Interface:
! CALL MLAB_INT("MFILEPATH","MFILENAME","Input Format","Output Format")
! 调用MATLAB的命令!注意
$Path、$Name前后要一致。
--------------------------------------------------
C ALL MLAB_INT("%:Dir\$Path", "$Name", "R(1)" , "R(1)" )
! --------------------------------------------------
! Transfer Matlab Output Variables from Matlab Interface
! --------------------------------------------------
!
! First Output Array (REAL(2))
$OUTPUT = STORF(NSTORF+1)
第二个输出变量,是在元件参数定义中有的,注意OUTPUT必须与元件的定义相一致。
! Update STORx Pointers
N STORF = NSTORF + 2
更新数据指针,加2对应两个变量。
! --------------------------------------------------
! --------------------------------------------------
第五步:main中的设置。
在元件界边加上输入的量,本例中为实数3.
双击m文件后可以看到:function [out] = test(in)
out=in
就完了?程序就这么简单?就这么简单!m文件加花样,那是matlab的学习!
注意:Out,in都不能随便改,这是固定的语句。
Function是函数的意思,test是这个函数的名称随便起。
所以这个地方的难点是如何实现连接。
第五步:编译一下看看?出错的处理。
要看不绿色,没有红色,如果有红色,可能是main中接线或者定义有问题。
接着按run!可能会看到……
出错的原因是:(右击主界面,点开project setting)找到link选中。
就不会有以上问题了。