Sokol-M1 + Modbus

Общая информация
При работе со станцией Сокол-М1 данные можно получать не только через GSM-связь или при прямом подключении по USB, но и выполнять опрос с помощью сторонних программ и различных преобразователей RS-485.
Ниже представлена инструкция по настройке, подключению и опросу станции с использованием преобразователя интерфейсов RS-485, а также по опросу через Modbus.
Настройка станции для работы по Modbus
Для того, чтобы подключить метеостанцию для опроса по Modbus через компьютер или стороннее оборудование/программу через RS-485 преобразователь, следует настроить саму станцию.
Установите конфигуратор Sokol CFG, а также файлы системных компонентов и библиотек от Microsoft при необходимости. Драйвера можно найти в папке с конфигуратором Sokol CFG или скачать по данной ссылке.При установке данных файлов должно выйти сообщение. “RuntimePack установлен!”
Также для корректного подключения станции по USB и последующей конфигурации необходимо установить драйверы.
Ссылка на скачивание драйверов для станции Сокол-М1
При подключении USB кабеля от станции к компьютеру, устройство должно определиться, как STMicroelectronics Virtual COM Port:


Если порт создается, но помечается восклицательным знаком - либо станция разряжена и для работы СОМ порта не хватает питания, либо необходимо сменить USB разъем, переподключить его несколько раз. Не подключать станцию через USB hub.
Запустите Конфигуратор Сокол Метео, выберите соответствующий COM порт и нажмите “Открыть порт”. Введите пароль, нажав на кнопку “Ввести пароль”. Пароль по умолчанию - 222.

Далее выберите “Канал передачи” MB Only или GSM.
Внимание! В прошивке 1.3.5 и новее следует установить галочку “Не засыпать”.
После этого нажмите на кнопку “Установить”.

По умолчанию на станции установлен "1 сетевой адрес". Вы можете изменить его или проверить в конфигураторе во вкладке "Сервер".

Подключение станции. Питание. Распиновка.
Питание станции
Для корректной работы станции по Modbus необходимо убедиться в следующих моментах подключения:
- Питание станции. Обязательно поверните ключ следующим образом: из положения OFF в ON, затем снова в OFF и еще раз в ON. Также должно быть подключено внешнее питание станции.

Опрос станции по Modbus без внешнего источника питания невозможен. Убедитесь, что станция подключена к внешнему источнику.
Цоколевка разъема питания 8-25 VDC
| Номер контакта | Цепь | Цвет провода |
| 1 | +12 | коричневый |
| 2 | GND | синий |

Modbus подключение станции
После этого вам необходимо подключить станцию к преобразователю RS-485 (например: C200M2 или Bolid), ко входу Modbus станции. Вы можете использовать любой другой преобразователь RS-485 соблюдая распиновку.
Распиновка провода Modbus станции следующая:
| Номер контакта | Цепь | Цвет провода |
| 1 | A | желто-зеленый |
| 2 | B | коричневый |
| 3 | GND | синий |
Возможна альтернативная распиновка:
- Оранжевый - Линия А;
- Белый - Линия Б;
- Бело-зеленый - GND (земля)

Распиновка и подключение преобразователей RS-485 (С200М2)
Для корректной работы станции через преобразователь RS-485 C200M2 или Bolid необходимо убедиться в правильности подключения проводов и соблюдении распиновки. Также необходимо установить корректные драйверы для определения преобразователей в системе компьютера.
Драйверы для преобразователя C200M2
После корректной установки драйверов преобразователь будет отображаться в разделе диспетчер устройств в следующем виде:

Распиновка и цвет изоляции проводов преобразовтеля C200M2:


Распиновка и подключение преобразователей RS-485 (BOLID)
Bolid C2000-USB - ссылка на скачивание драйверов.
Установите необходимые драйвера, в зависимости от вашей операционной системы.

После корректной установки драйверов преобразователь будет отображаться в COM-Портах в следующем виде:

Диспетчер устройств, название драйвера BOLID:

Пример опроса станции по Modbus
Производить опрос станции при помощи команды можно через любую приспособленную для этого программу.
По интерфейсу RS-485, через Modbus можно производить опрос станции используя следующие характеристики/настройки:
Протокол - LLS
Скорость передачи данных - 19200 kbps
Data size - 8 bits
Проверка на четность: отсутствует
Стоп-биты - 1
В качестве примера опроса мы будем использовать программу Terminal.exe
Команда опроса: 01 03 00 00 00 5A C5 F1
01 – адрес
03 – код команды
00 00 – номер регистра, начиная с которого запрашивается количество регистров
00 5А – количество запрашиваемых регистров (5А – 90 регистров)
С5 F1 – CRC-16 Modbus с обратным порядком байтов;

