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