Группа может использоваться, чтобы установить или запросить то же свойство на нескольких элементах или запросить несколько связанных свойств, одновременно. Например, все входные каналы на осциллографе могут масштабироваться к тому же значению с одной командой; или все текущие настройки измерения могут быть получены и просмотрены одновременно.
Группа состоит из одного или нескольких групповых объектов. Объекты в группе совместно используют набор свойств и функций. Используя эти свойства и функции можно управлять функциями инструмента, представленного группой. Для групповых объектов, чтобы управлять инструментом правильно, группа должна задать команду выбора для группы и идентификационную строку для каждого объекта в группе.
Команда выбора является инструментальной командой, которая конфигурирует инструмент, чтобы использовать возможность или физический компонент, представленный текущим групповым объектом. Отметьте, инструмент не может иметь команды выбора.
Идентификационная строка идентифицирует объект в группе. Количество идентификационных строк, перечисленных группой, задает количество объектов в группе. Идентификационной строкой можно подставиться в инструментальные команды, записанные в инструмент.
Когда инструментальная команда группового объекта записана в инструмент, следующие шаги происходят:
Команда выбора для группы определяется драйвером.
Идентификационная строка для группового объекта определяется драйвером.
Если команда выбора содержит строку <ID>
, это заменяется идентификационной строкой.
Команда выбора записана в инструмент. Если пустой, ничто не записано в инструмент.
Если инструментальная команда содержит строку <ID>
, это заменяется идентификационной строкой.
Инструментальная команда записана в инструмент.
Этот раздел включает несколько примеров групп с шагами, чтобы проверить код.
Этот пример комбинирует триггерные возможности осциллографа Tektronix® TDS 210 в триггерную группу. Осциллограф позволяет триггерному источнику и наклонным настройкам быть сконфигурированным. В инструментальном редакторе драйвера MATLAB®,
Выберите Groups
узел в дереве.
Введите название группы, Trigger
, в текстовом поле Add Group и нажимают Add.
Расширьте Groups
узел, чтобы отобразить все заданные группы.
Выберите Trigger
узел в дереве.
Выберите вкладку Definition.
Поскольку осциллограф имеет только один триггер, нет команды, которая выберет текущий триггер. Поле текста команды Выбора останется пустым.
Выберите вкладку Help, чтобы закончить задавать поведение группы.
В текстовом поле Help введите Trigger is a trigger group. The trigger group object contains properties that configure and query the oscilloscope's triggering capabilities
.
Нажмите кнопку 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);
Просмотрите группу, которую вы создали. Обратите внимание на то, что HwName
свойство является идентификационной строкой группового объекта.
obj.Trigger
HwIndex: HwName: Type: Name: 1 Trigger1 scope-trigger Trigger1
Просмотрите справку.
instrhelp(obj, 'Trigger')
TRIGGER Trigger is a trigger group. The trigger group object contains properties that configure and query the oscilloscope's triggering capabilities.
Удалите объекты.
delete([obj g])
Этот пример задает свойства для Trigger
групповой объект создается в предыдущем примере. Осциллограф Tektronix TDS 210 может инициировать от CH1 или CH2, когда данные имеют повышение или падающий наклон.
Во-первых, свойства Source
и Slope
добавляются к триггерному групповому объекту. В инструментальном редакторе драйвера MATLAB,
Расширьте Trigger
узел группы, чтобы отобразить свойства и функции группового объекта.
Выберите Properties
узел, чтобы задать Trigger
свойства группового объекта.
Введите имя свойства Source
в текстовом поле свойства Add и нажимают кнопку Add
Введите имя свойства Slope
в текстовом поле свойства Add и нажимают кнопку Add.
Расширьте Properties
узел, чтобы отобразить свойства группового объекта.
Затем задайте поведение Source
свойство:
Выберите Source
узел в дереве.
Выберите вкладку Code, чтобы задать set
и get
команды для Source
свойство.
Выберите Instrument Commands
в Свойстве разрабатывают поле.
Введите TRIGger:MAIn:EDGE:SOUrce?
в Получить поле текста команды.
Введите TRIGger:MAIn:EDGE:SOUrce
в поле текста команды Набора.
Выберите вкладку Property Values, чтобы задать позволенные значения свойств.
Выберите String
в поле Data Type.
Выберите Enumeration
в поле Constraint.
Введите CH1
в Добавить текстовом поле значения свойства и нажимают кнопку Add. Затем введите CH1
в поле таблицы Instrument Value.
Точно так же добавьте перечисление: CH2
, CH2
.
Выберите вкладку Help, чтобы закончить задавать поведение свойства.
Введите CH1
в текстовом поле Значения по умолчанию.
Выберите never
в поле Только для чтения.
В текстовом поле Help введите Specifies the source for the main edge trigger
.
Затем задайте поведение Slope
свойство:
Выберите Slope
узел в дереве.
Выберите вкладку Code, чтобы задать набор и получить команды для Slope
свойство.
Выберите Instrument Commands
в Свойстве разрабатывают поле.
Введите TRIGger:MAIn:EDGE:SLOpe?
в Получить поле текста команды.
Введите TRIGger:MAIn:EDGE:SLOpe
в поле текста команды Набора.
Выберите вкладку Property Values, чтобы задать позволенные значения свойств.
Выберите String
в поле Data Type.
Выберите Enumeration
в поле Constraint.
Введите falling
в Добавить текстовом поле значения свойства и нажимают кнопку Add. Затем введите FALL
в поле таблицы Instrument Value.
Так же добавьте перечисление: rising
, RISe
.
Выберите вкладку Help, чтобы закончить задавать поведение свойства.
Введите falling
в текстовом поле Значения по умолчанию.
Выберите never
в поле Только для чтения.
В текстовом поле Help введите Specifies a rising or falling slope for the main edge trigger
.
Нажмите кнопку Save.
Verifying Properties Группового объекта в MATLAB. Эта процедура проверяет свойства Trigger
групповой объект. В этом примере именем драйвера является 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);
Извлеките триггерные групповые объекты, t
, от объекта устройства.
t = obj.Trigger
HwIndex: HwName: Type: Name: 1 Trigger1 scope-trigger Trigger1
Доступ к определенным свойствам перечислить его текущее значение.
t.Source
ans = 'CH1'
t.Slope
ans = 'falling'
Вызов set
на определенные списки свойств значения, на которые можно установить свойство.
set(t,'Source')
[ {CH1} | CH2 ]
set(t,'Slope')
[ {falling} | rising ]
Попытайтесь установить свойство на допустимые и недопустимые значения.
t.Source = 'CH2'; t.Slope = 'rising';
t.Source
ans = 'CH2'
t.Slope
ans = 'rising'
t.Source = 'CH3'
There is no enumerated value named 'CH3'.
t.Slope = 'steady'
There is no enumerated value named 'steady'.
Просмотрите справку, которую вы записали.
instrhelp(t,'Source')
SOURCE [ {CH1} | CH2 ] Specifies the source for the main edge trigger.
instrhelp(t,'Slope')
SLOPE [ {falling} | rising ] Specifies a rising or falling slope for the main edge trigger.
Перечислите характеристики группового объекта, которые вы задали во вкладках Справки и Значениях свойств.
propinfo(t,'Source')
ans = struct with fields: Type: 'string' Constraint: 'enum' ConstraintValue: {2×1 cell} DefaultValue: 'CH1' ReadOnly: 'never' InterfaceSpecific: 1
propinfo(t,'Slope')
ans = struct with fields: Type: 'string' Constraint: 'enum' ConstraintValue: {2×1 cell} DefaultValue: 'falling' ReadOnly: 'never' InterfaceSpecific: 1
Свяжите со своим инструментом, чтобы проверить set
и get
код.
connect(obj)
Когда вы выпускаете get
функция на Source
свойство для триггерного объекта, textronix_tds210_ex.mdd
драйвер на самом деле отправляет TRIGger:MAIn:EDGE:SOUrce?
команда к инструменту.
t.Source
ans = 'CH1'
Когда вы выпускаете set
функция на Slope
свойство для триггерного объекта, textronix_tds210_ex.mdd
драйвер на самом деле отправляет TRIGger:MAIn:EDGE:SLOpe RISe
команда к инструменту.
t.Slope = 'rising';
Отключитесь от своего инструмента и удалите объекты.
disconnect(obj) delete([obj g])
Этот пример комбинирует возможности измерения осциллографа Tektronix TDS 210 в группу измерения. Осциллограф позволяет четырем измерениям быть взятыми за один раз. В инструментальном редакторе драйвера MATLAB,
Выберите Groups
узел в дереве.
Введите название группы, Measurement
, в Добавить текстовом поле группы и нажимают Add.
Расширьте Groups
узел, чтобы отобразить все заданные группы.
Выберите Measurement
узел в дереве.
Выберите вкладку Definition.
Осциллограф не задает инструментальную команду, которая задаст измерение, которое в настоящее время вычисляется. Поле текста команды Выбора останется пустым.
В списке Имен Идентификатора измените Measurement1
к Meas1
задавать идентификационную строку для первого группового объекта измерения в группе.
Введите идентификаторы Meas2
, Meas3
, и Meas4
для остающихся групповых объектов измерения путем ввода каждого в текстовом поле Identifier и нажатия на Add после каждого.
Выберите вкладку Help, чтобы закончить задавать поведение группы.
В текстовом поле Help введите Measurement is an array of measurement group objects. A measurement group object contains properties related to each supported measurement on the oscilloscope
.
Нажмите кнопку 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);
Просмотрите группу, которую вы создали. Обратите внимание на то, что HwName
свойство является групповым объектом get(obj)
.
obj.Measurement
HwIndex: HwName: Type: Name: 1 Meas1 scope-measurement Measurement1 2 Meas2 scope-measurement Measurement2 3 Meas3 scope-measurement Measurement3 4 Meas4 scope-measurement Measurement4
Просмотрите справку.
instrhelp(obj,'Measurement')
MEASUREMENT Measurement is an array of measurement group objects. A measurement group object contains properties related to each supported measurement on the oscilloscope.
Удалите объекты.
delete([obj g])
Этот пример задает свойства для Measurement
групповой объект создается в предыдущем примере. Осциллограф Tektronix TDS 210 может вычислить частоту, среднее значение, точка, достигают максимума к пиковому значению, среднеквадратичному значению, времени нарастания, времени спада, положительной ширине импульса или отрицательной ширине импульса формы волны Канала 1 или Канала 2.
Во-первых, свойства MeasurementType
, Source
Значение
, и Units
будет добавлен к Measurement
групповой объект.
Расширьте Measurement
узел группы, чтобы отобразить свойства и методы группового объекта.
Выберите Properties
узел, чтобы задать Measurement
свойства группового объекта.
Введите имя свойства MeasurementType
в текстовом поле свойства Add и нажимают кнопку Add.
Введите имя свойства Source
в текстовом поле свойства Add и нажимают кнопку Add.
Введите имя свойства Value
в текстовом поле свойства Add и нажимают кнопку Add.
Введите имя свойства Units
в текстовом поле свойства Add и нажимают кнопку Add.
Расширьте Properties
узел, чтобы отобразить свойства группового объекта.
Затем задайте поведение MeasurementType
свойство:
Выберите MeasurementType
узел в дереве.
Выберите вкладку Code, чтобы задать set
и get
команды для MeasurementType
свойство.
Выберите Instrument Commands
в Свойстве разрабатывают поле.
Введите Measurement:<ID>:Type?
в Получить поле текста команды.
Введите Measurement:<ID>:Type
в поле текста команды Набора.
Выберите вкладку Property Values, чтобы задать позволенные значения свойств.
Выберите String
в поле Data Type.
Выберите Enumeration
в поле Constraint.
Введите frequency
в Добавить текстовом поле значения свойства и нажимают кнопку Add. Затем введите FREQuency
в поле таблицы Instrument Value.
Добавьте перечисление: mean
среднее значение
.
Добавьте перечисление: period
, PERIod
.
Добавьте перечисление: pk2pk
, PK2pk
.
Добавьте перечисление: rms
, CRMs
.
Добавьте перечисление: riseTime
, RISe
.
Добавьте перечисление: fallTime
, FALL
.
Добавьте перечисление: posWidth
, PWIdth
.
Добавьте перечисление: negWidth
, NWIdth
.
Добавьте перечисление: none
'none'
.
Выберите вкладку Help, чтобы закончить задавать поведение свойства.
Введите none
в текстовом поле Значения по умолчанию.
Выберите never
в поле Только для чтения.
В текстовом поле Help введите Specifies the measurement type
.
Затем задайте поведение Source
свойство.
Выберите Source
узел в дереве.
Выберите вкладку Code, чтобы задать set
и get
команды для Source
свойство.
Выберите Instrument Commands
в Свойстве разрабатывают поле.
Введите Measurement:<ID>:Source?
в Получить поле команды.
Введите Measurement:<ID>:Source
в поле команды Набора.
Выберите вкладку Property Values, чтобы задать позволенные значения свойств.
Выберите String
в поле Data Type.
Выберите Enumeration
в поле Constraint.
Введите CH1
в Добавить текстовом поле значения свойства и нажимают кнопку Add. Затем введите CH1
в поле таблицы Instrument Value.
Так же добавьте перечисление: CH2
, CH2
.
Выберите вкладку Help, чтобы закончить задавать поведение свойства.
Введите CH1
в текстовом поле Значения по умолчанию.
Выберите never
в поле Только для чтения.
В текстовом поле Help введите Specifies the source of the measurement
.
Затем задайте поведение Units
свойство.
Выберите Units
узел в дереве.
Выберите вкладку Code, чтобы задать set
и get
команды для Units
свойство.
Выберите Instrument Commands
в Свойстве разрабатывают поле.
Введите Measurement:<ID>:Units?
в Получить поле текста команды.
Начиная с Units
свойство только для чтения, оставьте поле текста команды Набора пустым.
Выберите вкладку Property Values, чтобы задать позволенные значения свойств.
Выберите String
в поле Data Type.
Выберите None
в поле Constraint.
Выберите вкладку Help, чтобы закончить задавать поведение свойства.
Введите volts
в текстовом поле Значения по умолчанию.
Выберите always
в поле Только для чтения.
В текстовом поле Help введите Returns the measurement units
.
Наконец, задайте поведение Value
свойство.
Выберите Value
узел в дереве.
Выберите вкладку Code, чтобы задать set
и get
команды для Value
свойство.
Выберите Instrument Commands
в Свойстве разрабатывают поле.
Введите Measurement:<ID>:Value?
в Получить поле текста команды.
Начиная с Value
свойство только для чтения, оставьте поле текста команды Набора пустым.
Выберите вкладку Property Values, чтобы задать позволенные значения свойств.
Выберите Double
в поле Data Type.
Выберите None
в поле Constraint.
Выберите вкладку Help, чтобы закончить задавать поведение свойства.
Введите 0
в поле Значения по умолчанию.
Выберите always
в поле Только для чтения.
В текстовом поле Help введите Returns the measurement value
.
Нажмите кнопку Save.
Проверка Свойств Группового объекта в программном обеспечении MATLAB. Эта процедура проверяет свойства группового объекта измерения. В этом примере именем драйвера является 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);
Извлеките групповые объекты измерения, m
, от объекта устройства.
m = obj.Measurement
HwIndex: HwName: Type: Name: 1 Meas1 scope-measurement Measurement1 2 Meas2 scope-measurement Measurement2 3 Meas3 scope-measurement Measurement3 4 Meas4 scope-measurement Measurement4
Просмотрите текущие значения для свойств первого группового объекта. Вызов get
в списках объектов все его свойства.
m(1)
HwIndex: HwName: Type: Name: 1 Meas1 scope-measurement Measurement1
Вызов get
на определенные списки свойств его текущее значение.
m(1).MeasurementType
ans = 'none'
m(1).Source
ans = 'CH1'
m(1).Units
ans = 'volts'
m(1).Value
ans = 0
Просмотрите приемлемые значения для свойств группового объекта. Вызов set
в списках объектов все его устанавливаемые свойства.
set(m(1))
Name: SCOPE-MEASUREMENT specific properties: MeasurementType: [ frequency | mean | period | pk2pk | rms | riseTime | fallTime | posWidth | negWidth | {none} ] Source: [ {CH1} | CH2 ]
set(m(1),'MeasurementType')
[ frequency | mean | period | pk2pk | rms | riseTime | fallTime | posWidth | negWidth | {none} ]
set(m(1),'Source')
[ {CH1} | CH2 ]
Попытайтесь установить свойство на допустимые и недопустимые значения.
m(1).Source = 'CH2'
HwIndex: HwName: Type: Name: 1 Meas1 scope-measurement Measurement1 2 Meas2 scope-measurement Measurement2 3 Meas3 scope-measurement Measurement3 4 Meas4 scope-measurement Measurement4
m(1).Source
ans = 'CH2'
m(1).Source = 'CH5'
There is no enumerated value named 'CH5'.
Просмотрите справку, которую вы записали.
instrhelp(m(1),'Value')
VALUE (double) (read only) Returns the measurement value.
Перечислите характеристики группового объекта, которые вы задали во вкладках Справки и Значениях свойств.
propinfo(m(1),'Units')
ans = struct with fields: Type: 'string' Constraint: 'none' ConstraintValue: '' DefaultValue: 'volts' ReadOnly: 'always' InterfaceSpecific: 1
Свяжите со своим инструментом, чтобы проверить set
и get
код.
connect(obj)
Когда вы выпускаете get
функция на MeasurementType
свойство для первого объекта измерения в группе, textronix_tds210_ex.mdd
драйвер на самом деле отправляет Measurement:Meas1:Type?
команда к инструменту.
m(1).MeasurementType
ans = 'freequency'
Когда вы выпускаете set
функция на Source
свойство для второго объекта измерения в группе, textronix_tds210_ex.mdd
драйвер на самом деле отправляет Measurement:Meas2:Source CH2
команда к инструменту.
m(2).Source = 'CH2';
Отключитесь от своего инструмента и удалите объекты.
disconnect(obj) delete([obj g])