Sokol-M1 + Modbus: различия между версиями
м
нет описания правки
RUSTEM (обсуждение | вклад) (Новая страница: «мини|317x317пкс|Sokol-M1 + Modbus = <big>'''Общая информация'''</big> = При работе со станцией '''Сокол-М1''' данные можно получать не только через '''GSM-связь''' или при прямом подключении '''по USB''', но и выполнять опрос с помощью '''сторонних программ'''...») |
RUSTEM (обсуждение | вклад) мНет описания правки |
||
| Строка 126: | Строка 126: | ||
Стоп-биты - '''1''' | Стоп-биты - '''1''' | ||
В качестве примера опроса мы будем использовать программу '''[https://drive.google.com/file/d/10i7v4TZ9-JDJYPAh-9JSh4x6vkM93BVV/view?usp=sharing Terminal.exe]''' | |||
'''<u>Команда опроса: 01 03 00 00 00 5A C5 F1</u>''' | |||
'''01''' – адрес | |||
'''03''' – код команды | |||
'''00 00''' – номер регистра, начиная с которого запрашивается количество регистров | |||
'''00 5А''' – количество запрашиваемых регистров '''<u>(5А – 90 регистров)</u>''' | |||
'''С5 F1''' – '''CRC-16 Modbus''' с обратным порядком байтов; | |||
[[Файл:Пример опроса Sokol-M1 в Terminal.png|центр|мини|590x590пкс|В программе Terminal, в качестве разделителя используется знак "$"]] | |||
'''<u>Ответ:</u>''' | |||
<u>01</u> <u>03</u> <u>B4</u> <u>82 80</u> <u>00 00</u> <u>00 00</u> <u>09 A1</u> <u>27 1D</u> <u>00 19</u> <u>00 00</u> <u>01 01</u> <u>00 1D</u> <u>00 00</u> <u>00 92</u> <u>00 00</u> <u>00 00</u> <u>00 00</u> <u>00 00</u> <u>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00</u> <u>00 00</u> <u>00 00</u> <u>00 00</u> <u>00 00</u> <u>00 00</u> <u>00 00</u> <u>00 00</u> <u>00 00</u> <u>00 00</u> <u>00 00</u> <u>00 00</u> <u>00 00</u> <u>00 00</u> <u>00 00</u> <u>00 00</u> <u>00 00</u> <u>00 06</u> <u>01 10</u> <u>0E 03</u> | |||
'''<u>01 (адрес) 03 (команда) B4 (кол-во байт – 180 или 90 регистров)</u>''' | |||
# 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 | |||
'''<u>0E 03 – CRC-16 modbus</u>''' | |||
Если в '''команде''' указать '''<u>другой регистр, начиная с которого нужно выгрузить данные</u>''', и указать '''<u>другое количество запрашиваемых регистров</u>''', то в ответе будет содержаться '''<u>меньшее количество регистров.</u>''' | |||
'''<u>Например:</u>''' | |||
[[Файл:Terminal пример запрос данных от станции 1.png|центр|безрамки|606x606пкс]] | |||
Запрос '''10 регистров''', следующих за '''5-м''' | |||
'''<u>Запрос:</u>''' | |||
'''<u>01 03 00 05 00 0A D5 CC</u>''' | |||
01 – адрес | |||
03 – команда | |||
00 05 – запрос выдать регистры после 5-го, т.е. в ответе будут регистры начиная с 6го | |||
00 0А – запрос выдать 10 регистров | |||
D5 CC – контрольная сумма (обратный порядок байтов) | |||
'''<u>Ответ:</u>''' | |||
'''<u>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</u>''' | |||
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 | |||
'''<u>81 FF – контрольная сумма</u>''' | |||
= '''Полезные ссылки''' = | |||
'''[https://docs.google.com/document/d/1iw94kPgIUvSKXPNKiFgnPNRrkLLWsRIv/edit Разбор строки опроса станции по Modbus]''' | |||
'''[https://rutube.ru/video/a6b0352076af28222bd0a9f9e5ea675d/?playlist=718716 Подключение станции по Modbus (ВИДЕО)]''' | |||
'''[https://rutube.ru/video/41aaa276f25b198b8043a09d451f1b88/?playlist=718716 Подключение питания станции (ВИДЕО)]''' | |||