Драйвер платный, код закрыт, ковырять не очень интересно и долго 🙂
В общем не знаю, как он построен функционально, но может можно малой кровью превратить его в шпиона для прослушки?
Суть, настраиваем его как обычно, но указываем ему не реагировать на команды мастера самому, а принимать и расшифровывать пакеты согласно настроенного шаблона при ответе реального слейва.
Или это наоборот лучше как-то сделать на основе кода Modbus мастера?
Драйвер прослушки сделать легко.
Сложно только BinStopCondition делать под каждый драйвер. Потому что делать под Modbbus — это скучно и неитнересно. А вот универсальную прослушку — уже другое дело. 🙂
универсальную не получится. Надо же еще и регистры прописывать, их тип, переворот байт и т.д.
Нужна не универсальная, которая просто в лог все кидает, а именно чтобы превращала в переменные и могла записывать их в БД.
Вот о чем речь больше.
если кратко, нужен режим шпиона для Modbus. Но, он должен слушать, а не просто ждать ответа.
Тут наверное все же драйвер Мастера нужно переделывать, но чтобы он работал в режиме прослушки и сам ничего не отправлял, а просто настраивался.
Т.к. прослушивать нужно ответы, то драйвер Modbus Slave не подходит в качестве основы, потому что он разбирает запросы.
На мой взгляд, удобнее сделать отдельный драйвер, использовав готовую объектную модель из DrvModbus.Common.dll.
да, я уже понял, что надо делать отдельный.
Так как настраивать его необходимо как мастер, а слушать он должен как слейв, только получая ответы и пропуская запросы.