Trans.m
上传用户:eighthdate
上传日期:2014-05-24
资源大小:270k
文件大小:7k
源码类别:

其他行业

开发平台:

Matlab

  1. % This program displays three options for obtaining the transformer
  2. % performance characteristics/
  3. %
  4. % Copyright (C) 1998  by H. Saadat.
  5. clc
  6. global  par1
  7. par1 = -1;
  8. menu1 =[
  9. '                 TRANSFORMER ANALYSIS               '
  10. '                                                    '
  11. ' Type of parameters for input                Select '
  12. ' ----------------------------                ------ '
  13. ' To obtain equivalent circuit from tests        1   '
  14. '                                                    '
  15. ' To input individual winding impedances         2   '
  16. '                                                    '
  17. ' To input transformer equivalent impedance      3   '
  18. '                                                    '
  19. ' To quit                                        0   '];
  20. disp(menu1)
  21.   while par1 ~=1 & par1 ~= 2 & par1 ~= 3 & par1 ~=0
  22.   par1 = input(' Select number of menu --> ');
  23.     if par1 ~= 1 & par1 ~= 2 & par1 ~= 3 & par1 ~=0
  24.      disp(' Enter 1, 2, 3, or 0'), else, end
  25.   end
  26. fprintf(' n')
  27.     if isempty(par1) == 1
  28.     disp('You must enter 1, 2, 3, or 0  try again'), return,
  29.     else, end
  30. if par1 == 0, return, end
  31. if par1 == 1
  32.    S = input(' Enter Transformer rated power in kVA, S = ');
  33.    Elv = input(' Enter rated low voltage in volts  = ');
  34.    Ehv = input(' Enter rated high voltage in volts = ');
  35.    fprintf('n Open circuit test data nn')
  36.    fprintf(' ----------------------   n')
  37.    tso = 0;
  38.    while strcmp(tso, 'lv')~=1 & strcmp(tso, 'LV')~=1 & strcmp(tso, 'hv')~=1 & strcmp(tso, 'HV')~=1
  39.    fprintf(' Enter ''lv'' within quotes for data referred to low side or n')
  40.    tso = input(' enter ''hv'' within quotes for data referred to high side -> ');
  41.    if strcmp(tso, 'lv')~=1 & strcmp(tso, 'LV')~=1 & strcmp(tso, 'hv')~=1 & strcmp(tso, 'HV')~=1
  42.    fprintf('n Incorrect reply, try again nn'), end
  43.    end
  44.    Vo = input(' Enter input voltage in volts, Vo = ');
  45.    Io = input(' Enter no-load current in Amp, Io = ');
  46.    Po = input(' Enter no-load input power in Watt, Po = ');
  47.    [Rc, Xm] = troct(Vo, Io, Po);
  48.       if tso == 'lv' | tso == 'LV'
  49.       Rclv = Rc; Xmlv = Xm;
  50.       Rchv = (Ehv/Elv)^2*Rc; Xmhv = (Ehv/Elv)^2*Xm;
  51.       else, end
  52.       if tso == 'hv' | tso == 'HV'
  53.       Rchv = Rc; Xmhv = Xm;
  54.       Rclv = (Elv/Ehv)^2*Rc; Xmlv = (Elv/Ehv)^2*Xm;
  55.       else, end
  56.   fprintf('n Short circuit test data n')
  57.   fprintf(' ----------------------- n')
  58.   tsc=0;
  59.   while strcmp(tsc, 'lv')~=1 & strcmp(tsc, 'LV')~=1 & strcmp(tsc, 'hv')~=1 & strcmp(tsc, 'HV')~=1
  60.   fprintf(' Enter ''lv'' within quotes for data referred to low side or n')
  61.   tsc = input(' enter ''hv'' within quotes for data referred to high side -> ');
  62.   if strcmp(tsc, 'lv')~=1 & strcmp(tsc, 'LV')~=1 & strcmp(tsc, 'hv')~=1 & strcmp(tsc, 'HV')~=1
  63.   fprintf('n Incorrect reply, try again nn'), end
  64.   end
  65.   Vsc = input(' Enter reduced input voltage in volts, Vsc = ');
  66.   Isc = input(' Enter input current in Amp, Isc = ');
  67.   Psc = input(' Enter input power in Watt, Psc = ');
  68.   [Ze] = trsct(Vsc, Isc, Psc);
  69.       if tsc == 'lv' | tsc == 'LV'
  70.       Zelv = Ze;
  71.       Zehv = (Ehv/Elv)^2*Ze; else, end
  72.       if tsc == 'hv' | tsc == 'HV'
  73.       Zehv = Ze;
  74.       Zelv = (Elv/Ehv)^2*Ze; else, end
  75. end
  76. if par1 ==2
  77. S = input(' Enter Transformer rated power in kVA, S = ');
  78. Elv = input(' Enter rated low voltage in volts  = ');
  79. Ehv = input(' Enter rated high voltage in volts = ');
  80. Zlv = input(' Enter LV winding series impedance R1 + j*X1 in ohm = ');
  81. Zhv = input(' Enter HV winding series impedance R2 + j*X2 in ohm = ');
  82. [Zelv, Zehv] = wz2eqz(Elv, Ehv, Zlv, Zhv);
  83.    tso=0;
  84.    while strcmp(tso, 'lv')~=1 & strcmp(tso, 'LV')~=1 & strcmp(tso, 'hv')~=1 & strcmp(tso, 'HV')~=1
  85.    fprintf(' Enter ''lv'' within quotes for low side shunt branch or n')
  86.    tso = input(' enter ''hv'' within quotes for high side shunt branch -> ');
  87.    if strcmp(tso, 'lv')~=1 & strcmp(tso, 'LV')~=1 & strcmp(tso, 'hv')~=1 & strcmp(tso, 'HV')~=1
  88.    fprintf('n Incorrect reply, try again nn'), end
  89.    end
  90. Rc = input(' Shunt resistance in ohm (if neglected enter inf) = ');
  91. Xm = input(' Shunt reactance in ohm (if neglected enter inf) = ');
  92.     if tso == 'lv' | tso == 'LV'
  93.     Rclv = Rc; Xmlv = Xm;
  94.     Rchv = (Ehv/Elv)^2*Rc; Xmhv = (Ehv/Elv)^2*Xm;
  95.     else, end
  96.     if tso == 'hv' | tso == 'HV'
  97.     Rchv = Rc; Xmhv = Xm;
  98.     Rclv = (Elv/Ehv)^2*Rc; Xmlv = (Elv/Ehv)^2*Xm;
  99.     else, end
  100. end
  101. if par1 == 3
  102. S = input(' Enter Transformer rated power in kVA, S = ');
  103. Elv = input(' Enter rated low voltage in volts  = ');
  104. Ehv = input(' Enter rated high voltage in volts = ');
  105. tsc=0;
  106.   while strcmp(tsc, 'lv')~=1 & strcmp(tsc, 'LV')~=1 & strcmp(tsc, 'hv')~=1 & strcmp(tsc, 'HV')~=1
  107.    fprintf(' n Enter ''lv'' within quotes for equivalent impedance referred to low side or n')
  108. tsc = input(' enter ''hv'' within quotes for equivalent impedance referred to high side -> ');
  109.        if strcmp(tsc, 'lv')~=1 & strcmp(tsc, 'LV')~=1 & strcmp(tsc, 'hv')~=1 & strcmp(tsc, 'HV')~=1
  110.        fprintf('n Incorrect reply, try again nn'), end
  111.   end
  112. Ze = input(' Enter transformer equivalent impedance Re + j*Xe in ohm, Ze = ');
  113.     if tsc == 'lv' | tsc == 'LV'
  114.     Zelv = Ze;
  115.     Zehv = (Ehv/Elv)^2*Ze; else, end
  116.     if tsc == 'hv' | tsc == 'HV'
  117.     Zehv = Ze;
  118.     Zelv = (Elv/Ehv)^2*Ze; else, end
  119. tso = 0;
  120.    while strcmp(tso, 'lv')~=1 & strcmp(tso, 'LV')~=1 & strcmp(tso, 'hv')~=1 & strcmp(tso, 'HV')~=1
  121.    fprintf(' Enter ''lv'' within quotes for low side shunt branch or n')
  122.    tso = input(' enter ''hv'' within quotes for high side shunt branch -> ');
  123.    if strcmp(tso, 'lv')~=1 & strcmp(tso, 'LV')~=1 & strcmp(tso, 'hv')~=1 & strcmp(tso, 'HV')~=1
  124.    fprintf('n Incorrect reply, try again nn'), end
  125.    end
  126. Rc = input(' Shunt resistance in ohm (if neglected enter inf) = ');
  127. Xm = input(' Shunt reactance in ohm (if neglected enter inf) = ');
  128.     if tso == 'lv' | tso == 'LV'
  129.     Rclv = Rc; Xmlv = Xm;
  130.     Rchv = (Ehv/Elv)^2*Rc; Xmhv = (Ehv/Elv)^2*Xm;
  131.     else, end
  132.     if tso == 'hv' | tso == 'HV'
  133.     Rchv = Rc; Xmhv = Xm;
  134.     Rclv = (Elv/Ehv)^2*Rc; Xmlv = (Elv/Ehv)^2*Xm;
  135.     else, end
  136. end
  137. clc
  138. fprintf('n Shunt branch ref. to LV side ')
  139. fprintf('             Shunt branch ref. to HV side n')
  140. fprintf(' Rc = %12.3f ohm', Rclv), fprintf('                     Rc = %12.3f ohm n', Rchv)
  141. fprintf(' Xm = %12.3f ohm', Xmlv), fprintf('                     Xm = %12.3f ohm n', Xmhv)
  142. fprintf('n Series branch ref. to LV side ')
  143. fprintf('            Series branch ref. to HV side n')
  144. fprintf(' Ze = %10.6f', real(Zelv)), fprintf(' + j %10.6f ohm', imag(Zelv))
  145. fprintf('        Ze = %10.6f', real(Zehv)), fprintf(' + j %10.6f ohm nn', imag(Zehv))
  146. %fprintf('nn Hit return to continue n')
  147. %pause
  148. tperf