В этом примере типовым “инструментом”, которым вы управляете, является Microsoft® Internet Explorer® (IE), который представлен COM-объектом. (Этот пример работает только над системами Windows®.) Работающий через пример, вы пишете простому инструменту MATLAB® типовой драйвер, который позволяет программному обеспечению Instrument Control Toolbox™ связываться с COM-объектом. И Используя графический интерфейс и Используя код командной строки, с вашим драйвером вы создаете окно браузера IE, управляете его размером и задаете, какую веб-страницу это отображает. Принципы, продемонстрированные в этом примере, могут быть применены при записи типового драйвера для любого вида инструмента.
В этом разделе вы создаете новый драйвер и задаете то, что происходит, когда объект создается для этого драйвера.
Откройте инструментальный редактор драйвера MATLAB из окна Команды MATLAB.
midedit
Чтобы сделать известным, что этот драйвер является типовым драйвером в Инструментальном Редакторе Драйвера MATLAB, выбирают File> New> Generic driver, как показано.
Выберите File> Save as.
Перейдите к директории, где вы хотите сохранить свой драйвер и дать ему любое имя, вы хотите. Этот пример использует имя ie_drv
. Помните, где вы имеете сохраненный ваш драйвер.
Выберите Summary
узел в редакторе драйвера окно. Установите поля этой панели с любыми значениями, которые вы хотите. Этот пример использует следующие настройки:
Производитель |
|
Поддерживаемые модели |
|
Инструментальный тип |
|
Версия драйвера | 1.0 |
Выберите узел Initialization and Cleanup
.
Кликните по вкладке Create.
Это - то, где вы задаете код, чтобы выполниться, когда этот драйвер используется, чтобы создать объект устройства. Этот пример идентифицирует COM-объект для Internet Explorer и присваивает указатель на тот объект как Interface
свойство объекта устройства создается.
Добавьте следующие строки кода во вкладку Create:
ie = actxserver('internetexplorer.application'); obj.Interface = ie);
Кликните по вкладке Connect.
Это - то, где вы задаете код, чтобы выполниться, когда вы соединяете свой объект устройства с вашим инструментом или программным обеспечением.
Добавьте следующие строки кода во вкладку Connect:
ie = get(obj, 'Interface'); ie.Visible = 1); ie.FullScreen = 0);
Первая линия получает ie
как указатель на COM-объект, на основе присвоения в Создать коде. Эти две линии после того набора видимость окна и размер.
Запись свойств для типовых драйверов в Инструментальном Редакторе Драйвера MATLAB является вопросом записи прямого кода.
В этом примере вы задаете два свойства. Первое свойство использует то же имя в качестве соответствующего свойства COM-объекта; второе свойство использует другое имя из своего соответствующего свойства COM-объекта.
Положение окна браузера IE определяется Top
и Left
свойства его COM-объекта. В следующих шагах вы делаете Top
свойство, доступное для вашего устройства, возражает через ваш типовой драйвер. Для этого свойства имя свойства является тем же самым и в COM-объекте и в вашем объекте устройства.
Выберите Properties
узел в редакторе драйвера дерево.
В поле свойства Add введите текст Top
, и нажмите Add.
Расширьте Properties
узел в дереве и выбор новый узел Top
.
Кликните по вкладке Property Values. Ваше свойство может иметь числовое значение, соответствующее, чтобы экранировать пиксели. В данном примере можно ограничить значение свойства от 0
к 200
.
Убедитесь, что поле Data Type указывает на Double
. В поле Constraint кликните по выпадающему меню и выберите Bounded
.
Сохраните Минимальное значение 0.0
, и введите Максимальное значение 200
.
Ваш редактор драйвера окно должен быть похожим на следующую фигуру.
Теперь, когда вы задали тип данных и приемлемые значения свойства, можно записать код, который будет выполняться каждый раз, когда к свойству объекта устройства получает доступ get
или set
.
Кликните по вкладке Code.
Концепция чтения свойства является довольно прямой. Когда вы получаете Top
свойство объекта устройства, драйвер просто получает значение соответствующего Top
COM-объекта свойство. Таким образом, все, в чем вы нуждаетесь в Получить функции кода, должно идентифицировать COM-объект получить информацию от.
Добавьте следующий код в нижней части функции в Получить панели кода:
ie = obj.Interface; propertyValue = get(ie, propertyName);
Первая линия получает ie
как указатель на COM-объект. Помните что Interface
свойство объекта устройства установлено в это значение назад в драйвере, Создают код. Вторая линия получает значение Top
COM-объекта свойство и присвоения это к
propertyValue
, который возвращен в get
функция для объекта устройства.
Добавьте следующий код в нижней части функции в панели Набора кода:
ie = get(obj, 'Interface'); ie.propertyName = propertyValue;
На предыдущих шагах вы создали в своем драйвере свойство объекта устройства, которое имеет то же имя как свойство COM-объекта, представляющего ваш инструмент. Можно также создать свойства с именами, которые не совпадают с теми из свойств COM-объекта. В следующих шагах вы создаете свойство под названием Vsize
это соответствует свойству Height
COM-объекта IE.
Выберите Properties
узел в редакторе драйвера дерево.
В поле свойства Add введите текст Vsize
, и нажмите Add.
Расширьте Properties
узел в дереве и выбор новый узел Vsize
.
Кликните по вкладке Property Values. Это свойство может иметь числовое значение, соответствующее, чтобы экранировать пиксели, область значений которых вы задаете как 200
к 800
.
Убедитесь, что поле Data Type указывает на Double
. В поле Constraint кликните по выпадающему меню и выберите Bounded
.
Введите Минимальное значение 200
, и введите Максимальное значение 800
.
Кликните по вкладке Code.
Добавьте следующий код в нижней части функции в Получить панели кода:
ie = obj.Interface; propertyValue = ie.Height;
Добавьте следующий код в нижней части функции в панели Набора кода:
ie = get(obj, 'Interface'); set(ie, 'Height', propertyValue);
Сохраните свой драйвер.
Общая функция для Internet Explorer должна загрузить веб-страницу. В следующих шагах вы создаете функцию под названием goTo
это позволяет вам ориентироваться в сети с браузером.
Выберите Functions
узел в редакторе драйвера дерево.
В Добавить функциональном поле введите текст goTo
, и нажмите Add.
Расширьте Functions
узел в дереве и выбор новый узел goTo
.
Запись функций для типовых драйверов в Инструментальном Редакторе Драйвера MATLAB является вопросом записи прямого кода.
Ваш goTo
функция требует только одного входного параметра: URL веб-страницы, чтобы перейти к. Можно вызвать тот аргумент site
.
Измените первую линию панели кода MATLAB, чтобы читать
function goTo(obj, site)
Переменная obj
объект устройства, использующий этот драйвер. Значение site
вектор символов, переданный в эту функцию, когда вы используете этот драйвер. Ваша функция затем должна передать значение site
на COM-объекте IE. Таким образом, ваша функция должна получить указатель на COM-объект, затем вызвать IE метод COM Navigate2
, передача ему значение site
.
Добавьте следующий код в нижней части функции в панели кода MATLAB:
ie = obj.Interface; invoke(ie, 'Navigate2', site);
Сохраните свой драйвер и закройте Инструментальный Редактор Драйвера MATLAB.
Теперь, когда ваш типовой драйвер готов, можно использовать его с инструментом Test & Measurement (tmtool
) или в командной строке MATLAB.