Возвращает контрольную сумму модели
[checksum
,details
] = Simulink.BlockDiagram.getChecksum('model
')
[
возвращает контрольную сумму указанной модели. Simulink® программное обеспечение вычисляет контрольную сумму на основе атрибутов модели и блоков, содержащихся в модели.checksum
, details
] = Simulink. BlockDiagram.getChecksum (' model
')
Одно из применений этой команды состоит в том, чтобы определить, почему режим Accelerator в программном обеспечении Simulink регенерирует код. Для получения примера см. slAccelDemoWhyRebuild
.
Примечание
Simulink.BlockDiagram.getChecksum
компилирует указанную модель, если модель еще не находится в скомпилированном состоянии.
Эта команда принимает аргумент model
, которое является полным именем или указателем на модель, для которой вы возвращаете данные контрольной суммы.
Эта команда возвращает следующий выход:
checksum
- Массив из четырех 32-битных целых чисел, который представляет 128-битную контрольную сумму модели.
details
- Структура формы
ContentsChecksum: [1x1 struct] InterfaceChecksum: [1x1 struct] ContentsChecksumItems: [nx1 struct] InterfaceChecksumItems: [mx1 struct]
ContentsChecksum
- Структура следующей формы, которая представляет контрольную сумму, которая предоставляет информацию обо всех блоках в модели.
Value: [4x1 uint32] MarkedUnique: [bool]
Value
- Массив из четырех 32-битных целых чисел, который представляет 128-битную контрольную сумму модели.
MarkedUnique
- True, если какие-либо блоки в модели имеют свойство, которое препятствует повторному использованию кода.
InterfaceChecksum
- Структура следующей формы, которая представляет контрольную сумму, которая предоставляет информацию о модели.
Value: [4x1 uint32] MarkedUnique: [bool]
Value
- Массив из четырех 32-битных целых чисел, который представляет 128-битную контрольную сумму модели.
MarkedUnique
- Всегда верно. Присутствует для согласованности с ContentsChecksum
структура.
ContentsChecksumItems
и InterfaceChecksumItems
- Структурируйте массивы следующей формы, которые содержат информацию, которую программное обеспечение Simulink использует для вычисления контрольной суммы для ContentsChecksum
и InterfaceChecksum
, соответственно:
Handle: [char array] Identifier: [char array] Value: [type]
Handle
- Объект, для которого программное обеспечение Simulink добавило элемент в контрольную сумму. Для блока указатель является полным путем блока. Для блочного порта указатель является полным путем блока и вектора символов, который идентифицирует порт.
Identifier
- Дескриптор программного обеспечения Simulink элемента, добавленный к контрольной сумме. Если элемент является документированным параметром, идентификатор является именем параметра.
Value
- Значение программного обеспечения Simulink элемента, добавленное к контрольной сумме. Если элемент является параметром, Value
- значение, возвращаемое
get_param(handle, identifier)
Simulink.BlockDiagram.getChecksum
возвращает контрольную сумму, которая зависит от того, почему и как вы скомпилировали модель. Эта функция также компилирует модель, если она не находится в скомпилированном состоянии. Модель компилируется для:
Симуляция - если режим симуляции является Accelerator или вы не установили Simulink Coder™
Генерация кода - во всех остальных случаях
Чтобы скомпилировать модель перед вызовом Simulink.BlockDiagram.getChecksum
, используйте эту команду:
modelName([],[],[],'compile')
Примечание
Контрольная сумма, которая Simulink.BlockDiagram.getChecksum
возвраты могут варьироваться от возвращенной контрольной суммы, если вы сначала скомпилируете модель в командной строке (используя model
команда) перед выполнением Simulink.BlockDiagram.getChecksum
.
Структурная контрольная сумма отражает изменения в модели, которые могут повлиять на результаты симуляции, включая:
Изменение типа решателя, например, с Variable-step
на Fixed-step
Добавление или удаление блоков или соединений между блоками
Изменение значений параметров нетронутых блоков, например, параметра Seed блока Random Number
Изменение количества входов или выходов блоков, даже если связность векторизована
Изменение количества состояний или начальных состояний в модели
Выбор другой функции в блоке Trigonometric Function
Изменение знаков, используемых в блоке Sum
Добавление файла Target Language Compiler (TLC) к встроенной S-функции
Примеры изменений модели, которые не влияют на структурную контрольную сумму, включают:
Изменение положения блока
Изменение положения линии
Изменение размера блока
Добавление, удаление или изменение аннотации модели