Simulink® Real-Time™ включает специализированный блок Scope, который можно сконфигурировать, чтобы сохранить сигнал и данные времени к файлу в файловой системе целевого компьютера. Добавьте блок Scope в модель, выберите Scope type File
, и затем сконфигурируйте другие параметры как описано в следующей процедуре.
Не путайте блоки Осциллографа Simulink Real-Time со стандартными блоками Осциллографа Simulink.
Эта процедура использует модель ex_slrt_rt_osc
в качестве примера (
open_system(docpath(fullfile(docroot, 'toolbox', 'xpc', 'examples', 'ex_slrt_rt_osc')))
).
В Командном окне откройте ex_slrt_rt_osc
.
В Редакторе Simulink дважды кликните, блок пометил Scope.
Диалоговое окно блока Scope открывается. По умолчанию целевое диалоговое окно scope отображено.
В поле Scope number уникальный номер отображен, который идентифицирует осциллограф. Этот номер постепенно увеличивается каждый раз, когда вы добавляете осциллограф Simulink Real-Time.
Этот номер идентифицирует блок Simulink Real-Time Scope и экран scope на разработке или целевом компьютере.
Из списка Scope type выберите File
. Обновленное диалоговое окно открывается.
Прежде, чем запустить осциллограф, скопируйте ранее полученные данные в компьютер разработчика. Когда осциллограф файла запускается, перезаписи программного обеспечения ранее полученные данные в файлах шаблона имени или указанного имени. Частично перезаписанный файл или файл, который открыт, но оставлен незаписанный, теряют свое исходное содержимое.
Чтобы запустить осциллограф автоматически, когда приложение реального времени выполнится, установите флажок Start scope when application starts.
В Stand Alone
режим, эта установка обязательна, потому что компьютер разработчика не доступен, чтобы дать команду, чтобы запустить осциллографы.
В поле Number of samples введите номер значений, которые будут получены в блоке данных.
Параметр Number of samples работает с установкой авторестарта.
Авторестарт включен — Когда осциллограф инициировал, осциллограф начинает собирать данные в буфер памяти. Фоновая задача исследует буфер и записывает данные к диску постоянно, добавляя новые данные в конец файла. Когда осциллограф достигает количества выборок, которые вы задали, это начинает собирать данные снова, перезаписывая буфер памяти. Если фоновая задача не может идти в ногу со сбором данных, данные могут быть потеряны.
Авторестарт прочь — Когда осциллограф инициировал, осциллограф начинает собирать данные в буфер памяти. Это останавливается, когда это собрало количество выборок, которые вы задали. Фоновая задача исследует буфер и записывает данные к диску постоянно, добавляя новые данные в конец файла.
В поле Number of pre/post samples введите номер выборок, чтобы сохранить или пропустить. Сохранить N
выборки перед триггерным событием, задайте значение −N
. Пропускать N
выборки после триггерного события, задайте значение N
Значением по умолчанию является 0
.
В поле Decimation введите значение, чтобы указать, как часто данные собраны в модулях шага расчета. Значение 1
указывает, что данные собраны в каждом шаге расчета. Значения 2
или больше указывает, что данные собраны в меньше, чем каждом шаге расчета.
Из списка Trigger mode выберите одно из следующего:
Из списка Trigger mode выберите одно из следующего:
FreeRun
или Software Triggering
— Никакие дополнительные параметры.
Signal Triggering
— введите дополнительные параметры, как требуется:
В поле Trigger signal введите индекс сигнала, ранее добавленного к осциллографу.
Этот параметр не применяется, если флажок Add signal port to connect a signal trigger source устанавливается.
(Кроме того), Нажатие кнопки флажок Add signal port to connect a signal trigger source, затем соедините произвольный триггерный сигнал с сигналом порта Trigger.
В поле Trigger level введите значение для сигнала пересечься перед инициированием.
Из списка Trigger slope выберите один из Either
, Rising
, или Falling
.
Scope Triggering
— введите дополнительные параметры, как требуется:
В поле Trigger scope number введите номер осциллографа блока Scope. Если вы используете этот триггерный режим, добавьте второй блок Scope в свою модель Simulink.
Чтобы инициировать один осциллограф на определенной выборке другого осциллографа, введите значение в Sample to trigger on (-1 for end of acquisition). Значение по умолчанию 0
заставляет осциллограф инициирования и инициированный осциллограф запускаться одновременно.
В поле Filename введите имя для файла, чтобы содержать данные сигнала.
По умолчанию целевой компьютер пишет данные сигнала в C:\data.dat
.
Полностью определенное имя файла в операционной системе на целевом компьютере может иметь максимум 260 символов. Если имя файла более длительно, чем формат "восемь точек три" (восемь символьных имен файла, точка, три символьных расширения), операционная система представляет имя файла в усеченной форме (например, шесть символов, сопровождаемых '~1'
). Команды MATLAB могут получить доступ к файлу с помощью полностью определенного имени файла или усеченного представления имени. Некоторые параметры блоков, такие как блок Scope filename
параметр, потребуйте 8,3 форматов для имени файла.
Из списка Mode выберите Lazy
или Commit
.
С Commit
режим, каждая операция записи файла одновременно обновляет запись FAT для файла. Файловая система обеспечивает фактический размер файла после каждой записи. С Lazy
режим, запись FAT обновляется только, когда файл закрывается.
Если ваша система прекращает отвечать, вы теряете байты WriteSize данных.
В поле WriteSize введите размер блока, в байтах, фрагментов данных. Этот параметр указывает, что буфер памяти Количества длины выборок записан в файл во фрагментах размера WriteSize. По умолчанию этот параметр составляет 512 байтов. Используя размер блока, который совпадает с размером сектора диска, улучшает производительность.
Если ваша система прекращает отвечать, вы теряете байты WriteSize данных.
Чтобы иметь осциллограф файла собирают данные до Number of samples и затем начинают снова считывать новые данные, устанавливают флажок AutoRestart.
Чтобы иметь осциллограф файла собирают данные до Number of samples и затем останавливают, снимают флажок AutoRestart.
Если именованный файл данных сигнала существует, когда осциллограф файла запускается, программное обеспечение Simulink Real-Time перезаписывает старые данные с новыми данными сигнала.
Установка этого флажка включает следующие параметры: Dynamic file name enabled и Max file size in bytes (multiple of WriteSize).
Диалоговое окно scope файла выглядит так фигура.
Нажмите OK.
Сохраните модель как ex_slrt_file_osc
(open_system(docpath(fullfile(docroot, 'toolbox', 'xpc', 'examples', 'ex_slrt_file_osc')))
). На вкладке Simulation, от Save, нажимают Save As.
Scope | SimulinkRealTime.utils.bytes2file
| SimulinkRealTime.utils.getFileScopeData