В этом примере показано, как проследить сигналы с целевым осциллографом Simulink® Real-Time™. Целевые осциллографы используются, чтобы проследить или отобразить сигналы на видеомониторе, присоединенном к целевому компьютеру. После того, как скрипт создает и загружает модель генератора, xpcosc, к целевому компьютеру, это добавляет четыре осциллографа типа 'цель' к приложению, каждый осциллограф, имеющий различное приобретение DisplayMode. Четыре осциллографа идентифицированы следующими числами осциллографа: 1, 3, 6, и 7. Сигналы 'Генератор Сигнала' (вход генератора) и 'Integrator1' (генератор выход) добавлены к и отображены на каждом осциллографе.
scs (1): № 1 Осциллографа собирается Перерисовать, Сетка, FreeRun.
scs (2): № 3 Осциллографа собирается Перерисовать, NoGrid, Сигнал.
scs (3): № 6 Осциллографа установлен в Числовой, - программное обеспечение.
scs (4): № 7 Осциллографа собирается Перерисовать, Сетка, Осциллограф.
В этом примере показано, как использовать Функцию множества, чтобы установить несколько значений свойства объекта в одной команде.
Используйте 'slrtpingtarget', чтобы протестировать связь между разработкой и целевыми компьютерами.
if ~strcmp(slrtpingtarget, 'success') error(message('xPCTarget:examples:Connection')); end
Откройте модель генератора xpcosc. При настройках опции Simulink Real-Time параметра конфигурации модели системный конечный файл был установлен в xpctarget.tlc. Следовательно, создавание модели создаст исполняемое изображение, xpcosc.mldatx, который может быть запущен на компьютере, загруженном с Ядром Simulink Real-Time.
open_system(fullfile(matlabroot,'toolbox','rtw','targets','xpc','xpcdemos','xpcosc'));
Создайте модель и загрузите изображение, xpcosc.mldatx, к целевому компьютеру.
Сконфигурируйте для немногословной сборки.
Сборка и приложение загрузки.
set_param('xpcosc','RTWVerbose','off'); rtwbuild('xpcosc'); tg = slrt('TargetPC1'); load(tg,'xpcosc');
### Starting Simulink Real-Time build procedure for model: xpcosc Warning: This model contains blocks that do not handle sample time changes at runtime. To avoid incorrect results, only change the sample time in the original model, then rebuild the model. ### Successful completion of build procedure for model: xpcosc ### Created MLDATX ..\xpcosc.mldatx ### Looking for target: TargetPC1 ### Download model onto target: TargetPC1
Создайте переменную MATLAB®, tg, содержа целевой объект Simulink Real-Time. Этот объект позволяет вам связываться с и управлять целевым компьютером.
Создайте целевой объект Simulink Real-Time
Установите шаг расчета на 250us
Установите время остановки на высокое значение (10 000 с)
tg.SampleTime = 0.000250; tg.StopTime = 10000;
Задайте целевые объекты осциллографа 1, 3, 6 и 7: векторизация используется.
scs = addscope(tg, 'target', [1,3,6,7]);
Получите индексы сигналов 'Integrator1', 'Генератор Сигнала'
Получите индекс сигнала 'Integrator1'
Получите индекс 'Генератора Сигнала сигнала'
Добавьте сигналы в объекты scope
signals(1) = getsignalid(tg, 'Integrator1'); signals(2) = getsignalid(tg, 'Signal Generator'); addsignal(scs, signals);
Используйте команду НАБОРА, чтобы одновременно установить свойства для каждого элемента вектора осциллографа
Установитесь коэффициент децимации
Установите осциллограф 1 свойство.
Установите осциллограф 3 свойства.
Установите осциллограф 6 свойств.
Установите осциллограф 7 свойств.
Установите пределы оси Y для каждого осциллографа в векторе.
set(scs,'Decimation',1) set(scs(1), ... {'NumSamples', 'TriggerMode', 'Grid', 'DisplayMode', 'YLimit'}, ... {200, 'FreeRun', 'On', 'Redraw', [-10, 10]}); set(scs(2), ... {'NumSamples', 'TriggerMode', 'TriggerSignal', 'TriggerLevel', ... 'TriggerSlope', 'Grid', 'DisplayMode'}, ... {500, 'Signal', getsignalid(tg, 'Signal Generator'), 0.0, ... 'Rising', 'Off', 'Redraw'}); set(scs(3), 'NumSamples',100, 'TriggerMode', 'Software', 'DisplayMode', 'Numerical'); set(scs(4), ... {'NumSamples', 'TriggerMode', 'TriggerScope', 'Grid', 'DisplayMode'}, ... {2000, 'Scope', 3, 'On', 'Redraw'}); set(scs([1,2,4]), 'YLimit', 'Auto');
Запустите приобретение каждого осциллографа
Запустите симуляцию
Триггер программного обеспечения определяет объем 6
start(scs); start(tg); trigger(scs(3));
Ожидайте в течение 1 секунды после запуска
Снимок состояния видеодисплея целевого компьютера
pause(1); tg.viewTargetScreen;
Когда сделано, близко модель.
Модель Close
close_system('xpcosc',0);