exponenta event banner

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

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

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

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

  1. Откройте редактор драйверов приборов MATLAB в окне команд MATLAB.

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

  3. Выберите «Файл» > «Сохранить как».

    Перейдите в каталог, в котором требуется сохранить драйвер, и присвойте ему любое имя. В этом примере используется имя 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. Перейдите на вкладку «Подключение».

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

  9. Добавьте следующие строки кода на вкладку «Подключение»:

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

Первая строка получает ie в качестве дескриптора COM-объекта на основе назначения в коде Create. Две строки после этого задают видимость и размер окна.

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

Написание свойств для общих драйверов в редакторе драйверов инструментов MATLAB является вопросом написания прямого кода.

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

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

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

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

  2. В поле Добавить свойство введите текст Topи нажмите кнопку «Добавить».

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

  4. Перейдите на вкладку «Значения свойств». Свойство может иметь числовое значение, соответствующее пикселям экрана. В этом примере можно ограничить значение свойства из 0 кому 200.

  5. Убедитесь, что в поле Тип данных указано Double. В поле Ограничение (Constraint) щелкните раскрывающееся меню и выберите Bounded.

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

    Окно редактора драйверов должно выглядеть следующим образом.

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

  7. Перейдите на вкладку Код.

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

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

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

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

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

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

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

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

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

  2. В поле Добавить свойство введите текст Vsizeи нажмите кнопку «Добавить».

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

  4. Перейдите на вкладку «Значения свойств». Это свойство может иметь числовое значение, соответствующее пикселям экрана, диапазон которых определяется как 200 кому 800.

  5. Убедитесь, что в поле Тип данных указано Double. В поле Ограничение (Constraint) щелкните раскрывающееся меню и выберите Bounded.

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

  7. Перейдите на вкладку Код.

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

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

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

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

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

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

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

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

    Написание функций для общих драйверов в редакторе драйверов инструментов MATLAB является вопросом написания прямого кода.

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

  4. Изменение первой строки панели кода MATLAB для чтения

    function goTo(obj, site)

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

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

    ie = obj.Interface;
    invoke(ie, 'Navigate2', site);
  6. Сохраните драйвер и закройте редактор драйверов приборов MATLAB.

    Теперь, когда стандартный драйвер готов, его можно использовать с инструментом тестирования и измерения или в командной строке MATLAB.