Plecs {
Name "PN132_PEN8018_validation"
Version "4.5"
CircuitModel "ContStateSpace"
StartTime "0.0"
TimeSpan "1.6"
Timeout ""
Solver "radau"
MaxStep "1e-3"
InitStep "-1"
FixedStep "1e-3"
Refine "1"
ZCStepSize "1e-9"
RelTol "1e-5"
AbsTol "-1"
TurnOnThreshold "0"
SyncFixedStepTasks "2"
UseSingleCommonBaseRate "1"
LossVariableLimitExceededMsg "3"
NegativeSwitchLossMsg "1"
DivisionByZeroMsg "1"
StiffnessDetectionMsg "2"
MaxConsecutiveZCs "1000"
AlgebraicLoopWithStateMachineMsg "3"
AssertionAction "1"
InitializationCommands base64 "JSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJ"
"SUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlCiUlIFNZU1RFTSBQQVJBTU"
"VURVJTCiUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSU"
"lJSUlJSUlJSUlJSUlJSUlJSUlJSUlJQoKSV9yZWYgPSAxMDsJCQkJCSAgICAgCSAgJSBDdXJyZW50"
"IHJlZmVyZW5jZSBpbiBkLWF4aXMgW0FdClN3aXRjaGluZ0ZyZXEgPSAyMGUzOyAgICAgICAgICAgJ"
"SBTd2l0Y2hpbmcgZnJlcXVlbmN5IFtIel0KVGFtYiA9IDI2LjA7CQkJCQkgICAgICUgQW1iaWVudC"
"B0ZW1wZXJhdHVyZSBbwrBDXQpEZWFkdGltZSA9IDFlLTY7CQkJCQkgICUgRGVhZHRpbWUgW3NdClZ"
"kYzAgPSA4MDA7CQkJCQkJCSAgJSBEQyBidXMgdm9sdGFnZSBbVl0KCmZfY2xrMCA9IFN3aXRjaGlu"
"Z0ZyZXE7CgpDb250cm9sRnJlcSA9IFN3aXRjaGluZ0ZyZXE7ICAgICUgQ29udHJvbCBmcmVxdWVuY"
"3kgW0h6XQpDb250cm9sUGVyaW9kID0gMS9Db250cm9sRnJlcTsgICUgQ29udHJvbCBwZXJpb2QgW3"
"NdCgpTYW1wbGluZ1BoYXNlID0gMC41OyAgICAgICAgICAgICUgU2FtcGxpbmcgcGhhc2UgWy1dCgp"
"LcCA9IDc7CktpID0gNTA7"
InitialState "1"
SystemState ""
TaskingMode "1"
TaskConfigurations ""
CodeGenParameterInlining "2"
CodeGenFloatingPointFormat "2"
CodeGenAbsTimeUsageMsg "3"
CodeGenBaseName ""
CodeGenOutputDir ""
CodeGenExtraOpts ""
CodeGenTarget "Generic"
CodeGenTargetSettings ""
ExtendedMatrixPrecision "1"
MatrixSignificanceCheck "2"
EnableStateSpaceSplitting "2"
DisplayStateSpaceSplitting "1"
DiscretizationMethod "2"
ExternalModeSettings ""
AlgebraicLoopMethod "1"
AlgebraicLoopTolerance "1e-6"
ScriptsDialogGeometry "[1496 588 446 243]"
ScriptsDialogSplitterPos "47"
Schematic {
Location [17, 50; 1222, 341]
ZoomFactor 1.30957
SliderPosition [0, 0]
ShowBrowser off
BrowserWidth 100
Component {
Type Subsystem
Name "Plant"
Show on
Position [250, 65]
Direction up
Flipped off
Frame [-50, -35; 50, 35]
LabelPosition [0, 38]
LabelAlign up
TreatAsAtomicUnit on
SampleTime "-1"
CodeGenDiscretizationMethod "2"
CodeGenTarget "PLECS RT Box 1"
CodeGenOutputDir "C:/Imperix/Workspaces/AN006_PV3/plant"
MaskDisplayLang "2"
MaskIconFrame on
MaskIconOpaque off
MaskIconRotates on
Terminal {
Type Input
Position [-50, -10]
Direction left
Index "1"
}
Terminal {
Type Output
Position [54, 0]
Direction right
Index "1"
}
Terminal {
Type Output
Position [54, -10]
Direction right
Index "2"
}
Terminal {
Type Output
Position [54, 10]
Direction right
Index "3"
}
Terminal {
Type Input
Position [-50, 0]
Direction left
Index "2"
}
Terminal {
Type Input
Position [-50, 10]
Direction left
Index "3"
}
Schematic {
Location [33, 66; 1624, 610]
ZoomFactor 1
SliderPosition [0, 0]
ShowBrowser off
BrowserWidth 100
Component {
Type Input
Name "PWM_A"
Show on
Position [260, 115]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "1"
Show on
}
Parameter {
Variable "DataType"
Value "10"
Show off
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Component {
Type DCVoltageSource
Name "V_dc_up"
Show on
Position [45, 140]
Direction down
Flipped on
Parameter {
Variable "V"
Value "Vdc0/2"
Show off
}
}
Component {
Type Resistor
Name "R_source"
Show off
Position [95, 105]
Direction right
Flipped off
Parameter {
Variable "R"
Value "0.01"
Show off
}
}
Component {
Type Output
Name "Vdc"
Show on
Position [450, 110]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "2"
Show on
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Component {
Type Constant
Name "f_clk0"
Show on
Position [735, 95]
Direction right
Flipped off
Frame [-25, -10; 25, 10]
LabelPosition [0, 13]
LabelAlign up
Parameter {
Variable "Value"
Value "f_clk0"
Show off
}
Parameter {
Variable "DataType"
Value "10"
Show off
}
}
Component {
Type DCVoltageSource
Name "V_dc_low"
Show on
Position [45, 200]
Direction down
Flipped on
Parameter {
Variable "V"
Value "Vdc0/2"
Show off
}
}
Component {
Type Resistor
Name "R_source1"
Show off
Position [95, 235]
Direction right
Flipped off
Parameter {
Variable "R"
Value "0.01"
Show off
}
}
Component {
Type Reference
SrcComponent "Imperix_Power/DIN50A"
Name "DIN50A"
Show off
Position [470, 275]
Direction left
Flipped off
Frame [-15, -10; 15, 10]
LabelPosition [0, 13]
LabelAlign up
Parameter {
Variable "mod_level"
Value "1"
Show off
}
Terminal {
Type Port
Position [0, -20]
Direction up
}
Terminal {
Type Port
Position [0, 20]
Direction down
}
Terminal {
Type Output
Position [14, 0]
Direction right
}
}
Component {
Type Reference
SrcComponent "Imperix_Power/DIN50A"
Name "DIN50A1"
Show off
Position [470, 315]
Direction left
Flipped off
Frame [-15, -10; 15, 10]
LabelPosition [0, 13]
LabelAlign up
Parameter {
Variable "mod_level"
Value "1"
Show off
}
Terminal {
Type Port
Position [0, -20]
Direction up
}
Terminal {
Type Port
Position [0, 20]
Direction down
}
Terminal {
Type Output
Position [14, 0]
Direction right
}
}
Component {
Type Reference
SrcComponent "Imperix_Power/DIN50A"
Name "DIN50A2"
Show off
Position [470, 355]
Direction left
Flipped off
Frame [-15, -10; 15, 10]
LabelPosition [0, 13]
LabelAlign up
Parameter {
Variable "mod_level"
Value "1"
Show off
}
Terminal {
Type Port
Position [0, -20]
Direction up
}
Terminal {
Type Port
Position [0, 20]
Direction down
}
Terminal {
Type Output
Position [14, 0]
Direction right
}
}
Component {
Type PlecsProbe
Name "current"
Show on
Position [530, 110]
Direction right
Flipped off
}
Component {
Type Output
Name "I"
Show on
Position [605, 110]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "3"
Show on
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Component {
Type Reference
SrcComponent "Imperix_Power/DIN800V"
Name "DIN800V1"
Show off
Position [690, 360]
Direction up
Flipped off
Frame [-10, -15; 10, 15]
LabelPosition [-13, 0]
LabelAlign right
Parameter {
Variable "mod_level"
Value "1"
Show off
}
Terminal {
Type Output
Position [14, 0]
Direction right
}
Terminal {
Type Port
Position [0, -20]
Direction up
}
Terminal {
Type Port
Position [0, 20]
Direction down
}
}
Component {
Type Reference
SrcComponent "Imperix_Power/DIN800V"
Name "DIN800V2"
Show off
Position [725, 360]
Direction up
Flipped off
Frame [-10, -15; 10, 15]
LabelPosition [-13, 0]
LabelAlign right
Parameter {
Variable "mod_level"
Value "1"
Show off
}
Terminal {
Type Output
Position [14, 0]
Direction right
}
Terminal {
Type Port
Position [0, -20]
Direction up
}
Terminal {
Type Port
Position [0, 20]
Direction down
}
}
Component {
Type PlecsProbe
Name "volt"
Show on
Position [530, 165]
Direction right
Flipped off
}
Component {
Type Output
Name "V"
Show on
Position [605, 165]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "4"
Show on
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Component {
Type SignalDemux
Name "Demux"
Show off
Position [300, 115]
Direction right
Flipped on
Parameter {
Variable "Width"
Value "[2,2]"
Show off
}
}
Component {
Type Input
Name "PWM_B"
Show on
Position [260, 265]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "5"
Show on
}
Parameter {
Variable "DataType"
Value "10"
Show off
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Component {
Type SignalDemux
Name "Demux1"
Show off
Position [300, 265]
Direction right
Flipped on
Parameter {
Variable "Width"
Value "[2,2]"
Show off
}
}
Component {
Type Input
Name "PWM_C"
Show on
Position [265, 410]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "6"
Show on
}
Parameter {
Variable "DataType"
Value "10"
Show off
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Component {
Type SignalDemux
Name "Demux2"
Show off
Position [300, 410]
Direction right
Flipped on
Parameter {
Variable "Width"
Value "[2,2]"
Show off
}
}
Component {
Type Reference
SrcComponent "Imperix_Power/PEN"
Name "PEN2"
Show off
Position [365, 455]
Direction up
Flipped off
Frame [-40, -60; 40, 60]
LabelPosition [0, 63]
LabelAlign up
Parameter {
Variable "model_config"
Value "2"
Show off
}
Parameter {
Variable "PM_config"
Value "1"
Show off
}
Parameter {
Variable "port"
Value "2"
Show off
}
Parameter {
Variable "Vdc0"
Value "[Vdc0/2 Vdc0/2]"
Show off
}
Parameter {
Variable "enable_thermal"
Value "1"
Show off
}
Parameter {
Variable "loss_avg_period"
Value "0.001"
Show off
}
Parameter {
Variable "Tj0"
Value "25"
Show off
}
Parameter {
Variable "Tamb"
Value "25"
Show off
}
Terminal {
Type Input
Position [-40, -50]
Direction left
}
Terminal {
Type Port
Position [-45, -15]
Direction left
}
Terminal {
Type Port
Position [-45, 35]
Direction left
}
Terminal {
Type Input
Position [-40, -40]
Direction left
}
Terminal {
Type Port
Position [-45, 10]
Direction left
}
Terminal {
Type Output
Position [44, -40]
Direction right
}
Terminal {
Type Port
Position [45, 5]
Direction right
}
Terminal {
Type Output
Position [44, -50]
Direction right
}
}
Component {
Type Reference
SrcComponent "Imperix_Power/DIN800V"
Name "DIN800V4"
Show off
Position [655, 360]
Direction up
Flipped off
Frame [-10, -15; 10, 15]
LabelPosition [-13, 0]
LabelAlign right
Parameter {
Variable "mod_level"
Value "1"
Show off
}
Terminal {
Type Output
Position [14, 0]
Direction right
}
Terminal {
Type Port
Position [0, -20]
Direction up
}
Terminal {
Type Port
Position [0, 20]
Direction down
}
}
Component {
Type Display
Name base64 "SnVuY3Rpb24gdGVtcGVyYXR1cmUgW8KwQ10="
Show on
Position [1110, 115]
Direction up
Flipped off
Frame [-31, -41; 31, 41]
LabelPosition [0, 44]
LabelAlign up
Parameter {
Variable "Notation"
Value "1"
Show off
}
Parameter {
Variable "Precision"
Value "4"
Show off
}
}
Component {
Type Sum
Name "Sum"
Show off
Position [1375, 375]
Direction up
Flipped off
Parameter {
Variable "IconShape"
Value "1"
Show off
}
Parameter {
Variable "Inputs"
Value "+"
Show off
}
Parameter {
Variable "DataType"
Value "10"
Show off
}
}
Component {
Type Sum
Name "Sum1"
Show off
Position [1375, 420]
Direction up
Flipped off
Parameter {
Variable "IconShape"
Value "1"
Show off
}
Parameter {
Variable "Inputs"
Value "+"
Show off
}
Parameter {
Variable "DataType"
Value "10"
Show off
}
}
Component {
Type Sum
Name "Sum2"
Show off
Position [1440, 465]
Direction up
Flipped off
Parameter {
Variable "IconShape"
Value "1"
Show off
}
Parameter {
Variable "Inputs"
Value "++"
Show off
}
Parameter {
Variable "DataType"
Value "10"
Show off
}
}
Component {
Type PlecsProbe
Name "Probe_Tj"
Show on
Position [975, 115]
Direction right
Flipped off
}
Component {
Type PlecsProbe
Name "Probe_Pcond"
Show on
Position [1235, 130]
Direction right
Flipped off
}
Component {
Type PlecsProbe
Name "Probe_Psw"
Show on
Position [1235, 275]
Direction right
Flipped off
}
Component {
Type Constant
Name "I_ref"
Show on
Position [735, 160]
Direction right
Flipped off
Frame [-25, -10; 25, 10]
LabelPosition [0, 13]
LabelAlign up
Parameter {
Variable "Value"
Value "I_ref"
Show off
}
Parameter {
Variable "DataType"
Value "10"
Show off
}
}
Component {
Type Reference
SrcComponent "Components/Control/Filters/Moving Average"
Name "Moving Average"
Show off
Position [1300, 130]
Direction up
Flipped off
Frame [-15, -15; 15, 15]
LabelPosition [0, 18]
LabelAlign up
Parameter {
Variable "x0"
Value "0"
Show off
}
Parameter {
Variable "T_period"
Value "0.1"
Show off
}
Parameter {
Variable "buffer_size"
Value "256"
Show off
}
Terminal {
Type Output
Position [19, 0]
Direction right
}
Terminal {
Type Input
Position [-15, 0]
Direction left
}
}
Component {
Type Reference
SrcComponent "Components/Control/Filters/Moving Average"
Name "Moving Average1"
Show off
Position [1300, 275]
Direction up
Flipped off
Frame [-15, -15; 15, 15]
LabelPosition [0, 18]
LabelAlign up
Parameter {
Variable "x0"
Value "0"
Show off
}
Parameter {
Variable "T_period"
Value "0.1"
Show off
}
Parameter {
Variable "buffer_size"
Value "256"
Show off
}
Terminal {
Type Output
Position [19, 0]
Direction right
}
Terminal {
Type Input
Position [-15, 0]
Direction left
}
}
Component {
Type Display
Name "Switching frequency [kHz]"
Show on
Position [855, 95]
Direction up
Flipped off
Frame [-46, -11; 46, 11]
LabelPosition [0, 14]
LabelAlign up
Parameter {
Variable "Notation"
Value "1"
Show off
}
Parameter {
Variable "Precision"
Value "4"
Show off
}
}
Component {
Type Display
Name "Load current reference [A]"
Show on
Position [855, 160]
Direction up
Flipped off
Frame [-46, -11; 46, 11]
LabelPosition [0, 14]
LabelAlign up
Parameter {
Variable "Notation"
Value "1"
Show off
}
Parameter {
Variable "Precision"
Value "4"
Show off
}
}
Component {
Type Display
Name base64 "QW1iaWVudCB0ZW1wZXJhdHVyZSBbwrBDXQ=="
Show on
Position [855, 225]
Direction up
Flipped off
Frame [-46, -11; 46, 11]
LabelPosition [0, 14]
LabelAlign up
Parameter {
Variable "Notation"
Value "1"
Show off
}
Parameter {
Variable "Precision"
Value "4"
Show off
}
}
Component {
Type Constant
Name "Tamb"
Show on
Position [735, 225]
Direction right
Flipped off
Frame [-25, -10; 25, 10]
LabelPosition [0, 13]
LabelAlign up
Parameter {
Variable "Value"
Value "Tamb"
Show off
}
Parameter {
Variable "DataType"
Value "10"
Show off
}
}
Component {
Type Display
Name "Conduction loss [W]"
Show on
Position [1505, 130]
Direction up
Flipped off
Frame [-31, -61; 31, 61]
LabelPosition [0, 64]
LabelAlign up
Parameter {
Variable "Notation"
Value "1"
Show off
}
Parameter {
Variable "Precision"
Value "4"
Show off
}
}
Component {
Type Display
Name "Switching loss [W]"
Show on
Position [1505, 275]
Direction up
Flipped off
Frame [-31, -61; 31, 61]
LabelPosition [0, 64]
LabelAlign up
Parameter {
Variable "Notation"
Value "1"
Show off
}
Parameter {
Variable "Precision"
Value "4"
Show off
}
}
Component {
Type Display
Name "Total conduction loss [W]"
Show on
Position [1505, 375]
Direction up
Flipped off
Frame [-31, -11; 31, 11]
LabelPosition [0, 14]
LabelAlign up
Parameter {
Variable "Notation"
Value "1"
Show off
}
Parameter {
Variable "Precision"
Value "4"
Show off
}
}
Component {
Type Display
Name "Total switching loss [W]"
Show on
Position [1505, 420]
Direction up
Flipped off
Frame [-31, -11; 31, 11]
LabelPosition [0, 14]
LabelAlign up
Parameter {
Variable "Notation"
Value "1"
Show off
}
Parameter {
Variable "Precision"
Value "4"
Show off
}
}
Component {
Type Display
Name "Total loss [W]"
Show on
Position [1505, 465]
Direction up
Flipped off
Frame [-31, -11; 31, 11]
LabelPosition [0, 14]
LabelAlign up
Parameter {
Variable "Notation"
Value "1"
Show off
}
Parameter {
Variable "Precision"
Value "4"
Show off
}
}
Component {
Type Scope
Name "Load current"
Show on
Position [605, 65]
Direction up
Flipped off
Location [34, 66; 861, 524]
State "AAAA/wAAAAD9AAAAAgAAAAEAAAAAAAAAAPwCAAAAA/sAAAAQAFoAb"
"wBvAG0AQQByAGUAYQAAAAAA/////wAAADQA////+wAAABQAUwBhAHYAZQBkAFYAaQBlAHcAcwAAAA"
"AA/////wAAAGYA////+wAAAAwAVAByAGEAYwBlAHMAAAAAAP////8AAABmAP///wAAAAMAAAAAAAA"
"AAPwBAAAAAfsAAAAUAEQAYQB0AGEAVwBpAGQAZwBlAHQAAAAAAP////8AAABQAP///wAAAzsAAAGv"
"AAAABAAAAAQAAAAIAAAACPwAAAABAAAAAgAAAAEAAAAOAFQAbwBvAGwAQgBhAHIBAAAAAP////8AA"
"AAAAAAAAA=="
SavedViews "AAAAAgAAAAA="
HeaderState "AAAA/wAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAL/gMAAAAJA"
"AAABgAAAGQAAAAHAAAAZAAAAAQAAABkAAAABQAAAGQAAAACAAAAZAAAAAMAAABkAAAAAQAAAGQAAA"
"AIAAAAZAAAAAkAAABkAAAAxgAAAAsBAAABAAAAAAAAAAAAAAAAZP////8AAACBAAAAAAAAAAsAAAC"
"iAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAA"
"AAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAA"
"AAAAAAkAAAAAQAAAAAAAAPoAAAAACQ="
PlotPalettes "AAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
Axes "1"
TimeRange "0"
ScrollingMode "1"
SingleTimeAxis "1"
Open "1"
Ts "-1"
SampleLimit "0"
XAxisLabel "Time [s]"
ShowLegend "2"
Axis {
Name "Phase current"
AutoScale 1
MinValue 0
MaxValue 1
Signals {"Phase A current [A]", "Phase B current [A]", "Pha"
"se C current [A]"}
SignalTypes [ ]
AxisLabel "Current [A]"
Untangle 0
KeepBaseline off
BaselineValue 0
}
Fourier {
SingleXAxis on
AxisLabel "Frequency / Hz"
Scaling 0
PhaseDisplay 0
ShowFourierLegend off
Axis {
Name ""
AutoScale 1
MinValue 0
MaxValue 1
Signals {"Phase A current [A]", "Phase B current [A]", "P"
"hase C current [A]"}
Untangle 0
KeepBaseline off
BaselineValue 0
}
}
}
Component {
Type Scope
Name "Junction temperature"
Show on
Position [1110, 200]
Direction up
Flipped off
Location [53, 85; 878, 541]
State "AAAA/wAAAAD9AAAAAgAAAAEAAAAAAAAAAPwCAAAAA/sAAAAQAFoAb"
"wBvAG0AQQByAGUAYQAAAAAA/////wAAADQA////+wAAABQAUwBhAHYAZQBkAFYAaQBlAHcAcwAAAA"
"AA/////wAAAGYA////+wAAAAwAVAByAGEAYwBlAHMAAAAAAP////8AAABmAP///wAAAAMAAAAAAAA"
"AAPwBAAAAAfsAAAAUAEQAYQB0AGEAVwBpAGQAZwBlAHQAAAAAAP////8AAABQAP///wAAAzkAAAGt"
"AAAABAAAAAQAAAAIAAAACPwAAAABAAAAAgAAAAEAAAAOAFQAbwBvAGwAQgBhAHIBAAAAAP////8AA"
"AAAAAAAAA=="
SavedViews "AAAAAgAAAAA="
HeaderState "AAAA/wAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAL/gMAAAAJA"
"AAABgAAAGQAAAAHAAAAZAAAAAQAAABkAAAABQAAAGQAAAACAAAAZAAAAAMAAABkAAAAAQAAAGQAAA"
"AIAAAAZAAAAAkAAABkAAABawAAAAsBAAABAAAAAAAAAAAAAAAAZP////8AAACBAAAAAAAAAAsAAAF"
"HAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAA"
"AAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAA"
"AAAAAAkAAAAAQAAAAAAAAPoAAAAACQ="
PlotPalettes "AAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
Axes "1"
TimeRange "0"
ScrollingMode "1"
SingleTimeAxis "1"
Open "1"
Ts "-1"
SampleLimit "0"
XAxisLabel "Time [s]"
ShowLegend "2"
Axis {
Name "Junction temperature"
AutoScale 1
MinValue 0
MaxValue 1
Signals {base64 "UEVOX0RVVCBUcmFuc2lzdG9yIERDX0gganVuY3Rpb24"
"gdGVtcGVyYXR1cmUgW8KwQ10=", base64 "UEVOX0RVVCBUcmFuc2lzdG9yIEFDX0gganVuY3Rpb"
"24gdGVtcGVyYXR1cmUgW8KwQ10=", base64 "UEVOX0RVVCBUcmFuc2lzdG9yIERDX0wganVuY3R"
"pb24gdGVtcGVyYXR1cmUgW8KwQ10=", base64 "UEVOX0RVVCBUcmFuc2lzdG9yIEFDX0wganVuY"
"3Rpb24gdGVtcGVyYXR1cmUgW8KwQ10="}
SignalTypes [ ]
AxisLabel base64 "VGVtcGVyYXR1cmUgW8KwQ10="
Untangle 0
KeepBaseline off
BaselineValue 0
}
Fourier {
SingleXAxis on
AxisLabel "Frequency / Hz"
Scaling 0
PhaseDisplay 0
ShowFourierLegend off
Axis {
Name ""
AutoScale 1
MinValue 0
MaxValue 1
Signals {base64 "UEVOX0RVVCBUcmFuc2lzdG9yIERDX0gganVuY3Rpb"
"24gdGVtcGVyYXR1cmUgW8KwQ10=", base64 "UEVOX0RVVCBUcmFuc2lzdG9yIEFDX0gganVuY3R"
"pb24gdGVtcGVyYXR1cmUgW8KwQ10=", base64 "UEVOX0RVVCBUcmFuc2lzdG9yIERDX0wganVuY"
"3Rpb24gdGVtcGVyYXR1cmUgW8KwQ10=", base64 "UEVOX0RVVCBUcmFuc2lzdG9yIEFDX0wganV"
"uY3Rpb24gdGVtcGVyYXR1cmUgW8KwQ10="}
Untangle 0
KeepBaseline off
BaselineValue 0
}
}
}
Component {
Type Inductor
Name "L1"
Show off
Position [605, 305]
Direction left
Flipped off
Parameter {
Variable "L"
Value "2.2e-3"
Show off
}
Parameter {
Variable "i_init"
Value "0"
Show off
}
}
Component {
Type Resistor
Name "R1"
Show off
Position [550, 305]
Direction left
Flipped off
Parameter {
Variable "R"
Value "29e-3"
Show off
}
}
Component {
Type Inductor
Name "L2"
Show off
Position [605, 315]
Direction left
Flipped off
Parameter {
Variable "L"
Value "2.2e-3"
Show off
}
Parameter {
Variable "i_init"
Value "0"
Show off
}
}
Component {
Type Resistor
Name "R2"
Show off
Position [550, 315]
Direction left
Flipped off
Parameter {
Variable "R"
Value "29e-3"
Show off
}
}
Component {
Type Inductor
Name "L3"
Show off
Position [605, 325]
Direction left
Flipped off
Parameter {
Variable "L"
Value "2.2e-3"
Show off
}
Parameter {
Variable "i_init"
Value "0"
Show off
}
}
Component {
Type Resistor
Name "R3"
Show off
Position [550, 325]
Direction left
Flipped off
Parameter {
Variable "R"
Value "29e-3"
Show off
}
}
Component {
Type ACVoltageSource
Name "V_ac"
Show off
Position [750, 305]
Direction right
Flipped on
Parameter {
Variable "V"
Value "220*sqrt(2)"
Show off
}
Parameter {
Variable "w"
Value "2*pi*50"
Show off
}
Parameter {
Variable "phi"
Value "0"
Show off
}
}
Component {
Type ACVoltageSource
Name "V_ac1"
Show off
Position [775, 315]
Direction right
Flipped on
Parameter {
Variable "V"
Value "220*sqrt(2)"
Show off
}
Parameter {
Variable "w"
Value "2*pi*50"
Show off
}
Parameter {
Variable "phi"
Value "-2/3*pi"
Show off
}
}
Component {
Type ACVoltageSource
Name "V_ac2"
Show off
Position [800, 325]
Direction right
Flipped on
Parameter {
Variable "V"
Value "220*sqrt(2)"
Show off
}
Parameter {
Variable "w"
Value "2*pi*50"
Show off
}
Parameter {
Variable "phi"
Value "2/3*pi"
Show off
}
}
Component {
Type Reference
SrcComponent "Imperix_Power/PEN"
Name "PEN3"
Show off
Position [365, 310]
Direction up
Flipped off
Frame [-40, -60; 40, 60]
LabelPosition [0, 63]
LabelAlign up
Parameter {
Variable "model_config"
Value "2"
Show off
}
Parameter {
Variable "PM_config"
Value "1"
Show off
}
Parameter {
Variable "port"
Value "2"
Show off
}
Parameter {
Variable "Vdc0"
Value "[Vdc0/2 Vdc0/2]"
Show off
}
Parameter {
Variable "enable_thermal"
Value "1"
Show off
}
Parameter {
Variable "loss_avg_period"
Value "0.001"
Show off
}
Parameter {
Variable "Tj0"
Value "25"
Show off
}
Parameter {
Variable "Tamb"
Value "25"
Show off
}
Terminal {
Type Input
Position [-40, -50]
Direction left
}
Terminal {
Type Port
Position [-45, -15]
Direction left
}
Terminal {
Type Port
Position [-45, 35]
Direction left
}
Terminal {
Type Input
Position [-40, -40]
Direction left
}
Terminal {
Type Port
Position [-45, 10]
Direction left
}
Terminal {
Type Output
Position [44, -40]
Direction right
}
Terminal {
Type Port
Position [45, 5]
Direction right
}
Terminal {
Type Output
Position [44, -50]
Direction right
}
}
Component {
Type Reference
SrcComponent "Imperix_Power/PEN"
Name "PEN_DUT"
Show on
Position [365, 160]
Direction up
Flipped off
Frame [-40, -60; 40, 60]
LabelPosition [0, 63]
LabelAlign up
Parameter {
Variable "model_config"
Value "2"
Show off
}
Parameter {
Variable "PM_config"
Value "1"
Show off
}
Parameter {
Variable "port"
Value "2"
Show off
}
Parameter {
Variable "Vdc0"
Value "[Vdc0/2 Vdc0/2]"
Show off
}
Parameter {
Variable "enable_thermal"
Value "2"
Show off
}
Parameter {
Variable "loss_avg_period"
Value "0.001"
Show off
}
Parameter {
Variable "Tj0"
Value "Tamb"
Show off
}
Parameter {
Variable "Tamb"
Value "Tamb"
Show off
}
Terminal {
Type Input
Position [-40, -50]
Direction left
}
Terminal {
Type Port
Position [-45, -15]
Direction left
}
Terminal {
Type Port
Position [-45, 35]
Direction left
}
Terminal {
Type Input
Position [-40, -40]
Direction left
}
Terminal {
Type Port
Position [-45, 10]
Direction left
}
Terminal {
Type Output
Position [44, -40]
Direction right
}
Terminal {
Type Port
Position [45, 5]
Direction right
}
Terminal {
Type Output
Position [44, -50]
Direction right
}
}
Connection {
Type Wire
SrcComponent "V_dc_up"
SrcTerminal 1
Points [45, 105]
DstComponent "R_source"
DstTerminal 2
}
Connection {
Type Signal
SrcComponent "PEN_DUT"
SrcTerminal 8
DstComponent "Vdc"
DstTerminal 1
}
Connection {
Type Wire
SrcComponent "V_dc_low"
SrcTerminal 1
Points [45, 170]
Branch {
DstComponent "V_dc_up"
DstTerminal 2
}
Branch {
Points [170, 170]
Branch {
DstComponent "PEN_DUT"
DstTerminal 5
}
Branch {
Points [170, 320]
Branch {
DstComponent "PEN3"
DstTerminal 5
}
Branch {
Points [170, 465]
DstComponent "PEN2"
DstTerminal 5
}
}
}
}
Connection {
Type Wire
SrcComponent "R_source1"
SrcTerminal 2
Points [45, 235]
DstComponent "V_dc_low"
DstTerminal 2
}
Connection {
Type Wire
SrcComponent "PEN_DUT"
SrcTerminal 2
Points [185, 145]
Branch {
Points [145, 145; 145, 105]
DstComponent "R_source"
DstTerminal 1
}
Branch {
Points [185, 295]
Branch {
DstComponent "PEN3"
DstTerminal 2
}
Branch {
Points [185, 440]
DstComponent "PEN2"
DstTerminal 2
}
}
}
Connection {
Type Wire
SrcComponent "R_source1"
SrcTerminal 1
Points [145, 235; 145, 195; 160, 195]
Branch {
DstComponent "PEN_DUT"
DstTerminal 3
}
Branch {
Points [160, 345]
Branch {
DstComponent "PEN3"
DstTerminal 3
}
Branch {
Points [160, 490]
DstComponent "PEN2"
DstTerminal 3
}
}
}
Connection {
Type Wire
SrcComponent "DIN50A"
SrcTerminal 1
Points [435, 275; 435, 165]
DstComponent "PEN_DUT"
DstTerminal 7
}
Connection {
Type Wire
SrcComponent "DIN50A1"
SrcTerminal 1
DstComponent "PEN3"
DstTerminal 7
}
Connection {
Type Wire
SrcComponent "DIN50A2"
SrcTerminal 1
Points [435, 355; 435, 460]
DstComponent "PEN2"
DstTerminal 7
}
Connection {
Type Signal
SrcComponent "Demux"
SrcTerminal 2
DstComponent "PEN_DUT"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "Demux"
SrcTerminal 3
DstComponent "PEN_DUT"
DstTerminal 4
}
Connection {
Type Signal
SrcComponent "PWM_A"
SrcTerminal 1
DstComponent "Demux"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "PWM_B"
SrcTerminal 1
DstComponent "Demux1"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "Demux1"
SrcTerminal 2
DstComponent "PEN3"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "Demux1"
SrcTerminal 3
DstComponent "PEN3"
DstTerminal 4
}
Connection {
Type Signal
SrcComponent "PWM_C"
SrcTerminal 1
DstComponent "Demux2"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "Demux2"
SrcTerminal 2
DstComponent "PEN2"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "Demux2"
SrcTerminal 3
DstComponent "PEN2"
DstTerminal 4
}
Connection {
Type Signal
SrcComponent "Sum2"
SrcTerminal 1
DstComponent "Total loss [W]"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "Sum"
SrcTerminal 1
Points [1410, 375]
Branch {
DstComponent "Total conduction loss [W]"
DstTerminal 1
}
Branch {
DstComponent "Sum2"
DstTerminal 2
}
}
Connection {
Type Signal
SrcComponent "Sum1"
SrcTerminal 1
Points [1400, 420]
Branch {
DstComponent "Total switching loss [W]"
DstTerminal 1
}
Branch {
Points [1400, 470]
DstComponent "Sum2"
DstTerminal 3
}
}
Connection {
Type Signal
SrcComponent "Probe_Pcond"
SrcTerminal 1
DstComponent "Moving Average"
DstTerminal 2
}
Connection {
Type Signal
SrcComponent "Probe_Psw"
SrcTerminal 1
DstComponent "Moving Average1"
DstTerminal 2
}
Connection {
Type Signal
SrcComponent "current"
SrcTerminal 1
Points [565, 110]
Branch {
DstComponent "I"
DstTerminal 1
}
Branch {
Points [565, 65]
DstComponent "Load current"
DstTerminal 1
}
}
Connection {
Type Signal
SrcComponent "volt"
SrcTerminal 1
DstComponent "V"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "f_clk0"
SrcTerminal 1
DstComponent "Switching frequency [kHz]"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "I_ref"
SrcTerminal 1
DstComponent "Load current reference [A]"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "Tamb"
SrcTerminal 1
DstComponent base64 "QW1iaWVudCB0ZW1wZXJhdHVyZSBbwrBDXQ=="
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "Probe_Tj"
SrcTerminal 1
Points [1040, 115]
Branch {
DstComponent base64 "SnVuY3Rpb24gdGVtcGVyYXR1cmUgW8KwQ10="
DstTerminal 1
}
Branch {
Points [1040, 200]
DstComponent "Junction temperature"
DstTerminal 1
}
}
Connection {
Type Signal
SrcComponent "Moving Average"
SrcTerminal 1
Points [1345, 130]
Branch {
DstComponent "Sum"
DstTerminal 2
}
Branch {
DstComponent "Conduction loss [W]"
DstTerminal 1
}
}
Connection {
Type Signal
SrcComponent "Moving Average1"
SrcTerminal 1
Points [1335, 275]
Branch {
Points [1335, 420]
DstComponent "Sum1"
DstTerminal 2
}
Branch {
DstComponent "Switching loss [W]"
DstTerminal 1
}
}
Connection {
Type Wire
SrcComponent "L1"
SrcTerminal 2
Points [655, 305]
Branch {
DstComponent "V_ac"
DstTerminal 1
}
Branch {
DstComponent "DIN800V4"
DstTerminal 2
}
}
Connection {
Type Wire
SrcComponent "L2"
SrcTerminal 2
Points [690, 315]
Branch {
DstComponent "V_ac1"
DstTerminal 1
}
Branch {
DstComponent "DIN800V1"
DstTerminal 2
}
}
Connection {
Type Wire
SrcComponent "DIN800V1"
SrcTerminal 3
Points [690, 390]
Branch {
Points [725, 390]
Branch {
DstComponent "DIN800V2"
DstTerminal 3
}
Branch {
Points [835, 390; 835, 325]
Branch {
Points [835, 315]
Branch {
Points [835, 305]
DstComponent "V_ac"
DstTerminal 2
}
Branch {
DstComponent "V_ac1"
DstTerminal 2
}
}
Branch {
DstComponent "V_ac2"
DstTerminal 2
}
}
}
Branch {
Points [655, 390]
DstComponent "DIN800V4"
DstTerminal 3
}
}
Connection {
Type Wire
SrcComponent "R1"
SrcTerminal 2
DstComponent "L1"
DstTerminal 1
}
Connection {
Type Wire
SrcComponent "R2"
SrcTerminal 2
DstComponent "L2"
DstTerminal 1
}
Connection {
Type Wire
SrcComponent "R3"
SrcTerminal 2
DstComponent "L3"
DstTerminal 1
}
Connection {
Type Wire
SrcComponent "DIN50A"
SrcTerminal 2
Points [500, 275; 500, 305]
DstComponent "R1"
DstTerminal 1
}
Connection {
Type Wire
SrcComponent "DIN50A1"
SrcTerminal 2
DstComponent "R2"
DstTerminal 1
}
Connection {
Type Wire
SrcComponent "R3"
SrcTerminal 1
Points [500, 325; 500, 355]
DstComponent "DIN50A2"
DstTerminal 2
}
Connection {
Type Wire
SrcComponent "L3"
SrcTerminal 2
Points [725, 325]
Branch {
DstComponent "DIN800V2"
DstTerminal 2
}
Branch {
DstComponent "V_ac2"
DstTerminal 1
}
}
Annotation {
Name "Operating conditions"
Position [835, 55]
}
Annotation {
Name "Thermal simulation results"
Position [1110, 55]
}
Annotation {
Name "Thermal simulation with Imperix Power library - PEN80"
"18\n(c) imperix Switzerland 2024"
Position [1045, 425]
}
}
}
Component {
Type Subsystem
Name "Controller"
Show on
Position [125, 65]
Direction up
Flipped off
Frame [-50, -35; 50, 35]
LabelPosition [0, 38]
LabelAlign up
TreatAsAtomicUnit on
SampleTime "-1"
TaskingMode "2"
TaskConfigurations "AAAACQAAAAABAAAACAAAAAAEAAAAFABTAGEAbQBwAGwAZQBUAGkA"
"bQBlAAAACgAAAAACADAAAAAIAE4AYQBtAGUAAAAKAAAAABIAQgBhAHMAZQAgAHQAYQBzAGsAAAAOA"
"EQAZQBmAGEAdQBsAHQAAAABAAEAAAAIAEMAbwByAGUAAAACAAAAAAA="
CodeGenEnable on
CodeGenSampleTime "1/f_clk0"
CodeGenDiscretizationMethod "2"
CodeGenTarget "Imperix Controllers"
CodeGenTargetSettings "AAAAfwAAAAAlUU1hcDxRU3RyaW5nLFFNYXA8UVN0cmluZyxRU"
"3RyaW5nPiA+AAAAAAEAAAAmAEkAbQBwAGUAcgBpAHgAIABDAG8AbgB0AHIAbwBsAGwAZQByAHMAAA"
"AHAAAAEABlAHQAaABfAGkAcABfADMAAAAAAAAAEABlAHQAaABfAGkAcABfADIAAAAAAAAAEABlAHQ"
"AaABfAGkAcABfADEAAAAAAAAAEABlAHQAaABfAGkAcABfADAAAAAAAAAASABlAG4AYQBiAGwAZQBf"
"AHMAdQBiAHQAYQBzAGsAXwB6AGUAcgBvAF8AbwByAGQAZQByAF8AaABvAGwAZABfAGQAZQBsAGEAe"
"QAAAAIAMQAAABoAYwBhAG4AXwBiAGEAdQBkAF8AcgBhAHQAZQAAAA4AMQAwADAAMAAwADAAMAAAAD"
"QAVQBTAEUAXwBTAFQAQQBSAFQAXwBUAEkATQBFAF8ASQBOAF8ASQBOAEkAVABfAEYAQwBOAAAAAgA"
"x"
MaskDisplayLang "2"
MaskIconFrame on
MaskIconOpaque off
MaskIconRotates on
Terminal {
Type Input
Position [-50, -10]
Direction left
Index "1"
}
Terminal {
Type Output
Position [54, -10]
Direction right
Index "1"
}
Terminal {
Type Input
Position [-50, 0]
Direction left
Index "2"
}
Terminal {
Type Input
Position [-50, 10]
Direction left
Index "3"
}
Terminal {
Type Output
Position [54, 0]
Direction right
Index "2"
}
Terminal {
Type Output
Position [54, 10]
Direction right
Index "3"
}
Schematic {
Location [34, 75; 1276, 445]
ZoomFactor 1
SliderPosition [0, 0]
ShowBrowser off
BrowserWidth 100
Component {
Type Reference
SrcComponent "Imperix_Control/IOs/ADC"
Name "I_L"
Show on
Position [160, 125]
Direction up
Flipped off
Frame [-30, -25; 30, 25]
LabelPosition [0, 28]
LabelAlign up
Parameter {
Variable "device"
Value "0"
Show off
}
Parameter {
Variable "channel"
Value "0:2"
Show off
}
Parameter {
Variable "sensor"
Value "3"
Show off
}
Parameter {
Variable "sensor_gain"
Value "0.099"
Show off
}
Parameter {
Variable "sensor_offset"
Value "0"
Show off
}
Parameter {
Variable "analog_gain"
Value "2"
Show off
}
Parameter {
Variable "sensor_gain_sim"
Value "1"
Show off
}
Parameter {
Variable "sync_avg"
Value "2"
Show off
}
Parameter {
Variable "avg_length"
Value "1"
Show off
}
Parameter {
Variable "adc_hist"
Value "1"
Show off
}
Parameter {
Variable "adc_hist_depth"
Value "3"
Show off
}
Parameter {
Variable "TargetPortIndices"
Value "1"
Show off
}
Terminal {
Type Output
Position [34, 0]
Direction right
}
Terminal {
Type EventInput
Position [-30, 15]
Direction left
}
}
Component {
Type ControlTaskTrigger
Name "Control Task Trigger"
Show on
Position [170, 45]
Direction left
Flipped on
Parameter {
Variable "CodeFcn"
Value "if (Target.Family ~= \"Imperix Controllers\") then"
"\n"
" return 'This block is not compatible with the selected target family (\"%s"
"\")' % {Target.Family}\n"
"end\n"
"local Require = ResourceList:new()\n"
"\n"
"Require:add(Target.Coder.GetCtrlTaskTrigResource(0))\n"
"\n"
"return {\n"
"\tRequire = Require\n"
"}"
Show off
}
}
Component {
Type Reference
SrcComponent "Imperix_Control/Config/Configuration"
Name "Configuration"
Show on
Position [80, 60]
Direction up
Flipped off
Frame [-30, -30; 30, 30]
LabelPosition [0, 33]
LabelAlign up
Parameter {
Variable "clock_freq"
Value "f_clk0"
Show off
}
Parameter {
Variable "phase"
Value "0.5"
Show off
}
Parameter {
Variable "postscaler"
Value "0"
Show off
}
Parameter {
Variable "oversampling_conf"
Value "1"
Show off
}
Parameter {
Variable "oversampling_phases"
Value "[0.2 0.8]"
Show off
}
Parameter {
Variable "nbr_of_oversamples"
Value "3"
Show off
}
Parameter {
Variable "adc_acq_delay"
Value "1"
Show off
}
Parameter {
Variable "cycle_delay"
Value "5e-6"
Show off
}
Parameter {
Variable "TargetPortIndices"
Value ""
Show off
}
Terminal {
Type EventOutput
Position [34, -15]
Direction right
}
Terminal {
Type EventOutput
Position [34, 5]
Direction right
}
Terminal {
Type EventOutput
Position [34, -5]
Direction right
}
}
Component {
Type Reference
SrcComponent "Imperix_Control/Modulators/CB_PWM"
Name "PWM_A"
Show on
Position [1160, 90]
Direction up
Flipped off
Frame [-30, -30; 30, 30]
LabelPosition [0, 33]
LabelAlign up
Parameter {
Variable "nb_bbx"
Value "0"
Show off
}
Parameter {
Variable "out_conf"
Value "2"
Show off
}
Parameter {
Variable "pwm_out_single"
Value "0"
Show off
}
Parameter {
Variable "pwm_out_dual"
Value "0:1"
Show off
}
Parameter {
Variable "carrier"
Value "1"
Show off
}
Parameter {
Variable "block_input_duty"
Value "2"
Show off
}
Parameter {
Variable "block_input_phase"
Value "1"
Show off
}
Parameter {
Variable "block_input_activate"
Value "2"
Show off
}
Parameter {
Variable "rate"
Value "2"
Show off
}
Parameter {
Variable "duty"
Value "0.5"
Show off
}
Parameter {
Variable "phase"
Value "0"
Show off
}
Parameter {
Variable "d_output"
Value "1"
Show off
}
Parameter {
Variable "block_input_clock"
Value "2"
Show off
}
Parameter {
Variable "dead_time"
Value "1e-6"
Show on
}
Parameter {
Variable "sim_dead_time"
Value "2"
Show off
}
Parameter {
Variable "TargetPortIndices"
Value "2"
Show off
}
Terminal {
Type Input
Position [-30, -15]
Direction left
}
Terminal {
Type Input
Position [-30, 0]
Direction left
}
Terminal {
Type Input
Position [-30, -5]
Direction left
}
Terminal {
Type EventInput
Position [-30, 20]
Direction left
}
}
Component {
Type Reference
SrcComponent "Imperix_Control/IOs/ADC"
Name "Vdc"
Show on
Position [160, 275]
Direction up
Flipped off
Frame [-30, -25; 30, 25]
LabelPosition [0, 28]
LabelAlign up
Parameter {
Variable "device"
Value "0"
Show off
}
Parameter {
Variable "channel"
Value "3:4"
Show off
}
Parameter {
Variable "sensor"
Value "10"
Show off
}
Parameter {
Variable "sensor_gain"
Value "-0.0099"
Show off
}
Parameter {
Variable "sensor_offset"
Value "0"
Show off
}
Parameter {
Variable "analog_gain"
Value "1"
Show off
}
Parameter {
Variable "sensor_gain_sim"
Value "1"
Show off
}
Parameter {
Variable "sync_avg"
Value "2"
Show off
}
Parameter {
Variable "avg_length"
Value "1"
Show off
}
Parameter {
Variable "adc_hist"
Value "1"
Show off
}
Parameter {
Variable "adc_hist_depth"
Value "3"
Show off
}
Parameter {
Variable "TargetPortIndices"
Value "3"
Show off
}
Terminal {
Type Output
Position [34, 0]
Direction right
}
Terminal {
Type EventInput
Position [-30, 15]
Direction left
}
}
Component {
Type Reference
SrcComponent "Imperix_Control/IOs/ADC"
Name "V_L"
Show on
Position [160, 195]
Direction up
Flipped off
Frame [-30, -25; 30, 25]
LabelPosition [0, 28]
LabelAlign up
Parameter {
Variable "device"
Value "0"
Show off
}
Parameter {
Variable "channel"
Value "4:6"
Show off
}
Parameter {
Variable "sensor"
Value "2"
Show off
}
Parameter {
Variable "sensor_gain"
Value "0.00246"
Show off
}
Parameter {
Variable "sensor_offset"
Value "0"
Show off
}
Parameter {
Variable "analog_gain"
Value "3"
Show off
}
Parameter {
Variable "sensor_gain_sim"
Value "1"
Show off
}
Parameter {
Variable "sync_avg"
Value "2"
Show off
}
Parameter {
Variable "avg_length"
Value "1"
Show off
}
Parameter {
Variable "adc_hist"
Value "1"
Show off
}
Parameter {
Variable "adc_hist_depth"
Value "3"
Show off
}
Parameter {
Variable "TargetPortIndices"
Value "4"
Show off
}
Terminal {
Type Output
Position [34, 0]
Direction right
}
Terminal {
Type EventInput
Position [-30, 15]
Direction left
}
}
Component {
Type Constant
Name "I_d_ref"
Show on
Position [560, 90]
Direction right
Flipped off
Frame [-20, -10; 20, 10]
LabelPosition [0, 13]
LabelAlign up
Parameter {
Variable "Value"
Value "I_ref"
Show off
}
Parameter {
Variable "DataType"
Value "10"
Show off
}
}
Component {
Type Reference
SrcComponent "Components/Control/Transformations/RRF->3ph"
Name "RRF->3ph"
Show on
Position [900, 170]
Direction up
Flipped off
Frame [-15, -15; 15, 15]
LabelPosition [0, 18]
LabelAlign up
Terminal {
Type Input
Position [-15, -5]
Direction left
}
Terminal {
Type Output
Position [19, 0]
Direction right
}
Terminal {
Type Input
Position [-15, 5]
Direction left
}
}
Component {
Type From
Name "From3"
Show off
Position [860, 175]
Direction right
Flipped off
Parameter {
Variable "Tag"
Value "theta"
Show off
}
Parameter {
Variable "Visibility"
Value "1"
Show off
}
}
Component {
Type Constant
Name "I_q_ref"
Show on
Position [570, 130]
Direction right
Flipped off
Frame [-10, -10; 10, 10]
LabelPosition [0, 13]
LabelAlign up
Parameter {
Variable "Value"
Value "0"
Show off
}
Parameter {
Variable "DataType"
Value "10"
Show off
}
}
Component {
Type Goto
Name "Goto1"
Show off
Position [245, 125]
Direction right
Flipped off
Parameter {
Variable "Tag"
Value "I_abc"
Show off
}
Parameter {
Variable "Visibility"
Value "1"
Show off
}
}
Component {
Type Goto
Name "Goto2"
Show off
Position [245, 195]
Direction right
Flipped off
Parameter {
Variable "Tag"
Value "V_abc"
Show off
}
Parameter {
Variable "Visibility"
Value "1"
Show off
}
}
Component {
Type Goto
Name "Goto7"
Show off
Position [245, 270]
Direction right
Flipped off
Parameter {
Variable "Tag"
Value "Vdc_up"
Show off
}
Parameter {
Variable "Visibility"
Value "1"
Show off
}
}
Component {
Type From
Name "From4"
Show off
Position [770, 220]
Direction right
Flipped off
Parameter {
Variable "Tag"
Value "Vdc_up"
Show off
}
Parameter {
Variable "Visibility"
Value "1"
Show off
}
}
Component {
Type Product
Name "Divide"
Show off
Position [810, 165]
Direction up
Flipped off
Parameter {
Variable "Inputs"
Value "*/"
Show off
}
Parameter {
Variable "DataType"
Value "11"
Show off
}
}
Component {
Type Reference
SrcComponent "Imperix_Control/Modulators/CB_PWM"
Name "PWM_B"
Show on
Position [1160, 190]
Direction up
Flipped off
Frame [-30, -30; 30, 30]
LabelPosition [0, 33]
LabelAlign up
Parameter {
Variable "nb_bbx"
Value "0"
Show off
}
Parameter {
Variable "out_conf"
Value "2"
Show off
}
Parameter {
Variable "pwm_out_single"
Value "0"
Show off
}
Parameter {
Variable "pwm_out_dual"
Value "2:3"
Show off
}
Parameter {
Variable "carrier"
Value "1"
Show off
}
Parameter {
Variable "block_input_duty"
Value "2"
Show off
}
Parameter {
Variable "block_input_phase"
Value "1"
Show off
}
Parameter {
Variable "block_input_activate"
Value "2"
Show off
}
Parameter {
Variable "rate"
Value "2"
Show off
}
Parameter {
Variable "duty"
Value "0.5"
Show off
}
Parameter {
Variable "phase"
Value "0"
Show off
}
Parameter {
Variable "d_output"
Value "1"
Show off
}
Parameter {
Variable "block_input_clock"
Value "2"
Show off
}
Parameter {
Variable "dead_time"
Value "1e-6"
Show on
}
Parameter {
Variable "sim_dead_time"
Value "2"
Show off
}
Parameter {
Variable "TargetPortIndices"
Value "5"
Show off
}
Terminal {
Type Input
Position [-30, -15]
Direction left
}
Terminal {
Type Input
Position [-30, 0]
Direction left
}
Terminal {
Type Input
Position [-30, -5]
Direction left
}
Terminal {
Type EventInput
Position [-30, 20]
Direction left
}
}
Component {
Type Reference
SrcComponent "Imperix_Control/Modulators/CB_PWM"
Name "PWM_C"
Show on
Position [1160, 290]
Direction up
Flipped off
Frame [-30, -30; 30, 30]
LabelPosition [0, 33]
LabelAlign up
Parameter {
Variable "nb_bbx"
Value "0"
Show off
}
Parameter {
Variable "out_conf"
Value "2"
Show off
}
Parameter {
Variable "pwm_out_single"
Value "0"
Show off
}
Parameter {
Variable "pwm_out_dual"
Value "4:5"
Show off
}
Parameter {
Variable "carrier"
Value "1"
Show off
}
Parameter {
Variable "block_input_duty"
Value "2"
Show off
}
Parameter {
Variable "block_input_phase"
Value "1"
Show off
}
Parameter {
Variable "block_input_activate"
Value "2"
Show off
}
Parameter {
Variable "rate"
Value "2"
Show off
}
Parameter {
Variable "duty"
Value "0.5"
Show off
}
Parameter {
Variable "phase"
Value "0"
Show off
}
Parameter {
Variable "d_output"
Value "1"
Show off
}
Parameter {
Variable "block_input_clock"
Value "2"
Show off
}
Parameter {
Variable "dead_time"
Value "1e-6"
Show on
}
Parameter {
Variable "sim_dead_time"
Value "2"
Show off
}
Parameter {
Variable "TargetPortIndices"
Value "6"
Show off
}
Terminal {
Type Input
Position [-30, -15]
Direction left
}
Terminal {
Type Input
Position [-30, 0]
Direction left
}
Terminal {
Type Input
Position [-30, -5]
Direction left
}
Terminal {
Type EventInput
Position [-30, 20]
Direction left
}
}
Component {
Type SignalDemux
Name "Demux3"
Show off
Position [995, 170]
Direction right
Flipped on
Parameter {
Variable "Width"
Value "3"
Show off
}
}
Component {
Type Sum
Name "Sum"
Show off
Position [960, 215]
Direction up
Flipped off
Parameter {
Variable "IconShape"
Value "2"
Show off
}
Parameter {
Variable "Inputs"
Value "|++"
Show off
}
Parameter {
Variable "DataType"
Value "11"
Show off
}
}
Component {
Type Constant
Name "Constant2"
Show off
Position [915, 240]
Direction right
Flipped off
Frame [-10, -10; 10, 10]
LabelPosition [0, 13]
LabelAlign up
Parameter {
Variable "Value"
Value "1"
Show off
}
Parameter {
Variable "DataType"
Value "10"
Show off
}
}
Component {
Type SignalDemux
Name "Demux4"
Show off
Position [995, 215]
Direction right
Flipped on
Parameter {
Variable "Width"
Value "3"
Show off
}
}
Component {
Type SignalMux
Name "Mux"
Show off
Position [1075, 75]
Direction right
Flipped off
Parameter {
Variable "Width"
Value "2"
Show off
}
}
Component {
Type SignalMux
Name "Mux1"
Show off
Position [1075, 175]
Direction right
Flipped off
Parameter {
Variable "Width"
Value "2"
Show off
}
}
Component {
Type SignalMux
Name "Mux2"
Show off
Position [1075, 275]
Direction right
Flipped off
Parameter {
Variable "Width"
Value "2"
Show off
}
}
Component {
Type SignalDemux
Name "Demux2"
Show off
Position [215, 275]
Direction right
Flipped on
Parameter {
Variable "Width"
Value "2"
Show off
}
}
Component {
Type Subsystem
Name "Inverter\ncurrent ctrl"
Show on
Position [700, 145]
Direction up
Flipped off
Frame [-40, -60; 40, 60]
LabelPosition [0, 63]
LabelAlign up
SampleTime "-1"
CodeGenDiscretizationMethod "2"
CodeGenTarget "Generic"
MaskDisplayLang "2"
MaskIconFrame on
MaskIconOpaque off
MaskIconRotates on
Terminal {
Type Input
Position [-40, -50]
Direction left
}
Terminal {
Type Output
Position [44, 15]
Direction right
}
Terminal {
Type Input
Position [-40, -30]
Direction left
}
Terminal {
Type Input
Position [-40, -15]
Direction left
}
Terminal {
Type Input
Position [-40, 45]
Direction left
}
Terminal {
Type Input
Position [-40, 5]
Direction left
}
Terminal {
Type Input
Position [-40, 25]
Direction left
}
Schematic {
Location [53, 92; 834, 565]
ZoomFactor 1
SliderPosition [0, 0]
ShowBrowser off
BrowserWidth 100
Component {
Type Input
Name "I_dq_ref"
Show on
Position [65, 185]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "1"
Show on
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Component {
Type Output
Name "Eg_dq"
Show on
Position [710, 190]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "2"
Show on
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Component {
Type Input
Name "I_dq"
Show on
Position [165, 185]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "3"
Show on
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Component {
Type Input
Name "Vg"
Show on
Position [520, 190]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "4"
Show on
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Component {
Type SignalDemux
Name "Demux"
Show off
Position [115, 185]
Direction right
Flipped on
Parameter {
Variable "Width"
Value "2"
Show off
}
}
Component {
Type SignalDemux
Name "Demux1"
Show off
Position [205, 185]
Direction right
Flipped on
Parameter {
Variable "Width"
Value "2"
Show off
}
}
Component {
Type SignalDemux
Name "Demux2"
Show off
Position [555, 190]
Direction right
Flipped on
Parameter {
Variable "Width"
Value "2"
Show off
}
}
Component {
Type Gain
Name "Gain"
Show off
Position [365, 145]
Direction right
Flipped off
Parameter {
Variable "K"
Value "2*pi*50*2.2e-3"
Show off
}
Parameter {
Variable "Multiplication"
Value "1"
Show off
}
Parameter {
Variable "DataType"
Value "11"
Show off
}
}
Component {
Type Gain
Name "Gain1"
Show off
Position [365, 225]
Direction right
Flipped off
Parameter {
Variable "K"
Value "2*pi*50*2.2e-3"
Show off
}
Parameter {
Variable "Multiplication"
Value "1"
Show off
}
Parameter {
Variable "DataType"
Value "11"
Show off
}
}
Component {
Type Sum
Name "Sum2"
Show off
Position [455, 85]
Direction up
Flipped off
Parameter {
Variable "IconShape"
Value "2"
Show off
}
Parameter {
Variable "Inputs"
Value "|+-"
Show off
}
Parameter {
Variable "DataType"
Value "11"
Show off
}
}
Component {
Type Sum
Name "Sum3"
Show off
Position [570, 85]
Direction up
Flipped off
Parameter {
Variable "IconShape"
Value "2"
Show off
}
Parameter {
Variable "Inputs"
Value "|++"
Show off
}
Parameter {
Variable "DataType"
Value "11"
Show off
}
}
Component {
Type Sum
Name "Sum4"
Show off
Position [440, 315]
Direction up
Flipped off
Parameter {
Variable "IconShape"
Value "2"
Show off
}
Parameter {
Variable "Inputs"
Value "++|"
Show off
}
Parameter {
Variable "DataType"
Value "11"
Show off
}
}
Component {
Type Sum
Name "Sum5"
Show off
Position [570, 315]
Direction up
Flipped off
Parameter {
Variable "IconShape"
Value "2"
Show off
}
Parameter {
Variable "Inputs"
Value "++|"
Show off
}
Parameter {
Variable "DataType"
Value "11"
Show off
}
}
Component {
Type SignalMux
Name "Mux"
Show off
Position [640, 190]
Direction right
Flipped off
Parameter {
Variable "Width"
Value "2"
Show off
}
}
Component {
Type Input
Name "reset"
Show on
Position [65, 420]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "5"
Show on
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Component {
Type Input
Name "Kp"
Show on
Position [65, 350]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "6"
Show on
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Component {
Type Input
Name "Ki"
Show on
Position [65, 385]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "7"
Show on
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Component {
Type SignalMux
Name "Mux1"
Show off
Position [235, 105]
Direction right
Flipped off
Parameter {
Variable "Width"
Value "2"
Show off
}
}
Component {
Type Scope
Name "Scope1"
Show off
Position [270, 105]
Direction up
Flipped off
Location [70, 111; 848, 498]
State "AAAA/wAAAAD9AAAAAgAAAAEAAAAAAAAAAPwCAAAAA/sAAAAQA"
"FoAbwBvAG0AQQByAGUAYQAAAAAA/////wAAADQA////+wAAABQAUwBhAHYAZQBkAFYAaQBlAHcAcw"
"AAAAAA/////wAAAGYA////+wAAAAwAVAByAGEAYwBlAHMAAAAAAP////8AAABmAP///wAAAAMAAAA"
"AAAAAAPwBAAAAAfsAAAAUAEQAYQB0AGEAVwBpAGQAZwBlAHQAAAAAAP////8AAABQAP///wAAAwoA"
"AAFoAAAABAAAAAQAAAAIAAAACPwAAAABAAAAAgAAAAEAAAAOAFQAbwBvAGwAQgBhAHIBAAAAAP///"
"/8AAAAAAAAAAA=="
SavedViews "AAAAAgAAAAA="
HeaderState "AAAA/wAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAL/gMAA"
"AAJAAAABgAAAGQAAAAHAAAAZAAAAAQAAABkAAAABQAAAGQAAAACAAAAZAAAAAMAAABkAAAAAQAAAG"
"QAAAAIAAAAZAAAAAkAAABkAAAA5wAAAAsBAAABAAAAAAAAAAAAAAAAZP////8AAACBAAAAAAAAAAs"
"AAADDAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAA"
"AAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAA"
"QAAAAAAAAAkAAAAAQAAAAAAAAPoAAAAACQ="
PlotPalettes "AAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
Axes "1"
TimeRange "0"
ScrollingMode "1"
SingleTimeAxis "1"
Open "0"
Ts "-1"
SampleLimit "0"
XAxisLabel "Time [s]"
ShowLegend "2"
Axis {
Name "Regulation of the grid currents"
AutoScale 1
MinValue 0
MaxValue 1
Signals {"Ig_d_ref", "Ig_d"}
SignalTypes [ ]
AxisLabel "Current [A]"
Untangle 0
KeepBaseline off
BaselineValue 0
}
Fourier {
SingleXAxis on
AxisLabel "Frequency"
Scaling 0
PhaseDisplay 0
ShowFourierLegend off
Axis {
Name ""
AutoScale 1
MinValue 0
MaxValue 1
Signals {"Ig_d_ref", "Ig_d"}
Untangle 0
KeepBaseline off
BaselineValue 0
}
}
}
Component {
Type SignalMux
Name "Mux2"
Show off
Position [235, 285]
Direction right
Flipped off
Parameter {
Variable "Width"
Value "2"
Show off
}
}
Component {
Type Scope
Name "Scope3"
Show off
Position [270, 285]
Direction up
Flipped off
Location [69, 107; 846, 540]
State "AAAA/wAAAAD9AAAAAgAAAAEAAAAAAAAAAPwCAAAAA/sAAAAQA"
"FoAbwBvAG0AQQByAGUAYQAAAAAA/////wAAADQA////+wAAABQAUwBhAHYAZQBkAFYAaQBlAHcAcw"
"AAAAAA/////wAAAGYA////+wAAAAwAVAByAGEAYwBlAHMAAAAAAP////8AAABmAP///wAAAAMAAAA"
"AAAAAAPwBAAAAAfsAAAAUAEQAYQB0AGEAVwBpAGQAZwBlAHQAAAAAAP////8AAABQAP///wAAAwkA"
"AAGWAAAABAAAAAQAAAAIAAAACPwAAAABAAAAAgAAAAEAAAAOAFQAbwBvAGwAQgBhAHIBAAAAAP///"
"/8AAAAAAAAAAA=="
SavedViews "AAAAAgAAAAA="
HeaderState "AAAA/wAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAL/gMAA"
"AAJAAAABgAAAGQAAAAHAAAAZAAAAAQAAABkAAAABQAAAGQAAAACAAAAZAAAAAMAAABkAAAAAQAAAG"
"QAAAAIAAAAZAAAAAkAAABkAAAA5wAAAAsBAAABAAAAAAAAAAAAAAAAZP////8AAACBAAAAAAAAAAs"
"AAADDAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAA"
"AAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAA"
"QAAAAAAAAAkAAAAAQAAAAAAAAPoAAAAACQ="
PlotPalettes "AAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
Axes "1"
TimeRange "0"
ScrollingMode "1"
SingleTimeAxis "1"
Open "0"
Ts "-1"
SampleLimit "0"
XAxisLabel "Time [s]"
ShowLegend "2"
Axis {
Name "Regulation of the grid currents"
AutoScale 1
MinValue 0
MaxValue 1
Signals {"Ig_q_ref", "Ig_q"}
SignalTypes [ ]
AxisLabel "Current [A]"
Untangle 0
KeepBaseline off
BaselineValue 0
}
Fourier {
SingleXAxis on
AxisLabel "Frequency"
Scaling 0
PhaseDisplay 0
ShowFourierLegend off
Axis {
Name ""
AutoScale 1
MinValue 0
MaxValue 1
Signals {"Ig_q_ref", "Ig_q"}
Untangle 0
KeepBaseline off
BaselineValue 0
}
}
}
Component {
Type Subsystem
Name "PI d-axis"
Show on
Position [370, 80]
Direction up
Flipped off
Frame [-25, -35; 25, 35]
LabelPosition [0, -38]
LabelAlign down
SampleTime "-1"
CodeGenDiscretizationMethod "2"
CodeGenTarget "Generic"
MaskDisplayLang "2"
MaskIconFrame on
MaskIconOpaque off
MaskIconRotates on
Terminal {
Type Output
Position [29, 5]
Direction right
}
Terminal {
Type Input
Position [-25, 20]
Direction left
}
Terminal {
Type Input
Position [-25, -25]
Direction left
}
Terminal {
Type Input
Position [-25, -10]
Direction left
}
Terminal {
Type Input
Position [-25, 5]
Direction left
}
Schematic {
Location [3, 33; 569, 330]
ZoomFactor 1.14437
SliderPosition [0, 0]
ShowBrowser off
BrowserWidth 100
Component {
Type Output
Name "y"
Show on
Position [340, 155]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "1"
Show on
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Component {
Type Input
Name "reset"
Show on
Position [185, 160]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "2"
Show on
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Component {
Type Input
Name "e"
Show on
Position [40, 110]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "3"
Show on
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Component {
Type Input
Name "Kp"
Show on
Position [40, 50]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "4"
Show on
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Component {
Type Input
Name "Ki"
Show on
Position [40, 155]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "5"
Show on
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Component {
Type Product
Name "Product"
Show off
Position [130, 55]
Direction up
Flipped off
Parameter {
Variable "Inputs"
Value "2"
Show off
}
Parameter {
Variable "DataType"
Value "11"
Show off
}
}
Component {
Type Product
Name "Product1"
Show off
Position [130, 150]
Direction up
Flipped off
Parameter {
Variable "Inputs"
Value "2"
Show off
}
Parameter {
Variable "DataType"
Value "11"
Show off
}
}
Component {
Type Sum
Name "Sum1"
Show off
Position [295, 155]
Direction up
Flipped off
Parameter {
Variable "IconShape"
Value "2"
Show off
}
Parameter {
Variable "Inputs"
Value "++|"
Show off
}
Parameter {
Variable "DataType"
Value "11"
Show off
}
}
Component {
Type Integrator
Name "Integrator"
Show on
Position [235, 155]
Direction right
Flipped off
Parameter {
Variable "ExternalReset"
Value "5"
Show off
}
Parameter {
Variable "InitialConditionSource"
Value "1"
Show off
}
Parameter {
Variable "x0"
Value "0"
Show off
}
Parameter {
Variable "ShowStatePort"
Value "1"
Show off
}
Parameter {
Variable "EnableWrapping"
Value "1"
Show off
}
Parameter {
Variable "UpperLimit"
Value "inf"
Show off
}
Parameter {
Variable "LowerLimit"
Value "-inf"
Show off
}
}
Connection {
Type Signal
SrcComponent "e"
SrcTerminal 1
Points [85, 110]
Branch {
Points [85, 60]
DstComponent "Product"
DstTerminal 3
}
Branch {
Points [85, 145]
DstComponent "Product1"
DstTerminal 2
}
}
Connection {
Type Signal
SrcComponent "reset"
SrcTerminal 1
DstComponent "Integrator"
DstTerminal 3
}
Connection {
Type Signal
SrcComponent "Integrator"
SrcTerminal 2
DstComponent "Sum1"
DstTerminal 3
}
Connection {
Type Signal
SrcComponent "Kp"
SrcTerminal 1
DstComponent "Product"
DstTerminal 2
}
Connection {
Type Signal
SrcComponent "Ki"
SrcTerminal 1
DstComponent "Product1"
DstTerminal 3
}
Connection {
Type Signal
SrcComponent "Sum1"
SrcTerminal 1
DstComponent "y"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "Product"
SrcTerminal 1
Points [295, 55]
DstComponent "Sum1"
DstTerminal 2
}
Connection {
Type Signal
SrcComponent "Product1"
SrcTerminal 1
DstComponent "Integrator"
DstTerminal 1
}
}
}
Component {
Type Sum
Name "Sum6"
Show off
Position [220, 55]
Direction up
Flipped off
Parameter {
Variable "IconShape"
Value "2"
Show off
}
Parameter {
Variable "Inputs"
Value "|+-"
Show off
}
Parameter {
Variable "DataType"
Value "11"
Show off
}
}
Component {
Type Subsystem
Name "PI q-axis"
Show on
Position [370, 340]
Direction up
Flipped off
Frame [-25, -35; 25, 35]
LabelPosition [0, -38]
LabelAlign down
SampleTime "-1"
CodeGenDiscretizationMethod "2"
CodeGenTarget "Generic"
MaskDisplayLang "2"
MaskIconFrame on
MaskIconOpaque off
MaskIconRotates on
Terminal {
Type Output
Position [29, -25]
Direction right
}
Terminal {
Type Input
Position [-25, 20]
Direction left
}
Terminal {
Type Input
Position [-25, -25]
Direction left
}
Terminal {
Type Input
Position [-25, -10]
Direction left
}
Terminal {
Type Input
Position [-25, 5]
Direction left
}
Schematic {
Location [9, 39; 589, 348]
ZoomFactor 1.14437
SliderPosition [0, 0]
ShowBrowser off
BrowserWidth 100
Component {
Type Output
Name "y"
Show on
Position [340, 155]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "1"
Show on
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Component {
Type Input
Name "reset"
Show on
Position [185, 160]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "2"
Show on
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Component {
Type Input
Name "e"
Show on
Position [40, 110]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "3"
Show on
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Component {
Type Input
Name "Kp"
Show on
Position [40, 50]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "4"
Show on
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Component {
Type Input
Name "Ki"
Show on
Position [40, 155]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "5"
Show on
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Component {
Type Product
Name "Product"
Show off
Position [130, 55]
Direction up
Flipped off
Parameter {
Variable "Inputs"
Value "2"
Show off
}
Parameter {
Variable "DataType"
Value "11"
Show off
}
}
Component {
Type Product
Name "Product1"
Show off
Position [130, 150]
Direction up
Flipped off
Parameter {
Variable "Inputs"
Value "2"
Show off
}
Parameter {
Variable "DataType"
Value "11"
Show off
}
}
Component {
Type Sum
Name "Sum1"
Show off
Position [295, 155]
Direction up
Flipped off
Parameter {
Variable "IconShape"
Value "2"
Show off
}
Parameter {
Variable "Inputs"
Value "++|"
Show off
}
Parameter {
Variable "DataType"
Value "11"
Show off
}
}
Component {
Type Integrator
Name "Integrator"
Show on
Position [235, 155]
Direction right
Flipped off
Parameter {
Variable "ExternalReset"
Value "5"
Show off
}
Parameter {
Variable "InitialConditionSource"
Value "1"
Show off
}
Parameter {
Variable "x0"
Value "0"
Show off
}
Parameter {
Variable "ShowStatePort"
Value "1"
Show off
}
Parameter {
Variable "EnableWrapping"
Value "1"
Show off
}
Parameter {
Variable "UpperLimit"
Value "inf"
Show off
}
Parameter {
Variable "LowerLimit"
Value "-inf"
Show off
}
}
Connection {
Type Signal
SrcComponent "e"
SrcTerminal 1
Points [85, 110]
Branch {
Points [85, 60]
DstComponent "Product"
DstTerminal 3
}
Branch {
Points [85, 145]
DstComponent "Product1"
DstTerminal 2
}
}
Connection {
Type Signal
SrcComponent "reset"
SrcTerminal 1
DstComponent "Integrator"
DstTerminal 3
}
Connection {
Type Signal
SrcComponent "Integrator"
SrcTerminal 2
DstComponent "Sum1"
DstTerminal 3
}
Connection {
Type Signal
SrcComponent "Kp"
SrcTerminal 1
DstComponent "Product"
DstTerminal 2
}
Connection {
Type Signal
SrcComponent "Ki"
SrcTerminal 1
DstComponent "Product1"
DstTerminal 3
}
Connection {
Type Signal
SrcComponent "Sum1"
SrcTerminal 1
DstComponent "y"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "Product"
SrcTerminal 1
Points [295, 55]
DstComponent "Sum1"
DstTerminal 2
}
Connection {
Type Signal
SrcComponent "Product1"
SrcTerminal 1
DstComponent "Integrator"
DstTerminal 1
}
}
}
Component {
Type Sum
Name "Sum7"
Show off
Position [220, 315]
Direction up
Flipped off
Parameter {
Variable "IconShape"
Value "2"
Show off
}
Parameter {
Variable "Inputs"
Value "-+|"
Show off
}
Parameter {
Variable "DataType"
Value "11"
Show off
}
}
Connection {
Type Signal
SrcComponent "Gain1"
SrcTerminal 2
Points [455, 225]
DstComponent "Sum2"
DstTerminal 3
}
Connection {
Type Signal
SrcComponent "Gain"
SrcTerminal 2
Points [440, 145]
DstComponent "Sum4"
DstTerminal 2
}
Connection {
Type Signal
SrcComponent "Sum5"
SrcTerminal 1
Points [615, 315; 615, 195]
DstComponent "Mux"
DstTerminal 3
}
Connection {
Type Signal
SrcComponent "Sum3"
SrcTerminal 1
Points [615, 85; 615, 185]
DstComponent "Mux"
DstTerminal 2
}
Connection {
Type Signal
SrcComponent "Vg"
SrcTerminal 1
DstComponent "Demux2"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "I_dq_ref"
SrcTerminal 1
DstComponent "Demux"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "I_dq"
SrcTerminal 1
DstComponent "Demux1"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "Demux1"
SrcTerminal 2
Points [220, 180; 220, 145]
Branch {
Points [220, 110]
Branch {
DstComponent "Mux1"
DstTerminal 3
}
Branch {
DstComponent "Sum6"
DstTerminal 3
}
}
Branch {
DstComponent "Gain"
DstTerminal 1
}
}
Connection {
Type Signal
SrcComponent "Demux2"
SrcTerminal 2
Points [570, 185]
DstComponent "Sum3"
DstTerminal 3
}
Connection {
Type Signal
SrcComponent "Demux2"
SrcTerminal 3
Points [570, 195]
DstComponent "Sum5"
DstTerminal 2
}
Connection {
Type Signal
SrcComponent "Demux1"
SrcTerminal 3
Points [220, 190; 220, 225]
Branch {
DstComponent "Gain1"
DstTerminal 1
}
Branch {
Points [220, 290]
Branch {
DstComponent "Mux2"
DstTerminal 3
}
Branch {
DstComponent "Sum7"
DstTerminal 2
}
}
}
Connection {
Type Signal
SrcComponent "Sum2"
SrcTerminal 1
DstComponent "Sum3"
DstTerminal 2
}
Connection {
Type Signal
SrcComponent "Sum4"
SrcTerminal 1
DstComponent "Sum5"
DstTerminal 3
}
Connection {
Type Signal
SrcComponent "Mux"
SrcTerminal 1
DstComponent "Eg_dq"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "Mux1"
SrcTerminal 1
DstComponent "Scope1"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "Mux2"
SrcTerminal 1
DstComponent "Scope3"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "Sum6"
SrcTerminal 1
DstComponent "PI d-axis"
DstTerminal 3
}
Connection {
Type Signal
SrcComponent "Demux"
SrcTerminal 3
Points [130, 190; 130, 315; 195, 315]
Branch {
DstComponent "Sum7"
DstTerminal 3
}
Branch {
Points [195, 280]
DstComponent "Mux2"
DstTerminal 2
}
}
Connection {
Type Signal
SrcComponent "PI q-axis"
SrcTerminal 1
DstComponent "Sum4"
DstTerminal 3
}
Connection {
Type Signal
SrcComponent "Sum7"
SrcTerminal 1
DstComponent "PI q-axis"
DstTerminal 3
}
Connection {
Type Signal
SrcComponent "Demux"
SrcTerminal 2
Points [130, 180; 130, 55; 195, 55]
Branch {
Points [195, 100]
DstComponent "Mux1"
DstTerminal 2
}
Branch {
DstComponent "Sum6"
DstTerminal 2
}
}
Connection {
Type Signal
SrcComponent "PI d-axis"
SrcTerminal 1
DstComponent "Sum2"
DstTerminal 2
}
Connection {
Type Signal
SrcComponent "Kp"
SrcTerminal 1
Points [305, 350; 305, 330]
Branch {
DstComponent "PI q-axis"
DstTerminal 4
}
Branch {
Points [305, 70]
DstComponent "PI d-axis"
DstTerminal 4
}
}
Connection {
Type Signal
SrcComponent "reset"
SrcTerminal 1
Points [325, 420; 325, 360]
Branch {
DstComponent "PI q-axis"
DstTerminal 2
}
Branch {
Points [325, 100]
DstComponent "PI d-axis"
DstTerminal 2
}
}
Connection {
Type Signal
SrcComponent "Ki"
SrcTerminal 1
Points [315, 385; 315, 345]
Branch {
DstComponent "PI q-axis"
DstTerminal 5
}
Branch {
Points [315, 85]
DstComponent "PI d-axis"
DstTerminal 5
}
}
Annotation {
Name "For each one of the d- and q-axis, the PI takes t"
"he error\non the inductor's current, and gives the required inductor's voltag"
"e\nto rectify the current.\n\nSee TN106: Vector current control at\nhttps://i"
"mperix.com/doc/implementation/vector-current-control"
Position [580, 390]
}
}
}
Component {
Type From
Name "From5"
Show off
Position [635, 115]
Direction right
Flipped off
Parameter {
Variable "Tag"
Value "I_dq"
Show off
}
Parameter {
Variable "Visibility"
Value "1"
Show off
}
}
Component {
Type From
Name "From6"
Show off
Position [635, 130]
Direction right
Flipped off
Parameter {
Variable "Tag"
Value "V_dq"
Show off
}
Parameter {
Variable "Visibility"
Value "1"
Show off
}
}
Component {
Type Reference
SrcComponent "Imperix_Control/State and variables/Tunable parameter"
Name "Tunable parameter2"
Show off
Position [630, 150]
Direction up
Flipped off
Frame [-10, -10; 10, 10]
LabelPosition [0, 13]
LabelAlign up
Parameter {
Variable "name"
Value "Kp"
Show off
Evaluate off
}
Parameter {
Variable "initial_value"
Value "Kp"
Show off
}
Parameter {
Variable "signal_type"
Value "1"
Show off
}
Parameter {
Variable "max_value"
Value "inf"
Show off
}
Parameter {
Variable "min_value"
Value "-inf"
Show off
}
Parameter {
Variable "access_read"
Value "1"
Show off
}
Parameter {
Variable "access_write"
Value "1"
Show off
}
Parameter {
Variable "sim_output"
Value "1"
Show off
}
Parameter {
Variable "step_time"
Value "[1 2]"
Show off
}
Parameter {
Variable "step_data"
Value "[0 1]"
Show off
}
Parameter {
Variable "can_enabled"
Value "1"
Show off
}
Parameter {
Variable "can_address"
Value "0"
Show off
}
Parameter {
Variable "can_endianness"
Value "2"
Show off
}
Parameter {
Variable "eth_enabled"
Value "1"
Show off
}
Parameter {
Variable "eth_port"
Value "2000"
Show off
}
Parameter {
Variable "eth_endianness"
Value "2"
Show off
}
Parameter {
Variable "TargetPortIndices"
Value ""
Show off
}
Terminal {
Type Output
Position [14, 0]
Direction right
}
}
Component {
Type Reference
SrcComponent "Imperix_Control/State and variables/Tunable parameter"
Name "Tunable parameter3"
Show off
Position [630, 170]
Direction up
Flipped off
Frame [-10, -10; 10, 10]
LabelPosition [0, 13]
LabelAlign up
Parameter {
Variable "name"
Value "Ki"
Show off
Evaluate off
}
Parameter {
Variable "initial_value"
Value "Ki"
Show off
}
Parameter {
Variable "signal_type"
Value "1"
Show off
}
Parameter {
Variable "max_value"
Value "inf"
Show off
}
Parameter {
Variable "min_value"
Value "-inf"
Show off
}
Parameter {
Variable "access_read"
Value "1"
Show off
}
Parameter {
Variable "access_write"
Value "1"
Show off
}
Parameter {
Variable "sim_output"
Value "1"
Show off
}
Parameter {
Variable "step_time"
Value "[1 2]"
Show off
}
Parameter {
Variable "step_data"
Value "[0 1]"
Show off
}
Parameter {
Variable "can_enabled"
Value "1"
Show off
}
Parameter {
Variable "can_address"
Value "0"
Show off
}
Parameter {
Variable "can_endianness"
Value "2"
Show off
}
Parameter {
Variable "eth_enabled"
Value "1"
Show off
}
Parameter {
Variable "eth_port"
Value "2000"
Show off
}
Parameter {
Variable "eth_endianness"
Value "2"
Show off
}
Parameter {
Variable "TargetPortIndices"
Value ""
Show off
}
Terminal {
Type Output
Position [14, 0]
Direction right
}
}
Component {
Type SignalMux
Name "Mux3"
Show off
Position [635, 95]
Direction right
Flipped off
Parameter {
Variable "Width"
Value "2"
Show off
}
}
Component {
Type Subsystem
Name "Grid synchronization"
Show on
Position [420, 155]
Direction up
Flipped off
Frame [-45, -45; 45, 45]
LabelPosition [0, 48]
LabelAlign up
SampleTime "-1"
CodeGenDiscretizationMethod "2"
CodeGenTarget "Generic"
MaskDisplayLang "2"
MaskIconFrame on
MaskIconOpaque off
MaskIconRotates on
Terminal {
Type Input
Position [-45, -15]
Direction left
}
Terminal {
Type Output
Position [49, -30]
Direction right
}
Terminal {
Type Input
Position [-45, -35]
Direction left
}
Terminal {
Type Output
Position [49, -15]
Direction right
}
Terminal {
Type Output
Position [49, 5]
Direction right
}
Terminal {
Type Input
Position [-45, 10]
Direction left
}
Terminal {
Type Output
Position [49, 30]
Direction right
}
Schematic {
Location [54, 94; 540, 528]
ZoomFactor 1.14437
SliderPosition [0, 0]
ShowBrowser off
BrowserWidth 100
Component {
Type Input
Name "Ig_abc"
Show on
Position [90, 85]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "1"
Show on
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Component {
Type Output
Name "Ig_dq"
Show on
Position [340, 90]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "2"
Show on
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Component {
Type Reference
SrcComponent "Components/Control/Transformations/3ph->RRF"
Name "3ph->RRF"
Show off
Position [190, 90]
Direction up
Flipped off
Frame [-15, -15; 15, 15]
LabelPosition [0, 18]
LabelAlign up
Terminal {
Type Input
Position [-15, -5]
Direction left
}
Terminal {
Type Output
Position [19, 0]
Direction right
}
Terminal {
Type Input
Position [-15, 5]
Direction left
}
}
Component {
Type Reference
SrcComponent "Components/Control/Transformations/3ph->RRF"
Name "3ph->RRF1"
Show off
Position [190, 160]
Direction up
Flipped off
Frame [-15, -15; 15, 15]
LabelPosition [0, 18]
LabelAlign up
Terminal {
Type Input
Position [-15, -5]
Direction left
}
Terminal {
Type Output
Position [19, 0]
Direction right
}
Terminal {
Type Input
Position [-15, 5]
Direction left
}
}
Component {
Type Subsystem
Name "DQ-PLL"
Show on
Position [190, 225]
Direction up
Flipped on
Frame [-25, -15; 25, 15]
LabelPosition [0, 18]
LabelAlign up
SampleTime "-1"
CodeGenDiscretizationMethod "2"
CodeGenTarget "Generic"
MaskType "DQ-PLL"
MaskDescription "This block is a basic Phase-Locked Loop (PLL) t"
"hat is responsible for extracting the phase angle of a set of three-phase vol"
"tages.\n"
"It operates by minimizing the voltage projected on the quadrature axis in a r"
"otating reference frame."
MaskDisplay "local font_size = 9\n"
"\n"
"local function getColor(color)\n"
"\tif color == \"red\" then\n"
"\t\treturn 255, 26, 0\n"
"\telseif color == \"white\" then\n"
"\t\treturn 255, 255, 255\n"
"\telse --black\n"
"\t\treturn 0, 0, 0\n"
"\tend\n"
"end\n"
"local function drawRectangle(x,y,w,h, color) --w=width, h=height\n"
"\tlocal col = color\n"
"\tIcon:color(getColor(col))\n"
"\tIcon:line({x,x+w,x+w,x,x},{y,y,y+h,y+h,y})\n"
"end\n"
"local function drawRectangleFull(x,y,w,h,color)--w=width, h=height\n"
"\tIcon:color(getColor(color))\n"
"\tIcon:patch({x,x+w,x+w,x,x},{y,y,y+h,y+h,y})\n"
"end\n"
"\n"
"--local bb_id = 'Hz'\n"
"--Icon:text(0,-3,bb_id, 'FontSize',font_size)\n"
"\n"
"drawRectangle(-25,-15, 50, 30)\n"
"--drawRectangleFull(-24, -14, 48, 4, \"red\")\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
MaskDisplayLang "2"
MaskIconFrame on
MaskIconOpaque off
MaskIconRotates on
Parameter {
Variable "f0"
Prompt "Nominal frequency [Hz]"
Type FreeText
Value "50"
Show off
Tunable off
TabName ""
}
Parameter {
Variable "Kp"
Prompt "PI controller proportional gain (Kp)"
Type FreeText
Value "5"
Show off
Tunable off
TabName ""
}
Parameter {
Variable "Ki"
Prompt "PI controller integral gain(Ki)"
Type FreeText
Value "2"
Show off
Tunable off
TabName ""
}
Parameter {
Variable "Ts"
Prompt "Sampling interval [s]"
Type FreeText
Value "ControlPeriod"
Show off
Tunable off
TabName ""
}
Terminal {
Type Input
Position [25, 0]
Direction right
}
Terminal {
Type Output
Position [-29, 0]
Direction left
}
Terminal {
Type Input
Position [-25, 10]
Direction left
}
Terminal {
Type Output
Position [-29, -10]
Direction left
}
Schematic {
Location [1036, 471; 1658, 688]
ZoomFactor 1
SliderPosition [0, 0]
ShowBrowser off
BrowserWidth 100
Component {
Type Input
Name "V_dq"
Show on
Position [50, 70]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "1"
Show on
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Component {
Type Output
Name "theta"
Show on
Position [570, 80]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "2"
Show on
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Component {
Type SignalDemux
Name "Demux"
Show off
Position [100, 70]
Direction right
Flipped on
Parameter {
Variable "Width"
Value "2"
Show off
}
}
Component {
Type Sum
Name "Sum"
Show off
Position [235, 75]
Direction up
Flipped off
Parameter {
Variable "IconShape"
Value "2"
Show off
}
Parameter {
Variable "Inputs"
Value "|++"
Show off
}
Parameter {
Variable "DataType"
Value "11"
Show off
}
}
Component {
Type Constant
Name "Constant"
Show off
Position [185, 130]
Direction right
Flipped off
Frame [-30, -10; 30, 10]
LabelPosition [0, 13]
LabelAlign up
Parameter {
Variable "Value"
Value "2*pi*f0"
Show off
}
Parameter {
Variable "DataType"
Value "10"
Show off
}
}
Component {
Type Gain
Name "Gain"
Show off
Position [285, 75]
Direction right
Flipped off
Parameter {
Variable "K"
Value "Ts"
Show off
}
Parameter {
Variable "Multiplication"
Value "1"
Show off
}
Parameter {
Variable "DataType"
Value "11"
Show off
}
}
Component {
Type Math
Name "Math"
Show off
Position [435, 80]
Direction up
Flipped off
Parameter {
Variable "Operator"
Value "6"
Show off
}
}
Component {
Type Sum
Name "Sum1"
Show off
Position [330, 75]
Direction up
Flipped off
Parameter {
Variable "IconShape"
Value "2"
Show off
}
Parameter {
Variable "Inputs"
Value "|++"
Show off
}
Parameter {
Variable "DataType"
Value "11"
Show off
}
}
Component {
Type Constant
Name "Constant1"
Show off
Position [380, 100]
Direction right
Flipped off
Frame [-10, -10; 10, 10]
LabelPosition [0, 13]
LabelAlign up
Parameter {
Variable "Value"
Value "2*pi"
Show off
}
Parameter {
Variable "DataType"
Value "10"
Show off
}
}
Component {
Type Delay
Name "Delay"
Show off
Position [505, 80]
Direction right
Flipped off
Parameter {
Variable "N"
Value "1"
Show off
}
Parameter {
Variable "X0"
Value "0"
Show off
}
Parameter {
Variable "Ts"
Value "Ts"
Show off
}
}
Component {
Type Delay
Name "Delay1"
Show off
Position [400, 140]
Direction left
Flipped off
Parameter {
Variable "N"
Value "1"
Show off
}
Parameter {
Variable "X0"
Value "0"
Show off
}
Parameter {
Variable "Ts"
Value "Ts"
Show off
}
}
Component {
Type Subsystem
Name "PI Controller"
Show on
Position [160, 75]
Direction up
Flipped off
Frame [-35, -20; 35, 20]
LabelPosition [0, 23]
LabelAlign up
SampleTime "-1"
CodeGenDiscretizationMethod "2"
CodeGenTarget "Generic"
MaskType "PI controller with anti-windup"
MaskIconFrame on
MaskIconOpaque off
MaskIconRotates on
Parameter {
Variable "Kp"
Prompt "Kp"
Type FreeText
Value "Kp"
Show off
Tunable on
TabName ""
}
Parameter {
Variable "Ki"
Prompt "Ki"
Type FreeText
Value "Ki"
Show off
Tunable on
TabName ""
}
Terminal {
Type Input
Position [-35, 0]
Direction left
}
Terminal {
Type Output
Position [39, 0]
Direction right
}
Terminal {
Type Input
Position [0, -20]
Direction up
}
Schematic {
Location [12, 48; 401, 245]
ZoomFactor 1
SliderPosition [0, 0]
ShowBrowser off
BrowserWidth 100
Component {
Type Integrator
Name "Integrator"
Show off
Position [215, 110]
Direction right
Flipped off
Parameter {
Variable "ExternalReset"
Value "5"
Show off
}
Parameter {
Variable "InitialConditionSource"
Value "1"
Show off
}
Parameter {
Variable "x0"
Value "0"
Show off
}
Parameter {
Variable "ShowStatePort"
Value "1"
Show off
}
Parameter {
Variable "EnableWrapping"
Value "1"
Show off
}
Parameter {
Variable "UpperLimit"
Value "inf"
Show off
}
Parameter {
Variable "LowerLimit"
Value "-inf"
Show off
}
}
Component {
Type Gain
Name "Kp"
Show off
Position [160, 65]
Direction right
Flipped off
Parameter {
Variable "K"
Value "Kp"
Show off
}
Parameter {
Variable "Multiplication"
Value "1"
Show off
}
Parameter {
Variable "DataType"
Value "11"
Show off
}
}
Component {
Type Gain
Name "Ki"
Show off
Position [160, 105]
Direction right
Flipped off
Parameter {
Variable "K"
Value "Ki"
Show off
}
Parameter {
Variable "Multiplication"
Value "1"
Show off
}
Parameter {
Variable "DataType"
Value "11"
Show off
}
}
Component {
Type Input
Name "in"
Show on
Position [60, 105]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "1"
Show on
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Component {
Type Output
Name "out"
Show on
Position [320, 110]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "2"
Show on
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Component {
Type Sum
Name "Sum1"
Show off
Position [260, 110]
Direction up
Flipped off
Parameter {
Variable "IconShape"
Value "2"
Show off
}
Parameter {
Variable "Inputs"
Value "++|"
Show off
}
Parameter {
Variable "DataType"
Value "11"
Show off
}
}
Component {
Type Input
Name "rst"
Show on
Position [160, 140]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "3"
Show on
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Connection {
Type Signal
SrcComponent "Kp"
SrcTerminal 2
Points [260, 65]
DstComponent "Sum1"
DstTerminal 2
}
Connection {
Type Signal
SrcComponent "Ki"
SrcTerminal 2
DstComponent "Integrator"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "Sum1"
SrcTerminal 1
DstComponent "out"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "in"
SrcTerminal 1
Points [110, 105]
Branch {
DstComponent "Ki"
DstTerminal 1
}
Branch {
Points [110, 65]
DstComponent "Kp"
DstTerminal 1
}
}
Connection {
Type Signal
SrcComponent "rst"
SrcTerminal 1
Points [185, 140]
DstComponent "Integrator"
DstTerminal 3
}
Connection {
Type Signal
SrcComponent "Integrator"
SrcTerminal 2
DstComponent "Sum1"
DstTerminal 3
}
}
}
Component {
Type Input
Name "reset"
Show on
Position [50, 30]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "3"
Show on
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Component {
Type Output
Name "w"
Show on
Position [570, 170]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "4"
Show on
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Connection {
Type Signal
SrcComponent "V_dq"
SrcTerminal 1
DstComponent "Demux"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "PI Controller"
SrcTerminal 2
DstComponent "Sum"
DstTerminal 2
}
Connection {
Type Signal
SrcComponent "Gain"
SrcTerminal 2
DstComponent "Sum1"
DstTerminal 2
}
Connection {
Type Signal
SrcComponent "Constant1"
SrcTerminal 1
Points [400, 100; 400, 85]
DstComponent "Math"
DstTerminal 3
}
Connection {
Type Signal
SrcComponent "Math"
SrcTerminal 1
Points [465, 80]
Branch {
DstComponent "Delay"
DstTerminal 1
}
Branch {
Points [465, 140]
DstComponent "Delay1"
DstTerminal 1
}
}
Connection {
Type Signal
SrcComponent "Delay1"
SrcTerminal 2
Points [330, 140]
DstComponent "Sum1"
DstTerminal 3
}
Connection {
Type Signal
SrcComponent "Demux"
SrcTerminal 3
DstComponent "PI Controller"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "Constant"
SrcTerminal 1
Points [235, 130]
DstComponent "Sum"
DstTerminal 3
}
Connection {
Type Signal
SrcComponent "Delay"
SrcTerminal 2
DstComponent "theta"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "Sum1"
SrcTerminal 1
DstComponent "Math"
DstTerminal 2
}
Connection {
Type Signal
SrcComponent "reset"
SrcTerminal 1
Points [160, 30]
DstComponent "PI Controller"
DstTerminal 3
}
Connection {
Type Signal
SrcComponent "Sum"
SrcTerminal 1
Points [250, 75]
Branch {
DstComponent "Gain"
DstTerminal 1
}
Branch {
Points [250, 170]
DstComponent "w"
DstTerminal 1
}
}
}
}
Component {
Type Input
Name "Vg_abc"
Show on
Position [90, 155]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "3"
Show on
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Component {
Type Output
Name "Vg_dq"
Show on
Position [340, 160]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "4"
Show on
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Component {
Type Output
Name "theta"
Show on
Position [340, 265]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "5"
Show on
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Component {
Type Scope
Name "Grid synchro: angle"
Show off
Position [300, 220]
Direction up
Flipped off
Location [69, 112; 845, 593]
State "AAAA/wAAAAD9AAAAAgAAAAEAAAAAAAAAAPwCAAAAA/sAAAAQA"
"FoAbwBvAG0AQQByAGUAYQAAAAAA/////wAAAFwA////+wAAABQAUwBhAHYAZQBkAFYAaQBlAHcAcw"
"AAAAAA/////wAAAGYA////+wAAAAwAVAByAGEAYwBlAHMAAAAAAP////8AAABmAP///wAAAAMAAAA"
"AAAAAAPwBAAAAAfsAAAAUAEQAYQB0AGEAVwBpAGQAZwBlAHQAAAAAAP////8AAABQAP///wAAAwgA"
"AAHGAAAABAAAAAQAAAAIAAAACPwAAAABAAAAAgAAAAEAAAAOAFQAbwBvAGwAQgBhAHIBAAAAAP///"
"/8AAAAAAAAAAA=="
SavedViews "AAAAAgAAAAA="
HeaderState "AAAA/wAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAL/gMAA"
"AAJAAAABgAAAGQAAAAHAAAAZAAAAAQAAABkAAAABQAAAGQAAAACAAAAZAAAAAMAAABkAAAAAQAAAG"
"QAAAAIAAAAZAAAAAkAAABkAAAAygAAAAsBAAABAAAAAAAAAAAAAAAAZP////8AAACBAAAAAAAAAAs"
"AAACmAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAA"
"AAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAA"
"QAAAAAAAAAkAAAAAQAAAAAAAAPoAAAAACQ="
PlotPalettes "AAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
"AAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
Axes "2"
TimeRange "0"
ScrollingMode "1"
SingleTimeAxis "1"
Open "0"
Ts "-1"
SampleLimit "0"
XAxisLabel "Time [s]"
ShowLegend "2"
Axis {
Name "Grid voltages in dq-frame"
AutoScale 1
MinValue 0
MaxValue 1
Signals {"Vg_d", "Vg_q"}
SignalTypes [ ]
AxisLabel "Voltage [V]"
Untangle 0
KeepBaseline off
BaselineValue 0
}
Axis {
Name "Grid angle"
AutoScale 1
MinValue 0
MaxValue 1
Signals {"theta"}
SignalTypes [ ]
AxisLabel "angle [rad]"
Untangle 0
KeepBaseline off
BaselineValue 0
}
Fourier {
SingleXAxis on
AxisLabel "Frequency"
Scaling 0
PhaseDisplay 0
ShowFourierLegend off
Axis {
Name ""
AutoScale 1
MinValue 0
MaxValue 1
Signals {"Vg_d", "Vg_q"}
Untangle 0
KeepBaseline off
BaselineValue 0
}
Axis {
Name ""
AutoScale 1
MinValue 0
MaxValue 1
Signals {"theta"}
Untangle 0
KeepBaseline off
BaselineValue 0
}
}
}
Component {
Type Input
Name "reset"
Show on
Position [90, 215]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "6"
Show on
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Component {
Type SignalMux
Name "Mux"
Show off
Position [260, 50]
Direction right
Flipped off
Parameter {
Variable "Width"
Value "[3 2]"
Show off
}
}
Component {
Type SignalMux
Name "Mux1"
Show off
Position [260, 125]
Direction right
Flipped off
Parameter {
Variable "Width"
Value "[3 2]"
Show off
}
}
Component {
Type Scope
Name "Grid synchro: voltages"
Show off
Position [300, 125]
Direction up
Flipped off
Location [70, 110; 846, 493]
State "AAAA/wAAAAD9AAAAAgAAAAEAAAAAAAAAAPwCAAAAA/sAAAAQA"
"FoAbwBvAG0AQQByAGUAYQAAAAAA/////wAAADQA////+wAAABQAUwBhAHYAZQBkAFYAaQBlAHcAcw"
"AAAAAA/////wAAAGYA////+wAAAAwAVAByAGEAYwBlAHMAAAAAAP////8AAABmAP///wAAAAMAAAA"
"AAAAAAPwBAAAAAfsAAAAUAEQAYQB0AGEAVwBpAGQAZwBlAHQAAAAAAP////8AAABQAP///wAAAwgA"
"AAFkAAAABAAAAAQAAAAIAAAACPwAAAABAAAAAgAAAAEAAAAOAFQAbwBvAGwAQgBhAHIBAAAAAP///"
"/8AAAAAAAAAAA=="
SavedViews "AAAAAgAAAAA="
HeaderState "AAAA/wAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAL/gMAA"
"AAJAAAABgAAAGQAAAAHAAAAZAAAAAQAAABkAAAABQAAAGQAAAACAAAAZAAAAAMAAABkAAAAAQAAAG"
"QAAAAIAAAAZAAAAAkAAABkAAAA+gAAAAsBAAABAAAAAAAAAAAAAAAAZP////8AAACBAAAAAAAAAAs"
"AAADWAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAA"
"AAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAA"
"QAAAAAAAAAkAAAAAQAAAAAAAAPoAAAAACQ="
PlotPalettes "AAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
Axes "1"
TimeRange "0"
ScrollingMode "1"
SingleTimeAxis "1"
Open "0"
Ts "-1"
SampleLimit "0"
XAxisLabel "Time [s]"
ShowLegend "2"
Axis {
Name "Grid voltages in abc and dq frames"
AutoScale 1
MinValue 0
MaxValue 1
Signals {"Vg_a", "Vg_b", "Vg_c", "Vg_d", "Vg_q"}
SignalTypes [ ]
AxisLabel "Voltage [V]"
Untangle 0
KeepBaseline off
BaselineValue 0
}
Fourier {
SingleXAxis on
AxisLabel "Frequency"
Scaling 0
PhaseDisplay 0
ShowFourierLegend off
Axis {
Name ""
AutoScale 1
MinValue 0
MaxValue 1
Signals {}
Untangle 0
KeepBaseline off
BaselineValue 0
}
}
}
Component {
Type Scope
Name "Grid synchro: currents"
Show off
Position [300, 50]
Direction up
Flipped off
Location [75, 103; 846, 505]
State "AAAA/wAAAAD9AAAAAgAAAAEAAAAAAAAAAPwCAAAAA/sAAAAQA"
"FoAbwBvAG0AQQByAGUAYQAAAAAA/////wAAADQA////+wAAABQAUwBhAHYAZQBkAFYAaQBlAHcAcw"
"AAAAAA/////wAAAGYA////+wAAAAwAVAByAGEAYwBlAHMAAAAAAP////8AAABmAP///wAAAAMAAAA"
"AAAAAAPwBAAAAAfsAAAAUAEQAYQB0AGEAVwBpAGQAZwBlAHQAAAAAAP////8AAABQAP///wAAAwMA"
"AAF3AAAABAAAAAQAAAAIAAAACPwAAAABAAAAAgAAAAEAAAAOAFQAbwBvAGwAQgBhAHIBAAAAAP///"
"/8AAAAAAAAAAA=="
SavedViews "AAAAAgAAAAA="
HeaderState "AAAA/wAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAL/gMAA"
"AAJAAAABgAAAGQAAAAHAAAAZAAAAAQAAABkAAAABQAAAGQAAAACAAAAZAAAAAMAAABkAAAAAQAAAG"
"QAAAAIAAAAZAAAAAkAAABkAAAA+QAAAAsBAAABAAAAAAAAAAAAAAAAZP////8AAACBAAAAAAAAAAs"
"AAADVAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAA"
"AAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAA"
"QAAAAAAAAAkAAAAAQAAAAAAAAPoAAAAACQ="
PlotPalettes "AAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
Axes "1"
TimeRange "0"
ScrollingMode "1"
SingleTimeAxis "1"
Open "0"
Ts "-1"
SampleLimit "0"
XAxisLabel "Time [s]"
ShowLegend "2"
Axis {
Name "Grid currents in abc and dq frames"
AutoScale 1
MinValue 0
MaxValue 1
Signals {"Ig_a", "Ig_b", "Ig_c", "Ig_d", "Ig_q"}
SignalTypes [ ]
AxisLabel "Current [A]"
Untangle 0
KeepBaseline off
BaselineValue 0
}
Fourier {
SingleXAxis on
AxisLabel "Frequency"
Scaling 0
PhaseDisplay 0
ShowFourierLegend off
Axis {
Name ""
AutoScale 1
MinValue 0
MaxValue 1
Signals {}
Untangle 0
KeepBaseline off
BaselineValue 0
}
}
}
Component {
Type Output
Name "w_grid"
Show on
Position [340, 300]
Direction right
Flipped off
Parameter {
Variable "Index"
Value "7"
Show on
}
Parameter {
Variable "Width"
Value "-1"
Show off
}
}
Component {
Type Reference
SrcComponent "Imperix_Control/State and variables/Probe variabl"
"e"
Name "Probe variable"
Show off
Position [225, 325]
Direction up
Flipped off
Frame [-10, -15; 10, 15]
LabelPosition [0, 18]
LabelAlign up
Parameter {
Variable "name"
Value "Grid_freq"
Show off
Evaluate off
}
Parameter {
Variable "access_read"
Value "1"
Show off
}
Parameter {
Variable "signal_type"
Value "1"
Show off
}
Parameter {
Variable "can_enabled"
Value "1"
Show off
}
Parameter {
Variable "can_address"
Value "0"
Show off
}
Parameter {
Variable "can_endianness"
Value "2"
Show off
}
Parameter {
Variable "can_tx_freq"
Value "10"
Show off
}
Parameter {
Variable "eth_enabled"
Value "1"
Show off
}
Parameter {
Variable "eth_port"
Value "2000"
Show off
}
Parameter {
Variable "selected_ip_address"
Value "1"
Show off
}
Parameter {
Variable "eth_endianness"
Value "2"
Show off
}
Parameter {
Variable "eth_tx_freq"
Value "10"
Show off
}
Parameter {
Variable "TargetPortIndices"
Value ""
Show off
}
Terminal {
Type Input
Position [-10, 0]
Direction left
}
}
Component {
Type Gain
Name "Gain"
Show on
Position [180, 325]
Direction right
Flipped off
Parameter {
Variable "K"
Value "1/(2*pi)"
Show off
}
Parameter {
Variable "Multiplication"
Value "1"
Show off
}
Parameter {
Variable "DataType"
Value "10"
Show off
}
}
Connection {
Type Signal
SrcComponent "DQ-PLL"
SrcTerminal 2
Points [130, 225]
Branch {
Points [130, 165]
Branch {
DstComponent "3ph->RRF1"
DstTerminal 3
}
Branch {
Points [130, 95]
DstComponent "3ph->RRF"
DstTerminal 3
}
}
Branch {
Points [130, 265; 260, 265]
Branch {
DstComponent "theta"
DstTerminal 1
}
Branch {
Points [260, 225]
DstComponent "Grid synchro: angle"
DstTerminal 2
}
}
}
Connection {
Type Signal
SrcComponent "reset"
SrcTerminal 1
DstComponent "DQ-PLL"
DstTerminal 3
}
Connection {
Type Signal
SrcComponent "Ig_abc"
SrcTerminal 1
Points [150, 85]
Branch {
DstComponent "3ph->RRF"
DstTerminal 1
}
Branch {
Points [150, 45]
DstComponent "Mux"
DstTerminal 2
}
}
Connection {
Type Signal
SrcComponent "3ph->RRF"
SrcTerminal 2
Points [240, 90]
Branch {
DstComponent "Ig_dq"
DstTerminal 1
}
Branch {
Points [240, 55]
DstComponent "Mux"
DstTerminal 3
}
}
Connection {
Type Signal
SrcComponent "Mux"
SrcTerminal 1
DstComponent "Grid synchro: currents"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "Mux1"
SrcTerminal 1
DstComponent "Grid synchro: voltages"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "3ph->RRF1"
SrcTerminal 2
Points [245, 160]
Branch {
Points [245, 160]
Branch {
Points [260, 160]
Branch {
DstComponent "Vg_dq"
DstTerminal 1
}
Branch {
Points [260, 215]
DstComponent "Grid synchro: angle"
DstTerminal 1
}
}
Branch {
Points [245, 225]
DstComponent "DQ-PLL"
DstTerminal 1
}
}
Branch {
DstComponent "Mux1"
DstTerminal 3
}
}
Connection {
Type Signal
SrcComponent "Vg_abc"
SrcTerminal 1
Points [150, 155]
Branch {
DstComponent "3ph->RRF1"
DstTerminal 1
}
Branch {
Points [150, 120]
DstComponent "Mux1"
DstTerminal 2
}
}
Connection {
Type Signal
SrcComponent "Gain"
SrcTerminal 2
DstComponent "Probe variable"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "DQ-PLL"
SrcTerminal 4
Points [145, 235; 145, 300]
Branch {
DstComponent "w_grid"
DstTerminal 1
}
Branch {
Points [145, 325]
DstComponent "Gain"
DstTerminal 1
}
}
}
}
Component {
Type Goto
Name "Goto5"
Show off
Position [490, 125]
Direction right
Flipped off
Parameter {
Variable "Tag"
Value "I_dq"
Show off
}
Parameter {
Variable "Visibility"
Value "1"
Show off
}
}
Component {
Type Goto
Name "Goto6"
Show off
Position [490, 140]
Direction right
Flipped off
Parameter {
Variable "Tag"
Value "V_dq"
Show off
}
Parameter {
Variable "Visibility"
Value "1"
Show off
}
}
Component {
Type From
Name "From7"
Show off
Position [350, 120]
Direction right
Flipped off
Parameter {
Variable "Tag"
Value "V_abc"
Show off
}
Parameter {
Variable "Visibility"
Value "1"
Show off
}
}
Component {
Type Goto
Name "Goto"
Show off
Position [490, 160]
Direction right
Flipped off
Parameter {
Variable "Tag"
Value "theta"
Show off
}
Parameter {
Variable "Visibility"
Value "1"
Show off
}
}
Component {
Type Goto
Name "Goto8"
Show off
Position [490, 185]
Direction right
Flipped off
Parameter {
Variable "Tag"
Value "w"
Show off
}
Parameter {
Variable "Visibility"
Value "1"
Show off
}
}
Component {
Type From
Name "From8"
Show off
Position [350, 140]
Direction right
Flipped off
Parameter {
Variable "Tag"
Value "I_abc"
Show off
}
Parameter {
Variable "Visibility"
Value "1"
Show off
}
}
Component {
Type Reference
SrcComponent "Imperix_Control/State and variables/Tunable parameter"
Name "Tunable parameter"
Show off
Position [990, 310]
Direction up
Flipped off
Frame [-10, -10; 10, 10]
LabelPosition [0, 13]
LabelAlign up
Parameter {
Variable "name"
Value "activate"
Show off
Evaluate off
}
Parameter {
Variable "initial_value"
Value "0"
Show off
}
Parameter {
Variable "signal_type"
Value "1"
Show off
}
Parameter {
Variable "max_value"
Value "inf"
Show off
}
Parameter {
Variable "min_value"
Value "-inf"
Show off
}
Parameter {
Variable "access_read"
Value "1"
Show off
}
Parameter {
Variable "access_write"
Value "1"
Show off
}
Parameter {
Variable "sim_output"
Value "2"
Show off
}
Parameter {
Variable "step_time"
Value "[0.05]"
Show off
}
Parameter {
Variable "step_data"
Value "[1]"
Show off
}
Parameter {
Variable "can_enabled"
Value "1"
Show off
}
Parameter {
Variable "can_address"
Value "0"
Show off
}
Parameter {
Variable "can_endianness"
Value "2"
Show off
}
Parameter {
Variable "eth_enabled"
Value "1"
Show off
}
Parameter {
Variable "eth_port"
Value "2000"
Show off
}
Parameter {
Variable "eth_endianness"
Value "2"
Show off
}
Parameter {
Variable "TargetPortIndices"
Value ""
Show off
}
Terminal {
Type Output
Position [14, 0]
Direction right
}
}
Component {
Type Goto
Name "Goto9"
Show off
Position [1085, 330]
Direction right
Flipped off
Parameter {
Variable "Tag"
Value "reset"
Show off
}
Parameter {
Variable "Visibility"
Value "1"
Show off
}
}
Component {
Type LogicalOperator
Name "Logical\nOperator"
Show off
Position [1045, 330]
Direction up
Flipped off
Parameter {
Variable "Operator"
Value "6"
Show off
}
Parameter {
Variable "Inputs"
Value "2"
Show off
}
}
Component {
Type From
Name "From9"
Show off
Position [635, 190]
Direction right
Flipped off
Parameter {
Variable "Tag"
Value "reset"
Show off
}
Parameter {
Variable "Visibility"
Value "1"
Show off
}
}
Component {
Type Constant
Name "Constant"
Show off
Position [340, 165]
Direction right
Flipped off
Frame [-10, -10; 10, 10]
LabelPosition [0, 13]
LabelAlign up
Parameter {
Variable "Value"
Value "0"
Show off
}
Parameter {
Variable "DataType"
Value "10"
Show off
}
}
Connection {
Type Event
SrcComponent "Configuration"
SrcTerminal 1
DstComponent "Control Task Trigger"
DstTerminal 1
}
Connection {
Type Event
SrcComponent "Configuration"
SrcTerminal 2
Points [115, 140]
Branch {
DstComponent "I_L"
DstTerminal 2
}
Branch {
Points [115, 210]
Branch {
DstComponent "Vdc"
DstTerminal 2
}
Branch {
DstComponent "V_L"
DstTerminal 2
}
}
}
Connection {
Type Signal
SrcComponent "From3"
SrcTerminal 1
DstComponent "RRF->3ph"
DstTerminal 3
}
Connection {
Type Signal
SrcComponent "Vdc"
SrcTerminal 1
DstComponent "Demux2"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "Divide"
SrcTerminal 1
DstComponent "RRF->3ph"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "From4"
SrcTerminal 1
Points [780, 220]
DstComponent "Divide"
DstTerminal 3
}
Connection {
Type Event
SrcComponent "Configuration"
SrcTerminal 3
Points [1105, 55; 1105, 110]
Branch {
DstComponent "PWM_A"
DstTerminal 4
}
Branch {
Points [1105, 210]
Branch {
DstComponent "PWM_B"
DstTerminal 4
}
Branch {
Points [1105, 310]
DstComponent "PWM_C"
DstTerminal 4
}
}
}
Connection {
Type Signal
SrcComponent "RRF->3ph"
SrcTerminal 2
Points [935, 170]
Branch {
DstComponent "Sum"
DstTerminal 2
}
Branch {
DstComponent "Demux3"
DstTerminal 1
}
}
Connection {
Type Signal
SrcComponent "Constant2"
SrcTerminal 1
DstComponent "Sum"
DstTerminal 3
}
Connection {
Type Signal
SrcComponent "Sum"
SrcTerminal 1
DstComponent "Demux4"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "Mux"
SrcTerminal 1
DstComponent "PWM_A"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "Mux1"
SrcTerminal 1
DstComponent "PWM_B"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "Mux2"
SrcTerminal 1
DstComponent "PWM_C"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "Demux3"
SrcTerminal 2
Points [1030, 160; 1030, 70]
DstComponent "Mux"
DstTerminal 2
}
Connection {
Type Signal
SrcComponent "Demux4"
SrcTerminal 2
Points [1035, 205; 1035, 80]
DstComponent "Mux"
DstTerminal 3
}
Connection {
Type Signal
SrcComponent "Demux3"
SrcTerminal 3
DstComponent "Mux1"
DstTerminal 2
}
Connection {
Type Signal
SrcComponent "Demux4"
SrcTerminal 3
Points [1030, 215; 1030, 180]
DstComponent "Mux1"
DstTerminal 3
}
Connection {
Type Signal
SrcComponent "Demux3"
SrcTerminal 4
Points [1025, 180; 1025, 270]
DstComponent "Mux2"
DstTerminal 2
}
Connection {
Type Signal
SrcComponent "Demux4"
SrcTerminal 4
Points [1030, 225; 1030, 280]
DstComponent "Mux2"
DstTerminal 3
}
Connection {
Type Signal
SrcComponent "Inverter\ncurrent ctrl"
SrcTerminal 2
DstComponent "Divide"
DstTerminal 2
}
Connection {
Type Signal
SrcComponent "Demux2"
SrcTerminal 2
DstComponent "Goto7"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "I_L"
SrcTerminal 1
DstComponent "Goto1"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "V_L"
SrcTerminal 1
DstComponent "Goto2"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "From5"
SrcTerminal 1
DstComponent "Inverter\ncurrent ctrl"
DstTerminal 3
}
Connection {
Type Signal
SrcComponent "From6"
SrcTerminal 1
DstComponent "Inverter\ncurrent ctrl"
DstTerminal 4
}
Connection {
Type Signal
SrcComponent "Tunable parameter2"
SrcTerminal 1
DstComponent "Inverter\ncurrent ctrl"
DstTerminal 6
}
Connection {
Type Signal
SrcComponent "Tunable parameter3"
SrcTerminal 1
DstComponent "Inverter\ncurrent ctrl"
DstTerminal 7
}
Connection {
Type Signal
SrcComponent "Mux3"
SrcTerminal 1
DstComponent "Inverter\ncurrent ctrl"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "I_d_ref"
SrcTerminal 1
DstComponent "Mux3"
DstTerminal 2
}
Connection {
Type Signal
SrcComponent "I_q_ref"
SrcTerminal 1
Points [595, 130; 595, 100]
DstComponent "Mux3"
DstTerminal 3
}
Connection {
Type Signal
SrcComponent "Grid synchronization"
SrcTerminal 2
DstComponent "Goto5"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "Grid synchronization"
SrcTerminal 4
DstComponent "Goto6"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "From7"
SrcTerminal 1
DstComponent "Grid synchronization"
DstTerminal 3
}
Connection {
Type Signal
SrcComponent "Grid synchronization"
SrcTerminal 5
DstComponent "Goto"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "Grid synchronization"
SrcTerminal 7
DstComponent "Goto8"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "From8"
SrcTerminal 1
DstComponent "Grid synchronization"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "Logical\nOperator"
SrcTerminal 1
DstComponent "Goto9"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "Tunable parameter"
SrcTerminal 1
Points [1015, 310]
Branch {
Points [1095, 310; 1095, 285]
Branch {
DstComponent "PWM_C"
DstTerminal 3
}
Branch {
Points [1095, 185]
Branch {
DstComponent "PWM_B"
DstTerminal 3
}
Branch {
Points [1095, 85]
DstComponent "PWM_A"
DstTerminal 3
}
}
}
Branch {
DstComponent "Logical\nOperator"
DstTerminal 2
}
}
Connection {
Type Signal
SrcComponent "From9"
SrcTerminal 1
DstComponent "Inverter\ncurrent ctrl"
DstTerminal 5
}
Connection {
Type Signal
SrcComponent "Constant"
SrcTerminal 1
DstComponent "Grid synchronization"
DstTerminal 6
}
Annotation {
Name "Thermal simulation with Imperix Power library - PEN80"
"18\n(c) imperix Switzerland 2024"
Position [640, 300]
}
}
}
Component {
Type SignalMux
Name "Mux"
Show off
Position [320, 65]
Direction right
Flipped off
Parameter {
Variable "Width"
Value "[3,2,3]"
Show off
}
}
Component {
Type SignalDemux
Name "Demux"
Show off
Position [55, 65]
Direction right
Flipped on
Parameter {
Variable "Width"
Value "[3,2,3]"
Show off
}
}
Connection {
Type Signal
SrcComponent "Demux"
SrcTerminal 2
DstComponent "Controller"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "Demux"
SrcTerminal 3
DstComponent "Controller"
DstTerminal 3
}
Connection {
Type Signal
SrcComponent "Mux"
SrcTerminal 1
Points [345, 65; 345, 130; 25, 130; 25, 65]
DstComponent "Demux"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "Plant"
SrcTerminal 2
DstComponent "Mux"
DstTerminal 3
}
Connection {
Type Signal
SrcComponent "Demux"
SrcTerminal 4
DstComponent "Controller"
DstTerminal 4
}
Connection {
Type Signal
SrcComponent "Plant"
SrcTerminal 4
DstComponent "Mux"
DstTerminal 4
}
Connection {
Type Signal
SrcComponent "Plant"
SrcTerminal 3
DstComponent "Mux"
DstTerminal 2
}
Connection {
Type Signal
SrcComponent "Controller"
SrcTerminal 2
DstComponent "Plant"
DstTerminal 1
}
Connection {
Type Signal
SrcComponent "Controller"
SrcTerminal 6
DstComponent "Plant"
DstTerminal 6
}
Connection {
Type Signal
SrcComponent "Controller"
SrcTerminal 5
DstComponent "Plant"
DstTerminal 5
}
Annotation {
Name "Thermal simulation with Imperix Power library - PEN8018\n"
"(c) imperix Switzerland 2024"
Position [450, 190]
}
Annotation {
Name "Simulation storyboard\n\nAt t=0, the DC bus is already pr"
"echarged at 800V (Vdc0), and the load capacitor is charged at 400V (Vdc0/2)."
"\nThermal simulation is enabled on the DUT (phase A). PWM is disabled.\n\nAt "
"t=0.05s, PLL is synchronized with grid. The PWMs are activated and the dq-axi"
"s PI current controller\nregulates the load current to the reference. \n\nAro"
"und t=1.5s, the system reaches thermal steady state and the junction temperat"
"ure, conduction loss \nand switching loss of the DUT can be read from the sco"
"pes and display blocks."
Position [365, 85]
HorizontalAlignment "left"
}
}
ProbeBlock {
Tag "PN132_PEN8018_validation/Plant/current"
Probe {
Component "DIN50A"
Path "Plant"
Signals {"True value [A]"}
}
Probe {
Component "DIN50A1"
Path "Plant"
Signals {"True value [A]"}
}
Probe {
Component "DIN50A2"
Path "Plant"
Signals {"True value [A]"}
}
}
ProbeBlock {
Tag "PN132_PEN8018_validation/Plant/volt"
Probe {
Component "DIN800V4"
Path "Plant"
Signals {"True value [V]"}
}
Probe {
Component "DIN800V1"
Path "Plant"
Signals {"True value [V]"}
}
Probe {
Component "DIN800V2"
Path "Plant"
Signals {"True value [V]"}
}
}
ProbeBlock {
Tag "PN132_PEN8018_validation/Plant/PEN2/Switches/Thermal/Probe"
Probe {
Component "Q_DC_H"
Path "Plant/PEN2/Switches/Thermal"
Signals {"IGBT switching loss", "IGBT junction temp", "IGBT conduc"
"tion loss"}
}
Probe {
Component "D_DC_H"
Path "Plant/PEN2/Switches/Thermal"
Signals {"Diode switching loss", "Diode conduction loss"}
}
Probe {
Component "Q_AC_H"
Path "Plant/PEN2/Switches/Thermal"
Signals {"IGBT switching loss", "IGBT junction temp", "IGBT conduc"
"tion loss"}
}
Probe {
Component "D_AC_H"
Path "Plant/PEN2/Switches/Thermal"
Signals {"Diode switching loss", "Diode conduction loss"}
}
Probe {
Component "D_NC_H"
Path "Plant/PEN2/Switches/Thermal"
Signals {"Diode switching loss", "Diode conduction loss"}
}
Probe {
Component "Q_DC_L"
Path "Plant/PEN2/Switches/Thermal"
Signals {"IGBT switching loss", "IGBT junction temp", "IGBT conduc"
"tion loss"}
}
Probe {
Component "D_DC_L"
Path "Plant/PEN2/Switches/Thermal"
Signals {"Diode switching loss", "Diode conduction loss"}
}
Probe {
Component "Q_AC_L"
Path "Plant/PEN2/Switches/Thermal"
Signals {"IGBT switching loss", "IGBT junction temp", "IGBT conduc"
"tion loss"}
}
Probe {
Component "D_AC_L"
Path "Plant/PEN2/Switches/Thermal"
Signals {"Diode switching loss", "Diode conduction loss"}
}
Probe {
Component "D_NC_L"
Path "Plant/PEN2/Switches/Thermal"
Signals {"Diode switching loss", "Diode conduction loss"}
}
}
ProbeBlock {
Tag "PN132_PEN8018_validation/Plant/Probe_Tj"
Probe {
Component "PEN_DUT"
Path "Plant"
Signals {base64 "VHJhbnNpc3RvciBEQ19IIGp1bmN0aW9uIHRlbXBlcmF0dXJlI"
"FvCsENd", base64 "VHJhbnNpc3RvciBBQ19IIGp1bmN0aW9uIHRlbXBlcmF0dXJlIFvCsENd", base64 ""
"VHJhbnNpc3RvciBEQ19MIGp1bmN0aW9uIHRlbXBlcmF0dXJlIFvCsENd", base64 "VHJhbnNpc3"
"RvciBBQ19MIGp1bmN0aW9uIHRlbXBlcmF0dXJlIFvCsENd"}
}
}
ProbeBlock {
Tag "PN132_PEN8018_validation/Plant/Probe_Pcond"
Probe {
Component "PEN_DUT"
Path "Plant"
Signals {"Transistor DC_H conduction loss [W]", "Transistor AC_H c"
"onduction loss [W]", "Transistor DC_L conduction loss [W]", "Transistor AC_L "
"conduction loss [W]", "Diode NC_H conduction loss [W]", "Diode NC_L conductio"
"n loss [W]"}
}
}
ProbeBlock {
Tag "PN132_PEN8018_validation/Plant/Probe_Psw"
Probe {
Component "PEN_DUT"
Path "Plant"
Signals {"Transistor DC_H switching loss [W]", "Transistor AC_H sw"
"itching loss [W]", "Transistor DC_L switching loss [W]", "Transistor AC_L swi"
"tching loss [W]", "Diode NC_H switching loss [W]", "Diode NC_L switching loss"
" [W]"}
}
}
ProbeBlock {
Tag "PN132_PEN8018_validation/Plant/PEN3/Switches/Thermal/Probe"
Probe {
Component "Q_DC_H"
Path "Plant/PEN3/Switches/Thermal"
Signals {"IGBT switching loss", "IGBT junction temp", "IGBT conduc"
"tion loss"}
}
Probe {
Component "D_DC_H"
Path "Plant/PEN3/Switches/Thermal"
Signals {"Diode switching loss", "Diode conduction loss"}
}
Probe {
Component "Q_AC_H"
Path "Plant/PEN3/Switches/Thermal"
Signals {"IGBT switching loss", "IGBT junction temp", "IGBT conduc"
"tion loss"}
}
Probe {
Component "D_AC_H"
Path "Plant/PEN3/Switches/Thermal"
Signals {"Diode switching loss", "Diode conduction loss"}
}
Probe {
Component "D_NC_H"
Path "Plant/PEN3/Switches/Thermal"
Signals {"Diode switching loss", "Diode conduction loss"}
}
Probe {
Component "Q_DC_L"
Path "Plant/PEN3/Switches/Thermal"
Signals {"IGBT switching loss", "IGBT junction temp", "IGBT conduc"
"tion loss"}
}
Probe {
Component "D_DC_L"
Path "Plant/PEN3/Switches/Thermal"
Signals {"Diode switching loss", "Diode conduction loss"}
}
Probe {
Component "Q_AC_L"
Path "Plant/PEN3/Switches/Thermal"
Signals {"IGBT switching loss", "IGBT junction temp", "IGBT conduc"
"tion loss"}
}
Probe {
Component "D_AC_L"
Path "Plant/PEN3/Switches/Thermal"
Signals {"Diode switching loss", "Diode conduction loss"}
}
Probe {
Component "D_NC_L"
Path "Plant/PEN3/Switches/Thermal"
Signals {"Diode switching loss", "Diode conduction loss"}
}
}
ProbeBlock {
Tag "PN132_PEN8018_validation/Plant/PEN_DUT/Switches/Thermal/Pro"
"be"
Probe {
Component "Q_DC_H"
Path "Plant/PEN_DUT/Switches/Thermal"
Signals {"IGBT switching loss", "IGBT junction temp", "IGBT conduc"
"tion loss"}
}
Probe {
Component "D_DC_H"
Path "Plant/PEN_DUT/Switches/Thermal"
Signals {"Diode switching loss", "Diode conduction loss"}
}
Probe {
Component "Q_AC_H"
Path "Plant/PEN_DUT/Switches/Thermal"
Signals {"IGBT switching loss", "IGBT junction temp", "IGBT conduc"
"tion loss"}
}
Probe {
Component "D_AC_H"
Path "Plant/PEN_DUT/Switches/Thermal"
Signals {"Diode switching loss", "Diode conduction loss"}
}
Probe {
Component "D_NC_H"
Path "Plant/PEN_DUT/Switches/Thermal"
Signals {"Diode switching loss", "Diode conduction loss"}
}
Probe {
Component "Q_DC_L"
Path "Plant/PEN_DUT/Switches/Thermal"
Signals {"IGBT switching loss", "IGBT junction temp", "IGBT conduc"
"tion loss"}
}
Probe {
Component "D_DC_L"
Path "Plant/PEN_DUT/Switches/Thermal"
Signals {"Diode switching loss", "Diode conduction loss"}
}
Probe {
Component "Q_AC_L"
Path "Plant/PEN_DUT/Switches/Thermal"
Signals {"IGBT switching loss", "IGBT junction temp", "IGBT conduc"
"tion loss"}
}
Probe {
Component "D_AC_L"
Path "Plant/PEN_DUT/Switches/Thermal"
Signals {"Diode switching loss", "Diode conduction loss"}
}
Probe {
Component "D_NC_L"
Path "Plant/PEN_DUT/Switches/Thermal"
Signals {"Diode switching loss", "Diode conduction loss"}
}
}
}
DemoSignature "VM6+pNZDHEbSmrhUOe6S0i2Hc7eYqbeJh/pxpLyMjtI="