与MATLAB互联的时候,出现问题,求高手帮忙
4输入1输出的MATLAB程序 function = PID1(rin,yout,error,constant)以下为我根据例子改的PSCAD与MATLAB互联的程序,但出错
#STORAGE REAL:5
! --------------------------------------------------
! --------------------------------------------------
! PSCAD/EMTDC - MATLAB INTERFACE
! Module: $Name
IF($Enabl.GT.0.9) THEN
! --------------------------------------------------
! Transfer EMTDC Input Variables to Matlab Interface
! --------------------------------------------------
!
! First Input Array (REAL(4))
STORF(NSTORF) = $A
STORF(NSTORF+1) = $B
STORF(NSTORF+1) = $C
STORF(NSTORF+1) = $D
!
! --------------------------------------------------
! Call PSCAD/EMTDC Matlab Interface:
! CALL MLAB_INT("MFILEPATH","MFILENAME","Input Format","Output Format")
! --------------------------------------------------
CALL MLAB_INT("%:Dir\$Path", "$Name", "R R R R" , "R")
!
! --------------------------------------------------
! Transfer Matlab Output Variables from Matlab Interface
! --------------------------------------------------
!
! First Output Array (REAL(1))
$OUTPUT = STORF(NSTORF+4)
ENDIF
! Update STORx Pointers
NSTORF = NSTORF + 4 + 1
! --------------------------------------------------
! -------------------------------------------------- 我把建立的模块放在MAIN里面运行就可以,但放到自己建立的模块里面就不能运行了 回复 2# hch196
没有加插件啊,当然会有问题! 谢谢楼主,正在学习中 回复 3# sailing123
我用的是CVF编译器,请问你所得是什么插件啊?不过我开始没有设置LINK,设置了就行了,还有,想问一下,如果能提高运行的速度啊,互联的时候,速度很慢啊 回复 5# hch196
调节pscad的步长就可以,不过这样会降低精度值。pscad每固定的时间会调用一次matlab,matlab将数据处理后把结果传回到pscad。在调用,再返回结果。因此把matlab处理的时间变小也可以增加速度。另一种方式是,自己设定调用matlab进行处理的次数,比如一个正弦波每周期只传递20个采样点传到matlab进行处理,这个是在自定义原件中的fortran语句中完成的。 学些中
页:
[1]