From 4b31b42b09c692c19b46f675767ed1f96da9d6e5 Mon Sep 17 00:00:00 2001 From: Josefin <josefinb@control.lth.se> Date: Mon, 11 Dec 2017 12:17:51 +0100 Subject: [PATCH] Changed name on the LTH-library --- ExtraLTH/ATlibrary_2012a.mdl | 7501 ---------------------------------- 1 file changed, 7501 deletions(-) delete mode 100644 ExtraLTH/ATlibrary_2012a.mdl diff --git a/ExtraLTH/ATlibrary_2012a.mdl b/ExtraLTH/ATlibrary_2012a.mdl deleted file mode 100644 index 189a5c6..0000000 --- a/ExtraLTH/ATlibrary_2012a.mdl +++ /dev/null @@ -1,7501 +0,0 @@ -Model { - Name "ATlibrary_2012a" - Version 7.9 - MdlSubVersion 0 - GraphicalInterface { - NumRootInports 0 - NumRootOutports 0 - ParameterArgumentNames "" - ComputedModelVersion "1.59" - NumModelReferences 0 - NumTestPointedSignals 0 - } - SavedCharacterEncoding "UTF-8" - slprops.hdlmdlprops { - $PropName "HDLParams" - $ObjectID 1 - Array { - Type "Cell" - Dimension 2 - Cell "HDLSubsystem" - Cell "ATlibrary_2012a" - PropName "mdlProps" - } - } - SaveDefaultBlockParams on - ScopeRefreshTime 0.035000 - OverrideScopeRefreshTime on - DisableAllScopes off - DataTypeOverride "UseLocalSettings" - DataTypeOverrideAppliesTo "AllNumericTypes" - MinMaxOverflowLogging "UseLocalSettings" - MinMaxOverflowArchiveMode "Overwrite" - FPTRunName "Run 1" - MaxMDLFileLineLength 120 - Created "Wed Apr 26 11:16:02 2017" - Creator "josefinb" - UpdateHistory "UpdateHistoryNever" - ModifiedByFormat "%<Auto>" - LastModifiedBy "josefinb" - ModifiedDateFormat "%<Auto>" - LastModifiedDate "Fri Dec 08 13:36:33 2017" - RTWModifiedTimeStamp 433170707 - ModelVersionFormat "1.%<AutoIncrement:59>" - ConfigurationManager "none" - SampleTimeColors off - SampleTimeAnnotations off - LibraryLinkDisplay "disabled" - WideLines off - ShowLineDimensions off - ShowPortDataTypes off - ShowDesignRanges 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 - Object { - $PropName "DataLoggingOverride" - $ObjectID 2 - $ClassName "Simulink.SimulationData.ModelLoggingInfo" - model_ "test_versions" - overrideMode_ [0.0] - Array { - Type "Cell" - Dimension 1 - Cell "test_versions" - PropName "logAsSpecifiedByModels_" - } - Array { - Type "Cell" - Dimension 1 - Cell [] - PropName "logAsSpecifiedByModelsSSIDs_" - } - } - 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 3 - Version "1.12.0" - Array { - Type "Handle" - Dimension 9 - Simulink.SolverCC { - $ObjectID 4 - Version "1.12.0" - StartTime "0.0" - StopTime "10.0" - 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" - EnableConcurrentExecution off - 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 5 - Version "1.12.0" - Decimation "1" - ExternalInput "[t, u]" - FinalStateName "xFinal" - InitialState "xInitial" - LimitDataPoints off - MaxDataPoints "1000" - LoadExternalInput off - LoadInitialState off - SaveFinalState off - SaveCompleteFinalSimState off - SaveFormat "StructureWithTime" - SignalLoggingSaveFormat "Dataset" - 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 6 - Version "1.12.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 on - ConditionallyExecuteInputs on - InlineParams off - UseIntDivNetSlope off - UseFloatMulNetSlope off - UseSpecifiedMinMax off - InlineInvariantSignals off - OptimizeBlockIOStorage on - BufferReuse on - EnhancedBackFolding off - StrengthReduction off - ExpressionFolding on - BooleansAsBitfields off - BitfieldContainerType "uint_T" - EnableMemcpy on - MemcpyThreshold 64 - PassReuseOutputArgsAs "Structure reference" - ExpressionDepthLimit 128 - FoldNonRolledExpr on - LocalBlockOutputs on - RollThreshold 5 - SystemCodeInlineAuto off - StateBitsets off - DataBitsets off - UseTempVars off - ZeroExternalMemoryAtStartup on - ZeroInternalMemoryAtStartup on - InitFltsAndDblsToZero off - NoFixptDivByZeroProtection off - EfficientFloat2IntCast off - EfficientMapNaN2IntZero on - OptimizeModelRefInitCode off - LifeSpan "inf" - MaxStackSize "Inherit from target" - BufferReusableBoundary on - SimCompilerOptimization "Off" - AccelVerboseBuild off - ParallelExecutionInRapidAccelerator on - } - Simulink.DebuggingCC { - $ObjectID 7 - Version "1.12.0" - RTPrefix "error" - ConsistencyChecking "none" - ArrayBoundsChecking "none" - SignalInfNanChecking "none" - SignalRangeChecking "none" - ReadBeforeWriteMsg "UseLocalSettings" - WriteAfterWriteMsg "UseLocalSettings" - WriteAfterReadMsg "UseLocalSettings" - AlgebraicLoopMsg "warning" - ArtificialAlgebraicLoopMsg "warning" - SaveWithDisabledLinksMsg "warning" - SaveWithParameterizedLinksMsg "warning" - CheckSSInitialOutputMsg on - UnderspecifiedInitializationDetection "Simplified" - MergeDetectMultiDrivingBlocksExec "error" - CheckExecutionContextPreStartOutputMsg off - CheckExecutionContextRuntimeOutputMsg off - SignalResolutionControl "UseLocalSettings" - BlockPriorityViolationMsg "warning" - MinStepSizeMsg "warning" - TimeAdjustmentMsg "none" - MaxConsecutiveZCsMsg "error" - MaskedZcDiagnostic "warning" - IgnoredZcDiagnostic "warning" - SolverPrmCheckMsg "none" - InheritedTsInSrcMsg "warning" - DiscreteInheritContinuousMsg "warning" - MultiTaskDSMMsg "error" - MultiTaskCondExecSysMsg "error" - 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 "Enable All" - SignalLabelMismatchMsg "none" - UnconnectedInputMsg "warning" - UnconnectedOutputMsg "warning" - UnconnectedLineMsg "warning" - SFcnCompatibilityMsg "none" - FrameProcessingCompatibilityMsg "error" - 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 "none" - SimStateInterfaceChecksumMismatchMsg "warning" - SimStateOlderReleaseMsg "error" - InitInArrayFormatMsg "warning" - StrictBusMsg "ErrorLevel1" - BusNameAdapt "WarnAndRepair" - NonBusSignalsTreatedAsBus "none" - LoggingUnavailableSignals "error" - BlockIODiagnostic "none" - SFUnusedDataAndEventsDiag "warning" - SFUnexpectedBacktrackingDiag "warning" - SFInvalidInputDataAccessInChartInitDiag "warning" - SFNoUnconditionalDefaultTransitionDiag "warning" - SFTransitionOutsideNaturalParentDiag "warning" - SFUnconditionalTransitionShadowingDiag "warning" - } - Simulink.HardwareCC { - $ObjectID 8 - Version "1.12.0" - ProdBitPerChar 8 - ProdBitPerShort 16 - ProdBitPerInt 32 - ProdBitPerLong 32 - ProdBitPerFloat 32 - ProdBitPerDouble 64 - ProdBitPerPointer 64 - ProdLargestAtomicInteger "Char" - ProdLargestAtomicFloat "Float" - ProdIntDivRoundTo "Zero" - ProdEndianess "LittleEndian" - ProdWordSize 32 - ProdShiftRightIntArith on - ProdHWDeviceType "Specified" - 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 off - ProdEqTarget on - } - Simulink.ModelReferenceCC { - $ObjectID 9 - Version "1.12.0" - UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange" - CheckModelReferenceTargetMessage "error" - EnableParallelModelReferenceBuilds off - ParallelModelReferenceErrorOnInvalidPool on - ParallelModelReferenceMATLABWorkerInit "None" - ModelReferenceNumInstancesAllowed "Multi" - PropagateVarSize "Infer from blocks in model" - ModelReferencePassRootInputsByReference on - ModelReferenceMinAlgLoopOccurrences off - PropagateSignalLabelsOutOfModel on - SupportModelReferenceSimTargetCustomCode off - } - Simulink.SFSimCC { - $ObjectID 10 - Version "1.12.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 11 - Version "1.12.0" - Array { - Type "Cell" - Dimension 15 - Cell "IncludeHyperlinkInReport" - Cell "GenerateTraceInfo" - Cell "GenerateTraceReport" - Cell "GenerateTraceReportSl" - Cell "GenerateTraceReportSf" - Cell "GenerateTraceReportEml" - Cell "PortableWordSizes" - Cell "GenerateWebview" - Cell "GenerateCodeMetricsReport" - Cell "GenerateCodeReplacementReport" - Cell "GenerateErtSFunction" - Cell "CreateSILPILBlock" - Cell "CodeExecutionProfiling" - Cell "CodeProfilingSaveOptions" - Cell "CodeProfilingInstrumentation" - 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 off - GenerateTraceInfo off - GenerateTraceReport off - GenerateTraceReportSl off - GenerateTraceReportSf off - GenerateTraceReportEml off - GenerateCodeInfo off - GenerateWebview off - GenerateCodeMetricsReport off - GenerateCodeReplacementReport off - RTWCompilerOptimization "Off" - CheckMdlBeforeBuild "Off" - CustomRebuildMode "OnUpdate" - Array { - Type "Handle" - Dimension 2 - Simulink.CodeAppCC { - $ObjectID 12 - Version "1.12.0" - Array { - Type "Cell" - Dimension 23 - Cell "IgnoreCustomStorageClasses" - Cell "IgnoreTestpoints" - Cell "InsertBlockDesc" - Cell "InsertPolySpaceComments" - Cell "SFDataObjDesc" - Cell "MATLABFcnDesc" - Cell "SimulinkDataObjDesc" - Cell "DefineNamingRule" - Cell "SignalNamingRule" - Cell "ParamNamingRule" - Cell "InternalIdentifier" - Cell "InlinedPrmAccess" - Cell "CustomSymbolStr" - Cell "CustomSymbolStrGlobalVar" - Cell "CustomSymbolStrType" - Cell "CustomSymbolStrField" - Cell "CustomSymbolStrFcn" - Cell "CustomSymbolStrFcnArg" - Cell "CustomSymbolStrBlkIO" - Cell "CustomSymbolStrTmpVar" - Cell "CustomSymbolStrMacro" - Cell "CustomSymbolStrUtil" - 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_T" - 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 13 - Version "1.12.0" - Array { - Type "Cell" - Dimension 14 - Cell "GeneratePreprocessorConditionals" - Cell "IncludeMdlTerminateFcn" - Cell "SupportNonInlinedSFcns" - Cell "SuppressErrorStatus" - Cell "ERTCustomFileBanners" - Cell "GenerateSampleERTMain" - Cell "GenerateTestInterfaces" - Cell "ModelStepFunctionPrototypeControlCompliant" - Cell "MultiInstanceERTCode" - Cell "PurelyIntegerCode" - Cell "SupportComplex" - Cell "SupportAbsoluteTime" - Cell "SupportContinuousTime" - Cell "CombineOutputUpdateFcns" - PropName "DisabledProps" - } - TargetFcnLib "ansi_tfl_table_tmw.mat" - TargetLibSuffix "" - TargetPreCompLibLocation "" - CodeReplacementLibrary "C89/C90 (ANSI)" - UtilityFuncGeneration "Auto" - ERTMultiwordTypeDef "System defined" - CodeExecutionProfiling off - ERTMultiwordLength 256 - MultiwordLength 2048 - GenerateFullHeader on - GenerateSampleERTMain off - GenerateTestInterfaces off - IsPILTarget off - ModelReferenceCompliant on - ParMdlRefBuildCompliant on - CompOptLevelCompliant on - ConcurrentExecutionCompliant on - IncludeMdlTerminateFcn on - GeneratePreprocessorConditionals "Disable all" - CombineOutputUpdateFcns on - 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 - GRTInterface 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" - } - } - hdlcoderui.hdlcc { - $ObjectID 14 - Version "1.12.0" - Description "HDL Coder custom configuration component" - Name "HDL Coder" - Array { - Type "Cell" - Dimension 1 - Cell " " - PropName "HDLConfigFile" - } - HDLCActiveTab "0" - } - PropName "Components" - } - Name "Configuration" - CurrentDlgPage "Solver" - ConfigPrmDlgPosition [ 382, 183, 1538, 980 ] - } - PropName "ConfigurationSets" - } - Simulink.ConfigSet { - $PropName "ActiveConfigurationSet" - $ObjectID 3 - } - ExplicitPartitioning off - 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 - Decimation "10" - } - 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 DigitalClock - 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 Ground - } - 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 MATLABFcn - MATLABFcn "sin" - OutputDimensions "-1" - OutputSignalType "auto" - Output1D on - SampleTime "-1" - } - 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 Product - Inputs "2" - Multiplication "Element-wise(.*)" - CollapseMode "All dimensions" - CollapseDim "1" - InputSameDT on - OutMin "[]" - OutMax "[]" - OutDataTypeStr "Inherit: Same as first input" - LockScale off - RndMeth "Zero" - SaturateOnIntegerOverflow on - SampleTime "-1" - } - Block { - BlockType S-Function - FunctionName "system" - SFunctionModules "''" - PortCounts "[]" - SFunctionDeploymentMode off - } - Block { - BlockType Scope - ModelBased off - TickLabels "OneTimeTick" - ZoomMode "on" - Grid "on" - TimeRange "auto" - YMin "-5" - YMax "5" - SaveToWorkspace off - SaveName "ScopeData" - DataFormat "Array" - LimitDataPoints on - MaxDataPoints "5000" - Decimation "1" - SampleInput off - SampleTime "-1" - } - Block { - BlockType Stop - } - 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" - SFBlockType "NONE" - 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 Switch - Criteria "u2 >= Threshold" - Threshold "0" - InputSameDT on - OutMin "[]" - OutMax "[]" - OutDataTypeStr "Inherit: Inherit via internal rule" - LockScale off - RndMeth "Floor" - SaturateOnIntegerOverflow on - ZeroCross on - SampleTime "-1" - AllowDiffInputSizes off - } - Block { - BlockType Terminator - } - Block { - BlockType ToWorkspace - VariableName "simulink_output" - MaxDataPoints "1000" - Decimation "1" - SampleTime "0" - SaveFormat "Array" - FixptAsFi off - NumInputs "1" - } - Block { - BlockType TransferFcn - Numerator "[1]" - Denominator "[1 2 1]" - AbsoluteTolerance "auto" - ContinuousStateAttributes "''" - Realization "auto" - } - Block { - BlockType TransportDelay - DelayTime "1" - InitialOutput "0" - BufferSize "1024" - FixedBuffer off - TransDelayFeedthrough off - PadeOrder "0" - } - } - System { - Name "ATlibrary_2012a" - Location [569, 348, 1187, 859] - Open on - ModelBrowserVisibility off - ModelBrowserWidth 200 - ScreenColor "white" - PaperOrientation "landscape" - PaperPositionMode "auto" - PaperType "usletter" - PaperUnits "inches" - TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] - TiledPageScale 1 - ShowPageBoundaries off - ZoomFactor "100" - ReportName "simulink-default.rpt" - SIDHighWatermark "954" - Block { - BlockType SubSystem - Name "ECA Hardware" - SID "607" - Ports [1, 1] - Position [215, 134, 290, 196] - ZOrder 159 - BackgroundColor "yellow" - MinAlgLoopOccurrences off - PropExecContextOutsideSubsystem off - RTWSystemCode "Auto" - FunctionWithSeparateData off - Opaque off - RequestExecContextInheritance off - MaskHideContents off - System { - Name "ECA Hardware" - Location [312, 179, 1215, 754] - Open off - ModelBrowserVisibility off - ModelBrowserWidth 200 - ScreenColor "white" - PaperOrientation "landscape" - PaperPositionMode "auto" - PaperType "usletter" - PaperUnits "inches" - TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] - TiledPageScale 1 - ShowPageBoundaries off - ZoomFactor "100" - Block { - BlockType Inport - Name "[ y ]" - SID "608" - Position [25, 103, 55, 117] - ZOrder -1 - IconDisplay "Port number" - } - Block { - BlockType Demux - Name "Demux" - SID "609" - Ports [1, 2] - Position [640, 62, 645, 153] - ZOrder -7 - ShowName off - Outputs "2" - DisplayOption "bar" - } - Block { - BlockType Gain - Name "Gain" - SID "610" - Position [695, 66, 755, 104] - ZOrder -8 - Gain "500/470" - ParamDataTypeStr "Inherit: Inherit via internal rule" - OutDataTypeStr "Inherit: Inherit via internal rule" - SaturateOnIntegerOverflow off - } - Block { - BlockType Gain - Name "Gain1" - SID "611" - Position [695, 111, 755, 149] - ZOrder -8 - Gain "500/470" - ParamDataTypeStr "Inherit: Inherit via internal rule" - OutDataTypeStr "Inherit: Inherit via internal rule" - SaturateOnIntegerOverflow off - } - Block { - BlockType Gain - Name "Gain2" - SID "612" - Position [135, 67, 180, 103] - ZOrder -11 - Gain "0.5" - } - Block { - BlockType Gain - Name "Gain3" - SID "613" - Position [135, 112, 180, 148] - ZOrder -12 - Gain "0.5" - } - Block { - BlockType Ground - Name "Ground" - SID "614" - Position [460, 90, 480, 110] - ZOrder -13 - ShowName off - } - Block { - BlockType Ground - Name "Ground1" - SID "615" - Position [55, 60, 75, 80] - ZOrder -13 - ShowName off - } - Block { - BlockType Mux - Name "Mux1" - SID "616" - Ports [2, 1] - Position [235, 61, 240, 154] - ZOrder -12 - ShowName off - Inputs "2" - DisplayOption "bar" - } - Block { - BlockType S-Function - Name "S-Function" - SID "617" - Ports [1, 2] - Position [510, 74, 595, 121] - ZOrder -16 - ShowName off - FunctionName "analogin" - Parameters "simopt.h [1 0]" - EnableBusSupport off - } - Block { - BlockType S-Function - Name "S-Function2" - SID "618" - Ports [2, 1] - Position [315, 78, 395, 122] - ZOrder -17 - ShowName off - FunctionName "analogout" - Parameters "simopt.h [1 0]" - EnableBusSupport off - } - Block { - BlockType Terminator - Name "Terminator" - SID "619" - Position [425, 90, 445, 110] - ZOrder -18 - ShowName off - } - Block { - BlockType Terminator - Name "Terminator1" - SID "620" - Position [820, 75, 840, 95] - ZOrder -18 - ShowName off - } - Block { - BlockType Outport - Name "[ u ]" - SID "621" - Position [830, 103, 860, 117] - ZOrder -19 - IconDisplay "Port number" - InitialOutput "0" - } - Line { - SrcBlock "Gain3" - SrcPort 1 - DstBlock "Mux1" - DstPort 2 - } - Line { - SrcBlock "Gain2" - SrcPort 1 - DstBlock "Mux1" - DstPort 1 - } - Line { - SrcBlock "Gain1" - SrcPort 1 - Points [25, 0; 0, -20] - DstBlock "[ u ]" - DstPort 1 - } - Line { - SrcBlock "Demux" - SrcPort 2 - DstBlock "Gain1" - DstPort 1 - } - Line { - SrcBlock "Demux" - SrcPort 1 - DstBlock "Gain" - DstPort 1 - } - Line { - SrcBlock "Gain" - SrcPort 1 - DstBlock "Terminator1" - DstPort 1 - } - Line { - SrcBlock "Ground1" - SrcPort 1 - Points [0, 15] - DstBlock "Gain2" - DstPort 1 - } - Line { - SrcBlock "[ y ]" - SrcPort 1 - Points [35, 0; 0, 20] - DstBlock "Gain3" - DstPort 1 - } - Line { - SrcBlock "Mux1" - SrcPort 1 - DstBlock "S-Function2" - DstPort 2 - } - Line { - SrcBlock "S-Function" - SrcPort 2 - DstBlock "Demux" - DstPort 1 - } - Line { - SrcBlock "S-Function" - SrcPort 1 - Points [20, 0; 0, -40; -320, 0] - DstBlock "S-Function2" - DstPort 1 - } - Line { - SrcBlock "S-Function2" - SrcPort 1 - DstBlock "Terminator" - DstPort 1 - } - Line { - SrcBlock "Ground" - SrcPort 1 - DstBlock "S-Function" - DstPort 1 - } - } - } - Block { - BlockType SubSystem - Name "Honeywell Hardware" - SID "754" - Ports [1, 1] - Position [100, 134, 175, 196] - ZOrder 159 - BackgroundColor "yellow" - MinAlgLoopOccurrences off - PropExecContextOutsideSubsystem off - RTWSystemCode "Auto" - FunctionWithSeparateData off - Opaque off - RequestExecContextInheritance off - MaskHideContents off - System { - Name "Honeywell Hardware" - Location [302, 513, 1205, 1088] - Open off - ModelBrowserVisibility off - ModelBrowserWidth 200 - ScreenColor "white" - PaperOrientation "landscape" - PaperPositionMode "auto" - PaperType "usletter" - PaperUnits "inches" - TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] - TiledPageScale 1 - ShowPageBoundaries off - ZoomFactor "100" - Block { - BlockType Inport - Name "[ y ]" - SID "755" - Position [25, 103, 55, 117] - ZOrder -1 - IconDisplay "Port number" - } - Block { - BlockType Demux - Name "Demux" - SID "756" - Ports [1, 2] - Position [640, 62, 645, 153] - ZOrder -7 - ShowName off - Outputs "2" - DisplayOption "bar" - } - Block { - BlockType Gain - Name "Gain" - SID "757" - Position [695, 66, 755, 104] - ZOrder -8 - Gain "500/390" - ParamDataTypeStr "Inherit: Inherit via internal rule" - OutDataTypeStr "Inherit: Inherit via internal rule" - SaturateOnIntegerOverflow off - } - Block { - BlockType Gain - Name "Gain1" - SID "758" - Position [695, 111, 755, 149] - ZOrder -8 - Gain "500/390" - ParamDataTypeStr "Inherit: Inherit via internal rule" - OutDataTypeStr "Inherit: Inherit via internal rule" - SaturateOnIntegerOverflow off - } - Block { - BlockType Gain - Name "Gain2" - SID "759" - Position [135, 67, 180, 103] - ZOrder -11 - } - Block { - BlockType Gain - Name "Gain3" - SID "760" - Position [135, 112, 180, 148] - ZOrder -12 - } - Block { - BlockType Ground - Name "Ground" - SID "761" - Position [460, 90, 480, 110] - ZOrder -13 - ShowName off - } - Block { - BlockType Ground - Name "Ground1" - SID "762" - Position [55, 60, 75, 80] - ZOrder -13 - ShowName off - } - Block { - BlockType Mux - Name "Mux1" - SID "763" - Ports [2, 1] - Position [235, 61, 240, 154] - ZOrder -12 - ShowName off - Inputs "2" - DisplayOption "bar" - } - Block { - BlockType S-Function - Name "S-Function" - SID "764" - Ports [1, 2] - Position [510, 74, 595, 121] - ZOrder -16 - ShowName off - FunctionName "analogin" - Parameters "simopt.h [1 0]" - EnableBusSupport off - } - Block { - BlockType S-Function - Name "S-Function2" - SID "765" - Ports [2, 1] - Position [315, 78, 395, 122] - ZOrder -17 - ShowName off - FunctionName "analogout" - Parameters "simopt.h [1 0]" - EnableBusSupport off - } - Block { - BlockType Terminator - Name "Terminator" - SID "766" - Position [425, 90, 445, 110] - ZOrder -18 - ShowName off - } - Block { - BlockType Terminator - Name "Terminator1" - SID "767" - Position [820, 75, 840, 95] - ZOrder -18 - ShowName off - } - Block { - BlockType Outport - Name "[ u ]" - SID "768" - Position [830, 103, 860, 117] - ZOrder -19 - IconDisplay "Port number" - InitialOutput "0" - } - Line { - SrcBlock "Ground" - SrcPort 1 - DstBlock "S-Function" - DstPort 1 - } - Line { - SrcBlock "S-Function2" - SrcPort 1 - DstBlock "Terminator" - DstPort 1 - } - Line { - SrcBlock "S-Function" - SrcPort 1 - Points [20, 0; 0, -40; -320, 0] - DstBlock "S-Function2" - DstPort 1 - } - Line { - SrcBlock "S-Function" - SrcPort 2 - DstBlock "Demux" - DstPort 1 - } - Line { - SrcBlock "Mux1" - SrcPort 1 - DstBlock "S-Function2" - DstPort 2 - } - Line { - SrcBlock "[ y ]" - SrcPort 1 - Points [35, 0; 0, 20] - DstBlock "Gain3" - DstPort 1 - } - Line { - SrcBlock "Ground1" - SrcPort 1 - Points [0, 15] - DstBlock "Gain2" - DstPort 1 - } - Line { - SrcBlock "Gain" - SrcPort 1 - DstBlock "Terminator1" - DstPort 1 - } - Line { - SrcBlock "Demux" - SrcPort 1 - DstBlock "Gain" - DstPort 1 - } - Line { - SrcBlock "Demux" - SrcPort 2 - DstBlock "Gain1" - DstPort 1 - } - Line { - SrcBlock "Gain1" - SrcPort 1 - Points [25, 0; 0, -20] - DstBlock "[ u ]" - DstPort 1 - } - Line { - SrcBlock "Gain2" - SrcPort 1 - DstBlock "Mux1" - DstPort 1 - } - Line { - SrcBlock "Gain3" - SrcPort 1 - DstBlock "Mux1" - DstPort 2 - } - } - } - Block { - BlockType SubSystem - Name "NOMAD" - SID "694" - Ports [1, 1] - Position [215, 40, 290, 80] - ZOrder 1 - BackgroundColor "lightBlue" - MinAlgLoopOccurrences off - PropExecContextOutsideSubsystem off - RTWSystemCode "Auto" - FunctionWithSeparateData off - Opaque off - RequestExecContextInheritance off - MaskHideContents off - VariantObject "simopt.ID~=0" - System { - Name "NOMAD" - Location [337, 473, 1164, 922] - Open off - ModelBrowserVisibility off - ModelBrowserWidth 200 - ScreenColor "white" - PaperOrientation "landscape" - PaperPositionMode "auto" - PaperType "usletter" - PaperUnits "inches" - TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] - TiledPageScale 1 - ShowPageBoundaries off - ZoomFactor "100" - Block { - BlockType Inport - Name "e" - SID "695" - Position [105, 45, 125, 65] - ZOrder -1 - IconDisplay "Port number" - } - Block { - BlockType Reference - Name "Compare\nTo Constant" - SID "696" - Ports [1, 1] - Position [105, 145, 165, 175] - ZOrder 118 - LibraryVersion "1.260" - SourceBlock "simulink/Logic and Bit\nOperations/Compare\nTo Constant" - SourceType "Compare To Constant" - relop ">=" - const "params.expStartTime" - OutDataTypeStr "boolean" - ZeroCross on - } - Block { - BlockType Constant - Name "ConstU" - SID "697" - Position [120, 215, 150, 245] - ZOrder 117 - Value "params.ustart" - SampleTime "simopt.h" - } - Block { - BlockType Constant - Name "Constant" - SID "698" - Position [20, 15, 50, 45] - ZOrder 109 - Value "[params.asym simopt.h 1 simopt.uon params.hyst params.noiseMeasureTime] " - } - Block { - BlockType DigitalClock - Name "Digital Clock" - SID "699" - Position [15, 148, 80, 172] - ZOrder -8 - SampleTime "simopt.h" - } - Block { - BlockType SubSystem - Name "Halt logics" - SID "700" - Ports [1] - Position [570, 285, 610, 345] - ZOrder 79 - MinAlgLoopOccurrences off - PropExecContextOutsideSubsystem off - RTWSystemCode "Auto" - FunctionWithSeparateData off - Opaque off - RequestExecContextInheritance off - MaskHideContents off - VariantObject "Variant" - System { - Name "Halt logics" - Location [661, 137, 1730, 1016] - Open off - ModelBrowserVisibility off - ModelBrowserWidth 200 - ScreenColor "white" - PaperOrientation "landscape" - PaperPositionMode "auto" - PaperType "usletter" - PaperUnits "inches" - TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] - TiledPageScale 1 - ShowPageBoundaries off - ZoomFactor "100" - Block { - BlockType Inport - Name "u" - SID "701" - Position [45, 53, 75, 67] - ZOrder 77 - IconDisplay "Port number" - } - Block { - BlockType Reference - Name "Compare To Constant" - SID "702" - Ports [1, 1] - Position [205, 45, 310, 75] - ZOrder 46 - LibraryVersion "1.260" - SourceBlock "simulink/Logic and Bit\nOperations/Compare\nTo Constant" - SourceType "Compare To Constant" - relop ">=" - const "params.switches" - OutDataTypeStr "boolean" - ZeroCross on - } - Block { - BlockType Stop - Name "Stop Simulation" - SID "703" - Position [370, 42, 405, 78] - ZOrder 45 - } - Block { - BlockType Reference - Name "Switch counter" - SID "704" - Ports [1, 1] - Position [105, 30, 175, 90] - ZOrder 44 - LibraryVersion "1.225" - SourceBlock "dspswit3/Counter" - SourceType "Counter" - Direction "Up" - CountEvent "Either edge" - CounterSize "User defined" - MaxCount "params.switches" - InitialCount "0" - Output "Count" - HitValue "32" - ResetInput off - SamplesPerFrame "1" - Ts "1" - CntDtype "double" - HitDtype "Logical" - } - Line { - SrcBlock "Compare To Constant" - SrcPort 1 - DstBlock "Stop Simulation" - DstPort 1 - } - Line { - SrcBlock "u" - SrcPort 1 - DstBlock "Switch counter" - DstPort 1 - } - Line { - SrcBlock "Switch counter" - SrcPort 1 - DstBlock "Compare To Constant" - DstPort 1 - } - } - } - Block { - BlockType SubSystem - Name "Logger" - SID "705" - Ports [1] - Position [385, 21, 440, 59] - ZOrder 115 - MinAlgLoopOccurrences off - PropExecContextOutsideSubsystem off - RTWSystemCode "Auto" - FunctionWithSeparateData off - Opaque off - RequestExecContextInheritance off - MaskHideContents off - System { - Name "Logger" - Location [661, 211, 1730, 1090] - Open off - ModelBrowserVisibility off - ModelBrowserWidth 200 - ScreenColor "white" - PaperOrientation "landscape" - PaperPositionMode "auto" - PaperType "usletter" - PaperUnits "inches" - TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] - TiledPageScale 1 - ShowPageBoundaries off - ZoomFactor "100" - Block { - BlockType Inport - Name "result" - SID "706" - Position [20, 43, 50, 57] - ZOrder 88 - IconDisplay "Port number" - SampleTime "simopt.h" - } - Block { - BlockType ToWorkspace - Name "Logger" - SID "707" - Ports [1] - Position [105, 35, 165, 65] - ZOrder 87 - VariableName "result" - MaxDataPoints "1" - SampleTime "simopt.h" - SaveFormat "Structure With Time" - } - Line { - SrcBlock "result" - SrcPort 1 - DstBlock "Logger" - DstPort 1 - } - } - } - Block { - BlockType Scope - Name "Scope1" - SID "708" - Ports [1] - Position [530, 214, 560, 246] - ZOrder 148 - Floating off - Location [142, 93, 726, 483] - Open off - NumInputPorts "1" - List { - ListType AxesTitles - axes1 "%<SignalLabel>" - } - List { - ListType ScopeGraphics - FigureColor "[0.156862745098039 0.156862745098039 0.156862745098039]" - AxesColor "[0 0 0]" - AxesTickColor "[0.686274509803922 0.686274509803922 0.686274509803922]" - LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" - LineStyles "-|-|-|-|-|-" - LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" - MarkerStyles "none|none|none|none|none|none" - } - ShowLegends off - YMin "4.75" - YMax "5.25" - DataFormat "StructureWithTime" - LimitDataPoints off - } - Block { - BlockType Scope - Name "Scope3" - SID "709" - Ports [1] - Position [630, 149, 660, 181] - ZOrder 148 - Floating off - Location [152, 93, 736, 483] - Open off - NumInputPorts "1" - List { - ListType AxesTitles - axes1 "%<SignalLabel>" - } - List { - ListType ScopeGraphics - FigureColor "[0.156862745098039 0.156862745098039 0.156862745098039]" - AxesColor "[0 0 0]" - AxesTickColor "[0.686274509803922 0.686274509803922 0.686274509803922]" - LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" - LineStyles "-|-|-|-|-|-" - LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" - MarkerStyles "none|none|none|none|none|none" - } - ShowLegends off - YMin "4.75" - YMax "5.25" - SaveName "ScopeData4" - DataFormat "StructureWithTime" - LimitDataPoints off - } - Block { - BlockType Sum - Name "Sum" - SID "710" - Ports [2, 1] - Position [480, 305, 500, 325] - ZOrder -5 - ShowName off - IconShape "round" - Inputs "|+-" - } - Block { - BlockType Switch - Name "Switch" - SID "711" - Position [370, 125, 420, 165] - ZOrder 62 - Criteria "u2 ~= 0" - InputSameDT off - SaturateOnIntegerOverflow off - } - Block { - BlockType SubSystem - Name "relay_exp\n" - SID "712" - Ports [4, 2] - Position [230, 19, 330, 91] - ZOrder 114 - LibraryVersion "1.32" - ErrorFcn "Stateflow.Translate.translate" - PermitHierarchicalResolution "ExplicitOnly" - TreatAsAtomicUnit on - MinAlgLoopOccurrences off - PropExecContextOutsideSubsystem off - SystemSampleTime "simopt.h" - RTWSystemCode "Auto" - FunctionWithSeparateData off - Opaque off - RequestExecContextInheritance off - MaskHideContents off - SFBlockType "MATLAB Function" - VariantObject "Variant" - MaskType "Stateflow" - MaskDescription "Embedded MATLAB block" - MaskSelfModifiable on - MaskDisplay "bgColor = Simulink.Root.ColorString2Rgb(get_param(gcbh, 'BackgroundColor')); image(imread('private/" - "eml_membrane_16.png','png','BackgroundColor',bgColor(1:3)),'center'); disp([10 10 'relay_function']);" - MaskIconFrame on - MaskIconOpaque off - MaskIconRotate "none" - MaskPortRotate "default" - MaskIconUnits "normalized" - System { - Name "relay_exp\n" - Location [189, 219, 840, 949] - Open off - ModelBrowserVisibility off - ModelBrowserWidth 200 - ScreenColor "white" - PaperOrientation "landscape" - PaperPositionMode "auto" - PaperType "usletter" - PaperUnits "inches" - TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] - TiledPageScale 1 - ShowPageBoundaries off - ZoomFactor "100" - SIDHighWatermark "45" - Block { - BlockType Inport - Name "relay_par" - SID "712::42" - Position [20, 101, 40, 119] - ZOrder 27 - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "e" - SID "712::23" - Position [20, 136, 40, 154] - ZOrder 9 - Port "2" - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "u0" - SID "712::45" - Position [20, 171, 40, 189] - ZOrder 30 - Port "3" - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "run_exp" - SID "712::44" - Position [20, 206, 40, 224] - ZOrder 29 - Port "4" - IconDisplay "Port number" - } - Block { - BlockType Demux - Name " Demux " - SID "712::40" - Ports [1, 1] - Position [270, 215, 320, 255] - ZOrder 25 - Outputs "1" - } - Block { - BlockType S-Function - Name " SFunction " - SID "712::39" - Tag "Stateflow S-Function ATlibrary_2012a 1" - Ports [4, 3] - Position [180, 112, 230, 213] - ZOrder 24 - FunctionName "sf_sfun" - PortCounts "[4 3]" - EnableBusSupport on - Port { - PortNumber 2 - Name "result" - RTWStorageClass "Auto" - DataLoggingNameMode "SignalName" - } - Port { - PortNumber 3 - Name "u" - RTWStorageClass "Auto" - DataLoggingNameMode "SignalName" - } - } - Block { - BlockType Terminator - Name " Terminator " - SID "712::41" - Position [460, 226, 480, 244] - ZOrder 26 - } - Block { - BlockType Outport - Name "result" - SID "712::43" - Position [460, 101, 480, 119] - ZOrder 28 - IconDisplay "Port number" - } - Block { - BlockType Outport - Name "u" - SID "712::27" - Position [460, 136, 480, 154] - ZOrder 13 - Port "2" - IconDisplay "Port number" - } - Line { - SrcBlock " SFunction " - SrcPort 1 - DstBlock " Demux " - DstPort 1 - } - Line { - SrcBlock " Demux " - SrcPort 1 - DstBlock " Terminator " - DstPort 1 - } - Line { - Name "u" - Labels [0, 0] - SrcBlock " SFunction " - SrcPort 3 - DstBlock "u" - DstPort 1 - } - Line { - Name "result" - Labels [0, 0] - SrcBlock " SFunction " - SrcPort 2 - DstBlock "result" - DstPort 1 - } - Line { - SrcBlock "run_exp" - SrcPort 1 - DstBlock " SFunction " - DstPort 4 - } - Line { - SrcBlock "u0" - SrcPort 1 - DstBlock " SFunction " - DstPort 3 - } - Line { - SrcBlock "e" - SrcPort 1 - DstBlock " SFunction " - DstPort 2 - } - Line { - SrcBlock "relay_par" - SrcPort 1 - DstBlock " SFunction " - DstPort 1 - } - } - } - Block { - BlockType Outport - Name "u" - SID "713" - Position [490, 135, 510, 155] - ZOrder -2 - IconDisplay "Port number" - } - Line { - SrcBlock "Sum" - SrcPort 1 - DstBlock "Halt logics" - DstPort 1 - } - Line { - SrcBlock "Switch" - SrcPort 1 - Points [25, 0] - Branch { - Points [0, 80] - Branch { - Points [0, 90] - DstBlock "Sum" - DstPort 1 - } - Branch { - Points [0, 5] - DstBlock "Scope1" - DstPort 1 - } - } - Branch { - Points [15, 0] - Branch { - Points [0, 20] - DstBlock "Scope3" - DstPort 1 - } - Branch { - DstBlock "u" - DstPort 1 - } - } - } - Line { - SrcBlock "Compare\nTo Constant" - SrcPort 1 - Points [5, 0; 0, -15] - Branch { - DstBlock "Switch" - DstPort 2 - } - Branch { - Points [0, -60] - DstBlock "relay_exp\n" - DstPort 4 - } - } - Line { - SrcBlock "ConstU" - SrcPort 1 - Points [50, 0] - Branch { - Points [75, 0] - Branch { - Points [0, 135; 210, 0] - DstBlock "Sum" - DstPort 2 - } - Branch { - Points [17, 0; 0, -70] - DstBlock "Switch" - DstPort 3 - } - } - Branch { - Points [0, -165] - DstBlock "relay_exp\n" - DstPort 3 - } - } - Line { - SrcBlock "Digital Clock" - SrcPort 1 - DstBlock "Compare\nTo Constant" - DstPort 1 - } - Line { - SrcBlock "relay_exp\n" - SrcPort 1 - DstBlock "Logger" - DstPort 1 - } - Line { - SrcBlock "Constant" - SrcPort 1 - Points [160, 0] - DstBlock "relay_exp\n" - DstPort 1 - } - Line { - SrcBlock "e" - SrcPort 1 - Points [85, 0] - DstBlock "relay_exp\n" - DstPort 2 - } - Line { - SrcBlock "relay_exp\n" - SrcPort 2 - Points [10, 0; 0, 55] - DstBlock "Switch" - DstPort 1 - } - } - } - Block { - BlockType SubSystem - Name "Real Quadtank" - SID "582" - Ports [2, 4] - Position [100, 365, 190, 460] - ZOrder -1 - BackgroundColor "green" - AncestorBlock "tank/Real Quadtank" - LibraryVersion "*" - MinAlgLoopOccurrences off - PropExecContextOutsideSubsystem off - RTWSystemCode "Auto" - FunctionWithSeparateData off - Opaque off - RequestExecContextInheritance off - MaskHideContents off - MaskPromptString "h" - MaskStyleString "edit" - MaskVariables "h=@1;" - MaskTunableValueString "on" - MaskEnableString "on" - MaskVisibilityString "on" - MaskToolTipString "on" - MaskIconFrame on - MaskIconOpaque on - MaskIconRotate "none" - MaskPortRotate "default" - MaskIconUnits "autoscale" - MaskValueString "0.01" - System { - Name "Real Quadtank" - Location [169, -29, 1242, 1124] - Open off - ModelBrowserVisibility off - ModelBrowserWidth 200 - ScreenColor "white" - PaperOrientation "landscape" - PaperPositionMode "auto" - PaperType "usletter" - PaperUnits "inches" - TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] - TiledPageScale 1 - ShowPageBoundaries off - ZoomFactor "100" - SIDHighWatermark "34" - Block { - BlockType Inport - Name "u1" - SID "582:1" - Position [260, 148, 290, 162] - ZOrder -1 - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "u2" - SID "582:2" - Position [260, 408, 290, 422] - ZOrder -2 - Port "2" - IconDisplay "Port number" - } - Block { - BlockType S-Function - Name "AnalogIn 0" - SID "582:3" - Ports [1, 2] - Position [150, 112, 210, 143] - ZOrder -3 - FunctionName "analogin" - Parameters "h [35]" - EnableBusSupport off - } - Block { - BlockType S-Function - Name "AnalogIn 1" - SID "582:4" - Ports [1, 2] - Position [150, 372, 210, 403] - ZOrder -4 - FunctionName "analogin" - Parameters "h [34]" - EnableBusSupport off - } - Block { - BlockType S-Function - Name "AnalogIn 2" - SID "582:5" - Ports [1, 2] - Position [150, 452, 210, 483] - ZOrder -5 - FunctionName "analogin" - Parameters "h [33]" - EnableBusSupport off - } - Block { - BlockType S-Function - Name "AnalogIn 3" - SID "582:6" - Ports [1, 2] - Position [150, 187, 210, 218] - ZOrder -6 - FunctionName "analogin" - Parameters "h [31]" - EnableBusSupport off - } - Block { - BlockType S-Function - Name "AnalogIn 4" - SID "582:7" - Ports [1, 2] - Position [150, 287, 210, 318] - ZOrder -7 - FunctionName "analogin" - Parameters "h [30]" - EnableBusSupport off - } - Block { - BlockType S-Function - Name "AnalogIn 5" - SID "582:8" - Ports [1, 2] - Position [150, 552, 210, 583] - ZOrder -8 - FunctionName "analogin" - Parameters "h [32]" - EnableBusSupport off - } - Block { - BlockType S-Function - Name "AnalogOut 0" - SID "582:9" - Ports [2, 1] - Position [455, 112, 515, 143] - ZOrder -9 - FunctionName "analogout" - Parameters "h [31]" - EnableBusSupport off - } - Block { - BlockType S-Function - Name "AnalogOut 1" - SID "582:10" - Ports [2, 1] - Position [460, 372, 520, 403] - ZOrder -10 - FunctionName "analogout" - Parameters "h [30]" - EnableBusSupport off - } - Block { - BlockType Ground - Name "Ground" - SID "582:11" - Position [95, 120, 115, 140] - ZOrder -11 - } - Block { - BlockType Ground - Name "Ground1" - SID "582:12" - Position [95, 380, 115, 400] - ZOrder -12 - } - Block { - BlockType TransferFcn - Name "LP 1" - SID "582:13" - Position [300, 192, 360, 228] - ZOrder -13 - Denominator "[0.04 0.4 1]" - } - Block { - BlockType TransferFcn - Name "LP 2" - SID "582:14" - Position [300, 457, 360, 493] - ZOrder -14 - Denominator "[0.04 0.4 1]" - } - Block { - BlockType TransferFcn - Name "LP 3" - SID "582:15" - Position [300, 292, 360, 328] - ZOrder -15 - Denominator "[0.04 0.4 1]" - } - Block { - BlockType TransferFcn - Name "LP 4" - SID "582:16" - Position [305, 557, 365, 593] - ZOrder -16 - Denominator "[0.04 0.4 1]" - } - Block { - BlockType Mux - Name "Mux" - SID "582:17" - Ports [2, 1] - Position [315, 123, 320, 167] - ZOrder -17 - ShowName off - Inputs "2" - DisplayOption "bar" - } - Block { - BlockType Mux - Name "Mux1" - SID "582:18" - Ports [2, 1] - Position [315, 383, 320, 427] - ZOrder -18 - ShowName off - Inputs "2" - DisplayOption "bar" - } - Block { - BlockType S-Function - Name "S-Function2" - SID "582:19" - Ports [0, 1] - Position [110, 30, 170, 60] - ZOrder -19 - FunctionName "realtimer" - Parameters "h" - EnableBusSupport off - } - Block { - BlockType Scope - Name "Scope" - SID "582:20" - Ports [1] - Position [225, 29, 255, 61] - ZOrder -20 - Floating off - Location [48, 426, 372, 665] - Open off - NumInputPorts "1" - List { - ListType AxesTitles - axes1 "%<SignalLabel>" - } - ShowLegends off - YMin "2.77556e-17" - YMax "0.45" - DataFormat "StructureWithTime" - SampleTime "0" - } - Block { - BlockType Terminator - Name "Terminator" - SID "582:21" - Position [545, 120, 565, 140] - ZOrder -21 - } - Block { - BlockType Terminator - Name "Terminator1" - SID "582:22" - Position [550, 380, 570, 400] - ZOrder -22 - } - Block { - BlockType Terminator - Name "Terminator2" - SID "582:23" - Position [240, 185, 260, 205] - ZOrder -23 - } - Block { - BlockType Terminator - Name "Terminator3" - SID "582:24" - Position [240, 285, 260, 305] - ZOrder -24 - } - Block { - BlockType Terminator - Name "Terminator4" - SID "582:25" - Position [235, 450, 255, 470] - ZOrder -25 - } - Block { - BlockType Terminator - Name "Terminator5" - SID "582:26" - Position [240, 550, 260, 570] - ZOrder -26 - } - Block { - BlockType MATLABFcn - Name "flow controller 1" - SID "582:27" - Ports [1, 1] - Position [345, 130, 405, 160] - ZOrder -27 - MATLABFcn "flowCtrl1" - SampleTime "0.01" - } - Block { - BlockType MATLABFcn - Name "flow controller 2" - SID "582:28" - Ports [1, 1] - Position [350, 390, 410, 420] - ZOrder -28 - MATLABFcn "flowCtrl2" - SampleTime "0.01" - } - Block { - BlockType Outport - Name "y1" - SID "582:29" - Position [385, 203, 415, 217] - ZOrder -29 - IconDisplay "Port number" - } - Block { - BlockType Outport - Name "y2" - SID "582:30" - Position [385, 468, 415, 482] - ZOrder -30 - Port "2" - IconDisplay "Port number" - } - Block { - BlockType Outport - Name "y3" - SID "582:31" - Position [385, 303, 415, 317] - ZOrder -31 - Port "3" - IconDisplay "Port number" - } - Block { - BlockType Outport - Name "y4" - SID "582:32" - Position [390, 568, 420, 582] - ZOrder -32 - Port "4" - IconDisplay "Port number" - } - Line { - SrcBlock "S-Function2" - SrcPort 1 - DstBlock "Scope" - DstPort 1 - } - Line { - SrcBlock "AnalogIn 0" - SrcPort 1 - DstBlock "AnalogOut 0" - DstPort 1 - } - Line { - SrcBlock "AnalogOut 0" - SrcPort 1 - DstBlock "Terminator" - DstPort 1 - } - Line { - SrcBlock "AnalogIn 1" - SrcPort 1 - DstBlock "AnalogOut 1" - DstPort 1 - } - Line { - SrcBlock "AnalogOut 1" - SrcPort 1 - DstBlock "Terminator1" - DstPort 1 - } - Line { - SrcBlock "AnalogIn 3" - SrcPort 2 - DstBlock "LP 1" - DstPort 1 - } - Line { - SrcBlock "AnalogIn 4" - SrcPort 2 - DstBlock "LP 3" - DstPort 1 - } - Line { - SrcBlock "Ground" - SrcPort 1 - Points [10, 0] - Branch { - DstBlock "AnalogIn 0" - DstPort 1 - } - Branch { - Points [0, 75] - Branch { - DstBlock "AnalogIn 3" - DstPort 1 - } - Branch { - Points [0, 100] - DstBlock "AnalogIn 4" - DstPort 1 - } - } - } - Line { - SrcBlock "AnalogIn 3" - SrcPort 1 - DstBlock "Terminator2" - DstPort 1 - } - Line { - SrcBlock "AnalogIn 4" - SrcPort 1 - DstBlock "Terminator3" - DstPort 1 - } - Line { - SrcBlock "AnalogIn 2" - SrcPort 2 - DstBlock "LP 2" - DstPort 1 - } - Line { - SrcBlock "AnalogIn 5" - SrcPort 2 - DstBlock "LP 4" - DstPort 1 - } - Line { - SrcBlock "Ground1" - SrcPort 1 - Points [10, 0] - Branch { - Points [0, 80] - Branch { - Points [0, 100] - DstBlock "AnalogIn 5" - DstPort 1 - } - Branch { - DstBlock "AnalogIn 2" - DstPort 1 - } - } - Branch { - DstBlock "AnalogIn 1" - DstPort 1 - } - } - Line { - SrcBlock "AnalogIn 2" - SrcPort 1 - DstBlock "Terminator4" - DstPort 1 - } - Line { - SrcBlock "AnalogIn 5" - SrcPort 1 - DstBlock "Terminator5" - DstPort 1 - } - Line { - SrcBlock "u1" - SrcPort 1 - DstBlock "Mux" - DstPort 2 - } - Line { - SrcBlock "Mux" - SrcPort 1 - DstBlock "flow controller 1" - DstPort 1 - } - Line { - SrcBlock "flow controller 1" - SrcPort 1 - Points [30, 0] - DstBlock "AnalogOut 0" - DstPort 2 - } - Line { - SrcBlock "u2" - SrcPort 1 - DstBlock "Mux1" - DstPort 2 - } - Line { - SrcBlock "Mux1" - SrcPort 1 - DstBlock "flow controller 2" - DstPort 1 - } - Line { - SrcBlock "flow controller 2" - SrcPort 1 - Points [30, 0] - DstBlock "AnalogOut 1" - DstPort 2 - } - Line { - SrcBlock "AnalogIn 1" - SrcPort 2 - DstBlock "Mux1" - DstPort 1 - } - Line { - SrcBlock "AnalogIn 0" - SrcPort 2 - DstBlock "Mux" - DstPort 1 - } - Line { - SrcBlock "LP 1" - SrcPort 1 - DstBlock "y1" - DstPort 1 - } - Line { - SrcBlock "LP 3" - SrcPort 1 - DstBlock "y3" - DstPort 1 - } - Line { - SrcBlock "LP 2" - SrcPort 1 - DstBlock "y2" - DstPort 1 - } - Line { - SrcBlock "LP 4" - SrcPort 1 - DstBlock "y4" - DstPort 1 - } - } - } - Block { - BlockType SubSystem - Name "Real batch tank" - SID "637" - Ports [5, 3] - Position [280, 363, 370, 467] - ZOrder -1 - BackgroundColor "green" - AncestorBlock "tank/Real Quadtank" - LibraryVersion "*" - MinAlgLoopOccurrences off - PropExecContextOutsideSubsystem off - RTWSystemCode "Auto" - FunctionWithSeparateData off - Opaque off - RequestExecContextInheritance off - MaskHideContents off - MaskPromptString "h" - MaskStyleString "edit" - MaskVariables "h=@1;" - MaskTunableValueString "on" - MaskEnableString "on" - MaskVisibilityString "on" - MaskToolTipString "on" - MaskIconFrame on - MaskIconOpaque on - MaskIconRotate "none" - MaskPortRotate "default" - MaskIconUnits "autoscale" - MaskValueString "0.05" - System { - Name "Real batch tank" - Location [71, 92, 1144, 834] - Open off - ModelBrowserVisibility off - ModelBrowserWidth 200 - ScreenColor "white" - PaperOrientation "landscape" - PaperPositionMode "auto" - PaperType "usletter" - PaperUnits "inches" - TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] - TiledPageScale 1 - ShowPageBoundaries off - ZoomFactor "100" - SIDHighWatermark "92" - Block { - BlockType Inport - Name "InPump" - SID "637:34" - Position [190, 193, 220, 207] - ZOrder -1 - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "OutPump" - SID "637:35" - Position [190, 293, 220, 307] - ZOrder -1 - Port "2" - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "Heater" - SID "637:36" - Position [160, 533, 190, 547] - ZOrder -1 - Port "3" - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "Mixer" - SID "637:37" - Position [160, 618, 190, 632] - ZOrder -1 - Port "4" - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "Cooler" - SID "637:38" - Position [155, 688, 185, 702] - ZOrder -1 - Port "5" - IconDisplay "Port number" - } - Block { - BlockType S-Function - Name "AnalogIn 1" - SID "637:86" - Ports [1, 2] - Position [180, 772, 240, 803] - ZOrder -6 - FunctionName "analogin" - Parameters "h [30]" - EnableBusSupport off - } - Block { - BlockType S-Function - Name "AnalogIn 2" - SID "637:89" - Ports [1, 2] - Position [180, 827, 240, 858] - ZOrder -6 - FunctionName "analogin" - Parameters "h [37]" - EnableBusSupport off - } - Block { - BlockType S-Function - Name "AnalogIn 7" - SID "637:46" - Ports [1, 2] - Position [195, 357, 255, 388] - ZOrder -6 - FunctionName "analogin" - Parameters "h [31]" - EnableBusSupport off - } - Block { - BlockType S-Function - Name "AnalogOut1" - SID "637:48" - Ports [2, 1] - Position [265, 177, 325, 208] - ZOrder -9 - FunctionName "analogout" - Parameters "h [32]" - EnableBusSupport off - } - Block { - BlockType S-Function - Name "AnalogOut2" - SID "637:65" - Ports [2, 1] - Position [265, 267, 325, 298] - ZOrder -9 - FunctionName "analogout" - Parameters "h [33]" - EnableBusSupport off - } - Block { - BlockType S-Function - Name "AnalogOut3" - SID "637:77" - Ports [2, 1] - Position [240, 517, 300, 548] - ZOrder -9 - FunctionName "analogout" - Parameters "h [30]" - EnableBusSupport off - } - Block { - BlockType S-Function - Name "AnalogOut4" - SID "637:80" - Ports [2, 1] - Position [240, 602, 300, 633] - ZOrder -9 - FunctionName "analogout" - Parameters "h [34]" - EnableBusSupport off - } - Block { - BlockType S-Function - Name "AnalogOut5" - SID "637:83" - Ports [2, 1] - Position [240, 672, 300, 703] - ZOrder -9 - FunctionName "analogout" - Parameters "h [31]" - EnableBusSupport off - } - Block { - BlockType Ground - Name "LevelControlLoop" - SID "637:49" - Position [110, 175, 130, 195] - ZOrder -11 - } - Block { - BlockType S-Function - Name "S-Function2" - SID "637:19" - Ports [0, 1] - Position [110, 30, 170, 60] - ZOrder -19 - FunctionName "realtimer" - Parameters "h" - EnableBusSupport off - } - Block { - BlockType Scope - Name "Scope" - SID "637:20" - Ports [1] - Position [225, 29, 255, 61] - ZOrder -20 - Floating off - Location [48, 426, 372, 665] - Open off - NumInputPorts "1" - List { - ListType AxesTitles - axes1 "%<SignalLabel>" - } - List { - ListType ScopeGraphics - FigureColor "[0.5 0.5 0.5]" - AxesColor "[0 0 0]" - AxesTickColor "[1 1 1]" - LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" - LineStyles "-|-|-|-|-|-" - LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" - MarkerStyles "none|none|none|none|none|none" - } - ShowLegends off - YMin "2.77556e-17" - YMax "0.45" - DataFormat "StructureWithTime" - SampleTime "0" - } - Block { - BlockType Ground - Name "TemperatureLoop" - SID "637:78" - Position [85, 515, 105, 535] - ZOrder -11 - } - Block { - BlockType Terminator - Name "Terminator1" - SID "637:79" - Position [325, 525, 345, 545] - ZOrder -21 - } - Block { - BlockType Terminator - Name "Terminator2" - SID "637:81" - Position [340, 610, 360, 630] - ZOrder -21 - } - Block { - BlockType Terminator - Name "Terminator3" - SID "637:84" - Position [340, 680, 360, 700] - ZOrder -21 - } - Block { - BlockType Terminator - Name "Terminator4" - SID "637:87" - Position [270, 770, 290, 790] - ZOrder -23 - } - Block { - BlockType Terminator - Name "Terminator5" - SID "637:90" - Position [270, 825, 290, 845] - ZOrder -23 - } - Block { - BlockType Terminator - Name "Terminator6" - SID "637:53" - Position [350, 185, 370, 205] - ZOrder -21 - } - Block { - BlockType Terminator - Name "Terminator7" - SID "637:54" - Position [285, 355, 305, 375] - ZOrder -23 - } - Block { - BlockType Terminator - Name "Terminator8" - SID "637:67" - Position [350, 275, 370, 295] - ZOrder -21 - } - Block { - BlockType Outport - Name "Temp" - SID "637:39" - Position [330, 788, 360, 802] - ZOrder -29 - IconDisplay "Port number" - } - Block { - BlockType Outport - Name "Level" - SID "637:40" - Position [345, 373, 375, 387] - ZOrder -29 - Port "2" - IconDisplay "Port number" - } - Block { - BlockType Outport - Name "TankTemp" - SID "637:41" - Position [330, 848, 360, 862] - ZOrder -29 - Port "3" - IconDisplay "Port number" - } - Line { - SrcBlock "S-Function2" - SrcPort 1 - DstBlock "Scope" - DstPort 1 - } - Line { - SrcBlock "AnalogIn 7" - SrcPort 1 - DstBlock "Terminator7" - DstPort 1 - } - Line { - SrcBlock "LevelControlLoop" - SrcPort 1 - Points [40, 0] - Branch { - Points [0, 90] - Branch { - Points [0, 100] - DstBlock "AnalogIn 7" - DstPort 1 - } - Branch { - DstBlock "AnalogOut2" - DstPort 1 - } - } - Branch { - DstBlock "AnalogOut1" - DstPort 1 - } - } - Line { - SrcBlock "AnalogIn 7" - SrcPort 2 - DstBlock "Level" - DstPort 1 - } - Line { - SrcBlock "AnalogOut1" - SrcPort 1 - DstBlock "Terminator6" - DstPort 1 - } - Line { - SrcBlock "OutPump" - SrcPort 1 - Points [25, 0] - DstBlock "AnalogOut2" - DstPort 2 - } - Line { - SrcBlock "AnalogOut2" - SrcPort 1 - DstBlock "Terminator8" - DstPort 1 - } - Line { - SrcBlock "InPump" - SrcPort 1 - DstBlock "AnalogOut1" - DstPort 2 - } - Line { - SrcBlock "TemperatureLoop" - SrcPort 1 - Points [40, 0] - Branch { - Points [0, 85] - Branch { - DstBlock "AnalogOut4" - DstPort 1 - } - Branch { - Points [0, 70] - Branch { - DstBlock "AnalogOut5" - DstPort 1 - } - Branch { - Points [0, 110] - Branch { - DstBlock "AnalogIn 1" - DstPort 1 - } - Branch { - Points [0, 55] - DstBlock "AnalogIn 2" - DstPort 1 - } - } - } - } - Branch { - DstBlock "AnalogOut3" - DstPort 1 - } - } - Line { - SrcBlock "AnalogOut3" - SrcPort 1 - DstBlock "Terminator1" - DstPort 1 - } - Line { - SrcBlock "Heater" - SrcPort 1 - DstBlock "AnalogOut3" - DstPort 2 - } - Line { - SrcBlock "AnalogOut4" - SrcPort 1 - DstBlock "Terminator2" - DstPort 1 - } - Line { - SrcBlock "Mixer" - SrcPort 1 - DstBlock "AnalogOut4" - DstPort 2 - } - Line { - SrcBlock "AnalogOut5" - SrcPort 1 - DstBlock "Terminator3" - DstPort 1 - } - Line { - SrcBlock "Cooler" - SrcPort 1 - DstBlock "AnalogOut5" - DstPort 2 - } - Line { - SrcBlock "AnalogIn 1" - SrcPort 1 - DstBlock "Terminator4" - DstPort 1 - } - Line { - SrcBlock "AnalogIn 1" - SrcPort 2 - DstBlock "Temp" - DstPort 1 - } - Line { - SrcBlock "AnalogIn 2" - SrcPort 1 - DstBlock "Terminator5" - DstPort 1 - } - Line { - SrcBlock "AnalogIn 2" - SrcPort 2 - Points [0, 5] - DstBlock "TankTemp" - DstPort 1 - } - Annotation { - SID "637:62" - Position [891, 355] - } - } - } - Block { - BlockType SubSystem - Name "SOTD_example" - SID "320" - Ports [1, 1] - Position [100, 236, 180, 314] - ZOrder 141 - BackgroundColor "gray" - MinAlgLoopOccurrences off - PropExecContextOutsideSubsystem off - RTWSystemCode "Auto" - FunctionWithSeparateData off - Opaque off - RequestExecContextInheritance off - MaskHideContents off - System { - Name "SOTD_example" - Location [702, 184, 1771, 1063] - 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 "125" - Block { - BlockType Inport - Name "u" - SID "321" - Position [20, 73, 50, 87] - ZOrder 106 - IconDisplay "Port number" - SampleTime "simopt.h" - } - Block { - BlockType TransferFcn - Name "Transfer Fcn" - SID "322" - Position [175, 62, 235, 98] - ZOrder 110 - Denominator "[1 4 6 4 1]" - } - Block { - BlockType Outport - Name "y" - SID "323" - Position [310, 73, 340, 87] - ZOrder 105 - IconDisplay "Port number" - SampleTime "simopt.h" - } - Line { - SrcBlock "Transfer Fcn" - SrcPort 1 - DstBlock "y" - DstPort 1 - } - Line { - SrcBlock "u" - SrcPort 1 - DstBlock "Transfer Fcn" - DstPort 1 - } - } - } - Block { - BlockType SubSystem - Name "WoodBerry" - SID "902" - Ports [2, 2] - Position [245, 240, 345, 315] - ZOrder 158 - BackgroundColor "gray" - MinAlgLoopOccurrences off - PropExecContextOutsideSubsystem off - RTWSystemCode "Auto" - FunctionWithSeparateData off - Opaque off - RequestExecContextInheritance off - MaskHideContents off - System { - Name "WoodBerry" - Location [108, 94, 920, 529] - 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 "u1" - SID "903" - Position [175, 103, 205, 117] - ZOrder -1 - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "u2" - SID "904" - Position [175, 313, 205, 327] - ZOrder 1 - Port "2" - IconDisplay "Port number" - } - Block { - BlockType TransferFcn - Name "P11" - SID "944" - Position [275, 92, 335, 128] - ZOrder -9 - Numerator "[12.8]" - Denominator "[16.7 1]" - } - Block { - BlockType TransportDelay - Name "P11_d" - SID "945" - Ports [1, 1] - Position [365, 95, 395, 125] - ZOrder -10 - } - Block { - BlockType TransferFcn - Name "P12" - SID "947" - Position [275, 162, 335, 198] - ZOrder -9 - Numerator "[-18.9]" - Denominator "[21 1]" - } - Block { - BlockType TransportDelay - Name "P12_d" - SID "948" - Ports [1, 1] - Position [365, 165, 395, 195] - ZOrder -10 - DelayTime "3" - } - Block { - BlockType TransferFcn - Name "P21" - SID "949" - Position [275, 227, 335, 263] - ZOrder -9 - Numerator "[6.6]" - Denominator "[10.9 1]" - } - Block { - BlockType TransportDelay - Name "P21_d" - SID "950" - Ports [1, 1] - Position [365, 230, 395, 260] - ZOrder -10 - DelayTime "7" - } - Block { - BlockType TransferFcn - Name "P22" - SID "951" - Position [275, 302, 335, 338] - ZOrder -9 - Numerator "[-19.4]" - Denominator "[14.4 1]" - } - Block { - BlockType TransportDelay - Name "P22_d" - SID "952" - Ports [1, 1] - Position [365, 305, 395, 335] - ZOrder -10 - DelayTime "3" - } - Block { - BlockType Sum - Name "Sum" - SID "946" - Ports [2, 1] - Position [465, 100, 485, 120] - ZOrder -18 - ShowName off - IconShape "round" - Inputs "|++" - InputSameDT off - OutDataTypeStr "Inherit: Inherit via internal rule" - SaturateOnIntegerOverflow off - } - Block { - BlockType Sum - Name "Sum2" - SID "954" - Ports [2, 1] - Position [465, 310, 485, 330] - ZOrder -18 - NamePlacement "alternate" - ShowName off - IconShape "round" - Inputs "++|" - InputSameDT off - OutDataTypeStr "Inherit: Inherit via internal rule" - SaturateOnIntegerOverflow off - } - Block { - BlockType Outport - Name "y1" - SID "942" - Position [640, 103, 670, 117] - ZOrder -2 - IconDisplay "Port number" - } - Block { - BlockType Outport - Name "y2" - SID "943" - Position [640, 313, 670, 327] - ZOrder 4 - Port "2" - IconDisplay "Port number" - } - Line { - SrcBlock "P11" - SrcPort 1 - DstBlock "P11_d" - DstPort 1 - } - Line { - SrcBlock "P11_d" - SrcPort 1 - DstBlock "Sum" - DstPort 1 - } - Line { - SrcBlock "Sum" - SrcPort 1 - DstBlock "y1" - DstPort 1 - } - Line { - SrcBlock "u1" - SrcPort 1 - Points [5, 0] - Branch { - DstBlock "P11" - DstPort 1 - } - Branch { - Points [25, 0; 0, 135] - DstBlock "P21" - DstPort 1 - } - } - Line { - SrcBlock "P12" - SrcPort 1 - DstBlock "P12_d" - DstPort 1 - } - Line { - SrcBlock "P12_d" - SrcPort 1 - Points [75, 0] - DstBlock "Sum" - DstPort 2 - } - Line { - SrcBlock "u2" - SrcPort 1 - Points [10, 0] - Branch { - Points [0, 0; 0, -140] - DstBlock "P12" - DstPort 1 - } - Branch { - DstBlock "P22" - DstPort 1 - } - } - Line { - SrcBlock "P21" - SrcPort 1 - DstBlock "P21_d" - DstPort 1 - } - Line { - SrcBlock "P21_d" - SrcPort 1 - Points [75, 0] - DstBlock "Sum2" - DstPort 1 - } - Line { - SrcBlock "P22" - SrcPort 1 - DstBlock "P22_d" - DstPort 1 - } - Line { - SrcBlock "P22_d" - SrcPort 1 - DstBlock "Sum2" - DstPort 2 - } - Line { - SrcBlock "Sum2" - SrcPort 1 - DstBlock "y2" - DstPort 1 - } - } - } - Block { - BlockType SubSystem - Name "multi-NOMAD" - SID "860" - Ports [2, 2] - Position [340, 39, 440, 81] - ZOrder 158 - BackgroundColor "lightBlue" - MinAlgLoopOccurrences off - PropExecContextOutsideSubsystem off - RTWSystemCode "Auto" - FunctionWithSeparateData off - Opaque off - RequestExecContextInheritance off - MaskHideContents off - System { - Name "multi-NOMAD" - Location [107, -23, 1149, 412] - Open off - ModelBrowserVisibility off - ModelBrowserWidth 200 - ScreenColor "white" - PaperOrientation "landscape" - PaperPositionMode "auto" - PaperType "usletter" - PaperUnits "inches" - TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] - TiledPageScale 1 - ShowPageBoundaries off - ZoomFactor "100" - Block { - BlockType Inport - Name "e1" - SID "861" - Position [175, 103, 205, 117] - ZOrder -1 - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "e2" - SID "862" - Position [175, 193, 205, 207] - ZOrder 1 - Port "2" - IconDisplay "Port number" - } - Block { - BlockType SubSystem - Name "Autotuner1" - SID "863" - Ports [2, 3] - Position [245, 99, 345, 141] - ZOrder 63 - MinAlgLoopOccurrences off - PropExecContextOutsideSubsystem off - RTWSystemCode "Auto" - FunctionWithSeparateData off - Opaque off - RequestExecContextInheritance off - MaskHideContents off - System { - Name "Autotuner1" - Location [950, 306, 1992, 821] - Open off - ModelBrowserVisibility off - ModelBrowserWidth 200 - ScreenColor "white" - PaperOrientation "landscape" - PaperPositionMode "auto" - PaperType "usletter" - PaperUnits "inches" - TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] - TiledPageScale 1 - ShowPageBoundaries off - ZoomFactor "100" - Block { - BlockType Inport - Name "e" - SID "864" - Position [30, 148, 60, 162] - ZOrder -1 - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "other_done" - SID "865" - Position [50, 438, 80, 452] - ZOrder -1 - Port "2" - IconDisplay "Port number" - } - Block { - BlockType Product - Name "AND" - SID "866" - Ports [2, 1] - Position [170, 437, 200, 468] - ZOrder -13 - InputSameDT off - OutDataTypeStr "Inherit: Inherit via internal rule" - SaturateOnIntegerOverflow off - } - Block { - BlockType Reference - Name "Compare\nTo Constant" - SID "867" - Ports [1, 1] - Position [370, 200, 400, 230] - ZOrder 118 - LibraryVersion "1.260" - SourceBlock "simulink/Logic and Bit\nOperations/Compare\nTo Constant" - SourceType "Compare To Constant" - relop ">=" - const "params.expStartTime" - OutDataTypeStr "boolean" - ZeroCross on - } - Block { - BlockType Constant - Name "Constant" - SID "868" - Position [310, 265, 340, 295] - ZOrder 117 - Value "params.ustart" - SampleTime "simopt.h" - } - Block { - BlockType SubSystem - Name "Constraint" - SID "869" - Ports [3, 1] - Position [685, 370, 755, 420] - ZOrder -4 - LibraryVersion "1.32" - ErrorFcn "Stateflow.Translate.translate" - PermitHierarchicalResolution "ExplicitOnly" - TreatAsAtomicUnit on - MinAlgLoopOccurrences off - PropExecContextOutsideSubsystem off - SystemSampleTime "simopt.h" - RTWSystemCode "Auto" - FunctionWithSeparateData off - Opaque off - RequestExecContextInheritance off - MaskHideContents off - SFBlockType "MATLAB Function" - MaskType "Stateflow" - MaskDescription "Embedded MATLAB block" - MaskSelfModifiable on - MaskDisplay "bgColor = Simulink.Root.ColorString2Rgb(get_param(gcbh, 'BackgroundColor')); image(imread('p" - "rivate/eml_membrane_16.png','png','BackgroundColor',bgColor(1:3)),'center'); disp([10 10 'Constraint']);" - MaskIconFrame on - MaskIconOpaque off - MaskIconRotate "none" - MaskPortRotate "default" - MaskIconUnits "normalized" - System { - Name "Constraint" - Location [223, 338, 826, 833] - Open off - ModelBrowserVisibility off - ModelBrowserWidth 200 - ScreenColor "white" - PaperOrientation "landscape" - PaperPositionMode "auto" - PaperType "usletter" - PaperUnits "inches" - TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] - TiledPageScale 1 - ShowPageBoundaries off - ZoomFactor "100" - SIDHighWatermark "29" - Block { - BlockType Inport - Name "time" - SID "869::23" - Position [20, 101, 40, 119] - ZOrder 9 - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "all_done" - SID "869::24" - Position [20, 136, 40, 154] - ZOrder 10 - Port "2" - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "timeAfterExp" - SID "869::26" - Position [20, 171, 40, 189] - ZOrder 11 - Port "3" - IconDisplay "Port number" - } - Block { - BlockType Demux - Name " Demux " - SID "869::28" - Ports [1, 1] - Position [270, 230, 320, 270] - ZOrder 13 - Outputs "1" - } - Block { - BlockType S-Function - Name " SFunction " - SID "869::27" - Tag "Stateflow S-Function ATlibrary_2012a 7" - Ports [3, 2] - Position [180, 100, 230, 180] - ZOrder 12 - FunctionName "sf_sfun" - PortCounts "[3 2]" - EnableBusSupport on - Port { - PortNumber 2 - Name "stop" - RTWStorageClass "Auto" - DataLoggingNameMode "SignalName" - } - } - Block { - BlockType Terminator - Name " Terminator " - SID "869::29" - Position [460, 241, 480, 259] - ZOrder 14 - } - Block { - BlockType Outport - Name "stop" - SID "869::5" - Position [460, 101, 480, 119] - ZOrder -7 - IconDisplay "Port number" - } - Line { - SrcBlock "time" - SrcPort 1 - DstBlock " SFunction " - DstPort 1 - } - Line { - SrcBlock "all_done" - SrcPort 1 - DstBlock " SFunction " - DstPort 2 - } - Line { - SrcBlock "timeAfterExp" - SrcPort 1 - DstBlock " SFunction " - DstPort 3 - } - Line { - Name "stop" - Labels [0, 0] - SrcBlock " SFunction " - SrcPort 2 - DstBlock "stop" - DstPort 1 - } - Line { - SrcBlock " Demux " - SrcPort 1 - DstBlock " Terminator " - DstPort 1 - } - Line { - SrcBlock " SFunction " - SrcPort 1 - Points [20, 0] - DstBlock " Demux " - DstPort 1 - } - } - } - Block { - BlockType DigitalClock - Name "Digital Clock" - SID "870" - Position [15, 203, 80, 227] - ZOrder -8 - SampleTime "simopt.h" - } - Block { - BlockType Constant - Name "Relay_parameters" - SID "871" - Position [30, 25, 60, 55] - ZOrder -4 - Value "[params.eps, params.gamma, simopt.h, params.low_limit, params.dev_limit, 1 , params.uon, params.h" - "yst, params.noiseMeasureTime, 1, params.gamma2, params.switches, params.ystep, params.ustep]" - SampleTime "simopt.h" - } - Block { - BlockType Stop - Name "Stop Simulation" - SID "872" - Position [805, 377, 840, 413] - ZOrder -4 - } - Block { - BlockType Switch - Name "Switch" - SID "873" - Position [730, 175, 780, 215] - ZOrder 62 - Criteria "u2 ~= 0" - InputSameDT off - SaturateOnIntegerOverflow off - } - Block { - BlockType SubSystem - Name "relay_exp\n" - SID "874" - Ports [5, 3] - Position [480, 22, 635, 158] - ZOrder 3 - LibraryVersion "1.32" - ErrorFcn "Stateflow.Translate.translate" - PermitHierarchicalResolution "ExplicitOnly" - TreatAsAtomicUnit on - MinAlgLoopOccurrences off - PropExecContextOutsideSubsystem off - SystemSampleTime "simopt.h" - RTWSystemCode "Auto" - FunctionWithSeparateData off - Opaque off - RequestExecContextInheritance off - MaskHideContents off - SFBlockType "MATLAB Function" - MaskType "Stateflow" - MaskDescription "Embedded MATLAB block" - MaskSelfModifiable on - MaskDisplay "bgColor = Simulink.Root.ColorString2Rgb(get_param(gcbh, 'BackgroundColor')); image(imread('p" - "rivate/eml_membrane_16.png','png','BackgroundColor',bgColor(1:3)),'center'); disp([10 10 'relay_exp']);" - MaskIconFrame on - MaskIconOpaque off - MaskIconRotate "none" - MaskPortRotate "default" - MaskIconUnits "normalized" - System { - Name "relay_exp\n" - Location [189, 219, 840, 949] - Open off - ModelBrowserVisibility off - ModelBrowserWidth 200 - ScreenColor "white" - PaperOrientation "landscape" - PaperPositionMode "auto" - PaperType "usletter" - PaperUnits "inches" - TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] - TiledPageScale 1 - ShowPageBoundaries off - ZoomFactor "100" - SIDHighWatermark "41" - Block { - BlockType Inport - Name "relay_par" - SID "874::36" - Position [20, 101, 40, 119] - ZOrder 21 - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "e" - SID "874::23" - Position [20, 136, 40, 154] - ZOrder 9 - Port "2" - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "t" - SID "874::28" - Position [20, 171, 40, 189] - ZOrder 14 - Port "3" - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "u_ref" - SID "874::37" - Position [20, 206, 40, 224] - ZOrder 22 - Port "4" - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "run_exp" - SID "874::31" - Position [20, 246, 40, 264] - ZOrder 17 - Port "5" - IconDisplay "Port number" - } - Block { - BlockType Demux - Name " Demux " - SID "874::40" - Ports [1, 1] - Position [270, 245, 320, 285] - ZOrder 25 - Outputs "1" - } - Block { - BlockType S-Function - Name " SFunction " - SID "874::39" - Tag "Stateflow S-Function ATlibrary_2012a 8" - Ports [5, 4] - Position [180, 100, 230, 220] - ZOrder 24 - FunctionName "sf_sfun" - PortCounts "[5 4]" - EnableBusSupport on - Port { - PortNumber 2 - Name "result" - RTWStorageClass "Auto" - DataLoggingNameMode "SignalName" - } - Port { - PortNumber 3 - Name "u" - RTWStorageClass "Auto" - DataLoggingNameMode "SignalName" - } - Port { - PortNumber 4 - Name "done" - RTWStorageClass "Auto" - DataLoggingNameMode "SignalName" - } - } - Block { - BlockType Terminator - Name " Terminator " - SID "874::41" - Position [460, 256, 480, 274] - ZOrder 26 - } - Block { - BlockType Outport - Name "result" - SID "874::38" - Position [460, 101, 480, 119] - ZOrder 23 - IconDisplay "Port number" - } - Block { - BlockType Outport - Name "u" - SID "874::27" - Position [460, 136, 480, 154] - ZOrder 13 - Port "2" - IconDisplay "Port number" - } - Block { - BlockType Outport - Name "done" - SID "874::32" - Position [460, 171, 480, 189] - ZOrder 18 - Port "3" - IconDisplay "Port number" - } - Line { - SrcBlock "relay_par" - SrcPort 1 - DstBlock " SFunction " - DstPort 1 - } - Line { - SrcBlock "e" - SrcPort 1 - DstBlock " SFunction " - DstPort 2 - } - Line { - SrcBlock "t" - SrcPort 1 - DstBlock " SFunction " - DstPort 3 - } - Line { - SrcBlock "u_ref" - SrcPort 1 - DstBlock " SFunction " - DstPort 4 - } - Line { - SrcBlock "run_exp" - SrcPort 1 - DstBlock " SFunction " - DstPort 5 - } - Line { - Name "result" - Labels [0, 0] - SrcBlock " SFunction " - SrcPort 2 - DstBlock "result" - DstPort 1 - } - Line { - Name "u" - Labels [0, 0] - SrcBlock " SFunction " - SrcPort 3 - DstBlock "u" - DstPort 1 - } - Line { - Name "done" - Labels [0, 0] - SrcBlock " SFunction " - SrcPort 4 - DstBlock "done" - DstPort 1 - } - Line { - SrcBlock " Demux " - SrcPort 1 - DstBlock " Terminator " - DstPort 1 - } - Line { - SrcBlock " SFunction " - SrcPort 1 - DstBlock " Demux " - DstPort 1 - } - } - } - Block { - BlockType Constant - Name "timeAfterExp" - SID "875" - Position [585, 410, 615, 440] - ZOrder -4 - Value "params.timeAfterExp" - } - Block { - BlockType Outport - Name "u" - SID "876" - Position [835, 188, 865, 202] - ZOrder 4 - IconDisplay "Port number" - } - Block { - BlockType Outport - Name "done" - SID "877" - Position [830, 113, 860, 127] - ZOrder 4 - Port "2" - IconDisplay "Port number" - } - Block { - BlockType Outport - Name "result1" - SID "878" - Position [705, 38, 735, 52] - ZOrder 119 - Port "3" - IconDisplay "Port number" - } - Line { - SrcBlock "Switch" - SrcPort 1 - DstBlock "u" - DstPort 1 - } - Line { - SrcBlock "Relay_parameters" - SrcPort 1 - DstBlock "relay_exp\n" - DstPort 1 - } - Line { - SrcBlock "relay_exp\n" - SrcPort 2 - Points [75, 0] - DstBlock "Switch" - DstPort 1 - } - Line { - SrcBlock "Compare\nTo Constant" - SrcPort 1 - Points [60, 0; 0, -19] - Branch { - Points [250, 0] - DstBlock "Switch" - DstPort 2 - } - Branch { - DstBlock "relay_exp\n" - DstPort 5 - } - } - Line { - SrcBlock "Constant" - SrcPort 1 - Points [90, 0] - Branch { - Points [0, -165] - DstBlock "relay_exp\n" - DstPort 4 - } - Branch { - Points [127, 0; 0, -70] - DstBlock "Switch" - DstPort 3 - } - } - Line { - SrcBlock "e" - SrcPort 1 - Points [142, 0; 0, -90] - DstBlock "relay_exp\n" - DstPort 2 - } - Line { - SrcBlock "Digital Clock" - SrcPort 1 - Points [30, 0] - Branch { - Points [205, 0] - Branch { - Points [0, -124] - DstBlock "relay_exp\n" - DstPort 3 - } - Branch { - DstBlock "Compare\nTo Constant" - DstPort 1 - } - } - Branch { - Points [0, 165] - DstBlock "Constraint" - DstPort 1 - } - } - Line { - SrcBlock "Constraint" - SrcPort 1 - DstBlock "Stop Simulation" - DstPort 1 - } - Line { - SrcBlock "AND" - SrcPort 1 - Points [14, 0; 0, -60] - DstBlock "Constraint" - DstPort 2 - } - Line { - SrcBlock "other_done" - SrcPort 1 - DstBlock "AND" - DstPort 1 - } - Line { - SrcBlock "relay_exp\n" - SrcPort 3 - Points [0, 10; 18, 0] - Branch { - Points [0, 180; -556, 0; 0, 135] - DstBlock "AND" - DstPort 2 - } - Branch { - Points [157, 0] - DstBlock "done" - DstPort 1 - } - } - Line { - SrcBlock "timeAfterExp" - SrcPort 1 - Points [25, 0; 0, -15] - DstBlock "Constraint" - DstPort 3 - } - Line { - SrcBlock "relay_exp\n" - SrcPort 1 - DstBlock "result1" - DstPort 1 - } - } - } - Block { - BlockType SubSystem - Name "Autotuner2" - SID "879" - Ports [2, 3] - Position [255, 189, 355, 231] - ZOrder 64 - MinAlgLoopOccurrences off - PropExecContextOutsideSubsystem off - RTWSystemCode "Auto" - FunctionWithSeparateData off - Opaque off - RequestExecContextInheritance off - MaskHideContents off - System { - Name "Autotuner2" - Location [118, 348, 1160, 1227] - Open off - ModelBrowserVisibility off - ModelBrowserWidth 200 - ScreenColor "white" - PaperOrientation "landscape" - PaperPositionMode "auto" - PaperType "usletter" - PaperUnits "inches" - TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] - TiledPageScale 1 - ShowPageBoundaries off - ZoomFactor "80" - Block { - BlockType Inport - Name "e" - SID "880" - Position [30, 148, 60, 162] - ZOrder -1 - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "other_done" - SID "881" - Position [35, 413, 65, 427] - ZOrder -1 - Port "2" - IconDisplay "Port number" - } - Block { - BlockType Product - Name "AND" - SID "882" - Ports [2, 1] - Position [110, 412, 140, 443] - ZOrder -13 - InputSameDT off - OutDataTypeStr "Inherit: Inherit via internal rule" - SaturateOnIntegerOverflow off - } - Block { - BlockType Reference - Name "Compare\nTo Constant" - SID "883" - Ports [1, 1] - Position [370, 200, 400, 230] - ZOrder 120 - LibraryVersion "1.260" - SourceBlock "simulink/Logic and Bit\nOperations/Compare\nTo Constant" - SourceType "Compare To Constant" - relop ">=" - const "params.expStartTime" - OutDataTypeStr "boolean" - ZeroCross on - } - Block { - BlockType Constant - Name "Constant" - SID "884" - Position [315, 265, 345, 295] - ZOrder 119 - Value "params.ustart" - SampleTime "simopt.h" - } - Block { - BlockType SubSystem - Name "Constraint" - SID "885" - Ports [3, 1] - Position [675, 355, 745, 405] - ZOrder -4 - LibraryVersion "1.32" - ErrorFcn "Stateflow.Translate.translate" - PermitHierarchicalResolution "ExplicitOnly" - TreatAsAtomicUnit on - MinAlgLoopOccurrences off - PropExecContextOutsideSubsystem off - SystemSampleTime "simopt.h" - RTWSystemCode "Auto" - FunctionWithSeparateData off - Opaque off - RequestExecContextInheritance off - MaskHideContents off - SFBlockType "MATLAB Function" - MaskType "Stateflow" - MaskDescription "Embedded MATLAB block" - MaskSelfModifiable on - MaskDisplay "bgColor = Simulink.Root.ColorString2Rgb(get_param(gcbh, 'BackgroundColor')); image(imread('p" - "rivate/eml_membrane_16.png','png','BackgroundColor',bgColor(1:3)),'center'); disp([10 10 'Constraint']);" - MaskIconFrame on - MaskIconOpaque off - MaskIconRotate "none" - MaskPortRotate "default" - MaskIconUnits "normalized" - System { - Name "Constraint" - Location [223, 338, 826, 833] - Open off - ModelBrowserVisibility off - ModelBrowserWidth 200 - ScreenColor "white" - PaperOrientation "landscape" - PaperPositionMode "auto" - PaperType "usletter" - PaperUnits "inches" - TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] - TiledPageScale 1 - ShowPageBoundaries off - ZoomFactor "100" - SIDHighWatermark "29" - Block { - BlockType Inport - Name "time" - SID "885::23" - Position [20, 101, 40, 119] - ZOrder 9 - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "all_done" - SID "885::24" - Position [20, 136, 40, 154] - ZOrder 10 - Port "2" - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "timeAfterExp" - SID "885::26" - Position [20, 171, 40, 189] - ZOrder 11 - Port "3" - IconDisplay "Port number" - } - Block { - BlockType Demux - Name " Demux " - SID "885::28" - Ports [1, 1] - Position [270, 230, 320, 270] - ZOrder 13 - Outputs "1" - } - Block { - BlockType S-Function - Name " SFunction " - SID "885::27" - Tag "Stateflow S-Function ATlibrary_2012a 9" - Ports [3, 2] - Position [180, 100, 230, 180] - ZOrder 12 - FunctionName "sf_sfun" - PortCounts "[3 2]" - EnableBusSupport on - Port { - PortNumber 2 - Name "stop" - RTWStorageClass "Auto" - DataLoggingNameMode "SignalName" - } - } - Block { - BlockType Terminator - Name " Terminator " - SID "885::29" - Position [460, 241, 480, 259] - ZOrder 14 - } - Block { - BlockType Outport - Name "stop" - SID "885::5" - Position [460, 101, 480, 119] - ZOrder -7 - IconDisplay "Port number" - } - Line { - SrcBlock "time" - SrcPort 1 - DstBlock " SFunction " - DstPort 1 - } - Line { - SrcBlock "all_done" - SrcPort 1 - DstBlock " SFunction " - DstPort 2 - } - Line { - SrcBlock "timeAfterExp" - SrcPort 1 - DstBlock " SFunction " - DstPort 3 - } - Line { - Name "stop" - Labels [0, 0] - SrcBlock " SFunction " - SrcPort 2 - DstBlock "stop" - DstPort 1 - } - Line { - SrcBlock " Demux " - SrcPort 1 - DstBlock " Terminator " - DstPort 1 - } - Line { - SrcBlock " SFunction " - SrcPort 1 - Points [20, 0] - DstBlock " Demux " - DstPort 1 - } - } - } - Block { - BlockType DigitalClock - Name "Digital Clock" - SID "886" - Position [15, 203, 80, 227] - ZOrder -8 - SampleTime "simopt.h" - } - Block { - BlockType Constant - Name "Relay_parameters" - SID "887" - Position [30, 25, 60, 55] - ZOrder -4 - Value "[params.eps,params.gamma, simopt.h,params.low_limit,params.dev_limit,1,params.uon,params.hyst,par" - "ams.noiseMeasureTime,1,params.gamma2,params.switches,params.ystep,params.ustep]" - SampleTime "simopt.h" - } - Block { - BlockType Scope - Name "Scope" - SID "888" - Ports [1] - Position [795, 279, 825, 311] - ZOrder 54 - Floating off - Location [773, 742, 1350, 1166] - Open off - NumInputPorts "1" - ZoomMode "xonly" - List { - ListType AxesTitles - axes1 "%<SignalLabel>" - } - List { - ListType ScopeGraphics - FigureColor "[0.156862745098039 0.156862745098039 0.156862745098039]" - AxesColor "[0 0 0]" - AxesTickColor "[0.686274509803922 0.686274509803922 0.686274509803922]" - LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" - LineStyles "-|-|-|-|-|-" - LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" - MarkerStyles "none|none|none|none|none|none" - } - ShowLegends off - YMin "-2" - YMax "10" - SaveName "ScopeData1" - DataFormat "StructureWithTime" - LimitDataPoints off - } - Block { - BlockType Stop - Name "Stop Simulation" - SID "889" - Position [795, 362, 830, 398] - ZOrder -4 - } - Block { - BlockType Switch - Name "Switch" - SID "890" - Position [730, 175, 780, 215] - ZOrder 62 - Criteria "u2 ~= 0" - InputSameDT off - SaturateOnIntegerOverflow off - } - Block { - BlockType SubSystem - Name "relay_exp\n" - SID "891" - Ports [5, 3] - Position [480, 22, 635, 158] - ZOrder 3 - LibraryVersion "1.32" - ErrorFcn "Stateflow.Translate.translate" - PermitHierarchicalResolution "ExplicitOnly" - TreatAsAtomicUnit on - MinAlgLoopOccurrences off - PropExecContextOutsideSubsystem off - SystemSampleTime "simopt.h" - RTWSystemCode "Auto" - FunctionWithSeparateData off - Opaque off - RequestExecContextInheritance off - MaskHideContents off - SFBlockType "MATLAB Function" - MaskType "Stateflow" - MaskDescription "Embedded MATLAB block" - MaskSelfModifiable on - MaskDisplay "bgColor = Simulink.Root.ColorString2Rgb(get_param(gcbh, 'BackgroundColor')); image(imread('p" - "rivate/eml_membrane_16.png','png','BackgroundColor',bgColor(1:3)),'center'); disp([10 10 'relay_exp']);" - MaskIconFrame on - MaskIconOpaque off - MaskIconRotate "none" - MaskPortRotate "default" - MaskIconUnits "normalized" - System { - Name "relay_exp\n" - Location [189, 219, 840, 949] - Open off - ModelBrowserVisibility off - ModelBrowserWidth 200 - ScreenColor "white" - PaperOrientation "landscape" - PaperPositionMode "auto" - PaperType "usletter" - PaperUnits "inches" - TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] - TiledPageScale 1 - ShowPageBoundaries off - ZoomFactor "100" - SIDHighWatermark "41" - Block { - BlockType Inport - Name "relay_par" - SID "891::36" - Position [20, 101, 40, 119] - ZOrder 21 - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "e" - SID "891::23" - Position [20, 136, 40, 154] - ZOrder 9 - Port "2" - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "t" - SID "891::28" - Position [20, 171, 40, 189] - ZOrder 14 - Port "3" - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "u_ref" - SID "891::37" - Position [20, 206, 40, 224] - ZOrder 22 - Port "4" - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "run_exp" - SID "891::31" - Position [20, 246, 40, 264] - ZOrder 17 - Port "5" - IconDisplay "Port number" - } - Block { - BlockType Demux - Name " Demux " - SID "891::40" - Ports [1, 1] - Position [270, 245, 320, 285] - ZOrder 25 - Outputs "1" - } - Block { - BlockType S-Function - Name " SFunction " - SID "891::39" - Tag "Stateflow S-Function ATlibrary_2012a 10" - Ports [5, 4] - Position [180, 100, 230, 220] - ZOrder 24 - FunctionName "sf_sfun" - PortCounts "[5 4]" - EnableBusSupport on - Port { - PortNumber 2 - Name "result" - RTWStorageClass "Auto" - DataLoggingNameMode "SignalName" - } - Port { - PortNumber 3 - Name "u" - RTWStorageClass "Auto" - DataLoggingNameMode "SignalName" - } - Port { - PortNumber 4 - Name "done" - RTWStorageClass "Auto" - DataLoggingNameMode "SignalName" - } - } - Block { - BlockType Terminator - Name " Terminator " - SID "891::41" - Position [460, 256, 480, 274] - ZOrder 26 - } - Block { - BlockType Outport - Name "result" - SID "891::38" - Position [460, 101, 480, 119] - ZOrder 23 - IconDisplay "Port number" - } - Block { - BlockType Outport - Name "u" - SID "891::27" - Position [460, 136, 480, 154] - ZOrder 13 - Port "2" - IconDisplay "Port number" - } - Block { - BlockType Outport - Name "done" - SID "891::32" - Position [460, 171, 480, 189] - ZOrder 18 - Port "3" - IconDisplay "Port number" - } - Line { - SrcBlock "relay_par" - SrcPort 1 - DstBlock " SFunction " - DstPort 1 - } - Line { - SrcBlock "e" - SrcPort 1 - DstBlock " SFunction " - DstPort 2 - } - Line { - SrcBlock "t" - SrcPort 1 - DstBlock " SFunction " - DstPort 3 - } - Line { - SrcBlock "u_ref" - SrcPort 1 - DstBlock " SFunction " - DstPort 4 - } - Line { - SrcBlock "run_exp" - SrcPort 1 - DstBlock " SFunction " - DstPort 5 - } - Line { - Name "result" - Labels [0, 0] - SrcBlock " SFunction " - SrcPort 2 - DstBlock "result" - DstPort 1 - } - Line { - Name "u" - Labels [0, 0] - SrcBlock " SFunction " - SrcPort 3 - DstBlock "u" - DstPort 1 - } - Line { - Name "done" - Labels [0, 0] - SrcBlock " SFunction " - SrcPort 4 - DstBlock "done" - DstPort 1 - } - Line { - SrcBlock " Demux " - SrcPort 1 - DstBlock " Terminator " - DstPort 1 - } - Line { - SrcBlock " SFunction " - SrcPort 1 - DstBlock " Demux " - DstPort 1 - } - } - } - Block { - BlockType Constant - Name "timeAfterExp" - SID "892" - Position [545, 390, 575, 420] - ZOrder -4 - Value "params.timeAfterExp" - } - Block { - BlockType Outport - Name "u" - SID "893" - Position [835, 188, 865, 202] - ZOrder 4 - IconDisplay "Port number" - } - Block { - BlockType Outport - Name "done" - SID "894" - Position [830, 113, 860, 127] - ZOrder 4 - Port "2" - IconDisplay "Port number" - } - Block { - BlockType Outport - Name "result2" - SID "895" - Position [730, 38, 760, 52] - ZOrder 121 - Port "3" - IconDisplay "Port number" - } - Line { - SrcBlock "Switch" - SrcPort 1 - DstBlock "u" - DstPort 1 - } - Line { - SrcBlock "Relay_parameters" - SrcPort 1 - DstBlock "relay_exp\n" - DstPort 1 - } - Line { - SrcBlock "relay_exp\n" - SrcPort 2 - Points [75, 0] - DstBlock "Switch" - DstPort 1 - } - Line { - SrcBlock "e" - SrcPort 1 - Points [147, 0; 0, -90] - DstBlock "relay_exp\n" - DstPort 2 - } - Line { - SrcBlock "relay_exp\n" - SrcPort 1 - DstBlock "result2" - DstPort 1 - } - Line { - SrcBlock "Constraint" - SrcPort 1 - DstBlock "Stop Simulation" - DstPort 1 - } - Line { - SrcBlock "AND" - SrcPort 1 - Points [110, 0; 0, -50] - DstBlock "Constraint" - DstPort 2 - } - Line { - SrcBlock "other_done" - SrcPort 1 - DstBlock "AND" - DstPort 1 - } - Line { - SrcBlock "relay_exp\n" - SrcPort 3 - Points [0, 0] - Branch { - Points [0, 160] - Branch { - DstBlock "Scope" - DstPort 1 - } - Branch { - Points [0, 176; -551, 0; 0, -36] - DstBlock "AND" - DstPort 2 - } - } - Branch { - Points [0, -15] - DstBlock "done" - DstPort 1 - } - } - Line { - SrcBlock "timeAfterExp" - SrcPort 1 - Points [28, 0; 0, -10] - DstBlock "Constraint" - DstPort 3 - } - Line { - SrcBlock "Compare\nTo Constant" - SrcPort 1 - Points [60, 0; 0, -19] - Branch { - Points [250, 0] - DstBlock "Switch" - DstPort 2 - } - Branch { - DstBlock "relay_exp\n" - DstPort 5 - } - } - Line { - SrcBlock "Constant" - SrcPort 1 - Points [83, 0] - Branch { - Points [0, -165] - DstBlock "relay_exp\n" - DstPort 4 - } - Branch { - Points [134, 0; 0, -70] - DstBlock "Switch" - DstPort 3 - } - } - Line { - SrcBlock "Digital Clock" - SrcPort 1 - Points [30, 0] - Branch { - Points [205, 0] - Branch { - Points [0, -124] - Branch { - DstBlock "relay_exp\n" - DstPort 3 - } - Branch { - Points [155, -1] - } - } - Branch { - DstBlock "Compare\nTo Constant" - DstPort 1 - } - } - Branch { - Points [0, 150] - DstBlock "Constraint" - DstPort 1 - } - } - } - } - Block { - BlockType SubSystem - Name "Logger" - SID "896" - Ports [1] - Position [545, 141, 600, 179] - ZOrder 117 - MinAlgLoopOccurrences off - PropExecContextOutsideSubsystem off - RTWSystemCode "Auto" - FunctionWithSeparateData off - Opaque off - RequestExecContextInheritance off - MaskHideContents off - System { - Name "Logger" - Location [1911, 198, 2953, 1077] - Open off - ModelBrowserVisibility off - ModelBrowserWidth 200 - ScreenColor "white" - PaperOrientation "landscape" - PaperPositionMode "auto" - PaperType "usletter" - PaperUnits "inches" - TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] - TiledPageScale 1 - ShowPageBoundaries off - ZoomFactor "100" - Block { - BlockType Inport - Name "result" - SID "897" - Position [20, 43, 50, 57] - ZOrder 88 - IconDisplay "Port number" - SampleTime "simopt.h" - } - Block { - BlockType ToWorkspace - Name "Logger" - SID "898" - Ports [1] - Position [105, 35, 165, 65] - ZOrder 87 - VariableName "result" - MaxDataPoints "1" - SampleTime "simopt.h" - SaveFormat "Structure With Time" - } - Line { - SrcBlock "result" - SrcPort 1 - DstBlock "Logger" - DstPort 1 - } - } - } - Block { - BlockType Mux - Name "Mux" - SID "899" - Ports [2, 1] - Position [485, 141, 490, 179] - ZOrder 118 - ShowName off - Inputs "2" - DisplayOption "bar" - } - Block { - BlockType Outport - Name "u1" - SID "900" - Position [405, 103, 435, 117] - ZOrder -2 - IconDisplay "Port number" - } - Block { - BlockType Outport - Name "u2" - SID "901" - Position [405, 193, 435, 207] - ZOrder 4 - Port "2" - IconDisplay "Port number" - } - Line { - SrcBlock "Autotuner1" - SrcPort 2 - Points [10, 0; 0, 60; -120, 0] - DstBlock "Autotuner2" - DstPort 2 - } - Line { - SrcBlock "Autotuner2" - SrcPort 2 - Points [5, 0; 0, -50; -135, 0] - DstBlock "Autotuner1" - DstPort 2 - } - Line { - SrcBlock "Autotuner1" - SrcPort 1 - Points [9, 0; 0, 5] - DstBlock "u1" - DstPort 1 - } - Line { - SrcBlock "Autotuner2" - SrcPort 1 - Points [0, 5] - DstBlock "u2" - DstPort 1 - } - Line { - SrcBlock "e1" - SrcPort 1 - DstBlock "Autotuner1" - DstPort 1 - } - Line { - SrcBlock "e2" - SrcPort 1 - DstBlock "Autotuner2" - DstPort 1 - } - Line { - SrcBlock "Autotuner1" - SrcPort 3 - Points [73, 0; 0, 15] - DstBlock "Mux" - DstPort 1 - } - Line { - SrcBlock "Autotuner2" - SrcPort 3 - Points [100, 0; 0, -55] - DstBlock "Mux" - DstPort 2 - } - Line { - SrcBlock "Mux" - SrcPort 1 - DstBlock "Logger" - DstPort 1 - } - } - } - Block { - BlockType SubSystem - Name "tau_tuner" - SID "824" - Ports [1, 1] - Position [100, 39, 170, 81] - ZOrder 157 - BackgroundColor "lightBlue" - MinAlgLoopOccurrences off - PropExecContextOutsideSubsystem off - RTWSystemCode "Auto" - FunctionWithSeparateData off - Opaque off - RequestExecContextInheritance off - MaskHideContents off - System { - Name "tau_tuner" - Location [103, 95, 1243, 771] - Open off - ModelBrowserVisibility off - ModelBrowserWidth 200 - ScreenColor "white" - PaperOrientation "landscape" - PaperPositionMode "auto" - PaperType "usletter" - PaperUnits "inches" - TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] - TiledPageScale 1 - ShowPageBoundaries off - ZoomFactor "100" - Block { - BlockType Inport - Name "e" - SID "825" - Position [30, 148, 60, 162] - ZOrder -1 - IconDisplay "Port number" - SampleTime "simopt.h" - } - Block { - BlockType Clock - Name "Clock" - SID "826" - Position [15, 205, 35, 225] - ZOrder 6 - } - Block { - BlockType Reference - Name "Compare\nTo Constant1" - SID "827" - Ports [1, 1] - Position [280, 283, 375, 317] - ZOrder 118 - LibraryVersion "1.260" - SourceBlock "simulink/Logic and Bit\nOperations/Compare\nTo Constant" - SourceType "Compare To Constant" - relop ">=" - const "params.expStartTime" - OutDataTypeStr "boolean" - ZeroCross on - } - Block { - BlockType Constant - Name "ConstU1" - SID "828" - Position [315, 345, 345, 375] - ZOrder 117 - Value "params.ustart" - SampleTime "simopt.h" - } - Block { - BlockType SubSystem - Name "Constraint" - SID "829" - Ports [2, 1] - Position [675, 562, 780, 613] - ZOrder -4 - LibraryVersion "1.32" - ErrorFcn "Stateflow.Translate.translate" - PermitHierarchicalResolution "ExplicitOnly" - TreatAsAtomicUnit on - MinAlgLoopOccurrences off - PropExecContextOutsideSubsystem off - RTWSystemCode "Auto" - FunctionWithSeparateData off - Opaque off - RequestExecContextInheritance off - MaskHideContents off - SFBlockType "MATLAB Function" - MaskType "Stateflow" - MaskDescription "Embedded MATLAB block" - MaskSelfModifiable on - MaskDisplay "bgColor = Simulink.Root.ColorString2Rgb(get_param(gcbh, 'BackgroundColor')); image(imread('private/" - "eml_membrane_16.png','png','BackgroundColor',bgColor(1:3)),'center'); disp([10 10 'Constraint']);" - MaskIconFrame on - MaskIconOpaque off - MaskIconRotate "none" - MaskPortRotate "default" - MaskIconUnits "normalized" - System { - Name "Constraint" - Location [223, 338, 826, 833] - Open off - ModelBrowserVisibility off - ModelBrowserWidth 200 - ScreenColor "white" - PaperOrientation "landscape" - PaperPositionMode "auto" - PaperType "usletter" - PaperUnits "inches" - TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] - TiledPageScale 1 - ShowPageBoundaries off - ZoomFactor "100" - SIDHighWatermark "27" - Block { - BlockType Inport - Name "time" - SID "829::23" - Position [20, 101, 40, 119] - ZOrder 9 - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "done" - SID "829::24" - Position [20, 136, 40, 154] - ZOrder 10 - Port "2" - IconDisplay "Port number" - } - Block { - BlockType Demux - Name " Demux " - SID "829::26" - Ports [1, 1] - Position [270, 230, 320, 270] - ZOrder 12 - Outputs "1" - } - Block { - BlockType S-Function - Name " SFunction " - SID "829::25" - Tag "Stateflow S-Function ATlibrary_2012a 5" - Ports [2, 2] - Position [180, 100, 230, 160] - ZOrder 11 - FunctionName "sf_sfun" - PortCounts "[2 2]" - EnableBusSupport on - Port { - PortNumber 2 - Name "stop" - RTWStorageClass "Auto" - DataLoggingNameMode "SignalName" - } - } - Block { - BlockType Terminator - Name " Terminator " - SID "829::27" - Position [460, 241, 480, 259] - ZOrder 13 - } - Block { - BlockType Outport - Name "stop" - SID "829::5" - Position [460, 101, 480, 119] - ZOrder -6 - IconDisplay "Port number" - } - Line { - SrcBlock "time" - SrcPort 1 - Points [120, 0] - DstBlock " SFunction " - DstPort 1 - } - Line { - SrcBlock "done" - SrcPort 1 - DstBlock " SFunction " - DstPort 2 - } - Line { - Name "stop" - Labels [0, 0] - SrcBlock " SFunction " - SrcPort 2 - DstBlock "stop" - DstPort 1 - } - Line { - SrcBlock " Demux " - SrcPort 1 - DstBlock " Terminator " - DstPort 1 - } - Line { - SrcBlock " SFunction " - SrcPort 1 - DstBlock " Demux " - DstPort 1 - } - } - } - Block { - BlockType SubSystem - Name "Logger" - SID "830" - Ports [1] - Position [750, 21, 805, 59] - ZOrder 93 - MinAlgLoopOccurrences off - PropExecContextOutsideSubsystem off - RTWSystemCode "Auto" - FunctionWithSeparateData off - Opaque off - RequestExecContextInheritance off - MaskHideContents off - System { - Name "Logger" - Location [702, 184, 1771, 1063] - Open off - ModelBrowserVisibility off - ModelBrowserWidth 200 - ScreenColor "white" - PaperOrientation "landscape" - PaperPositionMode "auto" - PaperType "usletter" - PaperUnits "inches" - TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] - TiledPageScale 1 - ShowPageBoundaries off - ZoomFactor "100" - Block { - BlockType Inport - Name "result" - SID "831" - Position [20, 43, 50, 57] - ZOrder 88 - IconDisplay "Port number" - SampleTime "simopt.h" - } - Block { - BlockType ToWorkspace - Name "Logger" - SID "832" - Ports [1] - Position [105, 35, 165, 65] - ZOrder 87 - VariableName "result" - MaxDataPoints "1" - SampleTime "simopt.h" - SaveFormat "Structure With Time" - } - Line { - SrcBlock "result" - SrcPort 1 - DstBlock "Logger" - DstPort 1 - } - } - } - Block { - BlockType Mux - Name "Mux" - SID "833" - Ports [4, 1] - Position [160, 101, 165, 139] - ZOrder 74 - ShowName off - DisplayOption "bar" - } - Block { - BlockType Constant - Name "PID_parameters" - SID "834" - Position [30, 315, 60, 345] - ZOrder -4 - Value "[params.h, params.equi] " - SampleTime "simopt.h" - } - Block { - BlockType Constant - Name "Relay_parameters" - SID "835" - Position [30, 25, 60, 55] - ZOrder -4 - Value "[params.eps, params.asym, params.h, 2,12,1, params.uon,params.hyst,params.noiseMeasureTime, 0]" - SampleTime "simopt.h" - } - Block { - BlockType Scope - Name "Scope" - SID "836" - Ports [1] - Position [795, 489, 825, 521] - ZOrder 54 - Floating off - Location [920, 503, 1505, 917] - Open off - NumInputPorts "1" - List { - ListType AxesTitles - axes1 "%<SignalLabel>" - } - List { - ListType ScopeGraphics - FigureColor "[0.156862745098039 0.156862745098039 0.156862745098039]" - AxesColor "[0 0 0]" - AxesTickColor "[0.686274509803922 0.686274509803922 0.686274509803922]" - LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" - LineStyles "-|-|-|-|-|-" - LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" - MarkerStyles "none|none|none|none|none|none" - } - ShowLegends off - YMin "-1.00000" - YMax "1.00000" - SaveName "ScopeData1" - DataFormat "StructureWithTime" - LimitDataPoints off - } - Block { - BlockType Scope - Name "Scope1" - SID "837" - Ports [1] - Position [815, 94, 845, 126] - ZOrder 70 - Floating off - Location [1145, 775, 1738, 1179] - Open off - NumInputPorts "1" - List { - ListType AxesTitles - axes1 "%<SignalLabel>" - } - List { - ListType ScopeGraphics - FigureColor "[0.156862745098039 0.156862745098039 0.156862745098039]" - AxesColor "[0 0 0]" - AxesTickColor "[0.686274509803922 0.686274509803922 0.686274509803922]" - LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" - LineStyles "-|-|-|-|-|-" - LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" - MarkerStyles "none|none|none|none|none|none" - } - ShowLegends off - YMin "-1.25" - YMax "11.25" - SaveName "ScopeData2" - DataFormat "StructureWithTime" - LimitDataPoints off - } - Block { - BlockType Scope - Name "Scope2" - SID "838" - Ports [1] - Position [520, 234, 550, 266] - ZOrder 71 - Floating off - Location [664, 616, 1265, 1010] - Open off - NumInputPorts "1" - List { - ListType AxesTitles - axes1 "%<SignalLabel>" - } - List { - ListType ScopeGraphics - FigureColor "[0.156862745098039 0.156862745098039 0.156862745098039]" - AxesColor "[0 0 0]" - AxesTickColor "[0.686274509803922 0.686274509803922 0.686274509803922]" - LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" - LineStyles "-|-|-|-|-|-" - LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" - MarkerStyles "none|none|none|none|none|none" - } - ShowLegends off - YMin "-3.218" - YMax "-3.205" - SaveName "ScopeData3" - DataFormat "StructureWithTime" - LimitDataPoints off - } - Block { - BlockType Stop - Name "Stop Simulation" - SID "839" - Position [835, 572, 870, 608] - ZOrder -4 - } - Block { - BlockType Switch - Name "Switch" - SID "840" - Position [760, 185, 810, 225] - ZOrder 62 - Criteria "u2 ~= 0" - InputSameDT off - SaturateOnIntegerOverflow off - } - Block { - BlockType ToWorkspace - Name "To Workspace1" - SID "841" - Ports [1] - Position [235, 145, 295, 175] - ZOrder 73 - VariableName "result1" - MaxDataPoints "50" - SampleTime "-1" - SaveFormat "Timeseries" - } - Block { - BlockType SubSystem - Name "relay_exp\n" - SID "842" - Ports [5, 4] - Position [480, 22, 635, 158] - ZOrder 3 - LibraryVersion "1.32" - ErrorFcn "Stateflow.Translate.translate" - PermitHierarchicalResolution "ExplicitOnly" - TreatAsAtomicUnit on - MinAlgLoopOccurrences off - PropExecContextOutsideSubsystem off - RTWSystemCode "Auto" - FunctionWithSeparateData off - Opaque off - RequestExecContextInheritance off - MaskHideContents off - SFBlockType "MATLAB Function" - MaskType "Stateflow" - MaskDescription "Embedded MATLAB block" - MaskSelfModifiable on - MaskDisplay "bgColor = Simulink.Root.ColorString2Rgb(get_param(gcbh, 'BackgroundColor')); image(imread('private/" - "eml_membrane_16.png','png','BackgroundColor',bgColor(1:3)),'center'); disp([10 10 'relay_exp']);" - MaskIconFrame on - MaskIconOpaque off - MaskIconRotate "none" - MaskPortRotate "default" - MaskIconUnits "normalized" - System { - Name "relay_exp\n" - Location [189, 219, 840, 949] - Open off - ModelBrowserVisibility off - ModelBrowserWidth 200 - ScreenColor "white" - PaperOrientation "landscape" - PaperPositionMode "auto" - PaperType "usletter" - PaperUnits "inches" - TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] - TiledPageScale 1 - ShowPageBoundaries off - ZoomFactor "100" - SIDHighWatermark "41" - Block { - BlockType Inport - Name "relay_par" - SID "842::36" - Position [20, 101, 40, 119] - ZOrder 21 - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "e" - SID "842::23" - Position [20, 136, 40, 154] - ZOrder 9 - Port "2" - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "t" - SID "842::28" - Position [20, 171, 40, 189] - ZOrder 14 - Port "3" - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "u_ref" - SID "842::37" - Position [20, 206, 40, 224] - ZOrder 22 - Port "4" - IconDisplay "Port number" - } - Block { - BlockType Inport - Name "run_exp" - SID "842::31" - Position [20, 246, 40, 264] - ZOrder 17 - Port "5" - IconDisplay "Port number" - } - Block { - BlockType Demux - Name " Demux " - SID "842::40" - Ports [1, 1] - Position [270, 280, 320, 320] - ZOrder 25 - Outputs "1" - } - Block { - BlockType S-Function - Name " SFunction " - SID "842::39" - Tag "Stateflow S-Function ATlibrary_2012a 6" - Ports [5, 5] - Position [180, 100, 230, 220] - ZOrder 24 - FunctionName "sf_sfun" - PortCounts "[5 5]" - EnableBusSupport on - Port { - PortNumber 2 - Name "result" - RTWStorageClass "Auto" - DataLoggingNameMode "SignalName" - } - Port { - PortNumber 3 - Name "u" - RTWStorageClass "Auto" - DataLoggingNameMode "SignalName" - } - Port { - PortNumber 4 - Name "PID_param" - RTWStorageClass "Auto" - DataLoggingNameMode "SignalName" - } - Port { - PortNumber 5 - Name "done" - RTWStorageClass "Auto" - DataLoggingNameMode "SignalName" - } - } - Block { - BlockType Terminator - Name " Terminator " - SID "842::41" - Position [460, 291, 480, 309] - ZOrder 26 - } - Block { - BlockType Outport - Name "result" - SID "842::38" - Position [460, 101, 480, 119] - ZOrder 23 - IconDisplay "Port number" - } - Block { - BlockType Outport - Name "u" - SID "842::27" - Position [460, 136, 480, 154] - ZOrder 13 - Port "2" - IconDisplay "Port number" - } - Block { - BlockType Outport - Name "PID_param" - SID "842::34" - Position [460, 171, 480, 189] - ZOrder 20 - Port "3" - IconDisplay "Port number" - } - Block { - BlockType Outport - Name "done" - SID "842::32" - Position [460, 206, 480, 224] - ZOrder 18 - Port "4" - IconDisplay "Port number" - } - Line { - SrcBlock "relay_par" - SrcPort 1 - DstBlock " SFunction " - DstPort 1 - } - Line { - SrcBlock "e" - SrcPort 1 - DstBlock " SFunction " - DstPort 2 - } - Line { - SrcBlock "t" - SrcPort 1 - DstBlock " SFunction " - DstPort 3 - } - Line { - SrcBlock "u_ref" - SrcPort 1 - DstBlock " SFunction " - DstPort 4 - } - Line { - SrcBlock "run_exp" - SrcPort 1 - DstBlock " SFunction " - DstPort 5 - } - Line { - Name "result" - Labels [0, 0] - SrcBlock " SFunction " - SrcPort 2 - Points [0, -25] - DstBlock "result" - DstPort 1 - } - Line { - Name "u" - Labels [0, 0] - SrcBlock " SFunction " - SrcPort 3 - DstBlock "u" - DstPort 1 - } - Line { - Name "PID_param" - Labels [0, 0] - SrcBlock " SFunction " - SrcPort 4 - DstBlock "PID_param" - DstPort 1 - } - Line { - Name "done" - Labels [0, 0] - SrcBlock " SFunction " - SrcPort 5 - DstBlock "done" - DstPort 1 - } - Line { - SrcBlock " Demux " - SrcPort 1 - DstBlock " Terminator " - DstPort 1 - } - Line { - SrcBlock " SFunction " - SrcPort 1 - DstBlock " Demux " - DstPort 1 - } - } - } - Block { - BlockType Outport - Name "u" - SID "843" - Position [835, 198, 865, 212] - ZOrder 4 - IconDisplay "Port number" - SampleTime "simopt.h" - } - Line { - SrcBlock "Mux" - SrcPort 1 - Points [30, 0; 0, 40] - DstBlock "To Workspace1" - DstPort 1 - } - Line { - SrcBlock "Switch" - SrcPort 1 - DstBlock "u" - DstPort 1 - } - Line { - SrcBlock "e" - SrcPort 1 - Points [22, 0; 0, -90; 16, 0] - Branch { - DstBlock "relay_exp\n" - DstPort 2 - } - Branch { - Points [0, 50] - DstBlock "Mux" - DstPort 2 - } - } - Line { - SrcBlock "Relay_parameters" - SrcPort 1 - Points [73, 0] - Branch { - DstBlock "relay_exp\n" - DstPort 1 - } - Branch { - Points [0, 65] - DstBlock "Mux" - DstPort 1 - } - } - Line { - SrcBlock "PID_parameters" - SrcPort 1 - Points [31, 0; 0, -195] - DstBlock "Mux" - DstPort 4 - } - Line { - SrcBlock "relay_exp\n" - SrcPort 2 - Points [78, 0; 0, 115] - DstBlock "Switch" - DstPort 1 - } - Line { - SrcBlock "Compare\nTo Constant1" - SrcPort 1 - Points [85, 0; 0, -45] - Branch { - Points [0, -5] - DstBlock "Scope2" - DstPort 1 - } - Branch { - Points [0, -50] - Branch { - DstBlock "relay_exp\n" - DstPort 5 - } - Branch { - DstBlock "Switch" - DstPort 2 - } - } - } - Line { - SrcBlock "ConstU1" - SrcPort 1 - Points [45, 0; 0, -25; 20, 0] - Branch { - Points [0, -220] - DstBlock "relay_exp\n" - DstPort 4 - } - Branch { - Points [305, 0; 0, -115] - DstBlock "Switch" - DstPort 3 - } - } - Line { - SrcBlock "relay_exp\n" - SrcPort 4 - Points [14, 0; 1, 271; -265, -1; 0, 185; 215, 0] - Branch { - DstBlock "Constraint" - DstPort 2 - } - Branch { - Points [0, -95] - DstBlock "Scope" - DstPort 1 - } - } - Line { - SrcBlock "Clock" - SrcPort 1 - Points [75, 0] - Branch { - Points [20, 0] - Branch { - Points [100, 0] - Branch { - Points [0, 85] - DstBlock "Compare\nTo Constant1" - DstPort 1 - } - Branch { - Points [85, 0; 0, -124] - DstBlock "relay_exp\n" - DstPort 3 - } - } - Branch { - Points [0, -90] - DstBlock "Mux" - DstPort 3 - } - } - Branch { - Points [0, 360] - DstBlock "Constraint" - DstPort 1 - } - } - Line { - SrcBlock "relay_exp\n" - SrcPort 3 - DstBlock "Scope1" - DstPort 1 - } - Line { - SrcBlock "relay_exp\n" - SrcPort 1 - DstBlock "Logger" - DstPort 1 - } - Line { - SrcBlock "Constraint" - SrcPort 1 - DstBlock "Stop Simulation" - DstPort 1 - } - } - } - } -} -# Finite State Machines -# -# Stateflow Version 7.6 (R2011b) dated Jan 25 2012, 13:50:40 -# -# - - -Stateflow { - machine { - id 1 - name "ATlibrary_2012a" - created "26-Apr-2017 11:16:05" - isLibrary 0 - firstTarget 79 - sfVersion 76014001.00040001 - } - chart { - id 2 - name "NOMAD/relay_exp\n" - windowPosition [404.686 -55 429 739.2] - viewLimits [0 319.2 0 430.6] - screen [1 1 1280 1024 1.25] - treeNode [0 3 0 0] - firstTransition 5 - firstJunction 4 - viewObj 2 - machine 1 - ssIdHighWaterMark 21 - decomposition CLUSTER_CHART - type EML_CHART - firstData 6 - chartFileNumber 1 - disableImplicitCasting 1 - eml { - name "relay_function" - } - } - state { - id 3 - labelString "eML_blk_kernel()" - position [18 64.5 118 66] - fontSize 12 - chart 2 - treeNode [2 0 0 0] - superState SUBCHART - subviewer 2 - ssIdNumber 1 - type FUNC_STATE - decomposition CLUSTER_STATE - eml { - isEML 1 - script "function [result, u] = relay_function(relay_par, e, u0, run_exp)\n\n%%%%%%%%%% Definitions and de" - "fault values %%%%%%%%%%%%%%\ny=-e;\n% Relay parameters, values from workspace.\npersistent d1 d2 u_on u_off h\ng" - "amma = relay_par(1);\nt_sample = relay_par(2);\nbigYup = relay_par(3);\nrelayMaxDev = relay_par(4);\ndef_h = rel" - "ay_par(5);\nnoiseMeasureTime = relay_par(6);\n\npersistent yref uref\nif isempty(d2)\n h=def_h;\n % These " - "values are re-assigned later in the program so they won't be\n % used. But they are assigned in an if-stateme" - "nt so the program doesn't\n % understand that they will always be assigned before they are used.\n d1 = ga" - "mma;\n d2 = 1;\n u_on = d1;\n u_off = -d2;\n uref = u0;\n yref = 0;\nend\n\npersistent u_old sta" - "rtup Ksign\nif isempty(u_old)\n u_old = uref;\n Ksign = 1; % Will be re-assigned during the startup phase\n" - "end\n\npersistent sample\nif isempty(sample)\n sample = 0;\nend\n\n\n%%%%%%%%% Startup params %%%%%%%%%%%\np" - "ersistent a b c tff exp_t yh yl measureNoise first\nif isempty(startup)\n tff = 1/t_sample; % Usually 5 but t" - "o not make the startup phase a too large part of the id data in the ETFA paper we decreased it! Want the ramp-up" - " to be a certain time, according to Tore about 3-5s \n b = 40;\n c = relayMaxDev/(b-1);\n a = uref-c;\n" - " measureNoise = 1;\n startup = 0;\n yh = 0;\n yl = 0;\n first = true;\nend\n%%%%%%%%%%%%%%%%%%%%%" - "%%%%%%%%%%%%%%%%%%%%%%%%%\n\nif run_exp == 0\n u = 0;\n result = [0 0 0];\n return\nend\n\n\n%%%%%%%%%%" - "%%% Program running %%%%%%%%%%%%%%%%%\n\nsample = sample+1;\nif sample > 1\nend\n\n% %%%%%%%%% Startup %%%%%%%%%" - "%%%\n if measureNoise == 1\n if first \n uref = u0;\n yref = y;\n first = false;\n " - " yh = yref;\n yl = yref;\n end\n u = uref;\n if sample < noiseMeasureTime/t_sample\n yh " - "= max(yh,y);\n yl = min(yl,y);\n else\n noise = (yh-yl)/2;\n yref = (yh+yl)/2;\n " - "h = max(2*noise, def_h);\n measureNoise = 0;\n startup = 1;\n end\n elseif startup == 1\n ex" - "p_t = sample-noiseMeasureTime/t_sample;\n a = uref-c;\n u = (a+c*b^(exp_t/tff));\n if abs(u) > " - "relayMaxDev+uref\n u = (relayMaxDev+uref);\n end\n if exp_t > 1\n ydev = y-y" - "ref; \n if abs(ydev) > h % reached outside hysteresis, stop and decide Ksign\n Ksign =" - " ydev/abs(ydev)\n if bigYup == 1\n %d1 = min(relayMaxDev, gamma*abs(u-uref));\n" - " d1 = min(relayMaxDev, abs(u-uref)); %could be a problem to have the large/small this way but" - " prefer it. \n d2 = d1/gamma;\n else\n %d2 = min(relayMaxDe" - "v, gamma*abs(u-uref));\n d2 = min(relayMaxDev, abs(u-uref));\n d1 = d2/gam" - "ma;\n end\n startup = 0;\n u_on = uref+Ksign*d1;\n u" - "_off = uref-Ksign*d2;\n if Ksign > 0\n u = u_off;\n else\n " - " u = u_on;\n end\n elseif exp_t > tff\n u = uref+relayMax" - "Dev;\n end\n end\n else\n %%%%%% Update amplitudes %%%%%%%\n u_on = uref+Ksign*d1;\n " - "u_off = uref-Ksign*d2;\n %%%%%% Calculate new u %%%%%%%%%\n if y <= yref-h\n u = u_on;\n elseif " - "y < yref+h && y > yref-h\n u = u_old;\n else u = u_off;\n end\n end\n%%%% store data %%%%%%\nu_old " - "= u;\nresult = [yref, uref, h];\n\n\n\n\n\n\n" - editorLayout "100 M4x1[10 5 700 500]" - } - } - junction { - id 4 - position [23.5747 49.5747 7] - chart 2 - linkNode [2 0 0] - subviewer 2 - ssIdNumber 3 - type CONNECTIVE_JUNCTION - } - transition { - id 5 - labelString "{eML_blk_kernel();}" - labelPosition [32.125 19.875 100.8 18.448] - fontSize 12 - src { - intersection [0 0 1 0 23.5747 14.625 0 0] - } - dst { - id 4 - intersection [1 0 -1 0 23.5747 42.5747 0 0] - } - midPoint [23.5747 24.9468] - chart 2 - linkNode [2 0 0] - dataLimits [23.575 23.575 14.625 34.575] - subviewer 2 - drawStyle SMART - slide { - sticky BOTH_STICK - } - executionOrder 1 - ssIdNumber 2 - } - data { - id 6 - ssIdNumber 19 - name "result" - linkNode [2 0 7] - scope OUTPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - isSigned 1 - wordLength "16" - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_NO - } - dataType "Inherit: Same as Simulink" - } - data { - id 7 - ssIdNumber 18 - name "relay_par" - linkNode [2 6 8] - scope INPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - isSigned 1 - wordLength "16" - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_INHERITED - } - dataType "Inherit: Same as Simulink" - } - data { - id 8 - ssIdNumber 8 - name "u" - linkNode [2 7 9] - scope OUTPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - isSigned 1 - wordLength "16" - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_NO - } - dataType "Inherit: Same as Simulink" - } - data { - id 9 - ssIdNumber 5 - name "e" - linkNode [2 8 10] - scope INPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_NO - } - dataType "Inherit: Same as Simulink" - } - data { - id 10 - ssIdNumber 21 - name "u0" - linkNode [2 9 11] - scope INPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - isSigned 1 - wordLength "16" - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_INHERITED - } - dataType "Inherit: Same as Simulink" - } - data { - id 11 - ssIdNumber 20 - name "run_exp" - linkNode [2 10 0] - scope INPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - isSigned 1 - wordLength "16" - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_INHERITED - } - dataType "Inherit: Same as Simulink" - } - instance { - id 12 - name "NOMAD/relay_exp\n" - machine 1 - chart 2 - } - chart { - id 13 - name "tau_tuner/Constraint" - windowPosition [492.889 250.2 211 434] - viewLimits [0 156.75 0 153.75] - screen [1 1 1280 1024 1.25] - treeNode [0 14 0 0] - firstTransition 16 - firstJunction 15 - viewObj 13 - machine 1 - ssIdHighWaterMark 7 - decomposition CLUSTER_CHART - type EML_CHART - firstData 17 - chartFileNumber 5 - disableImplicitCasting 1 - eml { - name "Constraint" - } - } - state { - id 14 - labelString "eML_blk_kernel()" - position [18 64.5 118 66] - fontSize 12 - chart 13 - treeNode [13 0 0 0] - superState SUBCHART - subviewer 13 - ssIdNumber 1 - type FUNC_STATE - decomposition CLUSTER_STATE - eml { - isEML 1 - script "%function stop = Constraint(tstop, time, done)\nfunction stop = Constraint(time, done)\n%#codegen" - "\npersistent tstopp\nif isempty(tstopp)\n tstopp = 10000;\nend\nif done == 1\n tstopp = time;\nend\nif tim" - "e > tstopp; %+params.timeAfterExp;\n stop = 1;\nelse\n stop = 0;\nend" - editorLayout "100 M4x1[10 5 700 500]" - } - } - junction { - id 15 - position [23.5747 49.5747 7] - chart 13 - linkNode [13 0 0] - subviewer 13 - ssIdNumber 3 - type CONNECTIVE_JUNCTION - } - transition { - id 16 - labelString "{eML_blk_kernel();}" - labelPosition [32.125 19.875 102.544 14.964] - fontSize 12 - src { - intersection [0 0 1 0 23.5747 14.625 0 0] - } - dst { - id 15 - intersection [1 0 -1 0 23.5747 42.5747 0 0] - } - midPoint [23.5747 24.9468] - chart 13 - linkNode [13 0 0] - dataLimits [23.575 23.575 14.625 34.575] - subviewer 13 - drawStyle SMART - slide { - sticky BOTH_STICK - } - executionOrder 1 - ssIdNumber 2 - } - data { - id 17 - ssIdNumber 5 - name "stop" - linkNode [13 0 18] - scope OUTPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_NO - } - dataType "Inherit: Same as Simulink" - } - data { - id 18 - ssIdNumber 6 - name "time" - linkNode [13 17 19] - scope INPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - isSigned 1 - wordLength "16" - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_INHERITED - } - dataType "Inherit: Same as Simulink" - } - data { - id 19 - ssIdNumber 7 - name "done" - linkNode [13 18 0] - scope INPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - isSigned 1 - wordLength "16" - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_INHERITED - } - dataType "Inherit: Same as Simulink" - } - instance { - id 20 - name "tau_tuner/Constraint" - machine 1 - chart 13 - } - chart { - id 21 - name "tau_tuner/relay_exp\n" - windowPosition [535.556 -55 429 739.2] - viewLimits [0 319.2 0 430.6] - screen [1 1 1280 1024 1.25] - treeNode [0 22 0 0] - firstTransition 24 - firstJunction 23 - viewObj 21 - machine 1 - ssIdHighWaterMark 17 - decomposition CLUSTER_CHART - type EML_CHART - firstData 25 - updateMethod DISCRETE - sampleTime "simopt.h" - chartFileNumber 6 - disableImplicitCasting 1 - eml { - name "relay_exp" - } - } - state { - id 22 - labelString "eML_blk_kernel()" - position [18 64.5 118 66] - fontSize 12 - chart 21 - treeNode [21 0 0 0] - superState SUBCHART - subviewer 21 - ssIdNumber 1 - type FUNC_STATE - decomposition CLUSTER_STATE - eml { - isEML 1 - script "function [result, u, PID_param, done]= relay_exp(relay_par, e,t, u_ref, run_exp)\n\n\n%%%%%%%%%% " - "Definitions and default values %%%%%%%%%%%%%%\ny = -e;\n% Relay parameters, values from workspace.\npersistent d" - "1 d2 u_on u_off h\nepsilon = relay_par(1);\ngamma = relay_par(2); \nt_sample = relay_par(3);\nlow_limit_f = rela" - "y_par(4);\nupp_limit_f = relay_par(5);\nbigYup = relay_par(6);\nrelayMaxDev = relay_par(7);\ndef_h = relay_par(8" - ");\nnoiseMeasureTime = relay_par(9);\nfixAmp = relay_par(10);\n\npersistent yref uref resultvec\nif isempty(d2)\n" - " h=def_h;\n % These values are assigned to their values later in the code, but in an if-statement\n % s" - "o the program doesn't understand that they will always be assigned. \n d1 = gamma;\n d2 = 1;\n u_on = " - "d1;\n u_off = -d2;\n uref = 0;\n yref = y;\n resultvec = zeros(22,1);\nend\n\n% Creating arrays for " - "data logging\nmaxlength = 1000000;\npersistent uvec yvec tvec \nif isempty(uvec)\n uvec = zeros(1,maxlength);" - "\n yvec = zeros(1,maxlength);\n tvec = zeros(1,maxlength);\nend\n\npersistent sample\nif isempty(sample)\n" - " sample = 0;\nend\n\npersistent startup Ksign startup_switch amp_changed\nif isempty(Ksign)\n Ksign = 1; %" - " Is found and assigned during the startup phase\n startup_switch = 0; \n amp_changed = 0;\nend\n\npersiste" - "nt param \nif isempty(param)\n param = [1, 10, 0]; % Should be an input somehow if an existing PID controller" - " is used first\nend\nPID_param = param; % Not allowed to have a persistent variable as output so had to do like " - "this\ndone = 0;\nfinished = false;\n\n% To handle switches\npersistent switching_times switch_index last_switch_" - "sample\nif isempty(switching_times)\n switching_times = zeros(1,100); % Larger than necessary\n switch_ind" - "ex = 1;\n last_switch_sample = 1;\nend\n\n%%%%%%%%% Startup params %%%%%%%%%%%\npersistent a b c ttf exp_t y" - "h yl measureNoise first\nif isempty(startup)\n uvec(1) = uref;\n yvec(1) = yref;\n tvec(1) = 0;\n tt" - "f = 5/t_sample; % Want to run the exponential growth for a certain time, not a number of samples. According to T" - "ore about 3-5s \n b = 40;\n c = relayMaxDev/(b-1);\n a = uvec(1)-c;\n measureNoise = 1;\n startup" - " = 0;\n yh = 0;\n yl = 0;\n first = true;\nend\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n\nresu" - "lt = resultvec;\nif run_exp == 0\n done = 0;\n u = 0;\n PID_param = param;\n return\nend\nif fixAmp " - "== 1\n d1 = upp_limit_f;\n d2 = low_limit_f;\nend\n%%%%%%%%%%%%% Program running %%%%%%%%%%%%%%%%%\nsample =" - " sample+1;\nif sample > 1\n yvec(sample-1) = y; % store inputs\n tvec(sample) = t;\nend\n\n%%%%%%%%% Startup %" - "%%%%%%%%%%%\nif measureNoise == 1\n if first \n uref = u_ref;\n yref = y;\n first = fals" - "e;\n yh = yref;\n yl = yref;\n end\n u = uref;\n if sample < noiseMeasureTime/t_sample\n " - " yh = max(yh,y);\n yl = min(yl,y);\n else\n resultvec(13) = yh;\n resultvec(14) = " - "yl;\n noise = (yh-yl)/2;\n yref = (yh+yl)/2;\n resultvec(15) = yref;\n resultvec(16)" - " = uref;\n h = max(2*noise, def_h);\n resultvec(12) = h;\n measureNoise = 0;\n start" - "up = 1;\n end\nelseif startup == 1\n exp_t = sample-noiseMeasureTime/t_sample; % this should be zero the f" - "irst sample\n a = uref-c;\n u = a+c*b^(exp_t/ttf);\n if u > relayMaxDev+uref\n u = r" - "elayMaxDev+uref;\n end\n if exp_t > 1\n ydev = y-yref; \n if abs(ydev) > h %" - " when reached outside hysteresis, stop and decide Ksign\n Ksign = ydev/abs(ydev)\n " - " if bigYup == 1\n d1 = min(relayMaxDev, gamma*abs(u-uref));\n d2 = d1/gamm" - "a;\n else\n d2 = min(relayMaxDev, gamma*abs(u-uref));\n d1 " - "= d2/gamma;\n end\n startup = 0;\n startup_switch = 1; % To not imm" - "ediately change the new amplitude.\n elseif exp_t > ttf\n u = uref+relayMaxDev;\n " - " end\n end\nelseif done == 0\n %%%%%% Update amplitudes %%%%%%%\n u_on = uref+Ksign*d1;\n " - "u_off = uref-Ksign*d2;\n %%%%%% Calculate new u %%%%%%%%%\n u = rel_func(y,uvec(sample-1),u_on, u_off,yref" - ",h);\nelse \n u = 0; % If the experiment aren't running no control signal should be calculated here\n % Th" - "is script shouldn't be running in those cases but somehow it seems\n % to do.\nend\n%%%% store data %%%%%%\nu" - "vec(sample) = u;\n\n%%%%%%% At switching points %%%%%%%\nif sample>1 && (uvec(sample)-uref)*(uvec(sample-1)-uref" - ") < 0\n switching_times(switch_index) = tvec(sample);\n low_limit = low_limit_f*h;\n upp_limit = upp_li" - "mit_f*h;\n ratio = check_amplitudes(yvec(last_switch_sample:sample-1)-yref, upp_limit, low_limit, gamma);\n " - " if fixAmp == 1\n ratio = 1;\n end\n if amp_changed == 1 % To not change two consecutive half peri" - "ods...\n ratio = 1;\n amp_changed = 0;\n end\n if (ratio > 1.01 || ratio < 0.99) && startup_" - "switch ~= 1 \n if max(d1,d2)*ratio > relayMaxDev\n if max(d1,d2) == relayMaxDev\n " - " ratio_forced = 1\n %ratio = 1;\n else\n ratio = relayMaxDev/max(d1,d" - "2);\n d1 = d1*ratio;\n d2 = d2*ratio;\n switch_index = 0; % to rese" - "t convergence checks if changed amplitude.\n amp_changed = 1;\n end\n \n " - " else\n d1 = d1*ratio;\n d2 = d2*ratio;\n switch_index = 0; % To reset conve" - "rgence checks if changed amplitude.\n amp_changed = 1;\n end\n if uvec(sample) == u_on\n " - " u = uref+Ksign*d1;\n elseif uvec(sample) == u_off\n u = uref-Ksign*d2;\n else\n " - " error = 1\n end\n uvec(sample) = u;\n end\n startup_switch = 0;\n if switch_index" - " > 3\n tp = switching_times(switch_index)-switching_times(switch_index-2);\n tp_old = switching_ti" - "mes(switch_index-1)-switching_times(switch_index-3);\n resultvec(19) = tp;\n resultvec(20) = tp_ol" - "d;\n if abs(tp-tp_old)<tp_old*epsilon\n finished = true;\n tstop = tvec(sample);\n " - " resultvec(17) = tstop;\n end\n end\n last_switch_sample = sample;\n switch_index = sw" - "itch_index+1;\nend\n\n\n% Checks if converged, in that case collect info and call a method that\n% calculates a " - "model and PI/PID parameters\nif finished == true\n tsim = tvec(1:sample);\n usim = uvec(1:sample)-uref;\n " - " ysim = yvec(1:sample)-yref;\n u1 = usim(1:end-1);\n u2 = usim(2:end);\n switches = find(" - "u1.*u2<0);\n yp = ysim(switches(end-2):switches(end));\n up = usim(switches(end-2):switches(end));" - "\n tp = tsim(switches(end-2):switches(end));\n y_int = trapz(tp,yp);\n u_int = trapz(tp,up)" - ";\n resultvec(21) = y_int;\n resultvec(22) = u_int;\n [ton toff] = calc_ton_toff(usim, switchin" - "g_times(1:switch_index-1), u_on-uref);\n resultvec(8) = ton;\n resultvec(9) = toff;\n %%%%% Calulating " - "tau %%%%%\n rho = max(ton, toff)/min(ton, toff);\n tau = min(1, max((gamma-rho)/((gamma-1)*(0.35*rho+0.65)" - "),0)) %Min&max if something strange would occur.\n resultvec(1) = tau;\n \n if tau > 0.1 % this condition" - " needs to be considered more closely\n [K,T,L] = calc_FOTD_params(u_int,y_int,d1,d2,h,ton,toff,tau);\n " - " if tau > 0.6\n [Kc, Ti, Td] = calc_AMIGO_PI(K,T,L);\n else\n [Kc, Ti, Td] = cal" - "c_AMIGO_PID(K,T,L);\n end\n resultvec(2) = K;\n resultvec(3) = T;\n resultvec(4) = L" - ";\n resultvec(5) = Kc;\n resultvec(6) = Ti;\n resultvec(7) = Td;\n else\n [kv, L]" - " = calc_integrating_params(y_int, u_on-uref, u_off-uref, ton, toff, h);\n %[Kc, Ti, Td] = calc_AMIGO_int_" - "PI(kv, L);\n [Kc, Ti, Td] = calc_AMIGO_int_PID(kv, L); % Which one do I want?\n resultvec(2) = kv;" - "\n resultvec(3) = -1;\n resultvec(4) = L;\n resultvec(5) = Kc;\n resultvec(6) = Ti;\n" - " resultvec(7) = Td;\n end\n done = 1;\n param = [Kc, Ti, Td];\n resultvec(10) = d1;\n resu" - "ltvec(11) = d2;\n resultvec(18) = done;\n resultvec\nend\nend\n\n\n% ---------------------------------\n f" - "unction ratio = check_amplitudes(y, upper_limit, lower_limit, gamma)\n % Is checked at every switching po" - "int and sends in y = y_vec-yref\n % for the entire half period. No point to check at other time\n " - "% instances!\n ratio1 = max(abs(y))/upper_limit; % Top value deviates too much if > 1\n ratio2 = m" - "ax(abs(y))/lower_limit; % Top value too close to hysteresis limit if < 1.\n \n if ratio1 > 1\n " - " ratio = (upper_limit+lower_limit*gamma)/(2*max(abs(y))); \n elseif ratio2 < 1\n ratio = (" - "lower_limit+upper_limit/gamma)/(2*max(abs(y)));\n else\n ratio =1;\n end\n end\n%---" - "------------------------------------\n\nfunction u = rel_func(y,uold,uon,uoff,yref,h)\n if y <= yref-h\n u =" - " uon;\n elseif y < yref+h && y > yref-h\n u = uold;\n else u = uoff;\n end\nend\n\n% ---------------------" - "-----------\nfunction [ton, toff] = calc_ton_toff(u, switching_times, u_on)\n\nif u(end-1) == u_on\n ton = sw" - "itching_times(end)-switching_times(end-1);\n toff = switching_times(end-1)-switching_times(end-2);\nelse\n " - " toff = switching_times(end)-switching_times(end-1);\n ton = switching_times(end-1)-switching_times(end-2);\n" - "end\nend\n\n% ---------------------------------------------------\n\nfunction [kstart tstart lstart] = calc_FOTD" - "_params(u_int,y_int,d1,d2,h, ton, toff, tau)\nkstart=y_int/u_int;\nLdivT = tau/(1-tau);\n% Equations from commit" - " 2015-02-10\nu_int\ny_int\nd1\nd2\nh\nton\ntoff\ntau\ntstart1 = ton/log((h/abs(kstart)-d2+exp(LdivT)*(d1+d2))/(d" - "1-h/abs(kstart)));\ntstart2 = toff/log((h/abs(kstart)-d1+exp(LdivT)*(d1+d2))/(d2-h/abs(kstart)));\ntstart = (tst" - "art1+tstart2)/2;\nlstart = tstart*LdivT;\nend\n\n% --------------------------------------------\n\nfunction [K, " - "Ti, Td] = calc_AMIGO_PI(Kp,T,L)\nK = 0.15/Kp+(0.35-L*T/(L+T)^2)*T/(Kp*L);\nTi = 0.35*L+13*L*T^2/(T^2+12*L*T+7*L^" - "2);\nTd = 0;\nend\n\nfunction [K, Ti, Td] = calc_AMIGO_PID(Kp,T,L)\nK = (0.2*L+0.45*T)/(Kp*L);\nTi = (0.4*L+0.8*" - "T)/(L+0.1*T)*L;\nTd = 0.5*L*T/(0.3*L+T);\nend\n\n% --------------------------------------------\nfunction [kv, L" - "] = calc_integrating_params(y_int, uon, uoff, ton, toff, h)\n%Equations from commit 2015-02-10\ny_int\nuon\nuoff" - "\nton\ntoff\nh\n\nkv = 2*y_int/(ton*toff*(uon+uoff))+2*h/(uon*ton);\nL = (uon*ton-2*h/kv)/(uon-uoff);\nif L < 0\n" - " L = 1e-3;\nend\nend\n\n% -------------------------------------------\nfunction [K, Ti, Td] = calc_AMIGO_int_" - "PI(Kv, L)\nK = 0.35/(Kv*L);\nTi = 13.4*L;\nTd = 0;\nend\n\nfunction [K, Ti, Td] = calc_AMIGO_int_PID(Kv, L)\nK =" - " 0.45/(Kv*L);\nTi = 8*L;\nTd = 0.5*L;\nend" - editorLayout "100 M4x1[10 5 700 500]" - } - } - junction { - id 23 - position [23.5747 49.5747 7] - chart 21 - linkNode [21 0 0] - subviewer 21 - ssIdNumber 3 - type CONNECTIVE_JUNCTION - } - transition { - id 24 - labelString "{eML_blk_kernel();}" - labelPosition [32.125 19.875 100.8 18.448] - fontSize 12 - src { - intersection [0 0 1 0 23.5747 14.625 0 0] - } - dst { - id 23 - intersection [1 0 -1 0 23.5747 42.5747 0 0] - } - midPoint [23.5747 24.9468] - chart 21 - linkNode [21 0 0] - dataLimits [23.575 23.575 14.625 34.575] - subviewer 21 - drawStyle SMART - slide { - sticky BOTH_STICK - } - executionOrder 1 - ssIdNumber 2 - } - data { - id 25 - ssIdNumber 16 - name "result" - linkNode [21 0 26] - scope OUTPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - isSigned 1 - wordLength "16" - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_NO - } - dataType "Inherit: Same as Simulink" - } - data { - id 26 - ssIdNumber 8 - name "u" - linkNode [21 25 27] - scope OUTPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - isSigned 1 - wordLength "16" - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_NO - } - dataType "Inherit: Same as Simulink" - } - data { - id 27 - ssIdNumber 12 - name "PID_param" - linkNode [21 26 28] - scope OUTPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - isSigned 1 - wordLength "16" - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_NO - } - dataType "Inherit: Same as Simulink" - } - data { - id 28 - ssIdNumber 14 - name "relay_par" - linkNode [21 27 29] - scope INPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - isSigned 1 - wordLength "16" - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_INHERITED - } - dataType "Inherit: Same as Simulink" - } - data { - id 29 - ssIdNumber 5 - name "e" - linkNode [21 28 30] - scope INPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_NO - } - dataType "Inherit: Same as Simulink" - } - data { - id 30 - ssIdNumber 9 - name "t" - linkNode [21 29 31] - scope INPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - isSigned 1 - wordLength "16" - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_INHERITED - } - dataType "Inherit: Same as Simulink" - } - data { - id 31 - ssIdNumber 15 - name "u_ref" - linkNode [21 30 32] - scope INPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - isSigned 1 - wordLength "16" - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_INHERITED - } - dataType "Inherit: Same as Simulink" - } - data { - id 32 - ssIdNumber 11 - name "run_exp" - linkNode [21 31 33] - scope INPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - isSigned 1 - wordLength "16" - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_INHERITED - } - dataType "Inherit: Same as Simulink" - } - data { - id 33 - ssIdNumber 4 - name "done" - linkNode [21 32 0] - scope OUTPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_NO - } - dataType "Inherit: Same as Simulink" - } - instance { - id 34 - name "tau_tuner/relay_exp\n" - machine 1 - chart 21 - } - chart { - id 35 - name "multi-NOMAD/Autotuner1/Constraint" - windowPosition [316.86 310.2 211 434] - viewLimits [0 156.75 0 153.75] - screen [1 1 1280 1024 1.25] - treeNode [0 36 0 0] - firstTransition 38 - firstJunction 37 - viewObj 35 - machine 1 - ssIdHighWaterMark 9 - decomposition CLUSTER_CHART - type EML_CHART - firstData 39 - chartFileNumber 7 - disableImplicitCasting 1 - eml { - name "Constraint" - } - } - state { - id 36 - labelString "eML_blk_kernel()" - position [18 64.5 118 66] - fontSize 12 - chart 35 - treeNode [35 0 0 0] - superState SUBCHART - subviewer 35 - ssIdNumber 1 - type FUNC_STATE - decomposition CLUSTER_STATE - eml { - isEML 1 - script "%function stop = Constraint(tstop, time, done)\nfunction stop = Constraint(time, all_done, timeAf" - "terExp)\n%#codegen\npersistent tstopp first\nif isempty(tstopp)\n tstopp = 10000;\n first = true;\nend\nif" - " all_done == 1 && first \n tstopp = time;\n first = false;\nend\nif time > tstopp+timeAfterExp;\n stop " - "= 1;\nelse\n stop = 0;\nend" - editorLayout "100 M4x1[10 5 700 500]" - } - } - junction { - id 37 - position [23.5747 49.5747 7] - chart 35 - linkNode [35 0 0] - subviewer 35 - ssIdNumber 3 - type CONNECTIVE_JUNCTION - } - transition { - id 38 - labelString "{eML_blk_kernel();}" - labelPosition [32.125 19.875 102.544 14.964] - fontSize 12 - src { - intersection [0 0 1 0 23.5747 14.625 0 0] - } - dst { - id 37 - intersection [1 0 -1 0 23.5747 42.5747 0 0] - } - midPoint [23.5747 24.9468] - chart 35 - linkNode [35 0 0] - dataLimits [23.575 23.575 14.625 34.575] - subviewer 35 - drawStyle SMART - slide { - sticky BOTH_STICK - } - executionOrder 1 - ssIdNumber 2 - } - data { - id 39 - ssIdNumber 5 - name "stop" - linkNode [35 0 40] - scope OUTPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_NO - } - dataType "Inherit: Same as Simulink" - } - data { - id 40 - ssIdNumber 6 - name "time" - linkNode [35 39 41] - scope INPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - isSigned 1 - wordLength "16" - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_INHERITED - } - dataType "Inherit: Same as Simulink" - } - data { - id 41 - ssIdNumber 7 - name "all_done" - linkNode [35 40 42] - scope INPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - isSigned 1 - wordLength "16" - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_INHERITED - } - dataType "Inherit: Same as Simulink" - } - data { - id 42 - ssIdNumber 9 - name "timeAfterExp" - linkNode [35 41 0] - scope INPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - isSigned 1 - wordLength "16" - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_INHERITED - } - dataType "Inherit: Same as Simulink" - } - instance { - id 43 - name "multi-NOMAD/Autotuner1/Constraint" - machine 1 - chart 35 - } - chart { - id 44 - name "multi-NOMAD/Autotuner1/relay_exp\n" - windowPosition [344.686 5 429 739.2] - viewLimits [0 319.2 0 430.6] - screen [1 1 1280 1024 1.25] - treeNode [0 45 0 0] - firstTransition 47 - firstJunction 46 - viewObj 44 - machine 1 - ssIdHighWaterMark 17 - decomposition CLUSTER_CHART - type EML_CHART - firstData 48 - chartFileNumber 8 - disableImplicitCasting 1 - eml { - name "relay_exp" - } - } - state { - id 45 - labelString "eML_blk_kernel()" - position [18 64.5 118 66] - fontSize 12 - chart 44 - treeNode [44 0 0 0] - superState SUBCHART - subviewer 44 - ssIdNumber 1 - type FUNC_STATE - decomposition CLUSTER_STATE - eml { - isEML 1 - script "function [result, u, done]= relay_exp(relay_par, e,t, u_ref, run_exp)\n\n\n%%%%%%%%%% Definitions" - " and default values %%%%%%%%%%%%%%\ny = -e;\n% Relay parameters, values from workspace.\npersistent d1 d2 u_on u" - "_off h\ngamma = relay_par(11); % index 2 is gamma, 11 is gamma2 \nt_sample = relay_par(3);\nbigYup = relay_par(6" - ");\nrelayMaxDev = relay_par(7);\ndef_h = relay_par(8);\nnoiseMeasureTime = relay_par(9);\nmaxSwitches = relay_pa" - "r(12);\nystep = relay_par(13);\nustep = relay_par(14);\n\npersistent yref uref\nif isempty(d2)\n h=def_h; % t" - "hese values will be re-assigned later and never used.\n d1 = gamma;\n d2 = 1;\n u_on = d1;\n u_off " - "= -d2;\n uref = 0;\n yref = 0;\nend\n\npersistent u_old resultvec\nif isempty(u_old)\n u_old = uref;\n " - " resultvec = zeros(23,1);\nend\n\npersistent sample\nif isempty(sample)\n sample = 0;\nend\n\npersistent st" - "artup Ksign\nif isempty(Ksign)\n Ksign = 1; % Is re-assigned during at the startup phase\nend\n\npersistent p" - "aram done_per\nif isempty(param)\n param = [1.1, 16, 0]; % Quadtank minfas (should be an input somehow if exi" - "sting PID parameters are used to bring it to its working point)\n done_per = 0;\nend\nPID_param = param;\ndon" - "e = done_per;\n\n% To handle switches\npersistent switching_times switch_index \nif isempty(switching_times)\n " - " switching_times = zeros(1,20); % Shouldn't need to be so large\n switch_index = 1;\nend\n\n%%%%%%%%% Startu" - "p params %%%%%%%%%%%\npersistent a b c tff exp_t yh yl measureNoise first\nif isempty(startup)\n tff = 5/t_s" - "ample; % According to Tore about 3-5s is appropriate for the startup growth \n b = 40;\n c = relayMaxDev/(" - "b-1);\n a = uref-c;\n measureNoise = 1;\n startup = 0;\n yh = 0;\n yl = 0;\n first = true;\nen" - "d\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n\nresult = resultvec;\nif run_exp == 0\n u = 0;\n PID_" - "param = param;\n return\nend\n\n%%%%%%%%%%%%% Program running %%%%%%%%%%%%%%%%%\nsample = sample+1;\n\n%%%%%%" - "%%% Startup %%%%%%%%%%%%\nif measureNoise == 1\n if first \n uref = u_ref;\n yref = y;\n " - " first = false;\n yh = yref;\n yl = yref;\n end\n u = uref;\n if sample < noiseMeasureTim" - "e/t_sample\n yh = max(yh,y);\n yl = min(yl,y);\n else\n noise = (yh-yl)/2;\n yref" - " = (yh+yl)/2;\n %yref = y; % Could test the latest value instead of average?\n resultvec(15) = yre" - "f;\n resultvec(16) = uref;\n h = max(2*noise, def_h);\n measureNoise = 0;\n startup " - "= 1;\n resultvec(23) = t;\n end\nelseif startup == 1\n exp_t = sample-noiseMeasureTime/t_sample;\n " - " a = uref-c;\n u = a+c*b^(exp_t/tff);\n if u > relayMaxDev+uref\n u = relayMaxDev+ure" - "f;\n end\n if exp_t > 1\n ydev = y-yref; \n if abs(ydev) > h % outside hyste" - "resis, stop startup and decide Ksign\n Ksign = ydev/abs(ydev);\n if bigYup == 1\n " - " d1 = min(relayMaxDev, gamma*abs(u-uref));\n d2 = d1/gamma;\n " - " else\n d2 = min(relayMaxDev, gamma*abs(u-uref));\n d1 = d2/gamma;\n " - " end\n startup = 0;\n elseif exp_t > tff\n u = uref+relayMaxD" - "ev;\n end\n end\nelseif run_exp == 1\n %%%%%% Update amplitudes %%%%%%%\n u_on = uref+Ks" - "ign*d1;\n u_off = uref-Ksign*d2;\n %%%%%% Calculate new u %%%%%%%%%\n u = rel_func(y,u_old,u_on, u_off," - "yref,h);\nelse \n u = 0; %Shouldn't be needed?\nend\n\n%%%%%%% At switching points %%%%%%%\nif sample>1 && (u" - "-uref)*(u_old-uref) < 0\n switching_times(switch_index) = t;\n if switch_index > 2\n tp = switching" - "_times(switch_index)-switching_times(switch_index-2);\n resultvec(19) = tp;\n end\n if switch_index" - " == 3 % Step in yref/uref after two switches\n yref = yref+ystep*h;\n uref = uref+(d1+d2)/2*Ksign*" - "ustep;\n end\n if switch_index > maxSwitches\n done_per = 1;\n resultvec(17) = t;\n end\n" - " switch_index = switch_index+1;\nend\n%%%% store data %%%%%%\nu_old = u;\nend\n\nfunction u = rel_func(y,uold" - ",uon,uoff,yref,h)\n if y <= yref-h\n u = uon;\n elseif y < yref+h && y > yref-h\n u = uold;\n else u = " - "uoff;\n end\nend\n\n\n\n\n\n\n\n" - editorLayout "100 M4x1[10 5 700 500]" - } - } - junction { - id 46 - position [23.5747 49.5747 7] - chart 44 - linkNode [44 0 0] - subviewer 44 - ssIdNumber 3 - type CONNECTIVE_JUNCTION - } - transition { - id 47 - labelString "{eML_blk_kernel();}" - labelPosition [32.125 19.875 100.8 18.448] - fontSize 12 - src { - intersection [0 0 1 0 23.5747 14.625 0 0] - } - dst { - id 46 - intersection [1 0 -1 0 23.5747 42.5747 0 0] - } - midPoint [23.5747 24.9468] - chart 44 - linkNode [44 0 0] - dataLimits [23.575 23.575 14.625 34.575] - subviewer 44 - drawStyle SMART - slide { - sticky BOTH_STICK - } - executionOrder 1 - ssIdNumber 2 - } - data { - id 48 - ssIdNumber 16 - name "result" - linkNode [44 0 49] - scope OUTPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - isSigned 1 - wordLength "16" - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_NO - } - dataType "Inherit: Same as Simulink" - } - data { - id 49 - ssIdNumber 8 - name "u" - linkNode [44 48 50] - scope OUTPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - isSigned 1 - wordLength "16" - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_NO - } - dataType "Inherit: Same as Simulink" - } - data { - id 50 - ssIdNumber 14 - name "relay_par" - linkNode [44 49 51] - scope INPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - isSigned 1 - wordLength "16" - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_INHERITED - } - dataType "Inherit: Same as Simulink" - } - data { - id 51 - ssIdNumber 5 - name "e" - linkNode [44 50 52] - scope INPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_NO - } - dataType "Inherit: Same as Simulink" - } - data { - id 52 - ssIdNumber 9 - name "t" - linkNode [44 51 53] - scope INPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - isSigned 1 - wordLength "16" - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_INHERITED - } - dataType "Inherit: Same as Simulink" - } - data { - id 53 - ssIdNumber 15 - name "u_ref" - linkNode [44 52 54] - scope INPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - isSigned 1 - wordLength "16" - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_INHERITED - } - dataType "Inherit: Same as Simulink" - } - data { - id 54 - ssIdNumber 11 - name "run_exp" - linkNode [44 53 55] - scope INPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - isSigned 1 - wordLength "16" - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_INHERITED - } - dataType "Inherit: Same as Simulink" - } - data { - id 55 - ssIdNumber 4 - name "done" - linkNode [44 54 0] - scope OUTPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_NO - } - dataType "Inherit: Same as Simulink" - } - instance { - id 56 - name "multi-NOMAD/Autotuner1/relay_exp\n" - machine 1 - chart 44 - } - chart { - id 57 - name "multi-NOMAD/Autotuner2/Constraint" - windowPosition [316.86 310.2 211 434] - viewLimits [0 156.75 0 153.75] - screen [1 1 1280 1024 1.25] - treeNode [0 58 0 0] - firstTransition 60 - firstJunction 59 - viewObj 57 - machine 1 - toolbarMode LIBRARY_TOOLBAR - ssIdHighWaterMark 9 - decomposition CLUSTER_CHART - type EML_CHART - firstData 61 - chartFileNumber 9 - disableImplicitCasting 1 - eml { - name "Constraint" - } - } - state { - id 58 - labelString "eML_blk_kernel()" - position [18 64.5 118 66] - fontSize 12 - chart 57 - treeNode [57 0 0 0] - superState SUBCHART - subviewer 57 - ssIdNumber 1 - type FUNC_STATE - decomposition CLUSTER_STATE - eml { - isEML 1 - script "%function stop = Constraint(tstop, time, done)\nfunction stop = Constraint(time, all_done, timeAf" - "terExp)\n%#codegen\npersistent tstopp first\nif isempty(tstopp)\n tstopp = 10000;\n first = true;\nend\nif" - " all_done == 1 && first \n tstopp = time;\n first = false;\nend\nif time > tstopp+timeAfterExp;\n stop " - "= 1;\nelse\n stop = 0;\nend" - editorLayout "100 M4x1[10 5 700 500]" - } - } - junction { - id 59 - position [23.5747 49.5747 7] - chart 57 - linkNode [57 0 0] - subviewer 57 - ssIdNumber 3 - type CONNECTIVE_JUNCTION - } - transition { - id 60 - labelString "{eML_blk_kernel();}" - labelPosition [32.125 19.875 102.544 14.964] - fontSize 12 - src { - intersection [0 0 1 0 23.5747 14.625 0 0] - } - dst { - id 59 - intersection [1 0 -1 0 23.5747 42.5747 0 0] - } - midPoint [23.5747 24.9468] - chart 57 - linkNode [57 0 0] - dataLimits [23.575 23.575 14.625 34.575] - subviewer 57 - drawStyle SMART - slide { - sticky BOTH_STICK - } - executionOrder 1 - ssIdNumber 2 - } - data { - id 61 - ssIdNumber 5 - name "stop" - linkNode [57 0 62] - scope OUTPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_NO - } - dataType "Inherit: Same as Simulink" - } - data { - id 62 - ssIdNumber 6 - name "time" - linkNode [57 61 63] - scope INPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - isSigned 1 - wordLength "16" - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_INHERITED - } - dataType "Inherit: Same as Simulink" - } - data { - id 63 - ssIdNumber 7 - name "all_done" - linkNode [57 62 64] - scope INPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - isSigned 1 - wordLength "16" - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_INHERITED - } - dataType "Inherit: Same as Simulink" - } - data { - id 64 - ssIdNumber 9 - name "timeAfterExp" - linkNode [57 63 0] - scope INPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - isSigned 1 - wordLength "16" - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_INHERITED - } - dataType "Inherit: Same as Simulink" - } - instance { - id 65 - name "multi-NOMAD/Autotuner2/Constraint" - machine 1 - chart 57 - } - chart { - id 66 - name "multi-NOMAD/Autotuner2/relay_exp\n" - windowPosition [344.686 5 429 739.2] - viewLimits [0 319.2 0 430.6] - screen [1 1 1280 1024 1.25] - treeNode [0 67 0 0] - firstTransition 69 - firstJunction 68 - viewObj 66 - machine 1 - ssIdHighWaterMark 17 - decomposition CLUSTER_CHART - type EML_CHART - firstData 70 - chartFileNumber 10 - disableImplicitCasting 1 - eml { - name "relay_exp" - } - } - state { - id 67 - labelString "eML_blk_kernel()" - position [18 64.5 118 66] - fontSize 12 - chart 66 - treeNode [66 0 0 0] - superState SUBCHART - subviewer 66 - ssIdNumber 1 - type FUNC_STATE - decomposition CLUSTER_STATE - eml { - isEML 1 - script "function [result, u, done]= relay_exp(relay_par, e,t, u_ref, run_exp)\n\n\n%%%%%%%%%% Definitions" - " and default values %%%%%%%%%%%%%%\ny = -e;\n% Relay parameters, values from workspace.\npersistent d1 d2 u_on u" - "_off h\ngamma = relay_par(2); % index 2 is gamma, 11 is gamma2 \nt_sample = relay_par(3);\nbigYup = relay_par(6)" - ";\nrelayMaxDev = relay_par(7);\ndef_h = relay_par(8);\nnoiseMeasureTime = relay_par(9);\nmaxSwitches = relay_par" - "(12);\nystep = relay_par(13);\nustep = relay_par(14);\n\npersistent yref uref\nif isempty(d2)\n h=def_h; % th" - "ese values will be re-assigned later and never used. \n d1 = gamma;\n d2 = 1;\n u_on = d1;\n u_off " - "= -d2;\n uref = 0;\n yref = 0;\nend\n\npersistent u_old resultvec\nif isempty(u_old)\n u_old = uref;\n " - " resultvec = zeros(23,1);\nend\n\npersistent sample\nif isempty(sample)\n sample = 0;\nend\n\npersistent st" - "artup Ksign\nif isempty(Ksign)\n Ksign = 1; % Is re-assigned during at the startup phase\nend\n\npersistent " - "param done_per\nif isempty(param)\n param = [1.1, 16, 0]; % Quadtank minfas (should be an input somehow if ex" - "isting PID parameters are used to bring it to its working point)\n done_per = 0;\nend\nPID_param = param;\ndo" - "ne = done_per;\n\n% To handle switches\npersistent switching_times switch_index \nif isempty(switching_times)\n " - " switching_times = zeros(1,20);\n switch_index = 1;\nend\n\n%%%%%%%%% Startup params %%%%%%%%%%%\npersiste" - "nt a b c tff exp_t yh yl measureNoise first\nif isempty(startup)\n tff = 5/t_sample; % According to Tore abou" - "t 3-5s is appropriate for the startup growth \n b = 40;\n c = relayMaxDev/(b-1);\n a = uref-c;\n mea" - "sureNoise = 1;\n startup = 0;\n yh = 0;\n yl = 0;\n first = true;\nend\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%" - "%%%%%%%%%%%%%%%%%%%\n\nresult = resultvec;\nif run_exp == 0\n u = 0;\n PID_param = param;\n return\nend" - "\n\n%%%%%%%%%%%%% Program running %%%%%%%%%%%%%%%%%\nsample = sample+1;\n\n%%%%%%%%% Startup %%%%%%%%%%%%\nif me" - "asureNoise == 1\n if first \n uref = u_ref;\n yref = y;\n first = false;\n yh = y" - "ref;\n yl = yref;\n end\n u = uref;\n if sample < noiseMeasureTime/t_sample\n yh = max(yh" - ",y);\n yl = min(yl,y);\n else\n noise = (yh-yl)/2;\n yref = (yh+yl)/2;\n %yref = " - "y; % Could test the latest value instead of average?\n resultvec(15) = yref;\n resultvec(16) = ure" - "f;\n h = max(2*noise, def_h);\n measureNoise = 0;\n startup = 1;\n resultvec(23) = t" - ";\n end\nelseif startup == 1\n exp_t = sample-noiseMeasureTime/t_sample;\n a = uref-c;\n u = a+c" - "*b^(exp_t/tff);\n if u > relayMaxDev+uref\n u = relayMaxDev+uref;\n end\n if exp" - "_t > 1\n ydev = y-yref; \n if abs(ydev) > h % outside hysteresis, stop startup and decide " - "Ksign\n Ksign = ydev/abs(ydev);\n if bigYup == 1\n d1 = min(rel" - "ayMaxDev, gamma*abs(u-uref));\n d2 = d1/gamma;\n else\n d2 " - "= min(relayMaxDev, gamma*abs(u-uref));\n d1 = d2/gamma;\n end\n " - " startup = 0;\n elseif exp_t > tff\n u = uref+relayMaxDev;\n end\n e" - "nd\nelseif run_exp == 1\n %%%%%% Update amplitudes %%%%%%%\n u_on = uref+Ksign*d1;\n u_off = uref-Ksign" - "*d2;\n %%%%%% Calculate new u %%%%%%%%%\n u = rel_func(y,u_old,u_on, u_off,yref,h);\nelse \n u = 0; % S" - "houldn't be needed?\nend\n\n%%%%%%% At switching points %%%%%%%\nif sample>1 && (u-uref)*(u_old-uref) < 0\n s" - "witching_times(switch_index) = t;\n if switch_index > 2\n tp = switching_times(switch_index)-switching" - "_times(switch_index-2);\n resultvec(19) = tp;\n end\n if switch_index == 3 % Step in yref/uref afte" - "r two switches\n yref = yref+ystep*h;\n uref = uref+(d1+d2)/2*Ksign*ustep;\n end\n if switch" - "_index > maxSwitches\n done_per = 1;\n resultvec(17) = t;\n end\n switch_index = switch_inde" - "x+1;\nend\n%%%% store data %%%%%%\nu_old = u;\nend\n\nfunction u = rel_func(y,uold,uon,uoff,yref,h)\n if y <= y" - "ref-h\n u = uon;\n elseif y < yref+h && y > yref-h\n u = uold;\n else u = uoff;\n end\nend\n\n\n\n\n\n\n" - "\n" - editorLayout "100 M4x1[10 5 700 500]" - } - } - junction { - id 68 - position [23.5747 49.5747 7] - chart 66 - linkNode [66 0 0] - subviewer 66 - ssIdNumber 3 - type CONNECTIVE_JUNCTION - } - transition { - id 69 - labelString "{eML_blk_kernel();}" - labelPosition [32.125 19.875 100.8 18.448] - fontSize 12 - src { - intersection [0 0 1 0 23.5747 14.625 0 0] - } - dst { - id 68 - intersection [1 0 -1 0 23.5747 42.5747 0 0] - } - midPoint [23.5747 24.9468] - chart 66 - linkNode [66 0 0] - dataLimits [23.575 23.575 14.625 34.575] - subviewer 66 - drawStyle SMART - slide { - sticky BOTH_STICK - } - executionOrder 1 - ssIdNumber 2 - } - data { - id 70 - ssIdNumber 16 - name "result" - linkNode [66 0 71] - scope OUTPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - isSigned 1 - wordLength "16" - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_NO - } - dataType "Inherit: Same as Simulink" - } - data { - id 71 - ssIdNumber 8 - name "u" - linkNode [66 70 72] - scope OUTPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - isSigned 1 - wordLength "16" - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_NO - } - dataType "Inherit: Same as Simulink" - } - data { - id 72 - ssIdNumber 14 - name "relay_par" - linkNode [66 71 73] - scope INPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - isSigned 1 - wordLength "16" - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_INHERITED - } - dataType "Inherit: Same as Simulink" - } - data { - id 73 - ssIdNumber 5 - name "e" - linkNode [66 72 74] - scope INPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_NO - } - dataType "Inherit: Same as Simulink" - } - data { - id 74 - ssIdNumber 9 - name "t" - linkNode [66 73 75] - scope INPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - isSigned 1 - wordLength "16" - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_INHERITED - } - dataType "Inherit: Same as Simulink" - } - data { - id 75 - ssIdNumber 15 - name "u_ref" - linkNode [66 74 76] - scope INPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - isSigned 1 - wordLength "16" - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_INHERITED - } - dataType "Inherit: Same as Simulink" - } - data { - id 76 - ssIdNumber 11 - name "run_exp" - linkNode [66 75 77] - scope INPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - isSigned 1 - wordLength "16" - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_INHERITED - } - dataType "Inherit: Same as Simulink" - } - data { - id 77 - ssIdNumber 4 - name "done" - linkNode [66 76 0] - scope OUTPUT_DATA - machine 1 - props { - array { - size "-1" - } - type { - method SF_INHERITED_TYPE - primitive SF_DOUBLE_TYPE - } - complexity SF_COMPLEX_INHERITED - frame SF_FRAME_NO - } - dataType "Inherit: Same as Simulink" - } - instance { - id 78 - name "multi-NOMAD/Autotuner2/relay_exp\n" - machine 1 - chart 66 - } - target { - id 79 - name "sfun" - description "Default Simulink S-Function Target." - machine 1 - linkNode [1 0 0] - } -} -- GitLab