From b80f2f983007ccd18e4b78c1c2f76bdb97b0c0ff Mon Sep 17 00:00:00 2001
From: Josefin <josefinb@control.lth.se>
Date: Mon, 11 Dec 2017 12:22:23 +0100
Subject: [PATCH] Changed name on LTH-library

---
 Autotuners/tmpdata/README.md |    1 +
 ExtraLTH/ATlibrary_LTH.mdl   | 7501 ++++++++++++++++++++++++++++++++++
 2 files changed, 7502 insertions(+)
 create mode 100644 Autotuners/tmpdata/README.md
 create mode 100644 ExtraLTH/ATlibrary_LTH.mdl

diff --git a/Autotuners/tmpdata/README.md b/Autotuners/tmpdata/README.md
new file mode 100644
index 0000000..0ce51ee
--- /dev/null
+++ b/Autotuners/tmpdata/README.md
@@ -0,0 +1 @@
+This folder is used as a storage folder inside the programs. mat-files will be stored here and then used later in the procedures.
diff --git a/ExtraLTH/ATlibrary_LTH.mdl b/ExtraLTH/ATlibrary_LTH.mdl
new file mode 100644
index 0000000..189a5c6
--- /dev/null
+++ b/ExtraLTH/ATlibrary_LTH.mdl
@@ -0,0 +1,7501 @@
+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