Этот раздел предоставляет информацию об использовании rtiostream
API для связи между вашим компьютером разработчика и целевым компьютером во время PIL симуляции.
rtiostream
APIrtiostream
API поддерживает коммуникации для целевого API возможности соединения. Используйте rtiostream
API, чтобы реализовать канал связи, который включает обмен данными между различными процессами.
PIL симуляция требует целевого хостом коммуникационного канала. Этот коммуникационный канал включает код драйвера, который работает на хосте и цели. rtiostream
API задает подпись целевой стороны и функций стороны хоста, которые должен реализовать этот код драйвера.
API независим от физического уровня, который отправляет данные. Возможные физические уровни включают RS232, Ethernet или Сеть области контроллера (CAN).
Полный rtiostream
реализация требует и стороны хоста и драйверов целевой стороны. Программное обеспечение генерации кода включает драйверы стороны хоста для реализации TCP/IP по умолчанию и версию для последовательной передачи данных. Использовать:
rtiostream
TCP/IP коммуникационный канал, необходимо обеспечить или получить от третьего лица, целевых драйверов устройств TCP/IP.
Канал последовательной передачи данных, необходимо обеспечить или получить от третьего лица, целевых драйверов последовательного устройства.
Для других каналов связи и платформ, программное обеспечение генерации кода не обеспечивает реализации по умолчанию. Необходимо обеспечить и сторону хоста и драйверы целевой стороны.
rtiostream
API включает следующие функции:
Для получения информации о:
Используя rtiostream
функции в реализации возможности соединения, смотрите, Создают Целевую Реализацию API Возможности соединения.
Тестирование rtiostream
разделяемые методы библиотеки из кода MATLAB®, смотрите rtiostream_wrapper
.
Отладка и проверка поведения пользовательского rtiostream
интерфейсные реализации, смотрите Тест rtiostream Драйвер и rtiostreamtest
.
Если вы используете rtiostream
API, чтобы реализовать коммуникационный канал, хост и цель должен синхронизироваться, который препятствует тому, чтобы Simulink® передал и получил данные, прежде чем целевое приложение будет полностью инициализировано.
Чтобы синхронизировать хост и цель для TCP/IP rtiostream реализации, используйте setInitCommsTimeout
метод от rtw.connectivity.RtIOStreamHostCommunicator
. Этот подход работает хорошо на TCP/IP с установлением соединения rtiostream
реализации, потому что Simulink автоматически ожидает, пока целевой сервер не запускается.
С другим rtiostream
реализации, например, последовательный, сторона Simulink rtiostream
связь открывается, не ожидая цели, которая будет полностью инициализирована. В этом случае необходимо сделать Launcher
реализация ожидает, пока целевое приложение полностью не инициализируется. Используйте один из следующих подходов, чтобы синхронизировать ваш хост и цель:
Добавьте паузу в конце Launcher
реализация, которая делает Launcher
ожидайте, пока целевая инициализация не завершена.
В Launcher
реализация, используйте сторонний загрузчик или API отладчика, которые ожидают, пока целевая инициализация не завершена.
Реализуйте механизм квитирования в Launcher
/ rtiostream
реализация, которая подтверждает завершение целевой инициализации.
rtiostream
ДрайверИспользуйте тестовый набор, чтобы отладить и проверить поведение пользовательского rtiostream
интерфейсные реализации.
Тестовый набор может помочь вам к:
Уменьшайте время, требуемое для интеграции специального оборудования, которое не имеет встроенного rtiostream
поддержка.
Уменьшайте время, требуемое для тестирования пользовательского rtiostream
драйверы.
Анализируйте производительность пользовательского rtiostream
драйверы.
Тестовый набор состоит из двух частей. Одна часть является приложением, которое работает на целевом компьютере. Другая часть запускается в MATLAB. Для получения дополнительной информации смотрите rtiostreamtest
.
В диалоговом окне Configuration Parameters, когда вы задаете настройки для Device vendor и Device type, вы предоставляете PIL симуляциям адресную информацию памяти о целевом компьютере.
Например, рассмотрите случай, когда Device vendor будет установлен в Texas Instruments
и Device type установлен в C5000
.
Настройки указывают, что целевой компьютер использует 16-битные адреса слова и порядок слов с обратным порядком байтов. rtiostream реализация действует с 16-битными словами.
На целевом компьютере, если rtIOStream
функция задает размер 1, затем целевой компьютер должен отправить или получить одно 16-битное слово (2 байта). sizeof(char)
и sizeof(short)
возвратитесь 1, который соответствует одному 16-битному слову. rtIOStream
функция ожидает, что порядок байтов в слове будет прямым порядком байтов, то есть, менее значительные байты передаются перед более значительными байтами.
rtiostreamtest
идентифицирует целевой компьютер и обрабатывает данные в терминах 16-битных слов, например, значение байта передается как 16-битное значение слова.
rtIOStreamClose
| rtIOStreamOpen
| rtIOStreamRecv
| rtIOStreamSend
| rtiostream_wrapper
| rtiostreamtest
| rtw.connectivity.RtIOStreamHostCommunicator