在pscad里编程遇到error#8093,error#6511,
#LOCAL INTEGER N#LOCAL INTEGER L
N=$dim
L=$ttd
#LOCAL INTEGERT1 $dim
#LOCAL REAL M $dim
#LOCAL REAL Uk $dim
#LOCAL REAL Ukk $ttd
#LOCAL REAL M1
#LOCAL REAL N1
IF ($CLK>0.9) THEN
DO I=1, N
Uk(I)=$Us1(I)
END DO
DO K=1,N
Ukk(K)=K
Ukk(N+K)=Uk(K)
END DO
IF($Iarm>0) THEN
Hld1=1.0
DO I=1, N
IF ($Ts1(I)==1) THEN
Ukk(N+I)=Ukk(N+I)*Hld1
ENDIF
END DO
DO I=1,N-1
!Flag1=1
DO J=1, N-I
IF (Ukk(N+J)>Ukk(N+J+1)) THEN
M1=Ukk(J+1)
N1=Ukk(N+J+1)
Ukk(J+1)=Ukk(J)
Ukk(J)=M1
Ukk(N+J+1)=Ukk(N+J)
Ukk(N+J)=N1
Flag1=0
ENDIF
END DO
!IF (Flag1==1) THEN
!EXIT
!ENDIF
ENDDO
DO I=1, N
T1(I)=0
ENDDO
DO I=1,$Unum
M(I)=Ukk(I)
T1(M(I))=1
END DO
ENDIF
IF($Iarm<0) THEN
Hld=1.0
DO I=1, N
IF($TS1(I)==1) THEN
Ukk(N+I)=Ukk(N+I)*Hld
ENDIF
END DO
DO I=1, N-1
Flag1=1
DO J=1, N-I
IF (Ukk(N+J)>Ukk(N+J+1)) THEN
M1=Ukk(J+1)
N1=Ukk(N+J+1)
Ukk(J+1)=Ukk(J)
Ukk(J)=M1
Ukk(N+J+1)=Ukk(N+J)
Ukk(N+J)=N1
Flag1=0
ENDIF
END DO
!IF (Flag1==1) THEN
!EXIT
!ENDIF
ENDDO
DO I=1, N
T1(I)=0
ENDDO
DO I=1, $Unum
M(I)=Ukk(N+1-I)
T1(M(I))=1
END DO
ENDIF
DO I=1, N
$TS1(I)=T1(I)
END DO
ENDIF 本帖最后由 懒癌症患者 于 2018-11-10 16:30 编辑
上面是代码,$是值替换前缀,就是将dim的值赋给N,由于在pscad编写,可能格式有些不一样,用的是ivf编绎器
Description
error #8093: A do-variable within a DO body shall not appear in a variable definition context.
Description
error #6511: This DO variable has already been used as an outer DO variable in the same nesting structure.
这是错误描述,说双重循环出问题 我试了一下你给出的代码段,并没有出现你的问题。 fcode 发表于 2018-11-11 01:25
我试了一下你给出的代码段,并没有出现你的问题。
谢谢,我后来查了下是其他元件代码出问题,报错报在这段上 本帖最后由 懒癌症患者 于 2018-11-15 14:25 编辑
fcode 发表于 2018-11-11 01:25
我试了一下你给出的代码段,并没有出现你的问题。
你好,后来我进行调试的时候,总是在
DO I=1,$Unum
M(I)=Ukk(I)
T1(M(I))=1
ENDDO
出现断点,M(I)=Ukk(I)还有T1(M(I))=1两行出现 断点,请问这两行语法不对吗
出现提示> MMC_dc.exe!MAINDYN(INTEGER(4)NUM ) 行 371 未知
页:
[1]