Этот раздел содержит советы по развертыванию автономных приложений с MATLAB® Compiler™ (deploytool или mcc) и Instrument Control Toolbox™. Обратитесь к этим советам при создании автономных приложений, которые используют функциональность из Instrument Control Toolbox.
Идентификаторы устройств/имена ресурсов не должны быть жестко закодированы, так как имена ресурсов приборов могут отличаться на других машинах.
Лучшая практика - использовать instrhwinfo
и запросите выходы возврата в коде MATLAB, который вы собираетесь развернуть.
Для обмена данными на основе прямого интерфейса с использованием I2C, SPI, GPIB и VISA на машине развертывания установите все необходимые драйверы сторонних производителей отдельно от развернутого приложения.
В дополнение к коду MATLAB развернутый автономный пакет приложения должен включать файлы, необходимые вашему приложению:
Включите драйвер прибора MATLAB (MDD файл) в свой автономный проект приложения от deploytool
или путем прохождения -a
флаг в mcc
при компиляции кода MATLAB.
IVI-C
Включите в развернутый автономный пакет приложения следующее:
Драйвер прибора MATLAB (MDD файл)
Для 64-битных приложений, прототипа MATLAB и файлов thunk
Для 32-битных приложений, файл прототипа MATLAB
Расположение сгенерированных файлов прототипа и thunk можно получить из результата выполнения:
sprintf('%s',[tempdir 'ICTDeploymentFiles'])
На машине, где вы развертываете автономное приложение:
Все сторонние драйверы и зависимости должны быть установлены отдельно от развернутого автономного приложения.
Чтобы уменьшить число неизвестных во время выполнения, установите ту же версию драйвера IVI-C в системе развертывания, что и в системе разработки.
Чтобы уменьшить число неизвестных во время выполнения, установите в системе развертывания ту же версию библиотек драйверов VISA, что и в системе разработки.
Примечание
Для устранения проблем с установкой драйвера поставщика рекомендуется, чтобы развернутое приложение предоставило способ моделирования подключения к оборудованию путем создания экземпляров драйвера с 'optionstring', 'simulate=true'
как аргументы для icdevice
. Это поможет сузить коренную причину проблем с развертыванием, вызванных проблемами установки драйвера поставщика или аппаратными проблемами.
Интерфейсы быстрого управления
Если вы не используете драйверы SCPI по умолчанию для быстрого управления осциллографом ('tektronix'
) и генератора функции быстрого управления ('Agilent332x0_SCPI'
), и вместо этого используете драйвер IVI-C, включите следующее в развернутый автономный пакет приложения:
Для 64-разрядных приложений, прототипа MATLAB и файлов thunk для IVIScope или IVIFGen
Для 32-битных приложений, файл прототипа MATLAB для IVIScope или IVIFGen
Расположение сгенерированных файлов прототипа и thunk можно получить из результата выполнения:
sprintf('%s',[tempdir 'ICTDeploymentFiles'])
На машине, где вы развертываете автономное приложение:
При необходимости все драйверы и зависимости сторонних производителей должны быть установлены отдельно от развернутого автономного приложения.
Чтобы уменьшить число неизвестных во время выполнения, установите ту же версию драйвера IVI-C в системе развертывания, что и в системе разработки.
Чтобы уменьшить число неизвестных во время выполнения, установите в системе развертывания ту же версию библиотек драйверов VISA, что и в системе разработки.
Типовой MDD
Для использования с типовым MDD, включите следующее в развернутый автономный пакет приложения:
Драйвер прибора MATLAB (MDD файл)
Если ваш MDD использует LOADLIBRARY для взаимодействия с общей библиотекой C, включите:
Для 64-битных приложений, прототипа MATLAB и файлов thunk для разделяемой библиотеки C
Для 32-битных приложений, файл прототипа MATLAB для общей библиотеки C
Прототип MATLAB и тонкие файлы для общей библиотеки C могут быть сгенерированы на машине разработки (с поддерживаемым компилятором C) с помощью команды LOADLIBRARY.
На машине, где вы развертываете автономное приложение:
При необходимости все драйверы и зависимости сторонних производителей должны быть установлены отдельно от развернутого автономного приложения.
Для получения дополнительной информации о развертывании автономных приложений, которые используют функциональность, установленную в качестве пакета поддержки:
web(fullfile(docroot, 'compiler/manage-support-packages.html'))