Plecs { Name "Boost_Openloop" Version "4.4" CircuitModel "ContStateSpace" StartTime "0.0" StopTime "0.4" Timeout "" Solver "radau" MaxStep "1e-3" InitStep "-1" FixedStep "1e-3" Refine "1" ZCStepSize "1e-9" RelTol "1e-3" AbsTol "-1" TurnOnThreshold "0" SyncFixedStepTasks "2" UseSingleCommonBaseRate "2" LossVariableLimitExceededMsg "3" NegativeSwitchLossMsg "3" DivisionByZeroMsg "2" StiffnessDetectionMsg "2" MaxConsecutiveZCs "1000" AlgebraicLoopWithStateMachineMsg "3" AssertionAction "1" InitializationCommands "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" "%%%%%%\n% Parameters for the 'Buck Converter' system\n% Copyright imperix ltd" ", 2021\n% dev@imperix.ch\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" "%%%%%%%\n\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n%% SYS" "TEM PARAMETERS\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n" "\nf_clk0 = 20e3; % Control frequency [Hz]\nControlPeriod = 1/f_clk0; % Contro" "l period [s]\n\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n%" "% SETPOINTS\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n\nVd" "c = 20; % Initial DC bus voltage [V]\n\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" "%%%%%%%%%%%%%%%%%%%%%\n%% PLANT PARAMETERS\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" "%%%%%%%%%%%%%%%%%%%%%%%%%\n\nLb = 2.2e-3; % Inductor value [H]\nRb = 0.0; % S" "eries equivalent resistance of Lb [ohm]\n\nCl = 0.5e-3 % Output capacitor val" "ue [F]\nRl = 120; % Output resistor value [ohm]\n" 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 "" ScriptsDialogSplitterPos "0" Schematic { Location [3, 34; 525, 365] ZoomFactor 1 SliderPosition [0, 0] ShowBrowser off BrowserWidth 100 Component { Type Subsystem Name "Imperix controller" Show on Position [155, 175] Direction up Flipped off Frame [-60, -35; 60, 35] LabelPosition [0, 38] LabelAlign up TreatAsAtomicUnit on SampleTime "-1" TaskingMode "1" CodeGenEnable on CodeGenSampleTime "1/f_clk0" CodeGenDiscretizationMethod "2" CodeGenTarget "Imperix Controllers" CodeGenTargetSettings "AAAAfwAAAAAlUU1hcDxRU3RyaW5nLFFNYXA8UVN0cmluZyxRU" "3RyaW5nPiA+AAAAAAEAAAAmAEkAbQBwAGUAcgBpAHgAIABDAG8AbgB0AHIAbwBsAGwAZQByAHMAAA" "AGAAAAEABlAHQAaABfAGkAcABfADMAAAAAAAAAEABlAHQAaABfAGkAcABfADIAAAAAAAAAEABlAHQ" "AaABfAGkAcABfADEAAAAAAAAAEABlAHQAaABfAGkAcABfADAAAAAAAAAASABlAG4AYQBiAGwAZQBf" "AHMAdQBiAHQAYQBzAGsAXwB6AGUAcgBvAF8AbwByAGQAZQByAF8AaABvAGwAZABfAGQAZQBsAGEAe" "QAAAAIAMQAAABoAYwBhAG4AXwBiAGEAdQBkAF8AcgBhAHQAZQAAAA4AMQAwADAAMAAwADAAMA==" MaskDisplayLang "2" MaskIconFrame on MaskIconOpaque off MaskIconRotates on Terminal { Type Input Position [-60, -20] Direction left Index "1" } Terminal { Type Output Position [64, 0] Direction right Index "1" } Terminal { Type Input Position [-60, 20] Direction left Index "2" } Terminal { Type Input Position [-60, 0] Direction left Index "3" } Schematic { Location [529, 34; 1043, 365] ZoomFactor 1 SliderPosition [0, 0] ShowBrowser off BrowserWidth 100 Component { Type Reference SrcComponent "Imperix_Control/Configuration" Name "Configuration" Show on Position [45, 50] 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 "24" Show off } Parameter { Variable "adc_acq_delay" Value "1" Show off } Parameter { Variable "cycle_delay" Value "1e-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/ADC" Name "Iout_meas" Show on Position [145, 90] 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" Show off } Parameter { Variable "adc_hist" Value "1" Show off } Parameter { Variable "adc_hist_depth" Value "24" Show off } Parameter { Variable "sensor" Value "1" Show off } Parameter { Variable "sensor_gain" Value "0.05" Show off } Parameter { Variable "sensor_offset" Value "0.0" Show off } Parameter { Variable "analog_gain" Value "2" 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 Reference SrcComponent "Imperix_Control/CB_PWM" Name "PWM" Show on Position [460, 175] 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" 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 "1" Show off } Parameter { Variable "rate" Value "1" Show off } Parameter { Variable "duty" Value "0.5" Show off } Parameter { Variable "phase" Value "0" Show off } Parameter { Variable "block_input_clock" Value "2" Show off } Parameter { Variable "dead_time" Value "1e-6" Show off } Parameter { Variable "sim_dead_time" Value "1" Show off } Parameter { Variable "TargetPortIndices" Value "2" Show off } Terminal { Type Input Position [-30, -10] 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 ControlTaskTrigger Name "Control Task Trigger" Show on Position [145, 35] 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}\nend\nlocal Require = ResourceList:new()\n\nRequire:a" "dd(Target.Coder.GetCtrlTaskTrigResource(0))\n\nreturn {\n\tRequire = Require" "\n}" Show off } } Component { Type Reference SrcComponent "Imperix_Control/ADC" Name "Vout_meas" Show on Position [145, 230] 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 "2" Show off } Parameter { Variable "adc_hist" Value "1" Show off } Parameter { Variable "adc_hist_depth" Value "2" Show off } Parameter { Variable "sensor" Value "1" Show off } Parameter { Variable "sensor_gain" Value "0.01" Show off } Parameter { Variable "sensor_offset" Value "0.0" Show off } Parameter { Variable "analog_gain" Value "2" 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/ADC" Name "Vin_meas" Show on Position [145, 160] 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 "1" Show off } Parameter { Variable "adc_hist" Value "1" Show off } Parameter { Variable "adc_hist_depth" Value "2" Show off } Parameter { Variable "sensor" Value "1" Show off } Parameter { Variable "sensor_gain" Value "0.00246" Show off } Parameter { Variable "sensor_offset" Value "0.0" Show off } Parameter { Variable "analog_gain" 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 Reference SrcComponent "Imperix_Control/Tunable parameter" Name "Tunable parameter" Show off Position [250, 195] Direction up Flipped off Frame [-10, -10; 10, 10] LabelPosition [0, 13] LabelAlign up Parameter { Variable "name" Value "Vout_ref" Show off Evaluate off } Parameter { Variable "initial_value" Value "100" 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 "eth_enabled" Value "1" Show off } Parameter { Variable "eth_port" Value "2000" Show off } Parameter { Variable "eth_endianness" Value "2" Show off } Parameter { Variable "sim_output" Value "1" Show off } Parameter { Variable "step_time" Value "" Show off } Parameter { Variable "step_data" Value "" Show off } Parameter { Variable "TargetPortIndices" Value "" Show off } Terminal { Type Output Position [14, 0] Direction right } } Component { Type Reference SrcComponent "Imperix_Control/Probe variable" Name "Probe variable" Show off Position [225, 90] Direction up Flipped off Frame [-10, -15; 10, 15] LabelPosition [0, 18] LabelAlign up Parameter { Variable "name" Value "Iout_meas" Show off Evaluate 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 Reference SrcComponent "Imperix_Control/Probe variable" Name "Probe variable1" Show off Position [225, 250] Direction up Flipped off Frame [-10, -15; 10, 15] LabelPosition [0, 18] LabelAlign up Parameter { Variable "name" Value "Vout_meas" Show off Evaluate 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 Reference SrcComponent "Imperix_Control/Probe variable" Name "Probe variable2" Show off Position [225, 140] Direction up Flipped off Frame [-10, -15; 10, 15] LabelPosition [0, 18] LabelAlign up Parameter { Variable "name" Value "Vin_meas" Show off Evaluate 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 Product Name "Divide" Show off Position [335, 165] Direction up Flipped off Parameter { Variable "Inputs" Value "*/" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Scope Name "Scope" Show on Position [365, 225] Direction up Flipped off Location [7, 34; 438, 417] State "AAAA/wAAAAD9AAAAAgAAAAEAAAAAAAAAAPwCAAAAA/sAAAAQAFoAb" "wBvAG0AQQByAGUAYQAAAAAA/////wAAADQA////+wAAABQAUwBhAHYAZQBkAFYAaQBlAHcAcwAAAA" "AA/////wAAAGYA////+wAAAAwAVAByAGEAYwBlAHMAAAAAAP////8AAABmAP///wAAAAMAAAAAAAA" "AAPwBAAAAAfsAAAAUAEQAYQB0AGEAVwBpAGQAZwBlAHQAAAAAAP////8AAABQAP///wAAAa8AAAFk" "AAAABAAAAAQAAAAIAAAACPwAAAABAAAAAgAAAAEAAAAOAFQAbwBvAGwAQgBhAHIBAAAAAP////8AA" "AAAAAAAAA==" SavedViews "AAAAAgAAAAA=" HeaderState "AAAA/wAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAL/gMAAAAJA" "AAACAAAAGQAAAAJAAAAZAAAAAQAAABkAAAABQAAAGQAAAAGAAAAZAAAAAcAAABkAAAAAQAAAGQAAA" "ACAAAAZAAAAAMAAABkAAAAngAAAAsBAAABAAAAAAAAAAAAAAAAZP////8AAACBAAAAAAAAAAsAAAB" "3AAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAA" "AAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAA" "AAAAAAnAAAAAQAAAAAAAAPoAAAAACc=" PlotPalettes "AAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" Axes "1" TimeRange "0.0" ScrollingMode "1" SingleTimeAxis "1" Open "0" Ts "-1" SampleLimit "0" XAxisLabel "" ShowLegend "2" Axis { Name "" AutoScale 1 MinValue 0 MaxValue 1 Signals {"Vout_ref"} SignalTypes [ ] 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 {"Vout_ref"} Untangle 0 KeepBaseline off BaselineValue 0 } } } Component { Type SignalMux Name "Mux" Show off Position [320, 225] Direction right Flipped off Parameter { Variable "Width" Value "2" Show off } } Connection { Type Event SrcComponent "Configuration" SrcTerminal 1 DstComponent "Control Task Trigger" DstTerminal 1 } Connection { Type Event SrcComponent "Configuration" SrcTerminal 3 Points [400, 45; 400, 195] DstComponent "PWM" DstTerminal 4 } Connection { Type Event SrcComponent "Configuration" SrcTerminal 2 Points [90, 55; 90, 105] Branch { Points [90, 175] Branch { Points [90, 245] DstComponent "Vout_meas" DstTerminal 2 } Branch { DstComponent "Vin_meas" DstTerminal 2 } } Branch { DstComponent "Iout_meas" DstTerminal 2 } } Connection { Type Signal SrcComponent "Iout_meas" SrcTerminal 1 DstComponent "Probe variable" DstTerminal 1 } Connection { Type Signal SrcComponent "Divide" SrcTerminal 1 DstComponent "PWM" DstTerminal 1 } Connection { Type Signal SrcComponent "Vin_meas" SrcTerminal 1 Points [195, 160] Branch { DstComponent "Divide" DstTerminal 2 } Branch { Points [195, 140] DstComponent "Probe variable2" DstTerminal 1 } } Connection { Type Signal SrcComponent "Mux" SrcTerminal 1 DstComponent "Scope" DstTerminal 1 } Connection { Type Signal SrcComponent "Vout_meas" SrcTerminal 1 Points [200, 230] Branch { DstComponent "Probe variable1" DstTerminal 1 } Branch { DstComponent "Mux" DstTerminal 3 } } Connection { Type Signal SrcComponent "Tunable parameter" SrcTerminal 1 Points [295, 195] Branch { Points [295, 170] DstComponent "Divide" DstTerminal 3 } Branch { Points [295, 220] DstComponent "Mux" DstTerminal 2 } } Annotation { Name "Boost Converter Open-Loop Control\nimperix Ltd. 2021" Position [265, 300] } } } Component { Type Subsystem Name "Plant" Show on Position [335, 175] Direction up Flipped off Frame [-60, -35; 60, 35] LabelPosition [0, 38] LabelAlign up TreatAsAtomicUnit on SampleTime "-1" CodeGenDiscretizationMethod "2" CodeGenTarget "Generic" MaskDisplayLang "2" MaskIconFrame on MaskIconOpaque off MaskIconRotates on Terminal { Type Output Position [64, 0] Direction right Index "1" } Terminal { Type Output Position [64, 25] Direction right Index "2" } Terminal { Type Output Position [64, -25] Direction right Index "3" } Terminal { Type Input Position [-60, 0] Direction left Index "1" } Schematic { Location [3, 445; 756, 747] ZoomFactor 1 SliderPosition [0, 0] ShowBrowser off BrowserWidth 100 Component { Type PlecsProbe Name "Vin" Show on Position [620, 30] Direction left Flipped on } Component { Type Scope Name "Waveforms" Show on Position [210, 70] Direction up Flipped off Location [6, 37; 442, 411] State "AAAA/wAAAAD9AAAAAgAAAAEAAAAAAAAAAPwCAAAAA/sAAAAQAFoAb" "wBvAG0AQQByAGUAYQAAAAAA/////wAAAFwA////+wAAABQAUwBhAHYAZQBkAFYAaQBlAHcAcwAAAA" "AA/////wAAAGYA////+wAAAAwAVAByAGEAYwBlAHMAAAAAAP////8AAABmAP///wAAAAMAAAAAAAA" "AAPwBAAAAAfsAAAAUAEQAYQB0AGEAVwBpAGQAZwBlAHQAAAAAAP////8AAABQAP///wAAAbQAAAFb" "AAAABAAAAAQAAAAIAAAACPwAAAABAAAAAgAAAAEAAAAOAFQAbwBvAGwAQgBhAHIBAAAAAP////8AA" "AAAAAAAAA==" SavedViews "AAAAAgAAAAA=" HeaderState "AAAA/wAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAL/gMAAAAJA" "AAACAAAAGQAAAAJAAAAZAAAAAQAAABkAAAABQAAAGQAAAAGAAAAZAAAAAcAAABkAAAAAQAAAGQAAA" "ACAAAAZAAAAAMAAABkAAAAngAAAAsBAAABAAAAAAAAAAAAAAAAZP////8AAACBAAAAAAAAAAsAAAB" "3AAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAA" "AAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAA" "AAAAAAnAAAAAQAAAAAAAAPoAAAAACc=" PlotPalettes "AAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "QAAAAEAAAABAAAAAQL//y7g///MzAAAAAAAAQAAAAEAAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAQ" "AAAAE/8AAAAAAAAAAAAAEAAAABAA==" Axes "2" TimeRange "0" ScrollingMode "1" SingleTimeAxis "1" Open "0" Ts "-1" SampleLimit "0" XAxisLabel "" ShowLegend "2" Axis { Name "DC bus voltage" AutoScale 1 MinValue 0 MaxValue 1 Signals {"Vdc", "Vout"} SignalTypes [ ] AxisLabel "Voltage [V]" Untangle 0 KeepBaseline off BaselineValue 0 } Axis { Name "Inductor current" AutoScale 1 MinValue 0 MaxValue 1 Signals {"Iout"} 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 {"Vdc", "Vout"} Untangle 0 KeepBaseline off BaselineValue 0 } Axis { Name "" AutoScale 1 MinValue 0 MaxValue 1 Signals {"Iout"} Untangle 0 KeepBaseline off BaselineValue 0 } } } Component { Type VoltageSource Name "V" Show on Position [90, 235] Direction down Flipped on Parameter { Variable "DiscretizationBehavior" Value "2" Show off } Parameter { Variable "StateSpaceInlining" Value "1" Show off } } Component { Type Capacitor Name "Cl" Show on Position [485, 215] Direction down Flipped on Parameter { Variable "C" Value "Cl" Show off } Parameter { Variable "v_init" Value "20" Show off } } Component { Type Resistor Name "Rl" Show on Position [560, 215] Direction down Flipped on Parameter { Variable "R" Value "Rl" Show off } } Component { Type PlecsProbe Name "Vout" Show on Position [620, 70] Direction left Flipped on } Component { Type PlecsProbe Name "I_out" Show on Position [620, 110] Direction left Flipped on } Component { Type PlecsProbe Name "Output voltage" Show on Position [75, 85] Direction left Flipped on } Component { Type PlecsProbe Name "Input voltage" Show on Position [75, 45] Direction left Flipped on } Component { Type Output Name "Vin_meas" Show on Position [685, 30] Direction right Flipped off Parameter { Variable "Index" Value "1" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Output Name "Vout_meas" Show on Position [685, 70] Direction right Flipped off Parameter { Variable "Index" Value "2" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Output Name "Iout_meas" Show on Position [685, 110] Direction right Flipped off Parameter { Variable "Index" Value "3" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Input Name "PWM" Show on Position [310, 100] Direction left Flipped on Parameter { Variable "Index" Value "4" Show on } Parameter { Variable "DataType" Value "10" Show off } Parameter { Variable "Width" Value "-1" Show off } } Component { Type PlecsProbe Name "Output current" Show on Position [75, 125] Direction left Flipped on } Component { Type SignalMux Name "Mux" Show off Position [140, 65] Direction right Flipped off Parameter { Variable "Width" Value "2" Show off } } Component { Type ConfigurableSubsystem Name "M" Show on Position [325, 210] Direction down Flipped on Frame [-25, -50; 25, 50] LabelPosition [28, 0] LabelAlign left SampleTime "-1" CodeGenSampleTime "NaN" CodeGenDiscretizationMethod "2" CodeGenTarget "Generic" MaskType "PEB" MaskDisplay "local function drawRectangleFull(x,y,w,h,color)\n\tIc" "on:color(221,4,45)\n\tIcon:line({x,x+w,x+w,x,x},{y,y,y+h,y+h,y})\nend\n\nloca" "l function drawSwitch(x, y, symbol)\n Icon:line(Vector{0, 0}+x,\n " " Vector{-25, -10}+y)\n Icon:line(Vector{0, 0}+x,\n Vector{10, 25}" "+y)\n if (symbol == \"1\" or symbol == \"2\" or symbol == \"3\") then\n I" "con:line(Vector{0, -10}+x,\n Vector{-10, -10}+y)\n Icon:line(" "Vector{-10, 0}+x,\n Vector{10, 10}+y)\n Icon:line(Vector{-10," " -10}+x,\n Vector{-13, -7}+y)\n Icon:line(Vector{-10, -10}+x," "\n Vector{-3, 3}+y)\n Icon:line(Vector{-10, -10}+x,\n " " Vector{13, 7}+y)\n Icon:line(Vector{-15, -15}+x,\n Vect" "or{10, -10}+y)\n Icon:line(Vector{-15, -20}+x,\n Vector{0, 0}" "+y)\n Icon:line(Vector{-10, 0, 0}+x,\n Vector{0, 0, 10}+y)\n " " Icon:line(Vector{-4, -8, -4}+x,\n Vector{2, 0, -2}+y)\n else" "\n Icon:line(Vector{0, -10}+x,\n Vector{-10, -4}+y)\n Icon" ":line(Vector{-10, 0}+x,\n Vector{4, 10}+y)\n Icon:line(Vector" "{-10, -10}+x,\n Vector{8, -8}+y)\n Icon:line(Vector{-14, -14}" "+x,\n Vector{8, -8}+y)\n Icon:line(Vector{-5.65, -1.667, -3.8" "64}+x,\n Vector{8.634, 9, 5.658}+y)\n Icon:line(Vector{-14, -" "20}+x,\n Vector{0, 0}+y)\n end\n Icon:line(Vector{0, 10, 10}+x" ",\n Vector{-14, -14, -6}+y)\n Icon:line(Vector{10, 10, 0}+x,\n " " Vector{6, 14, 14}+y)\n Icon:line(Vector{3, 17}+x,\n Vect" "or{-6, -6}+y)\n Icon:line(Vector{10, 17, 3, 10}+x,\n Vector{-6, 6" ", 6, -6}+y)\nend\n\nlocal symbol = Dialog:get('type');\n\ndrawRectangleFull(-" "25,-50,50,100)\ndrawRectangleFull(-24,-49,48,98)\nIcon:color(0,0,0)\n\ndrawSw" "itch(0, -30, symbol)\ndrawSwitch(0, 30, symbol)\n\nIcon:line({0,25},{0,0}) --" "Midpoint outpout\nIcon:line({0,0},{-10,10}) --Midpoint interconnection\nIcon:" "circle(0,0,1)\nIcon:line({0,0},{50,45}) -- +VCC point\nIcon:line({0,0},{-50,-" "45}) -- -VCC point\n\nif (symbol == \"1\") then\n\tIcon:text(0,-65,\"PEB8024" "\", 'FontSize',9)\nelseif (symbol == \"2\") then\n\tIcon:text(0,-65,\"PEB8032" "\", 'FontSize',9)\nelseif (symbol == \"3\") then\n\tIcon:text(0,-65,\"PEB8038" "\", 'FontSize',9)\nelseif (symbol == \"4\") then\n\tIcon:text(0,-65,\"PEB4046" "\", 'FontSize',9)\nelseif (symbol == \"5\") then\n\tIcon:text(0,-65,\"PEB4050" "\", 'FontSize',9)\nend" MaskDisplayLang "2" MaskIconFrame off MaskIconOpaque off MaskIconRotates on MaskInit "switch type\n\tcase 1\n\t\tSV = 0.00499;\n\t\tSI = 0." "05;\n\t\tC = 260e-6;\n\tcase 2\n\t\tSV = 0.0025;\n\t\tSI = 0.05;\n\t\tC = 260" "e-6;\n\tcase 3\n\t\tSV = 0.00499;\n\t\tSI = 0.05;\n\t\tC = 600e-6;\n\tcase 4" "\n\t\tSV = 0.005;\n\t\tSI = 0.05;\n\t\tC = 1.2e-3;\n\tcase 5\n\t\tSV = 0.01;" "\n\t\tSI = 0.05;\n\t\tC = 1.1e-3;\nend" Parameter { Variable "type" Prompt "Module type" Type FixedText PossibleValues {"PEB8024", "PEB8032", "PEB8038", "PEB4046", "PEB40" "50"} Value "5" Show off Tunable off TabName "" } Parameter { Variable "V0" Prompt "Initial DC bus voltage" Type FreeText Value "Vdc" Show off Tunable off TabName "" } Terminal { Type Input Position [-25, 10] Direction left } Terminal { Type Output Position [29, 30] Direction right } Terminal { Type Port Position [0, -55] Direction up } Terminal { Type Port Position [0, 55] Direction down } Terminal { Type Port Position [30, 0] Direction right } Terminal { Type Output Position [29, 40] Direction right } TerminalNames { "s", "I", "VDC+", "VDC-", "AC", "V" } Location [343, 737; 1151, 1144] ZoomFactor 1 SliderPosition [0, 0] ShowBrowser off BrowserWidth 100 Configurations { Name "Ideal model" Schematic { Component { Type Input Name "s" Show on Position [235, 180] Direction right Flipped off Parameter { Variable "Index" Value "1" Show on } Parameter { Variable "Width" Value "2" Show off } } Component { Type Output Name "I" Show on Position [510, 95] Direction right Flipped off Parameter { Variable "Index" Value "2" Show on } Parameter { Variable "Width" Value "1" Show off } } Component { Type Port Name "AC" Show off Position [485, 150] Direction right Flipped on Parameter { Variable "Index" Value "5" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Ammeter Name "Iac" Show off Position [420, 150] Direction left Flipped off } Component { Type Port Name "VDC+" Show off Position [285, 90] Direction right Flipped off Parameter { Variable "Index" Value "3" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Port Name "VDC-" Show off Position [285, 220] 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 [280, 180] Direction right Flipped on Parameter { Variable "Width" Value "2" Show off } } Component { Type Capacitor Name "C" Show on Position [315, 145] Direction up Flipped off Parameter { Variable "C" Value "C" Show off } Parameter { Variable "v_init" Value "V0" Show off } } Component { Type Gain Name "Si" Show on Position [460, 95] Direction right Flipped off Parameter { Variable "K" Value "SI" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "11" Show off } } Component { Type Voltmeter Name "Vdc" Show off Position [395, 195] Direction up Flipped off } Component { Type Output Name "V" Show on Position [510, 195] Direction right Flipped off Parameter { Variable "Index" Value "6" Show on } Parameter { Variable "Width" Value "1" Show off } } Component { Type MosfetWithDiode Name "S1" Show off Position [355, 125] Direction up Flipped off Parameter { Variable "Ron" Value "0" Show off } Parameter { Variable "s_init" Value "0" Show off } Parameter { Variable "thermal" Value "" Show off } Parameter { Variable "T_init" Value "0" Show off } } Component { Type MosfetWithDiode Name "S0" Show off Position [355, 185] Direction up Flipped off Parameter { Variable "Ron" Value "0" Show off } Parameter { Variable "s_init" Value "0" Show off } Parameter { Variable "thermal" Value "" Show off } Parameter { Variable "T_init" Value "0" Show off } } Component { Type Resistor Name "ESR" Show off Position [315, 185] Direction down Flipped off Parameter { Variable "R" Value "0.02" Show off } } Component { Type Gain Name "Sv" Show on Position [460, 195] Direction right Flipped off Parameter { Variable "K" Value "SV" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "11" Show off } } Connection { Type Wire SrcComponent "AC" SrcTerminal 1 DstComponent "Iac" DstTerminal 2 } Connection { Type Signal SrcComponent "s" SrcTerminal 1 DstComponent "Demux" DstTerminal 1 } Connection { Type Wire SrcComponent "S0" SrcTerminal 2 Points [355, 220] Branch { Points [315, 220] Branch { DstComponent "VDC-" DstTerminal 1 } Branch { DstComponent "ESR" DstTerminal 1 } } Branch { Points [395, 220] DstComponent "Vdc" DstTerminal 2 } } Connection { Type Wire SrcComponent "VDC+" SrcTerminal 1 Points [315, 90] Branch { Points [355, 90] Branch { DstComponent "S1" DstTerminal 1 } Branch { Points [395, 90] DstComponent "Vdc" DstTerminal 1 } } Branch { DstComponent "C" DstTerminal 1 } } Connection { Type Signal SrcComponent "Vdc" SrcTerminal 3 DstComponent "Sv" DstTerminal 1 } Connection { Type Signal SrcComponent "Demux" SrcTerminal 2 Points [290, 175; 290, 125] DstComponent "S1" DstTerminal 3 } Connection { Type Wire SrcComponent "Iac" SrcTerminal 1 Points [355, 150] Branch { DstComponent "S0" DstTerminal 1 } Branch { DstComponent "S1" DstTerminal 2 } } Connection { Type Signal SrcComponent "Demux" SrcTerminal 3 DstComponent "S0" DstTerminal 3 } Connection { Type Wire SrcComponent "ESR" SrcTerminal 2 DstComponent "C" DstTerminal 2 } Connection { Type Signal SrcComponent "Iac" SrcTerminal 3 Points [420, 95] DstComponent "Si" DstTerminal 1 } Connection { Type Signal SrcComponent "Si" SrcTerminal 2 DstComponent "I" DstTerminal 1 } Connection { Type Signal SrcComponent "Sv" SrcTerminal 2 DstComponent "V" DstTerminal 1 } } Name "Ideal averaged (PLECS)" Schematic { Component { Type Input Name "s" Show on Position [45, 160] Direction right Flipped off Parameter { Variable "Index" Value "1" Show on } Parameter { Variable "Width" Value "2" Show off } } Component { Type Output Name "I" Show on Position [740, 105] Direction right Flipped off Parameter { Variable "Index" Value "2" Show on } Parameter { Variable "Width" Value "1" Show off } } Component { Type Port Name "AC" Show off Position [715, 160] Direction right Flipped on Parameter { Variable "Index" Value "5" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Port Name "VDC+" Show off Position [95, 40] Direction right Flipped off Parameter { Variable "Index" Value "3" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Port Name "VDC-" Show off Position [95, 280] Direction right Flipped off Parameter { Variable "Index" Value "4" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Output Name "V" Show on Position [740, 205] Direction right Flipped off Parameter { Variable "Index" Value "6" Show on } Parameter { Variable "Width" Value "1" Show off } } Component { Type SignalDemux Name "Demux" Show off Position [95, 160] Direction left Flipped off Parameter { Variable "Width" Value "2" Show off } } Component { Type Voltmeter Name "v_dc" Show on Position [375, 160] Direction up Flipped off } Component { Type VoltageSource Name "V2" Show on Position [605, 230] Direction down Flipped on Parameter { Variable "DiscretizationBehavior" Value "1" Show off } Parameter { Variable "StateSpaceInlining" Value "1" Show off } } Component { Type VoltageSource Name "V1" Show on Position [605, 90] Direction down Flipped on Parameter { Variable "DiscretizationBehavior" Value "1" Show off } Parameter { Variable "StateSpaceInlining" Value "1" Show off } } Component { Type Product Name "Product1" Show off Position [525, 90] Direction up Flipped off Parameter { Variable "Inputs" Value "2" Show off } Parameter { Variable "DataType" Value "11" Show off } } Component { Type Product Name "Product2" Show off Position [310, 120] Direction right Flipped on Parameter { Variable "Inputs" Value "2" Show off } Parameter { Variable "DataType" Value "11" Show off } } Component { Type CurrentSource Name "i_dc" Show on Position [245, 160] Direction up Flipped on Parameter { Variable "DiscretizationBehavior" Value "1" Show off } Parameter { Variable "StateSpaceInlining" Value "1" Show off } } Component { Type Ammeter Name "Am1" Show on Position [555, 60] Direction down Flipped on } Component { Type Offset Name "Offset" Show off Position [196, 85] Direction right Flipped off Frame [-20, -10; 20, 10] LabelPosition [0, 13] LabelAlign up Parameter { Variable "Offset" Value "-1" Show off } Parameter { Variable "DataType" Value "11" Show off } } Component { Type Product Name "Product3" Show off Position [525, 230] Direction up Flipped off Parameter { Variable "Inputs" Value "2" Show off } Parameter { Variable "DataType" Value "11" Show off } } Component { Type Product Name "Product4" Show off Position [310, 200] Direction left Flipped off Parameter { Variable "Inputs" Value "2" Show off } Parameter { Variable "DataType" Value "11" Show off } } Component { Type DiodePair Name "D1" Show on Position [605, 160] Direction up Flipped off } Component { Type Ammeter Name "Am2" Show on Position [555, 260] Direction down Flipped on } Component { Type Sum Name "Sum" Show off Position [310, 160] Direction down Flipped on Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "+|+" Show off } Parameter { Variable "DataType" Value "11" Show off } } Component { Type Reference SrcComponent "Components/Electrical/Power Modules/Boost1/Sub-" "cycle average/Data Type\\nCheck" Name "Data Type\nCheck" Show off Position [55, 85] Direction down Flipped on Frame [-20, -15; 20, 15] LabelPosition [0, 18] LabelAlign up Parameter { Variable "TargetPortIndices" Value "" Show off } Terminal { Type Input Position [-20, 0] Direction left } } Component { Type Reference SrcComponent "Components/Electrical/Power Modules/Boost1/Sub-" "cycle average/Data Type\\nCheck" Name "Data Type\nCheck1" Show off Position [55, 235] Direction down Flipped on Frame [-20, -15; 20, 15] LabelPosition [0, 18] LabelAlign up Parameter { Variable "TargetPortIndices" Value "" Show off } Terminal { Type Input Position [-20, 0] Direction left } } Component { Type Ammeter Name "Iac" Show off Position [645, 160] Direction left Flipped off } Component { Type Gain Name "Si" Show on Position [685, 105] Direction right Flipped off Parameter { Variable "K" Value "0.05" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "11" Show off } } Component { Type Gain Name "Sv" Show on Position [685, 205] Direction right Flipped off Parameter { Variable "K" Value "0.0025" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "11" Show off } } Component { Type Capacitor Name "C" Show on Position [420, 120] Direction up Flipped off Parameter { Variable "C" Value "260e-6" Show off } Parameter { Variable "v_init" Value "V0" Show off } } Component { Type Resistor Name "ESR" Show off Position [420, 205] Direction down Flipped off Parameter { Variable "R" Value "0.02" Show off } } Connection { Type Signal SrcComponent "s" SrcTerminal 1 DstComponent "Demux" DstTerminal 1 } Connection { Type Wire SrcComponent "Am2" SrcTerminal 1 Points [555, 160] Branch { Points [495, 160; 495, 280; 420, 280] Branch { Points [375, 280] Branch { Points [245, 280] Branch { DstComponent "i_dc" DstTerminal 2 } Branch { DstComponent "VDC-" DstTerminal 1 } } Branch { DstComponent "v_dc" DstTerminal 2 } } Branch { DstComponent "ESR" DstTerminal 1 } } Branch { DstComponent "Am1" DstTerminal 2 } } Connection { Type Signal SrcComponent "Product3" SrcTerminal 1 DstComponent "V2" DstTerminal 3 } Connection { Type Signal SrcComponent "Product1" SrcTerminal 1 DstComponent "V1" DstTerminal 3 } Connection { Type Wire SrcComponent "D1" SrcTerminal 3 DstComponent "V2" DstTerminal 1 } Connection { Type Wire SrcComponent "V1" SrcTerminal 2 DstComponent "D1" DstTerminal 1 } Connection { Type Signal SrcComponent "Am2" SrcTerminal 3 Points [315, 260] DstComponent "Product4" DstTerminal 3 } Connection { Type Signal SrcComponent "Product2" SrcTerminal 1 DstComponent "Sum" DstTerminal 2 } Connection { Type Signal SrcComponent "Product4" SrcTerminal 1 DstComponent "Sum" DstTerminal 3 } Connection { Type Signal SrcComponent "Sum" SrcTerminal 1 DstComponent "i_dc" DstTerminal 3 } Connection { Type Wire SrcComponent "i_dc" SrcTerminal 1 Points [245, 40] Branch { DstComponent "VDC+" DstTerminal 1 } Branch { Points [375, 40] Branch { DstComponent "v_dc" DstTerminal 1 } Branch { Points [420, 40] DstComponent "C" DstTerminal 1 } } } Connection { Type Signal SrcComponent "Am1" SrcTerminal 3 Points [315, 60] DstComponent "Product2" DstTerminal 3 } Connection { Type Signal SrcComponent "Offset" SrcTerminal 2 Points [305, 85] Branch { DstComponent "Product2" DstTerminal 2 } Branch { DstComponent "Product1" DstTerminal 2 } } Connection { Type Signal SrcComponent "Iac" SrcTerminal 3 Points [645, 105] DstComponent "Si" DstTerminal 1 } Connection { Type Wire SrcComponent "Iac" SrcTerminal 2 DstComponent "AC" DstTerminal 1 } Connection { Type Wire SrcComponent "Iac" SrcTerminal 1 DstComponent "D1" DstTerminal 2 } Connection { Type Signal SrcComponent "Si" SrcTerminal 2 DstComponent "I" DstTerminal 1 } Connection { Type Signal SrcComponent "Sv" SrcTerminal 2 DstComponent "V" DstTerminal 1 } Connection { Type Wire SrcComponent "Am1" SrcTerminal 1 Points [605, 40] DstComponent "V1" DstTerminal 1 } Connection { Type Wire SrcComponent "V2" SrcTerminal 2 Points [605, 280] DstComponent "Am2" DstTerminal 2 } Connection { Type Signal SrcComponent "v_dc" SrcTerminal 3 Points [475, 160] Branch { Points [475, 95] DstComponent "Product1" DstTerminal 3 } Branch { Points [475, 205] Branch { Points [475, 225] DstComponent "Product3" DstTerminal 2 } Branch { DstComponent "Sv" DstTerminal 1 } } } Connection { Type Wire SrcComponent "ESR" SrcTerminal 2 DstComponent "C" DstTerminal 2 } Connection { Type Signal SrcComponent "Demux" SrcTerminal 2 Points [105, 165; 105, 235] Branch { Points [305, 235] Branch { DstComponent "Product4" DstTerminal 2 } Branch { DstComponent "Product3" DstTerminal 3 } } Branch { DstComponent "Data Type\nCheck1" DstTerminal 1 } } Connection { Type Signal SrcComponent "Demux" SrcTerminal 3 Points [105, 155; 105, 85] Branch { DstComponent "Offset" DstTerminal 1 } Branch { DstComponent "Data Type\nCheck" DstTerminal 1 } } } } Parameter { Variable "Configuration" Value "1" Show off } MaskProbe { Name "Gate signals" Probe { Component "s" Path "Ideal model" Signals {"Output"} } Probe { Component "s" Path "Ideal averaged (PLECS)" Signals {"Output"} } } MaskProbe { Name "DC bus voltage (true value)" Probe { Component "Vdc" Path "Ideal model" Signals {"Measured voltage"} } Probe { Component "v_dc" Path "Ideal averaged (PLECS)" Signals {"Measured voltage"} } } MaskProbe { Name "DC bus voltage (sensor signal)" Probe { Component "V" Path "Ideal model" Signals {"Input"} } Probe { Component "V" Path "Ideal averaged (PLECS)" Signals {"Input"} } } MaskProbe { Name "Output current (true value)" Probe { Component "Iac" Path "Ideal model" Signals {"Measured current"} } Probe { Component "Iac" Path "Ideal averaged (PLECS)" Signals {"Measured current"} } } MaskProbe { Name "Output current (sensor signal)" Probe { Component "I" Path "Ideal model" Signals {"Input"} } Probe { Component "I" Path "Ideal averaged (PLECS)" Signals {"Input"} } } } Component { Type ConfigurableSubsystem Name "Vin_m" Show on Position [170, 240] Direction up Flipped off Frame [-10, -15; 10, 15] LabelPosition [-13, 0] LabelAlign right SampleTime "-1" CodeGenSampleTime "NaN" CodeGenDiscretizationMethod "2" CodeGenTarget "Generic" MaskType "DIN800V" MaskDisplay "Icon:color(221,4,45)\nIcon:circle(0,0,9)\nIcon:circle" "(0,0,10)\n\nIcon:color(0,0,0)\nIcon:line({0,0}, {-20,-10})\nIcon:line({0,0}, " "{20,10})\n\nIcon:line({2,6}, {-15,-15})\nIcon:line({4,4}, {-13,-17})\n\nIcon:" "text(0,-0.,\"V\", 'FontSize',11)" MaskDisplayLang "2" MaskIconFrame off MaskIconOpaque on MaskIconRotates on MaskInit "tau = 1/(100e3*2*pi);" Terminal { Type Output Position [14, 0] Direction right } Terminal { Type Port Position [0, -20] Direction up } Terminal { Type Port Position [0, 20] Direction down } TerminalNames { "M", "In", "Out" } Location [1271, 784; 1651, 971] ZoomFactor 1 SliderPosition [0, 0] ShowBrowser off BrowserWidth 100 Configurations { Name "Ideal model" Schematic { Component { Type Output Name "M" Show on Position [290, 90] Direction right Flipped off Parameter { Variable "Index" Value "1" Show on } Parameter { Variable "Width" Value "1" Show off } } Component { Type Gain Name "Si" Show on Position [220, 90] Direction right Flipped off Parameter { Variable "K" Value "0.00246" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "11" Show off } } Component { Type Port Name "In" Show on Position [165, 45] Direction down Flipped off Parameter { Variable "Index" Value "2" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Port Name "Out" Show on Position [165, 140] Direction down Flipped on Parameter { Variable "Index" Value "3" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Voltmeter Name "Voltmeter" Show on Position [165, 90] Direction up Flipped off } Connection { Type Signal SrcComponent "Voltmeter" SrcTerminal 3 DstComponent "Si" DstTerminal 1 } Connection { Type Signal SrcComponent "Si" SrcTerminal 2 DstComponent "M" DstTerminal 1 } Connection { Type Wire SrcComponent "In" SrcTerminal 1 DstComponent "Voltmeter" DstTerminal 1 } Connection { Type Wire SrcComponent "Out" SrcTerminal 1 DstComponent "Voltmeter" DstTerminal 2 } } Name "First-order model" Schematic { Component { Type Output Name "M" Show on Position [305, 90] Direction right Flipped off Parameter { Variable "Index" Value "1" Show on } Parameter { Variable "Width" Value "1" Show off } } Component { Type Port Name "In" Show on Position [130, 45] Direction down Flipped off Parameter { Variable "Index" Value "2" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Port Name "Out" Show on Position [130, 135] Direction up Flipped off Parameter { Variable "Index" Value "3" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type TransferFunction Name "LPF1" Show off Position [245, 90] Direction right Flipped off Frame [-30, -15; 30, 15] LabelPosition [0, 18] LabelAlign up Parameter { Variable "Numerator" Value "[1]" Show off } Parameter { Variable "Denominator" Value "[tau 1]" Show off } Parameter { Variable "X0" Value "0" Show off } } Component { Type Gain Name "Si" Show on Position [185, 90] Direction right Flipped off Parameter { Variable "K" Value "2.46e-3" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "11" Show off } } Component { Type Voltmeter Name "Voltmeter" Show on Position [130, 90] Direction up Flipped off } Connection { Type Signal SrcComponent "LPF1" SrcTerminal 2 DstComponent "M" DstTerminal 1 } Connection { Type Signal SrcComponent "Voltmeter" SrcTerminal 3 DstComponent "Si" DstTerminal 1 } Connection { Type Signal SrcComponent "Si" SrcTerminal 2 DstComponent "LPF1" DstTerminal 1 } Connection { Type Wire SrcComponent "Voltmeter" SrcTerminal 1 DstComponent "In" DstTerminal 1 } Connection { Type Wire SrcComponent "Voltmeter" SrcTerminal 2 DstComponent "Out" DstTerminal 1 } } } Parameter { Variable "Configuration" Value "1" Show off } MaskProbe { Name "True voltage value" Probe { Component "Voltmeter" Path "Ideal model" Signals {"Measured voltage"} } Probe { Component "Voltmeter" Path "First-order model" Signals {"Measured voltage"} } } MaskProbe { Name "Sensor output" Probe { Component "M" Path "Ideal model" Signals {"Input"} } Probe { Component "M" Path "First-order model" Signals {"Input"} } } } Component { Type Inductor Name "Lb" Show on Position [265, 210] Direction left Flipped off Parameter { Variable "L" Value "Lb" Show off } Parameter { Variable "i_init" Value "0" Show off } } Component { Type Resistor Name "Rb" Show on Position [220, 210] Direction left Flipped off Parameter { Variable "R" Value "Rb" Show off } } Component { Type Constant Name "Constant" Show off Position [40, 235] Direction right Flipped off Frame [-15, -10; 15, 10] LabelPosition [0, 13] LabelAlign up Parameter { Variable "Value" Value "Vdc" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type SignalDemux Name "Demux" Show off Position [365, 100] Direction right Flipped on Parameter { Variable "Width" Value "2" Show off } } Component { Type SignalMux Name "Mux1" Show off Position [375, 220] Direction left Flipped off Parameter { Variable "Width" Value "2" Show off } } Component { Type Constant Name "Constant1" Show off Position [415, 225] Direction left Flipped off Frame [-10, -10; 10, 10] LabelPosition [0, -13] LabelAlign down Parameter { Variable "Value" Value "0" Show off } Parameter { Variable "DataType" Value "10" Show off } } Connection { Type Signal SrcComponent "Vin" SrcTerminal 1 DstComponent "Vin_meas" DstTerminal 1 } Connection { Type Signal SrcComponent "Input voltage" SrcTerminal 1 Points [115, 45; 115, 60] DstComponent "Mux" DstTerminal 2 } Connection { Type Signal SrcComponent "Mux" SrcTerminal 1 DstComponent "Waveforms" DstTerminal 1 } Connection { Type Signal SrcComponent "I_out" SrcTerminal 1 DstComponent "Iout_meas" DstTerminal 1 } Connection { Type Signal SrcComponent "Output current" SrcTerminal 1 Points [160, 125; 160, 75] DstComponent "Waveforms" DstTerminal 2 } Connection { Type Wire SrcComponent "M" SrcTerminal 5 DstComponent "Lb" DstTerminal 2 } Connection { Type Wire SrcComponent "M" SrcTerminal 4 Points [325, 270] Branch { Points [170, 270] Branch { Points [90, 270] DstComponent "V" DstTerminal 2 } Branch { DstComponent "Vin_m" DstTerminal 3 } } Branch { Points [485, 270] Branch { Points [560, 270] DstComponent "Rl" DstTerminal 2 } Branch { DstComponent "Cl" DstTerminal 2 } } } Connection { Type Wire SrcComponent "Rb" SrcTerminal 2 DstComponent "Lb" DstTerminal 1 } Connection { Type Signal SrcComponent "Constant" SrcTerminal 1 DstComponent "V" DstTerminal 3 } Connection { Type Signal SrcComponent "Output voltage" SrcTerminal 1 Points [115, 85; 115, 70] DstComponent "Mux" DstTerminal 3 } Connection { Type Signal SrcComponent "Vout" SrcTerminal 1 DstComponent "Vout_meas" DstTerminal 1 } Connection { Type Wire SrcComponent "V" SrcTerminal 1 Points [90, 210; 170, 210] Branch { DstComponent "Rb" DstTerminal 1 } Branch { DstComponent "Vin_m" DstTerminal 2 } } Connection { Type Signal SrcComponent "Mux1" SrcTerminal 1 DstComponent "M" DstTerminal 1 } Connection { Type Signal SrcComponent "PWM" SrcTerminal 1 DstComponent "Demux" DstTerminal 1 } Connection { Type Signal SrcComponent "Demux" SrcTerminal 3 Points [395, 105; 395, 215] DstComponent "Mux1" DstTerminal 3 } Connection { Type Signal SrcComponent "Constant1" SrcTerminal 1 DstComponent "Mux1" DstTerminal 2 } Connection { Type Wire SrcComponent "M" SrcTerminal 3 Points [485, 155] Branch { Points [560, 155] DstComponent "Rl" DstTerminal 1 } Branch { DstComponent "Cl" DstTerminal 1 } } Annotation { Name "Boost converter\nimperix Ltd. 2021" Position [650, 255] } Annotation { Name "Only the PWM LOW fiber\nis physically connected." Position [465, 100] } } } Component { Type SignalMux Name "Mux" Show off Position [420, 175] Direction right Flipped off Parameter { Variable "Width" Value "3" Show off } } Component { Type SignalDemux Name "Demux" Show off Position [70, 175] Direction right Flipped on Parameter { Variable "Width" Value "3" Show off } } Connection { Type Signal SrcComponent "Imperix controller" SrcTerminal 2 DstComponent "Plant" DstTerminal 4 } Connection { Type Signal SrcComponent "Demux" SrcTerminal 2 Points [80, 165] DstComponent "Imperix controller" DstTerminal 1 } Connection { Type Signal SrcComponent "Demux" SrcTerminal 3 DstComponent "Imperix controller" DstTerminal 4 } Connection { Type Signal SrcComponent "Demux" SrcTerminal 4 Points [80, 185] DstComponent "Imperix controller" DstTerminal 3 } Connection { Type Signal SrcComponent "Plant" SrcTerminal 1 DstComponent "Mux" DstTerminal 3 } Connection { Type Signal SrcComponent "Plant" SrcTerminal 3 Points [405, 150] DstComponent "Mux" DstTerminal 2 } Connection { Type Signal SrcComponent "Plant" SrcTerminal 2 Points [405, 200] DstComponent "Mux" DstTerminal 4 } Connection { Type Signal SrcComponent "Mux" SrcTerminal 1 Points [445, 175; 445, 235; 45, 235; 45, 175] DstComponent "Demux" DstTerminal 1 } Annotation { Name "Contains the simulation model of\nthe controlled system." Position [335, 100] } Annotation { Name "Contains the control implementation\nthat can be simulate" "d or executed\non an imperix target\n(B-Box RCP or B-Board PRO)" Position [160, 95] } Annotation { Name "Boost Converter Open-Loop Control\nimperix Ltd. 2021" Position [245, 265] } } ProbeBlock { Tag "Boost_Openloop/Plant/Vin" Probe { Component "Vin_m" Path "Plant" Signals {"Sensor output"} } } ProbeBlock { Tag "Boost_Openloop/Plant/Vout" Probe { Component "M" Path "Plant" Signals {"DC bus voltage (sensor signal)"} } } ProbeBlock { Tag "Boost_Openloop/Plant/I_out" Probe { Component "M" Path "Plant" Signals {"Output current (sensor signal)"} } } ProbeBlock { Tag "Boost_Openloop/Plant/Output voltage" Probe { Component "Rl" Path "Plant" Signals {"Resistor voltage"} } } ProbeBlock { Tag "Boost_Openloop/Plant/Input voltage" Probe { Component "V" Path "Plant" Signals {"Source voltage"} } } ProbeBlock { Tag "Boost_Openloop/Plant/Output current" Probe { Component "Rl" Path "Plant" Signals {"Resistor current"} } } } DemoSignature "PfWzeBLAyg8NFUQsap7MnXT0TIiOOTTsKHwDJX2wD/o="