Сделайте индивидуальные настройки постобработки при создании библиотеки авторского блока
sl_postprocess(h)
sl_postprocess(h)
берет указатель на библиотеку авторского блока, h
, и позволяет, вы, чтобы сделать библиотеку, постобрабатывающую индивидуальные настройки (например, добавьте передающую таблицу (Simulink)).
Если создаваемый пакет файла Simscape™ содержит файл sl_postprocess.m
, то ssc_build
вызывает sl_postprocess
, если библиотека блоков (package_name
_lib
) сгенерирована, но прежде чем это будет сохранено на диск. Если sl_postprocess
генерирует ошибку, библиотека не создает.
Можно включать файл sl_postprocess.m
в любой уровень в пакете библиотеки. В верхнем уровне это вносит изменения постобработки в целую библиотеку авторского блока. Точно так же, если файл sl_postprocess.m
находится в подбиблиотеке в пакете, он берет указатель на ту подбиблиотеку и вносит соответствующие изменения.
Если вы переименовываете блок или изменяете название параметра, необходимо добавить передающую таблицу, чтобы обновить старые модели та ссылка блок. Однако, если вы вручную добавите передающую таблицу в пользовательскую библиотеку, это будет перезаписано каждый раз, когда вы восстанавливаете библиотеку. Вместо этого включайте файл sl_postprocess.m
в пакет библиотеки, который добавит передающую таблицу автоматически после восстановления библиотеки:
- +MySimscape |-- sl_postprocess.m |-- +Mechanical | |-- spring.ssc | |-- ...
Файл sl_postprocess.m
содержит передающую таблицу:
function sl_postprocess(h) % Forwarding table for the spring block ft = { {'MySimscape_lib/Mechanical/Ideal Spring', 'MySimscape_lib/Mechanical/Rotational Spring'} } set_param(h, 'ForwardingTable', ft); end
Эта передающая таблица показывает, что имя авторского блока для компонента spring.ssc
изменилось от 'Ideal Spring'
до 'Rotational Spring'
.
Обратите внимание на то, что, если вы настроили имена библиотеки с помощью файлов lib.m
, необходимо использовать эти пользовательские имена в передающей таблице (например, 'Mechanical Library'
вместо 'Mechanical'
).