IVI хранилищ настройки

Преимущества IVI хранилищ настройки

Путем обеспечения способа сконфигурировать отношение между драйверами и ссылками ввода-вывода, IVI® хранилище настройки значительно улучшает инструментальную взаимозаменяемость.

Предположим, что ваш код использует только заданный драйвер, чтобы связаться с одним типом инструмента в фиксированном местоположении. Если бы вы изменяете инструментальную модель, инструментальное местоположение или драйвер, необходимо было бы изменить код, чтобы вместить то изменение.

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

Компоненты IVI хранилищ настройки

Компоненты IVI хранилищ настройки идентифицируют:

  • Местоположения инструментов, чтобы связаться с

  • Программные модули раньше управляли инструментами

  • Ассоциации программных модулей используются с инструментами в определенных местоположениях

Diagram showing the components of an IVI configuration store. The IVI configuration store contains the logical name and driver session. The driver session includes the software module and hardware asset. The IVI configuration store is between the code and instrument.

Компонент

Описание

Программный модуль

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

Аппаратный ресурс

Аппаратный ресурс идентифицирует, что коммуникационный порт соединил инструмент. Сконфигурируйте этот компонент с IOResourceDescriptor. Обычно у вас есть один аппаратный ресурс местоположение для каждого подключения (тип протокола, адрес шины, и так далее).

Сеанс драйвера

Сеанс драйвера делает ассоциацию между программным модулем и аппаратным ресурсом. Обычно у вас есть сеанс драйвера для каждого инструмента в каждом из его возможных местоположений.

Идентичные инструменты, соединенные в других местах, могут использовать тот же программный модуль, но потому что у них есть различные аппаратные ресурсы, они требуют различных сеансов драйвера.

Различные виды инструментов, соединенных с тем же местоположением (в разное время), используют тот же аппаратный ресурс, но могут иметь различные программные модули. Поэтому они требуют различных сеансов драйвера.

Логическое имя

Логическое имя является компонентом хранилища настройки, который обеспечивает доступ к сеансу драйвера. Можно интерпретировать логическое имя как конфигурируемый указатель на сеанс драйвера. В типичной настройке код связывается с инструментом через логическое имя. Если код должен связаться с различным инструментом (например, подобный осциллограф в другом месте), обновить только логическое имя в IVI хранилищах настройки, чтобы указать на новый сеанс драйвера. Вы не должны переписывать код, потому что он использует то же логическое имя.

Конфигурирование IVI хранилищ настройки

Используя графический интерфейс пользователя

Можно использовать инструмент Test & Measurement, чтобы исследовать или сконфигурировать IVI хранилищ настройки. Откройте инструмент путем ввода:

tmtool

Расширьте узел Instrument Drivers и нажмите IVI.

Вы видите вкладку для каждого типа IVI элементов хранилища настройки. Этот рисунок показывает доступные сеансы драйвера в токе IVI хранилищ настройки. Для выбранного сеанса драйвера можно использовать любой доступный программный модуль или аппаратный ресурс. Этот рисунок показывает настройку для сеанса драйвера TekScope.DriverSession, который использует программный модуль TekScope.Software и аппаратный ресурс TekScope.Hardware.

Используя командную строку

В качестве альтернативы можно использовать функции командной строки, чтобы исследовать и сконфигурировать IVI хранилищ настройки. Чтобы видеть, что IVI элементов хранилища настройки доступны, использовать instrhwinfo идентифицировать существующие логические имена.

instrhwinfo('ivi')
ans = 
              LogicalNames: {'MainScope', 'FuncGen'}
                ProgramIDs: {'TekScope.TekScope','Agilent33250'}
                   Modules: {'ag3325b', 'hpe363xa'}
ConfigurationServerVersion: '1.6.0.10124'
  MasterConfigurationStore: 'C:\Program Files\IVI\Data\
                             IviConfigurationStore.xml'
               IVIRootPath: 'C:\Program Files\IVI\'

Используйте instrhwinfo с логическим именем в качестве аргумента, чтобы видеть детали настройки.

instrhwinfo('ivi','MainScope')
ans = 
            DriverSession: 'TekScope.DriverSession'
            HardwareAsset: 'TekScope.Hardware'
           SoftwareModule: 'TekScope.Software'
     IOResourceDescriptor: 'GPIB0::13::INSTR'
SupportedInstrumentModels: 'TekScope 5000, 6000 and 7000 series'
        ModuleDescription: 'TekScope software module desc'
           ModuleLocation: ''

Можно использовать командную строку, чтобы изменить хранилище настройки. Вот пример изменения его программно.

% Construct a configStore.
configStore = iviconfigurationstore; 

% Set up the hardware asset with name myScopeHWAsset, and resource descriptor 
%    TCPIP0::a-m6104a-004598::INSTR.
add(configStore, 'HardwareAsset', 'myScopeHWAsset', 'TCPIP0::a-m6104a-004598::INSTR'); 

% Add a driver session with name myScopeSession, and use the asset created in the step above. 
%    Ag546XX is the Agilent driver. 
add(configStore, 'DriverSession', 'myScopeSession', 'Ag546XX', 'myScopeHWAsset');

% Add a logical name to the configStore, with name myScope and driver session 
%    named myScopeSession. 
add(configStore, 'LogicalName', 'myScope', 'myScopeSession'); 

% Save the changes to the IVI configuration store data file.
commit(configStore); 

% You can verify that the steps you just performed worked.
logicalNameInfo = instrhwinfo('ivi', 'myscope') 

Основной IVI хранилищ настройки

Следующее является примером настройки, используемой data_analyzer.m.

Diagram that shows an example of an IVI configuration store.

Создайте и сконфигурируйте элементы в IVI хранилищах настройки с помощью IVI методов объекта хранилища настройки add, commit, remove, и update. Для получения дальнейшей информации смотрите страницы с описанием для этих методов.

IVI хранилищ настройки с несколькими взаимозаменяемыми элементами

Следующий рисунок показывает пример IVI хранилищ настройки с несколькими взаимозаменяемыми компонентами. Код 1 требует доступа к осциллографам в двух других местах (аппаратный ресурс X и аппаратный ресурс Y). Осциллографы подобны, таким образом, они используют тот же программный модуль S. Здесь, осциллографы в других местах (или тот же осциллограф, соединенный с двумя другими местами в разное время). Поэтому каждая настройка требует своего собственного сеанса драйвера, в этом примере, сеанс драйвера A и сеанс драйвера B.

Diagram that shows an example of an IVI configuration store with interchangeable components. Code 1 and Code 2 are on the left of the IVI configuration store and there are three instruments on the right.

Запишите Код 1, чтобы получить доступ к логическому имени 1. Вы конфигурируете имя в IVI хранилищах настройки, чтобы получить доступ к сеансу драйвера A или сеанс драйвера B (но не оба одновременно). Поскольку вы выбираете сеанс драйвера в IVI хранилищах настройки, вы не должны изменять код, чтобы изменить доступ от одного осциллографа до другого.