Группы

Компоненты группы

Группа может использоваться, чтобы установить или запросить то же свойство на нескольких элементах или запросить несколько связанных свойств, одновременно. Например, все входные каналы на осциллографе могут масштабироваться к тому же значению с одной командой; или все текущие настройки измерения могут быть получены и просмотрены одновременно.

Группа состоит из одного или нескольких групповых объектов. Объекты в группе совместно используют набор свойств и функций. Используя эти свойства и функции можно управлять функциями инструмента, представленного группой. Для групповых объектов, чтобы управлять инструментом правильно, группа должна задать команду выбора для группы и идентификационную строку для каждого объекта в группе.

Команда выбора

Команда выбора является инструментальной командой, которая конфигурирует инструмент, чтобы использовать возможность или физический компонент, представленный текущим групповым объектом. Отметьте, инструмент не может иметь команды выбора.

Идентификационная строка

Идентификационная строка идентифицирует объект в группе. Количество идентификационных строк, перечисленных группой, задает количество объектов в группе. Идентификационной строкой можно заменить в инструментальные команды, записанные в инструмент.

Когда инструментальная команда группового объекта записана в инструмент, следующие шаги происходят:

  1. Команда выбора для группы определяется драйвером.

  2. Идентификационная строка для группового объекта определяется драйвером.

  3. Если команда выбора содержит строку <ID>, это заменяется идентификационной строкой.

  4. Команда выбора записана в инструмент. Если пустой, ничто не записано в инструмент.

  5. Если инструментальная команда содержит строку <ID>, это заменяется идентификационной строкой.

  6. Инструментальная команда записана в инструмент.

Примеры групп

Этот раздел включает несколько примеров групп с шагами, чтобы проверить код.

Создание группы с одним элементом

Этот пример комбинирует триггерные возможности осциллографа Tektronix® TDS 210 в триггерную группу. Осциллограф позволяет триггерному источнику и наклонным настройкам быть сконфигурированным. В инструментальном редакторе драйвера MATLAB®,

  1. Выберите узел Groups в дереве.

  2. Введите название группы, Trigger, в текстовом поле Add Group и нажмите Add.

  3. Расширьте узел Groups, чтобы отобразить все заданные группы.

  4. Выберите узел Trigger в дереве.

  5. Выберите вкладку Definition.

    Поскольку осциллограф имеет только один триггер, нет команды, которая выберет текущий триггер. Поле текста команды Выбора останется пустым.

  6. Выберите вкладку Help, чтобы закончить задавать поведение группы.

    В текстовом поле Help введите Trigger is a trigger group. The trigger group object contains properties that configure and query the oscilloscope's triggering capabilities.

  7. Нажмите кнопку Save.

Проверка Поведения Группы.  Эта процедура проверяет заданную информацию о группе. В этом примере именем драйвера является tektronix_tds210_ex.mdd. Связь с осциллографом Tektronix TDS 210 в первичном адресе 2 сделана через Измерение плата GPIB Корпорации Computing™ в параметре плат 0. Из командной строки MATLAB,

  1. Создайте объект устройства, obj, с помощью функции icdevice.

    g = gpib('mcc', 0, 2);
    obj = icdevice('tektronix_tds210_ex.mdd', g);
  2. Просмотрите группу, которую вы создали. Обратите внимание на то, что свойство HwName является идентификационной строкой группового объекта.

    get(obj)
    obj.Trigger 
    HwIndex:   HwName:     Type:            Name:
    1          Trigger1    scope-trigger    Trigger1
  3. Просмотрите справку.

    instrhelp(obj, 'Trigger')
    TRIGGER (object) (read only)
    Trigger is a trigger group. The trigger group object contains 
    properties that configure and query the oscilloscope's triggering 
    capabilities.
  4. Удалите объекты.

    delete([obj g])

Определение свойств группового объекта для группы с одним элементом

Этот пример задает свойства для группового объекта Trigger, созданного в предыдущем примере. Осциллограф Tektronix TDS 210 может инициировать от CH1 или CH2, когда данные имеют повышение или падающий наклон.

