Данные сигнала можно передать в функцию обратного вызова MATLAB ® во время моделирования с помощью функции доступа к данным в свойствах Instrumentation для сигнала. Предоставляемая функция принимает данные в пакетах асинхронно в течение всего моделирования. Функция обратного вызова выполняется каждый раз при получении новых данных. Функцию обратного вызова можно записать для обработки данных сигнала во время моделирования или для создания пользовательской визуализации сигнала. Функция обратного вызова не влияет на значения сигналов в модели. Этот пример иллюстрирует шаги, необходимые для доступа к данным сигнала во время моделирования с использованием простой функции обратного вызова, которая строит график сигнала.
Примечание
Доступ к данным не поддерживает режим Rapid Accelerator, ссылочные модели, данные с фиксированной точкой или сигналы виртуальной шины и поддерживает только 1-D и 2-D матричные сигналы.
Функция обратного вызова доступа к данным всегда принимает данные сигнала в качестве первого аргумента. Можно выбрать отправку времени моделирования и параметра. При включении всех трех аргументов время моделирования является вторым аргументом. Функция обратного вызова может быть специфичной для одного сигнала, или можно использовать один и тот же обратный вызов для обработки и визуализации нескольких сигналов. Функция обратного вызова имеет доступ к данным только для одного сигнала одновременно. В этом примере создается функция обратного вызова, которая принимает данные сигнала, время и параметр, используемые для идентификации сигнала, обрабатываемого функцией для данного вызова.
Примечание
Функция обратного вызова доступа к данным принимает невиртуальные данные шины в виде структуры массивов, которая соответствует иерархии шины.
Создайте функцию обратного вызова в m-файле с тем же именем, что и функция. Дополнительные сведения о записи функций MATLAB см. в разделе Создание функций в файлах. В примере функции обратного вызова для назначения каждому сигналу числового идентификатора используется дополнительный параметр. Параметр используется для создания уникальной фигуры для каждого сигнала и присвоения каждому сигналу разного цвета линии. Для накопления данных сигнала на графике обратный вызов включает в себя hold on. Для каждого вызова обратного вызова функция принимает часть данных сигнала. При необходимости можно использовать обратный вызов для накопления пакетов.
function plotSignals(y,time,sigNum) figure(sigNum) if isequal(sigNum,1) marker = 'ro-'; elseif isequal(sigNum,2) marker = 'go-'; else marker = 'bo-'; end hold on; plot(time,y,marker); end
Функция обратного вызова не предоставляет возвращаемых значений. При указании функции с возвращаемыми данными возвращаемые данные отбрасываются.
Совет
Использовать assignin для доступа к данным из функции обратного вызова в базовой рабочей области.
Сохраните функцию обратного вызова в местоположении на пути MATLAB. Если местоположение, в котором сохраняется обратный вызов, отсутствует в пути, его можно добавить в путь. Щелкните правой кнопкой мыши каталог, содержащий обратный вызов, в разделе Current Folder в MATLAB и выберите Add to Path.
Чтобы получить доступ к данным для сигнала с помощью обратного вызова доступа к данным, необходимо зарегистрировать сигнал. Чтобы пометить сигнал для регистрации, щелкните правой кнопкой мыши сигнал в модели и выберите команду Записать выбранные сигналы (Log Selected Signals). Чтобы настроить доступ к данным для сигнала, щелкните правой кнопкой мыши значок регистрации и выберите Свойства. На вкладке Data Access окна Instrumentation Properties можно указать имя функции обратного вызова, необходимость использования функции обратного вызова в качестве аргумента и необязательное значение параметра.
Например, откройте vdp модель и конфигурирование x1 и x2 сигналы для использования обратного вызова из предыдущего раздела.
Войти vdp в окне команд MATLAB.
Выберите x1 и x2 сигналы. Затем щелкните правой кнопкой мыши по выбранным сигналам и выберите в контекстном меню команду «Регистрировать выбранные сигналы».
Чтобы открыть свойства Instrumentation, щелкните правой кнопкой мыши значок регистрации для x1 и выберите Свойства.
На панели «Доступ к данным» введите имя обратного вызова, установите флажок «Включить время моделирования» и введите 1 в качестве параметра Function.

Открыть свойства инструментария для x2 и настройте панель «Доступ к данным» для использования plotSignals обратный вызов со значением параметра Function, равным 2.
Моделирование vdp модель. Обратный вызов генерирует рисунки 1 и 2 для отображения x1 и x2 сигналы при моделировании.
Функцию обратного вызова можно изменить, чтобы создать пользовательскую визуализацию или график обработанных данных сигнала. Ошибки, связанные с функцией обратного вызова доступа к данным, не прерывают моделирование. Ошибки отображаются в программе Diagnostic Viewer как предупреждение.