Ограничения параметров конфигурации

Решатель

ПараметрОграничениеFATAL/НефатальныйПроверка совместимости
Type (SolverType)Необходимо задать значение Fixed-step.НеокончательныйCheck solver settings> Verify 'Type' setting
Solver (Solver)Необходимо задать значение discrete (no continuous states) (эквивалентно FixedStepDiscrete указывается в командной строке).НеокончательныйCheck solver settings> Verify 'Solver' setting
Periodic sample time constraint (SampleTimeConstraint)Необходимо задать значение Unconstrained или Ensure sample time independent.НеокончательныйCheck solver settings> Verify 'Periodic sample time constraint’ setting
Treat each discrete rate as a separate task (EnableMultiTasking)Необходимо выбрать (установить на on) для модели с несколькими дискретными скоростями.НеокончательныйCheck Treat each discrete rate as a separate task setting> Verify ‘Treat each discrete rate as a separate task’ setting
Automatically handle rate transition for data transfer (AutoInsertRateTranBlk)Необходимо очистить.НеокончательныйCheck solver settings> Verify 'Automatically handle rate transition for data transfer’ setting
Allow tasks to execute concurrently on target (ConcurrentTasks)Необходимо очистить. Этот флажок параметра видим, только если вы преобразовываете существующую конфигурацию модели в один для параллельного выполнения.НеокончательныйCheck solver settings> Verify ‘Allow tasks to execute concurrently on target’ setting

Импорт/экспорт данных

ПараметрОграничениеFATAL/НефатальныйПроверка совместимости
Initial state (LoadInitialState)Необходимо удалить (установить на off).НеокончательныйCheck data import/export settings> Verify 'Initial state' setting

Математические и типы данных

ПараметрОграничениеFATAL/НефатальныйПроверка совместимости
Implement logic signals as Boolean data (vs. double) (BooleanDataType)Необходимо выбрать (установить на on).НеокончательныйCheck math and data type settings> Verify 'Implement logic signals as Boolean data (vs. double)' setting

Диагностика

ПараметрОграничениеFATAL/НефатальныйПроверка совместимости
Allow symbolic dimension specification (AllowSymbolicDim)Необходимо удалить (установить на off).НеокончательныйCheck diagnostic settings> Verify 'Allow symbolic dimension specification' setting

Диагностика: Шаг расчета

ПараметрОграничениеFATAL/НефатальныйПроверка совместимости
Multitask rate transition (MultiTaskRateTransMsg)Необходимо задать значение error.НеокончательныйCheck diagnostic settings> Verify 'Multitask rate transition' setting
Multitask conditionally executed subsystem (MultiTaskCondExecSysMsg)Необходимо задать значение error.НеокончательныйCheck diagnostic settings> Verify 'Multitask conditionally executed subsystem' setting

Диагностика: Валидность данных

ПараметрОграничениеFATAL/НефатальныйПроверка совместимости
Detect downcast (ParameterDowncastMsg)Необходимо задать значение error.НеокончательныйCheck diagnostic settings> Verify 'Detect downcast' setting
<reservedrangesplaceholder2> <reservedrangesplaceholder1> (ParameterOverflowMsg)Необходимо задать значение error.НеокончательныйCheck diagnostic settings> Verify 'Detect overflow' setting
<reservedrangesplaceholder2> <reservedrangesplaceholder1> (IntegerOverflowMsg)Необходимо задать значение error.НеокончательныйCheck diagnostic settings> Verify 'Detect overflow' setting
Saturate on overflow (IntegerSaturationMsg)Необходимо задать значение error.НеокончательныйCheck diagnostic settings> Verify 'Saturate on overflow‘ setting
Detect underflow (ParameterUnderflowMsg)Необходимо задать значение error.НеокончательныйCheck diagnostic settings> Verify 'Detect underflow' setting
Detect loss of tunability (ParameterTunabilityLossMsg)Необходимо задать значение error.НеокончательныйCheck diagnostic settings> Verify 'Detect loss of tunability' setting
Underspecified initialization detection (UnderspecifiedInitializationDetection)Необходимо задать значение Simplified. Настройка модели для инициализации начальных условий блоков с помощью упрощенного поведения может улучшить согласованность результатов модели.НеокончательныйCheck diagnostic settings> Verify 'Underspecified initialization detection' setting
Multitask data store (MultiTaskDSMMsg)Необходимо задать значение error.НеокончательныйCheck diagnostic settings> Verify 'Multitask data store’ setting

Диагностика: Связь

ПараметрОграничениеFATAL/НефатальныйПроверка совместимости
Bus signal treated as vector (StrictBusMsg)Необходимо задать значение error (эквивалентно ErrorOnBusTreatedAsVector указывается в командной строке).ФАТАЛЬНЫЙCheck diagnostic settings> Verify Bus signal treated as vector setting
Non-bus signals treated as bus signals (NonBusSignalsTreatedAsBus)Необходимо задать значение error.ФАТАЛЬНЫЙCheck diagnostic settings> Verify 'Non-bus signals treated as bus signals' setting

Диагностика: Stateflow

ПараметрОграничениеFATAL/НефатальныйПроверка совместимости
Unexpected backtracking (SFUnexpectedBacktrackingDiag)Необходимо задать значение error.НеокончательныйCheck diagnostic settings> Verify 'Unexpected backtracking' setting
Invalid input data access in chart initialization (SFInvalidInputDataAccessInChartInitDiag)Необходимо задать значение error.НеокончательныйCheck diagnostic settings> Verify 'Invalid input data access in chart initialization' setting
No unconditional default transitions (SFNoUnconditionalDefaultTransitionDiag)Необходимо задать значение error.НеокончательныйCheck diagnostic settings> Verify 'No unconditional default transitions' setting
Transition outside natural parent (SFTransitionOutsideNaturalParentDiag)Необходимо задать значение error.НеокончательныйCheck diagnostic settings> Verify 'Transition outside natural parent' setting
Unreachable execution path (SFUnreachableExecutionPathDiag)Необходимо задать значение error.НеокончательныйCheck diagnostic settings> Verify 'Unreachable execution path' setting
Undirected event broadcasts (SFUndirectedBroadcastEventsDiag)Необходимо задать значение error.НеокончательныйCheck diagnostic settings> Verify 'Undirected event broadcasts' setting
Transition action specified before condition action (SFTransitionActionBeforeConditionDiag)Необходимо задать значение error.НеокончательныйCheck diagnostic settings> Verify 'Transition action specified before condition action' setting

Аппаратная реализация

ПараметрОграничениеFATAL/НефатальныйПроверка совместимости
Number of bits: char (ProdBitPerChar)Необходимо задать значение 8.НеокончательныйCheck hardware implementation settings> Verify 'char' setting
Number of bits: short (ProdBitPerShort)Необходимо задать значение 16.НеокончательныйCheck hardware implementation settings> Verify 'short' setting
Number of bits: int (ProdBitPerInt)Необходимо задать значение 32.НеокончательныйCheck hardware implementation settings> Verify 'int' setting
Number of bits: long (ProdBitPerLong)Необходимо задать значение 32.НеокончательныйCheck hardware implementation settings> Verify 'long' setting
Number of bits: float (ProdBitPerFloat)Необходимо задать значение 32.НеокончательныйCheck hardware implementation settings> Verify 'float' setting
Number of bits: double (ProdBitPerDouble)Необходимо задать значение 64.НеокончательныйCheck hardware implementation settings> Verify 'double' setting
Number of bits: native (ProdWordSize)Необходимо задать значение 32.НеокончательныйCheck hardware implementation settings> Verify 'native' setting
Number of bits: pointer (ProdBitPerPointer)Необходимо задать значение 32.НеокончательныйCheck hardware implementation settings> Verify 'pointer' setting
Signed integer division rounds to (ProdIntDivRoundTo)Необходимо задать значение Zero.НеокончательныйCheck hardware implementation settings> Verify 'Signed integer division rounds to' setting
Shift right on a signed integer as arithmetic shift (ProdShiftRightIntArith)Необходимо выбрать (установить на on).НеокончательныйCheck hardware implementation settings> Verify 'Shift right on a signed integer as arithmetic shift' setting
Test hardware is the same as production hardware (ProdEqTarget)Необходимо выбрать (установить на on).НеокончательныйCheck hardware implementation settings> Verify 'Test hardware is the same as production hardware' setting
  • Device vendor

  • Device type (ProdHWDeviceType)

