DrvModbusJP

Просмотр 12 сообщений - с 16 по 27 (из 27 всего)
  • Автор
    Сообщения
  • #27606
    manjey73
    Участник

    Ваш ВТД, который не Modbus это из той же серии, что и Меркурий, Пульсар и прочее, применили расчет CRC аналогичный Modbus протоколу и на каждом углу кричат «у нас Modbus подобный протокол», а там им и не пахнет вовсе..

    Вот что ваш ВТД с протоколом, разработанным ООО НПФ «ДИНФО» на самом деле.
    Имхо, его надо в отдельный драйвер и не выеживаться 🙂

    #27615
    Mikhail
    Модератор

    Если драйвер работает только с приборами ВТД, а другие производители данный вариант протокола в принципе не используют, то наверное здесь нужен отдельный драйвер именно для ВТД. При этом такой драйвер может использовать общие библиотеки с драйвером Модбас.

    Название DrvModbusJP говорит пользователю о том, что драйвер работает со стандартным протоколом Modbus, но имеет дополнительные функции по обработке данных, поддерживает больше команд или реализует другой подход к настройке по сравнению с DrvModbus.

    #27616
    Mikhail
    Модератор

    Конечное решение за автором.

    #27622
    Mikhail
    Модератор

    Хотя здесь есть и другой подход. Возможно, Ваш драйвер настолько универсальный, что его можно настроить и под приборы ВТД, и под другие потенциально похожие протоколы.

    Иногда обдумываю идею сделать драйвер-конструктор для обмена вида запрос-ответ. То есть пользователь формирует в настройках формат пакета, способ расчёта КС, расшифровку ответов и т.п. Тогда можно будет делать шаблоны для большого спектра устройств. Но в названии такого драйвера слово Modbus уже лишнее.

    #27623
    JurasskPark
    Участник

    Михаил, ну что вы мой функционал рассказываете раньше меня. Это был функционал Debug. 😀

    #27624
    manjey73
    Участник

    в рамках запрос-ответ практически нереально.
    Все дело в расчете CRC , не всегда она рассчитывается с 1-го и до CRC, бывают такие чудеса, что закачаешься…

    протокол DF1 тому пример, надо на лету вычленять служебные байты, так как они не участвуют в расчете контрольной суммы.

    Вот конструкторы в рамках одного протокола вполне возможны на практике.

    #27632
    Mikhail
    Модератор

    Для расчёта CRC или CheckSum нужно добавить параметры с какого по какой байт считать. Баланс между универсальностью, удобством и здравым смыслом — творческая задача.

    #27633
    Mikhail
    Модератор

    Михаил, ну что вы мой функционал рассказываете раньше меня. Это был функционал Debug

    Очень интересно 🙂

    #37179
    JurasskPark
    Участник

    Накидывайте ваши пожелания к драйверу, что вам нужно.
    Из того как я это вижу:
    — список каналов (зачем? чтобы драйвер можно было использовать и как отдельное приложение)
    — 1х, 2х, 3х, 4х байтные регистры
    — типы данных расширенный
    — возможность хранить название или версию прошивки в текстовом виде
    — отладка и опрос тегов из самого драйвера без передачи на коммуникатор
    — выполнение 15-16 команды из драйвера через форму

    Лучше если в паинте нарисовано, как ваша логика работает. 🙂

    #39963
    JurasskPark
    Участник

    https://rutube.ru/video/private/5ae7caf73461004d9d6672c549fc2293/?p=YqDK4K77UkZTO7HBM3RVLQ

    — Работает?
    — Нет.
    — А зачем показываешь?
    — Просто так. Скучно. Какой прогресс.

    #39964
    JurasskPark
    Участник

    https://rutube.ru/video/private/b03d9f510bacd0e8fa8adfe25ce83dcb/?p=R138ZpNHezWspIdr0cJhLw

    Что исправил и еще не показал, выбор формата.

    #43885
    JurasskPark
    Участник

    Пример как работает приложение и как хотел Андрей, чтобы умножать не надо было. 🙂 https://jurasskpark.ru/files/forum/drvmodbuscm_001.mp4
    Но так как сейчас меня захлестнула AdminWeb смысла пока дальше пилить нет.
    Проект с GitHub удалил.
    Всем спасибо, все свободны! Кина больше не будет — электричество кончилось. 🙂

Просмотр 12 сообщений - с 16 по 27 (из 27 всего)
  • Для ответа в этой теме необходимо авторизоваться.