Во-первых, свойства Source и Slope добавляются к триггерному групповому объекту. В инструментальном редакторе драйвера MATLAB,

  1. Расширьте узел группы Trigger, чтобы отобразить свойства и функции группового объекта.

  2. Выберите узел Properties, чтобы задать свойства группового объекта Trigger.

  3. Введите имя свойства Source в текстовое поле свойства Add и нажмите кнопку Add

  4. Введите имя свойства Slope в текстовое поле свойства Add и нажмите кнопку Add.

  5. Расширьте узел Properties, чтобы отобразить свойства группового объекта.

Затем, задайте поведение свойства Source:

  1. Выберите узел Source в дереве.

  2. Выберите вкладку Code, чтобы задать set и команды get для свойства Source.

    • Выберите Instrument Commands в поле стиля Свойства.

    • Введите TRIGger:MAIn:EDGE:SOUrce? в Получить поле текста команды.

    • Введите TRIGger:MAIn:EDGE:SOUrce в поле текста команды Набора.

  3. Выберите вкладку Property Values, чтобы задать позволенные значения свойств.

    • Выберите String в поле Data Type.

    • Выберите Enumeration в поле Constraint.

    • Введите CH1 в Добавить текстовое поле значения свойства и нажмите кнопку Add. Затем введите CH1 в поле таблицы Instrument Value.

    • Точно так же добавьте перечисление: CH2, CH2.

  4. Выберите вкладку "Общие", чтобы закончить задавать поведение свойства.

    • Введите CH1 в текстовое поле Значения по умолчанию.

    • Выберите never в поле Только для чтения.

    • В текстовом поле Help введите Specifies the source for the main edge trigger.

Затем, задайте поведение свойства Slope:

  1. Выберите узел Slope в дереве.

  2. Выберите вкладку Code, чтобы задать набор и получить команды для свойства Slope.

    • Выберите Instrument Commands в поле стиля Свойства.

    • Введите TRIGger:MAIn:EDGE:SLOpe? в Получить поле текста команды.

    • Введите TRIGger:MAIn:EDGE:SLOpe в поле текста команды Набора.

  3. Выберите вкладку Property Values, чтобы задать позволенные значения свойств.

    • Выберите String в поле Data Type.

    • Выберите Enumeration в поле Constraint.

    • Введите falling в Добавить текстовое поле значения свойства и нажмите кнопку Add. Затем введите FALL в поле таблицы Instrument Value.

    • Так же добавьте перечисление: rising, RISe.

  4. Выберите вкладку "Общие", чтобы закончить задавать поведение свойства.

    • Введите falling в текстовое поле Значения по умолчанию.

    • Выберите never в поле Только для чтения.

    • В текстовом поле Help введите Specifies a rising or falling slope for the main edge trigger.

  5. Нажмите кнопку Save.

