Создание инструментальных драйверов MATLAB

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

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

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

Описание

Драйвер итоговые и общие команды

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

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

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

Свойства

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

Функции

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

Группы

Группа комбинирует общую функциональность инструмента на один компонент.

В зависимости от инструмента и приложения, для которого используется драйвер, не могут быть заданы все компоненты драйвера. Можно задать необходимые компоненты драйвера, необходимые для приложения с Инструментальным Редактором Драйвера MATLAB.

Примечание

Инструментальный Редактор Драйвера не может открыть MDDs с символами неASCII или на их имя или на путь на платформах Mac.

Инструментальный редактор драйвера MATLAB функции

Инструментальный Редактор Драйвера MATLAB является инструментом, который создает или редактирует инструментальный драйвер MATLAB. А именно, это позволяет вам делать следующее:

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

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

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

Откройте Инструментальный Редактор Драйвера MATLAB со следующей командой.

midedit

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

Сохранение инструментальных драйверов MATLAB

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

Драйвер итоговые и общие команды

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

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

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

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

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

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

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

Полученный доступ с объектом устройства

Инструментальная команда в качестве примера

Описание

Идентифицировать

InstrumentModel свойство

*IDN?

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

Сброс

devicereset функция

*RST

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

Сам тест

selftest функция

*TST?

Тестирует интерфейс инструмента

Ошибка

geterror функция

ErrLog:Next?

Получает следующее сообщение инструментальной погрешности

Инструментальный Редактор Драйвера MATLAB присваивает значения по умолчанию для Общих команд. Общие команды должны быть изменены соответственно, чтобы совпадать с набором команд инструмента.

Определение драйвера итоговые и общие команды

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

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

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

    1. Введите Tektronix в поле Manufacturer.

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

    3. Выберите Oscilloscope в Инструменте вводят поле.

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

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

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

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

    3. Уезжайте Сам тестовое поле с *TST?

    4. Обновите поле Error с ErrLog:Next?

  4. Нажмите кнопку Save. Задайте имя инструментального драйвера как tektronix_tds210_ex.mdd.

Примечание

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

Проверка драйвера итоговые и общие команды

Эта процедура проверяет итоговую информацию, заданную в Драйвере Итоговые и Общие панели команд. В этом примере именем драйвера является tektronix_tds210_ex.mdd. Связь с осциллографом Tektronix TDS 210 в первичном адресе 2 сделана через Измерение плата GPIB Корпорации Computing™ в параметре плат 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.

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

Этот пример задает создать код, который гарантирует, что объект устройства может передать максимальный размер формы волны, 2 500 точек данных, поддержанных осциллографом 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. Нажмите кнопку Save.

Проверка создает код

Эта процедура проверяет, что программное обеспечение 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 функция. Код подключения может быть задан как ряд инструментальных команд, которые будут записаны в инструмент или как программный код MATLAB.

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

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

  1. Из инструментального редактора драйвера MATLAB выберите Initialization and Cleanup узел в дереве.

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

    • Выберите Instrument Commands в Функциональном меню стиля.

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

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

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

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

Эта процедура проверяет инструментальные команды, заданные в коде подключения. В этом примере именем драйвера является 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 в Функциональном меню стиля.

    • Задайте программный код 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])