C ====================================================================== SUBROUTINE DSOUT C ---------------------------------------------------------------------- C Title:Trex C C *** FORTRAN 77 *** C C Associated files: C OH.dat C OH.dsd.f C C ====================================================================== C Include and Common Block Declarations C ---------------------------------------------------------------------- INCLUDE 'emt.d' INCLUDE 'emt.e' COMMON /S1/TIME,DELT,ICH,PRINT,FINTIM COMMON /S2/STOR(ND10),NEXC COMMON /S4/VAR(ND11),CON(ND12),PGB(ND13) REAL PI_, TWO_PI, PI_BY3, PI2_BY3 DATA PI_/3.141592654/, TWO_PI/6.283185307/ DATA PI_BY3/1.047197551/, PI2_BY3/2.094395102/ C C ====================================================================== C Function Declarations C ---------------------------------------------------------------------- C REALP2 : Real Pole C REAL REALP2 C ====================================================================== C Variable Declarations C ---------------------------------------------------------------------- REAL TIME,DELT,PRINT,FINTIM,STOR,VAR,CON,PGB INTEGER ICH,NEXC REAL Poh, IDS, Vload, Vd1, RT_6, RT_7, RT_8 REAL RT_9, Id, Iload, Vres, Vd2, Vd3, Vd4, RT_15 REAL RT_16, VD, RT_17, RT_18, RT_19, RT_20 REAL RT_21, RT_23, RT_24, Esv, RT_31, RT_32 C C ====================================================================== C CON() definitions C ---------------------------------------------------------------------- C CON( 1) = Reference of "RT_38" before definition. C CON( 2) = Reference of "Poh" before definition. C CON( 3) = Reference of "RT_40" before definition. C CON( 4) = Reference of "ILS" before definition. C CON( 5) = Reference of "IDS" before definition. C CON( 6) = Transfer of "RT_21" to DSDYN. C C ====================================================================== C VAR() definitions C ---------------------------------------------------------------------- C VAR(1) Slider Desc="Pmotor" Group="" Min=-1.12e+07 Max=1.12e+07 InitValue=0.0 Units="MW" C VAR(2) Slider Desc="Comm Inductance" Group="GenCtrl" Min=1.0e-05 Max=5.0e-05 InitValue=2.26338e-05 Units="H" C VAR(3) Switch Desc="Control Mode" Group="GenCtrl" InitValue=0 P0=0.0 P1=1.0 OnText="ON_V" OffText="OFF_I" C VAR(4) Slider Desc="min Gamma" Group="GenCtrl" Min=0.0 Max=90.0 InitValue=15.0 Units="deg" C VAR(5) Slider Desc="Intgrl Gain" Group="GenCtrl" Min=0.0 Max=200.0 InitValue=0.0 Units="farads" C VAR(6) Slider Desc="Prop Gain" Group="GenCtrl" Min=0.0 Max=100.0 InitValue=0.0 Units="ohms" C VAR(7) Slider Desc="GI_PLO" Group="GenCtrl" Min=0.0 Max=200.0 InitValue=100.0 Units="" C C ====================================================================== C PGB() definitions C ---------------------------------------------------------------------- C PGB(1) Output Desc="Pnet" Group="" Max=1.0e+09 Min=-1.0e+09 Units="Watt" C PGB(2) Output Desc="MG Freq" Group="" Max=100.0 Min=0.0 Units="Hz" C PGB(3) Output Desc="Wnet" Group="" Max=5.0e+09 Min=-5.0e+09 Units="Joule" C PGB(4) Output Desc="Coil Temp" Group="" Max=200.0 Min=0.0 Units="Deg C" C PGB(5) Output Desc="Ratio" Group="" Max=10.0 Min=1.0 Units="p.u." C PGB(6) Output Desc="Action" Group="" Max=1.0e+10 Min=0.0 Units="A^2-sec" C PGB(7) Output Desc="KB" Group="" Max=2.0 Min=-2.0 Units="" C PGB(8) Output Desc="Comp" Group="" Max=2.0 Min=-2.0 Units="" C PGB(9) Output Desc="Q" Group="" Max=2.0 Min=-2.0 Units="" C PGB(10) Output Desc="Amax" Group="" Max=180.0 Min=0.0 Units="deg" C PGB(11) Output Desc="Reference" Group="" Max=30.0 Min=-30.0 Units="kA" C PGB(12) Output Desc="Areq" Group="" Max=180.0 Min=0.0 Units="deg" C PGB(13) Output Desc="Ierror" Group="" Max=30.0 Min=0.0 Units="kA" C PGB(14) Output Desc="Alpha Command" Group="" Max=180.0 Min=0.0 Units="deg" C PGB(15) Output Desc="Vrequest" Group="" Max=10.0 Min=-10.0 Units="kV" C PGB(16) Output Desc="Load Voltage" Group="Main/DC" Max=5.0 Min=-5.0 Units="kV" C PGB(17) Output Desc="Load Voltage (smooth)" Group="Main/DC" Max=5.0 Min=-5.0 Units="kV" C PGB(18) Output Desc="Id" Group="Main/DC" Max=2.0 Min=-2.0 Units="kA" C PGB(19) Output Desc="Firing Pulse (2,1)" Group="" Max=2.0 Min=-2.0 Units="" C PGB(20) Output Desc="Vthy(2,1)" Group="" Max=2.0 Min=-2.0 Units="kV" C PGB(21) Output Desc="Firing Pulse (3,1)" Group="" Max=2.0 Min=-2.0 Units="" C PGB(22) Output Desc="Vthy(3,1)" Group="" Max=2.0 Min=-2.0 Units="kV" C PGB(23) Output Desc="Ithy(2,1)" Group="" Max=2.0 Min=-2.0 Units="kA" C PGB(24) Output Desc="Ithy(3,1)" Group="" Max=2.0 Min=-2.0 Units="kA" C PGB(25) Output Desc="Firing Pulse (4,1)" Group="" Max=2.0 Min=-2.0 Units="" C PGB(26) Output Desc="Vthy(4,1)" Group="" Max=2.0 Min=-2.0 Units="kV" C PGB(27) Output Desc="Ithy(4,1)" Group="" Max=2.0 Min=-2.0 Units="kA" C PGB(28) Output Desc="Measured Alpha" Group="" Max=120.0 Min=0.0 Units="deg" C PGB(29) Output Desc="Measured Gamma" Group="" Max=180.0 Min=0.0 Units="deg" C PGB(30) Output Desc="Firing Pulse (1,1)" Group="" Max=2.0 Min=-2.0 Units="" C PGB(31) Output Desc="Vthy(1,1)" Group="" Max=2.0 Min=-2.0 Units="kV" C PGB(32) Output Desc="Ithy(1,4)" Group="" Max=2.0 Min=-2.0 Units="kA" C PGB(33) Output Desc="Ithy(1,5)" Group="" Max=2.0 Min=-2.0 Units="kA" C PGB(34) Output Desc="Ithy(1,6)" Group="" Max=2.0 Min=-2.0 Units="kA" C PGB(35) Output Desc="Ithy(1,1)" Group="" Max=2.0 Min=-2.0 Units="kA" C PGB(36) Output Desc="Ithy(1,2)" Group="" Max=2.0 Min=-2.0 Units="kA" C PGB(37) Output Desc="Ithy(1,3)" Group="" Max=2.0 Min=-2.0 Units="kA" C PGB(38) Output Desc="Vd4" Group="" Max=2.0 Min=-2.0 Units="kV" C PGB(39) Output Desc="Vd3" Group="" Max=2.0 Min=-2.0 Units="kV" C PGB(40) Output Desc="Vd2" Group="" Max=2.0 Min=-2.0 Units="kV" C PGB(41) Output Desc="DC Voltage" Group="Main/DC" Max=5.0 Min=-5.0 Units="kV" C PGB(42) Output Desc="DC Voltage (smooth)" Group="Main/DC" Max=5.0 Min=-5.0 Units="kV" C PGB(43) Output Desc="Vd1" Group="" Max=2.0 Min=-2.0 Units="kV" C PGB(44) Output Desc="Reff" Group="Main/DC" Max=2.0 Min=-2.0 Units="kA" C PGB(45) Output Desc="Esv" Group="" Max=15.0 Min=-15.0 Units="kV" C PGB(46) Output Desc="Volts/Turn" Group="Main/DC" Max=6.0 Min=-6.0 Units="V" C PGB(47) Output Desc="OH Power" Group="Main/DC" Max=2.0e+08 Min=-2.0e+08 Units="Watt" C PGB(48) Output Desc="Iload" Group="Main/DC" Max=2.0 Min=-2.0 Units="kA" C C ====================================================================== C C ====================================================================== C Subsystem: "MG" C ---------------------------------------------------------------------- C ====================================================================== C Subsystem: "OH Coil R(I^2T)" C ---------------------------------------------------------------------- C ====================================================================== C Subsystem: "Mode Control" C ---------------------------------------------------------------------- C ====================================================================== C Subsystem: "OH Power Supply" C ---------------------------------------------------------------------- Id = CDCNG(1,1) Iload = CDC(5,4,1) Vload = VDC(4,1)-VDC(26,1) Vd1 = VDC(27,1)-VDC(28,1) Vres = VDC(5,1)-VDC(26,1) Vd2 = VDC(28,1)-VDC(30,1) Vd3 = VDC(30,1)-VDC(29,1) Vd4 = VDC(29,1)-VDC(26,1) Esv = VDC(3,1)-VDC(2,1) C Gain RT_6 = 0.10 * VLOAD C C Real Pole RT_7 = REALP2( 1.0 , 0.0010, RT_6) C PGB(16) = RT_6 PGB(17) = RT_7 C Gain RT_9 = 10.0 * ID C PGB(18) = RT_9 IDS = RT_9 C Gain RT_17 = 0.10 * VD4 C PGB(38) = RT_17 C Gain RT_18 = 0.10 * VD3 C RT_16 = + RT_18 + RT_17 C PGB(39) = RT_18 C Gain RT_19 = 0.10 * VD2 C PGB(40) = RT_19 C Gain RT_20 = 0.10 * VD1 C RT_15 = + RT_20 + RT_19 C VD = + RT_15 + RT_16 C C Real Pole RT_8 = REALP2( 1.0 , 0.0010, VD) C PGB(41) = VD PGB(42) = RT_8 PGB(43) = RT_20 C Gain RT_21 = 10.0 * ILOAD C C IF (ABS(ILOAD) .LT. 1.0E-10) THEN IF (ILOAD .LT. 0.0) THEN RT_23 = -1.0E10 * VRES ELSE RT_23 = 1.0E10 * VRES ENDIF ELSE RT_23 = VRES / ILOAD ENDIF C C Gain RT_24 = 0.010 * RT_23 C PGB(44) = RT_24 PGB(45) = ESV C RT_31 = VLOAD * ILOAD C C Gain RT_32 = 1.0e+06 * RT_31 C Poh = RT_32 PGB(47) = RT_32 CON(6) = RT_21 CON(2) = Poh CON(5) = IDS C ====================================================================== RETURN END