From 9b008ac22941c95d4a3941e3074b9bd4a54c3352 Mon Sep 17 00:00:00 2001
From: Josefin <josefinb@control.lth.se>
Date: Mon, 11 Dec 2017 11:47:47 +0100
Subject: [PATCH] Added extra files that can be used in the LTH control lab

---
 ExtraLTH/ATlibrary_2012a.mdl       | 7501 ++++++++++++++++++++++++++++
 ExtraLTH/setup_script_industrial.m |   23 +
 ExtraLTH/tank_industrial_2012a.mdl | 1985 ++++++++
 README.md                          |    4 +-
 4 files changed, 9512 insertions(+), 1 deletion(-)
 create mode 100644 ExtraLTH/ATlibrary_2012a.mdl
 create mode 100644 ExtraLTH/setup_script_industrial.m
 create mode 100644 ExtraLTH/tank_industrial_2012a.mdl

diff --git a/ExtraLTH/ATlibrary_2012a.mdl b/ExtraLTH/ATlibrary_2012a.mdl
new file mode 100644
index 0000000..189a5c6
--- /dev/null
+++ b/ExtraLTH/ATlibrary_2012a.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]
+  }
+}
diff --git a/ExtraLTH/setup_script_industrial.m b/ExtraLTH/setup_script_industrial.m
new file mode 100644
index 0000000..7ae287a
--- /dev/null
+++ b/ExtraLTH/setup_script_industrial.m
@@ -0,0 +1,23 @@
+%% Run industrial
+% Starts an experiment with one of the industrial controllers and logs all
+% the data. The experiment will run all the way until the time simopt.Tf
+% before closing and logging, so this parameter has to be set to an
+% appropriate value in the setParams file before starting the exp. (A
+% better solution to this would be desirable!)
+
+close all; clear all; clc
+setParams
+options = simset('SrcWorkspace','current');
+warning('off','Simulink:blocks:TDelayDirectThroughAutoSet')
+sim('tank_industrial_2012a',[],options) % Change in the mdl file between the ECA/Honeywell block
+warning('on','Simulink:blocks:TDelayDirectThroughAutoSet')
+simdata.u = simout.signals.values(:,1);
+simdata.y1 = simout.signals.values(:,2);
+simdata.y2 = simout.signals.values(:,4);
+simdata.t = simout.time;
+
+plot(simdata.t, simdata.u,'r')
+hold on
+plot(simdata.t, simdata.y2,'b')
+hold off
+save('industrial_exp.mat','simdata')
diff --git a/ExtraLTH/tank_industrial_2012a.mdl b/ExtraLTH/tank_industrial_2012a.mdl
new file mode 100644
index 0000000..45225be
--- /dev/null
+++ b/ExtraLTH/tank_industrial_2012a.mdl
@@ -0,0 +1,1985 @@
+Model {
+  Name			  "tank_eca_2012a"
+  Version		  7.9
+  MdlSubVersion		  0
+  GraphicalInterface {
+    NumRootInports	    0
+    NumRootOutports	    0
+    ParameterArgumentNames  ""
+    ComputedModelVersion    "1.588"
+    NumModelReferences	    0
+    NumTestPointedSignals   0
+  }
+  SavedCharacterEncoding  "UTF-8"
+  SaveDefaultBlockParams  on
+  ScopeRefreshTime	  0.035000
+  OverrideScopeRefreshTime off
+  DisableAllScopes	  off
+  DataTypeOverride	  "UseLocalSettings"
+  DataTypeOverrideAppliesTo "AllNumericTypes"
+  MinMaxOverflowLogging	  "UseLocalSettings"
+  MinMaxOverflowArchiveMode "Overwrite"
+  FPTRunName		  "Run 1"
+  MaxMDLFileLineLength	  120
+  Created		  "Sun Jun 12 02:17:00 2005"
+  Creator		  "josefinb"
+  UpdateHistory		  "UpdateHistoryNever"
+  ModifiedByFormat	  "%<Auto>"
+  LastModifiedBy	  "josefinb"
+  ModifiedDateFormat	  "%<Auto>"
+  LastModifiedDate	  "Tue Nov 14 16:49:45 2017"
+  RTWModifiedTimeStamp	  432578981
+  ModelVersionFormat	  "1.%<AutoIncrement:588>"
+  ConfigurationManager	  "none"
+  SampleTimeColors	  off
+  SampleTimeAnnotations	  off
+  LibraryLinkDisplay	  "none"
+  WideLines		  off
+  ShowLineDimensions	  on
+  ShowPortDataTypes	  off
+  ShowDesignRanges	  off
+  ShowLoopsOnError	  on
+  IgnoreBidirectionalLines off
+  ShowStorageClass	  off
+  ShowTestPointIcons	  on
+  ShowSignalResolutionIcons on
+  ShowViewerIcons	  on
+  SortedOrder		  off
+  ExecutionContextIcon	  on
+  ShowLinearizationAnnotations on
+  BlockNameDataTip	  off
+  BlockParametersDataTip  on
+  BlockDescriptionStringDataTip	off
+  ToolBar		  on
+  StatusBar		  on
+  BrowserShowLibraryLinks off
+  BrowserLookUnderMasks	  off
+  SimulationMode	  "normal"
+  LinearizationMsg	  "none"
+  Profile		  off
+  ParamWorkspaceSource	  "MATLABWorkspace"
+  AccelSystemTargetFile	  "accel.tlc"
+  AccelTemplateMakefile	  "accel_default_tmf"
+  AccelMakeCommand	  "make_rtw"
+  TryForcingSFcnDF	  off
+  RecordCoverage	  off
+  CovPath		  "/"
+  CovSaveName		  "covdata"
+  CovMetricSettings	  "dw"
+  CovNameIncrementing	  off
+  CovHtmlReporting	  on
+  CovForceBlockReductionOff on
+  covSaveCumulativeToWorkspaceVar on
+  CovSaveSingleToWorkspaceVar on
+  CovCumulativeVarName	  "covCumulativeData"
+  CovCumulativeReport	  off
+  CovReportOnPause	  on
+  CovModelRefEnable	  "Off"
+  CovExternalEMLEnable	  off
+  ExtModeBatchMode	  off
+  ExtModeEnableFloating	  on
+  ExtModeTrigType	  "manual"
+  ExtModeTrigMode	  "oneshot"
+  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	  off
+  ExtModeSkipDownloadWhenConnect off
+  ExtModeLogAll		  on
+  ExtModeAutoUpdateStatusClock on
+  BufferReuse		  on
+  ShowModelReferenceBlockVersion off
+  ShowModelReferenceBlockIO off
+  Array {
+    Type		    "Handle"
+    Dimension		    1
+    Simulink.ConfigSet {
+      $ObjectID		      1
+      Version		      "1.12.0"
+      Array {
+	Type			"Handle"
+	Dimension		8
+	Simulink.SolverCC {
+	  $ObjectID		  2
+	  Version		  "1.12.0"
+	  StartTime		  "0.0"
+	  StopTime		  "simopt.Tf"
+	  AbsTol		  "auto"
+	  FixedStep		  "simopt.h"
+	  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		  "ode3"
+	  SolverName		  "ode3"
+	  SolverJacobianMethodControl "auto"
+	  ShapePreserveControl	  "DisableAll"
+	  ZeroCrossControl	  "UseLocalSettings"
+	  ZeroCrossAlgorithm	  "Nonadaptive"
+	  AlgebraicLoopSolver	  "TrustRegion"
+	  SolverResetMethod	  "Fast"
+	  PositivePriorityOrder	  off
+	  AutoInsertRateTranBlk	  off
+	  SampleTimeConstraint	  "Unconstrained"
+	  InsertRTBMode		  "Whenever possible"
+	}
+	Simulink.DataIOCC {
+	  $ObjectID		  3
+	  Version		  "1.12.0"
+	  Decimation		  "1"
+	  ExternalInput		  "[t, u]"
+	  FinalStateName	  "xf"
+	  InitialState		  "x0"
+	  LimitDataPoints	  off
+	  MaxDataPoints		  "1000"
+	  LoadExternalInput	  off
+	  LoadInitialState	  off
+	  SaveFinalState	  off
+	  SaveCompleteFinalSimState on
+	  SaveFormat		  "Array"
+	  SignalLoggingSaveFormat "ModelDataLogs"
+	  SaveOutput		  on
+	  SaveState		  off
+	  SignalLogging		  on
+	  DSMLogging		  on
+	  InspectSignalLogs	  off
+	  SaveTime		  on
+	  ReturnWorkspaceOutputs  off
+	  StateSaveName		  "xout"
+	  TimeSaveName		  "tout"
+	  OutputSaveName	  "yout"
+	  SignalLoggingName	  "logsout"
+	  DSMLoggingName	  "dsmout"
+	  OutputOption		  "RefineOutputTimes"
+	  OutputTimes		  "[]"
+	  ReturnWorkspaceOutputsName "out"
+	  Refine		  "1"
+	}
+	Simulink.OptimizationCC {
+	  $ObjectID		  4
+	  Version		  "1.12.0"
+	  BlockReduction	  off
+	  BooleanDataType	  off
+	  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	  2147483647
+	  FoldNonRolledExpr	  on
+	  LocalBlockOutputs	  on
+	  RollThreshold		  5
+	  SystemCodeInlineAuto	  off
+	  StateBitsets		  off
+	  DataBitsets		  off
+	  UseTempVars		  off
+	  ZeroExternalMemoryAtStartup on
+	  ZeroInternalMemoryAtStartup on
+	  InitFltsAndDblsToZero	  on
+	  NoFixptDivByZeroProtection off
+	  EfficientFloat2IntCast  off
+	  EfficientMapNaN2IntZero on
+	  OptimizeModelRefInitCode off
+	  LifeSpan		  "inf"
+	  MaxStackSize		  "Inherit from target"
+	  BufferReusableBoundary  on
+	  SimCompilerOptimization "Off"
+	  AccelVerboseBuild	  off
+	  ParallelExecutionInRapidAccelerator on
+	}
+	Simulink.DebuggingCC {
+	  $ObjectID		  5
+	  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	"none"
+	  CheckSSInitialOutputMsg on
+	  UnderspecifiedInitializationDetection	"Classic"
+	  MergeDetectMultiDrivingBlocksExec "none"
+	  CheckExecutionContextPreStartOutputMsg off
+	  CheckExecutionContextRuntimeOutputMsg	off
+	  SignalResolutionControl "TryResolveAllWithWarning"
+	  BlockPriorityViolationMsg "warning"
+	  MinStepSizeMsg	  "warning"
+	  TimeAdjustmentMsg	  "none"
+	  MaxConsecutiveZCsMsg	  "error"
+	  MaskedZcDiagnostic	  "warning"
+	  IgnoredZcDiagnostic	  "warning"
+	  SolverPrmCheckMsg	  "none"
+	  InheritedTsInSrcMsg	  "warning"
+	  DiscreteInheritContinuousMsg "warning"
+	  MultiTaskDSMMsg	  "warning"
+	  MultiTaskCondExecSysMsg "none"
+	  MultiTaskRateTransMsg	  "error"
+	  SingleTaskRateTransMsg  "none"
+	  TasksWithSamePriorityMsg "warning"
+	  SigSpecEnsureSampleTimeMsg "warning"
+	  CheckMatrixSingularityMsg "none"
+	  IntegerOverflowMsg	  "warning"
+	  Int32ToFloatConvMsg	  "warning"
+	  ParameterDowncastMsg	  "error"
+	  ParameterOverflowMsg	  "error"
+	  ParameterUnderflowMsg	  "none"
+	  ParameterPrecisionLossMsg "warning"
+	  ParameterTunabilityLossMsg "warning"
+	  FixptConstUnderflowMsg  "none"
+	  FixptConstOverflowMsg	  "none"
+	  FixptConstPrecisionLossMsg "none"
+	  UnderSpecifiedDataTypeMsg "none"
+	  UnnecessaryDatatypeConvMsg "none"
+	  VectorMatrixConversionMsg "none"
+	  InvalidFcnCallConnMsg	  "error"
+	  FcnCallInpInsideContextMsg "Use local settings"
+	  SignalLabelMismatchMsg  "none"
+	  UnconnectedInputMsg	  "warning"
+	  UnconnectedOutputMsg	  "warning"
+	  UnconnectedLineMsg	  "warning"
+	  SFcnCompatibilityMsg	  "none"
+	  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	  "warning"
+	  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		  6
+	  Version		  "1.12.0"
+	  ProdBitPerChar	  8
+	  ProdBitPerShort	  16
+	  ProdBitPerInt		  32
+	  ProdBitPerLong	  32
+	  ProdBitPerFloat	  32
+	  ProdBitPerDouble	  64
+	  ProdBitPerPointer	  32
+	  ProdLargestAtomicInteger "Char"
+	  ProdLargestAtomicFloat  "None"
+	  ProdIntDivRoundTo	  "Undefined"
+	  ProdEndianess		  "Unspecified"
+	  ProdWordSize		  32
+	  ProdShiftRightIntArith  on
+	  ProdHWDeviceType	  "32-bit Generic"
+	  TargetBitPerChar	  8
+	  TargetBitPerShort	  16
+	  TargetBitPerInt	  32
+	  TargetBitPerLong	  32
+	  TargetBitPerFloat	  32
+	  TargetBitPerDouble	  64
+	  TargetBitPerPointer	  32
+	  TargetLargestAtomicInteger "Char"
+	  TargetLargestAtomicFloat "None"
+	  TargetShiftRightIntArith on
+	  TargetIntDivRoundTo	  "Undefined"
+	  TargetEndianess	  "Unspecified"
+	  TargetWordSize	  32
+	  TargetTypeEmulationWarnSuppressLevel 0
+	  TargetPreprocMaxBitsSint 32
+	  TargetPreprocMaxBitsUint 32
+	  TargetHWDeviceType	  "Specified"
+	  TargetUnknown		  on
+	  ProdEqTarget		  on
+	}
+	Simulink.ModelReferenceCC {
+	  $ObjectID		  7
+	  Version		  "1.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 off
+	  SupportModelReferenceSimTargetCustomCode off
+	}
+	Simulink.SFSimCC {
+	  $ObjectID		  8
+	  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		  9
+	  Version		  "1.12.0"
+	  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		      10
+	      Version		      "1.12.0"
+	      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		      11
+	      Version		      "1.12.0"
+	      Array {
+		Type			"Cell"
+		Dimension		2
+		Cell			"MultiInstanceERTCode"
+		Cell			"CombineOutputUpdateFcns"
+		PropName		"DisabledProps"
+	      }
+	      TargetFcnLib	      "ansi_tfl_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 off
+	      ParMdlRefBuildCompliant on
+	      CompOptLevelCompliant   on
+	      ConcurrentExecutionCompliant on
+	      IncludeMdlTerminateFcn  on
+	      GeneratePreprocessorConditionals "Disable all"
+	      CombineOutputUpdateFcns off
+	      CombineSignalStateStructs	off
+	      SuppressErrorStatus     off
+	      ERTFirstTimeCompliant   off
+	      IncludeFileDelimiter    "Auto"
+	      ERTCustomFileBanners    off
+	      SupportAbsoluteTime     on
+	      LogVarNameModifier      "rt_"
+	      MatFileLogging	      off
+	      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	      on
+	      UseMalloc		      off
+	      ExtMode		      off
+	      ExtModeStaticAlloc      off
+	      ExtModeTesting	      off
+	      ExtModeStaticAllocSize  1000000
+	      ExtModeTransport	      0
+	      ExtModeMexFile	      "ext_comm"
+	      ExtModeIntrfLevel	      "Level1"
+	      RTWCAPISignals	      off
+	      RTWCAPIParams	      off
+	      RTWCAPIStates	      off
+	      RTWCAPIRootIO	      off
+	      GenerateASAP2	      off
+	    }
+	    PropName		    "Components"
+	  }
+	}
+	PropName		"Components"
+      }
+      Name		      "Configuration"
+      CurrentDlgPage	      "Solver"
+      ConfigPrmDlgPosition     [ 213, 152, 1066, 834 ] 
+    }
+    PropName		    "ConfigurationSets"
+  }
+  Simulink.ConfigSet {
+    $PropName		    "ActiveConfigurationSet"
+    $ObjectID		    1
+  }
+  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		      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		      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		      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		      Step
+      Time		      "1"
+      Before		      "0"
+      After		      "1"
+      SampleTime	      "-1"
+      VectorParams1D	      on
+      ZeroCross		      on
+    }
+    Block {
+      BlockType		      SubSystem
+      ShowPortLabels	      "FromPortIcon"
+      Permissions	      "ReadWrite"
+      PermitHierarchicalResolution "All"
+      TreatAsAtomicUnit	      off
+      CheckFcnCallInpInsideContextMsg off
+      SystemSampleTime	      "-1"
+      RTWFcnNameOpts	      "Auto"
+      RTWFileNameOpts	      "Auto"
+      RTWMemSecFuncInitTerm   "Inherit from model"
+      RTWMemSecFuncExecute    "Inherit from model"
+      RTWMemSecDataConstants  "Inherit from model"
+      RTWMemSecDataInternal   "Inherit from model"
+      RTWMemSecDataParameters "Inherit from model"
+      SimViewingDevice	      off
+      DataTypeOverride	      "UseLocalSettings"
+      DataTypeOverrideAppliesTo	"AllNumericTypes"
+      MinMaxOverflowLogging   "UseLocalSettings"
+      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		      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		    "tank_eca_2012a"
+    Location		    [449, 449, 1471, 886]
+    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	    "1105"
+    Block {
+      BlockType		      Constant
+      Name		      "Constant"
+      SID		      "1086"
+      Position		      [255, 295, 285, 325]
+      ZOrder		      -4
+      Value		      "0"
+    }
+    Block {
+      BlockType		      Scope
+      Name		      "Control"
+      SID		      "544"
+      Ports		      [1]
+      Position		      [725, 29, 755, 61]
+      ZOrder		      147
+      Floating		      off
+      Location		      [2, 550, 578, 950]
+      Open		      on
+      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"
+      YMax		      "5.5"
+      SaveName		      "ScopeData1"
+      DataFormat	      "StructureWithTime"
+      LimitDataPoints	      off
+    }
+    Block {
+      BlockType		      SubSystem
+      Name		      "Honeywell Hardware batch"
+      SID		      "1091"
+      Ports		      [1, 1]
+      Position		      [80, 114, 155, 176]
+      ZOrder		      159
+      BackgroundColor	      "yellow"
+      MinAlgLoopOccurrences   off
+      PropExecContextOutsideSubsystem off
+      RTWSystemCode	      "Auto"
+      FunctionWithSeparateData off
+      Opaque		      off
+      RequestExecContextInheritance off
+      MaskHideContents	      off
+      System {
+	Name			"Honeywell Hardware batch"
+	Location		[302, 375, 1205, 950]
+	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			  "1092"
+	  Position		  [25, 103, 55, 117]
+	  ZOrder		  -1
+	  IconDisplay		  "Port number"
+	}
+	Block {
+	  BlockType		  Demux
+	  Name			  "Demux"
+	  SID			  "1093"
+	  Ports			  [1, 2]
+	  Position		  [640, 62, 645, 153]
+	  ZOrder		  -7
+	  ShowName		  off
+	  Outputs		  "2"
+	  DisplayOption		  "bar"
+	}
+	Block {
+	  BlockType		  Gain
+	  Name			  "Gain"
+	  SID			  "1094"
+	  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			  "1095"
+	  Position		  [695, 111, 755, 149]
+	  ZOrder		  -8
+	  Gain			  "500/390*10/9.35"
+	  ParamDataTypeStr	  "Inherit: Inherit via internal rule"
+	  OutDataTypeStr	  "Inherit: Inherit via internal rule"
+	  SaturateOnIntegerOverflow off
+	}
+	Block {
+	  BlockType		  Gain
+	  Name			  "Gain2"
+	  SID			  "1096"
+	  Position		  [135, 67, 180, 103]
+	  ZOrder		  -11
+	}
+	Block {
+	  BlockType		  Gain
+	  Name			  "Gain3"
+	  SID			  "1097"
+	  Position		  [135, 112, 180, 148]
+	  ZOrder		  -12
+	}
+	Block {
+	  BlockType		  Ground
+	  Name			  "Ground"
+	  SID			  "1098"
+	  Position		  [460, 90, 480, 110]
+	  ZOrder		  -13
+	  ShowName		  off
+	}
+	Block {
+	  BlockType		  Ground
+	  Name			  "Ground1"
+	  SID			  "1099"
+	  Position		  [55, 60, 75, 80]
+	  ZOrder		  -13
+	  ShowName		  off
+	}
+	Block {
+	  BlockType		  Mux
+	  Name			  "Mux1"
+	  SID			  "1100"
+	  Ports			  [2, 1]
+	  Position		  [235, 61, 240, 154]
+	  ZOrder		  -12
+	  ShowName		  off
+	  Inputs		  "2"
+	  DisplayOption		  "bar"
+	}
+	Block {
+	  BlockType		  S-Function
+	  Name			  "S-Function"
+	  SID			  "1101"
+	  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			  "1102"
+	  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			  "1103"
+	  Position		  [425, 90, 445, 110]
+	  ZOrder		  -18
+	  ShowName		  off
+	}
+	Block {
+	  BlockType		  Terminator
+	  Name			  "Terminator1"
+	  SID			  "1104"
+	  Position		  [820, 75, 840, 95]
+	  ZOrder		  -18
+	  ShowName		  off
+	}
+	Block {
+	  BlockType		  Outport
+	  Name			  "[  u ]"
+	  SID			  "1105"
+	  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		      "Logger"
+      SID		      "76"
+      Ports		      [4]
+      Position		      [730, 103, 750, 292]
+      ZOrder		      91
+      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			  "u1"
+	  SID			  "77"
+	  Position		  [20, 23, 50, 37]
+	  ZOrder		  88
+	  IconDisplay		  "Port number"
+	  SampleTime		  "simopt.h"
+	}
+	Block {
+	  BlockType		  Inport
+	  Name			  "y1"
+	  SID			  "79"
+	  Position		  [20, 58, 50, 72]
+	  ZOrder		  90
+	  Port			  "2"
+	  IconDisplay		  "Port number"
+	  SampleTime		  "simopt.h"
+	}
+	Block {
+	  BlockType		  Inport
+	  Name			  "u2"
+	  SID			  "443"
+	  Position		  [20, 103, 50, 117]
+	  ZOrder		  91
+	  Port			  "3"
+	  IconDisplay		  "Port number"
+	  SampleTime		  "simopt.h"
+	}
+	Block {
+	  BlockType		  Inport
+	  Name			  "y2"
+	  SID			  "444"
+	  Position		  [20, 143, 50, 157]
+	  ZOrder		  92
+	  Port			  "4"
+	  IconDisplay		  "Port number"
+	  SampleTime		  "simopt.h"
+	}
+	Block {
+	  BlockType		  ToWorkspace
+	  Name			  "Logger"
+	  SID			  "69"
+	  Ports			  [1]
+	  Position		  [140, 75, 200, 105]
+	  ZOrder		  87
+	  VariableName		  "simout"
+	  MaxDataPoints		  "inf"
+	  SampleTime		  "simopt.h"
+	  SaveFormat		  "Structure With Time"
+	}
+	Block {
+	  BlockType		  Mux
+	  Name			  "Mux"
+	  SID			  "68"
+	  Ports			  [4, 1]
+	  Position		  [75, 12, 80, 168]
+	  ZOrder		  86
+	  ShowName		  off
+	  DisplayOption		  "bar"
+	}
+	Line {
+	  SrcBlock		  "Mux"
+	  SrcPort		  1
+	  DstBlock		  "Logger"
+	  DstPort		  1
+	}
+	Line {
+	  SrcBlock		  "u1"
+	  SrcPort		  1
+	  DstBlock		  "Mux"
+	  DstPort		  1
+	}
+	Line {
+	  SrcBlock		  "y1"
+	  SrcPort		  1
+	  Points		  [3, 0; 0, 5]
+	  DstBlock		  "Mux"
+	  DstPort		  2
+	}
+	Line {
+	  SrcBlock		  "u2"
+	  SrcPort		  1
+	  DstBlock		  "Mux"
+	  DstPort		  3
+	}
+	Line {
+	  SrcBlock		  "y2"
+	  SrcPort		  1
+	  DstBlock		  "Mux"
+	  DstPort		  4
+	}
+      }
+    }
+    Block {
+      BlockType		      Scope
+      Name		      "Lower tank"
+      SID		      "545"
+      Ports		      [1]
+      Position		      [870, 174, 900, 206]
+      ZOrder		      148
+      Floating		      off
+      Location		      [582, 93, 1166, 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		      "0.25"
+      YMax		      "3.5"
+      SaveName		      "ScopeData2"
+      DataFormat	      "StructureWithTime"
+      LimitDataPoints	      off
+    }
+    Block {
+      BlockType		      Reference
+      Name		      "Noise filter1"
+      SID		      "27"
+      Ports		      [1, 1]
+      Position		      [510, 154, 575, 196]
+      ZOrder		      94
+      LibraryVersion	      "1.108"
+      SourceBlock	      "cstblocks/LTI System"
+      SourceType	      "LTI Block"
+      sys		      "simopt.F"
+      IC		      "[]"
+    }
+    Block {
+      BlockType		      Reference
+      Name		      "Noise filter2"
+      SID		      "442"
+      Ports		      [1, 1]
+      Position		      [510, 244, 575, 286]
+      ZOrder		      141
+      LibraryVersion	      "1.108"
+      SourceBlock	      "cstblocks/LTI System"
+      SourceType	      "LTI Block"
+      sys		      "simopt.F"
+      IC		      "[]"
+    }
+    Block {
+      BlockType		      SubSystem
+      Name		      "Real Quadtank"
+      SID		      "870"
+      Ports		      [2, 4]
+      Position		      [305, 120, 395, 215]
+      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		[0, 92, 1280, 1024]
+	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	"32"
+	Block {
+	  BlockType		  Inport
+	  Name			  "u1"
+	  SID			  "870:1"
+	  Position		  [260, 148, 290, 162]
+	  ZOrder		  -1
+	  IconDisplay		  "Port number"
+	}
+	Block {
+	  BlockType		  Inport
+	  Name			  "u2"
+	  SID			  "870:2"
+	  Position		  [260, 408, 290, 422]
+	  ZOrder		  -2
+	  Port			  "2"
+	  IconDisplay		  "Port number"
+	}
+	Block {
+	  BlockType		  S-Function
+	  Name			  "AnalogIn 0"
+	  SID			  "870: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			  "870: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			  "870: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			  "870: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			  "870: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			  "870: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			  "870: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			  "870:10"
+	  Ports			  [2, 1]
+	  Position		  [460, 372, 520, 403]
+	  ZOrder		  -10
+	  FunctionName		  "analogout"
+	  Parameters		  "h [30]"
+	  EnableBusSupport	  off
+	}
+	Block {
+	  BlockType		  Ground
+	  Name			  "Ground"
+	  SID			  "870:11"
+	  Position		  [95, 120, 115, 140]
+	  ZOrder		  -11
+	}
+	Block {
+	  BlockType		  Ground
+	  Name			  "Ground1"
+	  SID			  "870:12"
+	  Position		  [95, 380, 115, 400]
+	  ZOrder		  -12
+	}
+	Block {
+	  BlockType		  TransferFcn
+	  Name			  "LP 1"
+	  SID			  "870:13"
+	  Position		  [300, 192, 360, 228]
+	  ZOrder		  -13
+	  Denominator		  "[0.04 0.4 1]"
+	}
+	Block {
+	  BlockType		  TransferFcn
+	  Name			  "LP 2"
+	  SID			  "870:14"
+	  Position		  [300, 457, 360, 493]
+	  ZOrder		  -14
+	  Denominator		  "[0.04 0.4 1]"
+	}
+	Block {
+	  BlockType		  TransferFcn
+	  Name			  "LP 3"
+	  SID			  "870:15"
+	  Position		  [300, 292, 360, 328]
+	  ZOrder		  -15
+	  Denominator		  "[0.04 0.4 1]"
+	}
+	Block {
+	  BlockType		  TransferFcn
+	  Name			  "LP 4"
+	  SID			  "870:16"
+	  Position		  [305, 557, 365, 593]
+	  ZOrder		  -16
+	  Denominator		  "[0.04 0.4 1]"
+	}
+	Block {
+	  BlockType		  Mux
+	  Name			  "Mux"
+	  SID			  "870:17"
+	  Ports			  [2, 1]
+	  Position		  [315, 123, 320, 167]
+	  ZOrder		  -17
+	  ShowName		  off
+	  Inputs		  "2"
+	  DisplayOption		  "bar"
+	}
+	Block {
+	  BlockType		  Mux
+	  Name			  "Mux1"
+	  SID			  "870: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			  "870:19"
+	  Ports			  [0, 1]
+	  Position		  [110, 30, 170, 60]
+	  ZOrder		  -19
+	  FunctionName		  "realtimer"
+	  Parameters		  "h"
+	  EnableBusSupport	  off
+	}
+	Block {
+	  BlockType		  Scope
+	  Name			  "Scope"
+	  SID			  "870: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			  "870:21"
+	  Position		  [545, 120, 565, 140]
+	  ZOrder		  -21
+	}
+	Block {
+	  BlockType		  Terminator
+	  Name			  "Terminator1"
+	  SID			  "870:22"
+	  Position		  [550, 380, 570, 400]
+	  ZOrder		  -22
+	}
+	Block {
+	  BlockType		  Terminator
+	  Name			  "Terminator2"
+	  SID			  "870:23"
+	  Position		  [240, 185, 260, 205]
+	  ZOrder		  -23
+	}
+	Block {
+	  BlockType		  Terminator
+	  Name			  "Terminator3"
+	  SID			  "870:24"
+	  Position		  [240, 285, 260, 305]
+	  ZOrder		  -24
+	}
+	Block {
+	  BlockType		  Terminator
+	  Name			  "Terminator4"
+	  SID			  "870:25"
+	  Position		  [235, 450, 255, 470]
+	  ZOrder		  -25
+	}
+	Block {
+	  BlockType		  Terminator
+	  Name			  "Terminator5"
+	  SID			  "870:26"
+	  Position		  [240, 550, 260, 570]
+	  ZOrder		  -26
+	}
+	Block {
+	  BlockType		  MATLABFcn
+	  Name			  "flow controller 1"
+	  SID			  "870:27"
+	  Ports			  [1, 1]
+	  Position		  [345, 130, 405, 160]
+	  ZOrder		  -27
+	  MATLABFcn		  "flowCtrl1"
+	  SampleTime		  "0.01"
+	}
+	Block {
+	  BlockType		  MATLABFcn
+	  Name			  "flow controller 2"
+	  SID			  "870:28"
+	  Ports			  [1, 1]
+	  Position		  [350, 390, 410, 420]
+	  ZOrder		  -28
+	  MATLABFcn		  "flowCtrl2"
+	  SampleTime		  "0.01"
+	}
+	Block {
+	  BlockType		  Outport
+	  Name			  "y1"
+	  SID			  "870:29"
+	  Position		  [385, 203, 415, 217]
+	  ZOrder		  -29
+	  IconDisplay		  "Port number"
+	}
+	Block {
+	  BlockType		  Outport
+	  Name			  "y2"
+	  SID			  "870:30"
+	  Position		  [385, 468, 415, 482]
+	  ZOrder		  -30
+	  Port			  "2"
+	  IconDisplay		  "Port number"
+	}
+	Block {
+	  BlockType		  Outport
+	  Name			  "y3"
+	  SID			  "870:31"
+	  Position		  [385, 303, 415, 317]
+	  ZOrder		  -31
+	  Port			  "3"
+	  IconDisplay		  "Port number"
+	}
+	Block {
+	  BlockType		  Outport
+	  Name			  "y4"
+	  SID			  "870:32"
+	  Position		  [390, 568, 420, 582]
+	  ZOrder		  -32
+	  Port			  "4"
+	  IconDisplay		  "Port number"
+	}
+	Line {
+	  SrcBlock		  "LP 4"
+	  SrcPort		  1
+	  DstBlock		  "y4"
+	  DstPort		  1
+	}
+	Line {
+	  SrcBlock		  "LP 2"
+	  SrcPort		  1
+	  DstBlock		  "y2"
+	  DstPort		  1
+	}
+	Line {
+	  SrcBlock		  "LP 3"
+	  SrcPort		  1
+	  DstBlock		  "y3"
+	  DstPort		  1
+	}
+	Line {
+	  SrcBlock		  "LP 1"
+	  SrcPort		  1
+	  DstBlock		  "y1"
+	  DstPort		  1
+	}
+	Line {
+	  SrcBlock		  "AnalogIn 0"
+	  SrcPort		  2
+	  DstBlock		  "Mux"
+	  DstPort		  1
+	}
+	Line {
+	  SrcBlock		  "AnalogIn 1"
+	  SrcPort		  2
+	  DstBlock		  "Mux1"
+	  DstPort		  1
+	}
+	Line {
+	  SrcBlock		  "flow controller 2"
+	  SrcPort		  1
+	  Points		  [30, 0]
+	  DstBlock		  "AnalogOut 1"
+	  DstPort		  2
+	}
+	Line {
+	  SrcBlock		  "Mux1"
+	  SrcPort		  1
+	  DstBlock		  "flow controller 2"
+	  DstPort		  1
+	}
+	Line {
+	  SrcBlock		  "u2"
+	  SrcPort		  1
+	  DstBlock		  "Mux1"
+	  DstPort		  2
+	}
+	Line {
+	  SrcBlock		  "flow controller 1"
+	  SrcPort		  1
+	  Points		  [30, 0]
+	  DstBlock		  "AnalogOut 0"
+	  DstPort		  2
+	}
+	Line {
+	  SrcBlock		  "Mux"
+	  SrcPort		  1
+	  DstBlock		  "flow controller 1"
+	  DstPort		  1
+	}
+	Line {
+	  SrcBlock		  "u1"
+	  SrcPort		  1
+	  DstBlock		  "Mux"
+	  DstPort		  2
+	}
+	Line {
+	  SrcBlock		  "AnalogIn 5"
+	  SrcPort		  1
+	  DstBlock		  "Terminator5"
+	  DstPort		  1
+	}
+	Line {
+	  SrcBlock		  "AnalogIn 2"
+	  SrcPort		  1
+	  DstBlock		  "Terminator4"
+	  DstPort		  1
+	}
+	Line {
+	  SrcBlock		  "Ground1"
+	  SrcPort		  1
+	  Points		  [10, 0]
+	  Branch {
+	    DstBlock		    "AnalogIn 1"
+	    DstPort		    1
+	  }
+	  Branch {
+	    Points		    [0, 80]
+	    Branch {
+	      DstBlock		      "AnalogIn 2"
+	      DstPort		      1
+	    }
+	    Branch {
+	      Points		      [0, 100]
+	      DstBlock		      "AnalogIn 5"
+	      DstPort		      1
+	    }
+	  }
+	}
+	Line {
+	  SrcBlock		  "AnalogIn 5"
+	  SrcPort		  2
+	  DstBlock		  "LP 4"
+	  DstPort		  1
+	}
+	Line {
+	  SrcBlock		  "AnalogIn 2"
+	  SrcPort		  2
+	  DstBlock		  "LP 2"
+	  DstPort		  1
+	}
+	Line {
+	  SrcBlock		  "AnalogIn 4"
+	  SrcPort		  1
+	  DstBlock		  "Terminator3"
+	  DstPort		  1
+	}
+	Line {
+	  SrcBlock		  "AnalogIn 3"
+	  SrcPort		  1
+	  DstBlock		  "Terminator2"
+	  DstPort		  1
+	}
+	Line {
+	  SrcBlock		  "Ground"
+	  SrcPort		  1
+	  Points		  [10, 0]
+	  Branch {
+	    Points		    [0, 75]
+	    Branch {
+	      Points		      [0, 100]
+	      DstBlock		      "AnalogIn 4"
+	      DstPort		      1
+	    }
+	    Branch {
+	      DstBlock		      "AnalogIn 3"
+	      DstPort		      1
+	    }
+	  }
+	  Branch {
+	    DstBlock		    "AnalogIn 0"
+	    DstPort		    1
+	  }
+	}
+	Line {
+	  SrcBlock		  "AnalogIn 4"
+	  SrcPort		  2
+	  DstBlock		  "LP 3"
+	  DstPort		  1
+	}
+	Line {
+	  SrcBlock		  "AnalogIn 3"
+	  SrcPort		  2
+	  DstBlock		  "LP 1"
+	  DstPort		  1
+	}
+	Line {
+	  SrcBlock		  "AnalogOut 1"
+	  SrcPort		  1
+	  DstBlock		  "Terminator1"
+	  DstPort		  1
+	}
+	Line {
+	  SrcBlock		  "AnalogIn 1"
+	  SrcPort		  1
+	  DstBlock		  "AnalogOut 1"
+	  DstPort		  1
+	}
+	Line {
+	  SrcBlock		  "AnalogOut 0"
+	  SrcPort		  1
+	  DstBlock		  "Terminator"
+	  DstPort		  1
+	}
+	Line {
+	  SrcBlock		  "AnalogIn 0"
+	  SrcPort		  1
+	  DstBlock		  "AnalogOut 0"
+	  DstPort		  1
+	}
+	Line {
+	  SrcBlock		  "S-Function2"
+	  SrcPort		  1
+	  DstBlock		  "Scope"
+	  DstPort		  1
+	}
+      }
+    }
+    Block {
+      BlockType		      Step
+      Name		      "Step1"
+      SID		      "1088"
+      Position		      [125, 205, 155, 235]
+      ZOrder		      -4
+      Time		      "300"
+      Before		      "2"
+      After		      "3"
+      SampleTime	      "simopt.h"
+    }
+    Block {
+      BlockType		      Step
+      Name		      "Step2"
+      SID		      "1089"
+      Position		      [125, 270, 155, 300]
+      ZOrder		      -4
+      Time		      "1000"
+      SampleTime	      "simopt.h"
+    }
+    Block {
+      BlockType		      Sum
+      Name		      "Sum1"
+      SID		      "1090"
+      Ports		      [2, 1]
+      Position		      [190, 205, 220, 235]
+      ZOrder		      -5
+      ShowName		      off
+      IconShape		      "round"
+      Inputs		      "|+-"
+    }
+    Block {
+      BlockType		      TransportDelay
+      Name		      "Transport\nDelay"
+      SID		      "1087"
+      Ports		      [1, 1]
+      Position		      [220, 130, 250, 160]
+      ZOrder		      -10
+      DelayTime		      "20"
+    }
+    Block {
+      BlockType		      Scope
+      Name		      "Upper tank"
+      SID		      "995"
+      Ports		      [1]
+      Position		      [880, 299, 910, 331]
+      ZOrder		      148
+      Floating		      off
+      Location		      [2, 95, 586, 485]
+      Open		      on
+      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		      "0"
+      YMax		      "10.5"
+      SaveName		      "ScopeData3"
+      DataFormat	      "StructureWithTime"
+      LimitDataPoints	      off
+    }
+    Line {
+      SrcBlock		      "Noise filter1"
+      SrcPort		      1
+      Points		      [94, 0]
+      Branch {
+	Points			[0, 15]
+	DstBlock		"Lower tank"
+	DstPort			1
+      }
+      Branch {
+	DstBlock		"Logger"
+	DstPort			2
+      }
+    }
+    Line {
+      SrcBlock		      "Noise filter2"
+      SrcPort		      1
+      Points		      [15, 0]
+      Branch {
+	Points			[90, 0]
+	Branch {
+	  DstBlock		  "Logger"
+	  DstPort		  4
+	}
+	Branch {
+	  Points		  [0, 50]
+	  DstBlock		  "Upper tank"
+	  DstPort		  1
+	}
+      }
+      Branch {
+	Points			[0, 70; -530, 0]
+	DstBlock		"Honeywell Hardware batch"
+	DstPort			1
+      }
+    }
+    Line {
+      SrcBlock		      "Real Quadtank"
+      SrcPort		      2
+      Points		      [45, 0; 0, 20]
+      DstBlock		      "Noise filter1"
+      DstPort		      1
+    }
+    Line {
+      SrcBlock		      "Real Quadtank"
+      SrcPort		      4
+      Points		      [45, 0; 0, 60]
+      DstBlock		      "Noise filter2"
+      DstPort		      1
+    }
+    Line {
+      SrcBlock		      "Honeywell Hardware batch"
+      SrcPort		      1
+      Points		      [20, 0]
+      Branch {
+	Points			[0, -40; 340, 0]
+	Branch {
+	  Points		  [195, 0]
+	  DstBlock		  "Logger"
+	  DstPort		  1
+	}
+	Branch {
+	  Points		  [0, -60]
+	  DstBlock		  "Control"
+	  DstPort		  1
+	}
+      }
+      Branch {
+	DstBlock		"Transport\nDelay"
+	DstPort			1
+      }
+    }
+    Line {
+      SrcBlock		      "Transport\nDelay"
+      SrcPort		      1
+      DstBlock		      "Real Quadtank"
+      DstPort		      1
+    }
+    Line {
+      SrcBlock		      "Step1"
+      SrcPort		      1
+      DstBlock		      "Sum1"
+      DstPort		      1
+    }
+    Line {
+      SrcBlock		      "Step2"
+      SrcPort		      1
+      Points		      [45, 0]
+      DstBlock		      "Sum1"
+      DstPort		      2
+    }
+    Line {
+      SrcBlock		      "Sum1"
+      SrcPort		      1
+      Points		      [60, 0; 0, -30]
+      DstBlock		      "Real Quadtank"
+      DstPort		      2
+    }
+  }
+}
+# Finite State Machines
+#
+#    Stateflow Version 7.6 (R2011b) dated Jan 25 2012, 13:50:40
+#
+#
+
+
+Stateflow {
+  machine {
+    id			    1
+    name		    "tank_eca_2012a"
+    created		    "01-Jul-2013 12:16:13"
+    isLibrary		    0
+    firstTarget		    2
+    sfVersion		    76014001.00040001
+  }
+  target {
+    id			    2
+    name		    "sfun"
+    description		    "Default Simulink S-Function Target."
+    machine		    1
+    linkNode		    [1 0 0]
+  }
+}
diff --git a/README.md b/README.md
index 6255b6c..3e727bc 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
 
 Matlab code and Simulink blocks for the Tau-tuner, NOMAD and Multi-NOMAD autotuner described further in the PhD Thesis "Automatic Controller Tuning using Relay-based Model Identification" by Josefin Berner 2017.
 
