Тема: Чтение осциллограмм с терминалов «Сириус» по Modbus RTU (FC20)
Коллеги, добрый день! Столкнулся с задачей автоматического съема осциллограмм с Сириусов Радиус Автоматики по интерфейсу Modbus RTU при срабатывании защиты. Цель — создать автономный регистратор событий, который будет опрашивать устройства и сохранять дампы при срабатывании защит. Фиксировать срабатывания, снимать осциллограммы связанные с ними и отправлять по почте. Из документации известно, что чтение файла осциллограммы должно выполняться функцией Read File Record (FC20, 0x14), так как данные логически разбиты на сегменты по 65535 слов. Проблема заключается в том, что всякие библиотеки (например, pymodbus) часто имеют ограниченную или некорректную поддержку этой специфической функции для последовательного порта. Удалось ли кому-то успешно реализовать программу для выгрузки COMTRADE-файлов именно через FC20 по RS-485? Если да, то какую библиотеку или метод формирования запроса вы использовали для корректной сборки ответа от терминала? Также интересует, сталкивались ли вы с необходимостью предварительной записи номера осциллограммы в специальный регистр перед чтением, или терминал отдает данные сразу по запросу файла? Буду благодарен за любые примеры кода или ссылки на рабочие реализации, чтобы не изобретать велосипед. Заранее спасибо!

