rtiostream_wrapper

Тестирование rtiostream общие функции библиотеки в MATLAB

Описание

streamID = rtiostream_wrapper(sharedLib, 'open') открывает rtiostream канал связи или поток через общую библиотеку.

[errFlag,transmittedDataSize] = rtiostream_wrapper(sharedLib,'send',streamID,data,dataSize)передает данные из переменной рабочей области через открытый канал связи или поток.

[errFlag,receivedData,receivedDataSize] = rtiostream_wrapper(sharedLib,'recv',streamID,dataSize) получает данные переменной рабочей области из открытого канала связи или потока.

streamID = rtiostream_wrapper(___,Name,Value) задает дополнительные опции, используя один или несколько аргументы пары "имя-значение". Эти аргументы зависят от реализации, то есть они специфичны для общей библиотеки, которую вы используете.

errFlag = rtiostream_wrapper(sharedLib,'close',streamID) закрывает rtiostream канал связи или поток.

пример

rtiostream_wrapper(sharedLib,'unloadlibrary') выгружает общую библиотеку, очищая постоянные данные.

Примеры

Откройте каналы связи

Эти примеры используют поставляемые драйверы TCP/IP и последовательной связи для открытия каналов связи.

Откройте rtiostream stationA как сервер TCP/IP:

stationA = rtiostream_wrapper('libmwrtiostreamtcpip.dll','open',...
                              '-client', '0',...
                              '-blocking', '0',...
                              '-port', port_number);

Открывает rtiostream StationB как клиент TCP/IP:

stationB = rtiostream_wrapper('libmwrtiostreamtcpip.dll','open',...
                              '-client','1',...
                              '-blocking', '0',...
                              '-port', port_number,...
                              '-hostname','localhost');

Если вы используете поставляемый драйвер компьютера разработчика для последовательной связи (в качестве альтернативы драйверам для TCP/IP), задайте скорость передачи при открытии канала с определенным портом. Для примера откройте stationA канала с портом COM1 и скорость передачи 9600:

stationA = rtiostream_wrapper('libmwrtiostreamserial.dll','open',...
                              '-port','COM1',...
                              '-baud','9600');

Входные параметры

свернуть все

Общая библиотека, реализующая требуемые rtIOStream функции, rtIOStreamOpen, rtIOStreamSend, rtIOStreamRecv, и rtIOStreamClose. Должен находиться в системном пути. Задайте одно из следующих значений:

  • libTCPIP - Для связи TCP/IP. Значение зависит от вашей операционной системы, например 'libmwrtiostreamtcpip.dll'

  • libSerial - Для последовательной связи, например, 'libmwrtiostreamserial.dll'.

Указатель на rtiostream коммуникационный поток.

Массив, который содержит данные для передачи.

Размер данных переменной рабочей области для передачи или приема в байтах.

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: '-hostname', 'localhost'
Коммуникация TCP/IP

свернуть все

Откройте rtiostream как сервер TCP/IP или клиент:

  • 0 - сервер TCP/IP

  • 1 - клиент TCP/IP

Порт для связи TCP/IP.

Идентификатор вашего компьютера разработчика, например 'localhost'.

Поведение вызова при приеме данных:

  • 0 - Режим опроса. Если данные доступны, вызов возвращается с данными. Если данные недоступны, вызов возвращается без ожидания.

  • 1 - Режим блокировки. Если данные доступны, вызов возвращается с данными. Если данные недоступны, вызов ожидает данных. Использование recv_timeout_secs для определения периода ожидания.

Значение по умолчанию 0, если только макрос препроцессора не define VXWORKS существует. В этом случае значение по умолчанию является 1.

Период ожидания вызова, который принимает данные:

  • X, положительное целое число - Ожидание X секунд.

  • 0 - Нет периода ожидания.

  • -1 - Подождите бесконечно.

  • -2 - Ожидание периода по умолчанию.

  • -3 - Подождите 10 мс.

По умолчанию для клиентских подключений требуется подождать 1 секунду. По умолчанию для подключений к серверу требуется неопределенное время ожидания.

Последовательная связь

свернуть все

COM-порт для последовательной связи.

Скорость передачи битов для последовательного порта связи.

Выходные аргументы

свернуть все

Если функция открывает поток связи, она возвращает указатель в поток. В противном случае возвращается -1.

Если функция запускается без ошибок, она возвращает нуль. В противном случае возвращается -1.

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

Массив, содержащий полученные данные.

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

Введенный в R2008b