pv_boost_mpp_Iref.mdl
上传用户:liuztt
上传日期:2019-06-09
资源大小:15k
文件大小:143k
- 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 "PV3"
- Ports [2, 2]
- Position [175, 232, 285, 283]
- 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"
- 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 parametersn% limitation: constant temperaturenNs = round(Voc/0.61); % default number of cells in seriesnVt = 26e-3; % thermal voltagenG = Isc/1000; % irradiation to short-circuit current gainnVmpc = Vr/Ns; % cell voltage at rated PmaxnVocc = Voc/Ns; % cell open-circuit voltagenRmpp = Vmpc/Ir; % cell load resistance at Pmaxn%nRp = 100*Vocc/Isc; % initial value for RpnVdm = Vocc; % initial value for Vdmn%n% iterative solution for model parameters: Io, Rs, Rpnfor i=1:10n%n Idm = Isc - Ir - Vdm/Rp; % pn-junction (diode) current at MPPn Io = (Isc-Vocc/Rp)/(exp(Vocc/Vt)-1); % pn-junction reverse saturation currentn Vdm = Vt*log(Idm/Io+1); % pn-junction (diode) voltage at MPPn Rs = (Vdm-Vmpc)/Ir; % cell series resistancen Rd = (Rmpp - Rs)*Rp/(Rp-Rmpp+Rs); % diode incremental resistance at MPPn Idm = Vt/Rd; % diode current at MPP based on incremental resistancen Rp = Vdm/(Isc-Ir-Idm); % cell parallel resistancen%nendn%"
- 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,'PV 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 "PV3"
- 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"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- 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"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- }
- Block {
- BlockType Gain
- Name "1/Rp"
- Position [445, 390, 490, 420]
- Orientation "left"
- Gain "1/Rp"
- ParameterDataTypeMode "Inherit via internal rule"
- ParameterDataType "sfix(16)"
- ParameterScaling "2^0"
- ParamDataTypeStr "Inherit: Inherit via internal rule"
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- 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]
- SourceBlock "simulink/MathnOperations/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"
- 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"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- }
- Block {
- BlockType Gain
- Name "Insolation to ncurrent gain"
- Position [115, 264, 160, 296]
- Gain "G"
- ParameterDataTypeMode "Inherit via internal rule"
- ParameterDataType "sfix(16)"
- ParameterScaling "2^0"
- ParamDataTypeStr "Inherit: Inherit via internal rule"
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- 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
- OutDataType "sfix(16)"
- OutScaling "2^0"
- SaturateOnIntegerOverflow off
- }
- Block {
- BlockType Gain
- Name "Ns"
- Position [655, 262, 695, 298]
- Gain "Ns"
- ParameterDataTypeMode "Inherit via internal rule"
- ParameterDataType "sfix(16)"
- ParameterScaling "2^0"
- ParamDataTypeStr "Inherit: Inherit via internal rule"
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- OutDataTypeStr "Inherit: Inherit via internal rule"
- SaturateOnIntegerOverflow off
- }
- Block {
- BlockType Fcn
- Name "PN-junction characteristic"
- Position [430, 334, 510, 366]
- Orientation "left"
- 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
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- OutDataTypeStr "Inherit: Inherit via internal rule"
- SaturateOnIntegerOverflow off
- }
- Block {
- BlockType Gain
- Name "Rs"
- Position [420, 160, 460, 190]
- NamePlacement "alternate"
- Gain "Rs"
- ParameterDataTypeMode "Inherit via internal rule"
- ParameterDataType "sfix(16)"
- ParameterScaling "2^0"
- ParamDataTypeStr "Inherit: Inherit via internal rule"
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- OutDataTypeStr "Inherit: Inherit via internal rule"
- SaturateOnIntegerOverflow off
- }
- Block {
- BlockType Saturate
- Name "Saturation"
- Position [290, 35, 320, 65]
- UpperLimit "inf"
- LowerLimit "0"
- }
- Block {
- BlockType Sum
- Name "Sum1"
- Ports [2, 1]
- Position [575, 270, 595, 290]
- ShowName off
- IconShape "round"
- Inputs "-+|"
- InputSameDT off
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- 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]
- Orientation "left"
- ShowName off
- IconShape "round"
- Inputs "|++"
- InputSameDT off
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- 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
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- 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
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- 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"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- }
- Block {
- BlockType Outport
- Name "Ppv"
- Position [980, 163, 1010, 177]
- Port "2"
- IconDisplay "Port number"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- }
- 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 "PV4"
- Ports [2, 2]
- Position [175, 322, 285, 373]
- 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"
- 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 parametersn% limitation: constant temperaturenNs = round(Voc/0.61); % default number of cells in seriesnVt = 26e-3; % thermal voltagenG = Isc/1000; % irradiation to short-circuit current gainnVmpc = Vr/Ns; % cell voltage at rated PmaxnVocc = Voc/Ns; % cell open-circuit voltagenRmpp = Vmpc/Ir; % cell load resistance at Pmaxn%nRp = 100*Vocc/Isc; % initial value for RpnVdm = Vocc; % initial value for Vdmn%n% iterative solution for model parameters: Io, Rs, Rpnfor i=1:10n%n Idm = Isc - Ir - Vdm/Rp; % pn-junction (diode) current at MPPn Io = (Isc-Vocc/Rp)/(exp(Vocc/Vt)-1); % pn-junction reverse saturation currentn Vdm = Vt*log(Idm/Io+1); % pn-junction (diode) voltage at MPPn Rs = (Vdm-Vmpc)/Ir; % cell series resistancen Rd = (Rmpp - Rs)*Rp/(Rp-Rmpp+Rs); % diode incremental resistance at MPPn Idm = Vt/Rd; % diode current at MPP based on incremental resistancen Rp = Vdm/(Isc-Ir-Idm); % cell parallel resistancen%nendn%"
- 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,'PV 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 "PV4"
- 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"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- 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"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- }
- Block {
- BlockType Gain
- Name "1/Rp"
- Position [445, 390, 490, 420]
- Orientation "left"
- Gain "1/Rp"
- ParameterDataTypeMode "Inherit via internal rule"
- ParameterDataType "sfix(16)"
- ParameterScaling "2^0"
- ParamDataTypeStr "Inherit: Inherit via internal rule"
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- 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]
- SourceBlock "simulink/MathnOperations/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"
- 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"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- }
- Block {
- BlockType Gain
- Name "Insolation to ncurrent gain"
- Position [115, 264, 160, 296]
- Gain "G"
- ParameterDataTypeMode "Inherit via internal rule"
- ParameterDataType "sfix(16)"
- ParameterScaling "2^0"
- ParamDataTypeStr "Inherit: Inherit via internal rule"
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- 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
- OutDataType "sfix(16)"
- OutScaling "2^0"
- SaturateOnIntegerOverflow off
- }
- Block {
- BlockType Gain
- Name "Ns"
- Position [655, 262, 695, 298]
- Gain "Ns"
- ParameterDataTypeMode "Inherit via internal rule"
- ParameterDataType "sfix(16)"
- ParameterScaling "2^0"
- ParamDataTypeStr "Inherit: Inherit via internal rule"
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- OutDataTypeStr "Inherit: Inherit via internal rule"
- SaturateOnIntegerOverflow off
- }
- Block {
- BlockType Fcn
- Name "PN-junction characteristic"
- Position [430, 334, 510, 366]
- Orientation "left"
- 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
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- OutDataTypeStr "Inherit: Inherit via internal rule"
- SaturateOnIntegerOverflow off
- }
- Block {
- BlockType Gain
- Name "Rs"
- Position [420, 160, 460, 190]
- NamePlacement "alternate"
- Gain "Rs"
- ParameterDataTypeMode "Inherit via internal rule"
- ParameterDataType "sfix(16)"
- ParameterScaling "2^0"
- ParamDataTypeStr "Inherit: Inherit via internal rule"
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- OutDataTypeStr "Inherit: Inherit via internal rule"
- SaturateOnIntegerOverflow off
- }
- Block {
- BlockType Saturate
- Name "Saturation"
- Position [290, 35, 320, 65]
- UpperLimit "inf"
- LowerLimit "0"
- }
- Block {
- BlockType Sum
- Name "Sum1"
- Ports [2, 1]
- Position [575, 270, 595, 290]
- ShowName off
- IconShape "round"
- Inputs "-+|"
- InputSameDT off
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- 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]
- Orientation "left"
- ShowName off
- IconShape "round"
- Inputs "|++"
- InputSameDT off
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- 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
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- 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
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- 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"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- }
- Block {
- BlockType Outport
- Name "Ppv"
- Position [980, 163, 1010, 177]
- Port "2"
- IconDisplay "Port number"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- }
- 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 "PV5"
- Ports [2, 2]
- Position [175, 412, 285, 463]
- 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"
- 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 parametersn% limitation: constant temperaturenNs = round(Voc/0.61); % default number of cells in seriesnVt = 26e-3; % thermal voltagenG = Isc/1000; % irradiation to short-circuit current gainnVmpc = Vr/Ns; % cell voltage at rated PmaxnVocc = Voc/Ns; % cell open-circuit voltagenRmpp = Vmpc/Ir; % cell load resistance at Pmaxn%nRp = 100*Vocc/Isc; % initial value for RpnVdm = Vocc; % initial value for Vdmn%n% iterative solution for model parameters: Io, Rs, Rpnfor i=1:10n%n Idm = Isc - Ir - Vdm/Rp; % pn-junction (diode) current at MPPn Io = (Isc-Vocc/Rp)/(exp(Vocc/Vt)-1); % pn-junction reverse saturation currentn Vdm = Vt*log(Idm/Io+1); % pn-junction (diode) voltage at MPPn Rs = (Vdm-Vmpc)/Ir; % cell series resistancen Rd = (Rmpp - Rs)*Rp/(Rp-Rmpp+Rs); % diode incremental resistance at MPPn Idm = Vt/Rd; % diode current at MPP based on incremental resistancen Rp = Vdm/(Isc-Ir-Idm); % cell parallel resistancen%nendn%"
- 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,'PV 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 "PV5"
- 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"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- 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"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- }
- Block {
- BlockType Gain
- Name "1/Rp"
- Position [445, 390, 490, 420]
- Orientation "left"
- Gain "1/Rp"
- ParameterDataTypeMode "Inherit via internal rule"
- ParameterDataType "sfix(16)"
- ParameterScaling "2^0"
- ParamDataTypeStr "Inherit: Inherit via internal rule"
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- 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]
- SourceBlock "simulink/MathnOperations/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"
- 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"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- }
- Block {
- BlockType Gain
- Name "Insolation to ncurrent gain"
- Position [115, 264, 160, 296]
- Gain "G"
- ParameterDataTypeMode "Inherit via internal rule"
- ParameterDataType "sfix(16)"
- ParameterScaling "2^0"
- ParamDataTypeStr "Inherit: Inherit via internal rule"
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- 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
- OutDataType "sfix(16)"
- OutScaling "2^0"
- SaturateOnIntegerOverflow off
- }
- Block {
- BlockType Gain
- Name "Ns"
- Position [655, 262, 695, 298]
- Gain "Ns"
- ParameterDataTypeMode "Inherit via internal rule"
- ParameterDataType "sfix(16)"
- ParameterScaling "2^0"
- ParamDataTypeStr "Inherit: Inherit via internal rule"
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- OutDataTypeStr "Inherit: Inherit via internal rule"
- SaturateOnIntegerOverflow off
- }
- Block {
- BlockType Fcn
- Name "PN-junction characteristic"
- Position [430, 334, 510, 366]
- Orientation "left"
- 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
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- OutDataTypeStr "Inherit: Inherit via internal rule"
- SaturateOnIntegerOverflow off
- }
- Block {
- BlockType Gain
- Name "Rs"
- Position [420, 160, 460, 190]
- NamePlacement "alternate"
- Gain "Rs"
- ParameterDataTypeMode "Inherit via internal rule"
- ParameterDataType "sfix(16)"
- ParameterScaling "2^0"
- ParamDataTypeStr "Inherit: Inherit via internal rule"
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- OutDataTypeStr "Inherit: Inherit via internal rule"
- SaturateOnIntegerOverflow off
- }
- Block {
- BlockType Saturate
- Name "Saturation"
- Position [290, 35, 320, 65]
- UpperLimit "inf"
- LowerLimit "0"
- }
- Block {
- BlockType Sum
- Name "Sum1"
- Ports [2, 1]
- Position [575, 270, 595, 290]
- ShowName off
- IconShape "round"
- Inputs "-+|"
- InputSameDT off
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- 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]
- Orientation "left"
- ShowName off
- IconShape "round"
- Inputs "|++"
- InputSameDT off
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- 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
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- 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
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- 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"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- }
- Block {
- BlockType Outport
- Name "Ppv"
- Position [980, 163, 1010, 177]
- Port "2"
- IconDisplay "Port number"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- }
- 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 "PV6"
- Ports [2, 2]
- Position [175, 502, 285, 553]
- 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"
- 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 parametersn% limitation: constant temperaturenNs = round(Voc/0.61); % default number of cells in seriesnVt = 26e-3; % thermal voltagenG = Isc/1000; % irradiation to short-circuit current gainnVmpc = Vr/Ns; % cell voltage at rated PmaxnVocc = Voc/Ns; % cell open-circuit voltagenRmpp = Vmpc/Ir; % cell load resistance at Pmaxn%nRp = 100*Vocc/Isc; % initial value for RpnVdm = Vocc; % initial value for Vdmn%n% iterative solution for model parameters: Io, Rs, Rpnfor i=1:10n%n Idm = Isc - Ir - Vdm/Rp; % pn-junction (diode) current at MPPn Io = (Isc-Vocc/Rp)/(exp(Vocc/Vt)-1); % pn-junction reverse saturation currentn Vdm = Vt*log(Idm/Io+1); % pn-junction (diode) voltage at MPPn Rs = (Vdm-Vmpc)/Ir; % cell series resistancen Rd = (Rmpp - Rs)*Rp/(Rp-Rmpp+Rs); % diode incremental resistance at MPPn Idm = Vt/Rd; % diode current at MPP based on incremental resistancen Rp = Vdm/(Isc-Ir-Idm); % cell parallel resistancen%nendn%"
- 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,'PV 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 "PV6"
- Location [204, 336, 1240, 797]
- 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"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- 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"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- }
- Block {
- BlockType Gain
- Name "1/Rp"
- Position [445, 390, 490, 420]
- Orientation "left"
- Gain "1/Rp"
- ParameterDataTypeMode "Inherit via internal rule"
- ParameterDataType "sfix(16)"
- ParameterScaling "2^0"
- ParamDataTypeStr "Inherit: Inherit via internal rule"
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- 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]
- SourceBlock "simulink/MathnOperations/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"
- 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"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- }
- Block {
- BlockType Gain
- Name "Insolation to ncurrent gain"
- Position [115, 264, 160, 296]
- Gain "G"
- ParameterDataTypeMode "Inherit via internal rule"
- ParameterDataType "sfix(16)"
- ParameterScaling "2^0"
- ParamDataTypeStr "Inherit: Inherit via internal rule"
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- 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
- OutDataType "sfix(16)"
- OutScaling "2^0"
- SaturateOnIntegerOverflow off
- }
- Block {
- BlockType Gain
- Name "Ns"
- Position [655, 262, 695, 298]
- Gain "Ns"
- ParameterDataTypeMode "Inherit via internal rule"
- ParameterDataType "sfix(16)"
- ParameterScaling "2^0"
- ParamDataTypeStr "Inherit: Inherit via internal rule"
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- OutDataTypeStr "Inherit: Inherit via internal rule"
- SaturateOnIntegerOverflow off
- }
- Block {
- BlockType Fcn
- Name "PN-junction characteristic"
- Position [430, 334, 510, 366]
- Orientation "left"
- 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
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- OutDataTypeStr "Inherit: Inherit via internal rule"
- SaturateOnIntegerOverflow off
- }
- Block {
- BlockType Gain
- Name "Rs"
- Position [420, 160, 460, 190]
- NamePlacement "alternate"
- Gain "Rs"
- ParameterDataTypeMode "Inherit via internal rule"
- ParameterDataType "sfix(16)"
- ParameterScaling "2^0"
- ParamDataTypeStr "Inherit: Inherit via internal rule"
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- OutDataTypeStr "Inherit: Inherit via internal rule"
- SaturateOnIntegerOverflow off
- }
- Block {
- BlockType Saturate
- Name "Saturation"
- Position [290, 35, 320, 65]
- UpperLimit "inf"
- LowerLimit "0"
- }
- Block {
- BlockType Sum
- Name "Sum1"
- Ports [2, 1]
- Position [575, 270, 595, 290]
- ShowName off
- IconShape "round"
- Inputs "-+|"
- InputSameDT off
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- 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]
- Orientation "left"
- ShowName off
- IconShape "round"
- Inputs "|++"
- InputSameDT off
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- 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
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- 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
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- 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"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- }
- Block {
- BlockType Outport
- Name "Ppv"
- Position [980, 163, 1010, 177]
- Port "2"
- IconDisplay "Port number"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- }
- 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 Display
- Name "Ppv"
- Ports [1]
- Position [480, 440, 570, 470]
- Decimation "1"
- Lockdown off
- }
- Block {
- BlockType Reference
- Name "S1 n(time varying)"
- Ports [0, 1]
- Position [20, 35, 50, 65]
- SourceBlock "simulink/Sources/RepeatingnSequence"
- SourceType "Repeating table"
- 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"
- rep_seq_t "[0 1*60 2*60 3*60 4*60 5*60 6*60 7*60 8*60]"
- rep_seq_y "[0 400 850 950 1000 950 850 400 0]"
- }
- Block {
- BlockType Constant
- Name "S1-5 n(constant)"
- Position [20, 105, 50, 135]
- Value "1000"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- }
- Block {
- BlockType Reference
- Name "S6 n(time varying)"
- Ports [0, 1]
- Position [25, 485, 55, 515]
- SourceBlock "simulink/Sources/RepeatingnSequence"
- SourceType "Repeating table"
- 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"
- rep_seq_t "[0 1*60 2*60 3*60 4*60 5*60 6*60 7*60 8*60]"
- rep_seq_y "[0 400 850 950 0 950 850 400 0]"
- }
- Block {
- BlockType Constant
- Name "S6 (constant)"
- Position [20, 555, 50, 585]
- Value "1000"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- }
- Block {
- BlockType Reference
- Name "Selectncontroller"
- Ports [2, 1]
- Position [590, 275, 620, 370]
- SourceBlock "simulink/SignalnRouting/Manual Switch"
- SourceType "Manual Switch"
- 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"
- sw "1"
- action "0"
- varsize off
- Port {
- PortNumber 1
- Name "Iref"
- RTWStorageClass "Auto"
- DataLoggingNameMode "SignalName"
- }
- }
- Block {
- BlockType Reference
- Name "Selectninsolationnfor nmodule 6"
- Ports [2, 1]
- Position [85, 522, 115, 558]
- SourceBlock "simulink/SignalnRouting/Manual Switch"
- SourceType "Manual Switch"
- 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"
- sw "0"
- action "0"
- varsize off
- }
- Block {
- BlockType Reference
- Name "Select ninsolationnfor modulesn1-5"
- Ports [2, 1]
- Position [85, 72, 115, 108]
- SourceBlock "simulink/SignalnRouting/Manual Switch"
- SourceType "Manual Switch"
- 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"
- sw "0"
- action "0"
- varsize off
- }
- Block {
- BlockType Sum
- Name "Sum"
- Ports [2, 1]
- Position [250, 670, 270, 690]
- ShowName off
- IconShape "round"
- Inputs "+|+"
- InputSameDT off
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- OutDataTypeStr "Inherit: Inherit via internal rule"
- SaturateOnIntegerOverflow off
- }
- Block {
- BlockType Constant
- Name "Vout"
- Position [575, 100, 605, 130]
- Value "200"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- }
- Block {
- BlockType Display
- Name "Vpv"
- Ports [1]
- Position [420, 50, 510, 80]
- Decimation "1"
- Lockdown off
- }
- Block {
- BlockType Gain
- Name "kWh (out)"
- Position [750, 665, 790, 705]
- NamePlacement "alternate"
- Gain "1/60/1000"
- ParameterDataTypeMode "Inherit via internal rule"
- ParameterDataType "sfix(16)"
- ParameterScaling "2^0"
- ParamDataTypeStr "Inherit: Inherit via internal rule"
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- OutDataTypeStr "Inherit: Inherit via internal rule"
- SaturateOnIntegerOverflow off
- }
- Block {
- BlockType Gain
- Name "kWh (pv)"
- Position [485, 500, 525, 540]
- Gain "1/60/1000"
- ParameterDataTypeMode "Inherit via internal rule"
- ParameterDataType "sfix(16)"
- ParameterScaling "2^0"
- ParamDataTypeStr "Inherit: Inherit via internal rule"
- OutDataTypeMode "Inherit via internal rule"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- OutDataTypeStr "Inherit: Inherit via internal rule"
- SaturateOnIntegerOverflow off
- }
- Line {
- SrcBlock "PV1"
- SrcPort 1
- DstBlock "Add"
- DstPort 1
- }
- Line {
- SrcBlock "PV2"
- SrcPort 1
- DstBlock "Add"
- DstPort 2
- }
- Line {
- SrcBlock "PV3"
- SrcPort 1
- DstBlock "Add"
- DstPort 3
- }
- Line {
- SrcBlock "PV4"
- SrcPort 1
- DstBlock "Add"
- DstPort 4
- }
- Line {
- SrcBlock "PV5"
- SrcPort 1
- DstBlock "Add"
- DstPort 5
- }
- Line {
- SrcBlock "PV6"
- SrcPort 1
- DstBlock "Add"
- DstPort 6
- }
- Line {
- SrcBlock "Vout"
- SrcPort 1
- DstBlock "Boost DC-DC"
- DstPort 1
- }
- Line {
- Name "Ipv"
- Labels [0, 0]
- SrcBlock "Ipv = Iref"
- SrcPort 1
- Points [-90, 0; 0, -70]
- Branch {
- Points [0, -90]
- Branch {
- Points [0, -90]
- Branch {
- Points [0, -90]
- Branch {
- Points [0, -90]
- Branch {
- Points [0, -90]
- DstBlock "PV1"
- DstPort 1
- }
- Branch {
- DstBlock "PV2"
- DstPort 1
- }
- }
- Branch {
- DstBlock "PV3"
- DstPort 1
- }
- }
- Branch {
- DstBlock "PV4"
- DstPort 1
- }
- }
- Branch {
- DstBlock "PV5"
- DstPort 1
- }
- }
- Branch {
- DstBlock "PV6"
- DstPort 1
- }
- }
- Line {
- SrcBlock "Select ninsolationnfor modulesn1-5"
- SrcPort 1
- Points [15, 0]
- Branch {
- DstBlock "PV1"
- DstPort 2
- }
- Branch {
- Points [0, 90]
- Branch {
- DstBlock "PV2"
- DstPort 2
- }
- Branch {
- Points [0, 90]
- Branch {
- DstBlock "PV3"
- DstPort 2
- }
- Branch {
- Points [0, 90]
- Branch {
- DstBlock "PV4"
- DstPort 2
- }
- Branch {
- Points [0, 90]
- Branch {
- DstBlock "PV5"
- DstPort 2
- }
- Branch {
- Points [0, 205]
- DstBlock "5 modules"
- DstPort 1
- }
- }
- }
- }
- }
- }
- Line {
- SrcBlock "S1 n(time varying)"
- SrcPort 1
- Points [10, 0; 0, 30]
- DstBlock "Select ninsolationnfor modulesn1-5"
- DstPort 1
- }
- Line {
- SrcBlock "S1-5 n(constant)"
- SrcPort 1
- Points [10, 0; 0, -20]
- DstBlock "Select ninsolationnfor modulesn1-5"
- DstPort 2
- }
- Line {
- SrcBlock "S6 (constant)"
- SrcPort 1
- Points [10, 0; 0, -20]
- DstBlock "Selectninsolationnfor nmodule 6"
- DstPort 2
- }
- Line {
- SrcBlock "Selectninsolationnfor nmodule 6"
- SrcPort 1
- Points [5, 0]
- Branch {
- DstBlock "PV6"
- DstPort 2
- }
- Branch {
- Points [0, 170]
- DstBlock "1 module"
- DstPort 1
- }
- }
- Line {
- Name "Vpv"
- Labels [0, 0]
- SrcBlock "Add"
- SrcPort 1
- Points [20, 0]
- Branch {
- DstBlock "ComputenPpv"
- DstPort 1
- }
- Branch {
- Points [0, -135]
- Branch {
- Points [0, -90]
- DstBlock "Vpv"
- DstPort 1
- }
- Branch {
- Labels [1, 0]
- Points [240, 0]
- Branch {
- DstBlock "Boost DC-DC"
- DstPort 2
- }
- Branch {
- Labels [-1, 1; 0, 0]
- Points [0, 75]
- DstBlock "PV MPPnscope"
- DstPort 3
- }
- }
- }
- }
- Line {
- Name "Ppv"
- Labels [0, 0]
- SrcBlock "ComputenPpv"
- SrcPort 1
- Points [10, 0]
- Branch {
- DstBlock "MPP trackingncontrollernMPPtrackIref.m"
- DstPort 1
- }
- Branch {
- Points [0, 55; -45, 0; 0, 100]
- Branch {
- DstBlock "Ppv"
- DstPort 1
- }
- Branch {
- Points [0, 65]
- Branch {
- DstBlock "Integrate nPpv"
- DstPort 1
- }
- Branch {
- Labels [2, 0]
- Points [0, 80]
- DstBlock "Mux"
- DstPort 2
- }
- }
- }
- }
- Line {
- Name "Iref1"
- Labels [0, 0]
- SrcBlock "MPP trackingncontrollernMPPtrackIref.m"
- SrcPort 1
- DstBlock "Selectncontroller"
- DstPort 1
- }
- Line {
- SrcBlock "Irefn(constant)"
- SrcPort 1
- Points [30, 0; 0, -15]
- DstBlock "Selectncontroller"
- DstPort 2
- }
- Line {
- Name "Iref"
- Labels [0, 0]
- SrcBlock "Selectncontroller"
- SrcPort 1
- Points [10, 0]
- Branch {
- Labels [2, 0]
- Points [0, 260; -250, 0]
- Branch {
- DstBlock "Ipv = Iref"
- DstPort 1
- }
- Branch {
- Points [0, -280]
- Branch {
- DstBlock "ComputenPpv"
- DstPort 2
- }
- Branch {
- Points [0, -190]
- DstBlock "Ipv"
- DstPort 1
- }
- }
- }
- Branch {
- Points [0, -65]
- Branch {
- Points [0, -65]
- DstBlock "Boost DC-DC"
- DstPort 3
- }
- Branch {
- Labels [-1, 1]
- DstBlock "PV MPPnscope"
- DstPort 4
- }
- }
- }
- Line {
- SrcBlock "kWh (pv)"
- SrcPort 1
- DstBlock "Epv"
- DstPort 1
- }
- Line {
- SrcBlock "Integrate nPpv"
- SrcPort 1
- DstBlock "kWh (pv)"
- DstPort 1
- }
- Line {
- Name "Pout"
- Labels [0, 0]
- SrcBlock "Boost DC-DC"
- SrcPort 2
- Points [20, 0; 0, 150; -130, 0; 0, 300]
- Branch {
- DstBlock "Mux"
- DstPort 1
- }
- Branch {
- Points [0, 95]
- DstBlock "Integrate nPout"
- DstPort 1
- }
- }
- Line {
- SrcBlock "5 modules"
- SrcPort 1
- DstBlock "Sum"
- DstPort 1
- }
- Line {
- SrcBlock "1 module"
- SrcPort 1
- Points [30, 0]
- DstBlock "Sum"
- DstPort 2
- }
- Line {
- SrcBlock "Sum"
- SrcPort 1
- DstBlock "85/1000"
- DstPort 1
- }
- Line {
- Name "Ppvnideal"
- Labels [0, 0]
- SrcBlock "85/1000"
- SrcPort 1
- Points [15, 0]
- Branch {
- DstBlock "Integrate nPideal"
- DstPort 1
- }
- Branch {
- Labels [2, 1]
- Points [0, -70]
- DstBlock "Mux"
- DstPort 3
- }
- }
- Line {
- SrcBlock "Integrate nPideal"
- SrcPort 1
- DstBlock "Convert tonkWh"
- DstPort 1
- }
- Line {
- SrcBlock "Convert tonkWh"
- SrcPort 1
- DstBlock "Eideal"
- DstPort 1
- }
- Line {
- Name "Pout, Ppv, Pideal"
- Labels [0, 0; 0, 0; 0, 0]
- SrcBlock "Mux"
- SrcPort 1
- Points [60, 0; 0, -310]
- DstBlock "PV MPPnscope"
- DstPort 5
- }
- Line {
- Name "Duty"
- Labels [-1, 0]
- SrcBlock "Boost DC-DC"
- SrcPort 4
- DstBlock "PV MPPnscope"
- DstPort 2
- }
- Line {
- Name "efficiency"
- SrcBlock "Boost DC-DC"
- SrcPort 3
- Points [35, 0]
- Branch {
- Points [0, 0; 0, -70]
- DstBlock "Boost efficiency"
- DstPort 1
- }
- Branch {
- Labels [0, 0; 0, 0]
- DstBlock "PV MPPnscope"
- DstPort 1
- }
- }
- Line {
- SrcBlock "S6 n(time varying)"
- SrcPort 1
- Points [5, 0; 0, 30]
- DstBlock "Selectninsolationnfor nmodule 6"
- DstPort 1
- }
- Line {
- SrcBlock "Integrate nPout"
- SrcPort 1
- DstBlock "kWh (out)"
- DstPort 1
- }
- Line {
- SrcBlock "kWh (out)"
- SrcPort 1
- DstBlock "Eout"
- DstPort 1
- }
- Annotation {
- Name "ECEN2060n6-module PV Arrayn85 x 6 = 510 W DC system"
- Position [234, 25]
- }
- Annotation {
- Position [833, 524]
- }
- Annotation {
- Name "Insolation 1-5"
- Position [46, 23]
- }
- Annotation {
- Name "Insolation 6"
- Position [46, 473]
- }
- Annotation {
- Name "PV power"
- Position [524, 433]
- ForegroundColor "blue"
- BackgroundColor "cyan"
- }
- Annotation {
- Name "PV energy [kWh]"
- Position [581, 495]
- ForegroundColor "blue"
- BackgroundColor "cyan"
- }
- Annotation {
- Name "Ideal PV energy [kWh]"
- Position [533, 655]
- ForegroundColor "blue"
- BackgroundColor "cyan"
- }
- Annotation {
- Name "ECEN 2060 PV array withnMPP tracking nBoost DC-DC converter"
- Position [656, 33]
- BackgroundColor "yellow"
- }
- Annotation {
- Name "1 time unit = 1 minute"
- Position [654, 68]
- }
- Annotation {
- Name "PV voltage"
- Position [467, 39]
- BackgroundColor "cyan"
- }
- Annotation {
- Name "Output energy [kWh]"
- Position [856, 660]
- ForegroundColor "blue"
- BackgroundColor "cyan"
- }
- }
- }