Verifying Properties Группового объекта в MATLAB.  Эта процедура проверяет свойства группового объекта Trigger. В этом примере именем драйвера является tektronix_tds210_ex.mdd. Связь с осциллографом Tektronix TDS 210 в первичном адресе 2 сделана через плату GPIB Measurement Computing Corporation в параметре плат 0. Из командной строки MATLAB,

  1. Создайте объект устройства, obj, с помощью функции icdevice.

    g = gpib('mcc', 0, 2);
    obj = icdevice('tektronix_tds210_ex.mdd', g);
  2. Извлеките триггерные групповые объекты, t, от объекта устройства.

    t = obj.Trigger 
        HwIndex:   HwName:     Type:            Name:
        1          Trigger1    scope-trigger    Trigger1
  3. Доступ к определенным свойствам перечислить его текущее значение.

    t.Source
    ans =
        CH1
    t.Slope
    ans =
        falling
  4. Вызов set на определенные списки свойств значения, на которые можно установить свойство.

    set(t, 'Source')
    [ {CH1} | CH2 ]
    
    set(t, 'Slope')
    [ {falling} | rising ]
  5. Попытайтесь установить свойство на допустимые и недопустимые значения.

    t.Source = CH2;
    
    t.Slope ='rising'
    
    t.'Source
    ans = 
        CH2
    
    t.Slope
    ans = 
        'rising'
    
    t.Source = 'CH3'
    ??? The 'CH3' enumerated value is invalid.
    
    t.Slope = 'steady'
    ??? The 'steady' enumerated value is invalid.
  6. Просмотрите справку, которую вы записали.

    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.
  7. Перечислите характеристики группового объекта, которые вы задали в Значениях свойств и вкладках "Общие".

    propinfo(t, 'Source')
    ans =
                     Type: 'string'
               Constraint: 'enum'
          ConstraintValue: {2x1 cell}
             DefaultValue: 'CH1'
                 ReadOnly: 'never'
        InterfaceSpecific: 1
    
    propinfo(t, 'Slope')
    ans =
                     Type: 'string'
               Constraint: 'enum'
          ConstraintValue: {2x1 cell}
             DefaultValue: 'falling'
                 ReadOnly: 'never'
        InterfaceSpecific: 1
  8. Соединитесь со своим инструментом, чтобы проверить код get и set.

    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'
  9. Отключитесь от своего инструмента и удалите объекты.

    disconnect(obj)
    delete([obj g])

Создание четырехэлементной группы

Этот пример комбинирует возможности измерения осциллографа Tektronix TDS 210 в группу измерения. Осциллограф позволяет четырем измерениям быть взятыми за один раз. В инструментальном редакторе драйвера MATLAB,

  1. Выберите узел Groups в дереве.

  2. Введите название группы, Measurement, в Добавить текстовом поле группы и нажмите Add.

  3. Расширьте узел Groups, чтобы отобразить все заданные группы.

  4. Выберите узел Measurement в дереве.

  5. Выберите вкладку Definition.

    • Осциллограф не задает инструментальную команду, которая задаст измерение, которое в настоящее время вычисляется. Поле текста команды Выбора останется пустым.

    • В списке Имен Идентификатора измените Measurement1 на Meas1, чтобы задать идентификационную строку для первого группового объекта измерения в группе.

    • Введите идентификаторы Meas2, Meas3 и Meas4 для остающихся групповых объектов измерения путем ввода каждого в текстовом поле Identifier и нажатия на Add после каждого.

  6. Выберите вкладку Help, чтобы закончить задавать поведение группы.

    • В текстовом поле Help введите Measurement is an array of measurement group objects. A measurement group object contains properties related to each supported measurement on the oscilloscope.

  7. Нажмите кнопку Save.

Проверка Поведения Группы.  Эта процедура проверяет заданную информацию о группе. В этом примере именем драйвера является tektronix_tds210_ex.mdd. Связь с осциллографом Tektronix TDS 210 в первичном адресе 2 сделана через плату GPIB Measurement Computing Corporation в параметре плат 0. Из командной строки MATLAB,

  1. Создайте объект устройства, obj, с помощью функции icdevice.

    g = gpib('mcc', 0, 2);
    obj = icdevice('tektronix_tds210_ex.mdd', g);
  2. Просмотрите группу, которую вы создали. Обратите внимание на то, что свойство 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
  3. Просмотрите справку.

    instrhelp(obj, 'Measurement')
    MEASUREMENT (object) (read only)
    Measurement is an array of measurement group objects. A 
    measurement group object contains properties related to each 
    supported measurement on the oscilloscope.
  4. Удалите объекты.

    delete([obj g])

Определение свойств группового объекта для четырехэлементной группы

Этот пример задает свойства для группового объекта Measurement, созданного в предыдущем примере. Осциллограф Tektronix TDS 210 может вычислить частоту, среднее значение, точка, достигают максимума к пиковому значению, среднеквадратичному значению, времени нарастания, осеннее время, положительная ширина импульса или отрицательная ширина импульса формы волны Канала 1 или Канала 2.

