Создание драйверов приборов MATLAB

Компоненты драйвера

MATLAB® драйвер прибора содержит информацию об инструменте и определяет функциональность, поддерживаемую инструментом.

Компонент драйвера

Описание

Сводка драйверов и общие команды

Основная информация об инструменте, например, изготовителе или номере модели.

Инициализация и очистка

Код, который выполняется на различных этапах в сеансе управления прибором, например код, который выполняется после соединения с прибором.

Свойства

Свойство обычно используется, чтобы сконфигурировать или запросить информацию о состоянии инструмента.

Функции

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

Группы

Группа объединяет общие функциональные возможности инструмента в один компонент.

В зависимости от прибора и приложения, для которого используется драйвер, все компоненты драйвера могут быть не определены. Необходимые компоненты драйвера, необходимые для приложения, можно определить с помощью MATLAB Instrument Driver Editor.

Примечание

Редактор драйверов инструментов не может открыть MDD с неасциевыми символами в их имени или пути на платформах Mac.

MATLAB Instrument Драйвера Редактора Функций

MATLAB Instrument Driver Editor - это инструмент, который создает или редактирует драйвер MATLAB. В частности, он позволяет вам делать следующее:

  • Добавление/удаление/изменение свойств.

  • Добавление/удаление/изменение функций.

  • Определите код MATLAB, чтобы обойти команды, отправленные в инструмент.

Откройте MATLAB Instrument Driver Editor с помощью следующей команды.

midedit

В остальной части этого раздела будет описан каждый компонент драйвера, и будут показаны примеры добавления информации о компоненте драйвера к новому драйверу прибора MATLAB, вызываемому tektronix_tds210_ex.mdd. The tektronix_tds210_ex.mdd драйвер определит базовую информацию и функциональность приборов для Tektronix® осциллограф TDS 210.

Сохранение драйверов приборов MATLAB

Драйвер прибора можно сохранить в любую директорию с любым именем. Рекомендуется, чтобы драйвер прибора сохранялся в директории в пути MATLAB и чтобы имя совпадало с форматом manufacturer_model.mdd. Например, инструмент, который используется с осциллографом Tektronix TDS 210, должен быть сохранен с именем tektronix_tds210.mdd.

Сводка драйверов и общие команды

Драйверу прибора MATLAB можно присвоить базовую информацию о приборе. Итоговая информация может использоваться, чтобы идентифицировать драйвер прибора MATLAB и инструмент, который он представляет. Общие команды могут использоваться для сброса, тестирования и чтения сообщений об ошибке с прибора. Вместе эта информация может использоваться для инициализации и проверки прибора.

Темы в этом разделе включают

Сводные данные драйверов

Можно присвоить базовую информацию, которая описывает ваш инструмент в драйвере прибора. Эта информация включает изготовитель прибора, номер модели прибора и тип прибора. Версия также может быть назначена драйверу, чтобы помочь в контроле ревизий.

Общие команды

Можно задать основные общие команды, поддерживаемые инструментом. Доступ к общим командам можно получить через свойства объекта устройства и функции.

Общие команды

Доступ к объекту Device Object

Пример команды Instrument

Описание

Определить

InstrumentModel свойство

*IDN?

Возвращает идентификационную строку инструмента

Сброс

devicereset функция

*RST

Возвращает инструмент в известное состояние

Самотестирование

selftest функция

*TST?

Тестирует интерфейс прибора

Ошибка

geterror функция

ErrLog:Next?

Извлекает следующее сообщение об ошибке прибора

MATLAB Instrument Driver Editor присваивает значения по умолчанию для команд Common. Общие команды должны быть изменены соответствующим образом, чтобы соответствовать набору команд инструмента.

Определение сводки драйверов и общих команд

Этот пример определяет базовую информацию о драйвере и команды Common для осциллографа Tektronix TDS 210 с помощью редактора драйверов приборов MATLAB:

  1. Выберите Summary узел в дереве.

  2. На панели сводных данных драйверов:

    1. Введите Tektronix в поле Производитель.

    2. Введите TDS 210 в поле модель.

    3. Выберите Oscilloscope в поле Instrument type.

    4. Введите 1.0 в поле Версия драйвера.

  3. На панели Общие команды:

    1. Оставьте поле Identify с *IDN?.

    2. Оставьте поле Reset с *RST.

    3. Оставьте поле Self test с *TST?

    4. Обновите поле Ошибки с помощью ErrLog:Next?

  4. Нажмите кнопку Save. Укажите имя драйвера прибора следующим tektronix_tds210_ex.mdd.

