
Комментарии 5
Фактически это уже не Modbus.
При большом желании можно сильно наехать на производителя, что под видом стандартного протокола Modbus производиться что-то проприетарное.
Не думаю, что они сделали это специально. Просто сами немного недопоняли алгоритм, поэтому он у них такой получился. Они шли на контакт без проблем. Я разговаривал с ними по телефону (еще до дизассемблера), пытаясь выяснить алгоритм контрольной суммы. Они искренне не понимали моего вопроса, ссылаясь на спецификацию modbus, что у них все сделано ровно как там написано. Документация к устройствам была подробная, к ней вопросов не было. Кроме того они предоставили испытательный стенд, который сами использовали - коробочка с разъемами, которая подключалась к контроллеру и эмулировала тензодатчики, концевики и силовые установки. Понятно, что внутри там пара конденсаторов с сопротивлениями и реле. Но это готовое устройство. Подключил и работай. Цена там какая-то смешная была, в районе 5к. Адамовские I/O модули стоили дороже.
Странно, что на всех этапах разработки отсутствовали попытки взаимодействовать с устройством при помощи любого "Modbus-терминала" или стандартной библиотеки.
Это напоминает мне опрос одних терминалов защиты по IEC 60870-5-101. Обвязываю, телемеханики, прописываю опрос. Канал поднялся, данные в канале пошли. В сервере - пусто. Не видит данные. Что-то идет, но данных нет.
Сажусь на сервер, включаю просмотр "сырых" данных, пытаюсь разобраться с обменом. И с удивлением вижу криво реализованный протокол. При этом с своей заводской утилитой обмен нормальный.
Или заводские приколы с ЭНИП-2. Приехали, смонтировали, включили. Пытаюсь подключиться конфигуратором - "прибор не найден". Даже если через USB подключиться.
3 дня поиска своих косяков - не найдено. Проверка версии конфигуратора - самая свежая на сайте.
Звоню на завод: "Конфигурирование возможно только самой свежей версией конфигуратора. Но на сайте ее нет - мы обнаружили там сбои и временно убрали версию на доработку. Через 2-3 недели выложим". Ага. Ая сижу в мордовских лесах на объекте.
Еле уговорил скинуть мне на почту сырую версию под мою ответственность. Только так и сконфигурировал.
Modbus: как реверс-инжиниринг помог решить производственную задачу