WITS и другие текстовые протоколы

Стартовая страница Форумы Взаимодействие с устройствами WITS и другие текстовые протоколы

  • В этой теме 19 ответов, 3 участника, последнее обновление 4 года назад сделано timon84.
Просмотр 15 сообщений - с 1 по 15 (из 20 всего)
  • Автор
    Сообщения
  • #15381
    timon84
    Участник

    Приветствую всех.
    Появилась необходимость передавать/принимать данные по WITS 0 уровня.
    Кто-то сталкивался с данным протоколом?

    Из того что я нашел на просторах интернета — это текстовый протокол передачи данных содержащий определенный набор символов в начале передачи, разделители переменных, набор символов завершающий передачу.
    Возможно ли создать канал связи с «свободным» протоколом, язык которого можно сконфигурировать через редактор?
    Прошу прощения если сильно сумбурно все описал…

    #15383
    manjey73
    Участник

    это текстовый протокол передачи данных содержащий определенный набор символов в начале передачи, разделители переменных, набор символов завершающий передачу.

    Таких протоколов вагон и тележка, тот же МЭК61107, DF1 от RocwellAutomation для ПЛК Allen Bradley и так далее и так далее…

    Только вероятно для Ethernet в вашем случае или тоже для RS485 ? не смотрел что такое Wits

    #15384
    timon84
    Участник

    Только вероятно для Ethernet в вашем случае или тоже для RS485 ? не смотрел что такое Wits

    Мне нужно будет реализовать по Ethernet. А вообще протокол универсальный может работать и по кому.

    #15385
    timon84
    Участник

    Таких протоколов вагон и тележка, тот же МЭК61107, DF1 от RocwellAutomation для ПЛК Allen Bradley и так далее и так далее…

    Не нашел в Администраторе в «Тип КП» того что Вы указали. Или это как-то отдельно подгружается?

    Или Вы просто факт констатировали что таких протоколов много? Если так, поэтому и создал тему с предложением создания универсального драйвера работающего с текстовыми пакетами.
    Т.е. как в модбасе говорим ячейки с которых нужно брать данные тут пишем (далее для примера) что:
    если && $$ то это начало телеграммы
    Если Int1 следующие 8 символов это число которое нужно впихнуть в канал 333. и т.д.

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

    Добрый день!

    Возможно ли создать канал связи с «свободным» протоколом, язык которого можно сконфигурировать через редактор?

    Нужно разработать драйвер, то есть библиотеку, которая подключается к Коммуникатору. В качестве примеров посмотрите существующие.

    Для конкретного КП будет загружаться конфигурация, которая будет определять особенности его протокола обмена. Если есть техническое описание, каков подход к настройке допустимых пакетов, кидайте ссылку.

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

    Каналы связи в Коммуникаторе (TCP, UDP, Serial) не зависят от конкретного протокола.

    #15393
    manjey73
    Участник

    WITS протокол для сериал интерфейса, будет работать через преобразователи интерфейсов.
    WITSML — на основе протокола выше, сделали реализацию на основе XML сделали еще один протокол, уже видимо для передачи через Ethernet, непонятно как ? типа обмена файлами и устройство потом его разбирает ? не вдавался в подробности.

    timon84 я написал то, что реализовывал, ссылки есть в Сообщество — Репозиторий модулей. Там и на другие протоколы есть ссылки, я просто привел пример именно похожих по реализации.
    Хотя тот же Modbus — заголовок, набор данных, завершающая контрольная сумма — то же подходит под описание 🙂

    #15396
    timon84
    Участник

    Если есть техническое описание, каков подход к настройке допустимых пакетов, кидайте ссылку.

    http://mudlogging.ru/index.php/topic,94.30.html
    Начиная с 34 поста.
    Это самая адекватная информация что я нашел.

    #15397
    timon84
    Участник

    вот описание самого протокола:
    http://mudlogging.ru/index.php?topic=106.0

    по ссылке выше описание переменных.

    Т.е. на порту нужно ждать && после <CR><LF>ХХХХ где ХХХХ нужный код переменной, следующие цифры до <CR><LF> перевести из строки в вещественную величину и сохранить в необходимый канал.

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

    ПК является мастером опроса или пассивно ожидает данные?

    #15401
    timon84
    Участник

    Существуют и такие и такие вариации.
    т.е:
    1. Ждем пока на порт придут данные
    2. стучимся на сервер в порт он отвечает.

    Чаще просто ждем данных пока что-то прилетит, т.к. протокол односторонний.

    #15402
    manjey73
    Участник

    Иногда тоже задавался вопросом как ждать Коммуникатором именно по COM порту ?

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

    Ждать с помощью методов ProcIncomingReq и ProcUnreadIncomingReq. Смогу найти пример использования в рабочий день.

    #15411
    manjey73
    Участник

    Да, примеры не помешали бы. Вот как раз для WITS и нужны такие методы, судя по описанию.
    Осталось только найти пару приборов, и кучка времени для написания драйвера 🙂

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

    Пример могу выслать по запросу на почту.

Просмотр 15 сообщений - с 1 по 15 (из 20 всего)
  • Вы должны авторизироваться для ответа в этой теме.