Model { Name "mechanical_library" Version 2.00 SimParamPage Solver SampleTimeColors off WideVectorLines off PaperOrientation landscape StartTime "0.0" StopTime "10.0" Solver ode45 RelTol "1e-3" AbsTol "1e-6" Refine "1" MaxStep "auto" InitialStep "auto" FixedStep "auto" MaxOrder 5 OutputOption RefineOutputTimes OutputTimes "[]" LoadExternalInput off ExternalInput "[t, u]" SaveTime on TimeSaveName "tout" SaveState off StateSaveName "xout" SaveOutput on OutputSaveName "yout" LoadInitialState off InitialState "xInitial" SaveFinalState off FinalStateName "xFinal" LimitMaxRows off MaxRows "1000" Decimation "1" AlgebraicLoopMsg warning MinStepSizeMsg warning UnconnectedInputMsg warning UnconnectedOutputMsg warning UnconnectedLineMsg warning ConsistencyChecking off ZeroCross on BlockDefaults { Orientation right ForegroundColor black BackgroundColor white DropShadow off NamePlacement normal FontName "Helvetica" FontSize 10 FontWeight normal FontAngle normal ShowName on } AnnotationDefaults { HorizontalAlignment center VerticalAlignment middle ForegroundColor black BackgroundColor white DropShadow off FontName "Helvetica" FontSize 10 FontWeight normal FontAngle normal } System { Name "mechanical_library" Location [316, 46, 808, 111] Open on ScreenColor white Block { BlockType SubSystem Name "Mechanical library" Position [30, 15, 60, 45] ShowPortLabels on System { Name "Mechanical library" Location [328, 44, 769, 189] Open on ScreenColor white Block { BlockType SubSystem Name "ElecActutor:Contact" Position [360, 88, 420, 122] ShowPortLabels on System { Name "ElecActutor:Contact" Location [361, 240, 727, 447] Open off ScreenColor white Block { BlockType Inport Name "V_0" Position [15, 65, 35, 85] Port "1" PortWidth "-1" SampleTime "-1" } Block { BlockType SubSystem Name "Linear Region" Position [115, 47, 170, 103] ShowPortLabels on MaskType "Linear region" MaskDescription "Implements the state equations for " "a parallel-plate electrostatic actuator" MaskPromptString "Area|Permittivity|Initial gap|Minimum " "gap|Mass|Damping constant|Spring " "constant|Resistance|Initial charge|Initi" "al velocity" MaskStyleString "edit,edit,edit,edit,edit,edit,edit,edit," "edit,edit" MaskVariables "A=@1;e=@2;g_0=@3;g_min=@4;m=@5;b=@6;k=@7" ";R=@8;Q_0=@9;g_0dot=@10;" MaskIconFrame on MaskIconOpaque on MaskIconRotate off MaskIconUnits autoscale MaskValueString "100|1|1|.001|1|.5|1|.001|0|0" System { Name "Linear Region" Location [142, 65, 807, 579] Open off ScreenColor white Block { BlockType Inport Name "V_in" Position [190, 385, 210, 405] Port "1" PortWidth "-1" SampleTime "-1" } Block { BlockType Gain Name "1/R" Position [305, 375, 335, 405] Gain "1/R" } Block { BlockType Gain Name "1/eA" Position [295, 314, 345, 356] Orientation left ShowName off Gain "1/(e*A)" } Block { BlockType Constant Name "At-rest gap" Position [185, 325, 205, 345] Orientation up NamePlacement alternate Value "g_0" } Block { BlockType Integrator Name "Charge" Position [475, 375, 505, 405] ExternalReset none InitialConditionSource internal InitialCondition "Q_0" LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" } Block { BlockType Gain Name "Damping" Position [230, 210, 260, 240] Orientation up Gain "b" } Block { BlockType Fcn Name "Electrostatic force" Position [150, 117, 235, 153] Expr "(u[1]^2)/(2*e*A)" } Block { BlockType Gain Name "Inertia" Position [295, 135, 335, 165] Gain "-1/m" } Block { BlockType Integrator Name "Position" Position [475, 260, 505, 290] ExternalReset none InitialConditionSource internal InitialCondition "g_0" LimitOutput on UpperSaturationLimit "inf" LowerSaturationLimit "g_min" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" } Block { BlockType Product Name "Qg" Position [475, 317, 505, 348] Orientation left Inputs "2" } Block { BlockType Gain Name "Spring" Position [190, 210, 220, 240] Orientation up NamePlacement alternate Gain "k" } Block { BlockType Sum Name "Sum" Position [255, 372, 285, 403] ShowName off Inputs "-+" } Block { BlockType Sum Name "Sum1" Position [260, 124, 280, 176] ShowName off Inputs "+++" } Block { BlockType Sum Name "Sum2" Position [187, 260, 218, 295] Orientation up NamePlacement alternate Inputs "-+" } Block { BlockType Sum Name "Sum3" Position [367, 95, 398, 130] Orientation down NamePlacement alternate ShowName off Inputs "++" } Block { BlockType Switch Name "Switch" Position [375, 144, 405, 186] Threshold "0" } Block { BlockType Integrator Name "Velocity" Position [475, 157, 505, 188] ExternalReset falling InitialConditionSource internal InitialCondition "0" LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" } Block { BlockType Constant Name "Zero" Position [335, 205, 355, 225] Orientation up Value "0" } Block { BlockType RelationalOperator Name "accel > 0 ?" Position [325, 57, 355, 88] Operator < } Block { BlockType RelationalOperator Name "g > g_min?" Position [470, 82, 500, 113] Orientation left Operator > } Block { BlockType Constant Name "g_min" Position [530, 79, 565, 101] Orientation left ShowName off Value "g_min" } Block { BlockType Outport Name "Q" Position [570, 380, 590, 400] Port "1" OutputWhenDisabled held InitialOutput "0" } Block { BlockType Outport Name "g" Position [565, 265, 585, 285] Port "2" OutputWhenDisabled held InitialOutput "0" } Block { BlockType Outport Name "gdot" Position [565, 200, 585, 220] Port "3" OutputWhenDisabled held InitialOutput "0" } Line { SrcBlock "Damping" SrcPort 1 DstBlock "Sum1" DstPort 3 } Line { SrcBlock "Spring" SrcPort 1 Points [0, -35; 35, 0; 0, -20] DstBlock "Sum1" DstPort 2 } Line { SrcBlock "Electrostatic force" SrcPort 1 DstBlock "Sum1" DstPort 1 } Line { SrcBlock "At-rest gap" SrcPort 1 DstBlock "Sum2" DstPort 1 } Line { SrcBlock "1/eA" SrcPort 1 Points [-50, 0] DstBlock "Sum" DstPort 1 } Line { SrcBlock "Qg" SrcPort 1 DstBlock "1/eA" DstPort 1 } Line { SrcBlock "V_in" SrcPort 1 DstBlock "Sum" DstPort 2 } Line { SrcBlock "Sum1" SrcPort 1 DstBlock "Inertia" DstPort 1 } Line { SrcBlock "Sum2" SrcPort 1 DstBlock "Spring" DstPort 1 } Line { SrcBlock "1/R" SrcPort 1 DstBlock "Charge" DstPort 1 } Line { SrcBlock "Sum" SrcPort 1 DstBlock "1/R" DstPort 1 } Line { Labels [1, 0] SrcBlock "Velocity" SrcPort 1 Points [20, 0; 0, 35] Branch { Points [0, 45; -105, 0] Branch { Points [0, 20] DstBlock "Position" DstPort 1 } Branch { DstBlock "Damping" DstPort 1 } } Branch { DstBlock "gdot" DstPort 1 } } Line { SrcBlock "Position" SrcPort 1 Points [25, 0] Branch { Points [0, 35] Branch { DstBlock "Sum2" DstPort 2 } Branch { Points [0, 15] DstBlock "Qg" DstPort 1 } } Branch { Points [10, 0] Branch { DstBlock "g" DstPort 1 } Branch { Points [0, -170] DstBlock "g > g_min?" DstPort 2 } } } Line { SrcBlock "Charge" SrcPort 1 Points [30, 0] Branch { Points [0, 40; -415, 0; 0, -295] DstBlock "Electrostatic force" DstPort 1 } Branch { Points [0, -50] DstBlock "Qg" DstPort 2 } Branch { DstBlock "Q" DstPort 1 } } Line { SrcBlock "g_min" SrcPort 1 DstBlock "g > g_min?" DstPort 1 } Line { SrcBlock "Switch" SrcPort 1 DstBlock "Velocity" DstPort 1 } Line { SrcBlock "Zero" SrcPort 1 Points [0, -20] Branch { DstBlock "Switch" DstPort 3 } Branch { Points [0, -60; -40, 0; 0, -40] DstBlock "accel > 0 ?" DstPort 2 } } Line { SrcBlock "Inertia" SrcPort 1 Points [0, 0] Branch { DstBlock "Switch" DstPort 1 } Branch { Points [0, -20; -45, 0; 0, -65] DstBlock "accel > 0 ?" DstPort 1 } } Line { SrcBlock "accel > 0 ?" SrcPort 1 Points [15, 0] DstBlock "Sum3" DstPort 1 } Line { SrcBlock "g > g_min?" SrcPort 1 Points [-40, 0] Branch { Points [0, 80] DstBlock "Velocity" DstPort 2 } Branch { Points [0, -25; -35, 0] DstBlock "Sum3" DstPort 2 } } Line { SrcBlock "Sum3" SrcPort 1 Points [-25, 0] DstBlock "Switch" DstPort 2 } } } Block { BlockType Outport Name "Q" Position [240, 15, 260, 35] Port "1" OutputWhenDisabled held InitialOutput "0" } Block { BlockType Outport Name "g" Position [240, 65, 260, 85] Port "2" OutputWhenDisabled held InitialOutput "0" } Block { BlockType Outport Name "gdot" Position [240, 110, 260, 130] Port "3" OutputWhenDisabled held InitialOutput "0" } Line { Labels [2, 0] SrcBlock "Linear Region" SrcPort 3 Points [30, 0; 0, 25] DstBlock "gdot" DstPort 1 } Line { SrcBlock "Linear Region" SrcPort 2 DstBlock "g" DstPort 1 } Line { SrcBlock "Linear Region" SrcPort 1 Points [30, 0; 0, -30] DstBlock "Q" DstPort 1 } Line { SrcBlock "V_0" SrcPort 1 DstBlock "Linear Region" DstPort 1 } } } Block { BlockType SubSystem Name "Electrostatic Actuator: Noncontact" Position [225, 88, 280, 122] ShowPortLabels on System { Name "Electrostatic Actuator: Noncontact" Location [230, 164, 653, 478] Open off ScreenColor white Block { BlockType Inport Name "V_0" Position [60, 70, 80, 90] Port "1" PortWidth "-1" SampleTime "-1" } Block { BlockType SubSystem Name "Linear Region" Position [160, 52, 215, 108] ShowPortLabels on MaskType "Linear region" MaskDescription "Implements the state equations for " "a parallel-plate electrostatic actuator" MaskPromptString "Area|Permittivity|Initial gap|Minimum " "gap|Mass|Damping constant|Spring " "constant|Resistance|Initial charge|Initi" "al velocity" MaskStyleString "edit,edit,edit,edit,edit,edit,edit,edit," "edit,edit" MaskVariables "A=@1;e=@2;g_0=@3;g_min=@4;m=@5;b=@6;k=@7" ";R=@8;Q_0=@9;g_0dot=@10;" MaskIconFrame on MaskIconOpaque on MaskIconRotate off MaskIconUnits autoscale MaskValueString "100|1|1|.01|1|.1|1|1|0|0" System { Name "Linear Region" Location [106, 46, 491, 386] Open off ScreenColor white Block { BlockType Inport Name "V_in" Position [90, 280, 110, 300] Port "1" PortWidth "-1" SampleTime "-1" } Block { BlockType Gain Name "1/R" Position [205, 270, 235, 300] Gain "1/R" } Block { BlockType Gain Name "1/eA" Position [195, 209, 245, 251] Orientation left ShowName off Gain "1/(e*A)" } Block { BlockType Constant Name "At-rest gap" Position [85, 220, 105, 240] Orientation up NamePlacement alternate Value "g_0" } Block { BlockType Integrator Name "Charge" Position [265, 270, 295, 300] ExternalReset none InitialConditionSource internal InitialCondition "Q_0" LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" } Block { BlockType Gain Name "Damping" Position [130, 105, 160, 135] Orientation up Gain "b" } Block { BlockType Fcn Name "Electrostatic force" Position [50, 12, 135, 48] Expr "(u[1]^2)/(2*e*A)" } Block { BlockType Gain Name "Inertia" Position [205, 29, 245, 61] Gain "-1/m" } Block { BlockType Integrator Name "Position" Position [265, 155, 295, 185] ExternalReset none InitialConditionSource internal InitialCondition "g_0" LimitOutput on UpperSaturationLimit "inf" LowerSaturationLimit "g_min" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" } Block { BlockType Product Name "Qg" Position [265, 212, 295, 243] Orientation left Inputs "2" } Block { BlockType Gain Name "Spring" Position [90, 105, 120, 135] Orientation up NamePlacement alternate Gain "k" } Block { BlockType Sum Name "Sum" Position [155, 267, 185, 298] ShowName off Inputs "-+" } Block { BlockType Sum Name "Sum1" Position [160, 20, 190, 70] ShowName off Inputs "+++" } Block { BlockType Sum Name "Sum2" Position [87, 155, 118, 190] Orientation up NamePlacement alternate Inputs "-+" } Block { BlockType Integrator Name "Velocity" Position [265, 90, 295, 120] ExternalReset none InitialConditionSource internal InitialCondition "0" LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" } Block { BlockType Outport Name "Q" Position [355, 275, 375, 295] Port "1" OutputWhenDisabled held InitialOutput "0" } Block { BlockType Outport Name "g" Position [355, 160, 375, 180] Port "2" OutputWhenDisabled held InitialOutput "0" } Block { BlockType Outport Name "gdot" Position [355, 95, 375, 115] Port "3" OutputWhenDisabled held InitialOutput "0" } Line { SrcBlock "Sum" SrcPort 1 DstBlock "1/R" DstPort 1 } Line { SrcBlock "1/R" SrcPort 1 DstBlock "Charge" DstPort 1 } Line { SrcBlock "Charge" SrcPort 1 Points [30, 0] Branch { DstBlock "Q" DstPort 1 } Branch { Points [0, -50] DstBlock "Qg" DstPort 2 } Branch { Points [0, 40; -310, 0; 0, -295] DstBlock "Electrostatic force" DstPort 1 } } Line { SrcBlock "Position" SrcPort 1 Points [25, 0] Branch { DstBlock "g" DstPort 1 } Branch { Points [0, 35] Branch { Points [0, 15] DstBlock "Qg" DstPort 1 } Branch { DstBlock "Sum2" DstPort 2 } } } Line { SrcBlock "Sum2" SrcPort 1 DstBlock "Spring" DstPort 1 } Line { SrcBlock "Sum1" SrcPort 1 DstBlock "Inertia" DstPort 1 } Line { SrcBlock "Inertia" SrcPort 1 DstBlock "Velocity" DstPort 1 } Line { SrcBlock "V_in" SrcPort 1 DstBlock "Sum" DstPort 2 } Line { SrcBlock "Qg" SrcPort 1 DstBlock "1/eA" DstPort 1 } Line { SrcBlock "1/eA" SrcPort 1 Points [-50, 0] DstBlock "Sum" DstPort 1 } Line { SrcBlock "Velocity" SrcPort 1 Points [20, 0] Branch { DstBlock "gdot" DstPort 1 } Branch { Points [0, 45; -105, 0] Branch { DstBlock "Damping" DstPort 1 } Branch { Points [0, 20] DstBlock "Position" DstPort 1 } } } Line { SrcBlock "At-rest gap" SrcPort 1 DstBlock "Sum2" DstPort 1 } Line { SrcBlock "Electrostatic force" SrcPort 1 DstBlock "Sum1" DstPort 1 } Line { SrcBlock "Spring" SrcPort 1 Points [0, -35; 35, 0; 0, -20] DstBlock "Sum1" DstPort 2 } Line { SrcBlock "Damping" SrcPort 1 DstBlock "Sum1" DstPort 3 } } } Block { BlockType Outport Name "Q" Position [285, 20, 305, 40] Port "1" OutputWhenDisabled held InitialOutput "0" } Block { BlockType Outport Name "g" Position [285, 70, 305, 90] Port "2" OutputWhenDisabled held InitialOutput "0" } Block { BlockType Outport Name "gdot" Position [285, 115, 305, 135] Port "3" OutputWhenDisabled held InitialOutput "0" } Line { SrcBlock "V_0" SrcPort 1 DstBlock "Linear Region" DstPort 1 } Line { SrcBlock "Linear Region" SrcPort 1 Points [30, 0; 0, -30] DstBlock "Q" DstPort 1 } Line { SrcBlock "Linear Region" SrcPort 2 DstBlock "g" DstPort 1 } Line { Labels [2, 0] SrcBlock "Linear Region" SrcPort 3 Points [30, 0; 0, 25] DstBlock "gdot" DstPort 1 } } } Block { BlockType SubSystem Name "Inertial mass\nIn: force\nOut: position" Position [20, 12, 60, 48] ShowPortLabels on MaskType "inertial_mass" MaskDescription "Implements an inertial mass\nInt: Force\nOut" ": Position\nParamters: mass, initial " "position, initial velocity" MaskIconFrame on MaskIconOpaque on MaskIconRotate off MaskIconUnits autoscale System { Name "Inertial mass\nIn: force\nOut: position" Location [203, 331, 587, 454] Open off ScreenColor white Block { BlockType Inport Name "In" Position [15, 20, 35, 40] Port "1" PortWidth "-1" SampleTime "-1" } Block { BlockType Gain Name "Inertia" Position [80, 14, 130, 46] Gain "1/mass" } Block { BlockType Integrator Name "Position" Position [255, 15, 285, 45] ExternalReset none InitialConditionSource internal InitialCondition "x_dot0" LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" } Block { BlockType Integrator Name "Velocity" Position [190, 15, 220, 45] ExternalReset none InitialConditionSource internal InitialCondition "x0" LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" } Block { BlockType Outport Name "Out" Position [340, 20, 360, 40] Port "1" OutputWhenDisabled held InitialOutput "0" } Line { SrcBlock "Velocity" SrcPort 1 DstBlock "Position" DstPort 1 } Line { Name "Acceleration" Labels [1, 1] SrcBlock "Inertia" SrcPort 1 DstBlock "Velocity" DstPort 1 } Line { Name "Force" Labels [0, 0] SrcBlock "In" SrcPort 1 DstBlock "Inertia" DstPort 1 } Line { Name "Position" Labels [0, 0] SrcBlock "Position" SrcPort 1 DstBlock "Out" DstPort 1 } } } Block { BlockType SubSystem Name "Spring-mass-dashpot\nIn: force\nOut: " "position" Position [105, 12, 150, 48] ShowPortLabels on MaskType "Spring_mask_dashpot" MaskDescription "Implements a general spring-mass-dashpot " "system\nInput: force\nOutput: position\nPar" "ameters: mass, spring constant, damping " "constant, initial position, initial velocity" MaskPromptString "Mass|Spring constant|Damping constant|Initia" "l position|Initial velocity" MaskStyleString "edit,edit,edit,edit,edit" MaskVariables "mass=@1;k=@2;b=@3;x0=@4;x_dot0=@5;" MaskIconFrame on MaskIconOpaque on MaskIconRotate off MaskIconUnits autoscale MaskValueString "||||" System { Name "Spring-mass-dashpot\nIn: force\nOut: " "position" Location [198, 317, 667, 509] Open off ScreenColor white Block { BlockType Inport Name "In" Position [25, 15, 45, 35] Port "1" PortWidth "-1" SampleTime "-1" } Block { BlockType Gain Name "Damping constant" Position [185, 75, 215, 105] Orientation left NamePlacement alternate Gain "b" } Block { BlockType Gain Name "Inertia" Position [150, 19, 200, 51] ShowName off Gain "1/mass" } Block { BlockType Integrator Name "Position" Position [325, 20, 355, 50] ExternalReset none InitialConditionSource internal InitialCondition "x_dot0" LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" } Block { BlockType Gain Name "Spring constant" Position [315, 115, 345, 145] Orientation left NamePlacement alternate Gain "k" } Block { BlockType Sum Name "Sum" Position [75, 17, 105, 48] ShowName off Inputs "+-" } Block { BlockType Sum Name "Sum1" Position [36, 60, 74, 75] Orientation up NamePlacement alternate ShowName off Inputs "++" } Block { BlockType Integrator Name "Velocity" Position [260, 20, 290, 50] ExternalReset none InitialConditionSource internal InitialCondition "x0" LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" } Block { BlockType Outport Name "Out" Position [410, 25, 430, 45] Port "1" OutputWhenDisabled held InitialOutput "0" } Line { SrcBlock "Spring constant" SrcPort 1 Points [-265, 0] DstBlock "Sum1" DstPort 1 } Line { SrcBlock "Damping constant" SrcPort 1 DstBlock "Sum1" DstPort 2 } Line { SrcBlock "Sum1" SrcPort 1 Points [0, -15] DstBlock "Sum" DstPort 2 } Line { SrcBlock "Velocity" SrcPort 1 Points [10, 0] Branch { Points [0, 55] DstBlock "Damping constant" DstPort 1 } Branch { DstBlock "Position" DstPort 1 } } Line { Name "Position" SrcBlock "Position" SrcPort 1 Points [20, 0] Branch { Points [0, 95] DstBlock "Spring constant" DstPort 1 } Branch { DstBlock "Out" DstPort 1 } } Line { SrcBlock "In" SrcPort 1 DstBlock "Sum" DstPort 1 } Line { Name "Force" Labels [1, 0] SrcBlock "Sum" SrcPort 1 DstBlock "Inertia" DstPort 1 } Line { Name "Acceleration" Labels [1, 0] SrcBlock "Inertia" SrcPort 1 DstBlock "Velocity" DstPort 1 } } } Block { BlockType SubSystem Name "State-space spring-mass" Position [220, 31, 270, 64] ShowPortLabels on MaskType "State-space spring-mass-dashpot" MaskDescription "Input is force; two outputs position " "and velocity" MaskPromptString "mass|spring constant|damping constant|initia" "l position|initial velocity" MaskStyleString "edit,edit,edit,edit,edit" MaskVariables "m=@1;k=@2;b=@3;x_0=@4;xdot_0=@5;" MaskIconFrame on MaskIconOpaque on MaskIconRotate off MaskIconUnits autoscale MaskValueString "||||" System { Name "State-space spring-mass" Location [203, 332, 684, 534] Open off ScreenColor white Block { BlockType Inport Name "In" Position [95, 70, 115, 90] Port "1" PortWidth "-1" SampleTime "-1" } Block { BlockType Demux Name "Demux" Position [250, 62, 285, 98] Outputs "2" } Block { BlockType StateSpace Name "State-Space" Position [160, 62, 220, 98] A "[0,1; -k/m, -b/m]" B "[0; 1/m]" C "[1,0;0,1]" D "[0;0]" X0 "[x_0;xdot_0]" } Block { BlockType Outport Name "Pos" Position [325, 60, 345, 80] Port "1" OutputWhenDisabled held InitialOutput "0" } Block { BlockType Outport Name "Vel" Position [325, 105, 345, 125] Port "2" OutputWhenDisabled held InitialOutput "0" } Line { SrcBlock "Demux" SrcPort 2 Points [20, 0] DstBlock "Vel" DstPort 1 } Line { SrcBlock "Demux" SrcPort 1 DstBlock "Pos" DstPort 1 } Line { SrcBlock "State-Space" SrcPort 1 DstBlock "Demux" DstPort 1 } Line { SrcBlock "In" SrcPort 1 DstBlock "State-Space" DstPort 1 } } } Block { BlockType SubSystem Name "Transfer-fn spring-mass" Position [335, 21, 390, 54] ShowPortLabels on MaskType "Transfer-fn spring-mass" MaskDescription "Implements transfer function version " "of spring-mass-dashpot" MaskPromptString "mass|spring constant|damping constant" MaskStyleString "edit,edit,edit" MaskVariables "m=@1;k=@2;b=@3;" MaskIconFrame on MaskIconOpaque on MaskIconRotate off MaskIconUnits autoscale MaskValueString "||" System { Name "Transfer-fn spring-mass" Location [203, 331, 569, 538] Open off ScreenColor white Block { BlockType Inport Name "Force" Position [90, 75, 110, 95] Port "1" PortWidth "-1" SampleTime "-1" } Block { BlockType Demux Name "Demux" Position [210, 67, 245, 103] Outputs "2" } Block { BlockType TransferFcn Name "Transfer Fcn" Position [135, 67, 190, 103] Numerator "[0,1 ; 1,0]" Denominator "[m b k]" } Block { BlockType Outport Name "Vel" Position [275, 45, 295, 65] Port "1" OutputWhenDisabled held InitialOutput "0" } Block { BlockType Outport Name "Pos" Position [275, 100, 295, 120] Port "2" OutputWhenDisabled held InitialOutput "0" } Line { SrcBlock "Demux" SrcPort 2 Points [10, 0] DstBlock "Pos" DstPort 1 } Line { SrcBlock "Demux" SrcPort 1 Points [10, 0] DstBlock "Vel" DstPort 1 } Line { SrcBlock "Transfer Fcn" SrcPort 1 DstBlock "Demux" DstPort 1 } Line { SrcBlock "Force" SrcPort 1 DstBlock "Transfer Fcn" DstPort 1 } } } } } } }