Чтобы использовать Проводник Simulink® Real-Time™ в логгировании сигнала, добавьте блок Outport в свою модель Simulink. Активируйте вхождение в систему панели Data Import/Export в диалоговом окне Configuration Parameters.
Чтобы получить доступ к журналу данных, который создает приложение реального времени, когда это работает на целевом компьютере, используйте Real-Time Application Properties.
Пример начинается с модели ex_slrt_rt_osc
(open_system(docpath(fullfile(docroot, 'toolbox', 'xpc', 'examples', 'ex_slrt_rt_osc')))
). Финалом сконфигурированная модель является ex_slrt_outport_osc
(open_system(docpath(fullfile(docroot, 'toolbox', 'xpc', 'examples', 'ex_slrt_outport_osc')))
):
Регистрируемые выходные параметры являются сигналами, соединенными с Simulink блоки Outport. Модель имеет один блок Outport с индексом 1
. Этот блок Outport показывает, что сигналы, оставляя блок пометили Mux
.
Simulink Real-Time хранит записанные данные в четырех журналах данных, к которым можно получить доступ на компьютере разработчика при помощи Real-Time Application Properties. В следующем списке, tg
имя SimulinkRealTime.target
возразите, что вы используете, чтобы связаться с целевым компьютером.
tg.TimeLog
— Время или T-вектор в виде вектора дважды. Чтобы включить, в панели Data Import/Export, устанавливают параметр модели Time.
tg.OutputLog
— Выведите или Y-вектор в виде матрицы. Чтобы включить, в панели Data Import/Export, устанавливают параметр модели Output.
tg.TETLog
— Вектор времени выполнения задачи в виде вектора дважды. Чтобы включить, в панели Simulink Real-Time Options, устанавливают параметр модели Monitor Task Execution Time.
tg.StateLog
— Состояние или X-вектор в виде матрицы. Чтобы включить, в панели Data Import/Export, устанавливают параметр модели State.
Включите логгирование только для данных, которыми вы интересуетесь.
Каждый блок Outport имеет связанный вектор-столбец в tg.OutputLog
. Можно получить доступ к данным, которые соответствуют конкретному блоку Outport путем определения вектор-столбца для того блока. Например, чтобы получить доступ к данным, которые соответствуют Outport 2
, используйте tg.outputlog(:,2)
.
Чтобы загрузить часть журналов, используйте метод целевого объекта getlog
.
Переменные tout
регистрации данных,
xout
, yout
, и logsout
доступны только, когда вы используете Simulink, чтобы симулировать модель в нев реальном времени.
Вы не можете использовать Инспектора Данных моделирования, чтобы создать вход в систему данных целевой компьютер. Можно регистрировать только сигналы, которые соединяются с блоком Outport.
Открытые Параметры конфигурации. На вкладке Real-Time нажмите Hardware Settings.
Позволить Simulink регистрировать сигналы. Выберите Data Import/Export> Time и выберите Data Import/Export> Output. Эти флажки устанавливаются по умолчанию.
Чтобы построить время выполнения задачи, выберите Code Generation> Simulink Real-Time Options> Monitor Task Execution Time. Этот флажок устанавливается по умолчанию.
Чтобы создать буфер для сигналов, что вы регистрируете, устанавливает Code Generation> Simulink Real-Time Options> Signal logging buffer size in doubles к необходимому значению.
Значение по умолчанию 100 000 модулей является достаточно большим для этой модели.
Сохраните модель как ex_slrt_outport_osc
(open_system(docpath(fullfile(docroot, 'toolbox', 'xpc', 'examples', 'ex_slrt_outport_osc')))
). На вкладке Simulation, от Save, нажимают Save as.
Соединитесь с целевым компьютером. На вкладке Real-Time переключите индикатор Disconnected к Connected.
Создайте и загрузите приложение реального времени на целевой компьютер. На вкладке Real-Time нажмите Run on Target.
Открытый Simulink Real-Time Explorer. На вкладке Real-Time нажмите Prepare> SLRT Explorer.
Чтобы запустить выполнение, кликните по приложению реального времени, и затем на панели инструментов, нажмите кнопку Start .
Чтобы остановить выполнение, кликните по приложению реального времени, и затем на панели инструментов, нажмите кнопку Stop .
Загрузите и постройте регистрируемые времена и выходные значения от целевого компьютера. В Командном окне введите:
tg = slrt; timelog = tg.TimeLog; outputlog = tg.OutputLog; plot(timelog, outputlog)
Загрузите и постройте времена выполнения задачи для целевого компьютера. В Командном окне введите:
tetlog = tg.TETLog; plot(timelog, tetlog)
Показанный график является результатом выполнения в реальном времени.
В Командном окне введите:
tg.AvgTET
ans = 5.7528e-006
Процентом производительности ЦП является средний TET, разделенный на шаг расчета.
Время выполнения задачи (TET) измеряется, сколько времени оно берет ядро, чтобы запуститься для одного временного шага тарифной ставки. Для многоскоростной модели используйте профилировщик, чтобы узнать то, что время выполнения для каждого уровня.
Свойства приложения реального времени | getlog