📄 pv_boost_dcac_averaged.mdl
字号:
BlockType Product
Name "Product2"
Ports [2, 1]
Position [745, 277, 775, 308]
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Product
Name "Product3"
Ports [2, 1]
Position [760, 87, 790, 118]
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Gain
Name "RL"
Position [270, 68, 335, 102]
Gain "RL"
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Sin
Name "Sine Wave"
Ports [0, 1]
Position [80, 15, 110, 45]
SineType "Time based"
Amplitude "1*sqrt(2)"
Frequency "2*pi*f"
SampleTime "0"
}
Block {
BlockType Sum
Name "Sum1"
Ports [2, 1]
Position [360, 75, 380, 95]
ShowName off
IconShape "round"
Inputs "++|"
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
Port {
PortNumber 1
Name "vac+RLiac"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType Sum
Name "Sum2"
Ports [2, 1]
Position [685, 160, 705, 180]
ShowName off
IconShape "round"
Inputs "++|"
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Gain
Name "Vrms"
Position [190, 13, 255, 47]
Gain "Vrms"
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
Port {
PortNumber 1
Name "vac"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType Outport
Name "vac"
Position [820, 23, 850, 37]
IconDisplay "Port number"
BusOutputAsStruct off
}
Block {
BlockType Outport
Name "iac"
Position [820, 243, 850, 257]
Port "2"
IconDisplay "Port number"
BusOutputAsStruct off
}
Block {
BlockType Outport
Name "iin"
Position [820, 163, 850, 177]
Port "3"
IconDisplay "Port number"
BusOutputAsStruct off
}
Block {
BlockType Outport
Name "D"
Position [820, 53, 850, 67]
Port "4"
IconDisplay "Port number"
BusOutputAsStruct off
}
Block {
BlockType Outport
Name "pin"
Position [820, 288, 850, 302]
Port "5"
IconDisplay "Port number"
BusOutputAsStruct off
}
Block {
BlockType Outport
Name "pout"
Position [820, 98, 850, 112]
Port "6"
IconDisplay "Port number"
BusOutputAsStruct off
}
Line {
SrcBlock "Sine Wave"
SrcPort 1
Points [25, 0]
Branch {
DstBlock "Vrms"
DstPort 1
}
Branch {
Points [0, 210]
DstBlock "Product"
DstPort 1
}
}
Line {
Name "vac"
Labels [0, 0; 1, 0]
SrcBlock "Vrms"
SrcPort 1
Points [110, 0]
Branch {
DstBlock "Sum1"
DstPort 1
}
Branch {
Points [365, 0]
Branch {
DstBlock "vac"
DstPort 1
}
Branch {
Points [0, 65]
DstBlock "Product3"
DstPort 1
}
}
}
Line {
Name "iref"
Labels [0, 0]
SrcBlock "Product"
SrcPort 1
Points [25, 0]
Branch {
Points [0, -165]
DstBlock "RL"
DstPort 1
}
Branch {
Points [320, 0]
Branch {
Points [0, -75]
DstBlock "Product1"
DstPort 2
}
Branch {
Points [190, 0]
Branch {
DstBlock "iac"
DstPort 1
}
Branch {
DstBlock "Product3"
DstPort 2
}
}
}
}
Line {
SrcBlock "Iref"
SrcPort 1
DstBlock "Product"
DstPort 2
}
Line {
SrcBlock "RL"
SrcPort 1
DstBlock "Sum1"
DstPort 2
}
Line {
Name "vac+RLiac"
Labels [0, 0]
SrcBlock "Sum1"
SrcPort 1
DstBlock "Divide"
DstPort 1
}
Line {
SrcBlock "Vdc"
SrcPort 1
Points [395, 0]
Branch {
Points [0, -25]
DstBlock "Divide"
DstPort 2
}
Branch {
Points [0, 175]
DstBlock "Product2"
DstPort 2
}
}
Line {
Name "2D-1"
SrcBlock "Divide"
SrcPort 1
Points [45, 0]
Branch {
Labels [1, 0]
Points [0, 65]
DstBlock "Product1"
DstPort 1
}
Branch {
Points [0, -35]
DstBlock "Fcn"
DstPort 1
}
}
Line {
SrcBlock "Product1"
SrcPort 1
DstBlock "Sum2"
DstPort 2
}
Line {
SrcBlock "Constant"
SrcPort 1
Points [40, 0]
DstBlock "Sum2"
DstPort 1
}
Line {
SrcBlock "Sum2"
SrcPort 1
Points [15, 0]
Branch {
Points [0, 115]
DstBlock "Product2"
DstPort 1
}
Branch {
DstBlock "iin"
DstPort 1
}
}
Line {
SrcBlock "Fcn"
SrcPort 1
DstBlock "D"
DstPort 1
}
Line {
SrcBlock "Product2"
SrcPort 1
DstBlock "pin"
DstPort 1
}
Line {
SrcBlock "Product3"
SrcPort 1
DstBlock "pout"
DstPort 1
}
Annotation {
Name "output AC current"
Position [815, 224]
UseDisplayTextAsClickCallback off
}
Annotation {
Name "Input DC voltage"
Position [58, 162]
UseDisplayTextAsClickCallback off
}
Annotation {
Name "RMS current reference"
Position [75, 291]
UseDisplayTextAsClickCallback off
}
Annotation {
Name "input current"
Position [818, 145]
UseDisplayTextAsClickCallback off
}
}
}
Block {
BlockType Constant
Name "Insolation"
Position [15, 65, 45, 95]
BackgroundColor "yellow"
Value "1000"
VectorParams1D on
SamplingMode "Sample based"
OutDataTypeMode "Inherit from 'Constant value'"
OutDataType "sfix(16)"
ConRadixGroup "Use specified scaling"
OutScaling "2^0"
SampleTime "inf"
FramePeriod "inf"
}
Block {
BlockType Integrator
Name "Integrator(pin)"
Ports [1, 1]
Position [560, 460, 590, 490]
IgnoreLimit off
}
Block {
BlockType Integrator
Name "Integrator(pout)"
Ports [1, 1]
Position [560, 355, 590, 385]
IgnoreLimit off
}
Block {
BlockType Constant
Name "Iref"
Position [695, 240, 725, 270]
Orientation "left"
BackgroundColor "yellow"
Value "3.94"
VectorParams1D on
SamplingMode "Sample based"
OutDataTypeMode "Inherit from 'Constant value'"
OutDataType "sfix(16)"
ConRadixGroup "Use specified scaling"
OutScaling "2^0"
SampleTime "inf"
FramePeriod "inf"
}
Block {
BlockType Mux
Name "Mux"
Ports [2, 1]
Position [850, 161, 855, 214]
ShowName off
Inputs "2"
DisplayOption "bar"
Port {
PortNumber 1
Name "pin, pout"
PropagatedSignals "pin, pout"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType Constant
Name "PV current"
Position [320, 190, 350, 220]
BackgroundColor "yellow"
Value "4.95"
VectorParams1D on
SamplingMode "Sample based"
OutDataTypeMode "Inherit from 'Constant value'"
OutDataType "sfix(16)"
ConRadixGroup "Use specified scaling"
OutScaling "2^0"
SampleTime "inf"
FramePeriod "inf"
Port {
PortNumber 1
Name "Ipv = Iref"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType SubSystem
Name "PV1"
Ports [2, 2]
Position [95, 42, 205, 93]
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
FunctionWithSeparateData off
MaskHideContents off
MaskDescription "PV module model based on module data-sheet para"
"meters. This model has Ipv input, which is suitable for series connections. L"
"imitations: no temperature dependance, static model"
MaskPromptString "Short-circuit current|Open-circuit voltage|Curr"
"ent at Pmax|Voltage at Pmax|By-pass diode?"
MaskStyleString "edit,edit,edit,edit,checkbox"
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"
MaskVarAliasString ",,,,"
MaskVariables "Isc=@1;Voc=@2;Ir=@3;Vr=@4;Diode=@5;"
MaskInitialization "% calculation of PV module parameters\n% limita"
"tion: constant temperature\nNs = round(Voc/0.61); % default number of cells i"
"n series\nVt = 26e-3; % thermal voltage\nG = Isc/1000; % irradiation to short"
"-circuit current gain\nVmpc = Vr/Ns; % cell voltage at rated Pmax\nVocc = Voc"
"/Ns; % cell open-circuit voltage\nRmpp = Vmpc/Ir; % cell load resistance at P"
"max\n%\nRp = 100*Vocc/Isc; % initial value for Rp\nVdm = Vocc; % initial valu"
"e for Vdm\n%\n% iterative solution for model parameters: Io, Rs, Rp\nfor i=1:"
"10\n%\n Idm = Isc - Ir - Vdm/Rp; % pn-junction (diode) current at MPP\n Io = "
"(Isc-Vocc/Rp)/(exp(Vocc/Vt)-1); % pn-junction reverse saturation current\n Vd"
"m = Vt*log(Idm/Io+1); % pn-junction (diode) voltage at MPP\n Rs = (Vdm-Vmpc)/"
"Ir; % cell series resistance\n Rd = (Rmpp - Rs)*Rp/(Rp-Rmpp+Rs); % diode incr"
"emental resistance at MPP\n Idm = Vt/Rd; % diode current at MPP based on incr"
"emental resistance\n Rp = Vdm/(Isc-Ir-Idm); % cell parallel resistance\n%\nen"
"d\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]);"
"\nplot([0.375 0.675],[0.7 0.7]);\nplot([0.4 0.7],[0.8 0.8]);\ntext(0.5,0.9,'P"
"V module (I)','horizontalAlignment', 'center');\n"
MaskIconFrame on
MaskIconOpaque off
MaskIconRotate "none"
MaskIconUnits "normalized"
MaskValueString "5.45|22.2|4.95|17.2|on"
MaskTabNameString ",,,,"
System {
Name "PV1"
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 = Iref"
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]
Orientation "left"
Gain "1/Rp"
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
Port {
PortNumber 1
Name "Vd/Rp"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -