Откройте Property Inspector. Во вкладке Modeling, под Design, нажимают Property Inspector.
Выберите блок, коллбэк которого вы хотите задать. Во вкладке Properties Property Inspector, в разделе Callbacks, выбирают коллбэк, который вы хотите задать.
В поле введите функции, которые вы хотите, чтобы коллбэк выполнил.
Чтобы задать коллбэк блока программно, использовать set_param
присваивать MATLAB® код к параметру коллбэка блока.
Если коллбэк блока выполняется, прежде или после того, как действие моделирования происходит, тот коллбэк сразу происходит прежде или после действия.
Блокируйте вводные параметры коллбэка
Блокируйте параметр коллбэка | Когда выполняется |
---|---|
Когда блок открыт. Обычно используйте этот параметр с блоками Subsystem. Коллбэк выполняется, когда вы дважды кликаете блок или когда вы используете После того, как вы добавляете Для примеров использования
| |
После того, как блок-схема загружается. Для блоков Subsystem, |
Блокируйте параметры коллбэка редактирования
Блокируйте параметры коллбэка компиляции и симуляции
Блокируйте параметр коллбэка | Когда выполняется |
---|---|
Прежде чем блок-схема скомпилирована и прежде чем параметры блоков будут оценены. Для получения дополнительной информации о | |
После того, как блок-схема скомпилирована и прежде чем симуляция запустится. В случае Блока s-function, | |
Прежде чем симуляция продолжается. | |
После того, как симуляция делает паузу. | |
При любом завершении симуляции. В случае Блока s-function, |
Блокируйте сохранение и закрытие параметров коллбэка
Блокируйте параметр коллбэка | Когда выполняется |
---|---|
Прежде чем блок-схема сохранена. Для блоков Subsystem, | |
После того, как блок-схема сохранена. Для блоков Subsystem, | |
Когда блок закрывается с помощью
Например, чтобы закрыть все открытые окна MATLAB, используйте команду, такую как: set_param('my_model','CloseFcn','close all') | |
Прежде чем блок-схема закрывается. Когда модель закрывается, Для блоков Subsystem, |
Параметры коллбэка блока Subsystem
Можно использовать другие параметры коллбэка блока с блоками Subsystem, но параметры коллбэка в этой таблице характерны для блоков Subsystem.
Примечание
Коллбэк для подсистемы маскированной не может непосредственно сослаться на параметры подсистемы маскированной (см., Создают Маски Блока). Simulink® оценивает коллбэки блока в базовом рабочем пространстве MATLAB, тогда как параметры маски находятся в частной рабочей области подсистемы маскированной. Коллбэк блока, однако, может использовать get_param
получить значение параметра маски. Например, здесь gain
имя параметра маски текущего блока:
get_param(gcb, 'gain')
Блокируйте параметр коллбэка | Когда выполняется |
---|---|
После блока или линии удален в подсистеме. Если блок имеет | |
Когда ошибка произошла в подсистеме. Используйте следующую форму для кода коллбэка для newException = errorHandler(subsys, ... errorType, originalException) где
Если вы обеспечиваете исходное исключение, то вы не должны задавать подсистему и ошибочный тип. Следующие наборы команд set_param(subsys,'ErrorFcn','errorHandler') set_param , не включайте входные параметры кода коллбэка. Simulink отображает сообщение об ошибке, возвращенное коллбэком. | |
Прежде, чем закрыть подсистему, содержащую блок или когда блок сделан частью новой подсистемы с помощью также:
Когда вы закрываете модель, Simulink не вызывает |
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.