Не следует устанавливать значение ASIC/FPGA.НеокончательныйCheck hardware implementation settings> Verify 'Device vendor->Device type‘ setting
Support long long (ProdLongLongMode)Не должен быть выбран (установлено на off).НеокончательныйCheck hardware implementation settings> Verify 'Support long long‘ setting

Генерация кода: Общее

ПараметрОграничениеFATAL/НефатальныйПроверка совместимости
System target file (Simulink Coder) (SystemTargetFile)Необходимо задать значение ert.tlc или системный целевой файл для ERT-производного целевого объекта.ФАТАЛЬНЫЙCheck system target file setting
TLCOptionsНеобходимо задать значение '' (unspecified) или -aMaxStackVariableSize=inf.НеокончательныйCheck code generation settings> Verify 'TLC options' setting

Генерация кода: Оптимизация

ПараметрОграничениеFATAL/НефатальныйПроверка совместимости
Simplify array indexing (Embedded Coder) (StrengthReduction)Необходимо удалить (установить на off).НеокончательныйCheck code generation settings> Verify 'Simplify array indexing' setting
Pack Boolean data into bitfields (Embedded Coder) (BooleansAsBitfields)Необходимо удалить (установить на off).НеокончательныйCheck code generation settings> Verify 'Pack Boolean data into bitfields' setting
Default parameter behavior (Simulink Coder) (DefaultParameterBehavior)Для ссылочных моделей необходимо задать значение Inlined.НеокончательныйCheck code generation settings> Verify 'Default parameter behavior' setting
Loop unrolling threshold (Simulink Coder) (RollThreshold)Должно быть установлено значение, которое не приводит к частичному развертыванию циклов в сгенерированном коде.НеокончательныйCheck loop unrolling threshold setting> Verify loop unrolling threshold setting
Pass reusable subsystem outputs as: (Embedded Coder) (PassReuseOutputArgsAs)Необходимо задать значение Structure reference если ссылочная модель имеет корневые выходные порты с неавтоматическими классами памяти.НеокончательныйCheck for root Outport blocks that have non-auto storage class> Verify that the storage class of root outports is supported
Use bitsets for storing state configuration (Simulink Coder) (StateBitsets)Необходимо удалить (установить на off).НеокончательныйCheck code generation settings> Verify ‘Use bitsets for storing state configuration’ setting
Use bitsets for storing Boolean data (Simulink Coder) (DataBitsets)Необходимо удалить (установить на off).НеокончательныйCheck code generation settings> Verify ‘Use bitsets for storing Boolean data’ setting
Optimize using the specified minimum and maximum values (Embedded Coder) (UseSpecifiedMinMax)Необходимо удалить (установить на off).НеокончательныйCheck code generation settings> Verify ‘Optimize using the specified minimum and maximum values’ setting
Remove code from floating-point to integer conversions that wraps out-of-range values (Simulink Coder) (EfficientFloat2IntCast)Необходимо выбрать (установить на on).НеокончательныйCheck code generation settings> Verify 'Remove code from floating-point to integer conversions that wraps out-of-range values' setting
Remove code from floating-point to integer conversions with saturation that maps NaN to zero (Simulink Coder) (EfficientMapNaN2IntZero)Необходимо удалить (установить на off).НеокончательныйCheck code generation settings> Verify 'Remove code from floating-point to integer conversions with saturation that maps NaN to zero' setting
Remove code that protects against division arithmetic exceptions (Embedded Coder) (NoFixptDivByZeroProtection)Необходимо удалить (установить на off).НеокончательныйCheck code generation settings> Verify 'Remove code that protects against division arithmetic exceptions' setting
AdvancedOptControlНеобходимо задать значение -SLCI. Этот параметр отключает оптимизацию, которая несовместима с Simulink® Code Inspector™. Когда вы используете эту настройку, сгенерированный код может отличаться от кода, сгенерированного без '-SLCI' настройка. Однако различия не влияют на поведение сгенерированного кода.НеокончательныйCheck code generation settings> Verify 'Disable incompatible optimizations' setting
Operator to represent Bitwise and Logical Operator blocks (Embedded Coder) (BitwiseOrLogicalOp)Необходимо задать значение Same as modeled или Bitwise operator.НеокончательныйCheck code generation settings> Verify 'Operator to represent Bitwise and Logical Operator' setting

