Возвратите контрольную сумму модели
[checksum
,details
] = Simulink.BlockDiagram.getChecksum('model
')
[
возвращает контрольную сумму заданной модели. Программное обеспечение Simulink® вычисляет контрольную сумму на основе атрибутов модели и блоков, которые содержит модель.checksum
детали
] = 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
— Верный, если какие-либо блоки в модели имеют свойство, которое предотвращает повторное использование кода.
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 добавило элемент в контрольную сумму. Для блока указатель является полным блоком path. Для порта блока указатель является полным блоком path и вектором символов, который идентифицирует порт.
Identifier
— Дескриптор программного обеспечения Simulink элемента добавляется к контрольной сумме. Если элемент является зарегистрированным параметром, идентификатор является названием параметра.
Value
— Значение программного обеспечения 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-функцию
Примеры изменений модели, которые не влияют на структурную контрольную сумму, включают:
Меняя положение блока
Меняя положение линии
Изменение размеров блока
Добавление, удаляя или изменяя аннотацию модели