⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fcall.m

📁 这是一个很适合研究和学习用的电力系统仿真软件
💻 M
字号:
function fcall(p)

global DAE Pod

if ~p.n, return, end

vcs = DAE.x(p.vcs);
vpi = DAE.x(p.vpi);

vcs_max = p.con(:,8);
vcs_min = p.con(:,9);

ty2 = find(p.con(:,2) == 2);
ty3 = find(p.con(:,2) == 3);

V0 = p.V0;
if ty2
  den = ssscden(p);
  kp = p.Cp(ty2)./(1-p.Cp(ty2));
  V0(ty2) = kp.*den(ty2);
end

if ty3    
  [Ps,Qs,Pr,Qr,Is,Ir] = fex_lineflows;
  Kpr = p.con(:,11);
  Kin = p.con(:,12);
  tp = ty3(find(p.con(ty3,10) == 1));
  ta = ty3(find(p.con(ty3,10) == 2));    
  if tp
    V0(tp) = Kpr(tp).*(p.Pref(tp)-Ps(p.line(tp))) + DAE.x(p.vpi(tp));
    DAE.f(p.vpi(tp)) = Kin(tp).*(p.Pref(tp)-Ps(p.line(tp)));
  end
  if ta
    V0(ta) = Kpr(ta).*(p.Pref(ta)-Ps(p.line(ta))-Pr(p.line(ta))) ...
             + DAE.x(p.vpi(ta));
    DAE.f(p.vpi(ta)) = Kin(ta).*(p.Pref(ta)-Ps(p.line(ta))-Pr(p.line(ta)));
  end
end

% Updating signal V0
V0(p.pod) = V0(p.pod) + DAE.x(Pod.Vs(Pod.sssc));

u = ~(vcs >= vcs_max & DAE.f(p.vcs) > 0) & ...
    ~(vcs <= vcs_min & DAE.f(p.vcs) < 0);
DAE.f(p.vcs) = u.*(V0-vcs)./p.con(:,7);
DAE.x(p.vcs) = min(vcs_max,DAE.x(p.vcs));
DAE.x(p.vcs) = max(vcs_min,DAE.x(p.vcs));

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -