Можно сделать программирование инструментов через объекты устройства легче и более сопоставимым при помощи свойств. Свойство может использоваться, чтобы запросить или установить инструментальную установку или атрибут. Например, пороговым уровнем осциллографа можно управлять со свойством под названием 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])