MATLAB Function блока

MATLAB Function блоки

MATLAB Function блокFATAL/НефатальныйПроверка совместимости

Имена блоков:

  • Не должен содержать "*/«или» /*’.

  • Не должен начинаться или заканчиваться на "*’.

НеокончательныйCheck usage of MATLAB Function Blocks> Check for block names that contain ‘/*’,’*/’, or start or end with the character ‘*’
Класс памяти выходного сигнала должен быть установлен на Auto когда блок имеет константу (Inf) шаг расчета.НеокончательныйCheck usage of MATLAB Function Blocks> Check for unsupported usage of storage class
Выходной порт не должен быть проверен, когда блок имеет константу (Inf) шаг расчета.НеокончательныйCheck usage of MATLAB Function Blocks> Check for unsupported testpoints

Выходные пользовательские классы памяти сигналов:

  • Должно быть, Type установлено на Unstructured.

  • Не должно быть Data initialization установлено на None.

  • Не следует ссылаться на объект сигнала с непустым начальным значением.

НеокончательныйCheck usage of MATLAB Function Blocks> Check storage class of block outports
Входные и выходные порты должны быть скалярами, векторами или 2-D матрицами.НеокончательныйCheck usage of MATLAB Function Blocks> Check for blocks with greater than two-dimensional inputs or outputs
Входные и выходные порты не должны использовать основанные на кадрах сигналы.НеокончательныйCheck usage of MATLAB Function Blocks> Check whether inputs and outputs are not framed
MATLAB® функция должна устанавливать Update method на Inherited.НеокончательныйCheck usage of MATLAB Function Blocks> Check that all MATLAB functions set ‘Update method’ to ‘Inherited’
Function packaging (RTWSystemCode) должно быть установлено в Inline. Если Nonreusable function или Reusable function выбран, подсистема и модель должны быть в поддерживаемых строениях.НеокончательныйCheck usage of MATLAB Function Blocks> Identify Subsystems that have unsupported configurations for non-inlined
Переиспользуемая подсистема в модели должна быть из библиотеки. Он должен быть демаскирован, односкоростной атомарной подсистемы или подсистемы вызова функций.НеокончательныйCheck usage of MATLAB Function Blocks> Check that reusable subsystems in a model are from a library and are unmasked single-rate atomic or function-call subsystems
Функция MATLAB не должна использовать входные сигналы Trigger.НеокончательныйCheck usage of MATLAB Function Blocks> Check that MATLAB functions do not contain input Trigger signals
Блок, который является постоянным или имеет параметры, которые могут быть настроены, не должен управлять двумя или более многократными блоками, не используя явные блоки Rate Transition.НеокончательныйCheck usage of MATLAB Function Blocks> Check that blocks that are constant or whose parameters can be tuned, do not drive two or more multirate blocks without using explicit rate transition blocks
Saturate on integer overflow (SaturateOnIntegerOverflow) не должен быть выбран (должен быть установлен в off).НеокончательныйCheck usage of MATLAB Function Blocks> Check that all MATLAB functions set ‘Saturate on integer overflow’ to ‘Off’
Treat these inherited Simulink signal types as fi objects не должно быть установлено на Fixed-point & Integer.НеокончательныйCheck usage of MATLAB Function Blocks> Check that all MATLAB functions set ‘Treat these inherited Simulink signal types as fi objects:’ to a value other than ‘Fixed-point & Integer’
Support variable-size arrays не должен быть выбран (должен быть установлен на off).ФАТАЛЬНЫЙCheck usage of MATLAB Function Blocks> Check that all MATLAB functions set ‘Support variable-size arrays’ to ‘Off’

Данные в функциях MATLAB

Ограничение данных функции MATLABFATAL/НефатальныйПроверка совместимости
Данные, заданные в функции MATLAB, должны быть одного из следующих поддерживаемых типов данных: встроенная, шина или перечисленный тип, унаследованный от Simulink.IntEnumType.НеокончательныйCheck usage of Data in MATLAB Functions> Check that data defined in MATLAB function is of a supported data type
Данные, заданные в функции MATLAB, должны быть одного из следующих поддерживаемых размерностей: скаляр, вектор или матрица.НеокончательныйCheck usage of Data in MATLAB Functions> Check that data defined in MATLAB function is of a supported dimension
Данные, заданные в функции MATLAB, должны быть некомплексными.НеокончательныйCheck usage of Data in MATLAB Functions> Check that data defined in MATLAB function is non-complex

