Можно сделать программирование инструментов через объекты устройства легче и более сопоставимым при помощи свойств. Свойство может использоваться, чтобы запросить или установить инструментальную установку или атрибут. Например, пороговым уровнем осциллографа можно управлять со свойством под названием TriggerLevel, который можно считать или управлять с функцией set или get. Даже если два различных осциллографа имеют различный триггерный синтаксис, можно использовать то же имя свойства, TriggerLevel, чтобы управлять ими, потому что каждый осциллограф будет иметь свой собственный инструментальный драйвер.
Другое преимущество свойств состоит в том, что можно задать их с определенными приемлемыми (перечисленными) значениями, или пределы (ограничили), который может проверяться, прежде чем связанные команды отправляются в инструмент.
Поведение свойства задано следующими компонентами.
Код set задает код, который выполнен, когда свойство сконфигурировано с функцией set. Код set может быть задан как инструментальная команда, которая будет записана в инструмент, или это может быть задано как код MATLAB.
Если кодом set является код MATLAB, он может включать любое количество команд, или программный код MATLAB перенес инструментальные команды, чтобы обеспечить дополнительную обработку или анализ.
Если код set будет задан как инструментальная команда, то команда, записанная в инструмент, будет инструментальной командой, конкатенированной с пробелом и значением, заданным в вызове set. Например, код set для свойства DisplayContrast задан как инструментальная команда DISplay:CONTRast. Когда функция set ниже будет выполнена, инструментальной командой, отправленной в инструмент, будет DISplay:CONTRast 54.
set(obj, 'DisplayContrast', 54);
Код get задает код, который выполнен, когда значение свойства запрошено с функцией get. Код get может быть задан как инструментальная команда, которая будет записана в инструмент, или это может быть задано как программный код MATLAB.
Можно задать значения, что свойство может быть установлено в то, так, чтобы только допустимые значения были записаны в инструмент, и ошибка была бы возвращена, прежде чем недопустимое значение могло быть записано в инструмент.
Значение свойства может быть задано как двойное, вектор символов или булевская переменная.
Значение свойства, которое задано как двойное, может быть ограничено, чтобы принять, только удваивается в определенной области значений, или список перечислимых удваивается. Например, свойство могло быть задано, чтобы принять двойное в области значений [0 10], или свойство могло быть задано, чтобы принять одно из значений [1,7,8,10].
Значение свойства, которое задано как вектор символов, может быть ограничено, чтобы принять список перечислимых векторов символов. Например, свойство могло быть задано, чтобы принять векторы символов min и max.
Кроме того, свойство может быть задано, чтобы принять несколько определений значения свойства. Например, свойство могло быть задано, чтобы принять двойное расположение между [0 10] или векторами символов min и max.
Значение свойства может зависеть от значения другого свойства. Например, в управлении источником питания, свойство VoltageLevel может быть сконфигурировано к следующим значениям:
Двойное расположение между 0 и 10, когда значением свойства VoltageOutputRange является high
Двойное расположение между 0 и 5, когда значением свойства VoltageOutputRange является low
Когда VoltageLevel сконфигурирован, значение VoltageOutputRange запрошено. Если значением VoltageOutputRange является high, то VoltageLevel может быть сконфигурирован к двойному расположению между 0 и 10. Если значением VoltageOutputRange является low, то VoltageLevel может быть сконфигурирован к двойному расположению между 0 и 5.
Значение по умолчанию свойства является значением, что свойство сконфигурировано к тому, когда объект создается.
Значение только для чтения свойства задает, когда свойство может быть сконфигурировано. Допустимые опции описаны ниже.
Значение только для чтения | Описание |
|---|---|
Никогда | Свойство может быть сконфигурировано в любом случае с функцией |
В то время как открытый | Свойство может только быть сконфигурировано с функцией |
Всегда | Свойство не может быть сконфигурировано с функцией |
Текст справки предоставляет информацию о свойстве. Эта информация возвращена с функцией instrhelp.
instrhelp(obj, 'PropertyName')
Этот раздел включает несколько примеров создания, установки и чтения свойств, с шагами для проверки поведения этих свойств.
Этот пример создает свойство, которое сконфигурирует контраст жидкокристаллического дисплея осциллографа Tektronix® TDS 210. Отображение осциллографа может быть сконфигурировано к значению в области значений [1 100]. В инструментальном редакторе драйвера MATLAB,
Выберите узел Properties в дереве.
Введите имя свойства, DisplayContrast, в текстовом поле Name и нажмите кнопку Add. Имя нового свойства, DisplayContrast, появляется в таблице Property Name.
Расширьте узел Properties в дереве, чтобы отобразить все заданные свойства.
Выберите узел DisplayContrast из свойств, отображенных в дереве.
Выберите вкладку Code, чтобы задать set и команды get для свойства DisplayContrast.
Выберите Instrument Commands в поле стиля Свойства.
Введите DISplay:CONTRast? в Получить поле текста команды.
Введите DISplay:CONTRast в поле текста команды Набора.
Выберите вкладку Property Values, чтобы задать позволенные значения свойств.
Выберите Double в поле Data Type.
Выберите Bounded в поле Constraint.
Введите 1.0 в поле Minimum.
Введите 100.0 в поле Maximum.

Выберите вкладку "Общие", чтобы закончить задавать поведение свойства.
Введите 50 в текстовое поле Значения по умолчанию.
Выберите never в поле Только для чтения.
В текстовом поле Help введите Sets or queries the contrast of the LCD display.
Нажмите кнопку Save.

Проверка Поведения Свойства. Эта процедура проверяет поведение свойства. В этом примере именем драйвера является tektronix_tds210_ex.mdd. Связь с осциллографом Tektronix TDS 210 в первичном адресе 2 сделана через Измерение плата GPIB Корпорации Computing™ в параметре плат 0. Из командной строки MATLAB,
Создайте объект устройства, obj, с помощью функции icdevice.
g = gpib('mcc', 0, 2);
obj = icdevice('tektronix_tds210_ex.mdd', g);Просмотрите свойство DisplayContrast и его текущее значение.
obj.DisplayContrast
ans =
50Вызов set в списках свойств DisplayContrast значения, на которые можно установить свойство.
set(obj, 'DisplayContrast') [ 1.0 to 100.0 ]
Попытайтесь установить свойство на значения внутри и снаружи заданной области значений.
obj.DisplayContrast = 17
obj.DisplayContrast
ans =
17
obj.DisplayContrast = 120
??? Invalid value for DisplayContrast. Valid values: a value
between 1.0 and 100.0.Просмотрите справку, которую вы записали.
instrhelp(obj,'DisplayContrast') DISPLAYCONTRAST [ 1.0 to 100.0 ] Sets or queries the contrast of the LCD display.
Перечислите характеристики DisplayContrast, которые вы задали в Значениях свойств и вкладках "Общие".
info = propinfo(obj,'DisplayContrast')
info =
Type: 'double'
Constraint: 'bounded'
ConstraintValue: [1 100]
DefaultValue: 50
ReadOnly: 'never'
InterfaceSpecific: 1Соединитесь со своим инструментом, чтобы проверить код get и set.
connect(obj)
Когда вы выпускаете функцию get в программном обеспечении MATLAB, драйвер tektronix_tds210_ex.mdd на самом деле отправляет команду DISplay:CONTRast? в инструмент.
obj.DisplayContrast
ans =
17Когда вы выпускаете функцию set в программном обеспечении MATLAB, драйвер tektronix_tds210_ex.mdd на самом деле отправляет команду DISplay:CONTRast 34 в инструмент.
obj.DisplayContrast = 34)
Наконец, отключитесь от инструмента и удалите объекты.
disconnect(obj) delete([obj g])
Этот пример создает свойство, которое выберет и отобразит курсор осциллографа Tektronix TDS 210. Осциллограф позволяет два типа курсора. Это поддерживает горизонтальный курсор, который измеряет вертикальные модули в вольтах, делениях, или децибелах и вертикальном курсоре, который измеряет горизонтальные модули вовремя или частоту. В инструментальном редакторе драйвера MATLAB,
Выберите узел Properties в дереве.
Введите имя свойства, CursorType, в текстовом поле Name и нажмите кнопку Add. Имя нового свойства CursorType появляется в таблице Property Name.
Расширьте узел Properties, чтобы отобразить все заданные свойства.
Выберите узел CursorType из свойств, отображенных в дереве.
Выберите вкладку Code, чтобы задать set и команды get для свойства CursorType.
Выберите Instrument Commands в поле стиля Свойства.
Введите CURSor:FUNCtion? в Получить поле Текста команды.
Введите CURSor:FUNCtion в поле Текста команды Набора.
Выберите вкладку Property Values, чтобы задать позволенные значения свойств.
Выберите String в поле Data Type.
Выберите Enumeration в поле Constraint.
Введите none в Новое текстовое поле значения свойства и нажмите кнопку Add. Затем введите OFF в поле таблицы Instrument Value.
Так же добавьте значение свойства voltage с инструментальным значением HBArs.
Так же добавьте значение свойства time с инструментальным значением VBArs.

Выберите вкладку "Общие", чтобы закончить задавать поведение свойства.
Введите none в текстовое поле Значения по умолчанию.
Выберите never в поле Только для чтения.
В текстовом поле Help введите Specifies the type of cursor.
Нажмите кнопку Save.
Проверка Поведения Свойства. Эта процедура проверяет поведение свойства. В этом примере именем драйвера является tektronix_tds210_ex.mdd. Связь с осциллографом Tektronix TDS 210 в первичном адресе 2 сделана через плату GPIB Measurement Computing Corporation в параметре плат 0. Из командной строки MATLAB,
Создайте объект устройства, obj, с помощью функции icdevice.
g = gpib('mcc', 0, 2);
obj = icdevice('tektronix_tds210_ex.mdd', g);Просмотрите текущее значение свойства CursorType. Вызов get в списках объектов все его свойства.
get(obj)
Вызов get в списках свойств CursorType его текущее значение.
obj.CursorType
ans =
noneПросмотрите приемлемые значения для свойства CursorType. Вызов set в списках объектов все его устанавливаемые свойства.
set(obj)
Вызов set в списках свойств CursorType значения, на которые можно установить свойство.
set(obj, 'CursorType')
[ {none} | voltage | time ]Попытайтесь установить свойство на допустимые и недопустимые значения.
obj.CursorType = 'voltage';
obj.CursorType
ans =
voltage
obj.CursorType = 'horizontal'
??? The 'horizontal' enumerated value is invalid.Просмотрите справку, которую вы записали.
instrhelp(obj,'CursorType')
CURSORTYPE [ {none} | voltage | time ]
Specifies the type of cursor.Перечислите характеристики CursorType, которые вы задали в Значениях свойств и вкладках "Общие".
info = propinfo(obj,'CursorType')
info =
Type: 'string'
Constraint: 'enum'
ConstraintValue: {3x1 cell}
DefaultValue: 'none'
ReadOnly: 'never'
InterfaceSpecific: 1
info.ContraintValue
ans =
'none'
'voltage'
'time'Соединитесь со своим инструментом, чтобы проверить код get и set.
connect(obj)
Когда вы выпускаете функцию set в программном обеспечении MATLAB, драйвер tektronix_tds210_ex.mdd на самом деле отправляет команду CURSor:FUNCtion VBArs в инструмент.
obj.CursorType = 'time'
Когда вы выпускаете функцию get в программном обеспечении MATLAB, драйвер tektronix_tds210_ex.mdd на самом деле отправляет команду CURSor:FUNCtion? в инструмент.
obj.CursorType ans = time
Наконец отключитесь от инструмента и удалите объекты.
disconnect(obj) delete([obj g])
Этот пример создает свойство, которое возвратит различие между двумя курсорами осциллографа Tektronix TDS 210. Осциллограф позволяет два типа курсора. Это поддерживает горизонтальный курсор, который измеряет вертикальные модули в вольтах, делениях, или децибелах и вертикальном курсоре, который измеряет горизонтальные модули вовремя или частоту. Предыдущий пример создал свойство, CursorType, который выбирает и отображает курсор осциллографа. В инструментальном редакторе драйвера MATLAB,
Выберите узел Properties в дереве.
Введите имя свойства, CursorDelta, в текстовом поле New Property и нажмите Add. Имя нового свойства, CursorDelta, появляется в таблице Property Name.
Расширьте узел Properties, чтобы отобразить все заданные свойства.
Выберите узел CursorDelta из свойств, отображенных в дереве.
Выберите вкладку Code, чтобы задать набор и получить команды для свойства CursorDelta.
Выберите M-Code в поле стиля Свойства.
Поскольку свойство CursorDelta только для чтения, никакой программный код MATLAB не будет добавлен к текстовому полю MATLAB Set Function.
Следующий программный код MATLAB добавляется к MATLAB, Получают поле Текста функции.
% Extract the interface object.
interface = obj.Interface;
% Determine the type of cursor being displayed.
type = obj.CursorType
% Based on the cursor type, query the instrument.
switch (type)
case 'none'
propertyValue = 0;
case 'voltage'
propertyValue = query(interface, 'CURSor:HBArs:DELTa?');
propertyValue = str2double(propertyValue);
case 'time'
propertyValue = query(interface, 'CURSor:VBArs:DELTa?');
propertyValue = str2double(propertyValue);
end
Выберите вкладку Property Values, чтобы задать позволенные значения свойств.
Выберите Double в поле Data Type.
Выберите None в поле Constraint.
Выберите вкладку "Общие", чтобы закончить задавать поведение свойства.
Введите 0 в текстовое поле Значения по умолчанию.
Выберите always в поле Только для чтения.
В текстовом поле Help введите Returns the difference between the two cursors.
Нажмите кнопку Save.
Проверка Поведения Свойства. Эта процедура проверяет поведение свойства. В этом примере именем драйвера является tektronix_tds210_ex.mdd. Связь с осциллографом Tektronix TDS 210 в первичном адресе 2 сделана через плату GPIB Measurement Computing Corporation в параметре плат 0. Из командной строки MATLAB,
Создайте объект устройства, obj, с помощью функции icdevice.
g = gpib('mcc', 0, 2);
obj = icdevice('tektronix_tds210_ex.mdd', g);Просмотрите текущее значение свойства CursorDelta. Вызов get в списках объектов все его свойства.
get(obj)
Просмотрите текущее значение свойства CursorDelta.
obj.CursorDelta
ans =
0Вызов set в списках объектов все его устанавливаемые свойства. Обратите внимание на то, что как свойство только для чтения, CursorDelta не перечислен в выводе.
set(obj)
Установка свойства к значению приводит к сообщению об ошибке.
obj.CursorDelta = 4) ??? Changing the 'CursorDelta' property of device objects is not allowed.
Просмотрите справку, которую вы записали.
instrhelp(obj,'CursorDelta') CURSORDELTA (double) (read only) Returns the difference between the two cursors.
Перечислите характеристики CursorDelta, которые вы задали в Значениях свойств и вкладках "Общие".
info = propinfo(obj,'CursorDelta')
info =
Type: 'double'
Constraint: 'none'
ConstraintValue: []
DefaultValue: 0
ReadOnly: 'always'
InterfaceSpecific: 1Соединитесь со своим инструментом, чтобы проверить код get.
connect(obj)
Когда вы выпускаете функцию get в программном обеспечении MATLAB, драйвер tektronix_tds210_ex.mdd на самом деле выполняет программный код MATLAB, который был задан.
obj.CursorDelta
ans =
1.6000Наконец, отключитесь от инструмента и удалите объекты.
disconnect(obj) delete([obj g])