📄 pv_boost_mpp_iref.mdl.autosave
字号:
BlockType Sum
Name "Sum1"
Ports [2, 1]
Position [575, 270, 595, 290]
ShowName off
IconShape "round"
Inputs "-+|"
InputSameDT off
OutDataTypeStr "Inherit: Inherit via internal rule"
SaturateOnIntegerOverflow off
Port {
PortNumber 1
Name "Vpvcell"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType Sum
Name "Sum2"
Ports [2, 1]
Position [325, 340, 345, 360]
BlockMirror on
ShowName off
IconShape "round"
Inputs "|++"
InputSameDT off
OutDataTypeStr "Inherit: Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Sum
Name "Sum3"
Ports [2, 1]
Position [225, 270, 245, 290]
ShowName off
IconShape "round"
Inputs "-+|"
InputSameDT off
OutDataTypeStr "Inherit: Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Sum
Name "Sum4"
Ports [2, 1]
Position [285, 270, 305, 290]
ShowName off
IconShape "round"
Inputs "|+-"
InputSameDT off
OutDataTypeStr "Inherit: Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Switch
Name "Switch"
Position [840, 255, 870, 285]
Criteria "u2 > Threshold"
InputSameDT off
SaturateOnIntegerOverflow off
}
Block {
BlockType Outport
Name "Vpv"
Position [980, 263, 1010, 277]
IconDisplay "Port number"
}
Block {
BlockType Outport
Name "Ppv"
Position [980, 163, 1010, 177]
Port "2"
IconDisplay "Port number"
}
Line {
SrcBlock "Insolation"
SrcPort 1
DstBlock "Insolation to \ncurrent gain"
DstPort 1
}
Line {
Name "Iph"
Labels [1, 0]
SrcBlock "Insolation to \ncurrent gain"
SrcPort 1
DstBlock "Sum3"
DstPort 2
}
Line {
Name "Ipv"
Labels [0, 0]
SrcBlock "Ipv"
SrcPort 1
Points [30, 0]
Branch {
Points [0, -125]
DstBlock "Saturation"
DstPort 1
}
Branch {
Points [145, 0]
Branch {
Labels [1, 0]
DstBlock "Sum3"
DstPort 1
}
Branch {
DstBlock "Rs"
DstPort 1
}
}
}
Line {
SrcBlock "Product"
SrcPort 1
DstBlock "Ppv"
DstPort 1
}
Line {
SrcBlock "Sum4"
SrcPort 1
DstBlock "Algebraic Constraint"
DstPort 1
}
Line {
Name "Vd"
Labels [0, 0]
SrcBlock "Algebraic Constraint"
SrcPort 1
Points [50, 0]
Branch {
DstBlock "Sum1"
DstPort 2
}
Branch {
Points [0, 70]
Branch {
Points [0, 55]
DstBlock "1/Rp"
DstPort 1
}
Branch {
DstBlock "PN-junction characteristic"
DstPort 1
}
}
}
Line {
Name "Vpvcell"
Labels [0, 0]
SrcBlock "Sum1"
SrcPort 1
DstBlock "Ns"
DstPort 1
}
Line {
SrcBlock "Rs"
SrcPort 1
Points [120, 0]
DstBlock "Sum1"
DstPort 1
}
Line {
SrcBlock "By-pass diode"
SrcPort 1
DstBlock "MinMax"
DstPort 1
}
Line {
SrcBlock "Ns"
SrcPort 1
Points [20, 0]
Branch {
Points [0, -180]
DstBlock "MinMax"
DstPort 2
}
Branch {
DstBlock "Switch"
DstPort 3
}
}
Line {
SrcBlock "MinMax"
SrcPort 1
Points [30, 0; 0, 165]
DstBlock "Switch"
DstPort 1
}
Line {
SrcBlock "Constant"
SrcPort 1
Points [10, 0; 0, 65]
DstBlock "Switch"
DstPort 2
}
Line {
SrcBlock "Switch"
SrcPort 1
Points [15, 0]
Branch {
DstBlock "Vpv"
DstPort 1
}
Branch {
DstBlock "Product"
DstPort 2
}
}
Line {
SrcBlock "Saturation"
SrcPort 1
Points [55, 0]
Branch {
Points [500, 0; 0, 110]
DstBlock "Product"
DstPort 1
}
Branch {
Points [0, 35]
DstBlock "By-pass diode"
DstPort 1
}
}
Line {
SrcBlock "Sum3"
SrcPort 1
DstBlock "Sum4"
DstPort 1
}
Line {
SrcBlock "Sum2"
SrcPort 1
Points [-25, 0]
DstBlock "Sum4"
DstPort 2
}
Line {
Name "Id"
Labels [0, 0]
SrcBlock "PN-junction characteristic"
SrcPort 1
DstBlock "Sum2"
DstPort 1
}
Line {
Name "Vd/Rp"
Labels [0, 0]
SrcBlock "1/Rp"
SrcPort 1
Points [-105, 0]
DstBlock "Sum2"
DstPort 2
}
}
}
Block {
BlockType SubSystem
Name "PV2"
Ports [2, 2]
Position [175, 142, 285, 193]
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 "PV2"
Location [164, 268, 1200, 729]
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 {
BlockType Sum
Name "Sum1"
Ports [2, 1]
Position [575, 270, 595, 290]
ShowName off
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -