Plecs { Name "SOGI_PLECS" Version "4.5" CircuitModel "ContStateSpace" StartTime "0.0" TimeSpan "1.0" Timeout "" Solver "auto" 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 "3" StiffnessDetectionMsg "2" MaxConsecutiveZCs "1000" AlgebraicLoopWithStateMachineMsg "3" AssertionAction "1" InitializationCommands "" 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 [49, 57; 911, 540] ZoomFactor 1.71498 SliderPosition [0, 0] ShowBrowser off BrowserWidth 100 Component { Type Subsystem Name "DSOGI-PLL" Show on Position [90, 145] Direction up Flipped off Frame [-25, -20; 25, 20] LabelPosition [0, 23] LabelAlign up SampleTime "-1" CodeGenDiscretizationMethod "2" CodeGenTarget "Generic" MaskType "DSOGI-PLL" MaskDescription "This block implements a standardized synchronous frame " "PLL. This means that the gain does not depend on the input voltage norm.\n" "\n" "Return values are in radian [0.2pi[ for the phase, in rad/s for the frequency" " and in the same unit as the input for the voltage.\n" "\n" "More informations are available in the Help section." MaskHelp "https://imperix.com/doc/implementation/sogi-pll" MaskDisplayLang "2" MaskIconFrame on MaskIconOpaque off MaskIconRotates on MaskInit "if dcOffset_actv ==2\n" "\tkdc = 0;\n" "\tmaxDCoffset = 0;\n" "end\n" "\n" "if f_out ==2 \n" "\tfc = 9999;\n" "end" MaskDialogCallback "-- Dispaly Kp and Ki only if Advanced is configured" "\n" "if Dialog:get('f_out') == '1' then\n" "\tDialog:set('fc','Visible', true)\n" "else\n" "\tDialog:set('fc','Visible', false)\n" "end\n" "\n" "if Dialog:get('dcOffset_actv') == '1' then\n" "\tDialog:set('kdc','Visible', true)\n" "\tDialog:set('maxDCoffset','Visible', true)\n" "else\n" "\tDialog:set('kdc','Visible', false)\n" "\tDialog:set('maxDCoffset','Visible', false)\n" "end" Parameter { Variable "f" Prompt "Nominal frequency [Hz] " Type FreeText Value "50" Show off Tunable off TabName "Parameters" } Parameter { Variable "zeta" Prompt base64 "U1JGLVBMTCBEYW1waW5nIGZhY3RvciDOtiA=" Type FreeText Value "1/sqrt(2)" Show off Tunable off TabName "Parameters" } Parameter { Variable "wc" Prompt "SRF-PLL Bandwidth [Hz] " Type FreeText Value "500" Show off Tunable off TabName "Parameters" } Parameter { Variable "k_SOGI" Prompt "SOGI filter gain k " Type FreeText Value "sqrt(2)" Show off Tunable off TabName "Parameters" } Parameter { Variable "Ts" Prompt "Sample time [s] " Type FreeText Value "Ts" Show off Tunable off TabName "Parameters" } Parameter { Variable "f_out" Prompt "Frequency output" Type FixedText PossibleValues {"Filtered", "Raw"} Value "1" Show off Tunable off TabName "Frequency Output" } Parameter { Variable "fc" Prompt "LPF cut off frequency [Hz] " Type FreeText Value "15" Show off Tunable off TabName "Frequency Output" } Parameter { Variable "dcOffset_actv" Prompt "DC Offset removal" Type FixedText PossibleValues {"Yes", "No"} Value "2" Show off Tunable off TabName "DC Offset" } Parameter { Variable "kdc" Prompt "Gain Kdc " Type FreeText Value "0.22" Show off Tunable off TabName "DC Offset" } Parameter { Variable "maxDCoffset" Prompt "Maximum DC offset [V] " Type FreeText Value "5" Show off Tunable off TabName "DC Offset" } Parameter { Variable "MSOGI5" Prompt "5th harmonics rejection" Type FixedText PossibleValues {"Deactivate", "Activate"} Value "1" Show off Tunable off TabName "MSOGI" } Parameter { Variable "MSOGI7" Prompt "7th harmonics rejection" Type FixedText PossibleValues {"Deactivate", "Activate"} Value "1" Show off Tunable off TabName "MSOGI" } Terminal { Type Input Position [-25, 0] Direction left } Terminal { Type Output Position [29, 0] Direction right } Terminal { Type Output Position [29, -10] Direction right } Terminal { Type Output Position [29, 10] Direction right } Schematic { Location [71, 87; 1779, 682] ZoomFactor 1.14436 SliderPosition [0, 0] ShowBrowser off BrowserWidth 100 Component { Type Input Name "Vabc" Show on Position [40, 210] Direction right Flipped off Parameter { Variable "Index" Value "1" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Output Name base64 "zrgn" Show on Position [1455, 190] Direction right Flipped off Parameter { Variable "Index" Value "2" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Output Name "w'" Show on Position [1460, 80] Direction right Flipped off Parameter { Variable "Index" Value "3" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Sum Name "Sum" Show off Position [1210, 190] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|++" Show off } Parameter { Variable "DataType" Value "11" Show off } } Component { Type Constant Name "Constant1" Show off Position [1210, 245] Direction up Flipped off Frame [-10, -20; 10, 20] LabelPosition [13, 0] LabelAlign left Parameter { Variable "Value" Value "2*pi*f" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type TransferFunction Name "LPF" Show on Position [1330, 85] Direction right Flipped off Frame [-30, -15; 30, 15] LabelPosition [0, 18] LabelAlign up Parameter { Variable "Numerator" Value "[2*pi*fc]" Show off } Parameter { Variable "Denominator" Value "[1 2*pi*fc]" Show off } Parameter { Variable "X0" Value "f/fc" Show off } } Component { Type DiscreteIntegrator Name "Integrator" Show on Position [1335, 190] Direction right Flipped off Parameter { Variable "ExternalReset" Value "1" Show off } Parameter { Variable "InitialConditionSource" Value "1" Show off } Parameter { Variable "x0" Value "0" Show off } Parameter { Variable "ShowStatePort" Value "1" Show off } Parameter { Variable "EnableWrapping" Value "2" Show off } Parameter { Variable "UpperLimit" Value "2*pi" Show off } Parameter { Variable "LowerLimit" Value "0" Show off } Parameter { Variable "IntegrationMethod" Value "1" Show off } Parameter { Variable "SampleTime" Value "Ts" Show off } } Component { Type Reference SrcComponent "Components/Control/Discrete/Discrete PID\\nController" Name "Discrete PI Controller" Show on Position [1115, 190] Direction up Flipped off Frame [-40, -25; 40, 25] LabelPosition [0, 28] LabelAlign up Parameter { Variable "cont_type" Value "3" Show off } Parameter { Variable "par_source" Value "1" Show off } Parameter { Variable "kp" Value "2*2*pi*wc*zeta" Show off } Parameter { Variable "ki" Value "wc*wc*4*pi*pi" Show off } Parameter { Variable "kd" Value "1" Show off } Parameter { Variable "kf" Value "1" Show off } Parameter { Variable "ex_reset" Value "1" Show off } Parameter { Variable "x0_source" Value "1" Show off } Parameter { Variable "x0" Value "0" Show off } Parameter { Variable "ex_sat" Value "1" Show off } Parameter { Variable "sat_lim" Value "1" Show off } Parameter { Variable "int_method" Value "3" Show off } Parameter { Variable "t_sample" Value "Ts" Show off } Parameter { Variable "up_limit" Value "inf" Show off } Parameter { Variable "low_limit" Value "-inf" Show off } Parameter { Variable "aw_method" Value "1" Show off } Parameter { Variable "kbc" Value "1" Show off } Terminal { Type Input Position [-40, 0] Direction left } Terminal { Type Output Position [44, 0] Direction right } Terminal { Type Input Position [-5, -25] Direction up } Terminal { Type Input Position [5, -25] Direction up } Terminal { Type Input Position [15, -25] Direction up } Terminal { Type Input Position [-40, -15] Direction left } Terminal { Type Input Position [-40, 10] Direction left } Terminal { Type Input Position [25, -25] Direction up } Terminal { Type Input Position [35, -25] Direction up } Terminal { Type Input Position [-40, -20] Direction left } Terminal { Type Input Position [-40, -10] Direction left } Terminal { Type Input Position [-40, 20] Direction left } } Component { Type SignalSwitch Name "Switch" Show off Position [1410, 80] Direction right Flipped off Parameter { Variable "Criteria" Value "3" Show off } Parameter { Variable "Threshold" Value "0" Show off } } Component { Type Constant Name "Constant" Show off Position [1340, 40] Direction right Flipped off Frame [-25, -10; 25, 10] LabelPosition [0, 13] LabelAlign up Parameter { Variable "Value" Value "f_out-1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Function Name "Normalize" Show on Position [955, 190] Direction right Flipped off Frame [-20, -10; 20, 10] LabelPosition [0, 13] LabelAlign up Parameter { Variable "f(u)" Value "u[3]/max(u[1],1e-4)" Show off } } Component { Type Output Name base64 "fMK3fA==" Show on Position [955, 150] Direction right Flipped off Parameter { Variable "Index" Value "4" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Function Name "Amplitude" Show on Position [855, 150] Direction right Flipped off Frame [-20, -10; 20, 10] LabelPosition [0, 13] LabelAlign up Parameter { Variable "f(u)" Value "sqrt(max(u[1]^2+u[2]^2,1e-2))" Show off } } Component { Type SignalMux Name "Mux1" Show off Position [905, 190] Direction right Flipped off Parameter { Variable "Width" Value "3" Show off } } Component { Type SignalDemux Name "Demux1" Show off Position [870, 195] Direction right Flipped on Parameter { Variable "Width" Value "2" Show off } } Component { Type Reference SrcComponent "Components/Control/Transformations/3ph->SRF" Name "3ph->SRF" Show off Position [100, 210] Direction up Flipped off Frame [-15, -15; 15, 15] LabelPosition [0, 18] LabelAlign up Terminal { Type Input Position [-15, 0] Direction left } Terminal { Type Output Position [19, 0] Direction right } } Component { Type Sum Name "Sum4" Show off Position [580, 185] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|+-" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum5" Show off Position [615, 215] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|++" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type SignalMux Name "Mux3" Show off Position [650, 190] Direction right Flipped off Parameter { Variable "Width" Value "2" Show off } } Component { Type Subsystem Name base64 "U09HSQrOsc6y" Show on Position [410, 200] Direction up Flipped off Frame [-40, -20; 40, 20] LabelPosition [0, 0] SampleTime "-1" CodeGenDiscretizationMethod "2" CodeGenTarget "Generic" MaskDisplayLang "2" MaskIconFrame on MaskIconOpaque off MaskIconRotates on Terminal { Type Output Position [44, -10] Direction right } Terminal { Type Output Position [44, 10] Direction right } Terminal { Type Input Position [-40, -10] Direction left } Terminal { Type Input Position [-40, 10] Direction left } Schematic { Location [221, 196; 967, 532] ZoomFactor 1.14436 SliderPosition [0, 0] ShowBrowser off BrowserWidth 100 Component { Type Sum Name "Sum2" Show off Position [115, 130] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "-+|" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum3" Show off Position [275, 130] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|+-" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Product Name "Product2" Show off Position [385, 135] Direction up Flipped off Parameter { Variable "Inputs" Value "2" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain1" Show off Position [185, 130] Direction right Flipped off Parameter { Variable "K" Value "k_SOGI" Show on } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Product Name "Product3" Show off Position [320, 190] Direction down Flipped off Parameter { Variable "Inputs" Value "2" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Output Name "v" Show on Position [620, 135] Direction right Flipped off Parameter { Variable "Index" Value "1" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Output Name "qv" Show on Position [615, 245] Direction right Flipped off Parameter { Variable "Index" Value "2" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Input Name "w" Show on Position [20, 165] Direction right Flipped off Parameter { Variable "Index" Value "3" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Input Name base64 "Vs6xzrI=" Show on Position [20, 130] Direction right Flipped off Parameter { Variable "Index" Value "4" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Product Name "Product4" Show off Position [385, 85] Direction up Flipped off Parameter { Variable "Inputs" Value "2" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain2" Show off Position [325, 80] Direction right Flipped off Parameter { Variable "K" Value "kdc*(2-dcOffset_actv)" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Subsystem Name "3th order integrator2" Show off Position [455, 85] Direction up Flipped off Frame [-20, -15; 20, 15] LabelPosition [0, 18] LabelAlign up SampleTime "-1" CodeGenDiscretizationMethod "2" CodeGenTarget "Generic" MaskDisplayLang "2" MaskIconFrame on MaskIconOpaque off MaskIconRotates on Terminal { Type Input Position [-20, 0] Direction left } Terminal { Type Output Position [24, 0] Direction right } Schematic { Location [109, 151; 833, 538] ZoomFactor 1.14437 SliderPosition [0, 0] ShowBrowser off BrowserWidth 100 Component { Type Input Name "In" Show on Position [80, 215] Direction right Flipped off Parameter { Variable "Index" Value "1" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Output Name "Out" Show on Position [520, 120] Direction right Flipped off Parameter { Variable "Index" Value "2" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Gain Name "Gain" Show on Position [135, 215] Direction right Flipped off Parameter { Variable "K" Value "Ts/12" Show on } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Delay Name "Delay" Show off Position [230, 215] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Delay Name "Delay1" Show off Position [310, 215] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Delay Name "Delay2" Show off Position [385, 215] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Gain Name "Gain1" Show off Position [270, 165] Direction up Flipped off Parameter { Variable "K" Value "23" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain2" Show off Position [350, 165] Direction up Flipped off Parameter { Variable "K" Value "16" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain3" Show off Position [435, 165] Direction up Flipped off Parameter { Variable "K" Value "5" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum" Show off Position [185, 215] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|++" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum1" Show off Position [350, 120] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|+-" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum2" Show off Position [435, 120] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|++" Show off } Parameter { Variable "DataType" Value "10" Show off } } Connection { Type Signal SrcComponent "In" SrcTerminal 1 DstComponent "Gain" DstTerminal 1 } Connection { Type Signal SrcComponent "Delay" SrcTerminal 2 Points [270, 215] Branch { DstComponent "Delay1" DstTerminal 1 } Branch { DstComponent "Gain1" DstTerminal 1 } Branch { Points [270, 255; 185, 255] DstComponent "Sum" DstTerminal 3 } } Connection { Type Signal SrcComponent "Delay1" SrcTerminal 2 Points [350, 215] Branch { DstComponent "Delay2" DstTerminal 1 } Branch { DstComponent "Gain2" DstTerminal 1 } } Connection { Type Signal SrcComponent "Delay2" SrcTerminal 2 Points [435, 215] DstComponent "Gain3" DstTerminal 1 } Connection { Type Signal SrcComponent "Gain" SrcTerminal 2 DstComponent "Sum" DstTerminal 2 } Connection { Type Signal SrcComponent "Sum" SrcTerminal 1 DstComponent "Delay" DstTerminal 1 } Connection { Type Signal SrcComponent "Gain1" SrcTerminal 2 Points [270, 120] DstComponent "Sum1" DstTerminal 2 } Connection { Type Signal SrcComponent "Gain2" SrcTerminal 2 DstComponent "Sum1" DstTerminal 3 } Connection { Type Signal SrcComponent "Gain3" SrcTerminal 2 DstComponent "Sum2" DstTerminal 3 } Connection { Type Signal SrcComponent "Sum1" SrcTerminal 1 DstComponent "Sum2" DstTerminal 2 } Connection { Type Signal SrcComponent "Sum2" SrcTerminal 1 DstComponent "Out" DstTerminal 1 } Annotation { Name "3rd integrator" Position [275, 75] } } } Component { Type Saturation Name "Saturation" Show on Position [260, 80] Direction right Flipped off Parameter { Variable "UpperLimit" Value "maxDCoffset" Show off } Parameter { Variable "LowerLimit" Value "-maxDCoffset" Show off } } Component { Type Sum Name "Sum" Show off Position [540, 85] Direction left Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "++|" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Subsystem Name "3th order integrator3" Show off Position [455, 135] Direction up Flipped off Frame [-20, -15; 20, 15] LabelPosition [0, 18] LabelAlign up SampleTime "-1" CodeGenDiscretizationMethod "2" CodeGenTarget "Generic" MaskDisplayLang "2" MaskIconFrame on MaskIconOpaque off MaskIconRotates on Terminal { Type Input Position [-20, 0] Direction left } Terminal { Type Output Position [24, 0] Direction right } Schematic { Location [109, 151; 833, 538] ZoomFactor 1.14437 SliderPosition [0, 0] ShowBrowser off BrowserWidth 100 Component { Type Input Name "In" Show on Position [80, 215] Direction right Flipped off Parameter { Variable "Index" Value "1" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Output Name "Out" Show on Position [520, 120] Direction right Flipped off Parameter { Variable "Index" Value "2" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Gain Name "Gain" Show on Position [135, 215] Direction right Flipped off Parameter { Variable "K" Value "Ts/12" Show on } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Delay Name "Delay" Show off Position [230, 215] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Delay Name "Delay1" Show off Position [310, 215] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Delay Name "Delay2" Show off Position [385, 215] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Gain Name "Gain1" Show off Position [270, 165] Direction up Flipped off Parameter { Variable "K" Value "23" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain2" Show off Position [350, 165] Direction up Flipped off Parameter { Variable "K" Value "16" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain3" Show off Position [435, 165] Direction up Flipped off Parameter { Variable "K" Value "5" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum" Show off Position [185, 215] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|++" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum1" Show off Position [350, 120] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|+-" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum2" Show off Position [435, 120] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|++" Show off } Parameter { Variable "DataType" Value "10" Show off } } Connection { Type Signal SrcComponent "In" SrcTerminal 1 DstComponent "Gain" DstTerminal 1 } Connection { Type Signal SrcComponent "Delay" SrcTerminal 2 Points [270, 215] Branch { DstComponent "Delay1" DstTerminal 1 } Branch { DstComponent "Gain1" DstTerminal 1 } Branch { Points [270, 255; 185, 255] DstComponent "Sum" DstTerminal 3 } } Connection { Type Signal SrcComponent "Delay1" SrcTerminal 2 Points [350, 215] Branch { DstComponent "Delay2" DstTerminal 1 } Branch { DstComponent "Gain2" DstTerminal 1 } } Connection { Type Signal SrcComponent "Delay2" SrcTerminal 2 Points [435, 215] DstComponent "Gain3" DstTerminal 1 } Connection { Type Signal SrcComponent "Gain" SrcTerminal 2 DstComponent "Sum" DstTerminal 2 } Connection { Type Signal SrcComponent "Sum" SrcTerminal 1 DstComponent "Delay" DstTerminal 1 } Connection { Type Signal SrcComponent "Gain1" SrcTerminal 2 Points [270, 120] DstComponent "Sum1" DstTerminal 2 } Connection { Type Signal SrcComponent "Gain2" SrcTerminal 2 DstComponent "Sum1" DstTerminal 3 } Connection { Type Signal SrcComponent "Gain3" SrcTerminal 2 DstComponent "Sum2" DstTerminal 3 } Connection { Type Signal SrcComponent "Sum1" SrcTerminal 1 DstComponent "Sum2" DstTerminal 2 } Connection { Type Signal SrcComponent "Sum2" SrcTerminal 1 DstComponent "Out" DstTerminal 1 } } } Component { Type Subsystem Name "3th order integrator4" Show off Position [455, 195] Direction down Flipped off Frame [-20, -15; 20, 15] LabelPosition [0, -18] LabelAlign down SampleTime "-1" CodeGenDiscretizationMethod "2" CodeGenTarget "Generic" MaskDisplayLang "2" MaskIconFrame on MaskIconOpaque off MaskIconRotates on Terminal { Type Input Position [-20, 0] Direction left } Terminal { Type Output Position [24, 0] Direction right } Schematic { Location [109, 151; 833, 538] ZoomFactor 1.14437 SliderPosition [0, 0] ShowBrowser off BrowserWidth 100 Component { Type Input Name "In" Show on Position [80, 215] Direction right Flipped off Parameter { Variable "Index" Value "1" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Output Name "Out" Show on Position [520, 120] Direction right Flipped off Parameter { Variable "Index" Value "2" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Gain Name "Gain" Show on Position [135, 215] Direction right Flipped off Parameter { Variable "K" Value "Ts/12" Show on } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Delay Name "Delay" Show off Position [230, 215] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Delay Name "Delay1" Show off Position [310, 215] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Delay Name "Delay2" Show off Position [385, 215] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Gain Name "Gain1" Show off Position [270, 165] Direction up Flipped off Parameter { Variable "K" Value "23" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain2" Show off Position [350, 165] Direction up Flipped off Parameter { Variable "K" Value "16" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain3" Show off Position [435, 165] Direction up Flipped off Parameter { Variable "K" Value "5" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum" Show off Position [185, 215] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|++" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum1" Show off Position [350, 120] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|+-" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum2" Show off Position [435, 120] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|++" Show off } Parameter { Variable "DataType" Value "10" Show off } } Connection { Type Signal SrcComponent "In" SrcTerminal 1 DstComponent "Gain" DstTerminal 1 } Connection { Type Signal SrcComponent "Delay" SrcTerminal 2 Points [270, 215] Branch { DstComponent "Delay1" DstTerminal 1 } Branch { DstComponent "Gain1" DstTerminal 1 } Branch { Points [270, 255; 185, 255] DstComponent "Sum" DstTerminal 3 } } Connection { Type Signal SrcComponent "Delay1" SrcTerminal 2 Points [350, 215] Branch { DstComponent "Delay2" DstTerminal 1 } Branch { DstComponent "Gain2" DstTerminal 1 } } Connection { Type Signal SrcComponent "Delay2" SrcTerminal 2 Points [435, 215] DstComponent "Gain3" DstTerminal 1 } Connection { Type Signal SrcComponent "Gain" SrcTerminal 2 DstComponent "Sum" DstTerminal 2 } Connection { Type Signal SrcComponent "Sum" SrcTerminal 1 DstComponent "Delay" DstTerminal 1 } Connection { Type Signal SrcComponent "Gain1" SrcTerminal 2 Points [270, 120] DstComponent "Sum1" DstTerminal 2 } Connection { Type Signal SrcComponent "Gain2" SrcTerminal 2 DstComponent "Sum1" DstTerminal 3 } Connection { Type Signal SrcComponent "Gain3" SrcTerminal 2 DstComponent "Sum2" DstTerminal 3 } Connection { Type Signal SrcComponent "Sum1" SrcTerminal 1 DstComponent "Sum2" DstTerminal 2 } Connection { Type Signal SrcComponent "Sum2" SrcTerminal 1 DstComponent "Out" DstTerminal 1 } } } Connection { Type Signal SrcComponent "Sum3" SrcTerminal 1 DstComponent "Product2" DstTerminal 2 } Connection { Type Signal SrcComponent "Product3" SrcTerminal 1 Points [275, 190] Branch { DstComponent "Sum3" DstTerminal 3 } Branch { Points [275, 245] DstComponent "qv" DstTerminal 1 } } Connection { Type Signal SrcComponent "Sum2" SrcTerminal 1 Points [145, 130] Branch { DstComponent "Gain1" DstTerminal 1 } Branch { Points [145, 80] DstComponent "Saturation" DstTerminal 1 } } Connection { Type Signal SrcComponent "Product2" SrcTerminal 1 DstComponent "3th order integrator3" DstTerminal 1 } Connection { Type Signal SrcComponent "3th order integrator4" SrcTerminal 2 DstComponent "Product3" DstTerminal 2 } Connection { Type Signal SrcComponent "Gain2" SrcTerminal 2 DstComponent "Product4" DstTerminal 2 } Connection { Type Signal SrcComponent "Saturation" SrcTerminal 2 DstComponent "Gain2" DstTerminal 1 } Connection { Type Signal SrcComponent base64 "Vs6xzrI=" SrcTerminal 1 DstComponent "Sum2" DstTerminal 3 } Connection { Type Signal SrcComponent "Sum" SrcTerminal 1 Points [540, 25; 115, 25] DstComponent "Sum2" DstTerminal 2 } Connection { Type Signal SrcComponent "3th order integrator3" SrcTerminal 2 Points [540, 135] Branch { DstComponent "v" DstTerminal 1 } Branch { DstComponent "Sum" DstTerminal 3 } Branch { Points [540, 195] DstComponent "3th order integrator4" DstTerminal 1 } } Connection { Type Signal SrcComponent "Product4" SrcTerminal 1 DstComponent "3th order integrator2" DstTerminal 1 } Connection { Type Signal SrcComponent "w" SrcTerminal 1 Points [355, 165] Branch { Points [355, 185] DstComponent "Product3" DstTerminal 3 } Branch { Points [355, 140] Branch { DstComponent "Product2" DstTerminal 3 } Branch { DstComponent "Product4" DstTerminal 3 } } } Connection { Type Signal SrcComponent "Gain1" SrcTerminal 2 DstComponent "Sum3" DstTerminal 2 } Connection { Type Signal SrcComponent "3th order integrator2" SrcTerminal 2 DstComponent "Sum" DstTerminal 2 } } } Component { Type Gain Name "Gain6" Show off Position [695, 190] Direction right Flipped off Parameter { Variable "K" Value "0.5" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Subsystem Name "SOGI\n5th" Show on Position [410, 280] Direction up Flipped off Frame [-40, -20; 40, 20] LabelPosition [0, 0] SampleTime "-1" CodeGenDiscretizationMethod "2" CodeGenTarget "Generic" MaskDisplayLang "2" MaskIconFrame on MaskIconOpaque off MaskIconRotates on Terminal { Type Output Position [44, -10] Direction right } Terminal { Type Output Position [44, 10] Direction right } Terminal { Type Input Position [-40, -10] Direction left } Terminal { Type Input Position [-40, 10] Direction left } Schematic { Location [182, 178; 984, 498] ZoomFactor 1.14436 SliderPosition [0, 0] ShowBrowser off BrowserWidth 100 Component { Type Sum Name "Sum2" Show off Position [115, 90] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "-+|" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum3" Show off Position [275, 90] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|+-" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Product Name "Product2" Show off Position [385, 95] Direction up Flipped off Parameter { Variable "Inputs" Value "2" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain1" Show off Position [185, 90] Direction right Flipped off Parameter { Variable "K" Value "k_SOGI/5" Show on } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Product Name "Product3" Show off Position [320, 150] Direction down Flipped off Parameter { Variable "Inputs" Value "2" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Output Name "v" Show on Position [620, 95] Direction right Flipped off Parameter { Variable "Index" Value "1" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Output Name "qv" Show on Position [620, 210] Direction right Flipped off Parameter { Variable "Index" Value "2" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Input Name "w" Show on Position [45, 125] Direction right Flipped off Parameter { Variable "Index" Value "3" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Input Name base64 "Vs6xzrI=" Show on Position [45, 90] Direction right Flipped off Parameter { Variable "Index" Value "4" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Subsystem Name "3th order integrator3" Show off Position [455, 95] Direction up Flipped off Frame [-20, -15; 20, 15] LabelPosition [0, 18] LabelAlign up SampleTime "-1" CodeGenDiscretizationMethod "2" CodeGenTarget "Generic" MaskDisplayLang "2" MaskIconFrame on MaskIconOpaque off MaskIconRotates on Terminal { Type Input Position [-20, 0] Direction left } Terminal { Type Output Position [24, 0] Direction right } Schematic { Location [109, 151; 833, 538] ZoomFactor 1.14437 SliderPosition [0, 0] ShowBrowser off BrowserWidth 100 Component { Type Input Name "In" Show on Position [80, 215] Direction right Flipped off Parameter { Variable "Index" Value "1" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Output Name "Out" Show on Position [520, 120] Direction right Flipped off Parameter { Variable "Index" Value "2" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Gain Name "Gain" Show on Position [135, 215] Direction right Flipped off Parameter { Variable "K" Value "Ts/12" Show on } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Delay Name "Delay" Show off Position [230, 215] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Delay Name "Delay1" Show off Position [310, 215] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Delay Name "Delay2" Show off Position [385, 215] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Gain Name "Gain1" Show off Position [270, 165] Direction up Flipped off Parameter { Variable "K" Value "23" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain2" Show off Position [350, 165] Direction up Flipped off Parameter { Variable "K" Value "16" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain3" Show off Position [435, 165] Direction up Flipped off Parameter { Variable "K" Value "5" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum" Show off Position [185, 215] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|++" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum1" Show off Position [350, 120] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|+-" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum2" Show off Position [435, 120] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|++" Show off } Parameter { Variable "DataType" Value "10" Show off } } Connection { Type Signal SrcComponent "In" SrcTerminal 1 DstComponent "Gain" DstTerminal 1 } Connection { Type Signal SrcComponent "Delay" SrcTerminal 2 Points [270, 215] Branch { DstComponent "Delay1" DstTerminal 1 } Branch { DstComponent "Gain1" DstTerminal 1 } Branch { Points [270, 255; 185, 255] DstComponent "Sum" DstTerminal 3 } } Connection { Type Signal SrcComponent "Delay1" SrcTerminal 2 Points [350, 215] Branch { DstComponent "Delay2" DstTerminal 1 } Branch { DstComponent "Gain2" DstTerminal 1 } } Connection { Type Signal SrcComponent "Delay2" SrcTerminal 2 Points [435, 215] DstComponent "Gain3" DstTerminal 1 } Connection { Type Signal SrcComponent "Gain" SrcTerminal 2 DstComponent "Sum" DstTerminal 2 } Connection { Type Signal SrcComponent "Sum" SrcTerminal 1 DstComponent "Delay" DstTerminal 1 } Connection { Type Signal SrcComponent "Gain1" SrcTerminal 2 Points [270, 120] DstComponent "Sum1" DstTerminal 2 } Connection { Type Signal SrcComponent "Gain2" SrcTerminal 2 DstComponent "Sum1" DstTerminal 3 } Connection { Type Signal SrcComponent "Gain3" SrcTerminal 2 DstComponent "Sum2" DstTerminal 3 } Connection { Type Signal SrcComponent "Sum1" SrcTerminal 1 DstComponent "Sum2" DstTerminal 2 } Connection { Type Signal SrcComponent "Sum2" SrcTerminal 1 DstComponent "Out" DstTerminal 1 } } } Component { Type Subsystem Name "3th order integrator4" Show off Position [455, 155] Direction down Flipped off Frame [-20, -15; 20, 15] LabelPosition [0, -18] LabelAlign down SampleTime "-1" CodeGenDiscretizationMethod "2" CodeGenTarget "Generic" MaskDisplayLang "2" MaskIconFrame on MaskIconOpaque off MaskIconRotates on Terminal { Type Input Position [-20, 0] Direction left } Terminal { Type Output Position [24, 0] Direction right } Schematic { Location [109, 151; 833, 538] ZoomFactor 1.14437 SliderPosition [0, 0] ShowBrowser off BrowserWidth 100 Component { Type Input Name "In" Show on Position [80, 215] Direction right Flipped off Parameter { Variable "Index" Value "1" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Output Name "Out" Show on Position [520, 120] Direction right Flipped off Parameter { Variable "Index" Value "2" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Gain Name "Gain" Show on Position [135, 215] Direction right Flipped off Parameter { Variable "K" Value "Ts/12" Show on } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Delay Name "Delay" Show off Position [230, 215] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Delay Name "Delay1" Show off Position [310, 215] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Delay Name "Delay2" Show off Position [385, 215] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Gain Name "Gain1" Show off Position [270, 165] Direction up Flipped off Parameter { Variable "K" Value "23" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain2" Show off Position [350, 165] Direction up Flipped off Parameter { Variable "K" Value "16" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain3" Show off Position [435, 165] Direction up Flipped off Parameter { Variable "K" Value "5" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum" Show off Position [185, 215] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|++" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum1" Show off Position [350, 120] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|+-" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum2" Show off Position [435, 120] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|++" Show off } Parameter { Variable "DataType" Value "10" Show off } } Connection { Type Signal SrcComponent "In" SrcTerminal 1 DstComponent "Gain" DstTerminal 1 } Connection { Type Signal SrcComponent "Delay" SrcTerminal 2 Points [270, 215] Branch { DstComponent "Delay1" DstTerminal 1 } Branch { DstComponent "Gain1" DstTerminal 1 } Branch { Points [270, 255; 185, 255] DstComponent "Sum" DstTerminal 3 } } Connection { Type Signal SrcComponent "Delay1" SrcTerminal 2 Points [350, 215] Branch { DstComponent "Delay2" DstTerminal 1 } Branch { DstComponent "Gain2" DstTerminal 1 } } Connection { Type Signal SrcComponent "Delay2" SrcTerminal 2 Points [435, 215] DstComponent "Gain3" DstTerminal 1 } Connection { Type Signal SrcComponent "Gain" SrcTerminal 2 DstComponent "Sum" DstTerminal 2 } Connection { Type Signal SrcComponent "Sum" SrcTerminal 1 DstComponent "Delay" DstTerminal 1 } Connection { Type Signal SrcComponent "Gain1" SrcTerminal 2 Points [270, 120] DstComponent "Sum1" DstTerminal 2 } Connection { Type Signal SrcComponent "Gain2" SrcTerminal 2 DstComponent "Sum1" DstTerminal 3 } Connection { Type Signal SrcComponent "Gain3" SrcTerminal 2 DstComponent "Sum2" DstTerminal 3 } Connection { Type Signal SrcComponent "Sum1" SrcTerminal 1 DstComponent "Sum2" DstTerminal 2 } Connection { Type Signal SrcComponent "Sum2" SrcTerminal 1 DstComponent "Out" DstTerminal 1 } } } Connection { Type Signal SrcComponent "Sum3" SrcTerminal 1 DstComponent "Product2" DstTerminal 2 } Connection { Type Signal SrcComponent "Gain1" SrcTerminal 2 DstComponent "Sum3" DstTerminal 2 } Connection { Type Signal SrcComponent "Product3" SrcTerminal 1 Points [275, 150] Branch { DstComponent "Sum3" DstTerminal 3 } Branch { Points [275, 210] DstComponent "qv" DstTerminal 1 } } Connection { Type Signal SrcComponent "Product2" SrcTerminal 1 DstComponent "3th order integrator3" DstTerminal 1 } Connection { Type Signal SrcComponent "3th order integrator4" SrcTerminal 2 DstComponent "Product3" DstTerminal 2 } Connection { Type Signal SrcComponent "3th order integrator3" SrcTerminal 2 Points [540, 95] Branch { DstComponent "v" DstTerminal 1 } Branch { Points [540, 40; 115, 40] DstComponent "Sum2" DstTerminal 2 } Branch { Points [540, 155] DstComponent "3th order integrator4" DstTerminal 1 } } Connection { Type Signal SrcComponent base64 "Vs6xzrI=" SrcTerminal 1 DstComponent "Sum2" DstTerminal 3 } Connection { Type Signal SrcComponent "w" SrcTerminal 1 Points [355, 125] Branch { Points [355, 145] DstComponent "Product3" DstTerminal 3 } Branch { DstComponent "Product2" DstTerminal 3 } } Connection { Type Signal SrcComponent "Sum2" SrcTerminal 1 DstComponent "Gain1" DstTerminal 1 } } } Component { Type Reference SrcComponent "Components/Control/Transformations/SRF->RRF" Name "SRF->RRF" Show off Position [785, 195] Direction up Flipped off Frame [-15, -15; 15, 15] LabelPosition [0, 18] LabelAlign up Terminal { Type Input Position [-15, -5] Direction left } Terminal { Type Output Position [19, 0] Direction right } Terminal { Type Input Position [-15, 5] Direction left } } Component { Type TransferFunction Name "LPF1" Show on Position [415, 85] Direction left Flipped off Frame [-30, -15; 30, 15] LabelPosition [0, -18] LabelAlign down Parameter { Variable "Numerator" Value "[2*pi*15]" Show off } Parameter { Variable "Denominator" Value "[1 2*pi*15]" Show off } Parameter { Variable "X0" Value "f/15" Show off } } Component { Type Subsystem Name "SOGI\n7th" Show on Position [410, 355] Direction up Flipped off Frame [-40, -20; 40, 20] LabelPosition [0, 0] SampleTime "-1" CodeGenDiscretizationMethod "2" CodeGenTarget "Generic" MaskDisplayLang "2" MaskIconFrame on MaskIconOpaque off MaskIconRotates on Terminal { Type Output Position [44, -10] Direction right } Terminal { Type Output Position [44, 10] Direction right } Terminal { Type Input Position [-40, -10] Direction left } Terminal { Type Input Position [-40, 10] Direction left } Schematic { Location [133, 149; 960, 440] ZoomFactor 1.14436 SliderPosition [0, 0] ShowBrowser off BrowserWidth 100 Component { Type Sum Name "Sum2" Show off Position [145, 80] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "-+|" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum3" Show off Position [305, 80] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|+-" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Product Name "Product2" Show off Position [415, 85] Direction up Flipped off Parameter { Variable "Inputs" Value "2" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain1" Show off Position [215, 80] Direction right Flipped off Parameter { Variable "K" Value "k_SOGI/7" Show on } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Product Name "Product3" Show off Position [350, 140] Direction down Flipped off Parameter { Variable "Inputs" Value "2" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Output Name "v" Show on Position [650, 85] Direction right Flipped off Parameter { Variable "Index" Value "1" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Output Name "qv" Show on Position [650, 200] Direction right Flipped off Parameter { Variable "Index" Value "2" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Input Name "w" Show on Position [250, 120] Direction right Flipped off Parameter { Variable "Index" Value "3" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Input Name base64 "Vs6xzrI=" Show on Position [50, 80] Direction right Flipped off Parameter { Variable "Index" Value "4" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Subsystem Name "3th order integrator3" Show off Position [485, 85] Direction up Flipped off Frame [-20, -15; 20, 15] LabelPosition [0, 18] LabelAlign up SampleTime "-1" CodeGenDiscretizationMethod "2" CodeGenTarget "Generic" MaskDisplayLang "2" MaskIconFrame on MaskIconOpaque off MaskIconRotates on Terminal { Type Input Position [-20, 0] Direction left } Terminal { Type Output Position [24, 0] Direction right } Schematic { Location [109, 151; 833, 538] ZoomFactor 1.14437 SliderPosition [0, 0] ShowBrowser off BrowserWidth 100 Component { Type Input Name "In" Show on Position [80, 215] Direction right Flipped off Parameter { Variable "Index" Value "1" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Output Name "Out" Show on Position [520, 120] Direction right Flipped off Parameter { Variable "Index" Value "2" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Gain Name "Gain" Show on Position [135, 215] Direction right Flipped off Parameter { Variable "K" Value "Ts/12" Show on } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Delay Name "Delay" Show off Position [230, 215] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Delay Name "Delay1" Show off Position [310, 215] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Delay Name "Delay2" Show off Position [385, 215] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Gain Name "Gain1" Show off Position [270, 165] Direction up Flipped off Parameter { Variable "K" Value "23" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain2" Show off Position [350, 165] Direction up Flipped off Parameter { Variable "K" Value "16" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain3" Show off Position [435, 165] Direction up Flipped off Parameter { Variable "K" Value "5" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum" Show off Position [185, 215] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|++" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum1" Show off Position [350, 120] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|+-" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum2" Show off Position [435, 120] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|++" Show off } Parameter { Variable "DataType" Value "10" Show off } } Connection { Type Signal SrcComponent "In" SrcTerminal 1 DstComponent "Gain" DstTerminal 1 } Connection { Type Signal SrcComponent "Delay" SrcTerminal 2 Points [270, 215] Branch { DstComponent "Delay1" DstTerminal 1 } Branch { DstComponent "Gain1" DstTerminal 1 } Branch { Points [270, 255; 185, 255] DstComponent "Sum" DstTerminal 3 } } Connection { Type Signal SrcComponent "Delay1" SrcTerminal 2 Points [350, 215] Branch { DstComponent "Delay2" DstTerminal 1 } Branch { DstComponent "Gain2" DstTerminal 1 } } Connection { Type Signal SrcComponent "Delay2" SrcTerminal 2 Points [435, 215] DstComponent "Gain3" DstTerminal 1 } Connection { Type Signal SrcComponent "Gain" SrcTerminal 2 DstComponent "Sum" DstTerminal 2 } Connection { Type Signal SrcComponent "Sum" SrcTerminal 1 DstComponent "Delay" DstTerminal 1 } Connection { Type Signal SrcComponent "Gain1" SrcTerminal 2 Points [270, 120] DstComponent "Sum1" DstTerminal 2 } Connection { Type Signal SrcComponent "Gain2" SrcTerminal 2 DstComponent "Sum1" DstTerminal 3 } Connection { Type Signal SrcComponent "Gain3" SrcTerminal 2 DstComponent "Sum2" DstTerminal 3 } Connection { Type Signal SrcComponent "Sum1" SrcTerminal 1 DstComponent "Sum2" DstTerminal 2 } Connection { Type Signal SrcComponent "Sum2" SrcTerminal 1 DstComponent "Out" DstTerminal 1 } } } Component { Type Subsystem Name "3th order integrator4" Show off Position [485, 145] Direction down Flipped off Frame [-20, -15; 20, 15] LabelPosition [0, -18] LabelAlign down SampleTime "-1" CodeGenDiscretizationMethod "2" CodeGenTarget "Generic" MaskDisplayLang "2" MaskIconFrame on MaskIconOpaque off MaskIconRotates on Terminal { Type Input Position [-20, 0] Direction left } Terminal { Type Output Position [24, 0] Direction right } Schematic { Location [109, 151; 833, 538] ZoomFactor 1.14437 SliderPosition [0, 0] ShowBrowser off BrowserWidth 100 Component { Type Input Name "In" Show on Position [80, 215] Direction right Flipped off Parameter { Variable "Index" Value "1" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Output Name "Out" Show on Position [520, 120] Direction right Flipped off Parameter { Variable "Index" Value "2" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Gain Name "Gain" Show on Position [135, 215] Direction right Flipped off Parameter { Variable "K" Value "Ts/12" Show on } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Delay Name "Delay" Show off Position [230, 215] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Delay Name "Delay1" Show off Position [310, 215] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Delay Name "Delay2" Show off Position [385, 215] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Gain Name "Gain1" Show off Position [270, 165] Direction up Flipped off Parameter { Variable "K" Value "23" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain2" Show off Position [350, 165] Direction up Flipped off Parameter { Variable "K" Value "16" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain3" Show off Position [435, 165] Direction up Flipped off Parameter { Variable "K" Value "5" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum" Show off Position [185, 215] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|++" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum1" Show off Position [350, 120] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|+-" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum2" Show off Position [435, 120] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|++" Show off } Parameter { Variable "DataType" Value "10" Show off } } Connection { Type Signal SrcComponent "In" SrcTerminal 1 DstComponent "Gain" DstTerminal 1 } Connection { Type Signal SrcComponent "Delay" SrcTerminal 2 Points [270, 215] Branch { DstComponent "Delay1" DstTerminal 1 } Branch { DstComponent "Gain1" DstTerminal 1 } Branch { Points [270, 255; 185, 255] DstComponent "Sum" DstTerminal 3 } } Connection { Type Signal SrcComponent "Delay1" SrcTerminal 2 Points [350, 215] Branch { DstComponent "Delay2" DstTerminal 1 } Branch { DstComponent "Gain2" DstTerminal 1 } } Connection { Type Signal SrcComponent "Delay2" SrcTerminal 2 Points [435, 215] DstComponent "Gain3" DstTerminal 1 } Connection { Type Signal SrcComponent "Gain" SrcTerminal 2 DstComponent "Sum" DstTerminal 2 } Connection { Type Signal SrcComponent "Sum" SrcTerminal 1 DstComponent "Delay" DstTerminal 1 } Connection { Type Signal SrcComponent "Gain1" SrcTerminal 2 Points [270, 120] DstComponent "Sum1" DstTerminal 2 } Connection { Type Signal SrcComponent "Gain2" SrcTerminal 2 DstComponent "Sum1" DstTerminal 3 } Connection { Type Signal SrcComponent "Gain3" SrcTerminal 2 DstComponent "Sum2" DstTerminal 3 } Connection { Type Signal SrcComponent "Sum1" SrcTerminal 1 DstComponent "Sum2" DstTerminal 2 } Connection { Type Signal SrcComponent "Sum2" SrcTerminal 1 DstComponent "Out" DstTerminal 1 } } } Connection { Type Signal SrcComponent "Sum3" SrcTerminal 1 DstComponent "Product2" DstTerminal 2 } Connection { Type Signal SrcComponent "Gain1" SrcTerminal 2 DstComponent "Sum3" DstTerminal 2 } Connection { Type Signal SrcComponent "Product3" SrcTerminal 1 Points [305, 140] Branch { DstComponent "Sum3" DstTerminal 3 } Branch { Points [305, 200] DstComponent "qv" DstTerminal 1 } } Connection { Type Signal SrcComponent "w" SrcTerminal 1 Points [385, 120] Branch { DstComponent "Product2" DstTerminal 3 } Branch { Points [385, 135] DstComponent "Product3" DstTerminal 3 } } Connection { Type Signal SrcComponent "Product2" SrcTerminal 1 DstComponent "3th order integrator3" DstTerminal 1 } Connection { Type Signal SrcComponent "3th order integrator4" SrcTerminal 2 DstComponent "Product3" DstTerminal 2 } Connection { Type Signal SrcComponent "3th order integrator3" SrcTerminal 2 Points [570, 85] Branch { DstComponent "v" DstTerminal 1 } Branch { Points [570, 35; 145, 35] DstComponent "Sum2" DstTerminal 2 } Branch { Points [570, 145] DstComponent "3th order integrator4" DstTerminal 1 } } Connection { Type Signal SrcComponent base64 "Vs6xzrI=" SrcTerminal 1 DstComponent "Sum2" DstTerminal 3 } Connection { Type Signal SrcComponent "Sum2" SrcTerminal 1 DstComponent "Gain1" DstTerminal 1 } } } Component { Type Sum Name "Sum6" Show off Position [205, 210] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|+-" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum7" Show off Position [260, 210] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|+-" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum8" Show off Position [205, 290] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "-+|" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum9" Show off Position [260, 290] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "-+|" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum10" Show off Position [205, 365] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "-+|" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum11" Show off Position [260, 365] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "-+|" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type SignalDemux Name "Demux" Show off Position [550, 190] Direction right Flipped on Parameter { Variable "Width" Value "2" Show off } } Component { Type SignalDemux Name "Demux2" Show off Position [550, 245] Direction right Flipped on Parameter { Variable "Width" Value "2" Show off } } Component { Type Gain Name "Gain7" Show off Position [340, 270] Direction right Flipped off Parameter { Variable "K" Value "5*(MSOGI5-1)" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain8" Show off Position [340, 345] Direction right Flipped off Parameter { Variable "K" Value "7*(MSOGI7-1)" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Saturation Name "Saturation" Show on Position [515, 85] Direction left Flipped off Parameter { Variable "UpperLimit" Value "inf" Show off } Parameter { Variable "LowerLimit" Value "1" Show off } } Connection { Type Signal SrcComponent "Constant1" SrcTerminal 1 DstComponent "Sum" DstTerminal 3 } Connection { Type Signal SrcComponent "Discrete PI Controller" SrcTerminal 2 DstComponent "Sum" DstTerminal 2 } Connection { Type Signal SrcComponent "Constant" SrcTerminal 1 Points [1410, 40] DstComponent "Switch" DstTerminal 4 } Connection { Type Signal SrcComponent "Switch" SrcTerminal 1 DstComponent "w'" DstTerminal 1 } Connection { Type Signal SrcComponent "Mux1" SrcTerminal 1 DstComponent "Normalize" DstTerminal 1 } Connection { Type Signal SrcComponent "Amplitude" SrcTerminal 2 Points [890, 150] Branch { DstComponent "Mux1" DstTerminal 2 } Branch { DstComponent base64 "fMK3fA==" DstTerminal 1 } } Connection { Type Signal SrcComponent "Demux1" SrcTerminal 2 DstComponent "Mux1" DstTerminal 3 } Connection { Type Signal SrcComponent "Demux1" SrcTerminal 3 DstComponent "Mux1" DstTerminal 4 } Connection { Type Signal SrcComponent "Normalize" SrcTerminal 2 DstComponent "Discrete PI Controller" DstTerminal 1 } Connection { Type Signal SrcComponent "Sum5" SrcTerminal 1 Points [635, 215] DstComponent "Mux3" DstTerminal 3 } Connection { Type Signal SrcComponent "Sum4" SrcTerminal 1 DstComponent "Mux3" DstTerminal 2 } Connection { Type Signal SrcComponent "Mux3" SrcTerminal 1 DstComponent "Gain6" DstTerminal 1 } Connection { Type Signal SrcComponent "SRF->RRF" SrcTerminal 2 Points [815, 195] Branch { DstComponent "Demux1" DstTerminal 1 } Branch { Points [815, 150] DstComponent "Amplitude" DstTerminal 1 } } Connection { Type Signal SrcComponent "Integrator" SrcTerminal 2 Points [1395, 190] Branch { DstComponent base64 "zrgn" DstTerminal 1 } Branch { Points [1395, 330; 745, 330; 745, 200] DstComponent "SRF->RRF" DstTerminal 3 } } Connection { Type Signal SrcComponent "Vabc" SrcTerminal 1 DstComponent "3ph->SRF" DstTerminal 1 } Connection { Type Signal SrcComponent "Sum" SrcTerminal 1 Points [1260, 190] Branch { DstComponent "Integrator" DstTerminal 1 } Branch { Points [1260, 85] Branch { DstComponent "LPF" DstTerminal 1 } Branch { Points [1260, 60; 1380, 60] DstComponent "Switch" DstTerminal 2 } Branch { DstComponent "Saturation" DstTerminal 1 } } } Connection { Type Signal SrcComponent "Sum6" SrcTerminal 1 DstComponent "Sum7" DstTerminal 2 } Connection { Type Signal SrcComponent "Sum7" SrcTerminal 1 DstComponent base64 "U09HSQrOsc6y" DstTerminal 4 } Connection { Type Signal SrcComponent "Sum9" SrcTerminal 1 DstComponent "SOGI\n5th" DstTerminal 4 } Connection { Type Signal SrcComponent "Sum8" SrcTerminal 1 DstComponent "Sum9" DstTerminal 3 } Connection { Type Signal SrcComponent "Sum10" SrcTerminal 1 DstComponent "Sum11" DstTerminal 3 } Connection { Type Signal SrcComponent "Sum11" SrcTerminal 1 DstComponent "SOGI\n7th" DstTerminal 4 } Connection { Type Signal SrcComponent "SOGI\n7th" SrcTerminal 1 Points [480, 345; 480, 405; 280, 405; 280, 245; 260, 245] Branch { DstComponent "Sum7" DstTerminal 3 } Branch { DstComponent "Sum9" DstTerminal 2 } } Connection { Type Signal SrcComponent "SOGI\n5th" SrcTerminal 1 Points [500, 270; 500, 435; 230, 435; 230, 330] Branch { Points [230, 245; 205, 245] DstComponent "Sum6" DstTerminal 3 } Branch { Points [205, 330] DstComponent "Sum10" DstTerminal 2 } } Connection { Type Signal SrcComponent "3ph->SRF" SrcTerminal 2 Points [145, 210] Branch { DstComponent "Sum6" DstTerminal 2 } Branch { Points [145, 290] Branch { DstComponent "Sum8" DstTerminal 3 } Branch { Points [145, 365] DstComponent "Sum10" DstTerminal 3 } } } Connection { Type Signal SrcComponent base64 "U09HSQrOsc6y" SrcTerminal 1 Points [465, 190] Branch { Points [465, 155; 175, 155; 175, 255] Branch { Points [205, 255] DstComponent "Sum8" DstTerminal 2 } Branch { Points [175, 315; 260, 315] DstComponent "Sum11" DstTerminal 2 } } Branch { DstComponent "Demux" DstTerminal 1 } } Connection { Type Signal SrcComponent base64 "U09HSQrOsc6y" SrcTerminal 2 Points [500, 210; 500, 245] DstComponent "Demux2" DstTerminal 1 } Connection { Type Signal SrcComponent "Demux" SrcTerminal 2 DstComponent "Sum4" DstTerminal 2 } Connection { Type Signal SrcComponent "Demux" SrcTerminal 3 Points [560, 195; 560, 215] DstComponent "Sum5" DstTerminal 2 } Connection { Type Signal SrcComponent "Demux2" SrcTerminal 3 Points [580, 250] DstComponent "Sum4" DstTerminal 3 } Connection { Type Signal SrcComponent "Demux2" SrcTerminal 2 DstComponent "Sum5" DstTerminal 3 } Connection { Type Signal SrcComponent "Gain6" SrcTerminal 2 DstComponent "SRF->RRF" DstTerminal 1 } Connection { Type Signal SrcComponent "Gain8" SrcTerminal 2 DstComponent "SOGI\n7th" DstTerminal 3 } Connection { Type Signal SrcComponent "LPF" SrcTerminal 2 DstComponent "Switch" DstTerminal 3 } Connection { Type Signal SrcComponent "Gain7" SrcTerminal 2 DstComponent "SOGI\n5th" DstTerminal 3 } Connection { Type Signal SrcComponent "LPF1" SrcTerminal 2 Points [310, 85; 310, 190] Branch { Points [310, 270] Branch { DstComponent "Gain7" DstTerminal 1 } Branch { DstComponent "Gain8" DstTerminal 1 } } Branch { DstComponent base64 "U09HSQrOsc6y" DstTerminal 3 } } Connection { Type Signal SrcComponent "Saturation" SrcTerminal 2 DstComponent "LPF1" DstTerminal 1 } Annotation { Name base64 "77+8" Position [1055, 190] } Annotation { Name "Vq [p.u.]" Position [1020, 180] } Annotation { Name "Feedforward" Position [1210, 275] } Annotation { Name "Positive sequence calculator" Position [625, 150] } Annotation { Name base64 "Vs6xzrIr" Position [735, 180] } Annotation { Name "Three-phase (M)DSOGI-PLL\n(c) imperix Ltd. 2024" Position [920, 405] } } } Component { Type Subsystem Name "SOGI-PLL" Show on Position [90, 45] Direction up Flipped off Frame [-25, -20; 25, 20] LabelPosition [0, 23] LabelAlign up SampleTime "-1" CodeGenDiscretizationMethod "2" CodeGenTarget "Generic" MaskType "DSOGI-PLL" MaskDescription "This block implements a standardized synchronous frame " "PLL. This means that the gain does not depend on the input voltage norm.\n" "\n" "Return values are in radian [0.2pi[ for the phase, in rad/s for the frequency" " and in the same unit as the input for the voltage.\n" "\n" "More informations are available in the Help section." MaskHelp "https://imperix.com/doc/implementation/sogi-pll" MaskDisplayLang "2" MaskIconFrame on MaskIconOpaque off MaskIconRotates on MaskInit "if dcOffset_actv ==2\n" "\tkdc = 0;\n" "\tmaxDCoffset = 0;\n" "end\n" "\n" "if f_out ==2 \n" "\tfc = 9999;\n" "end" MaskDialogCallback "-- Dispaly Kp and Ki only if Advanced is configured" "\n" "if Dialog:get('f_out') == '1' then\n" "\tDialog:set('fc','Visible', true)\n" "else\n" "\tDialog:set('fc','Visible', false)\n" "end\n" "\n" "if Dialog:get('dcOffset_actv') == '1' then\n" "\tDialog:set('kdc','Visible', true)\n" "\tDialog:set('maxDCoffset','Visible', true)\n" "else\n" "\tDialog:set('kdc','Visible', false)\n" "\tDialog:set('maxDCoffset','Visible', false)\n" "end" Parameter { Variable "f" Prompt "Nominal frequency [Hz] " Type FreeText Value "50" Show off Tunable off TabName "Parameters" } Parameter { Variable "zeta" Prompt base64 "U1JGLVBMTCBEYW1waW5nIGZhY3RvciDOtiA=" Type FreeText Value "1/sqrt(2)" Show off Tunable off TabName "Parameters" } Parameter { Variable "wc" Prompt "SRF-PLL Bandwidth [Hz] " Type FreeText Value "500" Show off Tunable off TabName "Parameters" } Parameter { Variable "k_SOGI" Prompt "SOGI filter gain k " Type FreeText Value "sqrt(2)" Show off Tunable off TabName "Parameters" } Parameter { Variable "Ts" Prompt "Sample time [s] " Type FreeText Value "Ts" Show off Tunable off TabName "Parameters" } Parameter { Variable "f_out" Prompt "Frequency output" Type FixedText PossibleValues {"Filtered", "Raw"} Value "1" Show off Tunable off TabName "Frequency Output" } Parameter { Variable "fc" Prompt "LPF cut off frequency [Hz] " Type FreeText Value "15" Show off Tunable off TabName "Frequency Output" } Parameter { Variable "dcOffset_actv" Prompt "DC Offset removal" Type FixedText PossibleValues {"Yes", "No"} Value "2" Show off Tunable off TabName "DC Offset" } Parameter { Variable "kdc" Prompt "Gain Kdc " Type FreeText Value "0.22" Show off Tunable off TabName "DC Offset" } Parameter { Variable "maxDCoffset" Prompt "Maximum DC offset [V] " Type FreeText Value "5" Show off Tunable off TabName "DC Offset" } Parameter { Variable "MSOGI5" Prompt "5th harmonics rejection" Type FixedText PossibleValues {"Deactivate", "Activate"} Value "2" Show off Tunable off TabName "MSOGI" } Parameter { Variable "MSOGI7" Prompt "7th harmonics rejection" Type FixedText PossibleValues {"Deactivate", "Activate"} Value "1" Show off Tunable off TabName "MSOGI" } Terminal { Type Input Position [-25, 0] Direction left } Terminal { Type Output Position [29, 0] Direction right } Terminal { Type Output Position [29, -10] Direction right } Terminal { Type Output Position [29, 10] Direction right } Schematic { Location [67, 64; 1686, 683] ZoomFactor 1.14436 SliderPosition [-1, 0] ShowBrowser off BrowserWidth 100 Component { Type Input Name "Vg" Show on Position [50, 200] Direction right Flipped off Parameter { Variable "Index" Value "1" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Output Name base64 "zrgn" Show on Position [1315, 195] Direction right Flipped off Parameter { Variable "Index" Value "2" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Output Name "w'" Show on Position [1315, 70] Direction right Flipped off Parameter { Variable "Index" Value "3" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Sum Name "Sum" Show off Position [1050, 195] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|++" Show off } Parameter { Variable "DataType" Value "11" Show off } } Component { Type Constant Name "Constant1" Show off Position [1050, 250] Direction up Flipped off Frame [-10, -20; 10, 20] LabelPosition [13, 0] LabelAlign left Parameter { Variable "Value" Value "2*pi*f" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type TransferFunction Name "LPF" Show on Position [1160, 75] Direction right Flipped off Frame [-30, -15; 30, 15] LabelPosition [0, 18] LabelAlign up Parameter { Variable "Numerator" Value "[2*pi*fc]" Show off } Parameter { Variable "Denominator" Value "[1 2*pi*fc]" Show off } Parameter { Variable "X0" Value "f/fc" Show off } } Component { Type DiscreteIntegrator Name "Integrator" Show on Position [1160, 195] Direction right Flipped off Parameter { Variable "ExternalReset" Value "1" Show off } Parameter { Variable "InitialConditionSource" Value "1" Show off } Parameter { Variable "x0" Value "0" Show off } Parameter { Variable "ShowStatePort" Value "1" Show off } Parameter { Variable "EnableWrapping" Value "2" Show off } Parameter { Variable "UpperLimit" Value "2*pi" Show off } Parameter { Variable "LowerLimit" Value "0" Show off } Parameter { Variable "IntegrationMethod" Value "1" Show off } Parameter { Variable "SampleTime" Value "Ts" Show off } } Component { Type Reference SrcComponent "Components/Control/Discrete/Discrete PID\\nController" Name "Discrete PI Controller" Show on Position [955, 195] Direction up Flipped off Frame [-40, -25; 40, 25] LabelPosition [0, 28] LabelAlign up Parameter { Variable "cont_type" Value "3" Show off } Parameter { Variable "par_source" Value "1" Show off } Parameter { Variable "kp" Value "2*2*pi*wc*zeta" Show off } Parameter { Variable "ki" Value "wc*wc*4*pi*pi" Show off } Parameter { Variable "kd" Value "1" Show off } Parameter { Variable "kf" Value "1" Show off } Parameter { Variable "ex_reset" Value "1" Show off } Parameter { Variable "x0_source" Value "1" Show off } Parameter { Variable "x0" Value "0" Show off } Parameter { Variable "ex_sat" Value "1" Show off } Parameter { Variable "sat_lim" Value "1" Show off } Parameter { Variable "int_method" Value "3" Show off } Parameter { Variable "t_sample" Value "Ts" Show off } Parameter { Variable "up_limit" Value "inf" Show off } Parameter { Variable "low_limit" Value "-inf" Show off } Parameter { Variable "aw_method" Value "1" Show off } Parameter { Variable "kbc" Value "1" Show off } Terminal { Type Input Position [-40, 0] Direction left } Terminal { Type Output Position [44, 0] Direction right } Terminal { Type Input Position [-5, -25] Direction up } Terminal { Type Input Position [5, -25] Direction up } Terminal { Type Input Position [15, -25] Direction up } Terminal { Type Input Position [-40, -15] Direction left } Terminal { Type Input Position [-40, 10] Direction left } Terminal { Type Input Position [25, -25] Direction up } Terminal { Type Input Position [35, -25] Direction up } Terminal { Type Input Position [-40, -20] Direction left } Terminal { Type Input Position [-40, -10] Direction left } Terminal { Type Input Position [-40, 20] Direction left } } Component { Type SignalSwitch Name "Switch" Show off Position [1240, 70] Direction right Flipped off Parameter { Variable "Criteria" Value "3" Show off } Parameter { Variable "Threshold" Value "0" Show off } } Component { Type Constant Name "Constant" Show off Position [1165, 30] Direction right Flipped off Frame [-25, -10; 25, 10] LabelPosition [0, 13] LabelAlign up Parameter { Variable "Value" Value "f_out-1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Function Name "Normalize" Show on Position [795, 195] Direction right Flipped off Frame [-20, -10; 20, 10] LabelPosition [0, 13] LabelAlign up Parameter { Variable "f(u)" Value "u[3]/max(u[1],1e-2)" Show off } } Component { Type Output Name base64 "Vs6y" Show on Position [1315, 115] Direction right Flipped off Parameter { Variable "Index" Value "4" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Function Name "Amplitude" Show on Position [695, 155] Direction right Flipped off Frame [-20, -10; 20, 10] LabelPosition [0, 13] LabelAlign up Parameter { Variable "f(u)" Value "sqrt(max(u[1]^2+u[2]^2,1e-2))" Show off } } Component { Type SignalMux Name "Mux1" Show off Position [745, 195] Direction right Flipped off Parameter { Variable "Width" Value "3" Show off } } Component { Type SignalDemux Name "Demux1" Show off Position [710, 200] Direction right Flipped on Parameter { Variable "Width" Value "2" Show off } } Component { Type Subsystem Name base64 "U09HSQrOsc6y" Show on Position [395, 190] Direction up Flipped off Frame [-40, -20; 40, 20] LabelPosition [0, 0] SampleTime "-1" CodeGenDiscretizationMethod "2" CodeGenTarget "Generic" MaskDisplayLang "2" MaskIconFrame on MaskIconOpaque off MaskIconRotates on Terminal { Type Output Position [44, -10] Direction right } Terminal { Type Output Position [44, 10] Direction right } Terminal { Type Input Position [-40, -10] Direction left } Terminal { Type Input Position [-40, 10] Direction left } Schematic { Location [743, 443; 2100, 1020] ZoomFactor 1.30957 SliderPosition [0, 0] ShowBrowser off BrowserWidth 100 Component { Type Sum Name "Sum2" Show off Position [115, 130] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "-+|" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum3" Show off Position [275, 130] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|+-" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Product Name "Product2" Show off Position [385, 135] Direction up Flipped off Parameter { Variable "Inputs" Value "2" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain1" Show off Position [185, 130] Direction right Flipped off Parameter { Variable "K" Value "k_SOGI" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Product Name "Product3" Show off Position [320, 190] Direction down Flipped off Parameter { Variable "Inputs" Value "2" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Output Name "v" Show on Position [620, 135] Direction right Flipped off Parameter { Variable "Index" Value "1" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Output Name "qv" Show on Position [615, 245] Direction right Flipped off Parameter { Variable "Index" Value "2" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Input Name "w" Show on Position [20, 165] Direction right Flipped off Parameter { Variable "Index" Value "3" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Input Name base64 "Vs6x" Show on Position [20, 130] Direction right Flipped off Parameter { Variable "Index" Value "4" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Subsystem Name "3th order integrator" Show off Position [455, 135] Direction up Flipped off Frame [-20, -15; 20, 15] LabelPosition [0, 18] LabelAlign up SampleTime "-1" CodeGenDiscretizationMethod "2" CodeGenTarget "Generic" MaskDisplayLang "2" MaskIconFrame on MaskIconOpaque off MaskIconRotates on Terminal { Type Input Position [-20, 0] Direction left } Terminal { Type Output Position [24, 0] Direction right } Schematic { Location [0, 27; 2560, 1355] ZoomFactor 2.94117 SliderPosition [0, 0] ShowBrowser off BrowserWidth 100 Component { Type Input Name "In" Show on Position [80, 215] Direction right Flipped off Parameter { Variable "Index" Value "1" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Output Name "Out" Show on Position [520, 120] Direction right Flipped off Parameter { Variable "Index" Value "2" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Gain Name "Gain" Show on Position [135, 215] Direction right Flipped off Parameter { Variable "K" Value "Ts/12" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Delay Name "Delay" Show off Position [230, 215] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Delay Name "Delay1" Show off Position [310, 215] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Delay Name "Delay2" Show off Position [385, 215] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Gain Name "Gain1" Show off Position [270, 165] Direction up Flipped off Parameter { Variable "K" Value "23" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain2" Show off Position [350, 165] Direction up Flipped off Parameter { Variable "K" Value "16" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain3" Show off Position [435, 165] Direction up Flipped off Parameter { Variable "K" Value "5" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum" Show off Position [185, 215] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|++" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum1" Show off Position [350, 120] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|+-" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum2" Show off Position [435, 120] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|++" Show off } Parameter { Variable "DataType" Value "10" Show off } } Connection { Type Signal SrcComponent "In" SrcTerminal 1 DstComponent "Gain" DstTerminal 1 } Connection { Type Signal SrcComponent "Gain" SrcTerminal 2 DstComponent "Sum" DstTerminal 2 } Connection { Type Signal SrcComponent "Sum" SrcTerminal 1 DstComponent "Delay" DstTerminal 1 } Connection { Type Signal SrcComponent "Gain1" SrcTerminal 2 Points [270, 120] DstComponent "Sum1" DstTerminal 2 } Connection { Type Signal SrcComponent "Gain2" SrcTerminal 2 DstComponent "Sum1" DstTerminal 3 } Connection { Type Signal SrcComponent "Gain3" SrcTerminal 2 DstComponent "Sum2" DstTerminal 3 } Connection { Type Signal SrcComponent "Sum1" SrcTerminal 1 DstComponent "Sum2" DstTerminal 2 } Connection { Type Signal SrcComponent "Delay" SrcTerminal 2 Points [270, 215] Branch { DstComponent "Delay1" DstTerminal 1 } Branch { DstComponent "Gain1" DstTerminal 1 } Branch { Points [270, 255; 185, 255] DstComponent "Sum" DstTerminal 3 } } Connection { Type Signal SrcComponent "Delay1" SrcTerminal 2 Points [350, 215] Branch { DstComponent "Delay2" DstTerminal 1 } Branch { DstComponent "Gain2" DstTerminal 1 } } Connection { Type Signal SrcComponent "Delay2" SrcTerminal 2 Points [435, 215] DstComponent "Gain3" DstTerminal 1 } Connection { Type Signal SrcComponent "Sum2" SrcTerminal 1 DstComponent "Out" DstTerminal 1 } } } Component { Type Subsystem Name "3th order integrator1" Show off Position [455, 195] Direction down Flipped off Frame [-20, -15; 20, 15] LabelPosition [0, -18] LabelAlign down SampleTime "-1" CodeGenDiscretizationMethod "2" CodeGenTarget "Generic" MaskDisplayLang "2" MaskIconFrame on MaskIconOpaque off MaskIconRotates on Terminal { Type Input Position [-20, 0] Direction left } Terminal { Type Output Position [24, 0] Direction right } Schematic { Location [0, 27; 2560, 1355] ZoomFactor 2.94117 SliderPosition [0, 0] ShowBrowser off BrowserWidth 100 Component { Type Input Name "In" Show on Position [80, 215] Direction right Flipped off Parameter { Variable "Index" Value "1" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Output Name "Out" Show on Position [520, 120] Direction right Flipped off Parameter { Variable "Index" Value "2" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Gain Name "Gain" Show on Position [135, 215] Direction right Flipped off Parameter { Variable "K" Value "Ts/12" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Delay Name "Delay" Show off Position [230, 215] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Delay Name "Delay1" Show off Position [310, 215] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Delay Name "Delay2" Show off Position [385, 215] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Gain Name "Gain1" Show off Position [270, 165] Direction up Flipped off Parameter { Variable "K" Value "23" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain2" Show off Position [350, 165] Direction up Flipped off Parameter { Variable "K" Value "16" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain3" Show off Position [435, 165] Direction up Flipped off Parameter { Variable "K" Value "5" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum" Show off Position [185, 215] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|++" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum1" Show off Position [350, 120] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|+-" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum2" Show off Position [435, 120] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|++" Show off } Parameter { Variable "DataType" Value "10" Show off } } Connection { Type Signal SrcComponent "In" SrcTerminal 1 DstComponent "Gain" DstTerminal 1 } Connection { Type Signal SrcComponent "Delay" SrcTerminal 2 Points [270, 215] Branch { DstComponent "Delay1" DstTerminal 1 } Branch { DstComponent "Gain1" DstTerminal 1 } Branch { Points [270, 255; 185, 255] DstComponent "Sum" DstTerminal 3 } } Connection { Type Signal SrcComponent "Delay1" SrcTerminal 2 Points [350, 215] Branch { DstComponent "Delay2" DstTerminal 1 } Branch { DstComponent "Gain2" DstTerminal 1 } } Connection { Type Signal SrcComponent "Gain" SrcTerminal 2 DstComponent "Sum" DstTerminal 2 } Connection { Type Signal SrcComponent "Sum" SrcTerminal 1 DstComponent "Delay" DstTerminal 1 } Connection { Type Signal SrcComponent "Gain1" SrcTerminal 2 Points [270, 120] DstComponent "Sum1" DstTerminal 2 } Connection { Type Signal SrcComponent "Gain2" SrcTerminal 2 DstComponent "Sum1" DstTerminal 3 } Connection { Type Signal SrcComponent "Gain3" SrcTerminal 2 DstComponent "Sum2" DstTerminal 3 } Connection { Type Signal SrcComponent "Sum1" SrcTerminal 1 DstComponent "Sum2" DstTerminal 2 } Connection { Type Signal SrcComponent "Sum2" SrcTerminal 1 DstComponent "Out" DstTerminal 1 } Connection { Type Signal SrcComponent "Delay2" SrcTerminal 2 Points [435, 215] DstComponent "Gain3" DstTerminal 1 } } } Component { Type Product Name "Product4" Show off Position [385, 85] Direction up Flipped off Parameter { Variable "Inputs" Value "2" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain2" Show off Position [325, 80] Direction right Flipped off Parameter { Variable "K" Value "kdc*(2-dcOffset_actv)" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Subsystem Name "3th order integrator2" Show off Position [455, 85] Direction up Flipped off Frame [-20, -15; 20, 15] LabelPosition [0, 18] LabelAlign up SampleTime "-1" CodeGenDiscretizationMethod "2" CodeGenTarget "Generic" MaskDisplayLang "2" MaskIconFrame on MaskIconOpaque off MaskIconRotates on Terminal { Type Input Position [-20, 0] Direction left } Terminal { Type Output Position [24, 0] Direction right } Schematic { Location [0, 27; 2560, 1355] ZoomFactor 2.94117 SliderPosition [0, 0] ShowBrowser off BrowserWidth 100 Component { Type Input Name "In" Show on Position [80, 215] Direction right Flipped off Parameter { Variable "Index" Value "1" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Output Name "Out" Show on Position [520, 120] Direction right Flipped off Parameter { Variable "Index" Value "2" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Gain Name "Gain" Show on Position [135, 215] Direction right Flipped off Parameter { Variable "K" Value "Ts/12" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Delay Name "Delay" Show off Position [230, 215] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Delay Name "Delay1" Show off Position [310, 215] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Delay Name "Delay2" Show off Position [385, 215] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Gain Name "Gain1" Show off Position [270, 165] Direction up Flipped off Parameter { Variable "K" Value "23" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain2" Show off Position [350, 165] Direction up Flipped off Parameter { Variable "K" Value "16" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain3" Show off Position [435, 165] Direction up Flipped off Parameter { Variable "K" Value "5" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum" Show off Position [185, 215] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|++" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum1" Show off Position [350, 120] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|+-" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum2" Show off Position [435, 120] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|++" Show off } Parameter { Variable "DataType" Value "10" Show off } } Connection { Type Signal SrcComponent "In" SrcTerminal 1 DstComponent "Gain" DstTerminal 1 } Connection { Type Signal SrcComponent "Delay" SrcTerminal 2 Points [270, 215] Branch { DstComponent "Delay1" DstTerminal 1 } Branch { DstComponent "Gain1" DstTerminal 1 } Branch { Points [270, 255; 185, 255] DstComponent "Sum" DstTerminal 3 } } Connection { Type Signal SrcComponent "Delay1" SrcTerminal 2 Points [350, 215] Branch { DstComponent "Delay2" DstTerminal 1 } Branch { DstComponent "Gain2" DstTerminal 1 } } Connection { Type Signal SrcComponent "Delay2" SrcTerminal 2 Points [435, 215] DstComponent "Gain3" DstTerminal 1 } Connection { Type Signal SrcComponent "Gain" SrcTerminal 2 DstComponent "Sum" DstTerminal 2 } Connection { Type Signal SrcComponent "Sum" SrcTerminal 1 DstComponent "Delay" DstTerminal 1 } Connection { Type Signal SrcComponent "Gain1" SrcTerminal 2 Points [270, 120] DstComponent "Sum1" DstTerminal 2 } Connection { Type Signal SrcComponent "Gain2" SrcTerminal 2 DstComponent "Sum1" DstTerminal 3 } Connection { Type Signal SrcComponent "Gain3" SrcTerminal 2 DstComponent "Sum2" DstTerminal 3 } Connection { Type Signal SrcComponent "Sum1" SrcTerminal 1 DstComponent "Sum2" DstTerminal 2 } Connection { Type Signal SrcComponent "Sum2" SrcTerminal 1 DstComponent "Out" DstTerminal 1 } Annotation { Name "3th integrator" Position [275, 75] } } } Component { Type Saturation Name "Saturation" Show on Position [260, 80] Direction right Flipped off Parameter { Variable "UpperLimit" Value "maxDCoffset" Show off } Parameter { Variable "LowerLimit" Value "-maxDCoffset" Show off } } Component { Type Sum Name "Sum" Show off Position [540, 85] Direction left Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "++|" Show off } Parameter { Variable "DataType" Value "10" Show off } } Connection { Type Signal SrcComponent "Sum3" SrcTerminal 1 DstComponent "Product2" DstTerminal 2 } Connection { Type Signal SrcComponent "Product3" SrcTerminal 1 Points [275, 190] Branch { DstComponent "Sum3" DstTerminal 3 } Branch { Points [275, 245] DstComponent "qv" DstTerminal 1 } } Connection { Type Signal SrcComponent "Sum2" SrcTerminal 1 Points [145, 130] Branch { DstComponent "Gain1" DstTerminal 1 } Branch { Points [145, 80] DstComponent "Saturation" DstTerminal 1 } } Connection { Type Signal SrcComponent "Product2" SrcTerminal 1 DstComponent "3th order integrator" DstTerminal 1 } Connection { Type Signal SrcComponent "3th order integrator1" SrcTerminal 2 DstComponent "Product3" DstTerminal 2 } Connection { Type Signal SrcComponent "Gain2" SrcTerminal 2 DstComponent "Product4" DstTerminal 2 } Connection { Type Signal SrcComponent "Saturation" SrcTerminal 2 DstComponent "Gain2" DstTerminal 1 } Connection { Type Signal SrcComponent base64 "Vs6x" SrcTerminal 1 DstComponent "Sum2" DstTerminal 3 } Connection { Type Signal SrcComponent "Sum" SrcTerminal 1 Points [540, 25; 115, 25] DstComponent "Sum2" DstTerminal 2 } Connection { Type Signal SrcComponent "3th order integrator" SrcTerminal 2 Points [540, 135] Branch { DstComponent "v" DstTerminal 1 } Branch { DstComponent "Sum" DstTerminal 3 } Branch { Points [540, 195] DstComponent "3th order integrator1" DstTerminal 1 } } Connection { Type Signal SrcComponent "Product4" SrcTerminal 1 DstComponent "3th order integrator2" DstTerminal 1 } Connection { Type Signal SrcComponent "w" SrcTerminal 1 Points [355, 165] Branch { Points [355, 185] DstComponent "Product3" DstTerminal 3 } Branch { Points [355, 140] Branch { DstComponent "Product2" DstTerminal 3 } Branch { DstComponent "Product4" DstTerminal 3 } } } Connection { Type Signal SrcComponent "Gain1" SrcTerminal 2 DstComponent "Sum3" DstTerminal 2 } Connection { Type Signal SrcComponent "3th order integrator2" SrcTerminal 2 DstComponent "Sum" DstTerminal 2 } } } Component { Type Subsystem Name "SOGI\n5th" Show on Position [395, 270] Direction up Flipped off Frame [-40, -20; 40, 20] LabelPosition [0, 0] SampleTime "-1" CodeGenDiscretizationMethod "2" CodeGenTarget "Generic" MaskDisplayLang "2" MaskIconFrame on MaskIconOpaque off MaskIconRotates on Terminal { Type Output Position [44, -10] Direction right } Terminal { Type Output Position [44, 10] Direction right } Terminal { Type Input Position [-40, -10] Direction left } Terminal { Type Input Position [-40, 10] Direction left } Schematic { Location [156, 159; 963, 525] ZoomFactor 1.14436 SliderPosition [0, 0] ShowBrowser off BrowserWidth 100 Component { Type Sum Name "Sum2" Show off Position [115, 130] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "-+|" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum3" Show off Position [275, 130] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|+-" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Product Name "Product2" Show off Position [385, 135] Direction up Flipped off Parameter { Variable "Inputs" Value "2" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain1" Show off Position [185, 130] Direction right Flipped off Parameter { Variable "K" Value "k_SOGI/5" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Product Name "Product3" Show off Position [320, 190] Direction down Flipped off Parameter { Variable "Inputs" Value "2" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Output Name "v" Show on Position [620, 135] Direction right Flipped off Parameter { Variable "Index" Value "1" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Output Name "qv" Show on Position [620, 250] Direction right Flipped off Parameter { Variable "Index" Value "2" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Input Name "w" Show on Position [45, 165] Direction right Flipped off Parameter { Variable "Index" Value "3" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Input Name base64 "Vs6x" Show on Position [45, 130] Direction right Flipped off Parameter { Variable "Index" Value "4" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Subsystem Name "3th order integrator" Show off Position [455, 135] Direction up Flipped off Frame [-20, -15; 20, 15] LabelPosition [0, 18] LabelAlign up SampleTime "-1" CodeGenDiscretizationMethod "2" CodeGenTarget "Generic" MaskDisplayLang "2" MaskIconFrame on MaskIconOpaque off MaskIconRotates on Terminal { Type Input Position [-20, 0] Direction left } Terminal { Type Output Position [24, 0] Direction right } Schematic { Location [197, 185; 914, 546] ZoomFactor 1.30957 SliderPosition [0, 0] ShowBrowser off BrowserWidth 100 Component { Type Input Name "In" Show on Position [50, 180] Direction right Flipped off Parameter { Variable "Index" Value "1" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Output Name "Out" Show on Position [490, 85] Direction right Flipped off Parameter { Variable "Index" Value "2" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Gain Name "Gain" Show on Position [105, 180] Direction right Flipped off Parameter { Variable "K" Value "Ts/12" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Delay Name "Delay" Show off Position [200, 180] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Delay Name "Delay1" Show off Position [280, 180] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Delay Name "Delay2" Show off Position [355, 180] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Gain Name "Gain1" Show off Position [240, 130] Direction up Flipped off Parameter { Variable "K" Value "23" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain2" Show off Position [320, 130] Direction up Flipped off Parameter { Variable "K" Value "16" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain3" Show off Position [405, 130] Direction up Flipped off Parameter { Variable "K" Value "5" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum" Show off Position [155, 180] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|++" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum1" Show off Position [320, 85] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|+-" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum2" Show off Position [405, 85] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|++" Show off } Parameter { Variable "DataType" Value "10" Show off } } Connection { Type Signal SrcComponent "In" SrcTerminal 1 DstComponent "Gain" DstTerminal 1 } Connection { Type Signal SrcComponent "Gain" SrcTerminal 2 DstComponent "Sum" DstTerminal 2 } Connection { Type Signal SrcComponent "Sum" SrcTerminal 1 DstComponent "Delay" DstTerminal 1 } Connection { Type Signal SrcComponent "Gain1" SrcTerminal 2 Points [240, 85] DstComponent "Sum1" DstTerminal 2 } Connection { Type Signal SrcComponent "Gain2" SrcTerminal 2 DstComponent "Sum1" DstTerminal 3 } Connection { Type Signal SrcComponent "Gain3" SrcTerminal 2 DstComponent "Sum2" DstTerminal 3 } Connection { Type Signal SrcComponent "Sum1" SrcTerminal 1 DstComponent "Sum2" DstTerminal 2 } Connection { Type Signal SrcComponent "Delay" SrcTerminal 2 Points [240, 180] Branch { DstComponent "Delay1" DstTerminal 1 } Branch { DstComponent "Gain1" DstTerminal 1 } Branch { Points [240, 220; 155, 220] DstComponent "Sum" DstTerminal 3 } } Connection { Type Signal SrcComponent "Delay1" SrcTerminal 2 Points [320, 180] Branch { DstComponent "Delay2" DstTerminal 1 } Branch { DstComponent "Gain2" DstTerminal 1 } } Connection { Type Signal SrcComponent "Delay2" SrcTerminal 2 Points [405, 180] DstComponent "Gain3" DstTerminal 1 } Connection { Type Signal SrcComponent "Sum2" SrcTerminal 1 DstComponent "Out" DstTerminal 1 } } } Component { Type Subsystem Name "3th order integrator1" Show off Position [455, 195] Direction down Flipped off Frame [-20, -15; 20, 15] LabelPosition [0, -18] LabelAlign down SampleTime "-1" CodeGenDiscretizationMethod "2" CodeGenTarget "Generic" MaskDisplayLang "2" MaskIconFrame on MaskIconOpaque off MaskIconRotates on Terminal { Type Input Position [-20, 0] Direction left } Terminal { Type Output Position [24, 0] Direction right } Schematic { Location [197, 185; 914, 546] ZoomFactor 1.30957 SliderPosition [0, 0] ShowBrowser off BrowserWidth 100 Component { Type Input Name "In" Show on Position [50, 180] Direction right Flipped off Parameter { Variable "Index" Value "1" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Output Name "Out" Show on Position [490, 85] Direction right Flipped off Parameter { Variable "Index" Value "2" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Gain Name "Gain" Show on Position [105, 180] Direction right Flipped off Parameter { Variable "K" Value "Ts/12" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Delay Name "Delay" Show off Position [200, 180] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Delay Name "Delay1" Show off Position [280, 180] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Delay Name "Delay2" Show off Position [355, 180] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Gain Name "Gain1" Show off Position [240, 130] Direction up Flipped off Parameter { Variable "K" Value "23" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain2" Show off Position [320, 130] Direction up Flipped off Parameter { Variable "K" Value "16" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain3" Show off Position [405, 130] Direction up Flipped off Parameter { Variable "K" Value "5" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum" Show off Position [155, 180] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|++" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum1" Show off Position [320, 85] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|+-" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum2" Show off Position [405, 85] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|++" Show off } Parameter { Variable "DataType" Value "10" Show off } } Connection { Type Signal SrcComponent "In" SrcTerminal 1 DstComponent "Gain" DstTerminal 1 } Connection { Type Signal SrcComponent "Gain" SrcTerminal 2 DstComponent "Sum" DstTerminal 2 } Connection { Type Signal SrcComponent "Sum" SrcTerminal 1 DstComponent "Delay" DstTerminal 1 } Connection { Type Signal SrcComponent "Gain1" SrcTerminal 2 Points [240, 85] DstComponent "Sum1" DstTerminal 2 } Connection { Type Signal SrcComponent "Gain2" SrcTerminal 2 DstComponent "Sum1" DstTerminal 3 } Connection { Type Signal SrcComponent "Gain3" SrcTerminal 2 DstComponent "Sum2" DstTerminal 3 } Connection { Type Signal SrcComponent "Sum1" SrcTerminal 1 DstComponent "Sum2" DstTerminal 2 } Connection { Type Signal SrcComponent "Delay" SrcTerminal 2 Points [240, 180] Branch { DstComponent "Delay1" DstTerminal 1 } Branch { DstComponent "Gain1" DstTerminal 1 } Branch { Points [240, 220; 155, 220] DstComponent "Sum" DstTerminal 3 } } Connection { Type Signal SrcComponent "Delay1" SrcTerminal 2 Points [320, 180] Branch { DstComponent "Delay2" DstTerminal 1 } Branch { DstComponent "Gain2" DstTerminal 1 } } Connection { Type Signal SrcComponent "Delay2" SrcTerminal 2 Points [405, 180] DstComponent "Gain3" DstTerminal 1 } Connection { Type Signal SrcComponent "Sum2" SrcTerminal 1 DstComponent "Out" DstTerminal 1 } } } Connection { Type Signal SrcComponent "Sum3" SrcTerminal 1 DstComponent "Product2" DstTerminal 2 } Connection { Type Signal SrcComponent "Gain1" SrcTerminal 2 DstComponent "Sum3" DstTerminal 2 } Connection { Type Signal SrcComponent "Product3" SrcTerminal 1 Points [275, 190] Branch { DstComponent "Sum3" DstTerminal 3 } Branch { Points [275, 250] DstComponent "qv" DstTerminal 1 } } Connection { Type Signal SrcComponent "Product2" SrcTerminal 1 DstComponent "3th order integrator" DstTerminal 1 } Connection { Type Signal SrcComponent "3th order integrator1" SrcTerminal 2 DstComponent "Product3" DstTerminal 2 } Connection { Type Signal SrcComponent "3th order integrator" SrcTerminal 2 Points [540, 135] Branch { DstComponent "v" DstTerminal 1 } Branch { Points [540, 80; 115, 80] DstComponent "Sum2" DstTerminal 2 } Branch { Points [540, 195] DstComponent "3th order integrator1" DstTerminal 1 } } Connection { Type Signal SrcComponent base64 "Vs6x" SrcTerminal 1 DstComponent "Sum2" DstTerminal 3 } Connection { Type Signal SrcComponent "w" SrcTerminal 1 Points [355, 165] Branch { Points [355, 185] DstComponent "Product3" DstTerminal 3 } Branch { DstComponent "Product2" DstTerminal 3 } } Connection { Type Signal SrcComponent "Sum2" SrcTerminal 1 DstComponent "Gain1" DstTerminal 1 } } } Component { Type Reference SrcComponent "Components/Control/Transformations/SRF->RRF" Name "SRF->RRF" Show off Position [625, 200] Direction up Flipped off Frame [-15, -15; 15, 15] LabelPosition [0, 18] LabelAlign up Terminal { Type Input Position [-15, -5] Direction left } Terminal { Type Output Position [19, 0] Direction right } Terminal { Type Input Position [-15, 5] Direction left } } Component { Type TransferFunction Name "LPF1" Show on Position [400, 75] Direction left Flipped off Frame [-30, -15; 30, 15] LabelPosition [0, -18] LabelAlign down Parameter { Variable "Numerator" Value "[2*pi*15]" Show off } Parameter { Variable "Denominator" Value "[1 2*pi*15]" Show off } Parameter { Variable "X0" Value "f/15" Show off } } Component { Type Subsystem Name "SOGI\n7th" Show on Position [395, 345] Direction up Flipped off Frame [-40, -20; 40, 20] LabelPosition [0, 0] SampleTime "-1" CodeGenDiscretizationMethod "2" CodeGenTarget "Generic" MaskDisplayLang "2" MaskIconFrame on MaskIconOpaque off MaskIconRotates on Terminal { Type Output Position [44, -10] Direction right } Terminal { Type Output Position [44, 10] Direction right } Terminal { Type Input Position [-40, -10] Direction left } Terminal { Type Input Position [-40, 10] Direction left } Schematic { Location [232, 160; 1104, 503] ZoomFactor 1.14436 SliderPosition [0, 0] ShowBrowser off BrowserWidth 100 Component { Type Sum Name "Sum2" Show off Position [155, 110] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "-+|" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum3" Show off Position [315, 110] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|+-" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Product Name "Product2" Show off Position [425, 115] Direction up Flipped off Parameter { Variable "Inputs" Value "2" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain1" Show off Position [225, 110] Direction right Flipped off Parameter { Variable "K" Value "k_SOGI/7" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Product Name "Product3" Show off Position [360, 170] Direction down Flipped off Parameter { Variable "Inputs" Value "2" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Output Name "v" Show on Position [660, 115] Direction right Flipped off Parameter { Variable "Index" Value "1" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Output Name "qv" Show on Position [660, 230] Direction right Flipped off Parameter { Variable "Index" Value "2" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Input Name "w" Show on Position [260, 150] Direction right Flipped off Parameter { Variable "Index" Value "3" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Input Name base64 "Vs6x" Show on Position [60, 110] Direction right Flipped off Parameter { Variable "Index" Value "4" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Subsystem Name "3th order integrator" Show off Position [495, 115] Direction up Flipped off Frame [-20, -15; 20, 15] LabelPosition [0, 18] LabelAlign up SampleTime "-1" CodeGenDiscretizationMethod "2" CodeGenTarget "Generic" MaskDisplayLang "2" MaskIconFrame on MaskIconOpaque off MaskIconRotates on Terminal { Type Input Position [-20, 0] Direction left } Terminal { Type Output Position [24, 0] Direction right } Schematic { Location [197, 185; 914, 546] ZoomFactor 1.30957 SliderPosition [0, 0] ShowBrowser off BrowserWidth 100 Component { Type Input Name "In" Show on Position [50, 180] Direction right Flipped off Parameter { Variable "Index" Value "1" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Output Name "Out" Show on Position [490, 85] Direction right Flipped off Parameter { Variable "Index" Value "2" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Gain Name "Gain" Show on Position [105, 180] Direction right Flipped off Parameter { Variable "K" Value "Ts/12" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Delay Name "Delay" Show off Position [200, 180] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Delay Name "Delay1" Show off Position [280, 180] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Delay Name "Delay2" Show off Position [355, 180] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Gain Name "Gain1" Show off Position [240, 130] Direction up Flipped off Parameter { Variable "K" Value "23" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain2" Show off Position [320, 130] Direction up Flipped off Parameter { Variable "K" Value "16" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain3" Show off Position [405, 130] Direction up Flipped off Parameter { Variable "K" Value "5" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum" Show off Position [155, 180] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|++" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum1" Show off Position [320, 85] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|+-" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum2" Show off Position [405, 85] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|++" Show off } Parameter { Variable "DataType" Value "10" Show off } } Connection { Type Signal SrcComponent "In" SrcTerminal 1 DstComponent "Gain" DstTerminal 1 } Connection { Type Signal SrcComponent "Gain" SrcTerminal 2 DstComponent "Sum" DstTerminal 2 } Connection { Type Signal SrcComponent "Sum" SrcTerminal 1 DstComponent "Delay" DstTerminal 1 } Connection { Type Signal SrcComponent "Gain1" SrcTerminal 2 Points [240, 85] DstComponent "Sum1" DstTerminal 2 } Connection { Type Signal SrcComponent "Gain2" SrcTerminal 2 DstComponent "Sum1" DstTerminal 3 } Connection { Type Signal SrcComponent "Gain3" SrcTerminal 2 DstComponent "Sum2" DstTerminal 3 } Connection { Type Signal SrcComponent "Sum1" SrcTerminal 1 DstComponent "Sum2" DstTerminal 2 } Connection { Type Signal SrcComponent "Delay" SrcTerminal 2 Points [240, 180] Branch { DstComponent "Delay1" DstTerminal 1 } Branch { DstComponent "Gain1" DstTerminal 1 } Branch { Points [240, 220; 155, 220] DstComponent "Sum" DstTerminal 3 } } Connection { Type Signal SrcComponent "Delay1" SrcTerminal 2 Points [320, 180] Branch { DstComponent "Delay2" DstTerminal 1 } Branch { DstComponent "Gain2" DstTerminal 1 } } Connection { Type Signal SrcComponent "Delay2" SrcTerminal 2 Points [405, 180] DstComponent "Gain3" DstTerminal 1 } Connection { Type Signal SrcComponent "Sum2" SrcTerminal 1 DstComponent "Out" DstTerminal 1 } } } Component { Type Subsystem Name "3th order integrator1" Show off Position [495, 175] Direction down Flipped off Frame [-20, -15; 20, 15] LabelPosition [0, -18] LabelAlign down SampleTime "-1" CodeGenDiscretizationMethod "2" CodeGenTarget "Generic" MaskDisplayLang "2" MaskIconFrame on MaskIconOpaque off MaskIconRotates on Terminal { Type Input Position [-20, 0] Direction left } Terminal { Type Output Position [24, 0] Direction right } Schematic { Location [197, 185; 914, 546] ZoomFactor 1.30957 SliderPosition [0, 0] ShowBrowser off BrowserWidth 100 Component { Type Input Name "In" Show on Position [50, 180] Direction right Flipped off Parameter { Variable "Index" Value "1" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Output Name "Out" Show on Position [490, 85] Direction right Flipped off Parameter { Variable "Index" Value "2" Show on } Parameter { Variable "Width" Value "-1" Show off } } Component { Type Gain Name "Gain" Show on Position [105, 180] Direction right Flipped off Parameter { Variable "K" Value "Ts/12" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Delay Name "Delay" Show off Position [200, 180] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Delay Name "Delay1" Show off Position [280, 180] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Delay Name "Delay2" Show off Position [355, 180] Direction right Flipped off Parameter { Variable "N" Value "1" Show off } Parameter { Variable "X0" Value "0" Show off } Parameter { Variable "Ts" Value "Ts" Show off } } Component { Type Gain Name "Gain1" Show off Position [240, 130] Direction up Flipped off Parameter { Variable "K" Value "23" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain2" Show off Position [320, 130] Direction up Flipped off Parameter { Variable "K" Value "16" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain3" Show off Position [405, 130] Direction up Flipped off Parameter { Variable "K" Value "5" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum" Show off Position [155, 180] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|++" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum1" Show off Position [320, 85] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|+-" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum2" Show off Position [405, 85] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|++" Show off } Parameter { Variable "DataType" Value "10" Show off } } Connection { Type Signal SrcComponent "In" SrcTerminal 1 DstComponent "Gain" DstTerminal 1 } Connection { Type Signal SrcComponent "Gain" SrcTerminal 2 DstComponent "Sum" DstTerminal 2 } Connection { Type Signal SrcComponent "Sum" SrcTerminal 1 DstComponent "Delay" DstTerminal 1 } Connection { Type Signal SrcComponent "Gain1" SrcTerminal 2 Points [240, 85] DstComponent "Sum1" DstTerminal 2 } Connection { Type Signal SrcComponent "Gain2" SrcTerminal 2 DstComponent "Sum1" DstTerminal 3 } Connection { Type Signal SrcComponent "Gain3" SrcTerminal 2 DstComponent "Sum2" DstTerminal 3 } Connection { Type Signal SrcComponent "Sum1" SrcTerminal 1 DstComponent "Sum2" DstTerminal 2 } Connection { Type Signal SrcComponent "Delay" SrcTerminal 2 Points [240, 180] Branch { DstComponent "Delay1" DstTerminal 1 } Branch { DstComponent "Gain1" DstTerminal 1 } Branch { Points [240, 220; 155, 220] DstComponent "Sum" DstTerminal 3 } } Connection { Type Signal SrcComponent "Delay1" SrcTerminal 2 Points [320, 180] Branch { DstComponent "Delay2" DstTerminal 1 } Branch { DstComponent "Gain2" DstTerminal 1 } } Connection { Type Signal SrcComponent "Delay2" SrcTerminal 2 Points [405, 180] DstComponent "Gain3" DstTerminal 1 } Connection { Type Signal SrcComponent "Sum2" SrcTerminal 1 DstComponent "Out" DstTerminal 1 } } } Connection { Type Signal SrcComponent "Sum3" SrcTerminal 1 DstComponent "Product2" DstTerminal 2 } Connection { Type Signal SrcComponent "Gain1" SrcTerminal 2 DstComponent "Sum3" DstTerminal 2 } Connection { Type Signal SrcComponent "Product3" SrcTerminal 1 Points [315, 170] Branch { DstComponent "Sum3" DstTerminal 3 } Branch { Points [315, 230] DstComponent "qv" DstTerminal 1 } } Connection { Type Signal SrcComponent "w" SrcTerminal 1 Points [395, 150] Branch { DstComponent "Product2" DstTerminal 3 } Branch { Points [395, 165] DstComponent "Product3" DstTerminal 3 } } Connection { Type Signal SrcComponent "Product2" SrcTerminal 1 DstComponent "3th order integrator" DstTerminal 1 } Connection { Type Signal SrcComponent "3th order integrator1" SrcTerminal 2 DstComponent "Product3" DstTerminal 2 } Connection { Type Signal SrcComponent "3th order integrator" SrcTerminal 2 Points [580, 115] Branch { DstComponent "v" DstTerminal 1 } Branch { Points [580, 65; 155, 65] DstComponent "Sum2" DstTerminal 2 } Branch { Points [580, 175] DstComponent "3th order integrator1" DstTerminal 1 } } Connection { Type Signal SrcComponent base64 "Vs6x" SrcTerminal 1 DstComponent "Sum2" DstTerminal 3 } Connection { Type Signal SrcComponent "Sum2" SrcTerminal 1 DstComponent "Gain1" DstTerminal 1 } } } Component { Type Sum Name "Sum6" Show off Position [195, 200] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|+-" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum7" Show off Position [250, 200] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "|+-" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum8" Show off Position [195, 280] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "-+|" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum9" Show off Position [250, 280] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "-+|" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum10" Show off Position [195, 355] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "-+|" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Sum Name "Sum11" Show off Position [250, 355] Direction up Flipped off Parameter { Variable "IconShape" Value "2" Show off } Parameter { Variable "Inputs" Value "-+|" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain7" Show off Position [320, 260] Direction right Flipped off Parameter { Variable "K" Value "5*(MSOGI5-1)" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type Gain Name "Gain8" Show off Position [320, 335] Direction right Flipped off Parameter { Variable "K" Value "7*(MSOGI7-1)" Show off } Parameter { Variable "Multiplication" Value "1" Show off } Parameter { Variable "DataType" Value "10" Show off } } Component { Type SignalMux Name "Mux" Show off Position [520, 195] Direction right Flipped off Parameter { Variable "Width" Value "2" Show off } } Component { Type Saturation Name "Saturation" Show on Position [485, 75] Direction left Flipped off Parameter { Variable "UpperLimit" Value "inf" Show off } Parameter { Variable "LowerLimit" Value "1" Show off } } Connection { Type Signal SrcComponent "Constant1" SrcTerminal 1 DstComponent "Sum" DstTerminal 3 } Connection { Type Signal SrcComponent "Discrete PI Controller" SrcTerminal 2 DstComponent "Sum" DstTerminal 2 } Connection { Type Signal SrcComponent "Constant" SrcTerminal 1 Points [1240, 30] DstComponent "Switch" DstTerminal 4 } Connection { Type Signal SrcComponent "Switch" SrcTerminal 1 DstComponent "w'" DstTerminal 1 } Connection { Type Signal SrcComponent "Mux1" SrcTerminal 1 DstComponent "Normalize" DstTerminal 1 } Connection { Type Signal SrcComponent "Demux1" SrcTerminal 2 DstComponent "Mux1" DstTerminal 3 } Connection { Type Signal SrcComponent "Demux1" SrcTerminal 3 DstComponent "Mux1" DstTerminal 4 } Connection { Type Signal SrcComponent "Normalize" SrcTerminal 2 DstComponent "Discrete PI Controller" DstTerminal 1 } Connection { Type Signal SrcComponent "SRF->RRF" SrcTerminal 2 Points [655, 200] Branch { DstComponent "Demux1" DstTerminal 1 } Branch { Points [655, 155] DstComponent "Amplitude" DstTerminal 1 } } Connection { Type Signal SrcComponent "Sum" SrcTerminal 1 Points [1100, 195] Branch { DstComponent "Integrator" DstTerminal 1 } Branch { Points [1100, 75] Branch { DstComponent "LPF" DstTerminal 1 } Branch { Points [1100, 50; 1210, 50] DstComponent "Switch" DstTerminal 2 } Branch { DstComponent "Saturation" DstTerminal 1 } } } Connection { Type Signal SrcComponent "Sum6" SrcTerminal 1 DstComponent "Sum7" DstTerminal 2 } Connection { Type Signal SrcComponent "Sum7" SrcTerminal 1 DstComponent base64 "U09HSQrOsc6y" DstTerminal 4 } Connection { Type Signal SrcComponent "Sum9" SrcTerminal 1 DstComponent "SOGI\n5th" DstTerminal 4 } Connection { Type Signal SrcComponent "Sum8" SrcTerminal 1 DstComponent "Sum9" DstTerminal 3 } Connection { Type Signal SrcComponent "Sum10" SrcTerminal 1 DstComponent "Sum11" DstTerminal 3 } Connection { Type Signal SrcComponent "Sum11" SrcTerminal 1 DstComponent "SOGI\n7th" DstTerminal 4 } Connection { Type Signal SrcComponent "SOGI\n7th" SrcTerminal 1 Points [465, 335; 465, 395; 270, 395; 270, 235; 250, 235] Branch { DstComponent "Sum7" DstTerminal 3 } Branch { DstComponent "Sum9" DstTerminal 2 } } Connection { Type Signal SrcComponent "SOGI\n5th" SrcTerminal 1 Points [485, 260; 485, 425; 220, 425; 220, 320] Branch { Points [220, 235; 195, 235] DstComponent "Sum6" DstTerminal 3 } Branch { Points [195, 320] DstComponent "Sum10" DstTerminal 2 } } Connection { Type Signal SrcComponent "Gain8" SrcTerminal 2 DstComponent "SOGI\n7th" DstTerminal 3 } Connection { Type Signal SrcComponent "Vg" SrcTerminal 1 Points [135, 200] Branch { DstComponent "Sum6" DstTerminal 2 } Branch { Points [135, 280] Branch { DstComponent "Sum8" DstTerminal 3 } Branch { Points [135, 355] DstComponent "Sum10" DstTerminal 3 } } } Connection { Type Signal SrcComponent "Amplitude" SrcTerminal 2 Points [730, 155] DstComponent "Mux1" DstTerminal 2 } Connection { Type Signal SrcComponent "Mux" SrcTerminal 1 DstComponent "SRF->RRF" DstTerminal 1 } Connection { Type Signal SrcComponent base64 "U09HSQrOsc6y" SrcTerminal 1 Points [450, 180] Branch { Points [450, 145; 165, 145; 165, 245] Branch { Points [195, 245] DstComponent "Sum8" DstTerminal 2 } Branch { Points [165, 305; 250, 305] DstComponent "Sum11" DstTerminal 2 } } Branch { Points [505, 180] DstComponent "Mux" DstTerminal 2 } } Connection { Type Signal SrcComponent "LPF" SrcTerminal 2 DstComponent "Switch" DstTerminal 3 } Connection { Type Signal SrcComponent "Integrator" SrcTerminal 2 Points [1225, 195] Branch { DstComponent base64 "zrgn" DstTerminal 1 } Branch { Points [1225, 305; 585, 305; 585, 205] DstComponent "SRF->RRF" DstTerminal 3 } } Connection { Type Signal SrcComponent base64 "U09HSQrOsc6y" SrcTerminal 2 Points [485, 200] Branch { Points [485, 115] DstComponent base64 "Vs6y" DstTerminal 1 } Branch { DstComponent "Mux" DstTerminal 3 } } Connection { Type Signal SrcComponent "Gain7" SrcTerminal 2 DstComponent "SOGI\n5th" DstTerminal 3 } Connection { Type Signal SrcComponent "LPF1" SrcTerminal 2 Points [290, 75; 290, 180] Branch { DstComponent base64 "U09HSQrOsc6y" DstTerminal 3 } Branch { Points [290, 260] Branch { DstComponent "Gain7" DstTerminal 1 } Branch { DstComponent "Gain8" DstTerminal 1 } } } Connection { Type Signal SrcComponent "Saturation" SrcTerminal 2 DstComponent "LPF1" DstTerminal 1 } Annotation { Name base64 "77+8" Position [895, 195] } Annotation { Name "Vq [p.u.]" Position [860, 185] } Annotation { Name "Feedforward" Position [1050, 280] } Annotation { Name base64 "Vs6xzrI=" Position [565, 185] } Annotation { Name "Single-phase (M)SOGI-PLL\n(c) imperix Ltd. 2024" Position [825, 380] } } } Annotation { Name "Double SOGI-PLL for three-phase systems" Position [250, 145] } Annotation { Name "SOGI-PLL for single-phase systems" Position [235, 45] } Annotation { Name "(M)SOGI-PLL\n(c) imperix Ltd. 2024" Position [270, 245] } } } DemoSignature "QFZ0RDZp8SO0dDbyBzea03bmpHXKSeVq6XI2N0BH6qQ="