Примечание

Дополнительную информацию по номенклатуре драйверов приборов см. в разделе Сохранение драйверов приборов MATLAB.

Проверка сводки драйверов и общих команд

Эта процедура проверяет сводную информацию, заданную в панелях Сводка драйверов и Общие команды. В этом примере имя драйвера tektronix_tds210_ex.mdd. Связь с осциллографом Tektronix TDS 210 по первичному адресу 2 осуществляется через плату Измерения Computing™ Corporation GPIB с индексом платы 0. Из Командного Окна MATLAB,

  1. Создайте объект устройства, obj, используя icdevice функция.

    g = gpib('mcc',0,2);
    obj = icdevice('tektronix_tds210_ex.mdd',g);
  2. Просмотрите информацию о драйвере.

    obj
       Instrument Device Object Using Driver : tektronix_tds210_ex.mdd
     
       Instrument Information
          Type:               Oscilloscope
          Manufacturer:       Tektronix
          Model:              TDS210
     
       Driver Information
          DriverType:         MATLAB interface object
          DriverName:         tektronix_tds210_ex.mdd
          DriverVersion:      1.0
     
       Communication State
          Status:             closed
    
    instrhwinfo(obj)
    ans = 
    
      struct with fields:
    
        Manufacturer: 'Tektronix'
               Model: 'TDS210'
                Type: 'Oscilloscope'
          DriverName: 'C:\Program Files\MATLAB\R2019b\toolbox\instrument\instrument\drivers\tektronix_tds210_ex.mdd'
    
  3. Подключите к прибору.

    connect(obj)
  4. Проверьте общие команды.

    obj.InstrumentModel
    ans =
    
        TEKTRONIX,TDS 210,0,CF:91.1CT FV:v2.03 TDS2MM:MMV:v1.04
    
    devicereset(obj)
    selftest(obj)
    ans =
    
        0
    
    geterror(obj)
    ans = 
    
        ''
    
  5. Отсоединитесь от инструмента и удалите объекты.

    disconnect(obj) 
    delete([obj g])

Инициализация и очистка

В этом разделе описывается, как задать код, который выполняется на различных этапах в сеансе управления прибором, так что инструмент может быть установлен в требуемое состояние в конкретное время. В частности, можно задать код, который выполняется после создания объекта устройства, после соединения объекта устройства с инструментом или до отключения объекта устройства от инструмента. В зависимости от этапа код может быть определен как список команд прибора, которые будут записаны в инструмент или как код MATLAB.

Темы в этом разделе включают

  • Определения типов кода, которые могут быть определены

  • Примеры кода для каждого поддерживаемого этапа

  • Шаги, используемые для проверки кода

Создайте код

Вы задаете код создания, чтобы убедиться, что объект устройства сконфигурирован для поддержки необходимых свойств и функций:

  • Создание кода оценивается сразу после создания объекта устройства.

  • Создать код можно только как программный код MATLAB.

Определение кода создания

Этот пример определяет код создания, который гарантирует, что объект устройства может передать максимальный размер формы волны, 2500 точек данных, поддерживаемых осциллографом Tektronix TDS 210. В редакторе драйверов приборов MATLAB,

  1. Выберите Initialization and Cleanup узел в дереве.

  2. Щелкните вкладку Create и введите код программного обеспечения MATLAB, чтобы выполнить создание объекта устройства.

    % Get the interface object and disconnect from instrument.
    g = obj.Interface;
    fclose(g);
    
    % Configure the interface object's buffers to handle up to 
    % 2500 points (two bytes per point requires 5000 bytes). 
    g.InputBufferSize = 5000;
    g.OutputBufferSize = 5000;
  3. Нажмите кнопку «Сохранить».

Проверка создания кода

Эта процедура проверяет определенный код создания программного обеспечения MATLAB. В этом примере имя драйвера tektronix_tds210_ex.mdd. Связь с осциллографом Tektronix TDS 210 по первичному адресу 2 осуществляется через плату GPIB компании Measurement Computing Corporation по индексу 0 платы.

  1. Из командной строки MATLAB создайте объект интерфейса, g; и проверьте значения входа и выходного buffer size по умолчанию.

    g = gpib('mcc',0,2);
    g.InputBufferSize
    ans =
    
       512
    g.OutputBufferSize
    ans =
    
       512
  2. Создайте объект устройства, obj, используя icdevice функция.

    obj = icdevice('tektronix_tds210_ex.mdd',g);
  3. Проверьте код создания путем запроса размеров буфера объекта интерфейса.

    g.InputBufferSize
    ans =
    
            5000
    g.OutputBufferSize
    ans =
    
            5000
  4. Удалите объекты.

    delete([obj g])