Во-первых, свойства MeasurementType, Source, Value и Units будут добавлены к групповому объекту Measurement.

  1. Расширьте узел группы Measurement, чтобы отобразить свойства и методы группового объекта.

  2. Выберите узел Properties, чтобы задать свойства группового объекта Measurement.

  3. Введите имя свойства MeasurementType в текстовое поле свойства Add и нажмите кнопку Add.

  4. Введите имя свойства Source в текстовое поле свойства Add и нажмите кнопку Add.

  5. Введите имя свойства Value в текстовое поле свойства Add и нажмите кнопку Add.

  6. Введите имя свойства Units в текстовое поле свойства Add и нажмите кнопку Add.

  7. Расширьте узел Properties, чтобы отобразить свойства группового объекта.

Затем, задайте поведение свойства MeasurementType:

  1. Выберите узел MeasurementType в дереве.

  2. Выберите вкладку Code, чтобы задать set и команды get для свойства MeasurementType.

    • Выберите Instrument Commands в поле стиля Свойства.

    • Введите Measurement:<ID>:Type? в Получить поле текста команды.

    • Введите Measurement:<ID>:Type в поле текста команды Набора.

  3. Выберите вкладку Property Values, чтобы задать позволенные значения свойств.

    • Выберите String в поле Data Type.

    • Выберите Enumeration в поле Constraint.

    • Введите frequency в Добавить текстовое поле значения свойства и нажмите кнопку Add. Затем введите FREQuency в поле таблицы Instrument Value.

    • Добавьте перечисление: mean, MEAN.

    • Добавьте перечисление: period, PERIod.

    • Добавьте перечисление: pk2pk, PK2pk.

    • Добавьте перечисление: rms, CRMs.

    • Добавьте перечисление: riseTime, RISe.

    • Добавьте перечисление: fallTime, FALL.

    • Добавьте перечисление: posWidth, PWIdth.

    • Добавьте перечисление: negWidth, NWIdth.

    • Добавьте перечисление: none, NONE.

  4. Выберите вкладку "Общие", чтобы закончить задавать поведение свойства.

    • Введите none в текстовое поле Значения по умолчанию.

    • Выберите never в поле Только для чтения.

    • В текстовом поле Help введите Specifies the measurement type.

Затем, задайте поведение свойства Source.

  1. Выберите узел Source в дереве.

  2. Выберите вкладку Code, чтобы задать set и команды get для свойства Source.

    • Выберите Instrument Commands в поле стиля Свойства.

    • Введите Measurement:<ID>:Source? в Получить поле команды.

    • Введите Measurement:<ID>:Source в поле команды Набора.

  3. Выберите вкладку Property Values, чтобы задать позволенные значения свойств.

    • Выберите String в поле Data Type.

    • Выберите Enumeration в поле Constraint.

    • Введите CH1 в Добавить текстовое поле значения свойства и нажмите кнопку Add. Затем введите CH1 в поле таблицы Instrument Value.

    • Так же добавьте перечисление: CH2, CH2.

  4. Выберите вкладку "Общие", чтобы закончить задавать поведение свойства.

    • Введите CH1 в текстовое поле Значения по умолчанию.

    • Выберите never в поле Только для чтения.

    • В текстовом поле Help введите Specifies the source of the measurement.

Затем, задайте поведение свойства Units.

  1. Выберите узел Units в дереве.

  2. Выберите вкладку Code, чтобы задать set и команды get для свойства Units.

    • Выберите Instrument Commands в поле стиля Свойства.

    • Введите Measurement:<ID>:Units? в Получить поле текста команды.

    • Поскольку свойство Units только для чтения, оставьте поле текста команды Набора пустым.

  3. Выберите вкладку Property Values, чтобы задать позволенные значения свойств.

    • Выберите String в поле Data Type.

    • Выберите None в поле Constraint.

  4. Выберите вкладку "Общие", чтобы закончить задавать поведение свойства.

    • Введите volts в текстовое поле Значения по умолчанию.

    • Выберите always в поле Только для чтения.

    • В текстовом поле Help введите Returns the measurement units.