Генерация кода: Комментарии

ПараметрОграничениеFATAL/НефатальныйПроверка совместимости
Include comments (Simulink Coder) (GenerateComments)Необходимо выбрать (установить на on). Simulink Code Inspector анализирует автогенерированные комментарии, чтобы получить информацию о трассируемости данных моделей.ФАТАЛЬНЫЙCheck code generation settings> Verify 'Include comments' setting

Генерация кода: Идентификаторы

ПараметрОграничениеFATAL/НефатальныйПроверка совместимости
Generate scalar inlined parameter as (Embedded Coder) (InlinedPrmAccess)Необходимо задать значение Literals.НеокончательныйCheck code generation settings> Verify 'Generate scalar inlined parameter as' setting
Signal naming (Embedded Coder) (SignalNamingRule)Необходимо задать значение None.НеокончательныйCheck code generation settings> Verify 'Signal naming' setting
Parameter naming (Embedded Coder) (ParamNamingRule)Необходимо задать значение None.НеокончательныйCheck code generation settings> Verify 'Parameter naming' setting

Генерация кода: Пользовательский код

ПараметрОграничениеFATAL/НефатальныйПроверка совместимости
Source file (Simulink Coder) (CustomSourceCode)Должно быть неуточнено (установлено на '').НеокончательныйCheck code generation settings> Verify 'Source file' setting
Header file (Simulink Coder) (CustomHeaderCode)Должно быть неуточнено (установлено на '').НеокончательныйCheck code generation settings> Verify ‘Header file’ setting
Initialize function (Simulink Coder) (CustomInitializer)Должно быть неуточнено (установлено на '').НеокончательныйCheck code generation settings> Verify 'Initialize function' setting
Terminate function (Simulink Coder) (CustomTerminator)Должно быть неуточнено (установлено на '').НеокончательныйCheck code generation settings> Verify 'Terminate function' setting

Генерация кода: Интерфейс

