从零开始学习PSCAD与MATLAB的交互一、环境的营造第一步:安装PSCAD(我的版本是4.2)及MATLAB(我的版本是7.0)常见问题:无法运行PSCAD中有关MATLAB的例子。原因:PSCAD只与较低版本的MATLAB进行交互,如5或者6.5版本。解决方法:(1)下载compaqvisualfortran6程序,迅雷上有,是6.5版本,能用的。解压有密码:dc.whu.edu.cn(2)解包安装,内有SN的。(3)安装时问的几个问题注意一下。可能与关联有关的。(4)在PSCAD中的EDIT——workspacesetting中有以下图,将会较原来新出现黑框中的内容!(5)向右找到“matlab”菜单(6)打开PSCAD例程中中有关MATLAB的例子。运行试试看!二、做一个最最简单的例子设计方案:在PSCAD中设计一个MATLABINTERFACE元件,一个输入量、一个输出量。开始跟我做。第一步:新建一个case。白手起家,挫折多多,选一个最简单的有关MATLAB的例子,初学者最好是选择一个运行成功的程序另存为test.psc。把main中的所有内容都清掉。如果想多学那我们就新建一个!第二步:在工作区内点击鼠标右键。出现下图。生成一个新的元件。分步1:输入元件的名称,左右各选择为“1”分步2、3:#1连接点的定义(本例中为输入)及#2连接点的定义(本例中为输出)第二步完成!第三步:元件定义的修改分步1:按图双击左侧窗口中本文件相关元件定义。分步2:元件的图形不用动。分步3:作本元件的对话框。第四步:脚本的编写(SCRIPT)脚本的编写非常重要,照猫画虎!掌握关键的几句即可。本例是最简单的了!以下是脚本程序及相应的注释说明:#STORAGEREAL:2:此处代表两个变量,建立元件时要计算,如果输入10个,输出10个,则此处定义为20.!twoinput---------------------------------------!FirstInputArray(REAL(20))STORF(NSTORF)=$INPUT:第一个输入变量,是在元件参数定义中有的,注意INPUT必须与元件的定义相一致。等号左边不用改,相当于STORF(NSTORF+0),对于多个输入变量,则可以加数字即可。!SecondInputVariable!ThirdInputVariable!--------------------------------------------------!CallPSCAD/EMTDCMatlabInterface:!CALLMLAB_INT(MFILEPATH,MFILENAME,InputFormat,OutputFormat)!调用MATLAB的命令!注意$Path、$Name前后要一致。--------------------------------------------------CALLMLAB_INT(%:Dir\$Path,$Name,R(1),R(1))!--------------------------------------------------!TransferMatlabOutputVariablesfromMatlabInterface!--------------------------------------------------!!FirstOutputArray(REAL(2))$OUTPUT=STORF(NSTORF+1)第二个输出变量,是在元件参数定义中有的,注意OUTPUT必须与元件的定义相一致。!UpdateSTORxPointersNSTORF=NSTORF+2更新数据指针,加2对应两个变量。。!--------------------------------------------------!--------------------------------------------------第五步:main中的设置。在元件界边加上输入的量,本例中为实数3.双击m文件后可以看到:function[out]=test(in)out=in就完了?程序就这么简单?就这么简单!m文件加花样,那是matlab的学习!注意:Out,in都不能随便改,这是固定的语句。Function是函数的意思,test是这个函数的名称随便起。所以这个地方的难点是如何实现连接。第五步:编译一下看看?出错的处理。要看不绿色,没有红色,如果有红色,可能是main中接线或者定义有问题。接着按run!可能会看到……出错的原因是:(右击主界面,点开projectsetting)找到link选中。就不会有以上问题了。