SimulinkRealTime.target

Представляйте состояние целевого компьютера и приложение реального времени

Описание

Объект SimulinkRealTime.target представляет в настоящее время загруженное приложение реального времени и состояние целевого компьютера.

Объект обеспечивает доступ к методам и свойствам, которые делают следующее:

  • Запустите и остановите приложение реального времени.

  • Считайте и установите параметры.

  • Контролируйте сигналы.

  • Получите информацию о статусе о целевом компьютере.

  • Перезапустите целевой компьютер.

  • Загрузите и разгрузите приложение реального времени.

  • Запустите, остановите и получите информацию от профилировщика.

Имена функций являются чувствительными к регистру. Введите целое имя. Имена свойства не являются чувствительными к регистру. Вы не должны вводить целое имя, пока символы, которые вы действительно вводите, уникальны для свойства.

Некоторые свойства объектов и функции могут быть вызваны из командной строки целевого компьютера, когда приложение реального времени загрузилось.

Создание

target_object = SimulinkRealTime.target создает целевой объект, представляющий целевой компьютер по умолчанию.

Когда MATLAB® оценивает возвращаемое значение на компьютере разработчика, это пытается соединиться с целевым компьютером. Если попытка успешно выполняется, MATLAB распечатывает Connected = Yes, сопровождаемый состоянием приложения реального времени, работающего на целевом компьютере. Если попытка перестала работать, MATLAB ожидает до времени соединения, и затем распечатывает Connected = No. Чтобы избежать задержки тайм-аута, проверяйте, что целевой компьютер является операционным и связанным с компьютером разработчика, или подавите вывод с останавливающейся точкой с запятой.

target_object = SimulinkRealTime.target(target_name) создает целевой объект, представляющий целевой компьютер, определяемый target_name.

Функция SimulinkRealTime.target принимает эти аргументы:

  • target_name — Имя присвоено целевому компьютеру (вектор символов или скаляр строки). Например, 'TargetPC1'.

  • target_object — Целевой компьютер представления объекта. Например, tg.

Прежде, чем вызвать эту функцию, убедитесь, что вы запускаете целевой компьютер с ядра Simulink® Real-Time™ и применяете необходимые настройки подключения Ethernet.

Этот пример создает целевой объект, который связывается с целевым компьютером по умолчанию и сообщает о состоянии целевого компьютера по умолчанию. В этом случае целевой компьютер соединяется с компьютером разработчика и выполняет загрузчик.

target_object = SimulinkRealTime.target

Этот пример создает целевой объект, который передает с целевым компьютером TargetPC1 и сообщает о состоянии целевого компьютера. В этом случае целевой компьютер не соединяется с компьютером разработчика.

target_object = SimulinkRealTime.target('TargetPC1')

Свойства

развернуть все

Целевой компьютер

Это свойство доступно только для чтения.

Имя приложения реального времени, работающего на целевом компьютере, заданном как вектор символов или скаляр строки. Это имя является именем модели Simulink, из которой было создано приложение. Когда целевой компьютер запускается, этим значением является 'loader'.

Коммуникационный тайм-аут между разработкой и целевыми компьютерами, заданными в секундах.

Это свойство доступно только для чтения.

Состояние Communication между разработкой и целевыми компьютерами, заданными как вектор символов или скаляр строки.

Это свойство доступно только для чтения.

Состояние ЦП для перегрузки, заданной как вектор символов или скаляр строки. Если приложение реального времени требует большего количества процессорного времени, чем образцовый шаг расчета обеспечивает, ядро изменяет это значение от 'none' до 'detected'. Это затем останавливает текущее выполнение. Чтобы помешать этому состоянию изменяться на 'detected', вы должны пользователь быстрый процессор или задавать больший шаг расчета.

Это свойство доступно только для чтения.

Режим выполнения приложения реального времени на целевом компьютере, заданном как вектор символов или скаляр строки. Установки параметров определяют режим выполнения во время генерации кода Simulink Coder™.

Это свойство доступно только для чтения.