Код в функциях MATLAB

Ограничение кода MATLABFATAL/НефатальныйПроверка совместимости

Чтобы использовать не встроенные пользовательские функции с глобальными переменными в коде MATLAB:

  • Функции не должны находиться внутри переиспользуемой или пустой подсистемы.

  • Параметр модели Code interface packaging (CodeInterfacePackaging) должно быть установлено в Nonreusable function.

НеокончательныйCheck usage of Code in MATLAB Functions> Check non-inlined user defined functions with global variables in MATLAB code
Не встроенные пользовательские функции в коде MATLAB должны определять только один выходНеокончательныйCheck usage of Code in MATLAB Functions> Check that non-inlined user defined functions in MATLAB code contain only one output
Для индексирования массива в коде MATLAB необходимо использовать постоянное значение индекса 1 для соответствующей размерности размера 1.НеокончательныйCheck usage of Code in MATLAB Functions> Check that array subscripting in MATLAB code uses a constant index of 1 for a corresponding dimension of size 1
Индексация массива в коде MATLAB должна использовать индекс, который меньше или равен основной размерности массива.НеокончательныйCheck usage of Code in MATLAB Functions> Check that array indexing in MATLAB code uses a subscript that is less than or equal to the array base dimension

cast функция должна быть одной из следующих форм:

  • cast(A,'newclass')

  • cast(A,'like',p)

НеокончательныйCheck usage of Code in MATLAB Functions> Check type argument for cast in MATLAB functions
colon (:) оператор не должен иметь более 3 операндов.НеокончательныйCheck usage of Code in MATLAB Functions> Check that colon operators in MATLAB code have no more than 3 operands
colon (:) оператор должен использовать целое число или двойные данные.НеокончательныйCheck usage of Code in MATLAB Functions> Check that colon operators in MATLAB code use only integer and double data
Данные, используемые в функции MATLAB, должны быть одного из следующих типов данных: boolean, int8, int16, int32, uint8, uint16, uint32, single, double, или скалярная шина.НеокончательныйCheck usage of Code in MATLAB Functions> Check that data used in MATLAB function is of a supported data type

Диагональный номер, заданный для diag функция должна быть константой. Для примера в заявлении:

D = diag(v,k)

где k - диагональное число, k должно быть константой.

НеокончательныйCheck usage of Code in MATLAB Functions> Check that diagonal number used in a diag function in MATLAB code is constant
Идентификаторы, используемые в аргументах назначения, массива, вызова функции и определении функции, должны быть скалярными, векторными или матричными. Идентификаторы, используемые в любом другом контексте, должны быть скалярными.НеокончательныйCheck usage of Code in MATLAB Functions> Check that code in MATLAB function is of a supported dimension
Скобки в коде MATLAB не должны быть пустыми.НеокончательныйCheck usage of Code in MATLAB Functions> Check for nonempty brackets in MATLAB code
for операторы в коде MATLAB должны иметь области значений индексов, которые являются моно-инкрементальными выражениями двоеточия.НеокончательныйCheck usage of Code in MATLAB Functions> Check that for statements in MATLAB code have index ranges that are mono incremental colon expressions
for операторы в коде MATLAB должны иметь значения области значений индексов, которые являются буквальными целыми числами const.НеокончательныйCheck usage of Code in MATLAB Functions> Check that for statements in MATLAB code have index range values that are literal const integers
for операторы в коде MATLAB должны иметь скалярные значения индекса.НеокончательныйCheck usage of Code in MATLAB Functions> Check that for statements in MATLAB code have scalar index values
Операнды оператора степени через точку должны иметь один или двойной тип данных.НеокончательныйCheck usage of Code in MATLAB Functions> Check that data defined in MATLAB function is of a double or single data type

Для корневых функций MATLAB, если coder.inline директива задана, она должна быть установлена на always.

Для пользовательских функций MATLAB, coder.inline директива должна быть явно установлена на always или never.

