hch196 发表于 2011-5-4 21:11:14

与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
! --------------------------------------------------
! --------------------------------------------------

hch196 发表于 2011-5-4 21:48:44

我把建立的模块放在MAIN里面运行就可以,但放到自己建立的模块里面就不能运行了

sailing123 发表于 2011-5-16 13:41:08

回复 2# hch196


    没有加插件啊,当然会有问题!

286405061 发表于 2011-5-16 15:45:59

谢谢楼主,正在学习中

hch196 发表于 2011-5-19 20:45:35

回复 3# sailing123
我用的是CVF编译器,请问你所得是什么插件啊?不过我开始没有设置LINK,设置了就行了,还有,想问一下,如果能提高运行的速度啊,互联的时候,速度很慢啊

sailing123 发表于 2011-5-20 14:07:01

回复 5# hch196


    调节pscad的步长就可以,不过这样会降低精度值。pscad每固定的时间会调用一次matlab,matlab将数据处理后把结果传回到pscad。在调用,再返回结果。因此把matlab处理的时间变小也可以增加速度。另一种方式是,自己设定调用matlab进行处理的次数,比如一个正弦波每周期只传递20个采样点传到matlab进行处理,这个是在自定义原件中的fortran语句中完成的。

dreamtime 发表于 2011-5-20 14:32:06

学些中
页: [1]
查看完整版本: 与MATLAB互联的时候,出现问题,求高手帮忙

招聘斑竹