Главная ❯ Гидроакустические модемы ❯ Описание протокола сопряжения: uWave
www.unavlab.com support@unavlab.com |
uWave - семейство устройств гидроакустической связи Протокол информационного сопряжения |
Гидроакустические модемы uWAVE поддерживают информационное сопряжение при помощи стандарта физического уровня RS-232 для асинхронного интерфейса (UART) c напряжением линии данных 3.3В. Подключение производится при помощи четырехпроводного кабеля, с жилами Tx (трансмиттер), Rx (ресивер), Vcc (питание) и GND (земля). Без применения дополнительных повторителей и преобразователей интерфейса максимальная длинна шины данных, для которой гарантируется корректная работа интерфейса, составляет не более 2 метров.
Настройки порта подключения по умолчанию1:
Baudrate: 9600 bit/s
Data bits: 8
Stop bits: 1
Parity: No
Hardware flow control: No
ВНИМАНИЕ! Питание модемов осуществляется от источника постоянного тока 5-12 Вольт, при этом напряжение линии данных составляет 3.3 В.
Назначение жил кабеля модемов uWave |
Стандарт NMEA0183 описывает формат текстовых (ASCII) сообщений диалогового уровня.
Пример сообщения: $PUWV0,1,0*hh<СR><LF>
Основные элементы посылки (сообщения, sentence) NMEА0183:
Префикс D2H в наименовании сообщений означает, что оно передается от устройства (Device) к управляющей системе (Host). Префикс H2D в наименовании сообщений означает, что оно передается от управляющей системы (Host) к устройству (Device).
Сообщение IC_D2H_ACK - реакция устройства на поступивший от управляющей системы запрос
Формат сообщения: $PUWV0,x,x*hh<CR><LF>
Поле/Параметр | Описание |
---|---|
$ | Начало сообщения ‘$’ |
PUWV | UWV |
0 | Идентификатор сообщения |
cmdID | Идентификатор обрабатываемой команды (на которую устройство отреагировало) |
errCode | Error code (см. 4.1) |
* | Разделитель контрольной суммы NMEA |
hh | Контрольная сумма NMEA |
<CR><LF> | Конец сообщения |
Запись новых настроек
Формат сообщения: $PUWV1,x,x,x.x,x,x,x.x*hh<CR><LF>
Поле/Параметр | Описание |
---|---|
$ | Начало сообщения ‘$’ |
PUWV | UWV |
1 | Идентификатор сообщения |
txChID | идентификатор канала передачи |
rxChID | идентификатор канала приема |
STY | Соленость, PSU |
isCmdMode | ‘0’ - командный режим управляется service pin, ‘1’ - командный режим по умолчанию |
isACKOnTXFinished | ‘1’ - модем будет посылать сообщение IC_D2H_ACK с параметром LOC_ACK_TX_FINISHED при завершении отправки сообщения (при опустошении буфера акустического передатчика), ‘0’ - модем не будет оповещать о завершении передачи |
gravityAcc | Ускорение свободного падения (для более точного определения глубины), в м/с2 в диапазоне от 9.77 до 9.84 |
* | Разделитель контрольной суммы NMEA |
hh | Контрольная сумма NMEA |
<CR><LF> | Конец сообщения |
Кодовый запрос удаленному абоненту
Формат сообщения: $PUWV2,x,x,x*hh<CR><LF>
Поле/Параметр | Описание |
---|---|
$ | Начало сообщения ‘$’ |
PUWV | UWV |
2 | Идентификатор сообщения |
txChID | Идентификатор канала передачи |
rxChID | Идентификатор канала приема (ожидания ответа) |
rcCmdID | Command ID (см. 4.2) |
* | Разделитель контрольной суммы NMEA |
hh | Контрольная сумма NMEA |
<CR><LF> | Конец сообщения |
Принята реакция удаленного абонента на кодовый запрос
Формат сообщения: $PUWV3,x,x.x,x.x,x.x,x.x,x.x*hh<CR><LF>
Поле/Параметр | Описание |
---|---|
$ | Начало сообщения ‘$’ |
PUWV | UWV |
3 | Идентификатор сообщения |
txChID | Идентификатор канала передачи, в котором был выполнен запрос |
rcCmdID | Идентификатор команды (см. 4.2) |
propTime | Время распространения сигнала, сек |
MSR | Mean main lobe to side-peak ratio, дБ |
Value | Запрошенное значение |
Azimuth | Горизонтальный угол прихода сигнала (Только для устройств uWAVE USBL, иначе поле пустое) |
* | Разделитель контрольной суммы NMEA |
hh | Контрольная сумма NMEA |
<CR><LF> | Конец сообщения |
Удаленный абонент не ответил за запрос
Формат сообщения: $PUWV4,x,x*hh<CR><LF>
Поле/Параметр | Описание |
---|---|
$ | Начало сообщения ‘$’ |
PUWV | UWV |
4 | Идентификатор сообщения |
txChID | Идентификатор канала передачи, в котором был выполнен запрос |
rcCmdID | Идентификатор команды (см. 4.2) |
* | Разделитель контрольной суммы NMEA |
hh | Контрольная сумма NMEA |
<CR><LF> | Конец сообщения |
Входящее кодовое сообщение от удаленного абонента
Формат сообщения: $PUWV5,x,x.x,x*hh<CR><LF>
Поле/Параметр | Описание |
---|---|
$ | Начало сообщения ‘$’ |
PUWV | UWV |
5 | Идентификатор сообщения |
rcCmdID | Command ID (see 4.2) |
MSR | Mean main lobe to side-peak ratio, дБ |
Azimuth | Горизонтальный угол прихода сигнала (Только для устройств uWAVE USBL, иначе поле пустое) |
* | Разделитель контрольной суммы NMEA |
hh | Контрольная сумма NMEA |
<CR><LF> | Конец сообщения |
Настройка выдачи параметров среды и питания Данное сообщение конфигурирует вывод модемом показаний встроенного датчика давления/температуры и напряжения питания. После настройки модем может передавать эти показания при помощи сообщения IC_D2H_AMB_DTA
Формат сообщения: $PUWV6,x,x,x,x,x,x*hh<CR><LF>
Поле/Параметр | Описание |
---|---|
$ | Начало сообщения ‘$’ |
PUWV | UWV |
6 | Идентификатор сообщения |
IsSaveToFlash | 1 - сохранить настройки во Flash, 0 - не сохранять |
PeriodMs | Период выдачи информации в миллисекундах, 0 - вывод показаний отключен, 1 - тандемный вывод (сразу после любого исходящего сообщения от устройства управляющей системе) или значение от 500 до 60000 (0.5 - 60 секунд) |
IsPressure | 1 - выводить показания датчика давления, 0 - не выводить |
IsTemperature | 1 - выводить показания датчика температуры, 0 - не выводить |
IsDepth | 1 - выводить глубину, 0 - не выводить |
IsVCC | 1 - выводить напряжение питания, 0 - не выводить |
* | Разделитель контрольной суммы NMEA |
hh | Контрольная сумма NMEA |
<CR><LF> | Конец сообщения |
Если параметр PeriodMs равен нулю, но как минимум один из признаков IsPressure/IsTemperature/IsDepth/IsVCC установлен, устройство однократно передаст указанные параметры.
Параметры среды и питания.
Формат сообщения: $PUWV7,x.x,x.x,x.x,x.x*hh<CR><LF>
Поле/Параметр | Описание |
---|---|
$ | Начало сообщения ‘$’ |
PUWV | UWV |
7 | Идентификатор сообщенияentifier |
Pressure_mBar | давление в мБар |
Temperature_C | температура в °C |
Depth_m | Глубина в метрах |
VCC_V | Напряжение питания в вольтах |
* | Разделитель контрольной суммы NMEA |
hh | Контрольная сумма NMEA |
<CR><LF> | Конец сообщения |
Получить информацию об устройстве. На это сообщение устройство отвечает сообщением IC_D2H_DINFO.
Формат сообщения: $PUWV?,x*hh<CR><LF>
Поле/Параметр | Описание |
---|---|
$ | Начало сообщения ‘$’ |
PUWV | UWV |
? | Идентификатор сообщения |
Reserved | Reserved |
* | Разделитель контрольной суммы NMEA |
hh | Контрольная сумма NMEA |
<CR><LF> | Конец сообщения |
Информация об устройстве
Формат сообщения: $PUWV!,c--c,с--с,x,c--c,x,x.x,x,x,x*hh<CR><LF>
Поле/Параметр | Описание |
---|---|
$ | Начало сообщения ‘$’ |
PUWV | UWV |
! | Идентификатор сообщения |
Serial number | Серийный номер устройства |
System moniker | Наименование системы |
System version | Версия |
Core moniker | Подсистема связи |
Core version | Версия подсистемы связи |
acBaudrate | Скорость передачи данных, бод |
rxChID | Идентификатор канала приема |
txChID | Идентификатор канала передачи |
maxChannels | Общее число доступных идентификаторов каналов |
styPSU | Соленость, PSU (задется пользователем) |
isPTS | ‘1’ - устройство имеет встроенный датчик давления/температуры, ‘0’ - не имеет |
isCmdMode | ‘1’ - командный режим по умолчанию, ‘0’ - командный режим управляется по сервисной жиле. |
* | Разделитель контрольной суммы NMEA |
hh | Контрольная сумма NMEA |
<CR><LF> | Конец сообщения |
Прочитать настройки пакетного режима. На этот запрос устройство отвечает сообщением IC_D2H_PT_SETTINGS.
Формат сообщения: $PUWVD,x*hh<CR><LF>
Поле/Параметр | Описание |
---|---|
$ | Начало сообщения ‘$’ |
PUWV | UWV |
D | Идентификатор сообщения |
reserved | Поле должно содержать ‘0’ |
* | Разделитель контрольной суммы NMEA |
hh | Контрольная сумма NMEA |
<CR><LF> | Конец сообщения |
Настройки пакетного режима.
Формат сообщения: $PUWVE,x,x*hh<CR><LF>
Поле/Параметр | Описание |
---|---|
$ | Начало сообщения ‘$’ |
PUWV | UWV |
E | Идентификатор сообщения |
isPTMode | ‘0’ - пакетный режим неактивен, ‘1’ - пакетный режим активен. Начиная с версии прошивки 1.20 не используется - для передачи в пакетном режиме модему достаточно быть в командном режиме, а прием пакетного сообщения возможнен независимо от режима, в котором находится модем |
ptLocalAddress | Адрес локального модема в пакетном режиме, 0 .. 254 |
* | Разделитель контрольной суммы NMEA |
hh | Контрольная сумма NMEA |
<CR><LF> | Конец сообщения |
Настройки пакетного режима. На этот запрос устройство отвечает сообщением IC_D2H_PT_SETTINGS.
Формат сообщения: $PUWVF,x,x,x*hh<CR><LF>
Поле/Параметр | Описание |
---|---|
$ | Начало сообщения ‘$’ |
PUWV | UWV |
F | Идентификатор сообщения |
isSaveInFlash | ‘0’ - не сохранять настройки во флеш, ‘1’ - сохранять настройки во флеш |
isPTMode | ‘0’ - пакетный режим неактивен, ‘1’ - пакетный режим активен. Начиная с версии прошивки 1.20 не используется - для передачи в пакетном режиме модему достаточно быть в командном режиме, а прием пакетного сообщения возможнен независимо от режима, в котором находится модем |
ptLocalAddress | Адрес локального модема в пакетном режиме 0 .. 254 |
* | Разделитель контрольной суммы NMEA |
hh | Контрольная сумма NMEA |
<CR><LF> | Конец сообщения |
Послать пакет данных.
Формат сообщения: $PUWVG,x,x,h--h*hh<CR><LF>
Поле/Параметр | Описание |
---|---|
$ | Начало сообщения ‘$’ |
PUWV | UWV |
G | Идентификатор сообщения |
target_ptAddress | Адрес удаленного модема, 0 .. 254, 255 - широковещательное сообщение без уведомления о получении |
maxTries | Максимальное число попыток, 0 .. 255. Если поле пустое, то будет использовано максимальное число попыток по умолчанию - 255 |
dataPacket | массив байт в HEX-формате с префиксом ‘0x’, например для строки ‘123’ 0x313233. Максимальный размер пакета 64 байта. Если поле пустое, то текущая передача будет отменена. |
* | Разделитель контрольной суммы NMEA |
hh | Контрольная сумма NMEA |
<CR><LF> | Конец сообщения |
Передача пакета данных не увенчалась успехом.
Формат сообщения: $PUWVH,x,x,h--h*hh<CR><LF>
Поле/Параметр | Описание |
---|---|
$ | Начало сообщения ‘$’ |
PUWV | UWV |
H | Идентификатор сообщения |
target_ptAddress | Адрес удаленного модема, 0 .. 254 |
maxTries | Предпринятое число попыток |
dataPacket | Массив байт в HEX-формате с префиксом ‘0x’, например для строки ‘123’ 0x313233. Максимальный размер пакета 64 байта. |
* | Разделитель контрольной суммы NMEA |
hh | Контрольная сумма NMEA |
<CR><LF> | Конец сообщения |
Пакет данных успешно передан.
Формат сообщения: $PUWVI,x,x,x.x,h--h*hh<CR><LF>
Поле/Параметр | Описание |
---|---|
$ | Начало сообщения ‘$’ |
PUWV | UWV |
I | Идентификатор сообщения |
target_ptAddress | Адрес удаленного модема, 0 .. 254 |
maxTries | Предпринятое число попыток |
azimuth | Горизонтальный угол прихода сигнала, только для устройств uWAVE USBL, в остальных случаях поле пустое |
dataPacket | Массив байт в HEX-формате с префиксом ‘0x’, например для строки ‘123’ 0x313233. Максимальный размер пакета 64 байта. |
* | Разделитель контрольной суммы NMEA |
hh | Контрольная сумма NMEA |
<CR><LF> | Конец сообщения |
Принят пакет данных.
Формат сообщения: $PUWVJ,x,x.x,,h--h*hh<CR><LF>
Поле/Параметр | Описание |
---|---|
$ | Начало сообщения ‘$’ |
PUWV | UWV |
J | Идентификатор сообщения |
sender_ptAddress | Адрес удаленного модема (отправителя), 0 .. 254 |
azimuth | Горизонтальный угол прихода сигнала, только для устройств uWAVE USBL, в остальных случаях поле пустое |
dataPacket | Массив байт в HEX-формате с префиксом ‘0x’, например для строки ‘123’ 0x313233. Максимальный размер пакета 64 байта. |
* | Разделитель контрольной суммы NMEA |
hh | Контрольная сумма NMEA |
<CR><LF> | Конец сообщения |
Запрос удаленного абонента с логической адресацией.
Формат сообщения: $PUWVK,x,x*hh<CR><LF>
Поле/Параметр | Описание |
---|---|
$ | Начало сообщения ‘$’ |
PUWV | UWV |
K | Идентификатор сообщения |
target_ptAddress | Адрес удаленного модема, 0 .. 254 |
dataID | Идентификатор запрашиваемого параметра (0 - глубина, 1 - температура, 2 - напряжение питания) |
* | Разделитель контрольной суммы NMEA |
hh | Контрольная сумма NMEA |
<CR><LF> | Конец сообщения |
Превышение интервала ожидания ответа на запрос с логической адресацией.
Формат сообщения: $PUWVL,x,x*hh<CR><LF>
Поле/Параметр | Описание |
---|---|
$ | Начало сообщения ‘$’ |
PUWV | UWV |
L | Идентификатор сообщения |
target_ptAddress | Адрес удаленного модема, 0 .. 254 |
dataID | Идентификатор запрошенного параметра (0 - глубина, 1 - температура, 2 - напряжение питания) |
* | Разделитель контрольной суммы NMEA |
hh | Контрольная сумма NMEA |
<CR><LF> | Конец сообщения |
Ответ удаленного абонента с логической адресацией.
Формат сообщения: $PUWVM,x,x,x.x,x.x,x.x*hh<CR><LF>
Поле/Параметр | Описание |
---|---|
$ | Начало сообщения ‘$’ |
PUWV | UWV |
M | Идентификатор сообщения |
target_ptAddress | Адрес удаленного модема, 0 .. 254 |
dataID | Идентификатор запрошенного параметра (0 - глубина, 1 - температура, 2 - напряжение питания) |
dataValue | Значение запрошенного параметра |
pTime | Время распространения сигнала, сек |
azimuth | Горизонтальный угол прихода сигнала, °. Только для устройств uWAVE USBL, в остальных случаях поле пустое |
* | Разделитель контрольной суммы NMEA |
hh | Контрольная сумма NMEA |
<CR><LF> | Конец сообщения |
Только для устройств uWAVE USBL Настройка вывода данных о крене и дифференте.
Формат сообщения: $PUWV8,x,x*hh<CR><LF>
Поле/Параметр | Описание |
---|---|
$ | Начало сообщения ‘$’ |
PUWV | UWV |
8 | Идентификатор сообщения |
IsSaveToFlash | 1 - сохранить настройки во Flash, 0 - не сохранять |
PeriodMs | Период выдачи информации в миллисекундах, 0 - вывод показаний отключен, 1 - тандемный вывод (сразу после любого исходящего сообщения от устройства управляющей системе) или значение от 500 до 60000 (0.5 - 60 секунд) |
* | Разделитель контрольной суммы NMEA |
hh | Контрольная сумма NMEA |
<CR><LF> | Конец сообщения |
Только для устройств uWAVE USBL Данные о крене и дифференте.
Формат сообщения: $PUWV9,x.x,x.x,x.x*hh<CR><LF>
Поле/Параметр | Описание |
---|---|
$ | Начало сообщения ‘$’ |
PUWV | UWV |
9 | Идентификатор сообщения |
reserved | Поле зарезервировано и оставлено пустым |
Pitch | Значение крена в градусах |
Roll | Значение дифферента в градусах |
* | Разделитель контрольной суммы NMEA |
hh | Контрольная сумма NMEA |
<CR><LF> | Конец сообщения |
Поддерживается с версии 1.30
Запрос настроек режима AUTO QUERY / PINGER.
Формат сообщения: $PUWVN,x*hh<CR><LF>
Поле/Параметр | Описание |
---|---|
$ | Начало сообщения ‘$’ |
PUWV | UWV |
N | Идентификатор сообщения |
reserved | Поле зарезервировано и оставлено пустым |
* | Разделитель контрольной суммы NMEA |
hh | Контрольная сумма NMEA |
<CR><LF> | Конец сообщения |
Поддерживается с версии 1.30 Сообщения для задания настроек режима AUTO QUERY / PINGER. Это же сообщение используется устройством для уведомления пользователя об успешном изменении настроек данного режима.
Настройка периода относится только к режиму пингер. Идентификаторы кодовых каналов приема и передачи используются только если IsPT = 0. PTTargetAddress используется только в режиме мастера и если IsPT = 1.
Формат сообщения: $PUWVO,x,x,x,x,x,x,x,x*hh<CR><LF>
Поле/Параметр | Описание |
---|---|
$ | Начало сообщения ‘$’ |
PUWV | UWV |
O | Идентификатор сообщения |
IsSaveToFlash | 1 - сохранить настройки во Flash, 0 - не сохранять |
AQPNG_Mode | 0 - Режим неактивен, 1 - пингер, 2 - мастер (автозапрос) |
PeriodMs | Период для режима пингера в миллисекундах, значение от 2000 до 300000 (2 секунды - 5 минут) |
RcTxID | Идентификатор канала передачи для командного режима |
RcRxID | Идентификатор канала приема для командного режима |
DataID | 0 - глубина, 1 - температура, 2 - напряжение питания, 3 - все три в цикле |
IsPT | 0 - работа в командном режиме, 1 - работа с пакетными запросами |
PTTargetAddress | Адрес целевого абонента в пакетном режиме (для режима Мастер) |
* | Разделитель контрольной суммы NMEA |
hh | Контрольная сумма NMEA |
<CR><LF> | Конец сообщения |
В режиме прозрачного канала устройства не анализируют приходящие от управляющей системы данные и без изменений транслируют их в гидроакустический канал, где они могут быть приняты любым другим модемом uWave, ведущим прием в таком же кодовом канале, в каком производилась передача. При условии, что у принимающего модема не активирован режим пакетной передачи.
Модемы uWave предоставляют пользователю т.н. “прозрачный канал”, когда все данные, подаваемые устройству на вход, без изменений и их анализа передаются в гидроакустический канал, после чего принимаются другим модемом и в неизменном виде отдаются пользователю на приемной стороне. В связи с этим, для того, чтобы иметь возможность производить настройку модемов, а также измерять время распространения до удаленных абонентов существует командный режим. Модемы анализируют входные данные только в командном режиме. Для перехода в командный режим, жила SVC/CMD должна быть притянута к +3.3 V. После этого, для выхода из командного режима жила “service” должна быть притянута к земле. Также командный режим может быть включен по умолчанию при помощи сообщения IC_H2D_SETTINGS_WRITE, когда параметр isCmdMode = 1, при этом, начиная с версии прошивки 1.30 жила SVC/CMD становится выходной цифровой линией, переходящей в высокое логическое состояние синхронно с началом излучения сигнала модемом и через 500 мс после обнаружения начала входящего сообщения. Для возврата к управлению по уровню на жиле service, также можно воспользоваться сообщением IC_H2D_SETTINGS_WRITE с параметром isCmdMode = 0.
В командном режиме устройства позволяют передавать короткие кодовые запросы другим устройствам: запрашивать глубину, температуру, напряжение питания удаленного модема и передавать 8 пользовательских команд. Кодовые запросы имеют фиксированные длины запросных и ответных сигналов, что позволяет запрашивающей системе определять время распространения (и наклонную дальность) до запрашиваемой системы. Удаленный модем принимает и обрабатывает кодовый запрос независимо от того, в каком режиме он находится, что снимает с пользовательской системы необходимость контролировать состояние удаленного модема.
ВНИМАНИЕ! Жила SVC/CMD притягивается ТОЛЬКО к 3-5 V или земле, подключение ее к более высокому напряжению вызовет НЕУСТРАНИМУЮ и НЕ ГАРАНТИЙНУЮ поломку устройства.
ВНИМАНИЕ! Перед включением устройства, жила SVC/CMD должна быть притянута к земле, иначе устройство войдет в режим обновления программного обеспечения.
Ниже представлены схемы включения и выключения командного режиме при помощи жилы SVC/CMD в случае сопряжения модема с ПК посредством преобразователя интерфейса UART-USB.
Подключение модема к USB-порту ПК при помощи конвертера интерфейса. Командный режим выключен |
Подключение модема к USB-порту ПК при помощи конвертера интерфейса. Командный режим включен |
Пакетный режим предоставляет пользователю возможность осуществлять передачу данных пакетами размером до 64 байт с гарантированной доставкой (ALO - at-least-once, гарантируется, что сообщение будет передано как минимум 1 раз) и уведомлением о получении а также запросы параметров с одномременным измерением времени распространения сигнала. Так как взаимодействие модема с пользовательской системой в пакетном режиме реализовано при помощи сообщений в формате NMEA0183, то для работы в этом режиме и предающее и принимающее устройства должны быть переведены в командный режим. В пакетном режиме адресуется до 255 устройств (адреса от 0 до 254, адрес 255 назначен для передачи широковещательных сообщений без уведомления). Пользователю доступны следующие функции:
Для взаимодействия с модемом в пакетном режиме предназначены команды с 2.11. IC_H2D_PT_SETTINGS_READ по 2.17. IC_D2H_PT_RCVD.
После передачи данных в пакетном режиме, отправляющий модем ожидает от адресата короткое кодовое сообщение ACK, при получении такового уведомляет пользователя об успешной передаче или повторяет передачу до тех пор, пока не будет получен ответ от адресата или не будет превышено число попыток.
Ошибка | Значение | Описание |
---|---|---|
LOC_ERR_NO_ERROR | 0 | Запрос принят |
LOC_ERR_INVALID_SYNTAX | 1 | Ошибка синтаксиса |
LOC_ERR_UNSUPPORTED | 2 | Запрос не поддерживается |
LOC_ERR_TRANSMITTER_BUSY | 3 | Передатчик занят |
LOC_ERR_ARGUMENT_OUT_OF_RANGE | 4 | Указанный параметр вне допустимого диапазона |
LOC_ERR_INVALID_OPERATION | 5 | Неверный запрос |
LOC_ERR_UNKNOWN_FIELD_ID | 6 | Неизвестный идентификатор |
LOC_ERR_VALUE_UNAVAILIBLE | 7 | Запрошенный параметр недоступен в данный момент |
LOC_ERR_RECEIVER_BUSY | 8 | Приемник занят (ожидается ответ удаленной системы) |
LOC_ERR_TX_BUFFER_OVERRUN | 9 | Буфер передатчика полон |
LOC_ERR_CHKSUM_ERROR | 10 | Ошибка контрольной суммы |
LOC_ACK_TX_FINISHED | 11 | Акустический передатчик закончил передачу сообщения |
LOC_ACK_BEFORE_STANDBY | 12 | Устройство переходит в режим STAND-BY |
LOC_ACK_AFTER_WAKEUP | 13 | Устройство вышло из режима STAND-BY |
LOC_ERR_SVOLTAGE_TOO_HIGH | 14 | Напряжение питание слишком высоко (более 13 вольт) и усилитель мощности не будет использоваться во избежание его выхода из строя |
Команда | Значение | Описание |
---|---|---|
RC_PING | 0 | Ping |
RC_PONG | 1 | Pong |
RC_DPT_GET | 2 | Запрос глубины удаленного абонента |
RC_TMP_GET | 3 | Запрос температуры Value удаленного абонента |
RC_BAT_V_GET | 4 | Запрос напряжения питания удаленного абонента |
RC_ERR_NSUP | 5 | Удаленная система ответила - запрос не поддерживается |
RC_ACK | 6 | Удаленная система ответила - запрос принят |
RC_USR_CMD_000 | 7 | Пользовательская команда |
RC_USR_CMD_001 | 8 | Пользовательская команда |
RC_USR_CMD_002 | 9 | Пользовательская команда |
RC_USR_CMD_003 | 10 | Пользовательская команда |
RC_USR_CMD_004 | 11 | Пользовательская команда |
RC_USR_CMD_005 | 12 | Пользовательская команда |
RC_USR_CMD_006 | 13 | Пользовательская команда |
RC_USR_CMD_007 | 14 | Пользовательская команда |
RC_USR_CMD_008 | 15 | Пользовательская команда |
RC_MSG_ASYNC_IN | 16 | Входящее сообщение в режиме прозрачного канала |
В приведенных примерах, перед командами, посылаемыми в устройство, располагается префикс <<
, а перед командами, приходящими из
устройства - префикс >>
.
Подразумевается, что устройство подключено к управляющей системе и включен командный режим.
<< $PUWV?,0*27<CR><LF>
PUWV? = IC_H2D_DINFO_GET
>> $PUWV!,3A001E000E51363437333330,STRONG,256,uWAVE [JULY],257,78.27,0,0,28,0.0,1,0*18<CR><LF>
PUWV! = IC_D2H_DINFO
3A001E000E51363437333330 = серийный номер,
STRONG = наименование системы
256 = 0x0100 версия системы 01.00
uWAVE [JULY] = наименование подсистемы связи,
257 = 0x0101 версия подсистемы связи 01.01
78.27 = скорость передачи данных по гидроакустическому каналу, бит/с
0 = идентификатор канала передачи
0 = идентификатор канала приема
28 = общее число доступных кодовых каналов
0.0 = соленость, PSU
1 = встроенный датчик давления/температуры присутствует и исправен
0 = командный режим по умолчанию отключен
<< $PUWV2,0,0,2*28
PUWV2 = IC_H2D_RC_REQUEST
0 = Идентификатор канала передачи (идентификатор канала приема адресата)
0 = Идентификатор канала приема (идентификатор канала передачи адресата)
2 = Request ID = RC_DPT_GET
>> $PUWV0,2,0*36
PUWV0 = IC_D2H_ACK
2 = ACK на запрос PUWV2
0 = Error code = LOC_ERR_NO_ERROR
>> $PUWV3,0,2,0.00020,22.75,0.000,*1B
PUWV3 = IC_D2H_RC_RESPONSE
0 = идентификатор канала приема удаленного абонента
2 = Request ID = RC_DPT_GET
0.00020 = время распространения сигнала, сек
22.75 = MSR (Main lobe to side-peak ratio), дБ
0.000 = принятое значение (в данном случае глубина удаленного модема в метрах)
<< $PUWV2,0,0,3*29
PUWV2 = IC_H2D_RC_REQUEST
0 = Идентификатор канала передачи (идентификатор канала приема адресата)
0 = Идентификатор канала приема (идентификатор канала передачи адресата)
3 = Request ID = RC_TMP_GET
>> $PUWV0,2,0*36
PUWV0 = IC_D2H_ACK
2 = ACK на запрос PUWV2
0 = Error code = LOC_ERR_NO_ERROR
>> $PUWV3,0,3,0.00030,26.31,27.300,*29
PUWV3 = IC_D2H_RC_RESPONSE
0 = идентификатор канала приема удаленного абонента
2 = Request ID = RC_TMP_GET
0.00030 = вермя распространения, сек
26.31 = MSR (Main lobe to side-peak ratio), дБ
27.300 = принятое значение (в данном случае температура удаленного абонента в °C)
<< $PUWV6,0,1000,1,1,1,1*03<CR><LF>
PUWV6 = IC_H2D_AMB_DTA_CFG
0 = isSaveToFlash = false
1000 = передавать данные каждый 1000 мсек
1 = isPressure = true
1 = isTemperature = true
1 = isDepth = true
1 = isVCC = true
>> $PUWV0,6,0*32<CR><LF>
PUWV0 = IC_D2H_ACK
6 = ACK на запрос PUWV6
0 = Error code = LOC_ERR_NO_ERROR
>> $PUWV7,1025.2,29.9,-0.014,5.0*18
. . .
>> $PUWV7,1026.3,29.9,-0.002,5.0*1D
PUWV7 = IC_D2H_AMB_DTA
1026.3 = давление, мБар
29.9 = температура, °C
-0.002 = глубина, m
5.0 = напряжение питания, V
<< $PUWV6,0,0,0,0,0,0*32
PUWV6 = IC_H2D_AMB_DTA_CFG
0 = isSaveToFlash = false
0 = не передавать данные
0 = isPressure = false
0 = isTemperature = false
0 = isDepth = false
0 = isVCC = false
>> $PUWV0,6,0*32
PUWV0 = IC_D2H_ACK
6 = ACK на запрос PUWV6
0 = Код ошибки = LOC_ERR_NO_ERROR
<< $PUWVF,1,1,0*5E<CR><LF>
PUWVF = IC_H2D_PT_SETTINGS_WRITE
1 = Сохранить настройки во флеш = true
1 = Пакетный режим включен = true
0 = Адрес локального устройства = 0
>> $PUWVE,1,0*40
PUWVE = IC_D2H_PT_SETTINGS
1 = Пакетный режим включен
0 = Адрес локального устройства
<< $PUWVG,0,8,0x313233*2C
PUWVG = IC_H2D_PT_SEND
0 = Целевой адрес
8 = Максимальное число попыток
0x313233 = массив их трех байт (‘123’)
>> $PUWV0,G,0*43
PUWV0 = IC_D2H_ACK
G = ACK на запрос PUWVG
0 = Error code = LOC_ERR_NO_ERROR
$PUWVI,0,1,,0x313233*07
PUWVI = IC_D2H_PT_DLVRD
0 = адресат
1 = число предпринятых попыток
пустое поле - устройство не поддерживает определение горизонтального угла прихода сигнала
0x313233 = массив их трех байт (‘123’)
Подразумевается, что устройство подключено к управляющей системе и включен командный режим. Сообщения можно скопировать и послать в модем, дополнив символами
Задание основных настроек по умолчанию
$PUWV1,0,0,0.,0,0,9.8067*35
Отключение автоматической передачи всех параметров среды и напряжения питания с сохранением настроек во флеш.
$PUWV6,0,0,0,0,0,0*32
Включение автоматической передачи всех параметров среды и напряжения питания 1 раз в секунду без сохранения этих настроек во флеш.
$PUWV6,0,1000,1,1,1,1*03
Включение автоматической передачи всех параметров среды и напряжения питания после любого исходящего от модема сообщения без сохранения настроек во флеш.
$PUWV6,0,1,1,1,1,1*33
Включение автоматической передачи только глубины локального модема после любого исходящего от модема сообщения без сохранения настроек во флеш.
$PUWV6,0,1,0,0,1,0*32
Запросить глубину удаленного модема с идентификаторами приемного и передающего каналов 0.
$PUWV2,0,0,2*28