Стартовая страница › Форумы › Разработка и интеграция › DrvModbusJP
- В этой теме 26 ответов, 3 участника, последнее обновление 1 день, 5 часов назад сделано
JurasskPark.
-
АвторСообщения
-
06.03.2023 в 20:42 #27606
manjey73УчастникВаш ВТД, который не Modbus это из той же серии, что и Меркурий, Пульсар и прочее, применили расчет CRC аналогичный Modbus протоколу и на каждом углу кричат «у нас Modbus подобный протокол», а там им и не пахнет вовсе..
Вот что ваш ВТД с протоколом, разработанным ООО НПФ «ДИНФО» на самом деле.
Имхо, его надо в отдельный драйвер и не выеживаться 🙂07.03.2023 в 11:26 #27615
MikhailМодераторЕсли драйвер работает только с приборами ВТД, а другие производители данный вариант протокола в принципе не используют, то наверное здесь нужен отдельный драйвер именно для ВТД. При этом такой драйвер может использовать общие библиотеки с драйвером Модбас.
Название DrvModbusJP говорит пользователю о том, что драйвер работает со стандартным протоколом Modbus, но имеет дополнительные функции по обработке данных, поддерживает больше команд или реализует другой подход к настройке по сравнению с DrvModbus.
07.03.2023 в 11:27 #27616
MikhailМодераторКонечное решение за автором.
07.03.2023 в 11:42 #27622
MikhailМодераторХотя здесь есть и другой подход. Возможно, Ваш драйвер настолько универсальный, что его можно настроить и под приборы ВТД, и под другие потенциально похожие протоколы.
Иногда обдумываю идею сделать драйвер-конструктор для обмена вида запрос-ответ. То есть пользователь формирует в настройках формат пакета, способ расчёта КС, расшифровку ответов и т.п. Тогда можно будет делать шаблоны для большого спектра устройств. Но в названии такого драйвера слово Modbus уже лишнее.
07.03.2023 в 11:46 #27623
JurasskParkУчастникМихаил, ну что вы мой функционал рассказываете раньше меня. Это был функционал Debug. 😀
07.03.2023 в 11:46 #27624
manjey73Участникв рамках запрос-ответ практически нереально.
Все дело в расчете CRC , не всегда она рассчитывается с 1-го и до CRC, бывают такие чудеса, что закачаешься…протокол DF1 тому пример, надо на лету вычленять служебные байты, так как они не участвуют в расчете контрольной суммы.
Вот конструкторы в рамках одного протокола вполне возможны на практике.
08.03.2023 в 12:42 #27632
MikhailМодераторДля расчёта CRC или CheckSum нужно добавить параметры с какого по какой байт считать. Баланс между универсальностью, удобством и здравым смыслом — творческая задача.
08.03.2023 в 12:42 #27633
MikhailМодераторМихаил, ну что вы мой функционал рассказываете раньше меня. Это был функционал Debug
Очень интересно 🙂
10.03.2025 в 20:37 #37179
JurasskParkУчастникНакидывайте ваши пожелания к драйверу, что вам нужно.
Из того как я это вижу:
— список каналов (зачем? чтобы драйвер можно было использовать и как отдельное приложение)
— 1х, 2х, 3х, 4х байтные регистры
— типы данных расширенный
— возможность хранить название или версию прошивки в текстовом виде
— отладка и опрос тегов из самого драйвера без передачи на коммуникатор
— выполнение 15-16 команды из драйвера через формуЛучше если в паинте нарисовано, как ваша логика работает. 🙂
17.08.2025 в 21:33 #39963
JurasskParkУчастникhttps://rutube.ru/video/private/5ae7caf73461004d9d6672c549fc2293/?p=YqDK4K77UkZTO7HBM3RVLQ
— Работает?
— Нет.
— А зачем показываешь?
— Просто так. Скучно. Какой прогресс.17.08.2025 в 22:41 #39964
JurasskParkУчастникhttps://rutube.ru/video/private/b03d9f510bacd0e8fa8adfe25ce83dcb/?p=R138ZpNHezWspIdr0cJhLw
Что исправил и еще не показал, выбор формата.
11.06.2026 в 23:47 #43885
JurasskParkУчастникПример как работает приложение и как хотел Андрей, чтобы умножать не надо было. 🙂 https://jurasskpark.ru/files/forum/drvmodbuscm_001.mp4
Но так как сейчас меня захлестнула AdminWeb смысла пока дальше пилить нет.
Проект с GitHub удалил.
Всем спасибо, все свободны! Кина больше не будет — электричество кончилось. 🙂 -
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.