Запись типичного драйвера

Создание драйвера и определение его поведения инициализации

В этом примере типичным “инструментом”, которым вы управляете, является Microsoft® Internet Explorer® (IE), который представлен COM-объектом. (Этот пример работает только над системами Windows®.) Работающий через пример, вы пишете простому инструменту MATLAB® типичный драйвер, который позволяет программному обеспечению Instrument Control Toolbox™ связываться с COM-объектом. И Используя графический интерфейс и Используя код командной строки, с вашим драйвером вы создаете окно браузера IE, управляете его размером и задаете, какую веб-страницу это отображает. Принципы, продемонстрированные в этом примере, могут быть применены при записи типичного драйвера для любого вида инструмента.

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

  1. Откройте инструментальный редактор драйвера MATLAB из окна Команды MATLAB.

    midedit
  2. Чтобы сделать известным, что этот драйвер является типичным драйвером в Инструментальном Редакторе Драйвера MATLAB, выбирают File> New> Generic driver, как показано.

  3. Выберите File> Save as.

    Перейдите к директории, где вы хотите сохранить свой драйвер и дать ему любое имя, вы хотите. Этот пример использует имя ie_drv. Помните, где вы имеете сохраненный ваш драйвер.

  4. Выберите узел Summary в редакторе драйвера окно. Установите поля этой панели с любыми значениями, которые вы хотите. Этот пример использует следующие настройки:

    Производитель

    Microsoft

    Поддерживаемые модели

    IE

    Инструментальный тип

    Browser

    Версия драйвера

    1.0

  5. Выберите узел Initialization and Cleanup.

  6. Кликните по вкладке Create.

    Это - то, где вы задаете код, чтобы выполниться, когда этот драйвер используется, чтобы создать объект устройства. Этот пример идентифицирует COM-объект для Internet Explorer и присваивает указатель на тот объект как свойство Interface создаваемого объекта устройства.

  7. Добавьте следующие строки кода во вкладку Create:

    ie = actxserver('internetexplorer.application');
    obj.Interface = ie);
  8. Кликните по вкладке Connect.

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

  9. Добавьте следующие строки кода во вкладку Connect:

    ie = get(obj, 'Interface');
    ie.Visible = 1);
    ie.FullScreen = 0);

Первая строка получает ie как указатель на COM-объект, на основе присвоения в Создать коде. Эти две строки после того набора видимость окна и размер.

Определение свойств

Запись свойств для типичных драйверов в Инструментальном Редакторе Драйвера MATLAB является вопросом записи прямого кода.

В этом примере вы задаете два свойства. Первое свойство использует то же имя в качестве соответствующего свойства COM-объекта; второе свойство использует другое имя из своего соответствующего свойства COM-объекта.

Используя то же имя для свойства

Положение окна браузера IE определяется свойствами Top и Left его COM-объекта. В следующих шагах вы делаете свойство Top доступным для вашего объекта устройства через ваш типичный драйвер. Для этого свойства имя свойства является тем же самым и в COM-объекте и в вашем объекте устройства.

  1. Выберите узел Properties в редакторе драйвера дерево.

  2. В поле свойства Add введите текст Top и нажмите Add.

  3. Расширьте узел Properties в дереве и выберите новый узел Top.

  4. Кликните по вкладке Property Values. Ваше свойство может иметь числовое значение, соответствующее, чтобы экранировать пиксели. В данном примере можно ограничить значение свойства от 0 до 200.

  5. Убедитесь, что поле Data Type указывает на Double. В поле Constraint кликните по выпадающему меню и выберите Bounded.

  6. Сохраните Минимальное значение 0.0 и введите Максимальное значение 200.

    Ваш редактор драйвера окно должен быть похожим на следующую фигуру.

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

  7. Кликните по вкладке Code.

    Концепция чтения свойства является довольно прямой. Когда вы получаете свойство Top объекта устройства, драйвер просто получает значение соответствующего свойства Top COM-объекта. Таким образом, все, в чем вы нуждаетесь в Получить функции кода, должно идентифицировать COM-объект получить информацию от.

  8. Добавьте следующий код в нижней части функции в Получить панели кода:

    ie = obj.Interface;
    propertyValue = get(ie, propertyName);

    Первая строка получает ie как указатель на COM-объект. Помните, что свойство Interface объекта устройства установлено в это значение назад в драйвере, Создают код. Вторая строка получает значение свойства Top COM-объекта и присваивает его propertyValue, который возвращен в функцию get для объекта устройства.

  9. Добавьте следующий код в нижней части функции в панели Набора кода:

    ie = get(obj, 'Interface');
    ie.propertyName = propertyValue;

Используя другое имя для свойства

На предыдущих шагах вы создали в своем драйвере свойство объекта устройства, которое имеет то же имя как свойство COM-объекта, представляющего ваш инструмент. Можно также создать свойства с именами, которые не совпадают с теми из свойств COM-объекта. В следующих шагах вы создаете свойство под названием Vsize, который соответствует свойству Height COM-объекта IE.

  1. Выберите узел Properties в редакторе драйвера дерево.

  2. В поле свойства Add введите текст Vsize и нажмите Add.

  3. Расширьте узел Properties в дереве и выберите новый узел Vsize.

  4. Кликните по вкладке Property Values. Это свойство может иметь числовое значение, соответствующее, чтобы экранировать пиксели, область значений которых вы задаете как 200 к 800.

  5. Убедитесь, что поле Data Type указывает на Double. В поле Constraint кликните по выпадающему меню и выберите Bounded.

  6. Введите Минимальное значение 200 и введите Максимальное значение 800.

  7. Кликните по вкладке Code.

  8. Добавьте следующий код в нижней части функции в Получить панели кода:

    ie = obj.Interface;
    propertyValue = ie.Height;
  9. Добавьте следующий код в нижней части функции в панели Набора кода:

    ie = get(obj, 'Interface');
    set(ie, 'Height', propertyValue);
  10. Сохраните свой драйвер.

Определение функций

Общая функция для Internet Explorer должна загрузить веб-страницу. В следующих шагах вы создаете функцию под названием goTo, который позволяет вам ориентироваться в сети с браузером.

  1. Выберите узел Functions в редакторе драйвера дерево.

  2. В Добавить функциональном поле введите текст goTo и нажмите Add.

  3. Расширьте узел Functions в дереве и выберите новый узел goTo.

    Запись функций для типичных драйверов в Инструментальном Редакторе Драйвера MATLAB является вопросом записи прямого кода.

    Ваша функция goTo требует только одного входного параметра: URL веб-страницы, чтобы перейти к. Можно вызвать тот аргумент site.

  4. Измените первую строку панели кода MATLAB, чтобы читать

    function goTo(obj, site)

    Переменная obj является объектом устройства, использующим этот драйвер. Значение site является вектором символов, переданным в эту функцию, когда вы используете этот драйвер. Ваша функция затем должна передать значение site к COM-объекту IE. Таким образом, ваша функция должна получить указатель на COM-объект, затем вызвать IE метод COM Navigate2, передав ему значение site.

  5. Добавьте следующий код в нижней части функции в панели кода MATLAB:

    ie = obj.Interface;
    invoke(ie, 'Navigate2', site);
  6. Сохраните свой драйвер и закройте Инструментальный Редактор Драйвера MATLAB.

    Теперь, когда ваш типичный драйвер готов, можно использовать его с инструментом Test & Measurement (tmtool) или в командной строке MATLAB.