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 регистров)
(Расшифровка ответа для станций с версией прошивки ниже 1.4.5)
0. 82 80 – прошивка (82-1.3.0) и тип устройства+номер банка регистров+наличие ошибки в работе сенсоров (Техническая информация, предназначенная для разработчиков устройства)
1. 00 00 - старшие 16 разрядов UNIX TIME
2. 00 00 - младшие 16 разрядов UNIX TIME
3. 09 A1 - температура беззнаковое; разрешение 0,01 град, т.е. 09A1 – 2465 или 24.65°С
4. 27 1D - атмосферное давление беззнаковое; разрешение 10Ра; 271D – 10013 т.е. 100130 Па
5. 00 19 - относительная влажность беззнаковое; разрешение 1%; 19 – 25%
6. 00 00 - скорость ветра беззнаковое; разрешение 0.01 m/s
7. 01 01 - направление ветра беззнаковое; разрешение 1 град; 101 – 257°
8. 00 1D - Уровень осадков (встроенного датчика на станции) беззнаковое; разрешение 0.01 мм; 0.29
9. 00 00 - Уровень ультрафиолетового излучения (встроенного датчика на станции) беззнаковое; разрешение 0.01 W/m2
10. 00 92 - Уровень освещенности беззнаковое; разрешение 1 lux; 92 - 146
11. 00 00 - скорость ветра УЗ анемометра беззнаковое; разрешение 0.01 m/s
12. 00 00 - направление ветра УЗ анемометра беззнаковое; разрешение 1 град.
13. 00 00 - Расстояние до препятствия (снежный покров) беззнаковое; разрешение 1 см. ДГВ должен иметь сетевой адрес 160
14. 00 00 - Солнечная радиация беззнаковое; разрешение 1 Вт/м2. Пиргелиометр должен иметь сетевой адрес 181
15. 00 00 - БМВД1
16. 00 00
17. 00 00
18. 00 00
19. 00 00
20. 00 00
21. 00 00
22. 00 00 - БМВД2
23. 00 00
24. 00 00
25. 00 00
26. 00 00
27. 00 00
28. 00 00
29. 00 00 - БМВД3
30. 00 00
31. 00 00
32. 00 00
33. 00 00
34. 00 00
35. 00 00
36. 00 00 - БМВД4
37. 00 00
38. 00 00
39. 00 00
40. 00 00
41. 00 00
42. 00 00
43. 00 00 - БМВД5
44. 00 00
45. 00 00
46. 00 00
47. 00 00
48. 00 00
49. 00 00
50. 00 00 - БМВД6
51. 00 00
52. 00 00
53. 00 00
54. 00 00
55. 00 00
56. 00 00
57. 00 00 - БМВД7
58. 00 00
59. 00 00
60. 00 00
61. 00 00
62. 00 00
63. 00 00
64. 00 00 - БМВД8
65. 00 00
66. 00 00
67. 00 00
68. 00 00
69. 00 00
70. 00 00
71. 00 00 - Пыль 2,5 мкм беззнаковое; разрешение
72. 00 00 - Пыль 10 мкм беззнаковое; разрешение
73. 00 00 - уровень СО2 беззнаковое; разрешение
74. 00 00 - уровень СО беззнаковое; разрешение
75. 00 00 - уровень NO беззнаковое; разрешение
76. 00 00 - уровень NO2 беззнаковое; разрешение
77. 00 00 - уровень SO2 беззнаковое; разрешение
78. 00 00 - уровень H2S беззнаковое; разрешение
79. 00 00 - уровень HCN беззнаковое; разрешение
80. 00 00 - уровень NH3 беззнаковое; разрешение
81. 00 00 - уровень CH2O беззнаковое; разрешение
82. 00 00 - ошибки в измерении погодных условий (heahter Errors)
83. 00 00 - резерв 2
84. 00 00 - резерв 3
85. 00 00 - резерв 4
86. 00 00 - резерв 5
87. 00 00 - средняя скорость ветра за 10 мин
88. 00 06 - порыв ветра за 10 мин
89. 01 10 - **events (Техническая информация, предназначенная для разработчиков устройства)**
0E 03 – CRC-16 modbus
(Расшифровка ответа для станций с версией прошивки 1.4.5 и выше)
| Номер регистра | Описание параметра |
| 0 | прошивка и тип устройства+номер банка регистров+наличие ошибки в работе сенсоров (Техническая информация, предназначенная для разработчиков устройства) |
| 1 | старшие 16 разрядов UNIX TIME |
| 2 | младшие 16 разрядов UNIX TIME |
| 3 | температура знаковое разрешение 0,01 град. Значение “2457” равно 24,57 град |
| 4 | атмосферное давление беззнаковое разрешение 10Ра. Значение “10074” равно 100740 Pa |
| 5 | относительная влажность беззнаковое разрешение 1% |
| 6 | скорость ветра беззнаковое разрешение 0.01 m/s. Значение “256” равно 2.56 m/s |
| 7 | направление ветра беззнаковое разрешение 1 град |
| 8 | Уровень осадков беззнаковое разрешение 0.1 мм. Значение “29” равно 2.9 мм |
| 9 | Уровень ультрафиолетового излучения (встроенного датчика на станции) беззнаковое; разрешение 0.01 W/m2 Значение “456” равно 4.56 W/m2 |
| 10 | Уровень освещенности беззнаковое разрешение 1 lux |
| 11 | Скорость ветра УЗ анемометра беззнаковое разрешение 0.01 m/s. Значение “256” равно 2.56 m/s |
| 12 | Направление ветра УЗ анемометра беззнаковое разрешение 1 град. |
| 13 | Расстояние до препятствия (снежный покров) беззнаковое; разрешение 1 см. ДГВ должен иметь сетевой адрес 160 |
| 14 | Солнечная радиация беззнаковое; разрешение 1 Вт/м2. Пиргелиометр должен иметь сетевой адрес 181 |
| 15 + 7*N[0:7] | БМВД-N, знаковое значение 1 датчика |
| 15 + 7*N[0:7] + 1 | БМВД-N, знаковое значение 2 датчика |
| 15 + 7*N[0:7] + 2 | БМВД-N, знаковое значение 3 датчика |
| 15 + 7*N[0:7] + 3 | БМВД-N, знаковое значение 4 датчика |
| 15 + 7*N[0:7] + 4 | БМВД-N, знаковое значение 5 датчика |
| 15 + 7*N[0:7] + 5 | БМВД-N, знаковое значение 6 датчика |
| 15 + 7*N[0:7] + 6 | БМВД-N, знаковое значение 7 датчика |
| 71 | Пыль 2,5 мкм беззнаковое разрешение |
| 72 | Пыль 10 мкм беззнаковое разрешение |
| 73 | Уровень СО2 беззнаковое разрешение |
| 74 | Уровень СО беззнаковое разрешение |
| 75 | Уровень NO беззнаковое разрешение |
| 76 | Уровень NO2 беззнаковое разрешение |
| 77 | Уровень SO2 беззнаковое разрешение |
| 78 | Уровень H2S беззнаковое разрешение |
| 79 | Уровень HCN беззнаковое разрешение |
| 80 | Уровень NH3 беззнаковое разрешение |
| 81 | Уровень CH2O беззнаковое разрешение |
| 82 | heahterErrors |
| 83 | Сокол-ДС регистр 1 |
| 84 | Сокол-ДС регистр 2 |
| 85 | (Датчик СВЧ скорость потока воды в мм/с) waterflow speed in mm/s (PWFL432-P) |
| 86 | (Датчик СВЧ дистанция в сантиметрах) distance in cm (PWRD81HB or PWFL432-P) |
| 87 | средняя скорость ветра за 10 мин |
| 88 | порыв ветра за 10 мин |
| 89 | events (Техническая информация, предназначенная для разработчиков устройства) |
| 90 + N[0:7] | БМВД-N, знаковое значение 8 датчика |
| 98 | Влажность от датчика ДВП при прямом подключении в % (170 адрес) |
| 99 | Температура от датчика ДВП в цельсиях при прямом подключении (170 адрес) |
| 100 | PPFD ( Датчик измерения плотности фотосинтетического фотонного потока.) Сокол-ФАР (184 адрес) |
Если в команде указать другой регистр, начиная с которого нужно выгрузить данные, и указать другое количество запрашиваемых регистров, то в ответе будет содержаться меньшее количество регистров.
Например:

Запрос 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