-All the used simulink blocks are in the AT-library folder. Apart from the three Autotuner versions the library also contains simulink blocks for a simple second order simulation example as well as a block for the two-input two-output model Wood-Berry distillation column.
+All the used simulink blocks are in the AT-library in the Autotuners folder. Apart from the three Autotuner versions the library also contains simulink blocks for a simple second order simulation example as well as a block for the two-input two-output model Wood-Berry distillation column.
 
 To run the experiments open the setup_script.m and choose the version you want to run. Remember to put in the wanted autotuner block and process model in the simulink file autotuner_siso_2012a.mdl if you are running a SISO experiment.
 
@@ -10,3 +10,5 @@ If the NOMAD or multi-NOMAD is used it will be using cvx, so make sure it is set
 All the needed parameters are set in the script setParams.m. Look it through to see if the values on times, nominal control signals etc. are appropriate for your experiments.
 
 The files are compatible with Matlab2012a. If you want to use another matlab version they may need to be converted somehow.
+
+In the ExtraLTH folder there are some additional Simulink blocks in the AT-library that could be useful in the LTH control lab. There are Simulink blocks for the industrial controllers ECA and Honeywell, as well as Simulink blocks for the interface to the quadtank and batch tank processes. A Simulink model using those, as well as a setup script example for the industrial tests are also provided.
-- 
GitLab