Целевая хостом коммуникация для PIL

Коммуникации API rtiostream

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

Верификация PIL требует целевого хостом коммуникационного канала. Этот коммуникационный канал включает код драйвера, который работает на хосте и цели. API rtiostream задает подпись целевой стороны и функций стороны хоста, которые должны быть реализованы этим кодом драйвера.

API независим от физического уровня, который отправляет данные. Возможные физические уровни включают RS232, Ethernet или Сеть области контроллера (CAN).

Полная реализация rtiostream требует и стороны хоста и драйверов целевой стороны. Программное обеспечение генерации кода включает драйверы стороны хоста для реализации TCP/IP по умолчанию, а также версию для последовательной передачи данных. Использовать:

  • Коммуникационный канал rtiostream TCP/IP, необходимо обеспечить или получить от третьего лица, целевых драйверов устройств TCP/IP.

  • Канал последовательной передачи данных, необходимо обеспечить или получить от третьего лица, целевых драйверов последовательного устройства.

Для других каналов связи и платформ, программное обеспечение генерации кода не обеспечивает реализации по умолчанию. Необходимо обеспечить и сторону хоста и драйверы целевой стороны.

API rtiostream включает следующие функции:

Для получения информации о:

Синхронизируйте хост и цель

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

Чтобы синхронизировать хост и цель для TCP/IP rtiostream реализации, используйте метод setInitCommsTimeout от rtw.connectivity.RtIOStreamHostCommunicator. Этот подход работает хорошо на TCP/IP с установлением соединения реализации rtiostream, потому что MATLAB автоматически ожидает, пока целевой сервер не запускается.

С другими реализациями rtiostream, например, последовательный, сторона MATLAB связи rtiostream открывается, не ожидая цели, которая будет полностью инициализирована. В этом случае необходимо заставить реализацию Launcher ожидать, пока целевое приложение полностью не инициализируется. Используйте один из следующих подходов, чтобы синхронизировать ваш хост и цель:

  • Добавьте паузу в конце реализации Launcher, которая заставляет Launcher ожидать, пока целевая инициализация не завершена.

  • В реализации Launcher используйте сторонний загрузчик или API отладчика, которые ожидают, пока целевая инициализация не завершена.

  • Реализуйте механизм квитирования в Launcher / реализация rtiostream, которая подтверждает завершение целевой инициализации.

Протестируйте драйвер rtiostream

Используйте тестовый набор, чтобы отладить и проверить поведение пользовательских реализаций интерфейса rtiostream.

Тестовый набор имеет следующие преимущества:

  • Уменьшает время для интеграции специального оборудования, которое не имеет встроенной поддержки rtiostream.

  • Уменьшает время для тестирования пользовательских драйверов rtiostream.

  • Помогает анализировать производительность пользовательских драйверов rtiostream.

Тестовый набор имеет две части. Одна часть тестового набора работает на цели.

Примечание

После создавания целевого приложения загрузите его на цель и запустите его.

Чтобы запустить эту часть, скомпилируйте и соедините следующие файлы, которые находятся в (открытой) папке matlabroot/toolbox/coder/rtiostream/src/rtiostreamtest.

Чтобы запустить часть MATLAB тестового набора, вызовите rtiostreamtest. Синтаксис следующие:

rtiostreamtest(connection,param1,param2)

  • connection является вектором символов, указывающим на коммуникационный метод. Это может иметь значения 'tcp' или 'serial'.

  • param1 и param2 имеют различные значения в зависимости от значения connection.

    • Если connection является 'tcp', то param1 и param2 являются именем узла и портом, соответственно. Например, rtiostreamtest('tcp', 'localhost', 2345).

    • Если connection является 'serial', то param1 и param2 является COM-порт и скорость в бодах, соответственно. Например, rtiostreamtest('serial', 'COM1', 9600).

Можно запустить часть MATLAB тестового набора можно следующим образом:

rtiostreamtest('tcp','localhost','2345')
Вывод в следующем формате появляется в окне MATLAB:
### Test suite for rtiostream ###
Initializing connection with target...

### Hardware characteristics discovered
Size of char    : 8 bit
Size of short   : 16 bit
Size of int     : 32 bit
Size of long    : 32 bit
Size of float   : 32 bit
Size of double  : 64 bit
Size of pointer : 64 bit
Byte ordering   : Little Endian

### rtiostream characteristics discovered
Round trip time : 0.96689 ms
rtIOStreamRecv behavior : non-blocking

### Test results
Test 1 (fixed size data exchange): ......... PASS
Test 2 (varying size data exchange): ......... PASS

### Test suite for rtiostream finished successfully ###
Кроме того, следующий профиль появляется.

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

| | | | |

Похожие темы