Model { Name "maglev_fl_sim" Version 7.7 MdlSubVersion 0 GraphicalInterface { NumRootInports 0 NumRootOutports 0 ParameterArgumentNames "" ComputedModelVersion "1.34" NumModelReferences 0 NumTestPointedSignals 0 } SavedCharacterEncoding "windows-1252" SaveDefaultBlockParams on ScopeRefreshTime 0.035000 OverrideScopeRefreshTime on DisableAllScopes off DataTypeOverride "UseLocalSettings" DataTypeOverrideAppliesTo "AllNumericTypes" MinMaxOverflowLogging "UseLocalSettings" MinMaxOverflowArchiveMode "Overwrite" MaxMDLFileLineLength 120 Created "Thu May 21 11:49:58 2009" Creator "bonf" UpdateHistory "UpdateHistoryNever" ModifiedByFormat "%" LastModifiedBy "simani" ModifiedDateFormat "%" LastModifiedDate "Fri Dec 06 18:10:43 2013" RTWModifiedTimeStamp 308253985 ModelVersionFormat "1.%" ConfigurationManager "None" SampleTimeColors off SampleTimeAnnotations off LibraryLinkDisplay "none" WideLines off ShowLineDimensions off ShowPortDataTypes off ShowLoopsOnError on IgnoreBidirectionalLines off ShowStorageClass off ShowTestPointIcons on ShowSignalResolutionIcons on ShowViewerIcons on SortedOrder off ExecutionContextIcon off ShowLinearizationAnnotations on BlockNameDataTip off BlockParametersDataTip off BlockDescriptionStringDataTip off ToolBar on StatusBar on BrowserShowLibraryLinks off BrowserLookUnderMasks off SimulationMode "normal" LinearizationMsg "none" Profile off ParamWorkspaceSource "MATLABWorkspace" AccelSystemTargetFile "accel.tlc" AccelTemplateMakefile "accel_default_tmf" AccelMakeCommand "make_rtw" TryForcingSFcnDF off RecordCoverage off CovPath "/" CovSaveName "covdata" CovMetricSettings "dw" CovNameIncrementing off CovHtmlReporting on CovForceBlockReductionOff on covSaveCumulativeToWorkspaceVar on CovSaveSingleToWorkspaceVar on CovCumulativeVarName "covCumulativeData" CovCumulativeReport off CovReportOnPause on CovModelRefEnable "Off" CovExternalEMLEnable off ExtModeBatchMode off ExtModeEnableFloating on ExtModeTrigType "manual" ExtModeTrigMode "normal" ExtModeTrigPort "1" ExtModeTrigElement "any" ExtModeTrigDuration 1000 ExtModeTrigDurationFloating "auto" ExtModeTrigHoldOff 0 ExtModeTrigDelay 0 ExtModeTrigDirection "rising" ExtModeTrigLevel 0 ExtModeArchiveMode "off" ExtModeAutoIncOneShot off ExtModeIncDirWhenArm off ExtModeAddSuffixToVar off ExtModeWriteAllDataToWs off ExtModeArmWhenConnect on ExtModeSkipDownloadWhenConnect off ExtModeLogAll on ExtModeAutoUpdateStatusClock on BufferReuse on ShowModelReferenceBlockVersion off ShowModelReferenceBlockIO off Array { Type "Handle" Dimension 1 Simulink.ConfigSet { $ObjectID 1 Version "1.11.0" Array { Type "Handle" Dimension 8 Simulink.SolverCC { $ObjectID 2 Version "1.11.0" StartTime "0.0" StopTime "5" AbsTol "auto" FixedStep "auto" InitialStep "auto" MaxNumMinSteps "-1" MaxOrder 5 ZcThreshold "auto" ConsecutiveZCsStepRelTol "10*128*eps" MaxConsecutiveZCs "1000" ExtrapolationOrder 4 NumberNewtonIterations 1 MaxStep "auto" MinStep "auto" MaxConsecutiveMinStep "1" RelTol "1e-3" SolverMode "Auto" ConcurrentTasks off Solver "ode45" SolverName "ode45" SolverJacobianMethodControl "auto" ShapePreserveControl "DisableAll" ZeroCrossControl "UseLocalSettings" ZeroCrossAlgorithm "Nonadaptive" AlgebraicLoopSolver "TrustRegion" SolverResetMethod "Fast" PositivePriorityOrder off AutoInsertRateTranBlk off SampleTimeConstraint "Unconstrained" InsertRTBMode "Whenever possible" } Simulink.DataIOCC { $ObjectID 3 Version "1.11.0" Decimation "1" ExternalInput "[t, u]" FinalStateName "xFinal" InitialState "xInitial" LimitDataPoints on MaxDataPoints "1000" LoadExternalInput off LoadInitialState off SaveFinalState off SaveCompleteFinalSimState off SaveFormat "Array" SignalLoggingSaveFormat "ModelDataLogs" SaveOutput on SaveState off SignalLogging on DSMLogging on InspectSignalLogs off SaveTime on ReturnWorkspaceOutputs off StateSaveName "xout" TimeSaveName "tout" OutputSaveName "yout" SignalLoggingName "logsout" DSMLoggingName "dsmout" OutputOption "RefineOutputTimes" OutputTimes "[]" ReturnWorkspaceOutputsName "out" Refine "1" } Simulink.OptimizationCC { $ObjectID 4 Version "1.11.0" Array { Type "Cell" Dimension 8 Cell "BooleansAsBitfields" Cell "PassReuseOutputArgsAs" Cell "PassReuseOutputArgsThreshold" Cell "ZeroExternalMemoryAtStartup" Cell "ZeroInternalMemoryAtStartup" Cell "OptimizeModelRefInitCode" Cell "NoFixptDivByZeroProtection" Cell "UseSpecifiedMinMax" PropName "DisabledProps" } BlockReduction on BooleanDataType off ConditionallyExecuteInputs on InlineParams off UseIntDivNetSlope off UseSpecifiedMinMax off InlineInvariantSignals on OptimizeBlockIOStorage on BufferReuse on EnhancedBackFolding off StrengthReduction off ExpressionFolding on BooleansAsBitfields off BitfieldContainerType "uint_T" EnableMemcpy on MemcpyThreshold 64 PassReuseOutputArgsAs "Structure reference" ExpressionDepthLimit 2147483647 FoldNonRolledExpr on LocalBlockOutputs on RollThreshold 5 SystemCodeInlineAuto off StateBitsets off DataBitsets off UseTempVars off ZeroExternalMemoryAtStartup on ZeroInternalMemoryAtStartup on InitFltsAndDblsToZero on NoFixptDivByZeroProtection off EfficientFloat2IntCast off EfficientMapNaN2IntZero on OptimizeModelRefInitCode off LifeSpan "inf" MaxStackSize "Inherit from target" BufferReusableBoundary on SimCompilerOptimization "Off" AccelVerboseBuild off AccelParallelForEachSubsystem on } Simulink.DebuggingCC { $ObjectID 5 Version "1.11.0" RTPrefix "error" ConsistencyChecking "none" ArrayBoundsChecking "none" SignalInfNanChecking "none" SignalRangeChecking "none" ReadBeforeWriteMsg "UseLocalSettings" WriteAfterWriteMsg "UseLocalSettings" WriteAfterReadMsg "UseLocalSettings" AlgebraicLoopMsg "warning" ArtificialAlgebraicLoopMsg "warning" SaveWithDisabledLinksMsg "warning" SaveWithParameterizedLinksMsg "none" CheckSSInitialOutputMsg on UnderspecifiedInitializationDetection "Classic" MergeDetectMultiDrivingBlocksExec "none" CheckExecutionContextPreStartOutputMsg off CheckExecutionContextRuntimeOutputMsg off SignalResolutionControl "TryResolveAllWithWarning" BlockPriorityViolationMsg "warning" MinStepSizeMsg "warning" TimeAdjustmentMsg "none" MaxConsecutiveZCsMsg "error" MaskedZcDiagnostic "warning" IgnoredZcDiagnostic "warning" SolverPrmCheckMsg "none" InheritedTsInSrcMsg "warning" DiscreteInheritContinuousMsg "warning" MultiTaskDSMMsg "warning" MultiTaskCondExecSysMsg "none" MultiTaskRateTransMsg "error" SingleTaskRateTransMsg "none" TasksWithSamePriorityMsg "warning" SigSpecEnsureSampleTimeMsg "warning" CheckMatrixSingularityMsg "none" IntegerOverflowMsg "warning" Int32ToFloatConvMsg "warning" ParameterDowncastMsg "error" ParameterOverflowMsg "error" ParameterUnderflowMsg "none" ParameterPrecisionLossMsg "warning" ParameterTunabilityLossMsg "warning" FixptConstUnderflowMsg "none" FixptConstOverflowMsg "none" FixptConstPrecisionLossMsg "none" UnderSpecifiedDataTypeMsg "none" UnnecessaryDatatypeConvMsg "none" VectorMatrixConversionMsg "none" InvalidFcnCallConnMsg "error" FcnCallInpInsideContextMsg "Use local settings" SignalLabelMismatchMsg "none" UnconnectedInputMsg "warning" UnconnectedOutputMsg "warning" UnconnectedLineMsg "warning" SFcnCompatibilityMsg "none" UniqueDataStoreMsg "none" BusObjectLabelMismatch "warning" RootOutportRequireBusObject "warning" AssertControl "UseLocalSettings" EnableOverflowDetection off ModelReferenceIOMsg "none" ModelReferenceMultiInstanceNormalModeStructChecksumCheck "error" ModelReferenceVersionMismatchMessage "none" ModelReferenceIOMismatchMessage "none" ModelReferenceCSMismatchMessage "none" UnknownTsInhSupMsg "warning" ModelReferenceDataLoggingMessage "warning" ModelReferenceSymbolNameMessage "warning" ModelReferenceExtraNoncontSigs "error" StateNameClashWarn "warning" SimStateInterfaceChecksumMismatchMsg "warning" SimStateOlderReleaseMsg "error" InitInArrayFormatMsg "warning" StrictBusMsg "None" BusNameAdapt "WarnAndRepair" NonBusSignalsTreatedAsBus "none" LoggingUnavailableSignals "error" BlockIODiagnostic "none" SFUnusedDataAndEventsDiag "warning" SFUnexpectedBacktrackingDiag "warning" SFInvalidInputDataAccessInChartInitDiag "warning" SFNoUnconditionalDefaultTransitionDiag "warning" SFTransitionOutsideNaturalParentDiag "warning" } Simulink.HardwareCC { $ObjectID 6 Version "1.11.0" ProdBitPerChar 8 ProdBitPerShort 16 ProdBitPerInt 32 ProdBitPerLong 32 ProdBitPerFloat 32 ProdBitPerDouble 64 ProdBitPerPointer 32 ProdLargestAtomicInteger "Char" ProdLargestAtomicFloat "None" ProdIntDivRoundTo "Undefined" ProdEndianess "Unspecified" ProdWordSize 32 ProdShiftRightIntArith on ProdHWDeviceType "32-bit Generic" TargetBitPerChar 8 TargetBitPerShort 16 TargetBitPerInt 32 TargetBitPerLong 32 TargetBitPerFloat 32 TargetBitPerDouble 64 TargetBitPerPointer 32 TargetLargestAtomicInteger "Char" TargetLargestAtomicFloat "None" TargetShiftRightIntArith on TargetIntDivRoundTo "Undefined" TargetEndianess "Unspecified" TargetWordSize 32 TargetTypeEmulationWarnSuppressLevel 0 TargetPreprocMaxBitsSint 32 TargetPreprocMaxBitsUint 32 TargetHWDeviceType "Specified" TargetUnknown on ProdEqTarget on } Simulink.ModelReferenceCC { $ObjectID 7 Version "1.11.0" UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange" CheckModelReferenceTargetMessage "error" EnableParallelModelReferenceBuilds off ParallelModelReferenceErrorOnInvalidPool on ParallelModelReferenceMATLABWorkerInit "None" ModelReferenceNumInstancesAllowed "Multi" PropagateVarSize "Infer from blocks in model" ModelReferencePassRootInputsByReference on ModelReferenceMinAlgLoopOccurrences off PropagateSignalLabelsOutOfModel off SupportModelReferenceSimTargetCustomCode off } Simulink.SFSimCC { $ObjectID 8 Version "1.11.0" SFSimEnableDebug on SFSimOverflowDetection on SFSimEcho on SimBlas on SimCtrlC on SimExtrinsic on SimIntegrity on SimUseLocalCustomCode off SimParseCustomCode on SimBuildMode "sf_incremental_build" } Simulink.RTWCC { $BackupClass "Simulink.RTWCC" $ObjectID 9 Version "1.11.0" Array { Type "Cell" Dimension 8 Cell "IncludeHyperlinkInReport" Cell "GenerateTraceInfo" Cell "GenerateTraceReport" Cell "GenerateTraceReportSl" Cell "GenerateTraceReportSf" Cell "GenerateTraceReportEml" Cell "GenerateSLWebview" Cell "GenerateCodeMetricsReport" PropName "DisabledProps" } SystemTargetFile "grt.tlc" GenCodeOnly off MakeCommand "make_rtw" GenerateMakefile on TemplateMakefile "grt_default_tmf" GenerateReport off SaveLog off RTWVerbose on RetainRTWFile off ProfileTLC off TLCDebug off TLCCoverage off TLCAssert off ProcessScriptMode "Default" ConfigurationMode "Optimized" ConfigAtBuild off RTWUseLocalCustomCode off RTWUseSimCustomCode off IncludeHyperlinkInReport off LaunchReport off TargetLang "C" IncludeBusHierarchyInRTWFileBlockHierarchyMap off IncludeERTFirstTime on GenerateTraceInfo off GenerateTraceReport off GenerateTraceReportSl off GenerateTraceReportSf off GenerateTraceReportEml off GenerateCodeInfo off GenerateSLWebview off GenerateCodeMetricsReport off RTWCompilerOptimization "Off" CheckMdlBeforeBuild "Off" CustomRebuildMode "OnUpdate" Array { Type "Handle" Dimension 2 Simulink.CodeAppCC { $ObjectID 10 Version "1.11.0" Array { Type "Cell" Dimension 21 Cell "IgnoreCustomStorageClasses" Cell "IgnoreTestpoints" Cell "InsertBlockDesc" Cell "InsertPolySpaceComments" Cell "SFDataObjDesc" Cell "MATLABFcnDesc" Cell "SimulinkDataObjDesc" Cell "DefineNamingRule" Cell "SignalNamingRule" Cell "ParamNamingRule" Cell "InlinedPrmAccess" Cell "CustomSymbolStr" Cell "CustomSymbolStrGlobalVar" Cell "CustomSymbolStrType" Cell "CustomSymbolStrField" Cell "CustomSymbolStrFcn" Cell "CustomSymbolStrFcnArg" Cell "CustomSymbolStrBlkIO" Cell "CustomSymbolStrTmpVar" Cell "CustomSymbolStrMacro" Cell "ReqsInCode" PropName "DisabledProps" } ForceParamTrailComments off GenerateComments on IgnoreCustomStorageClasses on IgnoreTestpoints off IncHierarchyInIds off MaxIdLength 31 PreserveName off PreserveNameWithParent off ShowEliminatedStatement off IncAutoGenComments off SimulinkDataObjDesc off SFDataObjDesc off MATLABFcnDesc off IncDataTypeInIds off MangleLength 1 CustomSymbolStrGlobalVar "$R$N$M" CustomSymbolStrType "$N$R$M" CustomSymbolStrField "$N$M" CustomSymbolStrFcn "$R$N$M$F" CustomSymbolStrFcnArg "rt$I$N$M" CustomSymbolStrBlkIO "rtb_$N$M" CustomSymbolStrTmpVar "$N$M" CustomSymbolStrMacro "$R$N$M" DefineNamingRule "None" ParamNamingRule "None" SignalNamingRule "None" InsertBlockDesc off InsertPolySpaceComments off SimulinkBlockComments on MATLABSourceComments off EnableCustomComments off InlinedPrmAccess "Literals" ReqsInCode off UseSimReservedNames off } Simulink.GRTTargetCC { $BackupClass "Simulink.TargetCC" $ObjectID 11 Version "1.11.0" Array { Type "Cell" Dimension 16 Cell "GeneratePreprocessorConditionals" Cell "IncludeMdlTerminateFcn" Cell "CombineOutputUpdateFcns" Cell "SuppressErrorStatus" Cell "ERTCustomFileBanners" Cell "GenerateSampleERTMain" Cell "GenerateTestInterfaces" Cell "ModelStepFunctionPrototypeControlCompliant" Cell "CPPClassGenCompliant" Cell "MultiInstanceERTCode" Cell "PurelyIntegerCode" Cell "SupportComplex" Cell "SupportAbsoluteTime" Cell "SupportContinuousTime" Cell "SupportNonInlinedSFcns" Cell "PortableWordSizes" PropName "DisabledProps" } TargetFcnLib "ansi_tfl_tmw.mat" TargetLibSuffix "" TargetPreCompLibLocation "" TargetFunctionLibrary "ANSI_C" UtilityFuncGeneration "Auto" ERTMultiwordTypeDef "System defined" FunctionExecutionProfile off CodeExecutionProfiling off ERTCodeCoverageTool "None" ERTMultiwordLength 256 MultiwordLength 2048 GenerateFullHeader on GenerateSampleERTMain off GenerateTestInterfaces off IsPILTarget off ModelReferenceCompliant on ParMdlRefBuildCompliant on CompOptLevelCompliant on IncludeMdlTerminateFcn on GeneratePreprocessorConditionals "Disable all" CombineOutputUpdateFcns off CombineSignalStateStructs off SuppressErrorStatus off ERTFirstTimeCompliant off IncludeFileDelimiter "Auto" ERTCustomFileBanners off SupportAbsoluteTime on LogVarNameModifier "rt_" MatFileLogging on MultiInstanceERTCode off SupportNonFinite on SupportComplex on PurelyIntegerCode off SupportContinuousTime on SupportNonInlinedSFcns on SupportVariableSizeSignals off EnableShiftOperators on ParenthesesLevel "Nominal" PortableWordSizes off ModelStepFunctionPrototypeControlCompliant off CPPClassGenCompliant off AutosarCompliant off UseMalloc off ExtMode off ExtModeStaticAlloc off ExtModeTesting off ExtModeStaticAllocSize 1000000 ExtModeTransport 0 ExtModeMexFile "ext_comm" ExtModeIntrfLevel "Level1" RTWCAPISignals off RTWCAPIParams off RTWCAPIStates off RTWCAPIRootIO off GenerateASAP2 off } PropName "Components" } } PropName "Components" } Name "Configuration" ExtraOptions "-aEnforceIntegerDowncast=1 -aPrefixModelToSubsysFcnNames=1 " CurrentDlgPage "Solver" ConfigPrmDlgPosition [ 200, 85, 1080, 715 ] } PropName "ConfigurationSets" } Simulink.ConfigSet { $PropName "ActiveConfigurationSet" $ObjectID 1 } BlockDefaults { ForegroundColor "black" BackgroundColor "white" DropShadow off NamePlacement "normal" FontName "Helvetica" FontSize 10 FontWeight "normal" FontAngle "normal" ShowName on BlockRotation 0 BlockMirror off } AnnotationDefaults { HorizontalAlignment "center" VerticalAlignment "middle" ForegroundColor "black" BackgroundColor "white" DropShadow off FontName "Helvetica" FontSize 10 FontWeight "normal" FontAngle "normal" UseDisplayTextAsClickCallback off } LineDefaults { FontName "Helvetica" FontSize 9 FontWeight "normal" FontAngle "normal" } BlockParameterDefaults { Block { BlockType Clock DisplayTime off } Block { BlockType Constant Value "1" VectorParams1D on SamplingMode "Sample based" OutMin "[]" OutMax "[]" OutDataTypeStr "Inherit: Inherit from 'Constant value'" LockScale off SampleTime "inf" FramePeriod "inf" PreserveConstantTs off } Block { BlockType Demux Outputs "4" DisplayOption "none" BusSelectionMode off } Block { BlockType Derivative LinearizePole "inf" } Block { BlockType Fcn Expr "sin(u[1])" SampleTime "-1" } Block { BlockType Gain Gain "1" Multiplication "Element-wise(K.*u)" ParamMin "[]" ParamMax "[]" ParamDataTypeStr "Inherit: Same as input" OutMin "[]" OutMax "[]" OutDataTypeStr "Inherit: Same as input" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on SampleTime "-1" } Block { BlockType Inport Port "1" OutputFunctionCall off OutMin "[]" OutMax "[]" OutDataTypeStr "Inherit: auto" LockScale off BusOutputAsStruct off PortDimensions "-1" VarSizeSig "Inherit" SampleTime "-1" SignalType "auto" SamplingMode "auto" LatchByDelayingOutsideSignal off LatchInputForFeedbackSignals off Interpolate on } Block { BlockType Integrator ExternalReset "none" InitialConditionSource "internal" InitialCondition "0" LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" IgnoreLimit off ZeroCross on ContinuousStateAttributes "''" } Block { BlockType Mux Inputs "4" DisplayOption "none" UseBusObject off BusObject "BusObject" NonVirtualBus off } Block { BlockType Outport Port "1" OutMin "[]" OutMax "[]" OutDataTypeStr "Inherit: auto" LockScale off BusOutputAsStruct off PortDimensions "-1" VarSizeSig "Inherit" SampleTime "-1" SignalType "auto" SamplingMode "auto" SourceOfInitialOutputValue "Dialog" OutputWhenDisabled "held" InitialOutput "[]" } Block { BlockType Saturate UpperLimitSource "Dialog" UpperLimit "0.5" LowerLimitSource "Dialog" LowerLimit "-0.5" LinearizeAsGain on ZeroCross on SampleTime "-1" OutMin "[]" OutMax "[]" OutDataTypeStr "Inherit: Same as input" LockScale off RndMeth "Floor" } Block { BlockType Scope ModelBased off TickLabels "OneTimeTick" ZoomMode "on" Grid "on" TimeRange "auto" YMin "-5" YMax "5" SaveToWorkspace off SaveName "ScopeData" LimitDataPoints on MaxDataPoints "5000" Decimation "1" SampleInput off SampleTime "-1" } Block { BlockType SignalGenerator WaveForm "sine" TimeSource "Use simulation time" Amplitude "1" Frequency "1" Units "Hertz" VectorParams1D on } Block { BlockType SubSystem ShowPortLabels "FromPortIcon" Permissions "ReadWrite" PermitHierarchicalResolution "All" TreatAsAtomicUnit off CheckFcnCallInpInsideContextMsg off SystemSampleTime "-1" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" SimViewingDevice off DataTypeOverride "UseLocalSettings" DataTypeOverrideAppliesTo "AllNumericTypes" MinMaxOverflowLogging "UseLocalSettings" Variant off GeneratePreprocessorConditionals off } Block { BlockType Sum IconShape "rectangular" Inputs "++" CollapseMode "All dimensions" CollapseDim "1" InputSameDT on AccumDataTypeStr "Inherit: Inherit via internal rule" OutMin "[]" OutMax "[]" OutDataTypeStr "Inherit: Same as first input" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on SampleTime "-1" } Block { BlockType Terminator } Block { BlockType ToWorkspace VariableName "simulink_output" MaxDataPoints "1000" Decimation "1" SampleTime "0" FixptAsFi off NumInputs "1" } } System { Name "maglev_fl_sim" Location [149, 93, 1065, 617] Open on ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "A4" PaperUnits "centimeters" TiledPaperMargins [1.270000, 1.270000, 1.270000, 1.270000] TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" ReportName "simulink-default.rpt" SIDHighWatermark "46" Block { BlockType Clock Name "Clock" SID "1" Position [155, 415, 175, 435] Decimation "10" } Block { BlockType Constant Name "Constant" SID "2" Position [135, 30, 165, 60] BlockRotation 270 BlockMirror on Value "x1_d" } Block { BlockType Constant Name "Constant2" SID "3" Position [215, 40, 245, 70] BlockRotation 270 BlockMirror on NamePlacement "alternate" Value "0" } Block { BlockType Demux Name "Demux" SID "4" Ports [1, 3] Position [385, 256, 390, 314] BlockMirror on BackgroundColor "black" ShowName off Outputs "3" } Block { BlockType Derivative Name "Derivative" SID "5" Position [265, 310, 295, 340] BlockMirror on } Block { BlockType SubSystem Name "Double click here" SID "6" Ports [] Position [676, 27, 715, 58] BackgroundColor "yellow" DropShadow on OpenFcn "lambda=10 \nKsmc=50 \n \nload maglev_init_param" MinAlgLoopOccurrences off PropExecContextOutsideSubsystem off RTWSystemCode "Auto" FunctionWithSeparateData off Opaque off RequestExecContextInheritance off MaskHideContents off MaskDisplay "disp('Init');" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskPortRotate "default" MaskIconUnits "autoscale" System { Name "Double click here" Location [158, 172, 656, 472] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "A4" PaperUnits "centimeters" TiledPaperMargins [1.270000, 1.270000, 1.270000, 1.270000] TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" } } Block { BlockType Fcn Name "Feedback\nLinearization" SID "7" Position [465, 140, 525, 170] Expr "-1/2/C*m/u[3]*u[1]^2*L1*u[4]+u[3]*R-2*C*u[3]/u[1]^2*u[2]+u[3]/u[1]*L1*u[2]" } Block { BlockType SubSystem Name "Magnetic\nLevitator" SID "8" Ports [1, 3] Position [580, 106, 690, 204] MinAlgLoopOccurrences off PropExecContextOutsideSubsystem off RTWSystemCode "Auto" FunctionWithSeparateData off Opaque off RequestExecContextInheritance off MaskHideContents off MaskPromptString "ball's mass (m)|Electromagnet's resistance (R)|Electromagnet's inductance (L1)|Magnetic " "force constant (C)|Gravitational acceleration (g)" MaskStyleString "edit,edit,edit,edit,edit" MaskVariables "m=@1;R=@2;L1=@3;C=@4;g=@5;" MaskTunableValueString "on,on,on,on,on" MaskCallbackString "||||" MaskEnableString "on,on,on,on,on" MaskVisibilityString "on,on,on,on,on" MaskToolTipString "on,on,on,on,on" MaskDisplay "image(imread('maglev','jpg'));\nport_label('output',1,'x1');\nport_label('output',2,'x2');\np" "ort_label('output',3,'x3');\nport_label('input',1,'u')" MaskIconFrame on MaskIconOpaque off MaskIconRotate "none" MaskPortRotate "default" MaskIconUnits "autoscale" MaskValueString "m+mpert|R|L1|C|g" System { Name "Magnetic\nLevitator" Location [531, 100, 1105, 390] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "A4" PaperUnits "centimeters" TiledPaperMargins [1.270000, 1.270000, 1.270000, 1.270000] TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" Block { BlockType Inport Name "u" SID "9" Position [20, 138, 50, 152] IconDisplay "Port number" } Block { BlockType Integrator Name "Integrator" SID "10" Ports [1, 1] Position [370, 65, 400, 95] InitialCondition "x1_0" Port { PortNumber 1 Name "x1" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Integrator Name "Integrator1" SID "11" Ports [1, 1] Position [300, 65, 330, 95] InitialCondition "x2_0" } Block { BlockType Integrator Name "Integrator2" SID "12" Ports [1, 1] Position [300, 160, 330, 190] InitialCondition "x3_0" } Block { BlockType Mux Name "Mux" SID "13" Ports [4, 1] Position [105, 90, 110, 155] ShowName off DisplayOption "bar" } Block { BlockType Fcn Name "eq1.3 b" SID "14" Position [180, 65, 240, 95] Expr "g - C/m * (u[3] / u[1])^2" } Block { BlockType Fcn Name "eq1.3 c" SID "15" Position [180, 160, 240, 190] Expr "-R/L1 * u[3] + (2*C)/L1 * ( u[2] * u[3] / u[1]^2 ) + 1/L1 * u[4]" } Block { BlockType Outport Name "x1" SID "16" Position [480, 73, 510, 87] IconDisplay "Port number" } Block { BlockType Outport Name "x2" SID "17" Position [480, 123, 510, 137] Port "2" IconDisplay "Port number" } Block { BlockType Outport Name "x3" SID "18" Position [480, 168, 510, 182] Port "3" IconDisplay "Port number" } Line { SrcBlock "eq1.3 b" SrcPort 1 DstBlock "Integrator1" DstPort 1 } Line { Labels [2, 0] SrcBlock "Integrator1" SrcPort 1 Points [0, 0; 10, 0] Branch { DstBlock "Integrator" DstPort 1 } Branch { Points [0, -50; -275, 0; 0, 85] DstBlock "Mux" DstPort 2 } Branch { Points [0, 50] DstBlock "x2" DstPort 1 } } Line { SrcBlock "eq1.3 c" SrcPort 1 DstBlock "Integrator2" DstPort 1 } Line { SrcBlock "Mux" SrcPort 1 Points [0, 0; 25, 0] Branch { Points [0, -45] DstBlock "eq1.3 b" DstPort 1 } Branch { Points [0, 50] DstBlock "eq1.3 c" DstPort 1 } } Line { Name "x1" SrcBlock "Integrator" SrcPort 1 Points [0, 0; 25, 0] Branch { Labels [1, 1] Points [0, -40; -345, 0; 0, 60] DstBlock "Mux" DstPort 1 } Branch { DstBlock "x1" DstPort 1 } } Line { SrcBlock "Integrator2" SrcPort 1 Points [0, 0; 30, 0] Branch { Points [0, 60; -295, 0; 0, -105] DstBlock "Mux" DstPort 3 } Branch { DstBlock "x3" DstPort 1 } } Line { SrcBlock "u" SrcPort 1 DstBlock "Mux" DstPort 4 } Annotation { Name "x2" Position [355, 57] } Annotation { Name "x3" Position [376, 197] } Annotation { Name "dx2/dt" Position [268, 94] } Annotation { Name "dx3/dt" Position [263, 188] } } } Block { BlockType Reference Name "Manual Switch" SID "19" Ports [2, 1] Position [185, 82, 215, 118] BlockMirror on LibraryVersion "1.236" SourceBlock "simulink/Signal\nRouting/Manual Switch" SourceType "Manual Switch" ShowPortLabels "FromPortIcon" SystemSampleTime "-1" FunctionWithSeparateData off RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" GeneratePreprocessorConditionals off sw "0" action "0" varsize off } Block { BlockType Mux Name "Mux" SID "20" Ports [3, 1] Position [620, 250, 625, 320] BlockMirror on ShowName off Inputs "3" DisplayOption "bar" } Block { BlockType Mux Name "Mux1" SID "21" Ports [2, 1] Position [425, 114, 430, 196] NamePlacement "alternate" ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType Mux Name "Mux2" SID "44" Ports [2, 1] Position [405, 439, 410, 521] NamePlacement "alternate" ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType SubSystem Name "Plot results" SID "46" Ports [] Position [626, 437, 665, 468] BackgroundColor "yellow" DropShadow on OpenFcn "plotmaglev" MinAlgLoopOccurrences off PropExecContextOutsideSubsystem off RTWSystemCode "Auto" FunctionWithSeparateData off Opaque off RequestExecContextInheritance off MaskHideContents off MaskDisplay "disp('Init');" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskPortRotate "default" MaskIconUnits "autoscale" System { Name "Plot results" Location [158, 172, 656, 472] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "A4" PaperUnits "centimeters" TiledPaperMargins [1.270000, 1.270000, 1.270000, 1.270000] TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" } } Block { BlockType SubSystem Name "SMC" SID "22" Ports [3, 1] Position [300, 142, 360, 208] MinAlgLoopOccurrences off PropExecContextOutsideSubsystem off RTWSystemCode "Auto" FunctionWithSeparateData off Opaque off RequestExecContextInheritance off MaskHideContents off System { Name "SMC" Location [281, 335, 920, 602] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "A4" PaperUnits "centimeters" TiledPaperMargins [1.270000, 1.270000, 1.270000, 1.270000] TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" Block { BlockType Inport Name "y" SID "23" Position [60, 68, 90, 82] IconDisplay "Port number" } Block { BlockType Inport Name "ydot" SID "24" Position [60, 113, 90, 127] Port "2" IconDisplay "Port number" } Block { BlockType Inport Name "yddot" SID "25" Position [60, 163, 90, 177] Port "3" IconDisplay "Port number" } Block { BlockType Fcn Name "FF" SID "26" Position [245, 150, 305, 180] Expr "2*lambda*u[3]+lambda^2*u[2]" } Block { BlockType Gain Name "Gain" SID "27" Position [320, 83, 370, 117] Gain "100" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Gain1" SID "28" Position [440, 84, 500, 116] Gain "Ksmc" SaturateOnIntegerOverflow off } Block { BlockType Mux Name "Mux" SID "29" Ports [3, 1] Position [155, 65, 160, 135] ShowName off Inputs "3" DisplayOption "bar" } Block { BlockType Fcn Name "S" SID "30" Position [235, 85, 295, 115] Expr "u[3]+2*lambda*u[2]+lambda^2*u[1]" } Block { BlockType Saturate Name "Saturation" SID "31" Ports [1, 1] Position [390, 85, 420, 115] InputPortMap "u0" UpperLimit "1" LowerLimit "-1" } Block { BlockType Sum Name "Sum" SID "32" Ports [2, 1] Position [525, 90, 545, 110] ShowName off IconShape "round" Inputs "|--" SaturateOnIntegerOverflow off } Block { BlockType Outport Name "Out" SID "33" Position [570, 93, 600, 107] IconDisplay "Port number" } Line { SrcBlock "S" SrcPort 1 DstBlock "Gain" DstPort 1 } Line { SrcBlock "Gain" SrcPort 1 DstBlock "Saturation" DstPort 1 } Line { SrcBlock "Saturation" SrcPort 1 DstBlock "Gain1" DstPort 1 } Line { SrcBlock "Gain1" SrcPort 1 DstBlock "Sum" DstPort 1 } Line { SrcBlock "FF" SrcPort 1 Points [225, 0] DstBlock "Sum" DstPort 2 } Line { SrcBlock "Sum" SrcPort 1 DstBlock "Out" DstPort 1 } Line { SrcBlock "y" SrcPort 1 DstBlock "Mux" DstPort 1 } Line { SrcBlock "ydot" SrcPort 1 Points [20, 0; 0, -20] DstBlock "Mux" DstPort 2 } Line { SrcBlock "yddot" SrcPort 1 Points [30, 0; 0, -45] DstBlock "Mux" DstPort 3 } Line { SrcBlock "Mux" SrcPort 1 Points [30, 0] Branch { DstBlock "S" DstPort 1 } Branch { Points [0, 65] DstBlock "FF" DstPort 1 } } } } Block { BlockType Scope Name "Scope" SID "34" Ports [1] Position [620, 339, 650, 371] Floating off Location [5, 60, 1285, 769] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%" } YMin "-0.19" YMax "0.01" DataFormat "StructureWithTime" LimitDataPoints off SampleTime "0" } Block { BlockType Scope Name "Scope1" SID "35" Ports [1] Position [300, 84, 330, 116] BlockMirror on Floating off Location [6, 60, 1286, 769] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%" } SaveToWorkspace on SaveName "maglev_lqr_data" DataFormat "Array" LimitDataPoints off SampleTime "0" } Block { BlockType Scope Name "Scope2" SID "36" Ports [1] Position [480, 29, 510, 61] BlockMirror on Floating off Location [5, 60, 1285, 769] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%" } SaveName "ScopeData2" DataFormat "StructureWithTime" LimitDataPoints off SampleTime "0" } Block { BlockType Scope Name "Scope3" SID "37" Ports [1] Position [150, 284, 180, 316] BlockMirror on Floating off Location [5, 60, 1285, 769] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%" } SaveName "ScopeData1" DataFormat "StructureWithTime" LimitDataPoints off SampleTime "0" } Block { BlockType Scope Name "Scope4" SID "45" Ports [1] Position [480, 464, 510, 496] Floating off Location [5, 60, 1285, 769] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%" } YMin "-0.19" YMax "0.01" SaveName "ScopeData3" DataFormat "StructureWithTime" LimitDataPoints off SampleTime "0" } Block { BlockType SignalGenerator Name "Signal\nGenerator" SID "38" Ports [0, 1] Position [260, 35, 290, 65] BlockRotation 270 BlockMirror on WaveForm "square" Amplitude "x1_d*0.1" Frequency "0.5" } Block { BlockType Sum Name "Sum" SID "39" Ports [2, 1] Position [180, 145, 200, 165] ShowName off IconShape "round" Inputs "|-+" } Block { BlockType Sum Name "Sum2" SID "40" Ports [2, 1] Position [140, 90, 160, 110] BlockRotation 270 BlockMirror on ShowName off IconShape "round" Inputs "|++" } Block { BlockType Terminator Name "Terminator" SID "41" Position [340, 295, 360, 315] BlockMirror on } Block { BlockType ToWorkspace Name "To Workspace" SID "42" Ports [1] Position [215, 411, 245, 439] VariableName "tfl" MaxDataPoints "inf" SampleTime "-1" SaveFormat "Array" } Block { BlockType ToWorkspace Name "To Workspace1" SID "43" Ports [1] Position [150, 341, 180, 369] BlockMirror on VariableName "efl" MaxDataPoints "inf" SampleTime "-1" SaveFormat "Array" } Line { SrcBlock "Magnetic\nLevitator" SrcPort 1 Points [10, 0; 0, 135] DstBlock "Mux" DstPort 1 } Line { SrcBlock "Magnetic\nLevitator" SrcPort 2 Points [30, 0; 0, 130] DstBlock "Mux" DstPort 2 } Line { SrcBlock "Magnetic\nLevitator" SrcPort 3 Points [50, 0; 0, 125] DstBlock "Mux" DstPort 3 } Line { SrcBlock "Mux" SrcPort 1 Points [-55, 0] Branch { Points [0, 70] DstBlock "Scope" DstPort 1 } Branch { Points [-150, 0] Branch { DstBlock "Mux1" DstPort 1 } Branch { DstBlock "Demux" DstPort 1 } } } Line { SrcBlock "Feedback\nLinearization" SrcPort 1 Points [15, 0] Branch { DstBlock "Magnetic\nLevitator" DstPort 1 } Branch { Points [0, -110] DstBlock "Scope2" DstPort 1 } } Line { SrcBlock "Constant" SrcPort 1 DstBlock "Sum2" DstPort 1 } Line { SrcBlock "Constant2" SrcPort 1 DstBlock "Manual Switch" DstPort 1 } Line { SrcBlock "Signal\nGenerator" SrcPort 1 Points [0, 40] DstBlock "Manual Switch" DstPort 2 } Line { SrcBlock "Manual Switch" SrcPort 1 DstBlock "Sum2" DstPort 2 } Line { SrcBlock "Mux1" SrcPort 1 DstBlock "Feedback\nLinearization" DstPort 1 } Line { SrcBlock "Sum2" SrcPort 1 Points [0, 40] Branch { DstBlock "Sum" DstPort 1 } Branch { Points [-80, 0; 0, 305] DstBlock "Mux2" DstPort 1 } } Line { SrcBlock "Sum" SrcPort 1 Points [20, 0] Branch { Points [0, 145] Branch { DstBlock "Scope3" DstPort 1 } Branch { Points [0, 55] DstBlock "To Workspace1" DstPort 1 } } Branch { DstBlock "SMC" DstPort 1 } } Line { SrcBlock "Derivative" SrcPort 1 Points [-15, 0; 0, -130] DstBlock "SMC" DstPort 3 } Line { SrcBlock "SMC" SrcPort 1 Points [20, 0] Branch { DstBlock "Mux1" DstPort 2 } Branch { Points [0, -75] DstBlock "Scope1" DstPort 1 } } Line { SrcBlock "Demux" SrcPort 3 DstBlock "Terminator" DstPort 1 } Line { SrcBlock "Demux" SrcPort 1 Points [-190, 0] Branch { DstBlock "Sum" DstPort 2 } Branch { Points [-85, 0; 0, 235] DstBlock "Mux2" DstPort 2 } } Line { SrcBlock "Demux" SrcPort 2 Points [-70, 0] Branch { DstBlock "Derivative" DstPort 1 } Branch { Points [-50, 0; 0, -110] DstBlock "SMC" DstPort 2 } } Line { SrcBlock "Clock" SrcPort 1 DstBlock "To Workspace" DstPort 1 } Line { SrcBlock "Mux2" SrcPort 1 DstBlock "Scope4" DstPort 1 } } }