[已答复] 关于光伏阵列最大功率点跟踪模型

[复制链接]
suixiaodong 发表于 2010-10-10 22:51:37
下面是我做的光伏阵列最大功率点跟踪模型和S函数。仿真出现下面的错误根本没结果。
最大功率点跟踪S函数(爬山法)
global D;
global Ik;
global Vk;
switch flag,
case 0,
    [sys,x0,str,ts]=mdlInitializeSizes;
case 2,
    sys=mdlUpdate(t,x,u);
case 3,
    sys=mdlOutputs(t,x,u);
case {1,4,9},
        sys = [];
otherwise
    DAStudio.error('Simulink:blocks:unhandledFlag', num2str(flag));
end
function [sys,x0,str,ts]=mdlInitializeSizes
sizes = simsizes;
sizes.NumContStates  = 0;
sizes.NumDiscStates  = 3;
sizes.NumOutputs     = 1;
sizes.NumInputs      = 2;
sizes.DirFeedthrough = 1;
sizes.NumSampleTimes = 1;  
sys = simsizes(sizes);
x0  = [0;0;0.5];
str = [];
ts  = [1 0];
function sys=mdlUpdate(t,x,u)
sys = [x(1);x(2);x(3)];
function sys=mdlOutputs(t,x,u)
    Ik=x(1);
    Vk=x(2);
    Pk=Ik*Vk;
    D=x(3);
    I=u(1);
    V=u(2);
    P=I*V;
    d=0.0001;
   
    di=I-Ik;
    dv=V-Vk;
    dp=P-Pk;
   if dp==0
       dd=0;
   else
       if dp>0
           if dv>0
               dd=d;
           else
               dd=-d;
           end
       else
           if dv>0
               dd=-d;
           else
               dd=d;
           end
       end
   end
    D=D+dd;
    if D<0.001
     D= 0.01;
    end
  if D>0.999
      D= 0.999;
  end
    x(1)=I;
    x(2)=V;
    x(3)=D;  
sys =[D];
希望大家帮帮忙吧!看看到底哪错了。谢谢!

错误对话框

错误对话框

整个仿真图

整个仿真图

光伏模型左半部分

光伏模型左半部分

光伏阵列右半部分

光伏阵列右半部分

10 条回复


suixiaodong 发表于 2010-10-11 07:42:53
自己顶一下:)

suixiaodong 发表于 2010-10-11 16:08:07
自己顶一下

suixiaodong 发表于 2010-10-12 07:07:54
麻烦大家帮帮忙吧!谢谢了!

suixiaodong 发表于 2010-10-13 07:39:55
帮帮忙吧!顶顶!

hope7 发表于 2012-5-12 00:09:06
楼主,你好。不知道你的这个问题解决的怎么样了?我现在也在做毕设,也遇到了这种情况。很无助的感觉。所以希望你能给我以指导,我的qq:2268891847。多谢了

steelsoldier 发表于 2013-3-4 16:14:01
多谢楼主,学习了

txrtiandi 发表于 2013-8-1 21:06:51
定一下顶一下

scls_1992 发表于 2013-11-19 00:01:47
谢谢分享

nerd2017 发表于 2016-4-28 07:49:10
我也顶一下

mick 发表于 2016-4-29 14:47:15
有加Powergui吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表