Соедините код

В большинстве случаев вам нужно знать состояние или строение инструмента, когда вы соединяете к нему объект устройства. Можно задать код подключения, чтобы убедиться, что инструмент правильно сконфигурирован для поддержки свойств и функций объекта устройства.

Код Connect оценивается сразу после того, как объект устройства соединяется с инструментом с connect функция. Код connect может быть определен как последовательность команд прибора, которая будет записана в инструмент или как код программного обеспечения MATLAB.

Определение кода соединения

Этот пример определяет код соединения, который гарантирует, что осциллограф Tektronix TDS 210 сконфигурирован для поддержки свойств и функций объекта устройства. В частности, инструмент будет возвращен к известному набору настроек прибора (сброс прибора), и инструмент будет сконфигурирован так, чтобы опускать заголовки при ответах на запрос.

  1. В редакторе драйверов приборов MATLAB выберите Initialization and Cleanup узел в дереве.

  2. Щелкните вкладку Connect и введите команды instrument, чтобы выполнить, когда объект устройства соединяется с инструментом.

    • Выберите Instrument Commands из меню Function style.

    • Введите *RST команда в поле Command text, а затем нажмите Add.

    • Введите HEADER OFF команда в поле Command text, а затем нажмите Add.

  3. Нажмите кнопку Save.

Проверка кода подключения

Эта процедура проверяет команды прибора, определенные в коде connect. В этом примере имя драйвера tektronix_tds210_ex.mdd. Связь с осциллографом Tektronix TDS 210 по первичному адресу 2 осуществляется через плату GPIB компании Measurement Computing Corporation по индексу 0 платы.

  1. Из командной строки MATLAB создайте объект устройства, obj, используя icdevice функция.

    g = gpib('mcc',0,2); 
    obj = icdevice('tektronix_tds210_ex.mdd',g);
  2. Подключите к прибору.

    connect(obj)
  3. Проверьте код соединения путем запроса состояния заголовка инструмента.

    query(g,'Header?')
    ans =
    
            0
  4. Отсоединитесь от инструмента и удалите объекты.

    disconnect(obj) 
    delete([obj g])

Код отключения

Путем определения кода разъединения можно гарантировать, что инструмент и объект устройства будут возвращены в известное состояние после завершения связи с прибором.

Код отключения оценивается перед отключением объекта устройства от инструмента с disconnect функция. Это позволяет коду разъединения взаимодействовать с прибором. Код разъединения может быть определен как ряд команд прибора, которые будут записаны в инструмент или он может быть определен как код программного обеспечения MATLAB.

Определение кода разъединения

Этот пример определяет код разъединения, который гарантирует, что осциллограф Tektronix TDS 210 вернется в известное состояние после связи с прибором с использованием объекта устройства.

  1. В редакторе драйверов приборов MATLAB выберите Initialization and Cleanup узел в дереве.

  2. Щелкните вкладку Disconnect и введите код программного обеспечения MATLAB, чтобы выполнить, когда объект устройства отключен от инструмента.

    • Выберите M-Code из меню Function style.

    • Определите код программного обеспечения MATLAB, который сбросит инструмент и сконфигурирует буферы объекта интерфейса к их значениям по умолчанию.

       % Get the interface object.
       g = obj.Interface;
       
       % Reset the instrument to a known state.
       fprintf(g, '*RST');
  3. Нажмите кнопку Save.

Проверка кода разъединения

Эта процедура проверяет код программного обеспечения MATLAB, определенный в коде разъединения. В этом примере имя драйвера tektronix_tds210_ex.mdd. Связь с осциллографом Tektronix TDS 210 по первичному адресу 2 осуществляется через плату GPIB компании Measurement Computing Corporation по индексу 0 платы. Из командной строки MATLAB,

  1. Создайте объект устройства, obj, используя icdevice функция.

    g = gpib('mcc',0,2);
    obj = icdevice('tektronix_tds210_ex.mdd',g);
  2. Подключите к прибору.

    connect(obj)
  3. Измените некоторые настройки на приборе, чтобы можно было наблюдать изменение при отключении. Например, контрастность осциллографа можно изменить, нажав кнопку Display на передней панели, а затем кнопку Contrast Decrease.

  4. Отсоединитесь от прибора и заметьте, что его отображение сбрасывается.

    disconnect(obj)
  5. Удалите объекты.

    delete([obj g])