ПараметрОграничениеFATAL/НефатальныйПроверка совместимости
Use dynamic memory allocation for model initialization (Embedded Coder) (GenerateAllocFcn)Необходимо удалить (установить на off).НеокончательныйCheck code generation settings> Verify 'Use dynamic memory allocation for model initialization' setting
Code replacement library (Simulink Coder) (CodeReplacementLibrary)Необходимо задать значение None. Можно также использовать Поддерживаемые функции и Операции в библиотеках замещения кода.НеокончательныйCheck code generation settings> Verify 'Code replacement library' setting
Standard math library (Simulink Coder) (TargetLangStandard)Необходимо задать значение C89/C90 (ANSI) или C99 (ISO). НеокончательныйCheck code generation settings> Verify 'Standard math library' setting
Shared code placement (Simulink Coder) (UtilityFuncGeneration)Необходимо задать значение Shared location. Использование общего местоположения для служебных функций, макросов и определяемых пользователем типов данных способствует отладке и трассируемости сгенерированного кода.НеокончательныйCheck code generation settings> Verify 'Shared code placement' setting
Support: non-finite numbers (Simulink Coder) (SupportNonFinite)Необходимо удалить (установить на off).НеокончательныйCheck code generation settings> Verify 'non-finite numbers' setting
Support: absolute time (Embedded Coder) (SupportAbsoluteTime)Необходимо удалить (установить на off).НеокончательныйCheck code generation settings> Verify 'absolute time' setting
Classic call interface (Simulink Coder) (GRTInterface)Необходимо удалить (установить на off).НеокончательныйCheck code generation settings> Verify 'Classic call interface' setting
Single output/update function (Simulink Coder) (CombineOutputUpdateFcns)Необходимо выбрать (установить на on).НеокончательныйCheck code generation settings> Verify 'Single output/update function' setting
Terminate function required (Embedded Coder) (IncludeMdlTerminateFcn)Необходимо удалить (установить на off).НеокончательныйCheck code generation settings> Verify 'Terminate function required' setting
Remove error status field in real-time model data structure (Embedded Coder) (SuppressErrorStatus)Необходимо выбрать (установить на on). Это помогает предотвратить генерацию rtModel структура данных, которая не поддерживается для инспекции кода.НеокончательныйCheck code generation settings> Verify 'Remove error status field in real-time model data structure' setting
Combine signal/state structures (Embedded Coder) (CombineSignalStateStructs)Необходимо удалить (установить на off).НеокончательныйCheck code generation settings> Verify 'Combine signal/state structures' setting
Array layout (Simulink Coder) (ArrayLayout)Необходимо задать значение column-major.НеокончательныйCheck code generation settings> Verify 'Array layout' setting
MAT-file logging (Simulink Coder) (MatFileLogging)Необходимо удалить (установить на off).НеокончательныйCheck code generation settings> Verify 'MAT-file logging' setting
Support: variable-size signals (Embedded Coder) (SupportVariableSizeSignals)Необходимо удалить (установить на off).ФАТАЛЬНЫЙCheck code generation settings> Verify 'variable-size signals' setting
Generate C API for: parameters (Simulink Coder) (RTWCAPIParams)Необходимо удалить (установить на off).НеокончательныйCheck code generation settings> Verify ‘parameters’ setting
Generate C API for: signals (Simulink Coder) (RTWCAPISignals)Необходимо удалить (установить на off).НеокончательныйCheck code generation settings> Verify ‘signals’ setting
Generate C API for: states (Simulink Coder) (RTWCAPIStates)Необходимо удалить (установить на off).НеокончательныйCheck code generation settings> Verify ‘states’ setting
Generate C API for: root-level I/O (Simulink Coder) (RTWCAPIRootIO)Необходимо удалить (установить на off).НеокончательныйCheck code generation settings> Verify ‘root-level I/O’ setting
External mode (Simulink Coder) (ExtMode)Необходимо удалить (установить на off).НеокончательныйCheck code generation settings> Verify ‘External mode’ setting
ASAP2 interface (Simulink Coder) (GenerateASAP2)Необходимо удалить (установить на off).НеокончательныйCheck code generation settings> Verify ‘ASAP2 interface’ setting

Генерация кода: верификация

ПараметрОграничениеFATAL/НефатальныйПроверка совместимости
Create block (Embedded Coder) (CreateSILPILBlock)Необходимо задать значение None.НеокончательныйCheck code generation settings> Verify 'Create block' setting
Measure function execution times (Embedded Coder) (CodeProfilingInstrumentation)Необходимо удалить (установить на off).НеокончательныйCheck code generation settings> Verify 'Measure function execution times' setting

Генерация кода: Стиль кода

ПараметрОграничениеFATAL/НефатальныйПроверка совместимости
Preserve condition expression in if statement (Embedded Coder) (PreserveIfCondition)Необходимо выбрать (установить на on).НеокончательныйCheck code generation settings> Verify 'Preserve condition expression in if statement' setting
Suppress generation of default cases for Stateflow switch statements if unreachable (Embedded Coder) (SuppressUnreachableDefaultCases)Необходимо удалить (установить на off).НеокончательныйCheck code generation settings> Verify 'Suppress generation of default cases for Stateflow switch statements if unreachable' setting
Casting Modes (Embedded Coder) (CastingMode).Необходимо задать значение Nominal или Standards.НеокончательныйCheck code generation settings> Verify 'Casting Modes' setting

Генерация кода: шаблоны

ПараметрОграничениеFATAL/НефатальныйПроверка совместимости
Generate an example main program (Embedded Coder) (GenerateSampleERTMain)Необходимо выбрать (установить на on).НеокончательныйCheck code generation settings> Verify 'Generate an example main program' setting

Генерация кода: Размещение кода

ПараметрОграничениеFATAL/НефатальныйПроверка совместимости
Rate Transition block code (Embedded Coder) (RateTransitionBlockCode)Необходимо задать значение Inline.НеокончательныйCheck code generation settings> Verify 'Rate Transition block code' setting

Похожие темы