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 и битрейт 9 600:

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.

Пример: '-имя-узла', 'localhost'

Коммуникация TCP/IP

свернуть все

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

  • 0 — Сервер TCP/IP

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

Порт для коммуникации TCP/IP.

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

Вызовите поведение при получении данных:

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

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

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

Время ожидания вызова, который получает данные:

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

  • 0 — Никакое время ожидания.

  • - 1 — Ожидают неопределенно.

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

  • - 3 — Ожидают 10 мс.

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

Последовательная передача

свернуть все

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

Битрейт для последовательного порта.

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

свернуть все

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

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

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

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

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

Представленный в R2008b