Группы

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

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

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

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

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

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

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

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

  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 свойство является идентификационной строкой группового объекта.

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

    instrhelp(obj, 'Trigger')
       TRIGGER
    
       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. Выберите вкладку Help, чтобы закончить задавать поведение свойства.

    • Введите 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. Выберите вкладку Help, чтобы закончить задавать поведение свойства.

    • Введите 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'
    There is no enumerated value named 'CH3'.
    t.Slope = 'steady'
    There is no enumerated value named 'steady'.
  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 = 
    
      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
  8. Свяжите со своим инструментом, чтобы проверить 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';
  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
    
       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Значение, и 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среднее значение.

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

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

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

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

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

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

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

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

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

    • Введите 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. Выберите вкладку Help, чтобы закончить задавать поведение свойства.

    • Введите 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. Выберите вкладку Help, чтобы закончить задавать поведение свойства.

    • Введите 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. Выберите вкладку Help, чтобы закончить задавать поведение свойства.

    • Введите 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)
       HwIndex:    HwName:    Type:                Name:  
       1           Meas1      scope-measurement    Measurement1
  4. Вызов get на определенные списки свойств его текущее значение.

    m(1).MeasurementType
    ans =
    
        'none'
    m(1).Source
    ans =
    
        'CH1'
    m(1).Units
    ans =
    
        'volts'
    m(1).Value
    ans =
    
         0
  5. Просмотрите приемлемые значения для свойств группового объекта. Вызов 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 ]
  6. Попытайтесь установить свойство на допустимые и недопустимые значения.

    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'.
  7. Просмотрите справку, которую вы записали.

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

    propinfo(m(1),'Units')
    ans = 
    
      struct with fields:
    
                     Type: 'string'
               Constraint: 'none'
          ConstraintValue: ''
             DefaultValue: 'volts'
                 ReadOnly: 'always'
        InterfaceSpecific: 1
  9. Свяжите со своим инструментом, чтобы проверить 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';
  10. Отключитесь от своего инструмента и удалите объекты.

    disconnect(obj)
    delete([obj g])