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)

Данные записи в течение 60 секунд на аппаратной плате SoC.

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 в вашей рабочей папке PC хоста. Можно считать этот файл при помощи socFileReader объект в MATLAB™ или блок IO Data Source в вашей модели 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