Измените демонстрационные тесты для своего адаптера

Эта тема описывает, как скопировать демонстрационные тесты адаптера и изменить их для использования с вашим собственным адаптером. Шаги ниже принимают, что у вас есть адаптер под названием MyAdaptor, как создано в примере Создают Ваш Адаптер из Демонстрационного Адаптера.

  1. Скопируйте matlabroot\toolbox\daq\daqsdk\tests к C:\adaptors\daqsdk\tests

  2. В файловом браузере перейдите к тестовой папке C:\adaptors\daqsdk\tests\+daq\+sdk пакета SDK.

  3. Переименуйте папку +tests к +mytests.

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

  4. Перейдите к C:\adaptors\daqsdk\tests\+daq\+sdk\+mytests, и откройте файл hardwareconfiguration.m. В MATLAB можно перейти к его папке и открыть редактор:

    cd ('C:\adaptors\daqsdk\tests\+daq\+sdk\+mytests')
    edit hardwareconfiguration

    Измените поставщика и параметры устройства этим способом, с помощью собственных имен.

    Исходный текстОбновленный текст
    % HardwareInfo
      VendorName = 'mw';
      VendorFullName = 'MathWorks';
    
      DeviceID1 = 'MWDev0';
      DeviceID2 = 'MWDev1';
      DeviceID3 = 'MWDev2';
    
    % HardwareInfo
      VendorName = 'my';
      VendorFullName = 'MyAdaptor';
    
      DeviceID1 = 'MyDev0';
      DeviceID2 = 'MyDev1';
      DeviceID3 = 'MyDev2';
    
  5. Сохраните и закройте файл.

    Обновленная информация о поставщике теперь позволяет вашим тестам работать на вашем адаптере.

  6. Измените все файлы в C:\adaptors\daqsdk\tests\+daq\+sdk\+mytests\+workflow\ так, чтобы все линии использовали mytests вместо tests. Например,

    classdef tbackground < daq.sdk.mytests.workflow.BaseDAQSessionWorkflowTester
  7. Перезапустите MATLAB. Используйте следующие команды, чтобы добавить ваш адаптер и тесты к пути к команде.

    addpath 'C:\adaptors\daqsdk\bin\win64'
    addpath 'C:\adaptors\daqsdk'
    addpath 'C:\adaptors\daqsdk\tests'

    Запустите тест для одних входных параметров сканирования.

    t = daq.sdk.mytests.workflow.tinputsinglescan;
    results = run(t);
    table(results)
    Running daq.sdk.mytests.workflow.tinputsinglescan
    ..
    Done daq.sdk.mytests.workflow.tinputsinglescan
    __________
    
    
    ans =
    
      2×6 table
    
                                        Name                                     Passed    Failed    Incomplete    Duration      Details   
        _____________________________________________________________________    ______    ______    __________    ________    ____________
    
        'daq.sdk.mytests.workflow.tinputsinglescan/verifyInputSingleScan'        true      false     false          1.692      [1×1 struct]
        'daq.sdk.mytests.workflow.tinputsinglescan/verifyInputSingleScanLoop'    true      false     false         1.2947      [1×1 struct]
    
  8. Для потоковой передачи тестов существует три файла, чтобы изменить в папке C:\adaptors\daqsdk\tests\+daq\+sdk\+mytests\+development\+streaming.

    Измените tstreambasic.m использование собственного поставщика и информации об устройстве, можно следующим образом:

    Исходный текстОбновленный текст
    properties(TestParameter)
            VendorName = {'mw'}; % Add vendor adaptor name here.
            DeviceID = {'MWDev1'}; % Add device IDs you wish to test here.
        end
    properties(TestParameter)
            VendorName = {'my'}; % Add vendor adaptor name here.
            DeviceID = {'MyDev1'}; % Add device IDs you wish to test here.
        end

    Измените оба tstreamread.m и tstreamwrite.m использование собственной информации об адаптере, можно следующим образом:

    Исходный текстОбновленный текст
    properties (ClassSetupParameter)
        adaptorName = {'DemoAdaptor'}
    end
    properties (ClassSetupParameter)
        adaptorName = {'MyAdaptor'}
    end
    adaptorPath = fullfile(matlabroot, ...
    'toolbox','daq','daqsdk','bin',computer('arch'));
    
    adaptorPath = 'c:\adaptors\daqsdk\bin\win64';
    
  9. Можно теперь запустить любой из тестов потоковой передачи на адаптере. Например, перезапустите MATLAB и введите следующий код:

    addpath 'C:\adaptors\daqsdk\bin\win64'
    addpath 'C:\adaptors\daqsdk'
    addpath 'C:\adaptors\daqsdk\tests'
    t = daq.sdk.mytests.development.streaming.tstreamread;
    results = run(t);
    table(results)
    Running daq.sdk.mytests.development.streaming.tstreamread
    ........
    Done daq.sdk.mytests.development.streaming.tstreamread
    __________
    
    
    ans =
    
      8×6 table
    
                                                                                  Name                                                                              Passed    Failed    Incomplete    Duration      Details   
        ________________________________________________________________________________________________________________________________________________________    ______    ______    __________    ________    ____________
    
        'daq.sdk.mytests.development.streaming.tstreamread[adaptorName=MyAdaptor]/VerifyAIFiniteRead(scanRate=value1,numOfBlocks=value1,numChannels=value1)'        true      false     false         10.698      [1×1 struct]
        'daq.sdk.mytests.development.streaming.tstreamread[adaptorName=MyAdaptor]/VerifyAIFiniteRead(scanRate=value1,numOfBlocks=value1,numChannels=value2)'        true      false     false         11.543      [1×1 struct]
        'daq.sdk.mytests.development.streaming.tstreamread[adaptorName=MyAdaptor]/VerifyAIFiniteRead(scanRate=value2,numOfBlocks=value1,numChannels=value1)'        true      false     false         10.124      [1×1 struct]
        'daq.sdk.mytests.development.streaming.tstreamread[adaptorName=MyAdaptor]/VerifyAIFiniteRead(scanRate=value2,numOfBlocks=value1,numChannels=value2)'        true      false     false         11.087      [1×1 struct]
        'daq.sdk.mytests.development.streaming.tstreamread[adaptorName=MyAdaptor]/VerifyAIContinuousRead(scanRate=value1,numOfBlocks=value1,numChannels=value1)'    true      false     false         10.159      [1×1 struct]
        'daq.sdk.mytests.development.streaming.tstreamread[adaptorName=MyAdaptor]/VerifyAIContinuousRead(scanRate=value1,numOfBlocks=value1,numChannels=value2)'    true      false     false         10.568      [1×1 struct]
        'daq.sdk.mytests.development.streaming.tstreamread[adaptorName=MyAdaptor]/VerifyAIContinuousRead(scanRate=value2,numOfBlocks=value1,numChannels=value1)'    true      false     false         10.079      [1×1 struct]
        'daq.sdk.mytests.development.streaming.tstreamread[adaptorName=MyAdaptor]/VerifyAIContinuousRead(scanRate=value2,numOfBlocks=value1,numChannels=value2)'    true      false     false         11.137      [1×1 struct]
    

Дальнейшие предложения

Запуск набора тестов

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

results = runtests('daq.sdk.mytests','IncludeSubpackages',true,'Verbosity','Concise');
table(results)

Измените тесты функциональности

  • Когда вы пишете свой адаптер, необходимо изменить тестовые файлы, чтобы соответствовать функциональности, реализованной для устройства. В решении последовательности, в которой вы реализуете и тестируете функциональность, рассматриваете Рабочие процессы Сеанса с Демонстрационным Адаптером.

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

Смотрите также

Функции

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте