Call Service

Услуга вызова в сети ROS

  • Библиотека:
  • ROS Toolbox/ROS

  • Call Service block

Описание

Блок Call Service принимает сообщение запроса службы ROS, отправляет его серверу службы ROS и ожидает ответа. Подключение к сети ROS с помощью rosinit. Сервер ROS должен быть настроен где-то в сети перед использованием этого блока. Проверьте доступные сервисы в сети ROS с помощью rosservice. Использовать rossvcserver для настройки сервера обслуживания в MATLAB®.

Укажите имя службы ROS и тип службы в маске блока. При подключении к сети ROS можно выбрать из списка доступных сервисов. Можно создать пустой запрос на обслуживание или ответное сообщение для заполнения данными с помощью блока Blank Message.

Порты

Вход

расширить все

Запрос сообщения, заданный как невиртуальная шина. Тип сообщения запроса соответствует вашему типу услуги. Чтобы сгенерировать пустую шину сообщения запроса для заполнения данными, используйте блок Blank Message.

Типы данных: bus

Выход

расширить все

Ответное сообщение, возвращаемое как невиртуальная шина. Ответ основан на входе Req сообщении. Тип ответного сообщения соответствует типу сервиса. Чтобы сгенерировать пустую шину ответного сообщения для заполнения данными, используйте блок Blank Message.

Типы данных: bus

Условия ошибки для сервисного вызова, заданные как целое число. Каждое целое число соответствует другому условию ошибки для сервисного соединения или состояния сервисного вызова. Если возникает условие, Resp выводит последнее ответное сообщение или пустое сообщение, если ответ не был получен ранее.

Код ошибкиСостояние
0Ответ службы успешно извлечен и доступен в Resp выход.
1Подключение не было установлено в пределах указанного Connection timeout.
2Ответ от сервера не был получен в пределах указанного Call timeout
3Не удалось выполнить вызов службы по неизвестным причинам.

Зависимости

Этот выход активируется, когда установлен флажок Show ErrorCode output port on.

Типы данных: uint8

Параметры

расширить все

Источник для определения имени службы:

  • Select from ROS network - Используйте Select, чтобы выбрать имя службы. Параметры Name и Type устанавливаются автоматически. Вы должны быть подключены к сети ROS.

  • Specify your own - Введите имя службы в Name и укажите ее тип услуги в Type. Вы должны точно соответствовать имени службы.

Имя службы, заданное как вектор символов. Имя службы должно совпадать с именем службы, доступной на сервере службы ROS. Чтобы просмотреть список допустимых служб в сети ROS, смотрите rosservice.

Тип услуги, заданный как вектор символов. Каждое имя службы имеет соответствующий тип.

Тайм-аут для подключения к серверу службы, заданный как положительный числовой скаляр в секундах. Если подключение не может быть установлено с сервером службы ROS в это время, то ErrorCode выводит 1.

Установите этот флажок для поддержания постоянного соединения с сервером службы ROS. Когда offблок создает клиент службы каждый раз, когда сообщение запроса входа в Req.

Установите этот флажок, чтобы вывести выход ErrorCode. Если возникает условие ошибки, Resp выводит последнее ответное сообщение или пустое сообщение, если ответ не был получен ранее.

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ Simulink ®

.
Введенный в R2019b