Ограничение блока MATLAB Function | КРИТИЧЕСКИЙ / Нефатальный | Проверка совместимости |
---|---|---|
Имена блока:
| Нефатальный | Check usage of MATLAB Function Blocks> Check for block names that contain ‘/*’,’*/’, or start or end with the character ‘*’ |
Класс памяти выходного сигнала должен быть установлен в Auto когда блок имеет постоянный (Inf 'SampleTime' . | Нефатальный | Check usage of MATLAB Function Blocks> Check for unsupported usage of storage class |
Выходной порт не должен быть testpointed, когда блок имеет постоянный (Inf 'SampleTime' . | Нефатальный | Check usage of MATLAB Function Blocks> Check for unsupported testpoints |
Выведите пользовательские классы памяти сигнала:
| Нефатальный | Check usage of MATLAB Function Blocks> Check storage class of block outports |
Порты ввода и вывода должны быть скалярами, векторами или 2D матрицами. | Нефатальный | 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 |
Блокируйтесь, который является постоянным или имеет параметры, которые могут быть настроены, не должен управлять двумя или больше многоскоростными блоками, не используя явные блоки Перехода Уровня. | Нефатальный | 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 | КРИТИЧЕСКИЙ / Нефатальный | Проверка совместимости |
---|---|---|
Данные, заданные в функции 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 | КРИТИЧЕСКИЙ / Нефатальный | Проверка совместимости |
---|---|---|
Использовать невстроенные пользовательские функции с глобальными переменными в коде MATLAB:
| Нефатальный | 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 |
| Нефатальный | 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 единственный 'double' , или скалярная шина. | Нефатальный | Check usage of Code in MATLAB Functions> Check that data used in MATLAB function is of a supported data type |
Диагональный номер задан для D = diag(v,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 базируется функции, если Для пользовательских функций MATLAB, | Нефатальный | 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 операторы не должны иметь case-выражений, содержащих массив ячеек. | Нефатальный | Check usage of Code in MATLAB Functions> Check that switch statements in MATLAB code do not have case expressions containing a cell array |
switch операторы должны использовать тот же скалярный целочисленный тип во всем переключателе и условиях случая. | Нефатальный | 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 |
Код MATLAB ограничение сообщения анализатора | КРИТИЧЕСКИЙ / Нефатальный | Проверка совместимости |
---|---|---|
Проблемы в блоке 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 |