Ответ:
01 03 B4 82 80 00 00 00 00 09 A1 27 1D 00 19 00 00 01 01 00 1D 00 00 00 92 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 01 10 0E 03
01 (адрес) 03 (команда) B4 (кол-во байт – 180 или 90 регистров)
- 82 80 – прошивка (82-1.3.0) и тип устройства+номер банка регистров+наличие ошибки в работе сенсоров (подробнее в 90-м регистре)
- 00 00 - старшие 16 разрядов UNIX TIME
- 00 00 - младшие 16 разрядов UNIX TIME
- 09 A1 - температура беззнаковое; разрешение 0,01 град, т.е. 09A1 – 2465 или 24.65°С
- 27 1D - атмосферное давление беззнаковое; разрешение 10Ра; 271D – 10013 т.е. 100130 Па
- 00 19 - относительная влажность беззнаковое; разрешение 1%; 19 – 25%
- 00 00 - скорость ветра беззнаковое; разрешение 0.01 m/s
- 01 01 - направление ветра беззнаковое; разрешение 1 град; 101 – 257°
- 00 1D - Уровень осадков беззнаковое; разрешение 0.1 мм; 2.9
- 00 00 - Уровень ультрафиолетового излучения беззнаковое; разрешение 0.01 W/m2
- 00 92 - Уровень освещенности беззнаковое; разрешение 1 lux; 92 - 146
- 00 00 - скорость ветра УЗ анемометра беззнаковое; разрешение 0.01 m/s
- 00 00 - направление ветра УЗ анемометра беззнаковое; разрешение 1 град.
- 00 00 - Расстояние до препятствия (снежный покров) беззнаковое; разрешение 1 см. ДГВ должен иметь сетевой адрес 160
- 00 00 - Солнечная радиация беззнаковое; разрешение 1 Вт/м2. Пиргелиометр должен иметь сетевой адрес 181
- 00 00 - БМВД1
- 00 00
- 00 00
- 00 00
- 00 00
- 00 00
- 00 00
- 00 00 - БМВД2
- 00 00
- 00 00
- 00 00
- 00 00
- 00 00
- 00 00
- 00 00 - БМВД3
- 00 00
- 00 00
- 00 00
- 00 00
- 00 00
- 00 00
- 00 00 - БМВД4
- 00 00
- 00 00
- 00 00
- 00 00
- 00 00
- 00 00
- 00 00 - БМВД5
- 00 00
- 00 00
- 00 00
- 00 00
- 00 00
- 00 00
- 00 00 - БМВД6
- 00 00
- 00 00
- 00 00
- 00 00
- 00 00
- 00 00
- 00 00 - БМВД7
- 00 00
- 00 00
- 00 00
- 00 00
- 00 00
- 00 00
- 00 00 - БМВД8
- 00 00
- 00 00
- 00 00
- 00 00
- 00 00
- 00 00
- 00 00 - Пыль 2,5 мкм беззнаковое; разрешение
- 00 00 - Пыль 10 мкм беззнаковое; разрешение 00 00
- 00 00 - уровень СО2 беззнаковое; разрешение
- 00 00 - уровень СО беззнаковое; разрешение
- 00 00 - уровень NO беззнаковое; разрешение
- 00 00 - уровень NO2 беззнаковое; разрешение
- 00 00 - уровень SO2 беззнаковое; разрешение
- 00 00 - уровень H2S беззнаковое; разрешение
- 00 00 - уровень HCN беззнаковое; разрешение
- 00 00 - уровень NH3 беззнаковое; разрешение
- 00 00 - уровень CH2O беззнаковое; разрешение
- 00 00 - резерв 1
- 00 00 - резерв 2
- 00 00 - резерв 3
- 00 00 - резерв 4
- 00 00 - резерв 5
- 00 00 - резерв 2
- 00 06 - флаги выгрузки черного ящика
- 01 10 - events
0E 03 – CRC-16 modbus
Если в команде указать другой регистр, начиная с которого нужно выгрузить данные, и указать другое количество запрашиваемых регистров, то в ответе будет содержаться меньшее количество регистров.
Например:

Запрос 10 регистров, следующих за 5-м
Запрос:
01 03 00 05 00 0A D5 CC
01 – адрес
03 – команда
00 05 – запрос выдать регистры после 5-го, т.е. в ответе будут регистры начиная с 6го
00 0А – запрос выдать 10 регистров
D5 CC – контрольная сумма (обратный порядок байтов)
Ответ:
01 03 14 00 19 00 00 01 01 00 00 00 00 00 8D 00 00 00 00 00 00 00 00 81 FF
01 адрес
03 команда
14 количество байт – 20, т.е 10 регистров
00 19 - влажность
00 00 - скорость ветра
01 01 - направление ветра
00 00 - Уровень осадков беззнаковое; разрешение 0.1 мм; 2.9
00 00 - Уровень ультрафиолетового излучения беззнаковое; разрешение 0.01 W/m2
00 8D - Уровень освещенности беззнаковое; разрешение 1 lux; 92 - 146
00 00 - скорость ветра УЗ анемометра беззнаковое; разрешение 0.01 m/s
00 00 - направление ветра УЗ анемометра беззнаковое; разрешение 1 град.
00 00 - Расстояние до препятствия (снежный покров) беззнаковое; разрешение 1 см. ДГВ должен иметь сетевой адрес 160
00 00 - Солнечная радиация беззнаковое; разрешение 1 Вт/м2. Пиргелиометр должен иметь сетевой адрес 181
81 FF – контрольная сумма
Полезные ссылки
Разбор строки опроса станции по Modbus