Model { Name "simple_ignition_2005" Version 6.2 MdlSubVersion 0 GraphicalInterface { NumRootInports 0 NumRootOutports 0 ParameterArgumentNames "" ComputedModelVersion "1.36" NumModelReferences 0 NumTestPointedSignals 0 } SavedCharacterEncoding "ibm-5348_P100-1997" SaveDefaultBlockParams on SampleTimeColors off LibraryLinkDisplay "none" WideLines off ShowLineDimensions off ShowPortDataTypes off ShowLoopsOnError on IgnoreBidirectionalLines off ShowStorageClass off ShowTestPointIcons on ShowViewerIcons on SortedOrder off ExecutionContextIcon off ShowLinearizationAnnotations on RecordCoverage off CovPath "/" CovSaveName "covdata" CovMetricSettings "dw" CovNameIncrementing off CovHtmlReporting on covSaveCumulativeToWorkspaceVar on CovSaveSingleToWorkspaceVar on CovCumulativeVarName "covCumulativeData" CovCumulativeReport off CovReportOnPause on ScopeRefreshTime 0.035000 OverrideScopeRefreshTime on DisableAllScopes off DataTypeOverride "UseLocalSettings" MinMaxOverflowLogging "UseLocalSettings" MinMaxOverflowArchiveMode "Overwrite" BlockNameDataTip off BlockParametersDataTip off BlockDescriptionStringDataTip off ToolBar on StatusBar on BrowserShowLibraryLinks off BrowserLookUnderMasks off Created "Tue Feb 18 15:25:00 2003" Creator "mf" UpdateHistory "UpdateHistoryNever" ModifiedByFormat "%" LastModifiedBy "Martin Fraenzle" ModifiedDateFormat "%" LastModifiedDate "Thu Apr 21 11:39:04 2005" ModelVersionFormat "1.%" ConfigurationManager "None" LinearizationMsg "none" Profile off ParamWorkspaceSource "MATLABWorkspace" AccelSystemTargetFile "accel.tlc" AccelTemplateMakefile "accel_default_tmf" AccelMakeCommand "make_rtw" TryForcingSFcnDF 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 off BufferReuse on StrictBusMsg "None" ProdHWDeviceType "32-bit Generic" ShowModelReferenceBlockVersion off ShowModelReferenceBlockIO off Array { Type "Handle" Dimension 1 Simulink.ConfigSet { $ObjectID 1 Version "1.1.0" Array { Type "Handle" Dimension 7 Simulink.SolverCC { $ObjectID 2 Version "1.1.0" StartTime "0.0" StopTime "2.5" AbsTol "auto" FixedStep "5e-6" InitialStep "auto" MaxNumMinSteps "-1" MaxOrder 5 ExtrapolationOrder 4 NumberNewtonIterations 1 MaxStep "auto" MinStep "auto" RelTol "1e-4" SolverMode "Auto" Solver "ode5" SolverName "ode5" ZeroCrossControl "UseLocalSettings" AlgebraicLoopSolver "TrustRegion" SolverResetMethod "Fast" PositivePriorityOrder off AutoInsertRateTranBlk off SampleTimeConstraint "Unconstrained" RateTranMode "Deterministic" } Simulink.DataIOCC { $ObjectID 3 Version "1.1.0" Decimation "1" ExternalInput "[t, u]" FinalStateName "xFinal" InitialState "xInitial" LimitDataPoints on MaxDataPoints "1000" LoadExternalInput off LoadInitialState off SaveFinalState off SaveFormat "Array" SaveOutput on SaveState off SignalLogging on SaveTime on StateSaveName "xout" TimeSaveName "tout" OutputSaveName "yout" SignalLoggingName "sigsOut" OutputOption "RefineOutputTimes" OutputTimes "[]" Refine "1" } Simulink.OptimizationCC { $ObjectID 4 Version "1.1.0" BlockReduction on BooleanDataType off ConditionallyExecuteInputs on InlineParams off InlineInvariantSignals off OptimizeBlockIOStorage on BufferReuse on EnforceIntegerDowncast on ExpressionFolding on FoldNonRolledExpr on LocalBlockOutputs on ParameterPooling on RollThreshold 5 SystemCodeInlineAuto off StateBitsets off DataBitsets off UseTempVars off ZeroExternalMemoryAtStartup on ZeroInternalMemoryAtStartup on InitFltsAndDblsToZero on NoFixptDivByZeroProtection off EfficientFloat2IntCast off OptimizeModelRefInitCode off LifeSpan "inf" BufferReusableBoundary on } Simulink.DebuggingCC { $ObjectID 5 Version "1.1.0" RTPrefix "error" ConsistencyChecking "none" ArrayBoundsChecking "none" SignalInfNanChecking "none" AlgebraicLoopMsg "warning" ArtificialAlgebraicLoopMsg "warning" CheckSSInitialOutputMsg on CheckExecutionContextPreStartOutputMsg off CheckExecutionContextRuntimeOutputMsg off SignalResolutionControl "TryResolveAllWithWarning" BlockPriorityViolationMsg "warning" MinStepSizeMsg "warning" SolverPrmCheckMsg "none" InheritedTsInSrcMsg "warning" DiscreteInheritContinuousMsg "warning" MultiTaskDSMMsg "warning" MultiTaskRateTransMsg "error" SingleTaskRateTransMsg "none" TasksWithSamePriorityMsg "warning" CheckMatrixSingularityMsg "none" IntegerOverflowMsg "warning" Int32ToFloatConvMsg "warning" ParameterDowncastMsg "error" ParameterOverflowMsg "error" ParameterPrecisionLossMsg "warning" UnderSpecifiedDataTypeMsg "none" UnnecessaryDatatypeConvMsg "none" VectorMatrixConversionMsg "none" InvalidFcnCallConnMsg "error" FcnCallInpInsideContextMsg "Use local settings" SignalLabelMismatchMsg "none" UnconnectedInputMsg "warning" UnconnectedOutputMsg "warning" UnconnectedLineMsg "warning" SFcnCompatibilityMsg "none" UniqueDataStoreMsg "none" BusObjectLabelMismatch "warning" RootOutportRequireBusObject "warning" AssertControl "UseLocalSettings" EnableOverflowDetection off ModelReferenceIOMsg "none" ModelReferenceVersionMismatchMessage "none" ModelReferenceIOMismatchMessage "none" ModelReferenceCSMismatchMessage "none" ModelReferenceSimTargetVerbose off UnknownTsInhSupMsg "warning" ModelReferenceDataLoggingMessage "warning" ModelReferenceSymbolNameMessage "warning" ModelReferenceExtraNoncontSigs "error" } Simulink.HardwareCC { $ObjectID 6 Version "1.1.0" ProdBitPerChar 8 ProdBitPerShort 16 ProdBitPerInt 32 ProdBitPerLong 32 ProdIntDivRoundTo "Undefined" ProdEndianess "Unspecified" ProdWordSize 32 ProdShiftRightIntArith on ProdHWDeviceType "32-bit Generic" TargetBitPerChar 8 TargetBitPerShort 16 TargetBitPerInt 32 TargetBitPerLong 32 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.1.0" UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange" CheckModelReferenceTargetMessage "error" ModelReferenceNumInstancesAllowed "Multi" ModelReferencePassRootInputsByReference on ModelReferenceMinAlgLoopOccurrences off } Simulink.RTWCC { $BackupClass "Simulink.RTWCC" $ObjectID 8 Version "1.1.0" SystemTargetFile "grt.tlc" GenCodeOnly off MakeCommand "make_rtw" 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 IncludeHyperlinkInReport off LaunchReport off TargetLang "C" Array { Type "Handle" Dimension 2 Simulink.CodeAppCC { $ObjectID 9 Version "1.1.0" ForceParamTrailComments off GenerateComments on IgnoreCustomStorageClasses on IncHierarchyInIds off MaxIdLength 31 PreserveName off PreserveNameWithParent off ShowEliminatedStatement off IncAutoGenComments off SimulinkDataObjDesc off SFDataObjDesc off IncDataTypeInIds off PrefixModelToSubsysFcnNames on CustomSymbolStr "$R$N$M" MangleLength 1 DefineNamingRule "None" ParamNamingRule "None" SignalNamingRule "None" InsertBlockDesc off SimulinkBlockComments on EnableCustomComments off InlinedPrmAccess "Literals" ReqsInCode off } Simulink.GRTTargetCC { $BackupClass "Simulink.TargetCC" $ObjectID 10 Version "1.1.0" TargetFcnLib "ansi_tfl_tmw.mat" TargetLibSuffix "" TargetPreCompLibLocation "" GenFloatMathFcnCalls "ANSI_C" UtilityFuncGeneration "Auto" GenerateFullHeader on GenerateSampleERTMain off IsPILTarget off ModelReferenceCompliant off IncludeMdlTerminateFcn on CombineOutputUpdateFcns off SuppressErrorStatus off IncludeFileDelimiter "Auto" ERTCustomFileBanners off SupportAbsoluteTime on LogVarNameModifier "rt_" MatFileLogging off MultiInstanceERTCode off SupportNonFinite on SupportComplex on PurelyIntegerCode off SupportContinuousTime on SupportNonInlinedSFcns on ExtMode off ExtModeStaticAlloc off ExtModeTesting off ExtModeStaticAllocSize 1000000 ExtModeTransport 0 ExtModeMexFile "ext_comm" RTWCAPISignals off RTWCAPIParams off RTWCAPIStates off GenerateASAP2 off } PropName "Components" } } PropName "Components" } Name "Configuration" SimulationMode "normal" CurrentDlgPage "Solver" } PropName "ConfigurationSets" } Simulink.ConfigSet { $PropName "ActiveConfigurationSet" $ObjectID 1 } BlockDefaults { Orientation "right" ForegroundColor "black" BackgroundColor "white" DropShadow off NamePlacement "normal" FontName "Helvetica" FontSize 10 FontWeight "normal" FontAngle "normal" ShowName on } BlockParameterDefaults { Block { BlockType ComplexToMagnitudeAngle Output "Magnitude and angle" SampleTime "-1" } Block { BlockType Constant Value "1" VectorParams1D on OutDataTypeMode "Inherit from 'Constant value'" OutDataType "sfix(16)" ConRadixGroup "Use specified scaling" OutScaling "2^0" SampleTime "inf" } Block { BlockType Demux Outputs "4" DisplayOption "none" BusSelectionMode off } Block { BlockType DiscretePulseGenerator PulseType "Sample based" TimeSource "Use simulation time" Amplitude "1" Period "2" PulseWidth "1" PhaseDelay "0" SampleTime "1" VectorParams1D on } Block { BlockType Gain Gain "1" Multiplication "Element-wise(K.*u)" ParameterDataTypeMode "Same as input" ParameterDataType "sfix(16)" ParameterScalingMode "Best Precision: Matrix-wise" ParameterScaling "2^0" OutDataTypeMode "Same as input" OutDataType "sfix(16)" OutScaling "2^0" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on SampleTime "-1" } Block { BlockType Inport UseBusObject off BusObject "BusObject" BusOutputAsStruct off PortDimensions "-1" SampleTime "-1" DataType "auto" OutDataType "sfix(16)" OutScaling "2^0" SignalType "auto" SamplingMode "auto" Interpolate on } Block { BlockType Integrator ExternalReset "none" InitialConditionSource "internal" InitialCondition "0" LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" IgnoreLimit off ZeroCross on } Block { BlockType MagnitudeAngleToComplex Input "Magnitude and angle" ConstantPart "0" SampleTime "-1" } Block { BlockType Mux Inputs "4" DisplayOption "none" UseBusObject off BusObject "BusObject" NonVirtualBus off } Block { BlockType Outport Port "1" UseBusObject off BusObject "BusObject" BusOutputAsStruct off PortDimensions "-1" SampleTime "-1" DataType "auto" OutDataType "sfix(16)" OutScaling "2^0" SignalType "auto" SamplingMode "auto" OutputWhenDisabled "held" InitialOutput "[]" } Block { BlockType RateLimiter RisingSlewLimit "1" FallingSlewLimit "-1" SampleTimeMode "continuous" InitialCondition "0" LinearizeAsGain on } Block { BlockType RelationalOperator Operator ">=" InputSameDT on LogicOutDataTypeMode "Logical (see Configuration Parameters: Optimiza" "tion)" LogicDataType "uint(8)" ZeroCross on SampleTime "-1" } Block { BlockType Scope Floating off ModelBased off TickLabels "OneTimeTick" ZoomMode "on" Grid "on" TimeRange "auto" YMin "-5" YMax "5" SaveToWorkspace off SaveName "ScopeData" LimitDataPoints on MaxDataPoints "5000" Decimation "1" SampleInput off SampleTime "0" } Block { BlockType "S-Function" FunctionName "system" SFunctionModules "''" PortCounts "[]" } Block { BlockType SubSystem ShowPortLabels on Permissions "ReadWrite" PermitHierarchicalResolution "All" SystemSampleTime "-1" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" SimViewingDevice off DataTypeOverride "UseLocalSettings" MinMaxOverflowLogging "UseLocalSettings" } Block { BlockType Sum IconShape "rectangular" Inputs "++" InputSameDT on OutDataTypeMode "Same as first input" OutDataType "sfix(16)" OutScaling "2^0" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on SampleTime "-1" } Block { BlockType Switch Criteria "u2 >= Threshold" Threshold "0" InputSameDT on OutDataTypeMode "Inherit via internal rule" RndMeth "Floor" SaturateOnIntegerOverflow on ZeroCross on SampleTime "-1" } Block { BlockType Terminator } Block { BlockType TriggerPort TriggerType "rising" StatesWhenEnabling "inherit" ShowOutputPort off OutputDataType "auto" SampleTimeType "triggered" SampleTime "1" ZeroCross on } Block { BlockType Trigonometry Operator "sin" OutputSignalType "auto" SampleTime "-1" } } AnnotationDefaults { HorizontalAlignment "center" VerticalAlignment "middle" ForegroundColor "black" BackgroundColor "white" DropShadow off FontName "Helvetica" FontSize 10 FontWeight "normal" FontAngle "normal" } LineDefaults { FontName "Helvetica" FontSize 9 FontWeight "normal" FontAngle "normal" } System { Name "simple_ignition_2005" Location [341, 285, 1259, 914] Open on ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "A4" PaperUnits "centimeters" ZoomFactor "100" ReportName "simulink-default.rpt" Block { BlockType DiscretePulseGenerator Name "10 mus\nclock" Ports [0, 1] Position [377, 295, 423, 325] Orientation "up" NamePlacement "alternate" PulseType "Time based" Period "1e-5" PulseWidth "50" } Block { BlockType Constant Name "Constant" Position [138, 15, 162, 35] Orientation "down" NamePlacement "alternate" ShowName off } Block { BlockType Demux Name "Demux" Ports [1, 4] Position [585, 531, 590, 569] BackgroundColor "black" ShowName off } Block { BlockType SubSystem Name "Engine" Ports [5, 3] Position [300, 373, 500, 507] BackgroundColor "orange" TreatAsAtomicUnit off MinAlgLoopOccurrences off RTWSystemCode "Auto" System { Name "Engine" Location [443, 214, 1156, 986] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "A4" PaperUnits "centimeters" ZoomFactor "100" Block { BlockType Inport Name "Ignite1" Position [20, 53, 50, 67] Port "1" IconDisplay "Port number" DataType "boolean" LatchInput off } Block { BlockType Inport Name "Ignite2" Position [20, 113, 50, 127] Port "2" IconDisplay "Port number" DataType "boolean" LatchInput off } Block { BlockType Inport Name "Ignite3" Position [20, 173, 50, 187] Port "3" IconDisplay "Port number" DataType "boolean" LatchInput off } Block { BlockType Inport Name "Ignite4" Position [20, 233, 50, 247] Port "4" IconDisplay "Port number" DataType "boolean" LatchInput off } Block { BlockType Inport Name "Engine_RPM" Position [125, 655, 155, 670] Orientation "up" BackgroundColor "lightBlue" Port "5" IconDisplay "Port number" LatchInput off } Block { BlockType Constant Name "Constant" Position [395, 330, 425, 360] Orientation "down" BackgroundColor "yellow" NamePlacement "alternate" ShowName off Value "0" } Block { BlockType Gain Name "Conv. to\ngrad" Position [460, 52, 520, 88] Gain "180/pi" } Block { BlockType SubSystem Name "Cylinder1" Ports [2, 1] Position [180, 37, 245, 68] TreatAsAtomicUnit off MinAlgLoopOccurrences off RTWSystemCode "Auto" Array { Type "Handle" Dimension 0 PropName "AvailSigsLoadSave" } MaskType "Stateflow" MaskDescription "Stateflow diagram" MaskDisplay "plot(sf('Private','sfblk','xIcon'),sf('Priv" "ate','sfblk','yIcon'));text(0.5,0,sf('Private', 'sfblk', 'tIcon'),'Horizontal" "Al','Center','VerticalAl','Bottom');" MaskSelfModifiable on MaskIconFrame off MaskIconOpaque off MaskIconRotate "none" MaskIconUnits "autoscale" System { Name "Cylinder1" Location [257, 457, 812, 717] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "A4" PaperUnits "centimeters" ZoomFactor "100" Block { BlockType Inport Name "CrankPos" Position [20, 101, 40, 119] Port "1" IconDisplay "Port number" LatchInput off } Block { BlockType Inport Name "Ignite" Position [20, 136, 40, 154] Port "2" IconDisplay "Port number" LatchInput off } Block { BlockType Demux Name " Demux " Ports [1, 1] Position [270, 160, 320, 200] Outputs "1" } Block { BlockType "S-Function" Name " SFunction " Tag "Stateflow S-Function simple_ignition_20" "05 2" Ports [2, 2] Position [180, 100, 230, 160] FunctionName "sf_sfun" PortCounts "[2 2]" Port { PortNumber 2 Name "Angle" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" ShowSigGenPortName on } } Block { BlockType Terminator Name " Terminator " Position [460, 171, 480, 189] } Block { BlockType Outport Name "Angle" Position [460, 101, 480, 119] IconDisplay "Port number" BusOutputAsStruct off } Line { SrcBlock " SFunction " SrcPort 1 Points [0, 65] DstBlock " Demux " DstPort 1 } Line { SrcBlock " Demux " SrcPort 1 DstBlock " Terminator " DstPort 1 } Line { SrcBlock "CrankPos" SrcPort 1 DstBlock " SFunction " DstPort 1 } Line { SrcBlock "Ignite" SrcPort 1 DstBlock " SFunction " DstPort 2 } Line { Name "Angle" Labels [0, 0] SrcBlock " SFunction " SrcPort 2 DstBlock "Angle" DstPort 1 } } } Block { BlockType SubSystem Name "Cylinder2" Ports [2, 1] Position [180, 97, 245, 128] TreatAsAtomicUnit off MinAlgLoopOccurrences off RTWSystemCode "Auto" Array { Type "Handle" Dimension 0 PropName "AvailSigsLoadSave" } MaskType "Stateflow" MaskDescription "Stateflow diagram" MaskDisplay "plot(sf('Private','sfblk','xIcon'),sf('Priv" "ate','sfblk','yIcon'));text(0.5,0,sf('Private', 'sfblk', 'tIcon'),'Horizontal" "Al','Center','VerticalAl','Bottom');" MaskSelfModifiable on MaskIconFrame off MaskIconOpaque off MaskIconRotate "none" MaskIconUnits "autoscale" System { Name "Cylinder2" Location [257, 457, 812, 717] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "A4" PaperUnits "centimeters" ZoomFactor "100" Block { BlockType Inport Name "CrankPos" Position [20, 101, 40, 119] Port "1" IconDisplay "Port number" LatchInput off } Block { BlockType Inport Name "Ignite" Position [20, 136, 40, 154] Port "2" IconDisplay "Port number" LatchInput off } Block { BlockType Demux Name " Demux " Ports [1, 1] Position [270, 160, 320, 200] Outputs "1" } Block { BlockType "S-Function" Name " SFunction " Tag "Stateflow S-Function simple_ignition_20" "05 3" Ports [2, 2] Position [180, 100, 230, 160] FunctionName "sf_sfun" PortCounts "[2 2]" Port { PortNumber 2 Name "Angle" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" ShowSigGenPortName on } } Block { BlockType Terminator Name " Terminator " Position [460, 171, 480, 189] } Block { BlockType Outport Name "Angle" Position [460, 101, 480, 119] IconDisplay "Port number" BusOutputAsStruct off } Line { SrcBlock " SFunction " SrcPort 1 Points [0, 65] DstBlock " Demux " DstPort 1 } Line { SrcBlock " Demux " SrcPort 1 DstBlock " Terminator " DstPort 1 } Line { SrcBlock "CrankPos" SrcPort 1 DstBlock " SFunction " DstPort 1 } Line { SrcBlock "Ignite" SrcPort 1 DstBlock " SFunction " DstPort 2 } Line { Name "Angle" Labels [0, 0] SrcBlock " SFunction " SrcPort 2 DstBlock "Angle" DstPort 1 } } } Block { BlockType SubSystem Name "Cylinder3" Ports [2, 1] Position [180, 157, 245, 188] TreatAsAtomicUnit off MinAlgLoopOccurrences off RTWSystemCode "Auto" Array { Type "Handle" Dimension 0 PropName "AvailSigsLoadSave" } MaskType "Stateflow" MaskDescription "Stateflow diagram" MaskDisplay "plot(sf('Private','sfblk','xIcon'),sf('Priv" "ate','sfblk','yIcon'));text(0.5,0,sf('Private', 'sfblk', 'tIcon'),'Horizontal" "Al','Center','VerticalAl','Bottom');" MaskSelfModifiable on MaskIconFrame off MaskIconOpaque off MaskIconRotate "none" MaskIconUnits "autoscale" System { Name "Cylinder3" Location [257, 457, 812, 717] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "A4" PaperUnits "centimeters" ZoomFactor "100" Block { BlockType Inport Name "CrankPos" Position [20, 101, 40, 119] Port "1" IconDisplay "Port number" LatchInput off } Block { BlockType Inport Name "Ignite" Position [20, 136, 40, 154] Port "2" IconDisplay "Port number" LatchInput off } Block { BlockType Demux Name " Demux " Ports [1, 1] Position [270, 160, 320, 200] Outputs "1" } Block { BlockType "S-Function" Name " SFunction " Tag "Stateflow S-Function simple_ignition_20" "05 4" Ports [2, 2] Position [180, 100, 230, 160] FunctionName "sf_sfun" PortCounts "[2 2]" Port { PortNumber 2 Name "Angle" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" ShowSigGenPortName on } } Block { BlockType Terminator Name " Terminator " Position [460, 171, 480, 189] } Block { BlockType Outport Name "Angle" Position [460, 101, 480, 119] IconDisplay "Port number" BusOutputAsStruct off } Line { SrcBlock " SFunction " SrcPort 1 Points [0, 65] DstBlock " Demux " DstPort 1 } Line { SrcBlock " Demux " SrcPort 1 DstBlock " Terminator " DstPort 1 } Line { SrcBlock "CrankPos" SrcPort 1 DstBlock " SFunction " DstPort 1 } Line { SrcBlock "Ignite" SrcPort 1 DstBlock " SFunction " DstPort 2 } Line { Name "Angle" Labels [0, 0] SrcBlock " SFunction " SrcPort 2 DstBlock "Angle" DstPort 1 } } } Block { BlockType SubSystem Name "Cylinder4" Ports [2, 1] Position [180, 217, 245, 248] TreatAsAtomicUnit off MinAlgLoopOccurrences off RTWSystemCode "Auto" Array { Type "Handle" Dimension 0 PropName "AvailSigsLoadSave" } MaskType "Stateflow" MaskDescription "Stateflow diagram" MaskDisplay "plot(sf('Private','sfblk','xIcon'),sf('Priv" "ate','sfblk','yIcon'));text(0.5,0,sf('Private', 'sfblk', 'tIcon'),'Horizontal" "Al','Center','VerticalAl','Bottom');" MaskSelfModifiable on MaskIconFrame off MaskIconOpaque off MaskIconRotate "none" MaskIconUnits "autoscale" System { Name "Cylinder4" Location [257, 457, 812, 717] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "A4" PaperUnits "centimeters" ZoomFactor "100" Block { BlockType Inport Name "CrankPos" Position [20, 101, 40, 119] Port "1" IconDisplay "Port number" LatchInput off } Block { BlockType Inport Name "Ignite" Position [20, 136, 40, 154] Port "2" IconDisplay "Port number" LatchInput off } Block { BlockType Demux Name " Demux " Ports [1, 1] Position [270, 160, 320, 200] Outputs "1" } Block { BlockType "S-Function" Name " SFunction " Tag "Stateflow S-Function simple_ignition_20" "05 5" Ports [2, 2] Position [180, 100, 230, 160] FunctionName "sf_sfun" PortCounts "[2 2]" Port { PortNumber 2 Name "Angle" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" ShowSigGenPortName on } } Block { BlockType Terminator Name " Terminator " Position [460, 171, 480, 189] } Block { BlockType Outport Name "Angle" Position [460, 101, 480, 119] IconDisplay "Port number" BusOutputAsStruct off } Line { SrcBlock " SFunction " SrcPort 1 Points [0, 65] DstBlock " Demux " DstPort 1 } Line { SrcBlock " Demux " SrcPort 1 DstBlock " Terminator " DstPort 1 } Line { SrcBlock "CrankPos" SrcPort 1 DstBlock " SFunction " DstPort 1 } Line { SrcBlock "Ignite" SrcPort 1 DstBlock " SFunction " DstPort 2 } Line { Name "Angle" Labels [0, 0] SrcBlock " SFunction " SrcPort 2 DstBlock "Angle" DstPort 1 } } } Block { BlockType Gain Name "Gain" Position [255, 399, 300, 431] BackgroundColor "yellow" ShowName off Gain "60" } Block { BlockType Gain Name "Gain1" Position [118, 485, 162, 515] Orientation "up" BackgroundColor "lightBlue" NamePlacement "alternate" ShowName off Gain "2*pi" Port { PortNumber 1 Name "total crankshaft\nrev. angle" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" ShowSigGenPortName on } } Block { BlockType Gain Name "Gain2" Position [255, 464, 300, 496] BackgroundColor "yellow" ShowName off Gain "1/2" Port { PortNumber 1 Name "total\ncamshaft\nrev. angle" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" ShowSigGenPortName on } } Block { BlockType Gain Name "Gain3" Position [118, 595, 162, 625] Orientation "up" BackgroundColor "lightBlue" NamePlacement "alternate" ShowName off Gain "1/60" } Block { BlockType Mux Name "Mux" Ports [4, 1] Position [415, 51, 420, 89] ShowName off DisplayOption "bar" } Block { BlockType SubSystem Name "Normalize\ncrankshaft\nrev. angle" Ports [1, 1] Position [116, 280, 164, 425] Orientation "up" NamePlacement "alternate" TreatAsAtomicUnit off MinAlgLoopOccurrences off RTWSystemCode "Auto" System { Name "Normalize\ncrankshaft\nrev. angle" Location [369, 757, 1130, 1077] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "A4" PaperUnits "centimeters" ZoomFactor "112" Block { BlockType Inport Name "Total\n angle" Position [35, 88, 65, 102] Port "1" IconDisplay "Port number" LatchInput off Port { PortNumber 1 Name "total\ncrank-\nshaft\nangle" PropagatedSignals "total crankshaft\nrev. angle" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" ShowSigGenPortName on } } Block { BlockType ComplexToMagnitudeAngle Name "Complex to\nMagnitude-Angle" Ports [1, 1] Position [275, 77, 315, 113] NamePlacement "alternate" ShowName off Output "Angle" Port { PortNumber 1 Name "cyclic\ncam\nangle" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" ShowSigGenPortName on } } Block { BlockType Constant Name "Constant" Position [370, 160, 400, 190] Orientation "up" NamePlacement "alternate" ShowName off Value "2*pi" } Block { BlockType Gain Name "Gain1" Position [490, 80, 530, 110] NamePlacement "alternate" ShowName off Gain "2" Port { PortNumber 1 Name "cyclic\ncrank-\nshaft\nangle" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" ShowSigGenPortName on } } Block { BlockType Gain Name "Gain4" Position [120, 80, 160, 110] NamePlacement "alternate" ShowName off Gain "1/2" Port { PortNumber 1 Name "total\ncam-\nshaft\nangle" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" ShowSigGenPortName on } } Block { BlockType MagnitudeAngleToComplex Name "Magnitude-Angle\nto Complex" Ports [1, 1] Position [210, 77, 245, 113] ShowName off Input "Angle" ConstantPart "1" } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [375, 120, 395, 140] ShowName off IconShape "round" Inputs "|++" InputSameDT off OutDataTypeMode "Inherit via internal rule" } Block { BlockType Switch Name "Switch" Position [420, 80, 450, 110] Threshold "-pi/4" InputSameDT off } Block { BlockType Outport Name "Normalized\nto [0,4 pi)" Position [600, 88, 630, 102] IconDisplay "Port number" BusOutputAsStruct off } Line { Name "total\ncam-\nshaft\nangle" Labels [0, 0] SrcBlock "Gain4" SrcPort 1 DstBlock "Magnitude-Angle\nto Complex" DstPort 1 } Line { Name "total\ncrank-\nshaft\nangle" Labels [0, 0] SrcBlock "Total\n angle" SrcPort 1 DstBlock "Gain4" DstPort 1 } Line { SrcBlock "Magnitude-Angle\nto Complex" SrcPort 1 DstBlock "Complex to\nMagnitude-Angle" DstPort 1 } Line { Name "cyclic\ncam\nangle" Labels [0, 0] SrcBlock "Complex to\nMagnitude-Angle" SrcPort 1 Points [35, 0] Branch { Points [0, 35] DstBlock "Sum" DstPort 1 } Branch { Points [0, -34; 50, 0] DstBlock "Switch" DstPort 1 } Branch { DstBlock "Switch" DstPort 2 } } Line { Labels [2, 0] SrcBlock "Sum" SrcPort 1 Points [4, 0; 0, -25] DstBlock "Switch" DstPort 3 } Line { SrcBlock "Constant" SrcPort 1 DstBlock "Sum" DstPort 2 } Line { SrcBlock "Switch" SrcPort 1 DstBlock "Gain1" DstPort 1 } Line { Name "cyclic\ncrank-\nshaft\nangle" Labels [0, 0] SrcBlock "Gain1" SrcPort 1 DstBlock "Normalized\nto [0,4 pi)" DstPort 1 } Annotation { Name "." Position [43, 100] } } } Block { BlockType RelationalOperator Name "Relational\nOperator" Position [430, 392, 460, 423] BackgroundColor "yellow" ShowName off Operator "<=" InputSameDT off LogicOutDataTypeMode "Boolean" LogicDataType "double" } Block { BlockType RelationalOperator Name "Relational\nOperator1" Position [430, 457, 460, 488] BackgroundColor "yellow" ShowName off Operator "<=" InputSameDT off LogicOutDataTypeMode "Boolean" } Block { BlockType Integrator Name "Total\nrev.s" Ports [1, 1] Position [125, 540, 155, 570] Orientation "up" BackgroundColor "lightBlue" IgnoreLimit off } Block { BlockType Trigonometry Name "Trigonometric\nFunction" Ports [1, 1] Position [370, 400, 400, 430] BackgroundColor "yellow" ShowName off } Block { BlockType Trigonometry Name "Trigonometric\nFunction1" Ports [1, 1] Position [370, 465, 400, 495] BackgroundColor "yellow" ShowName off } Block { BlockType Outport Name "Minor_Mark" Position [565, 403, 595, 417] BackgroundColor "yellow" IconDisplay "Port number" BusOutputAsStruct off } Block { BlockType Outport Name "Major_Mark" Position [565, 468, 595, 482] BackgroundColor "yellow" Port "2" IconDisplay "Port number" BusOutputAsStruct off } Block { BlockType Outport Name "Ignition\nangles" Position [565, 63, 595, 77] Port "3" IconDisplay "Port number" BusOutputAsStruct off } Line { SrcBlock "Engine_RPM" SrcPort 1 DstBlock "Gain3" DstPort 1 } Line { SrcBlock "Trigonometric\nFunction" SrcPort 1 DstBlock "Relational\nOperator" DstPort 2 } Line { SrcBlock "Constant" SrcPort 1 Points [0, 0; 0, 35] Branch { DstBlock "Relational\nOperator" DstPort 1 } Branch { Points [0, 65] DstBlock "Relational\nOperator1" DstPort 1 } } Line { SrcBlock "Trigonometric\nFunction1" SrcPort 1 DstBlock "Relational\nOperator1" DstPort 2 } Line { SrcBlock "Relational\nOperator1" SrcPort 1 DstBlock "Major_Mark" DstPort 1 } Line { SrcBlock "Relational\nOperator" SrcPort 1 DstBlock "Minor_Mark" DstPort 1 } Line { SrcBlock "Mux" SrcPort 1 DstBlock "Conv. to\ngrad" DstPort 1 } Line { SrcBlock "Ignite1" SrcPort 1 DstBlock "Cylinder1" DstPort 2 } Line { SrcBlock "Cylinder1" SrcPort 1 DstBlock "Mux" DstPort 1 } Line { SrcBlock "Cylinder2" SrcPort 1 Points [25, 0; 0, -50] DstBlock "Mux" DstPort 2 } Line { SrcBlock "Cylinder3" SrcPort 1 Points [45, 0; 0, -100] DstBlock "Mux" DstPort 3 } Line { SrcBlock "Cylinder4" SrcPort 1 Points [65, 0; 0, -150] DstBlock "Mux" DstPort 4 } Line { SrcBlock "Gain3" SrcPort 1 DstBlock "Total\nrev.s" DstPort 1 } Line { SrcBlock "Total\nrev.s" SrcPort 1 DstBlock "Gain1" DstPort 1 } Line { SrcBlock "Gain" SrcPort 1 DstBlock "Trigonometric\nFunction" DstPort 1 } Line { Name "total crankshaft\nrev. angle" Labels [0, 0] SrcBlock "Gain1" SrcPort 1 Points [0, -30] Branch { Points [0, 0; 100, 0] Branch { DstBlock "Gain2" DstPort 1 } Branch { DstBlock "Gain" DstPort 1 } } Branch { DstBlock "Normalize\ncrankshaft\nrev. angle" DstPort 1 } } Line { Name "total\ncamshaft\nrev. angle" Labels [1, 1] SrcBlock "Gain2" SrcPort 1 DstBlock "Trigonometric\nFunction1" DstPort 1 } Line { SrcBlock "Conv. to\ngrad" SrcPort 1 DstBlock "Ignition\nangles" DstPort 1 } Line { SrcBlock "Ignite2" SrcPort 1 DstBlock "Cylinder2" DstPort 2 } Line { SrcBlock "Ignite3" SrcPort 1 DstBlock "Cylinder3" DstPort 2 } Line { SrcBlock "Ignite4" SrcPort 1 DstBlock "Cylinder4" DstPort 2 } Line { SrcBlock "Normalize\ncrankshaft\nrev. angle" SrcPort 1 Points [0, -50] Branch { Points [0, -60] Branch { Points [0, -60] Branch { Points [0, -60] DstBlock "Cylinder1" DstPort 1 } Branch { DstBlock "Cylinder2" DstPort 1 } } Branch { DstBlock "Cylinder3" DstPort 1 } } Branch { DstBlock "Cylinder4" DstPort 1 } } } } Block { BlockType Scope Name "Ignition\nangles" Ports [4] Position [615, 527, 655, 573] Location [1271, 133, 1595, 655] Open on NumInputPorts "4" ZoomMode "yonly" List { ListType AxesTitles axes1 "Cylinder 1" axes2 "Cylinder 2" axes3 "Cylinder 3" axes4 "Cylinder 4" } TimeRange "2.5" YMin "-20~160~340~520" YMax "15~195~375~555" DataFormat "StructureWithTime" LimitDataPoints off MaxDataPoints "100000" } Block { BlockType Reference Name "Ignition Angle\nSetpoint (grad)\nSlider" Ports [1, 1] Position [590, 70, 660, 95] Orientation "down" SourceBlock "simulink/Math\nOperations/Slider\nGain" SourceType "Slider Gain" ShowPortLabels on low "-20" gain "-5" high "0" } Block { BlockType SubSystem Name "Ignition Control" Ports [3, 5, 0, 1] Position [300, 124, 500, 276] Orientation "left" ForegroundColor "blue" BackgroundColor "yellow" NamePlacement "alternate" TreatAsAtomicUnit off MinAlgLoopOccurrences off RTWSystemCode "Auto" Array { Type "Handle" Dimension 0 PropName "AvailSigsLoadSave" } MaskType "Stateflow" MaskDescription "Stateflow diagram" MaskDisplay "plot(sf('Private','sfblk','xIcon'),sf('Private'" ",'sfblk','yIcon'));text(0.5,0,sf('Private', 'sfblk', 'tIcon'),'HorizontalAl'," "'Center','VerticalAl','Bottom');" MaskSelfModifiable on MaskIconFrame off MaskIconOpaque off MaskIconRotate "none" MaskIconUnits "autoscale" System { Name "Ignition Control" Location [257, 457, 812, 717] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "A4" PaperUnits "centimeters" ZoomFactor "100" Block { BlockType Inport Name "Major_Mark" Position [20, 101, 40, 119] Port "1" IconDisplay "Port number" LatchInput off } Block { BlockType Inport Name "Minor_Mark" Position [20, 136, 40, 154] Port "2" IconDisplay "Port number" LatchInput off } Block { BlockType Inport Name "Setpoint" Position [20, 171, 40, 189] Port "3" IconDisplay "Port number" LatchInput off } Block { BlockType TriggerPort Name "clk" Ports [0, 1] Position [20, 206, 40, 224] ShowOutputPort on } Block { BlockType Demux Name " Demux " Ports [1, 1] Position [270, 280, 320, 320] Outputs "1" } Block { BlockType "S-Function" Name " SFunction " Tag "Stateflow S-Function simple_ignition_2005 1" Ports [4, 6] Position [180, 102, 230, 243] FunctionName "sf_sfun" PortCounts "[4 6]" Port { PortNumber 2 Name "Ignite1" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" ShowSigGenPortName on } Port { PortNumber 3 Name "Ignite2" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" ShowSigGenPortName on } Port { PortNumber 4 Name "Ignite3" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" ShowSigGenPortName on } Port { PortNumber 5 Name "Ignite4" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" ShowSigGenPortName on } Port { PortNumber 6 Name "RPM" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" ShowSigGenPortName on } } Block { BlockType Terminator Name " Terminator " Position [460, 291, 480, 309] } Block { BlockType Outport Name "Ignite1" Position [460, 101, 480, 119] IconDisplay "Port number" BusOutputAsStruct off } Block { BlockType Outport Name "Ignite2" Position [460, 136, 480, 154] Port "2" IconDisplay "Port number" BusOutputAsStruct off } Block { BlockType Outport Name "Ignite3" Position [460, 171, 480, 189] Port "3" IconDisplay "Port number" BusOutputAsStruct off } Block { BlockType Outport Name "Ignite4" Position [460, 206, 480, 224] Port "4" IconDisplay "Port number" BusOutputAsStruct off } Block { BlockType Outport Name "RPM" Position [460, 246, 480, 264] Port "5" IconDisplay "Port number" BusOutputAsStruct off } Line { SrcBlock " SFunction " SrcPort 1 Points [0, 190] DstBlock " Demux " DstPort 1 } Line { SrcBlock " Demux " SrcPort 1 DstBlock " Terminator " DstPort 1 } Line { SrcBlock "Major_Mark" SrcPort 1 DstBlock " SFunction " DstPort 1 } Line { SrcBlock "Minor_Mark" SrcPort 1 Points [120, 0] DstBlock " SFunction " DstPort 2 } Line { SrcBlock "Setpoint" SrcPort 1 DstBlock " SFunction " DstPort 3 } Line { SrcBlock "clk" SrcPort 1 DstBlock " SFunction " DstPort 4 } Line { Name "Ignite1" Labels [0, 0] SrcBlock " SFunction " SrcPort 2 DstBlock "Ignite1" DstPort 1 } Line { Name "Ignite2" Labels [0, 0] SrcBlock " SFunction " SrcPort 3 DstBlock "Ignite2" DstPort 1 } Line { Name "Ignite3" Labels [0, 0] SrcBlock " SFunction " SrcPort 4 DstBlock "Ignite3" DstPort 1 } Line { Name "Ignite4" Labels [0, 0] SrcBlock " SFunction " SrcPort 5 DstBlock "Ignite4" DstPort 1 } Line { Name "RPM" Labels [0, 0] SrcBlock " SFunction " SrcPort 6 DstBlock "RPM" DstPort 1 } } } Block { BlockType Mux Name "Mux" Ports [2, 1] Position [60, 251, 65, 289] Orientation "left" ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType Scope Name "RPM" Ports [1] Position [85, 526, 125, 574] Location [1266, 797, 1590, 1036] Open on NumInputPorts "1" List { ListType AxesTitles axes1 "Magenta: actual RPM; Yellow: measured RPM" } YMin "1000" YMax "6500" SaveName "ScopeData1" DataFormat "StructureWithTime" LimitDataPoints off } Block { BlockType Reference Name "RPM\nSlider" Ports [1, 1] Position [80, 60, 150, 85] Orientation "down" SourceBlock "simulink/Math\nOperations/Slider\nGain" SourceType "Slider Gain" ShowPortLabels on low "750" gain "4000" high "6500" } Block { BlockType RateLimiter Name "Rate Limiter" Position [100, 115, 130, 145] Orientation "down" NamePlacement "alternate" RisingSlewLimit "3000" FallingSlewLimit "-4500" } Line { SrcBlock "Engine" SrcPort 3 Points [35, 0; 0, 65] DstBlock "Demux" DstPort 1 } Line { SrcBlock "Demux" SrcPort 1 DstBlock "Ignition\nangles" DstPort 1 } Line { SrcBlock "Demux" SrcPort 2 DstBlock "Ignition\nangles" DstPort 2 } Line { SrcBlock "Demux" SrcPort 3 DstBlock "Ignition\nangles" DstPort 3 } Line { SrcBlock "Demux" SrcPort 4 DstBlock "Ignition\nangles" DstPort 4 } Line { SrcBlock "Engine" SrcPort 1 Points [25, 0; 0, -195] DstBlock "Ignition Control" DstPort 2 } Line { SrcBlock "Engine" SrcPort 2 Points [35, 0; 0, -290] DstBlock "Ignition Control" DstPort 1 } Line { SrcBlock "Ignition Control" SrcPort 3 Points [-25, 0; 0, 240] DstBlock "Engine" DstPort 3 } Line { SrcBlock "Ignition Control" SrcPort 2 Points [-35, 0; 0, 245] DstBlock "Engine" DstPort 2 } Line { SrcBlock "Ignition Control" SrcPort 1 Points [-45, 0; 0, 250] DstBlock "Engine" DstPort 1 } Line { SrcBlock "Ignition Control" SrcPort 4 Points [-15, 0; 0, 235] DstBlock "Engine" DstPort 4 } Line { SrcBlock "Constant" SrcPort 1 Points [0, 5] Branch { DstBlock "RPM\nSlider" DstPort 1 } Branch { Points [475, 0] DstBlock "Ignition Angle\nSetpoint (grad)\nSlider" DstPort 1 } } Line { SrcBlock "10 mus\nclock" SrcPort 1 DstBlock "Ignition Control" DstPort trigger } Line { SrcBlock "Mux" SrcPort 1 Points [-15, 0; 0, 280] DstBlock "RPM" DstPort 1 } Line { SrcBlock "Ignition Control" SrcPort 5 DstBlock "Mux" DstPort 1 } Line { SrcBlock "RPM\nSlider" SrcPort 1 DstBlock "Rate Limiter" DstPort 1 } Line { SrcBlock "Rate Limiter" SrcPort 1 Points [0, 0; 0, 130] Branch { DstBlock "Mux" DstPort 2 } Branch { Points [0, 210] DstBlock "Engine" DstPort 5 } } Line { SrcBlock "Ignition Angle\nSetpoint (grad)\nSlider" SrcPort 1 Points [0, 150] DstBlock "Ignition Control" DstPort 3 } } } # Finite State Machines # # Stateflow Version 6.2 (R14SP2) dated Jan 27 2005, 19:24:42 # # Stateflow { machine { id 1 name "simple_ignition_2005" created "18-Feb-2003 15:25:01" isLibrary 0 firstTarget 97 sfVersion 62014000 } chart { id 2 name "Ignition Control" windowPosition [79.5 -2.25 545.25 843.75] viewLimits [54.202 555.952 106.882 914.632] screen [1 1 1600 1200 1.333333333333333] viewObj 2 machine 1 decomposition SET_CHART firstEvent 3 firstData 4 chartFileNumber 1 executeAtInitialization 1 disableImplicitCasting 1 } event { id 3 name "clk" linkNode [2 0 0] scope INPUT_EVENT trigger RISING_EDGE_EVENT machine 1 } data { id 4 name "Major_Mark" linkNode [2 0 5] scope INPUT_DATA machine 1 dataType "boolean" fixptType { bias 0 slope 1 exponent 0 baseType SF_INT16_TYPE lock 0 } dlgFixptMode 1 props { range { minimum "" maximum "" } } } data { id 5 name "Minor_Mark" linkNode [2 4 6] scope INPUT_DATA machine 1 dataType "boolean" fixptType { bias 0 slope 1 exponent 0 baseType SF_INT16_TYPE lock 0 } dlgFixptMode 1 props { range { minimum "" maximum "" } } } data { id 6 name "Ignite1" linkNode [2 5 7] scope OUTPUT_DATA machine 1 dataType "boolean" fixptType { bias 0 slope 1 exponent 0 baseType SF_INT16_TYPE lock 0 } dlgFixptMode 1 props { range { minimum "" maximum "" } } } data { id 7 name "Ignite2" linkNode [2 6 8] scope OUTPUT_DATA machine 1 dataType "boolean" fixptType { bias 0 slope 1 exponent 0 baseType SF_INT16_TYPE lock 0 } dlgFixptMode 1 props { range { minimum "" maximum "" } } } data { id 8 name "Ignite3" linkNode [2 7 9] scope OUTPUT_DATA machine 1 dataType "boolean" fixptType { bias 0 slope 1 exponent 0 baseType SF_INT16_TYPE lock 0 } dlgFixptMode 1 props { range { minimum "" maximum "" } } } data { id 9 name "Ignite4" linkNode [2 8 10] scope OUTPUT_DATA machine 1 dataType "boolean" fixptType { bias 0 slope 1 exponent 0 baseType SF_INT16_TYPE lock 0 } dlgFixptMode 1 props { range { minimum "" maximum "" } } } data { id 10 name "RPM" linkNode [2 9 11] scope OUTPUT_DATA machine 1 dataType "double" fixptType { bias 0 slope 1 exponent 0 baseType SF_INT16_TYPE lock 0 } dlgFixptMode 1 props { range { minimum "" maximum "" } initialValue "1000" } } data { id 11 name "Setpoint" linkNode [2 10 0] scope INPUT_DATA machine 1 dataType "double" fixptType { bias 0 slope 1 exponent 0 baseType SF_INT16_TYPE lock 0 } dlgFixptMode 1 props { range { minimum "" maximum "" } } } instance { id 12 name "Ignition Control" machine 1 chart 2 } chart { id 13 name "Engine/Cylinder1" windowPosition [460.5 96 736.5 504] viewLimits [13.582 540.262 6.207 361.887] zoomFactor 0.76 screen [1 1 1600 1200 1.333333333333333] treeNode [0 15 0 0] firstTransition 21 firstJunction 20 viewObj 13 machine 1 subviewS { } decomposition CLUSTER_CHART firstData 27 updateMethod CONTINUOUS sampleTime "1e-5" chartFileNumber 2 executeAtInitialization 1 disableImplicitCasting 1 } state { id 14 labelString "Pre_Ignite" position [41 68.55 90 60] fontSize 12 chart 13 treeNode [13 0 15 18] subviewer 13 type OR_STATE decomposition CLUSTER_STATE } state { id 15 labelString "Critical /\n" "entry: adiabatic := pi*15/180*ml('rand');" position [307.7937 65.4646 225.0956 64.2493] fontSize 12 chart 13 treeNode [13 19 0 14] subviewer 13 type OR_STATE decomposition CLUSTER_STATE } state { id 16 labelString "Post_Ignite" position [310.7159 275.3854 90 60] fontSize 12 chart 13 treeNode [13 0 17 0] subviewer 13 type OR_STATE decomposition CLUSTER_STATE } state { id 17 labelString "controlled ignition" position [381.8824 174.6419 78.2504 16.8477] chart 13 treeNode [13 0 18 16] superState GROUPED isNoteBox 1 noteBox [0 0 0 1] subviewer 13 type GROUP_STATE decomposition CLUSTER_STATE } state { id 18 labelString "adiabatic ignition" position [257.9065 173.2181 77.5342 16.47] chart 13 treeNode [13 0 14 17] superState GROUPED isNoteBox 1 noteBox [0 0 0 1] subviewer 13 type GROUP_STATE decomposition CLUSTER_STATE } state { id 19 labelString "WaitForAdiabaticIgnition" position [317.3316 97.5919 155.8149 28.1658] fontSize 12 chart 13 treeNode [15 0 0 0] subviewer 13 type OR_STATE decomposition CLUSTER_STATE } junction { id 20 position [357.0336 219.9062 7] chart 13 linkNode [13 0 0] subviewer 13 quantum [0 0 25 0] type CONNECTIVE_JUNCTION } transition { id 21 labelString "/ Angle := pi*(n-1)" labelPosition [63.058 39.505 96.226 15.39] fontSize 12 src { intersection [0 0 0 0 41.0488 32.7084 0 0] } dst { id 14 intersection [1 0 -1 0.2911 67.1984 68.55 0 0] } midPoint [58.0964 46.0377] chart 13 linkNode [13 0 22] dataLimits [41.049 69.598 32.708 68.55] subviewer 13 executionOrder 1 } transition { id 22 labelString "[CrankPos>=pi*(n-1)-pi/4]" labelPosition [162.782 76.652 140.638 15.39] fontSize 12 src { id 14 intersection [2 1 0 0.4547 131 95.832 0 -2.7174] } dst { id 15 intersection [4 -1 0 0.5274 307.7937 95.832 0 2.7174] } midPoint [218.9795 95.832] chart 13 linkNode [13 21 24] dataLimits [131 307.794 93.432 98.232] stampAngle NaN subviewer 13 drawStyle SMART slide { } executionOrder 1 } transition { id 23 labelString "[Ignite]" labelPosition [391.488 162.535 37.579 15.39] fontSize 12 src { id 15 intersection [3 0 1 0.6383 389.2108 129.7139 0 -9.6] } dst { id 20 intersection [0 0.6635 -0.7482 -1 361.6781 214.6688 0 9.6] } midPoint [385.1914 174.1307] chart 13 linkNode [13 26 25] dataLimits [361.678 389.214 129.714 214.669] stampAngle -0.7255 subviewer 13 slide { sticky SRC_STICK arcL 20.6931 } executionOrder 1 } transition { id 24 labelString "[CrankPos >= pi*(n-1)+adiabatic]" labelPosition [148.509 161.699 180.495 15.39] fontSize 12 src { id 19 intersection [3 0 1 0.9249 329.0376 125.7576 0 -67] } dst { id 20 intersection [0 -0.6022 -0.7983 -1 352.8182 214.3181 0 64.6] } midPoint [331.9076 171.138] chart 13 linkNode [13 22 26] dataLimits [329.009 352.818 125.758 214.318] stampAngle -5.6369 subviewer 13 slide { mode MIRROR_SLIDE sticky BOTH_STICK midPointSticky 1 } executionOrder 1 } transition { id 25 labelString "/ Angle := CrankPos;" labelPosition [361.816 237.462 113.877 15.39] fontSize 12 src { id 20 intersection [0 0 1 -1 357.0336 226.9062 0 0] } dst { id 16 intersection [1 0 -1 0.5146 357.0336 275.3854 0 0] } midPoint [357.0336 247.939] chart 13 linkNode [13 23 0] dataLimits [354.634 359.434 226.906 275.385] subviewer 13 drawStyle SMART slide { sticky DST_STICK midPointSticky 1 } executionOrder 1 } transition { id 26 labelString "[CrankPos<=-pi/4]" labelPosition [146.471 233.266 100.781 15.39] fontSize 12 src { id 16 intersection [4 -1 0 0.5093 310.7159 304.8282 0 -29.4428] } dst { id 14 intersection [3 0 1 0.6994 68.05 128.55 0 62.95] } midPoint [145.681 254.2532] chart 13 linkNode [13 24 23] dataLimits [65.65 310.716 128.55 304.828] stampAngle NaN subviewer 13 drawStyle SMART slide { mode MIRROR_SLIDE sticky BOTH_STICK } executionOrder 1 } data { id 27 name "CrankPos" linkNode [13 0 28] scope INPUT_DATA machine 1 dataType "double" fixptType { bias 0 slope 1 exponent 0 baseType SF_INT16_TYPE lock 0 } dlgFixptMode 1 props { range { minimum "" maximum "" } } } data { id 28 name "Ignite" linkNode [13 27 29] scope INPUT_DATA machine 1 dataType "boolean" fixptType { bias 0 slope 1 exponent 0 baseType SF_INT16_TYPE lock 0 } dlgFixptMode 1 props { range { minimum "" maximum "" } } } data { id 29 name "Angle" linkNode [13 28 30] scope OUTPUT_DATA machine 1 dataType "double" fixptType { bias 0 slope 1 exponent 0 baseType SF_INT16_TYPE lock 0 } dlgFixptMode 1 props { range { minimum "" maximum "" } } } data { id 30 name "pi" linkNode [13 29 31] scope CONSTANT_DATA machine 1 dataType "double" fixptType { bias 0 slope 1 exponent 0 baseType SF_INT16_TYPE lock 0 } dlgFixptMode 1 props { range { minimum "" maximum "" } initialValue "3.1415927" } } data { id 31 name "n" linkNode [13 30 32] scope CONSTANT_DATA machine 1 dataType "int8" fixptType { bias 0 slope 1 exponent 0 baseType SF_INT16_TYPE lock 0 } dlgFixptMode 1 props { range { minimum "" maximum "" } initialValue "1" } } data { id 32 name "adiabatic" linkNode [13 31 0] scope LOCAL_DATA machine 1 dataType "double" fixptType { bias 0 slope 1 exponent 0 baseType SF_INT16_TYPE lock 0 } dlgFixptMode 0 props { range { minimum "" maximum "" } } } instance { id 33 name "Engine/Cylinder1" machine 1 chart 13 } chart { id 34 name "Engine/Cylinder2" windowPosition [281.6 150.4 736.8 504] viewLimits [0 524.704 0 353.4] zoomFactor 0.76 screen [1 1 3200 1200 1.25] treeNode [0 36 0 0] firstTransition 42 firstJunction 41 viewObj 34 machine 1 decomposition CLUSTER_CHART firstData 48 updateMethod CONTINUOUS sampleTime "1e-5" chartFileNumber 3 executeAtInitialization 1 disableImplicitCasting 1 } state { id 35 labelString "Pre_Ignite" position [0 35.8416 90 60] fontSize 12 chart 34 treeNode [34 0 36 38] subviewer 34 type OR_STATE decomposition CLUSTER_STATE } state { id 36 labelString "Critical /\n" "entry: adiabatic := pi*15/180*ml('rand');" position [266.7937 31.9012 205.0506 65.1043] fontSize 12 chart 34 treeNode [34 40 0 35] subviewer 34 type OR_STATE decomposition CLUSTER_STATE } state { id 37 labelString "Post_Ignite" position [269.7159 242.677 90 60] fontSize 12 chart 34 treeNode [34 0 39 0] subviewer 34 type OR_STATE decomposition CLUSTER_STATE } state { id 38 labelString "controlled ignition" position [336.7974 140.5085 78.2504 16.8477] chart 34 treeNode [34 0 35 39] superState GROUPED isNoteBox 1 noteBox [0 0 0 1] subviewer 34 type GROUP_STATE decomposition CLUSTER_STATE } state { id 39 labelString "adiabatic ignition" position [216.9065 140.5097 75.412 16.8477] chart 34 treeNode [34 0 38 37] superState GROUPED isNoteBox 1 noteBox [0 0 0 1] subviewer 34 type GROUP_STATE decomposition CLUSTER_STATE } state { id 40 labelString "WaitForAdiabaticIgnition" position [276.3316 64.8835 155.8149 28.1658] fontSize 12 chart 34 treeNode [36 0 0 0] subviewer 34 type OR_STATE decomposition CLUSTER_STATE } junction { id 41 position [312.9936 186.6278 7] chart 34 linkNode [34 0 0] subviewer 34 quantum [0 0 47 0] type CONNECTIVE_JUNCTION } transition { id 42 labelString "/ Angle := pi*(n-1)" labelPosition [22.058 6.797 88.768 14.598] fontSize 12 src { intersection [0 0 0 0 0.0488 0 0 0] } dst { id 35 intersection [1 0 -1 0.2911 26.1984 35.8416 0 0] } midPoint [17.0964 13.3293] chart 34 linkNode [34 0 43] dataLimits [0.049 28.598 0 35.842] subviewer 34 executionOrder 1 } transition { id 43 labelString "[CrankPos>=pi*(n-1)-pi/4]" labelPosition [121.032 43.944 128.896 14.598] fontSize 12 src { id 35 intersection [2 1 0 0.4547 90 63.1236 0 -2.7174] } dst { id 36 intersection [4 -1 0 0.5204 266.7937 63.1236 0 2.7174] } midPoint [177.9795 63.1236] chart 34 linkNode [34 42 44] dataLimits [90 266.794 60.724 65.524] stampAngle NaN subviewer 34 drawStyle SMART executionOrder 1 } transition { id 44 labelString "[CrankPos >= pi*(n-1)+adiabatic]" labelPosition [118.054 128.705 167.2 14.598] fontSize 12 src { id 40 intersection [3 0 1 0.9249 288.0376 93.0492 0 -67] } dst { id 41 intersection [0 -0.6022 -0.7983 -1 308.7782 181.0397 0 64.6] } midPoint [289.4859 137.8543] chart 34 linkNode [34 43 45] dataLimits [287.819 308.778 93.049 181.04] stampAngle -5.6369 subviewer 34 slide { mode MIRROR_SLIDE sticky BOTH_STICK midPointSticky 1 } executionOrder 1 } transition { id 45 labelString "[CrankPos<=-pi/4]" labelPosition [105.471 200.558 92.416 14.598] fontSize 12 src { id 37 intersection [4 -1 0 0.5093 269.7159 272.1198 0 -29.4428] } dst { id 35 intersection [3 0 1 0.6994 27.05 95.8416 0 62.95] } midPoint [104.681 221.5448] chart 34 linkNode [34 44 46] dataLimits [24.65 269.716 95.842 272.12] stampAngle NaN subviewer 34 drawStyle SMART slide { mode MIRROR_SLIDE sticky BOTH_STICK } executionOrder 1 } transition { id 46 labelString "[Ignite]" labelPosition [344.409 129.116 35.872 14.598] fontSize 12 src { id 36 intersection [3 0 1 0.6383 340.968 97.0055 0 -9.6] } dst { id 41 intersection [0 0.6635 -0.7482 -1 317.6381 181.3904 0 9.6] } midPoint [338.9324 140.6802] chart 34 linkNode [34 45 47] dataLimits [317.638 341.128 97.006 181.39] stampAngle -0.7255 subviewer 34 slide { sticky SRC_STICK arcL 20.6931 } executionOrder 1 } transition { id 47 labelString "/ Angle := CrankPos;" labelPosition [317.776 205.399 105.792 14.598] fontSize 12 src { id 41 intersection [0 0 1 -1 312.9936 193.6278 0 0] } dst { id 37 intersection [1 0 -1 0.4809 312.9936 242.677 0 0] } midPoint [312.9936 214.958] chart 34 linkNode [34 46 0] dataLimits [310.594 315.394 193.628 242.677] subviewer 34 drawStyle SMART slide { sticky DST_STICK midPointSticky 1 } executionOrder 1 } data { id 48 name "CrankPos" linkNode [34 0 49] scope INPUT_DATA machine 1 dataType "double" fixptType { bias 0 slope 1 exponent 0 baseType SF_INT16_TYPE lock 0 } dlgFixptMode 1 props { range { minimum "" maximum "" } } } data { id 49 name "Ignite" linkNode [34 48 50] scope INPUT_DATA machine 1 dataType "boolean" fixptType { bias 0 slope 1 exponent 0 baseType SF_INT16_TYPE lock 0 } dlgFixptMode 1 props { range { minimum "" maximum "" } } } data { id 50 name "Angle" linkNode [34 49 51] scope OUTPUT_DATA machine 1 dataType "double" fixptType { bias 0 slope 1 exponent 0 baseType SF_INT16_TYPE lock 0 } dlgFixptMode 1 props { range { minimum "" maximum "" } } } data { id 51 name "pi" linkNode [34 50 52] scope CONSTANT_DATA machine 1 dataType "double" fixptType { bias 0 slope 1 exponent 0 baseType SF_INT16_TYPE lock 0 } dlgFixptMode 1 props { range { minimum "" maximum "" } initialValue "3.1415927" } } data { id 52 name "n" linkNode [34 51 53] scope CONSTANT_DATA machine 1 dataType "int8" fixptType { bias 0 slope 1 exponent 0 baseType SF_INT16_TYPE lock 0 } dlgFixptMode 1 props { range { minimum "" maximum "" } initialValue "2" } } data { id 53 name "adiabatic" linkNode [34 52 0] scope LOCAL_DATA machine 1 dataType "double" fixptType { bias 0 slope 1 exponent 0 baseType SF_INT16_TYPE lock 0 } dlgFixptMode 0 props { range { minimum "" maximum "" } } } instance { id 54 name "Engine/Cylinder2" machine 1 chart 34 } chart { id 55 name "Engine/Cylinder3" windowPosition [286.08 318.08 736.8 504] viewLimits [7.136 531.84 7.347 360.747] zoomFactor 0.76 screen [1 1 3200 1200 1.25] treeNode [0 57 0 0] firstTransition 63 firstJunction 62 viewObj 55 machine 1 decomposition CLUSTER_CHART firstData 69 updateMethod CONTINUOUS sampleTime "1e-5" chartFileNumber 4 executeAtInitialization 1 disableImplicitCasting 1 } state { id 56 labelString "Pre_Ignite" position [0 35.8416 90 60] fontSize 12 chart 55 treeNode [55 0 57 59] subviewer 55 type OR_STATE decomposition CLUSTER_STATE } state { id 57 labelString "Critical /\n" "entry: adiabatic := pi*15/180*ml('rand');" position [266.7937 31.9012 205.0506 65.1043] fontSize 12 chart 55 treeNode [55 61 0 56] subviewer 55 type OR_STATE decomposition CLUSTER_STATE } state { id 58 labelString "Post_Ignite" position [269.7159 242.677 90 60] fontSize 12 chart 55 treeNode [55 0 60 0] subviewer 55 type OR_STATE decomposition CLUSTER_STATE } state { id 59 labelString "controlled ignition" position [336.7974 140.5085 78.2504 16.8477] chart 55 treeNode [55 0 56 60] superState GROUPED isNoteBox 1 noteBox [0 0 0 1] subviewer 55 type GROUP_STATE decomposition CLUSTER_STATE } state { id 60 labelString "adiabatic ignition" position [216.9065 140.5097 75.412 16.8477] chart 55 treeNode [55 0 59 58] superState GROUPED isNoteBox 1 noteBox [0 0 0 1] subviewer 55 type GROUP_STATE decomposition CLUSTER_STATE } state { id 61 labelString "WaitForAdiabaticIgnition" position [276.3316 64.8835 155.8149 28.1658] fontSize 12 chart 55 treeNode [57 0 0 0] subviewer 55 type OR_STATE decomposition CLUSTER_STATE } junction { id 62 position [312.9936 186.6278 7] chart 55 linkNode [55 0 0] subviewer 55 quantum [0 0 68 0] type CONNECTIVE_JUNCTION } transition { id 63 labelString "/ Angle := pi*(n-1)" labelPosition [22.058 6.797 88.768 14.598] fontSize 12 src { intersection [0 0 0 0 0.0488 0 0 0] } dst { id 56 intersection [1 0 -1 0.2911 26.1984 35.8416 0 0] } midPoint [17.0964 13.3293] chart 55 linkNode [55 0 64] dataLimits [0.049 28.598 0 35.842] subviewer 55 executionOrder 1 } transition { id 64 labelString "[CrankPos>=pi*(n-1)-pi/4]" labelPosition [121.032 43.944 128.896 14.598] fontSize 12 src { id 56 intersection [2 1 0 0.4547 90 63.1236 0 -2.7174] } dst { id 57 intersection [4 -1 0 0.5204 266.7937 63.1236 0 2.7174] } midPoint [177.9795 63.1236] chart 55 linkNode [55 63 65] dataLimits [90 266.794 60.724 65.524] stampAngle NaN subviewer 55 drawStyle SMART executionOrder 1 } transition { id 65 labelString "[CrankPos >= pi*(n-1)+adiabatic]" labelPosition [118.054 128.705 167.2 14.598] fontSize 12 src { id 61 intersection [3 0 1 0.9249 288.0376 93.0492 0 -67] } dst { id 62 intersection [0 -0.6022 -0.7983 -1 308.7782 181.0397 0 64.6] } midPoint [289.4859 137.8543] chart 55 linkNode [55 64 66] dataLimits [287.819 308.778 93.049 181.04] stampAngle -5.6369 subviewer 55 slide { mode MIRROR_SLIDE sticky BOTH_STICK midPointSticky 1 } executionOrder 1 } transition { id 66 labelString "[CrankPos<=-pi/4]" labelPosition [105.471 200.558 92.416 14.598] fontSize 12 src { id 58 intersection [4 -1 0 0.5093 269.7159 272.1198 0 -29.4428] } dst { id 56 intersection [3 0 1 0.6994 27.05 95.8416 0 62.95] } midPoint [104.681 221.5448] chart 55 linkNode [55 65 67] dataLimits [24.65 269.716 95.842 272.12] stampAngle NaN subviewer 55 drawStyle SMART slide { mode MIRROR_SLIDE sticky BOTH_STICK } executionOrder 1 } transition { id 67 labelString "[Ignite]" labelPosition [344.409 129.116 35.872 14.598] fontSize 12 src { id 57 intersection [3 0 1 0.6383 340.968 97.0055 0 -9.6] } dst { id 62 intersection [0 0.6635 -0.7482 -1 317.6381 181.3904 0 9.6] } midPoint [338.9324 140.6802] chart 55 linkNode [55 66 68] dataLimits [317.638 341.128 97.006 181.39] stampAngle -0.7255 subviewer 55 slide { sticky SRC_STICK arcL 20.6931 } executionOrder 1 } transition { id 68 labelString "/ Angle := CrankPos;" labelPosition [317.776 205.399 105.792 14.598] fontSize 12 src { id 62 intersection [0 0 1 -1 312.9936 193.6278 0 0] } dst { id 58 intersection [1 0 -1 0.4809 312.9936 242.677 0 0] } midPoint [312.9936 214.958] chart 55 linkNode [55 67 0] dataLimits [310.594 315.394 193.628 242.677] subviewer 55 drawStyle SMART slide { sticky DST_STICK midPointSticky 1 } executionOrder 1 } data { id 69 name "CrankPos" linkNode [55 0 70] scope INPUT_DATA machine 1 dataType "double" fixptType { bias 0 slope 1 exponent 0 baseType SF_INT16_TYPE lock 0 } dlgFixptMode 1 props { range { minimum "" maximum "" } } } data { id 70 name "Ignite" linkNode [55 69 71] scope INPUT_DATA machine 1 dataType "boolean" fixptType { bias 0 slope 1 exponent 0 baseType SF_INT16_TYPE lock 0 } dlgFixptMode 1 props { range { minimum "" maximum "" } } } data { id 71 name "Angle" linkNode [55 70 72] scope OUTPUT_DATA machine 1 dataType "double" fixptType { bias 0 slope 1 exponent 0 baseType SF_INT16_TYPE lock 0 } dlgFixptMode 1 props { range { minimum "" maximum "" } } } data { id 72 name "pi" linkNode [55 71 73] scope CONSTANT_DATA machine 1 dataType "double" fixptType { bias 0 slope 1 exponent 0 baseType SF_INT16_TYPE lock 0 } dlgFixptMode 1 props { range { minimum "" maximum "" } initialValue "3.1415927" } } data { id 73 name "n" linkNode [55 72 74] scope CONSTANT_DATA machine 1 dataType "int8" fixptType { bias 0 slope 1 exponent 0 baseType SF_INT16_TYPE lock 0 } dlgFixptMode 1 props { range { minimum "" maximum "" } initialValue "4" } } data { id 74 name "adiabatic" linkNode [55 73 0] scope LOCAL_DATA machine 1 dataType "double" fixptType { bias 0 slope 1 exponent 0 baseType SF_INT16_TYPE lock 0 } dlgFixptMode 0 props { range { minimum "" maximum "" } } } instance { id 75 name "Engine/Cylinder3" machine 1 chart 55 } chart { id 76 name "Engine/Cylinder4" windowPosition [376.8 20.8 736.8 504] viewLimits [7.136 531.84 7.347 360.747] zoomFactor 0.76 screen [1 1 3200 1200 1.25] treeNode [0 78 0 0] firstTransition 84 firstJunction 83 viewObj 76 machine 1 decomposition CLUSTER_CHART firstData 90 updateMethod CONTINUOUS sampleTime "1e-5" chartFileNumber 5 executeAtInitialization 1 disableImplicitCasting 1 } state { id 77 labelString "Pre_Ignite" position [0 35.8416 90 60] fontSize 12 chart 76 treeNode [76 0 78 80] subviewer 76 type OR_STATE decomposition CLUSTER_STATE } state { id 78 labelString "Critical /\n" "entry: adiabatic := pi*15/180*ml('rand');" position [266.7937 31.9012 205.0506 65.1043] fontSize 12 chart 76 treeNode [76 82 0 77] subviewer 76 type OR_STATE decomposition CLUSTER_STATE } state { id 79 labelString "Post_Ignite" position [269.7159 242.677 90 60] fontSize 12 chart 76 treeNode [76 0 81 0] subviewer 76 type OR_STATE decomposition CLUSTER_STATE } state { id 80 labelString "controlled ignition" position [336.7974 140.5085 78.2504 16.8477] chart 76 treeNode [76 0 77 81] superState GROUPED isNoteBox 1 noteBox [0 0 0 1] subviewer 76 type GROUP_STATE decomposition CLUSTER_STATE } state { id 81 labelString "adiabatic ignition" position [216.9065 140.5097 75.412 16.8477] chart 76 treeNode [76 0 80 79] superState GROUPED isNoteBox 1 noteBox [0 0 0 1] subviewer 76 type GROUP_STATE decomposition CLUSTER_STATE } state { id 82 labelString "WaitForAdiabaticIgnition" position [276.3316 64.8835 155.8149 28.1658] fontSize 12 chart 76 treeNode [78 0 0 0] subviewer 76 type OR_STATE decomposition CLUSTER_STATE } junction { id 83 position [312.9936 186.6278 7] chart 76 linkNode [76 0 0] subviewer 76 quantum [0 0 89 0] type CONNECTIVE_JUNCTION } transition { id 84 labelString "/ Angle := pi*(n-1)" labelPosition [22.058 6.797 88.768 14.598] fontSize 12 src { intersection [0 0 0 0 0.0488 0 0 0] } dst { id 77 intersection [1 0 -1 0.2911 26.1984 35.8416 0 0] } midPoint [17.0964 13.3293] chart 76 linkNode [76 0 85] dataLimits [0.049 28.598 0 35.842] subviewer 76 executionOrder 1 } transition { id 85 labelString "[CrankPos>=pi*(n-1)-pi/4]" labelPosition [121.032 43.944 128.896 14.598] fontSize 12 src { id 77 intersection [2 1 0 0.4547 90 63.1236 0 -2.7174] } dst { id 78 intersection [4 -1 0 0.5204 266.7937 63.1236 0 2.7174] } midPoint [177.9795 63.1236] chart 76 linkNode [76 84 86] dataLimits [90 266.794 60.724 65.524] stampAngle NaN subviewer 76 drawStyle SMART executionOrder 1 } transition { id 86 labelString "[CrankPos >= pi*(n-1)+adiabatic]" labelPosition [118.054 128.705 167.2 14.598] fontSize 12 src { id 82 intersection [3 0 1 0.9249 288.0376 93.0492 0 -67] } dst { id 83 intersection [0 -0.6022 -0.7983 -1 308.7782 181.0397 0 64.6] } midPoint [289.4859 137.8543] chart 76 linkNode [76 85 87] dataLimits [287.819 308.778 93.049 181.04] stampAngle -5.6369 subviewer 76 slide { mode MIRROR_SLIDE sticky BOTH_STICK midPointSticky 1 } executionOrder 1 } transition { id 87 labelString "[CrankPos<=-pi/4]" labelPosition [105.471 200.558 92.416 14.598] fontSize 12 src { id 79 intersection [4 -1 0 0.5093 269.7159 272.1198 0 -29.4428] } dst { id 77 intersection [3 0 1 0.6994 27.05 95.8416 0 62.95] } midPoint [104.681 221.5448] chart 76 linkNode [76 86 88] dataLimits [24.65 269.716 95.842 272.12] stampAngle NaN subviewer 76 drawStyle SMART slide { mode MIRROR_SLIDE sticky BOTH_STICK } executionOrder 1 } transition { id 88 labelString "[Ignite]" labelPosition [344.409 129.116 35.872 14.598] fontSize 12 src { id 78 intersection [3 0 1 0.6383 340.968 97.0055 0 -9.6] } dst { id 83 intersection [0 0.6635 -0.7482 -1 317.6381 181.3904 0 9.6] } midPoint [338.9324 140.6802] chart 76 linkNode [76 87 89] dataLimits [317.638 341.128 97.006 181.39] stampAngle -0.7255 subviewer 76 slide { sticky SRC_STICK arcL 20.6931 } executionOrder 1 } transition { id 89 labelString "/ Angle := CrankPos;" labelPosition [317.776 205.399 105.792 14.598] fontSize 12 src { id 83 intersection [0 0 1 -1 312.9936 193.6278 0 0] } dst { id 79 intersection [1 0 -1 0.4809 312.9936 242.677 0 0] } midPoint [312.9936 214.958] chart 76 linkNode [76 88 0] dataLimits [310.594 315.394 193.628 242.677] subviewer 76 drawStyle SMART slide { sticky DST_STICK midPointSticky 1 } executionOrder 1 } data { id 90 name "CrankPos" linkNode [76 0 91] scope INPUT_DATA machine 1 dataType "double" fixptType { bias 0 slope 1 exponent 0 baseType SF_INT16_TYPE lock 0 } dlgFixptMode 1 props { range { minimum "" maximum "" } } } data { id 91 name "Ignite" linkNode [76 90 92] scope INPUT_DATA machine 1 dataType "boolean" fixptType { bias 0 slope 1 exponent 0 baseType SF_INT16_TYPE lock 0 } dlgFixptMode 1 props { range { minimum "" maximum "" } } } data { id 92 name "Angle" linkNode [76 91 93] scope OUTPUT_DATA machine 1 dataType "double" fixptType { bias 0 slope 1 exponent 0 baseType SF_INT16_TYPE lock 0 } dlgFixptMode 1 props { range { minimum "" maximum "" } } } data { id 93 name "pi" linkNode [76 92 94] scope CONSTANT_DATA machine 1 dataType "double" fixptType { bias 0 slope 1 exponent 0 baseType SF_INT16_TYPE lock 0 } dlgFixptMode 1 props { range { minimum "" maximum "" } initialValue "3.1415927" } } data { id 94 name "n" linkNode [76 93 95] scope CONSTANT_DATA machine 1 dataType "int8" fixptType { bias 0 slope 1 exponent 0 baseType SF_INT16_TYPE lock 0 } dlgFixptMode 1 props { range { minimum "" maximum "" } initialValue "3" } } data { id 95 name "adiabatic" linkNode [76 94 0] scope LOCAL_DATA machine 1 dataType "double" fixptType { bias 0 slope 1 exponent 0 baseType SF_INT16_TYPE lock 0 } dlgFixptMode 0 props { range { minimum "" maximum "" } } } instance { id 96 name "Engine/Cylinder4" machine 1 chart 76 } target { id 97 name "sfun" description "Default Simulink S-Function Target." machine 1 linkNode [1 0 0] } }