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

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

В этом примере типовым “инструментом”, которым вы управляете, является 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 and Measurement Tool или в командной строке MATLAB.