Наконец, задайте поведение свойства Value.

  1. Выберите узел Value в дереве.

  2. Выберите вкладку Code, чтобы задать set и команды get для свойства Value.

    • Выберите Instrument Commands в поле стиля Свойства.

    • Введите Measurement:<ID>:Value? в Получить поле текста команды.

    • Поскольку свойство Value только для чтения, оставьте поле текста команды Набора пустым.

  3. Выберите вкладку Property Values, чтобы задать позволенные значения свойств.

    • Выберите Double в поле Data Type.

    • Выберите None в поле Constraint.

  4. Выберите вкладку "Общие", чтобы закончить задавать поведение свойства.

    • Введите 0 в поле Значения по умолчанию.

    • Выберите always в поле Только для чтения.

    • В текстовом поле Help введите Returns the measurement value.

  5. Нажмите кнопку Save.

Проверка Свойств Группового объекта в программном обеспечении MATLAB.  Эта процедура проверяет свойства группового объекта измерения. В этом примере именем драйвера является tektronix_tds210_ex.mdd. Связь с осциллографом Tektronix TDS 210 в первичном адресе 2 сделана через плату GPIB Measurement Computing Corporation в параметре плат 0. Из командной строки MATLAB,

  1. Создайте объект устройства, obj, с помощью функции icdevice.

    g = gpib('mcc', 0, 2);
    obj = icdevice('tektronix_tds210_ex.mdd', g);
  2. Извлеките групповые объекты измерения, 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
  3. Просмотрите текущие значения для свойств первого группового объекта. Вызов get в списках объектов все его свойства.

    m(1) 
  4. Вызов get на определенные списки свойств его текущее значение.

    m(1).MeasurementType
    
    ans =
    none
    m(1).Source
    
    ans =
    CH1
    m(1).Units
    
    ans =
    volts
    m(1).Value
    
    ans =
    'none' 'CH1' 'volts' [0]
  5. Просмотрите приемлемые значения для свойств группового объекта. Вызов set в списках объектов все его устанавливаемые свойства.

    set(m(1)) 
    
    set(m(1), 'MeasurementType')
    [ frequency | period | {none} | mean | pk2pk | rms | riseTime | 
    fallTime | posWidth | negWidth ]
    
    set(m(1), 'Source')
    [ {CH1} | CH2 ]
  6. Попытайтесь установить свойство на допустимые и недопустимые значения.

    m(1).Source = 'CH2'
    m(1).Source
    ans =
    CH2
    m(1).Source = 'CH5'
    ??? The 'CH5' enumerated value is invalid.
  7. Просмотрите справку, которую вы записали.

    instrhelp(m(1), 'Value')
    VALUE (double) (read only)
    Returns the measurement value.
  8. Перечислите характеристики группового объекта, которые вы задали в Значениях свойств и вкладках "Общие".

    propinfo(m(1), 'Units')
    ans =
                     Type: 'string'
               Constraint: 'none'
          ConstraintValue: []
             DefaultValue: 'volts'
                 ReadOnly: 'always'
        InterfaceSpecific: 1
  9. Соединитесь со своим инструментом, чтобы проверить код get и set.

    connect(obj)

    Примечание

    Когда вы выпускаете функцию get на свойстве MeasurementType для первого объекта измерения в группе, драйвер textronix_tds210_ex.mdd на самом деле отправляет команду Measurement:Meas1:Type? в инструмент.

    m(1).MeasurementType
    ans = 
    frequency

    Примечание

    Когда вы выпускаете функцию set на свойстве Source для второго объекта измерения в группе, драйвер textronix_tds210_ex.mdd на самом деле отправляет команду Measurement:Meas2:Source CH2 в инструмент.

    m(2).Source = 'CH2';
  10. Отключитесь от своего инструмента и удалите объекты.

    disconnect(obj)
    delete([obj g])