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