НеокончательныйCheck usage of Code in MATLAB Functions> For MATLAB root function, do not specify coder.inline directive or set coder.inline directive to 'always'. For user defined MATLAB functions, explicitly set coder.inline directive to 'always' or 'never'
Математические функции в коде MATLAB должны использовать целое число или данные с плавающей точкой.НеокончательныйCheck usage of Code in MATLAB Functions> Check that math functions in MATLAB code use only integer and floating-point data
Функции MATLAB не должны иметь отсутствующий тип данных информации.НеокончательныйCheck usage of Code in MATLAB Functions> Check that no code in MATLAB functions has missing data type information
Функции MATLAB не должны иметь отсутствующей информации о размерностях.НеокончательныйCheck usage of Code in MATLAB Functions> Check that no code in MATLAB functions has missing dimension information
Вызовы функций в коде MATLAB должны разрешиться до известного определения функции.НеокончательныйCheck usage of Code in MATLAB Functions> Check that all function calls in MATLAB code resolve to a known function definition
Операторы в функциях MATLAB не должны иметь операторов со смешанным типом данных.НеокончательныйCheck usage of Code in MATLAB Functions> Check that operators used in MATLAB function do not have operands with mixed data type
При использовании матричных операций в коде MATLAB Loop unrolling threshold не должно приводить к частичному развертыванию циклов в сгенерированном коде.НеокончательныйCheck usage of Code in MATLAB Functions> Check that the ‘Loop unrolling threshold’ does not result in partially unrolled loops in the generated code when using matrix operations in MATLAB code
Условная инициализация стойкой переменной должна использовать if оператор с одной isempty(persistent) или ~isempty(persistent) состояние.НеокончательныйCheck usage of Code in MATLAB Functions> Check that conditional initialization of persistent variables uses an 'if' statement with a single isempty(persistent) or ~isempty(persistent) condition
Условная инициализация постоянной переменной должна содержать только один оператор в if тело оператора.НеокончательныйCheck usage of Code in MATLAB Functions> Check that there is only one initialization statement of a persistent variable in ‘if’ statement body
switch операторы не должны иметь выражений случая, содержащих массив ячеек.НеокончательныйCheck usage of Code in MATLAB Functions> Check that switch statements in MATLAB code do not have case expressions containing a cell array
switch операторы должны использовать один и тот же скалярный целый тип для всех условий switch и case.НеокончательныйCheck usage of Code in MATLAB Functions> Check that switch statements in MATLAB code use the same scalar integer type for all conditions
colon (:) функция и операции деления в коде MATLAB должны использовать скалярные операнды.НеокончательныйCheck usage of Code in MATLAB Functions> Check that operators and functions in MATLAB code have supported operand dimensions
if операторы должны использовать скаляр условия.НеокончательныйCheck usage of Code in MATLAB Functions> Check that if statements in MATLAB code use conditions that are scalar
Функции MATLAB не должны содержать неподдерживаемый код MATLAB.НеокончательныйCheck usage of Code in MATLAB Functions> Check for unsupported MATLAB code in MATLAB functions
Модель не должна задавать рекурсивные функции в коде MATLAB.НеокончательныйCheck usage of Code in MATLAB Functions> Check usage of recursive functions in MATLAB code
coder.ceval не должен указывать -global опция.НеокончательныйCheck usage of Code in MATLAB Functions> Check that coder.ceval in MATLAB code does not specify '-global' option
coder.ceval не должен указывать layout опция.НеокончательныйCheck usage of Code in MATLAB Functions> Check that coder.ceval in MATLAB code does not specify layout option
Подфункции в коде MATLAB не должны вызывать выходы вызова функции.НеокончательныйCheck usage of Code in MATLAB Functions> Check usage of function call outputs in MATLAB code
Код MATLAB не должен содержать определения внутренней функции.НеокончательныйCheck usage of Code in MATLAB Functions> Check usage of inner functions in MATLAB code
coder.targer не должно содержать пустой целевой объект.НеокончательныйCheck usage of Code in MATLAB Functions> Check that coder.target in MATLAB code contains a non-empty target

Сообщения анализатора кода MATLAB

Ограничение сообщения анализатора кода MATLABFATAL/НефатальныйПроверка совместимости
Проблемы в MATLAB Function блоке.НеокончательныйCheck MATLAB Code Analyzer messages> Check MATLAB code used in MATLAB Function blocks
Проблемы в называемых функциях MATLAB.НеокончательныйCheck MATLAB Code Analyzer messages> Check called MATLAB functions

Похожие темы