Стартовая страница › Форумы › Взаимодействие с устройствами › WITS и другие текстовые протоколы
- В этой теме 19 ответов, 3 участника, последнее обновление 4 года назад сделано timon84.
-
АвторСообщения
-
20.03.2020 в 01:44 #15381timon84Участник
Приветствую всех.
Появилась необходимость передавать/принимать данные по WITS 0 уровня.
Кто-то сталкивался с данным протоколом?Из того что я нашел на просторах интернета — это текстовый протокол передачи данных содержащий определенный набор символов в начале передачи, разделители переменных, набор символов завершающий передачу.
Возможно ли создать канал связи с «свободным» протоколом, язык которого можно сконфигурировать через редактор?
Прошу прощения если сильно сумбурно все описал…20.03.2020 в 09:38 #15383manjey73Участникэто текстовый протокол передачи данных содержащий определенный набор символов в начале передачи, разделители переменных, набор символов завершающий передачу.
Таких протоколов вагон и тележка, тот же МЭК61107, DF1 от RocwellAutomation для ПЛК Allen Bradley и так далее и так далее…
Только вероятно для Ethernet в вашем случае или тоже для RS485 ? не смотрел что такое Wits
20.03.2020 в 16:55 #15384timon84УчастникТолько вероятно для Ethernet в вашем случае или тоже для RS485 ? не смотрел что такое Wits
Мне нужно будет реализовать по Ethernet. А вообще протокол универсальный может работать и по кому.
20.03.2020 в 17:06 #15385timon84УчастникТаких протоколов вагон и тележка, тот же МЭК61107, DF1 от RocwellAutomation для ПЛК Allen Bradley и так далее и так далее…
Не нашел в Администраторе в «Тип КП» того что Вы указали. Или это как-то отдельно подгружается?
Или Вы просто факт констатировали что таких протоколов много? Если так, поэтому и создал тему с предложением создания универсального драйвера работающего с текстовыми пакетами.
Т.е. как в модбасе говорим ячейки с которых нужно брать данные тут пишем (далее для примера) что:
если && $$ то это начало телеграммы
Если Int1 следующие 8 символов это число которое нужно впихнуть в канал 333. и т.д.20.03.2020 в 20:44 #15391MikhailМодераторДобрый день!
Возможно ли создать канал связи с «свободным» протоколом, язык которого можно сконфигурировать через редактор?
Нужно разработать драйвер, то есть библиотеку, которая подключается к Коммуникатору. В качестве примеров посмотрите существующие.
Для конкретного КП будет загружаться конфигурация, которая будет определять особенности его протокола обмена. Если есть техническое описание, каков подход к настройке допустимых пакетов, кидайте ссылку.
20.03.2020 в 20:44 #15392MikhailМодераторКаналы связи в Коммуникаторе (TCP, UDP, Serial) не зависят от конкретного протокола.
20.03.2020 в 21:13 #15393manjey73УчастникWITS протокол для сериал интерфейса, будет работать через преобразователи интерфейсов.
WITSML — на основе протокола выше, сделали реализацию на основе XML сделали еще один протокол, уже видимо для передачи через Ethernet, непонятно как ? типа обмена файлами и устройство потом его разбирает ? не вдавался в подробности.timon84 я написал то, что реализовывал, ссылки есть в Сообщество — Репозиторий модулей. Там и на другие протоколы есть ссылки, я просто привел пример именно похожих по реализации.
Хотя тот же Modbus — заголовок, набор данных, завершающая контрольная сумма — то же подходит под описание 🙂20.03.2020 в 22:55 #15396timon84УчастникЕсли есть техническое описание, каков подход к настройке допустимых пакетов, кидайте ссылку.
http://mudlogging.ru/index.php/topic,94.30.html
Начиная с 34 поста.
Это самая адекватная информация что я нашел.21.03.2020 в 03:22 #15397timon84Участниквот описание самого протокола:
http://mudlogging.ru/index.php?topic=106.0по ссылке выше описание переменных.
Т.е. на порту нужно ждать && после <CR><LF>ХХХХ где ХХХХ нужный код переменной, следующие цифры до <CR><LF> перевести из строки в вещественную величину и сохранить в необходимый канал.
21.03.2020 в 16:46 #15398MikhailМодераторПК является мастером опроса или пассивно ожидает данные?
21.03.2020 в 16:54 #15401timon84УчастникСуществуют и такие и такие вариации.
т.е:
1. Ждем пока на порт придут данные
2. стучимся на сервер в порт он отвечает.Чаще просто ждем данных пока что-то прилетит, т.к. протокол односторонний.
21.03.2020 в 19:21 #15402manjey73УчастникИногда тоже задавался вопросом как ждать Коммуникатором именно по COM порту ?
21.03.2020 в 23:39 #15407MikhailМодераторЖдать с помощью методов ProcIncomingReq и ProcUnreadIncomingReq. Смогу найти пример использования в рабочий день.
22.03.2020 в 09:37 #15411manjey73УчастникДа, примеры не помешали бы. Вот как раз для WITS и нужны такие методы, судя по описанию.
Осталось только найти пару приборов, и кучка времени для написания драйвера 🙂23.03.2020 в 10:30 #15421MikhailМодераторПример могу выслать по запросу на почту.
-
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.