Время начиная с ядра начало работать на целевом компьютере, заданном в секундах. Это время является также прошедшим временем, поскольку вы запустили целевой компьютер.

Текущая рабочая папка на целевом компьютере, заданном как вектор символов (например, 'C:\') или скаляр строки.

Выполнение в реальном времени

Это свойство доступно только для чтения.

Среднее время выполнения задачи, заданное в секундах.

Время выполнения задачи (TET) измеряется, сколько времени оно берет ядро, чтобы запуститься для одного временного шага тарифной ставки. Для многоскоростной модели используйте профилировщик, чтобы узнать то, что время выполнения для каждого уровня.

Время выполнения задачи является почти постоянным, с незначительными отклонениями из-за кэша, доступа к памяти, задержки прерывания и выполнения многоскоростной модели.

TET включает:

  • Полная задержка ввода-вывода.

  • Регистрация данных для вывода, состояния, и TET и данных получена в осциллографах.

  • Время потратило, выполнив задачи, связанные с асинхронными прерываниями, в то время как задача в реальном времени запускается.

  • Задержка обновления параметра. Эта задержка понесена, если параметр Double buffer parameter changes устанавливается в узле Simulink Real-Time Options диалогового окна модели Configuration Parameters.

TET не является единственным фактором в определении минимального достижимого шага расчета. Другие факторы:

  • Время, требуемое измерять TET.

  • Задержка прерывания, требуемая запланировать и запустить один шаг модели.

Это свойство доступно только для чтения.

Время выполнения приложения реального времени начиная с вашего приложения реального времени начало запускаться, заданный в секундах. Когда приложение реального времени останавливается, ядро отображает общее время выполнения.

Это свойство доступно только для чтения.

Максимальное время выполнения задачи, заданное в секундах. Соответствует самому медленному времени (самое долгое измеренное время) требуемый обновить образцовые уравнения и отправить выходные параметры.

Это свойство доступно только для чтения.

Минимальное время выполнения задачи, заданное в секундах. Соответствует самому быстрому времени (самое маленькое измеренное время) требуемый обновить образцовые уравнения и отправить выходные параметры.

Время между выборками (размер шага), в секундах, для обновления образцовых уравнений и регистрации выходных параметров.

Примечание

Некоторые блоки приводят к неправильным результатам, когда вы изменяете их шаг расчета во время выполнения. Если вы включаете такие блоки в свою модель, программное обеспечение отображает предупреждающее сообщение во время сборки модели. Чтобы избежать неправильных результатов, измените шаг расчета в исходной модели, и затем восстановите и загрузите модель.

Смотрите пределы на шаге расчета.

Это свойство доступно только для чтения.

Состояние Execution приложения реального времени, заданного как вектор символов или скаляр строки.

Время, когда приложение реального времени прекращает запускаться, заданный в секундах, как вектор символов, или как скаляр строки. Начальное значение установлено в панели Solver диалогового окна Configuration Parameters.

Когда ExecTime достигает StopTime, приложение прекращает запускаться. Если вы задаете специальное значение 'Inf', выполнения приложения реального времени, пока вы вручную не останавливаете его или перезапускаете целевой компьютер.

Это свойство доступно только для чтения.

Устройство хранения данных в рабочем пространстве MATLAB в течение времени выполнения задачи, заданного как вектор дважды.

Визуализация сигнала

Значения являются следующим значением:

  • 'Normal' — Указывает на равноотстоящее от времени журналирование. Регистрирует точку данных в каждом временном интервале.

  • Дважды — Указывает на равноотстоящее от значения журналирование. Регистрирует точку данных только, когда выходной сигнал OutputLog изменяется заданным различием в значении сигналов (шаг).

Это свойство доступно только для чтения.

Максимальное количество выборок для каждого регистрируемого сигнала, заданного как беззнаковое целое.

Это свойство доступно только для чтения.

Число раз круговой буфер регистрации данных переносится, заданный как беззнаковое целое. Буфер переносится каждый раз, когда количество выборок превышает MaxLogSamples.

Это свойство доступно только для чтения.

Количество заметных сигналов в модели Simulink, заданной как беззнаковое целое. Незаметные сигналы не включены в это значение.

Примечание

  • Доступ сигнала индексом сигнала будет удален в будущем релизе. Доступ к сигналам именем сигнала вместо этого.

  • Этот параметр будет удален в будущем релизе.

Это свойство доступно только для чтения.

Устройство хранения данных в рабочем пространстве MATLAB для вывода или Y-вектора, заданного как матрица.

Это свойство доступно только для чтения.

Список индексов, один на осциллограф, заданный как вектор беззнакового целого.

Набор флага, чтобы просмотреть список сигналов из вашей модели Simulink, заданной как вектор символов или представить скаляр в виде строки. MATLAB отображает список сигнала, когда вы отображаете свойства для целевого объекта.

Это свойство доступно только для чтения.

Список заметных сигналов, заданных как вектор, содержащий следующие значения для каждого сигнала:

  • Индекс — ID раньше получал доступ к сигналу.

  • Значение — Значение сигнала.

  • Введите — Тип данных сигнала.

  • Имя блока — Иерархическое имя блока Simulink, из которого прибывает сигнал.

  • Метка — Метка, которую вы присвоили этому сигналу.

Этот список видим только, когда ShowSignals установлен в 'on'.

Это свойство доступно только для чтения.

Устройство хранения данных в рабочем пространстве MATLAB для состояния или X-вектора, заданного как матрица.

Это свойство доступно только для чтения.

Устройство хранения данных в рабочем пространстве MATLAB в течение времени или T-вектора, заданного как вектор дважды.

Настройка параметра

Это свойство доступно только для чтения.

Количество настраиваемых параметров в модели Simulink, заданной как беззнаковое целое. Ненастраиваемые (незаметные) параметры не включены в это значение.

Примечание

  • Доступ к параметру индексом параметра будет удален в будущем релизе. Доступ к параметрам названием параметра вместо этого.

  • Этот параметр будет удален в будущем релизе.

Это свойство доступно только для чтения.

Список настраиваемых параметров, отображенных как вектор, содержащий следующие значения для каждого параметра:

  • Значение — Значение параметра в блоке Simulink. Если параметр является структурой, значение отображено с векторными скобками.

  • Введите — Тип данных параметра.

    Примечание

    Simulink Real-Time не поддерживает параметры типов данных многословных.

  • Размер — Размер параметра. Например, скаляр, 1 2 вектор, или 2 3 матрица, структура.

  • Название параметра — Имя параметра в блоке Simulink.

    Если параметр является полем структуры, имя отображено в форме structname.fieldname.

  • Имя блока — Если параметр является параметрами блоков, имя блока, является иерархическим именем блока Simulink, содержащего параметр. Если параметром является переменная MATLAB, которая обеспечивает значение для параметров блоков, имя блока является пустым символьным вектором.

Этот список видим только, когда ShowParameters установлен в 'on'.

Набор флага, чтобы просмотреть список параметров из вашей модели Simulink, заданной как вектор символов или представить скаляр в виде строки. MATLAB отображает список параметров, когда вы отображаете свойства для целевого объекта.

Профилировщик

Состояния профилировщика имеют следующее значение:

  • Ready — Профилировщик запускает в этом состоянии и остается в нем до выполнений профилировщика.

    Если профилировщик запускается, это повторно входит в это состояние если профилировщик:

    • Остановленный, не собирая данные.

    • Собранные данные и данные были загружены на компьютер разработчика.

    • Был сброшен.

  • Running — Команда, чтобы запустить профилировщик, за которым следуют.

    Если приложение реального времени запускается, профилировщик собирает данные.

    Если приложение реального времени не запускается, профилировщик инициализирует и ожидает. Когда приложение реального времени запускается, профилировщик начинает собирать данные.

  • DataAvailable — Команда, чтобы остановить профилировщик, за которым следуют. Профилировщик собрал данные, но данные не были загружены на компьютер разработчика. В этом состоянии попытка перезапустить профилировщик приводит к следующим результатам:

    • Если приложение запускается, вызывание этой функции возвращает ошибку. Загрузите данные или сбросьте профилировщик прежде, чем перезапустить их.

    • Если приложение не запускается, вызывание этой функции перезапускает профилировщик, и эта операция отбрасывает существующие данные о профиле из целевого компьютера.

Функции объекта

pingПротестируйте связь между разработкой и целевыми компьютерами
rebootПерезапустите целевой компьютер
closeЗакройте связь между разработкой и целевыми компьютерами
loadЗагрузите приложение реального времени на целевой компьютер
unloadУдалите приложение реального времени из целевого компьютера
startЗапустите выполнение приложения реального времени на целевом компьютере
stopОстановите выполнение приложения реального времени на целевом компьютере
addscopeСоздайте осциллограф заданного типа
getscopeВозвратите осциллограф, идентифицированный номером осциллографа
remscopeУдалите осциллограф из целевого компьютера
getlogФрагмент вывода регистрирует от целевого объекта
importLogDataИмпорт, буферизованный, регистрируя данные к активному сеансу Инспектора Данных моделирования
getsignalЗначение сигнала
getsignalidИндекс сигнала с иерархического имени сигнала
getsignalidsfromlabelВектор индексов сигнала
getsignallabelМетка сигнала для индекса сигнала
getsignalnameИмя сигнала из списка индексов
getparamСчитайте значение заметного параметра в режиме реального времени приложение
setparamИзмените значение настраиваемого параметра в режиме реального времени приложение
getparamidИндекс параметра от параметра иерархическое имя
getparamnameБлок path и название параметра от индекса параметра
loadparamsetВосстановите значения параметров, сохраненные в заданном файле
saveparamsetСохраните значения параметров приложения реального времени
startProfilerЗапустите профилирование на целевом компьютере
stopProfilerОстановите профилирование на целевом компьютере
getProfilerDataПолучите объект данных профиля
resetProfilerСбросьте состояние профилирования к Готовому
getDiskSpaceВозвратите свободное пространство и общий пробел на диске в байтах

Примеры

свернуть все

Создайте и загрузите xpcosc, выполните приложение реального времени в режиме external mode.

Открытый, сборка и приложение реального времени загрузки

ex_model = 'xpcosc';
open_system(ex_model);
ex_scope = [ex_model '/Scope'];
open_system(ex_scope)
rtwbuild(ex_model);
tg = SimulinkRealTime.target
Target: TargetPC1
   Connected            = Yes
   Application          = xpcosc
   Mode                 = Real-Time Single-Tasking
   Status               = stopped
   CPUOverload          = none

   ExecTime             = 0.0000
   SessionTime          = 769.0726
   StopTime             = 0.200000
   SampleTime           = 0.000250
   AvgTET               = NaN
   MinTET               = Inf
   MaxTET               = 0.000000
   ViewMode             = 0

   TimeLog              = Vector(0) 
   StateLog             = Matrix (0 x 2)
   OutputLog            = Matrix (0 x 2)
   TETLog               = Vector(0) 
   MaxLogSamples        = 16666
   NumLogWraps          = 0
   LogMode              = Normal
   ProfilerStatus       = Ready

   Scopes               = No Scopes defined  
   NumSignals           = 7
   ShowSignals          = off

   NumParameters        = 7
   ShowParameters       = off

Подготовьте и запустите симуляцию в режиме external mode в течение 10 секунд.

tg.StopTime = 10;
set_param(ex_model,'SimulationMode','External'); 
set_param(ex_model,'SimulationCommand','Connect');
set_param(ex_model,'SimulationCommand','Start');
pause(10);
set_param(ex_model,'SimulationCommand','Stop');
set_param(ex_model,'SimulationCommand','Disconnect'); 

Вывод выглядит так фигура.

Разгрузите приложение реального времени

unload(tg)
Target: TargetPC1
   Connected            = Yes
   Application          = loader

Введенный в R2014a