exponenta event banner

addSource

Добавление источника ввода в сеанс записи данных

Описание

пример

addSource(dr,src,sourceName) добавляет указанный источник ввода аппаратных средств, src к сеансу записи данных, dr. dr - сеанс записи данных на аппаратной плате SoC, созданный с помощью soc.recorder.

Примеры

свернуть все

Создайте соединение MATLAB с указанной платой аппаратных средств SoC с использованием IP-адреса, имени пользователя и пароля платы.

hw = socHardwareBoard('Xilinx Zynq ZC706 evaluation kit','hostname','192.168.1.18','username','root','password','root');

Создайте сеанс записи данных на плате SoC с помощью hw объект. Получающееся soc.recorder объект представляет сеанс записи данных на аппаратной плате SoC.

dr = soc.recorder(hw)
dr = 

  DataRecorder with properties:

          HardwareName: 'Xilinx Zynq ZC706 evaluation kit'
               Sources: {}                            
             Recording: false                         

Список источников ввода, добавленных в сеанс записи данных.

dr.Sources(hw)
ans =

  1×0 empty cell array                       

По умолчанию soc.recorder объекты не имеют добавленных источников ввода. Чтобы добавить источник ввода в сеанс записи данных, сначала создайте объект источника ввода с помощью soc.iosource функция. В этом примере создайте исходный объект протокола пользовательских дейтаграмм (UDP).

udpSrc = soc.iosource(hw,'UDP Receive')
udpSrc = 

  soc.iosource.UDPRead with properties:

   Main
              LocalPort: 25000
             DataLength: 1
               DataType: 'uint8'
      ReceiveBufferSize: -1
           BlockingTime: 0
    OutputVarSizeSignal: false
             SampleTime: 0.1000
         HideEventLines: true

  Show all properties

Добавьте этот исходный объект UDP в сеанс записи данных с помощью addSource объектная функция.

addSource(dr,udpSrc,'UDPDataReceived-Port25000')

Проверьте результат, проверив Sources имущества soc.recorder объект.

dr.Sources
ans =

  1×1 cell array

    {'UDPDataOnPort25000'}                        

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

setup(dr)

Запишите данные на плату SoC в течение 60 секунд.

record(dr, 60);

Проверьте состояние сеанса записи данных с помощью isRecording объектная функция. Состояние записи при выполнении записи данных: 1.

recordingStatus = isRecording(dr)
recordingStatus =

  logical

   1

Состояние записи по завершении записи данных: 0.

isRecording(dr)
recordingStatus =

  logical

   0

Сохранение записанных данных в файле, сжатом в формате TGZ.

save(dr,'UDPDataReceived','UDP Data Testing',{'Recorded On Zynq Board'})

Эта функция сохраняет записанные данные в виде файла UDPDataReceived.tgz в рабочей папке хост-компьютера. Вы можете прочитать этот файл с помощью socFileReader объект в MATLAB™ или блок источника данных ввода-вывода в модели Simulink ®.

Удалите добавленный источник из сеанса записи данных с помощью removeSource объектная функция.

removeSource(dr,'UDPDataReceived-Port25000')

Проверьте результат, проверив Sources имущества soc.recorder объект.

ans =

  1×0 empty cell array                       

Входные аргументы

свернуть все

Сеанс записи данных для указанной платы аппаратных средств SoC, указанный как soc.recorder объект.

Исходный объект для указанного источника ввода, указанный как soc.iosource объект.

Имя источника ввода в сеансе записи данных, указанное как символьный вектор. Функция использует это имя в качестве имени источника, когда указанный источник ввода записывается и сохраняется в файле набора данных.

Примечание

Настройка sourceName кому 'all' ошибки как sourceName 'all' используется для удаления всех источников ввода, добавленных в сеанс записи данных с помощью removeSource функция.

Представлен в R2019a