Plecs { Name "BuckBoost_Openloop" Version "4.4" CircuitModel "ContStateSpace" StartTime "0.0" StopTime "0.6" 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-Boost Converter' system\n% Copyright imper" "ix ltd, 2021\n% dev@imperix.ch\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" "%%%%%%%%%%%%%\n\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n" "%% SYSTEM PARAMETERS\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" "%%%\n\nf_clk0 = 20e3; % Control frequency [Hz]\nControlPeriod = 1/f_clk0; % " "Control period [s]\n\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" "%%%\n%% SETPOINTS\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" "\n\nVdc = 50; % Initial DC bus voltage [V]\n\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" "%%%%%%%%%%%%%%%%%%%%%%%%%%%\n%% PLANT PARAMETERS\n%%%%%%%%%%%%%%%%%%%%%%%%%%%" "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n\nLb = 2.2e-3; % Inductor value [H]\nRb = 0." "0; % Series equivalent resistance of Lb [ohm]\n\nCl = 0.5e-3 % Output capacit" "or value [F]\nRl = 60; % 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 [5, 37; 523, 363] ZoomFactor 1 SliderPosition [0, 0] ShowBrowser off BrowserWidth 100 Component { Type Subsystem Name "Imperix controller" Show on Position [165, 150] 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, -25] Direction left Index "1" } Terminal { Type Output Position [64, 0] Direction right Index "1" } Terminal { Type Input Position [-60, 25] Direction left Index "2" } Terminal { Type Input Position [-60, 0] Direction left Index "3" } Schematic { Location [526, 37; 1167, 363] 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 [540, 160] 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.00246" Show off } Parameter { Variable "sensor_offset" Value "0.0" Show off } Parameter { Variable "analog_gain" 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/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 [275, 130] 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 "0" 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 "2" Show off } Parameter { Variable "step_time" Value "[0 0.2 0.4]" Show off } Parameter { Variable "step_data" Value "[25 50 75]" 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, 180] 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 on Position [430, 150] Direction up Flipped off Parameter { Variable "Inputs" Value "*/" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum1" Show off Position [355, 155] 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 Scope Name "Scope" Show on Position [450, 225] Direction up Flipped off Location [9, 39; 502, 416] State "AAAA/wAAAAD9AAAAAgAAAAEAAAAAAAAAAPwCAAAAA/sAAAAQAFoAb" "wBvAG0AQQByAGUAYQAAAAAA/////wAAADQA////+wAAABQAUwBhAHYAZQBkAFYAaQBlAHcAcwAAAA" "AA/////wAAAGYA////+wAAAAwAVAByAGEAYwBlAHMAAAAAAP////8AAABmAP///wAAAAMAAAAAAAA" "AAPwBAAAAAfsAAAAUAEQAYQB0AGEAVwBpAGQAZwBlAHQAAAAAAP////8AAABQAP///wAAAe0AAAFe" "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", "Vout_meas"} 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", "Vout_meas"} Untangle 0 KeepBaseline off BaselineValue 0 } } } Component { Type SignalMux Name "Mux" Show off Position [405, 225] Direction right Flipped off Parameter { Variable "Width" Value "2" Show off } } Component { Type Gain Name "Gain" Show off Position [350, 230] Direction right Flipped off Parameter { Variable "K" Value "-1" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "11" Show off } } Connection { Type Event SrcComponent "Configuration" SrcTerminal 1 DstComponent "Control Task Trigger" DstTerminal 1 } Connection { Type Event SrcComponent "Configuration" SrcTerminal 3 Points [475, 45; 475, 180] 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 "Sum1" SrcTerminal 1 DstComponent "Divide" DstTerminal 3 } Connection { Type Signal SrcComponent "Vin_meas" SrcTerminal 1 Points [190, 160] Branch { DstComponent "Sum1" DstTerminal 3 } Branch { Points [190, 180] DstComponent "Probe variable2" DstTerminal 1 } } Connection { Type Signal SrcComponent "Divide" SrcTerminal 1 DstComponent "PWM" DstTerminal 1 } Connection { Type Signal SrcComponent "Tunable parameter" SrcTerminal 1 Points [320, 130] Branch { Points [385, 130; 385, 145] Branch { Points [385, 220] DstComponent "Mux" DstTerminal 2 } Branch { DstComponent "Divide" DstTerminal 2 } } Branch { Points [320, 150] DstComponent "Sum1" DstTerminal 2 } } 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 "Gain" DstTerminal 1 } } Connection { Type Signal SrcComponent "Gain" SrcTerminal 2 DstComponent "Mux" DstTerminal 3 } Annotation { Name "Buck-Boost Converter Open-Loop Control\nimperix Ltd. " "2021" Position [155, 300] } Annotation { Name "The output\nvoltage is inverted." Position [350, 260] } } } Component { Type Subsystem Name "Plant" Show on Position [345, 150] 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 [6, 447; 723, 753] ZoomFactor 0.999998 SliderPosition [0, 0] ShowBrowser off BrowserWidth 100 Component { Type PlecsProbe Name "Vin" Show on Position [600, 50] Direction left Flipped on } Component { Type VoltageSource Name "V" Show on Position [85, 200] 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 [455, 200] Direction down Flipped on Parameter { Variable "C" Value "500e-6" Show off } Parameter { Variable "v_init" Value "0" Show off } } Component { Type Resistor Name "Rl" Show on Position [510, 200] Direction down Flipped on Parameter { Variable "R" Value "8.5" Show off } } Component { Type PlecsProbe Name "Vout" Show on Position [600, 90] Direction left Flipped on } Component { Type PlecsProbe Name "I_L" Show on Position [600, 130] Direction left Flipped on } Component { Type Output Name "Vin_meas" Show on Position [665, 50] 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 [665, 90] 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 [665, 130] Direction right Flipped off Parameter { Variable "Index" Value "3" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type ConfigurableSubsystem Name "M" Show on Position [255, 130] Direction right Flipped on Frame [-50, -25; 50, 25] LabelPosition [0, -28] LabelAlign down 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,\"\", 'Fo" "ntSize',9)\nelseif (symbol == \"4\") then\n\tIcon:text(0,-65,\"PEB4046\", 'Fo" "ntSize',9)\nelseif (symbol == \"5\") then\n\tIcon:text(0,-65,\"PEB4050\", 'Fo" "ntSize',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 [165, 200] 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 [1745, 813; 2125, 1000] 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 Constant Name "Constant" Show on Position [35, 200] 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 Inductor Name "Lb" Show on Position [255, 190] Direction down Flipped on Parameter { Variable "L" Value "Lb" Show off } Parameter { Variable "i_init" Value "0" Show off } } Component { Type Resistor Name "Rb" Show on Position [255, 240] Direction down Flipped on Parameter { Variable "R" Value "Rb" Show off } } Component { Type ConfigurableSubsystem Name "Vout_m" Show on Position [365, 200] 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 [1745, 813; 2125, 1000] 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 Resistor Name "Rs" Show on Position [85, 160] Direction down Flipped on Parameter { Variable "R" Value "0.1" Show off } } Component { Type Input Name "PWM" Show on Position [120, 45] 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 SignalDemux Name "Demux" Show off Position [175, 45] Direction right Flipped on Parameter { Variable "Width" Value "2" Show off } } Component { Type SignalMux Name "Mux1" Show off Position [265, 75] Direction down Flipped off Parameter { Variable "Width" Value "2" Show off } } Component { Type Constant Name "Constant1" Show off Position [230, 60] 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 Signal SrcComponent "Vin" SrcTerminal 1 DstComponent "Vin_meas" DstTerminal 1 } Connection { Type Signal SrcComponent "Vout" SrcTerminal 1 DstComponent "Vout_meas" DstTerminal 1 } Connection { Type Signal SrcComponent "I_L" SrcTerminal 1 DstComponent "Iout_meas" DstTerminal 1 } Connection { Type Wire SrcComponent "Rl" SrcTerminal 2 Points [510, 265; 455, 265] Branch { Points [365, 265] Branch { Points [255, 265] Branch { Points [165, 265] Branch { Points [85, 265] DstComponent "V" DstTerminal 2 } Branch { DstComponent "Vin_m" DstTerminal 3 } } Branch { DstComponent "Rb" DstTerminal 2 } } Branch { DstComponent "Vout_m" DstTerminal 3 } } Branch { DstComponent "Cl" DstTerminal 2 } } Connection { Type Signal SrcComponent "Constant" SrcTerminal 1 DstComponent "V" DstTerminal 3 } Connection { Type Wire SrcComponent "Rb" SrcTerminal 1 DstComponent "Lb" DstTerminal 2 } Connection { Type Wire SrcComponent "Lb" SrcTerminal 1 DstComponent "M" DstTerminal 5 } Connection { Type Wire SrcComponent "Rl" SrcTerminal 1 Points [510, 130; 455, 130] Branch { DstComponent "Cl" DstTerminal 1 } Branch { Points [365, 130] Branch { DstComponent "M" DstTerminal 4 } Branch { DstComponent "Vout_m" DstTerminal 2 } } } Connection { Type Wire SrcComponent "Vin_m" SrcTerminal 2 Points [165, 130] Branch { DstComponent "M" DstTerminal 3 } Branch { Points [85, 130] DstComponent "Rs" DstTerminal 1 } } Connection { Type Wire SrcComponent "V" SrcTerminal 1 DstComponent "Rs" DstTerminal 2 } Connection { Type Signal SrcComponent "PWM" SrcTerminal 1 DstComponent "Demux" DstTerminal 1 } Connection { Type Signal SrcComponent "Constant1" SrcTerminal 1 DstComponent "Mux1" DstTerminal 3 } Connection { Type Signal SrcComponent "Demux" SrcTerminal 2 Points [270, 40] DstComponent "Mux1" DstTerminal 2 } Connection { Type Signal SrcComponent "Mux1" SrcTerminal 1 DstComponent "M" DstTerminal 1 } Annotation { Name "Buck-Boost Converter\nimperix Ltd. 2021" Position [625, 250] } Annotation { Name "Only the PWM HIGH fiber\nis physically connected. " Position [395, 65] } } } Component { Type SignalMux Name "Mux" Show off Position [435, 150] Direction right Flipped off Parameter { Variable "Width" Value "3" Show off } } Component { Type SignalDemux Name "Demux" Show off Position [80, 150] Direction right Flipped on Parameter { Variable "Width" Value "3" Show off } } Connection { Type Signal SrcComponent "Demux" SrcTerminal 2 Points [90, 140] 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 [90, 160] DstComponent "Imperix controller" DstTerminal 3 } Connection { Type Signal SrcComponent "Plant" SrcTerminal 1 DstComponent "Mux" DstTerminal 3 } Connection { Type Signal SrcComponent "Plant" SrcTerminal 3 Points [415, 125; 415, 140] DstComponent "Mux" DstTerminal 2 } Connection { Type Signal SrcComponent "Plant" SrcTerminal 2 Points [415, 175; 415, 160] DstComponent "Mux" DstTerminal 4 } Connection { Type Signal SrcComponent "Mux" SrcTerminal 1 Points [455, 150; 455, 210; 50, 210; 50, 150] DstComponent "Demux" DstTerminal 1 } Connection { Type Signal SrcComponent "Imperix controller" SrcTerminal 2 DstComponent "Plant" DstTerminal 4 } Annotation { Name "Contains the simulation model of\nthe controlled system." Position [340, 75] } 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 [155, 70] } Annotation { Name "Buck-Boost Converter Open-Loop Control\nimperix Ltd. 2021" Position [250, 240] } } ProbeBlock { Tag "BuckBoost_Openloop/Plant/Vin" Probe { Component "Vin_m" Path "Plant" Signals {"Sensor output"} } } ProbeBlock { Tag "BuckBoost_Openloop/Plant/Vout" Probe { Component "Vout_m" Path "Plant" Signals {"Sensor output"} } } ProbeBlock { Tag "BuckBoost_Openloop/Plant/I_L" Probe { Component "M" Path "Plant" Signals {"Output current (sensor signal)"} } } } DemoSignature "RoVDImrHjmJp9jwQXimJ0EfbyZIzucdP32MfyNDBYX8="