📄 pv_boost_mpp_iref.mdl.autosave
字号:
}
}
Block {
BlockType Display
Name "Boost efficiency"
Ports [1]
Position [825, 84, 910, 116]
Decimation "1"
Lockdown off
}
Block {
BlockType Product
Name "Compute\nPpv"
Ports [2, 1]
Position [405, 282, 435, 313]
InputSameDT off
OutDataTypeStr "Inherit: Inherit via internal rule"
SaturateOnIntegerOverflow off
Port {
PortNumber 1
Name "Ppv"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType Gain
Name "Convert to\nkWh"
Position [430, 660, 470, 700]
Gain "1/60/1000"
ParamDataTypeStr "Inherit: Inherit via internal rule"
OutDataTypeStr "Inherit: Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Display
Name "Eideal"
Ports [1]
Position [485, 665, 570, 695]
BackgroundColor "green"
Decimation "1"
Lockdown off
}
Block {
BlockType Display
Name "Eout"
Ports [1]
Position [815, 670, 900, 700]
BackgroundColor "green"
Decimation "1"
Lockdown off
}
Block {
BlockType Display
Name "Epv"
Ports [1]
Position [540, 505, 625, 535]
BackgroundColor "green"
Decimation "1"
Lockdown off
}
Block {
BlockType Integrator
Name "Integrate \nPideal"
Ports [1, 1]
Position [380, 665, 410, 695]
}
Block {
BlockType Integrator
Name "Integrate \nPout"
Ports [1, 1]
Position [690, 670, 720, 700]
NamePlacement "alternate"
}
Block {
BlockType Integrator
Name "Integrate \nPpv"
Ports [1, 1]
Position [435, 505, 465, 535]
}
Block {
BlockType Display
Name "Ipv"
Ports [1]
Position [420, 100, 510, 130]
Decimation "1"
Lockdown off
}
Block {
BlockType Gain
Name "Ipv = Iref"
Position [245, 566, 285, 604]
BlockMirror on
ParamDataTypeStr "Inherit: Inherit via internal rule"
OutDataTypeStr "Inherit: Inherit via internal rule"
SaturateOnIntegerOverflow off
Port {
PortNumber 1
Name "Ipv"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType Constant
Name "Iref\n(constant)"
Position [500, 345, 530, 375]
Value "4"
}
Block {
BlockType SubSystem
Name "MPP tracking\ncontroller\nMPPtrackIref.m"
Ports [1, 1]
Position [475, 278, 555, 322]
BackgroundColor "yellow"
NamePlacement "alternate"
MinAlgLoopOccurrences off
PropExecContextOutsideSubsystem off
RTWSystemCode "Auto"
FunctionWithSeparateData off
Opaque off
RequestExecContextInheritance off
MaskHideContents off
MaskPromptString "Sample interval"
MaskStyleString "edit"
MaskVariables "Tsample=@1;"
MaskTunableValueString "on"
MaskEnableString "on"
MaskVisibilityString "on"
MaskToolTipString "on"
MaskInitialization "InitializeMPPtrackIref"
MaskDisplay "text(0.5,0.5,'MPPT','horizontalAlignment', 'center');"
MaskIconFrame on
MaskIconOpaque off
MaskIconRotate "none"
MaskPortRotate "default"
MaskIconUnits "normalized"
MaskValueString "0.2"
Port {
PortNumber 1
Name "Iref1"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
System {
Name "MPP tracking\ncontroller\nMPPtrackIref.m"
Location [542, 416, 1144, 643]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000]
TiledPageScale 1
ShowPageBoundaries off
ZoomFactor "100"
Block {
BlockType Inport
Name "P"
Position [60, 103, 90, 117]
IconDisplay "Port number"
}
Block {
BlockType TransportDelay
Name "Delay"
Ports [1, 1]
Position [400, 95, 430, 125]
DelayTime "Tsample/2"
}
Block {
BlockType MATLABFcn
Name "MPP tracking\nalgorithm\n(MPPtrackIref.m)"
Ports [1, 1]
Position [270, 95, 330, 125]
MATLABFcn "MPPtrackIref"
}
Block {
BlockType ZeroOrderHold
Name "Measure (sample)\nPower"
Position [160, 95, 195, 125]
SampleTime "Tsample"
}
Block {
BlockType Outport
Name "Iref"
Position [490, 103, 520, 117]
IconDisplay "Port number"
}
Line {
SrcBlock "P"
SrcPort 1
DstBlock "Measure (sample)\nPower"
DstPort 1
}
Line {
SrcBlock "Measure (sample)\nPower"
SrcPort 1
DstBlock "MPP tracking\nalgorithm\n(MPPtrackIref.m)"
DstPort 1
}
Line {
SrcBlock "MPP tracking\nalgorithm\n(MPPtrackIref.m)"
SrcPort 1
DstBlock "Delay"
DstPort 1
}
Line {
SrcBlock "Delay"
SrcPort 1
DstBlock "Iref"
DstPort 1
}
Annotation {
Name "ECEN 2060 MPP Tracking controller"
Position [332, 48]
}
}
}
Block {
BlockType Mux
Name "Mux"
Ports [3, 1]
Position [750, 581, 755, 619]
ShowName off
Inputs "3"
DisplayOption "bar"
Port {
PortNumber 1
Name "Pout, Ppv, Pideal"
PropagatedSignals "Pout, Ppv, Ppv\nideal"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType Scope
Name "PV MPP\nscope"
Ports [5]
Position [855, 151, 885, 309]
Floating off
Location [191, 351, 994, 993]
Open off
NumInputPorts "5"
ZoomMode "yonly"
List {
ListType AxesTitles
axes1 "%<SignalLabel>"
axes2 "%<SignalLabel>"
axes3 "%<SignalLabel>"
axes4 "%<SignalLabel>"
axes5 "%<SignalLabel>"
}
TimeRange "500"
YMin "0~0.4~-50~0~-500"
YMax "1~1~150~6~1000"
SaveName "ScopeData1"
DataFormat "StructureWithTime"
LimitDataPoints off
SampleTime "0"
}
Block {
BlockType SubSystem
Name "PV1"
Ports [2, 2]
Position [175, 52, 285, 103]
MinAlgLoopOccurrences off
PropExecContextOutsideSubsystem off
RTWSystemCode "Auto"
FunctionWithSeparateData off
Opaque off
RequestExecContextInheritance off
MaskHideContents off
MaskDescription "PV module model based on module data-sheet parameters. This model has Ipv input, which is"
" suitable for series connections. Limitations: no temperature dependance, static model"
MaskPromptString "Short-circuit current|Open-circuit voltage|Current at Pmax|Voltage at Pmax|By-pass diode?"
MaskStyleString "edit,edit,edit,edit,checkbox"
MaskVariables "Isc=@1;Voc=@2;Ir=@3;Vr=@4;Diode=@5;"
MaskTunableValueString "on,on,on,on,on"
MaskCallbackString "||||"
MaskEnableString "on,on,on,on,on"
MaskVisibilityString "on,on,on,on,on"
MaskToolTipString "on,on,on,on,on"
MaskInitialization "% calculation of PV module parameters\n% limitation: constant temperature\nNs = round(V"
"oc/0.61); % default number of cells in series\nVt = 26e-3; % thermal voltage\nG = Isc/1000; % irradiation to sho"
"rt-circuit current gain\nVmpc = Vr/Ns; % cell voltage at rated Pmax\nVocc = Voc/Ns; % cell open-circuit voltage\n"
"Rmpp = Vmpc/Ir; % cell load resistance at Pmax\n%\nRp = 100*Vocc/Isc; % initial value for Rp\nVdm = Vocc; % init"
"ial value for Vdm\n%\n% iterative solution for model parameters: Io, Rs, Rp\nfor i=1:10\n%\n Idm = Isc - Ir - Vd"
"m/Rp; % pn-junction (diode) current at MPP\n Io = (Isc-Vocc/Rp)/(exp(Vocc/Vt)-1); % pn-junction reverse saturati"
"on current\n Vdm = Vt*log(Idm/Io+1); % pn-junction (diode) voltage at MPP\n Rs = (Vdm-Vmpc)/Ir; % cell series re"
"sistance\n Rd = (Rmpp - Rs)*Rp/(Rp-Rmpp+Rs); % diode incremental resistance at MPP\n Idm = Vt/Rd; % diode curren"
"t at MPP based on incremental resistance\n Rp = Vdm/(Isc-Ir-Idm); % cell parallel resistance\n%\nend\n%"
MaskDisplay "plot([0.3 0.4],[0.4 0.8]);\nplot([0.4 0.5],[0.4 0.8]);\nplot([0.5 0.6],[0.4 0.8]);\nplot([0.6"
" 0.7],[0.4 0.8]);\nplot([0.3 0.6],[0.4 0.4]);\nplot([0.325 0.625],[0.5 0.5]);\nplot([0.35 0.65],[0.6 0.6]);\nplo"
"t([0.375 0.675],[0.7 0.7]);\nplot([0.4 0.7],[0.8 0.8]);\ntext(0.5,0.9,'PV module (I)','horizontalAlignment', 'ce"
"nter');\n"
MaskIconFrame on
MaskIconOpaque off
MaskIconRotate "none"
MaskPortRotate "default"
MaskIconUnits "normalized"
MaskValueString "5.45|22.2|4.95|17.2|on"
System {
Name "PV1"
Location [332, 390, 1368, 851]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000]
TiledPageScale 1
ShowPageBoundaries off
ZoomFactor "100"
Block {
BlockType Inport
Name "Ipv"
Position [25, 168, 55, 182]
IconDisplay "Port number"
Port {
PortNumber 1
Name "Ipv"
PropagatedSignals "Ipv"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType Inport
Name "Insolation"
Position [25, 273, 55, 287]
Port "2"
IconDisplay "Port number"
}
Block {
BlockType Gain
Name "1/Rp"
Position [445, 390, 490, 420]
BlockMirror on
Gain "1/Rp"
ParamDataTypeStr "Inherit: Inherit via internal rule"
OutDataTypeStr "Inherit: Inherit via internal rule"
SaturateOnIntegerOverflow off
Port {
PortNumber 1
Name "Vd/Rp"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType Reference
Name "Algebraic Constraint"
Ports [1, 1]
Position [410, 265, 490, 295]
LibraryVersion "1.225"
SourceBlock "simulink/Math\nOperations/Algebraic Constraint"
SourceType "Algebraic Constraint"
ShowPortLabels "FromPortIcon"
SystemSampleTime "-1"
FunctionWithSeparateData off
RTWMemSecFuncInitTerm "Inherit from model"
RTWMemSecFuncExecute "Inherit from model"
RTWMemSecDataConstants "Inherit from model"
RTWMemSecDataInternal "Inherit from model"
RTWMemSecDataParameters "Inherit from model"
GeneratePreprocessorConditionals off
z0 "0"
Port {
PortNumber 1
Name "Vd"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType Fcn
Name "By-pass diode"
Position [420, 67, 550, 103]
Expr "-Vt*log((u/Io)+1)"
}
Block {
BlockType Constant
Name "Constant"
Position [745, 190, 775, 220]
Value "Diode"
}
Block {
BlockType Gain
Name "Insolation to \ncurrent gain"
Position [115, 264, 160, 296]
Gain "G"
ParamDataTypeStr "Inherit: Inherit via internal rule"
OutDataTypeStr "Inherit: Inherit via internal rule"
SaturateOnIntegerOverflow off
Port {
PortNumber 1
Name "Iph"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType MinMax
Name "MinMax"
Ports [2, 1]
Position [750, 77, 780, 108]
Function "max"
Inputs "2"
InputSameDT off
SaturateOnIntegerOverflow off
}
Block {
BlockType Gain
Name "Ns"
Position [655, 262, 695, 298]
Gain "Ns"
ParamDataTypeStr "Inherit: Inherit via internal rule"
OutDataTypeStr "Inherit: Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Fcn
Name "PN-junction characteristic"
Position [430, 334, 510, 366]
BlockMirror on
Expr "Io*(exp(u/Vt)-1)"
Port {
PortNumber 1
Name "Id"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType Product
Name "Product"
Ports [2, 1]
Position [905, 152, 935, 183]
InputSameDT off
OutDataTypeStr "Inherit: Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Gain
Name "Rs"
Position [420, 160, 460, 190]
NamePlacement "alternate"
Gain "Rs"
ParamDataTypeStr "Inherit: Inherit via internal rule"
OutDataTypeStr "Inherit: Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Saturate
Name "Saturation"
Ports [1, 1]
Position [290, 35, 320, 65]
InputPortMap "u0"
UpperLimit "inf"
LowerLimit "0"
}
Block {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -