bao1872 发表于 2013-3-21 01:25:42

逆变器自定义模型求助,编译不成功

问题是conec文件编译后不能生成obj文件,请高手帮看看代码


需要自定义一个逆变器模型,数学模型如下:

Pref (pu) 3-phase total real power reference, per- unit value
vPCC (pu) voltage in PCC, per-unit line-line RMS value
Iref_p (pu) real power current reference, per-unit phase RMS value
Ip (pu) real power current generated by inverter, per-unit phase RMS value


dyr文件内容如下:
11 'USRMDL' 1 'SLX_G1' 101 1 0 2 2 00.01 0.004166666666667   /


第一个con是指参考功率Pref,第二个con是指Tinv


首先在生成CONCE CONET的时候,没有出来call语句,psse33版好像都没有call语句了


然后编辑CONEC 文件如下:

    SUBROUTINE CONEC
C
    INCLUDE 'COMON4.INS'
C
C
    RETURN
    END

SUBROUTINE SLX_G1(MC,ISLOT)

INTEGER MC,ISLOT
C
C MC =MACHINE ARRAY INDEX
C ISLOT=ARRAY ALLOCATION TQABLE INDEX
C J =STRTIN(2,ISLOT)
C K =STRTIN(1,ISLOT)
C

$INSERT COMON4
C

INTRINSIC MAX

EXTERNAL BADMID
C

INTEGER IB, J, K

REAL IP
C
C DO NOTHING IN ACTIVITIES ‘DOCU’ AND ‘DYDA’ FOR NOW
C

IF(MODE.EQ.8)

CON_DSCRPT(1)='Pref'

CON_DSCRPT(2)='Tinv'

RETURN

IF (MODE.GT.4) RETURN
C
C BUS SEQUENCS NUMBER NEGATIVE IF MACHINE
C IS OFF LINE,SVS OR INDUCTION MACHINE
C

IB=NUMTRM(MC)

IF (IB.LE.0) RETURN
C

IF (MIDTRM) GO TO 900
C
C GET STARTING ‘CON’ AND ‘STATE’ INDICES
C

J=STRTIN(1,ISLOT)

K=STRTIN(2,ISLOT)
C

GO TO (100,200,300,400),MODE
C
C MODE = 1 – INITIALIZE
C

100 STATE(K)=PELEC(MC)/ETERM(MC)

STATE(K+1)=PELEC(MC)/ETERM(MC)

RETURN
C
C MODE = 2 – CALCULATE DERIVATIVES
C

200 DSTATE(K)=CON(J)/ETERM(MC)

DSTATE(K+1)=(DSTATE(K)-STATE(K+1))/CON(J+1)

RETURN
C
C MODE = 3 – SET IP
C

300 IP=STATE(K+1)

RETURN
C
C MODE = 4 – SET NINTEG
C

400 NINTEG=MAX(NINTEG,K+1)

RETURN
C
C MODEL NOT IMPLEMENTED FOR MSTR/MRUN
C

900 CALL BADMID(MC,IB,’SLX_G1’)

RETURN
C

307 FORMAT(‘SLX_G1 AT BUS’,16, ‘MACHINE’,A,

* , ‘INITIALIZED OUT OF LIMITS’)

END



还有一个问题想请教最后Ip这个参量在PSSE里好像没有内部变量,因为这个是输出变量,现在Ip表示的好像不对,又不知道该怎么解决

Khalifa 发表于 2025-1-20 09:59:19

强烈支持楼主ing……

cxxgtxy 发表于 2013-3-21 06:58:08

回复 1# bao1872


    Simulink不是很擅长做这个么?为啥不用,然后调用simulink

redplum 发表于 2013-3-21 07:13:55

有注释吗

redplum 发表于 2013-3-21 13:10:13

的的确确看不懂

大萝卜 发表于 2013-3-21 20:54:33

顶楼主

bao1872 发表于 2013-3-22 01:11:52

回复 2# cxxgtxy


我是33版的psse,已经不能调用simulink了,如果能装回psse30的话是否可以调用simulink来实现?能否推荐一个帮助看看,谢谢!

bao1872 发表于 2013-3-22 01:13:00

回复 3# redplum


   其实主要内容是mode1-mode4,注释都是用英文表示的,C后面都是注释

cxxgtxy 发表于 2013-3-22 07:01:40

回复 6# bao1872


    http://wenku.baidu.com/view/be41c8c3d5bbfd0a79567382.html
不错的内容,希望能帮助你

bao1872 发表于 2013-3-23 00:41:33

回复 8# cxxgtxy


   谢谢了,这个文档我已经下载过,没有具体讲simulink和psse怎么互相导入,而且上面很明确的写了不推荐用simulink。。。。因为容易产生未知错误,当时考虑过这个方法,但是自己用fortran写出来的话更容易让人信服

cxxgtxy 发表于 2013-3-23 07:11:18

回复 9# bao1872


    其实感觉,这种情况下升级一下simulink或许就可以解决了,你的simulink版本是?
页: [1] 2
查看完整版本: 逆变器自定义模型求助,编译不成功

招聘斑竹