isRecording

Получите состояние записи данных

Синтаксис

recordingStatus = isRecording(dr)

Описание

пример

recordingStatus = isRecording(dr) возвращает состояние процесса записи данных на аппаратной плате SoC, представленной 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.

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

свернуть все

Состояние сеанса записи данных, возвращенного как логическое значение false (0) или true (1). Этим значением является 1, когда запись данных происходит и 0, когда запись данных завершена.

Смотрите также

|

Введенный в R2019a