PDA

Просмотр полной версии : Опрос счетчика ОВЕН си30 через Bolid c2000-ethernet. PHP



Milex
02.08.2019, 13:26
Здравствуйте, уважаемые знатоки!
Требуется помощь специалистов. В наличии имеется счетчик импульсов ОВЕН си30, преобразователь интерейсов Bolid c2000-Ethernet и ноутбук. Стоит задача - опросить устройство через локальную сеть, исполльзуя php и протокол ОВЕН.

Bolid c2000 - Ethernet , кажется, удалось правильно сконфигурировать. По крайней мере, при отправке команд загорается индикатор RS485. Прибор пингуется. В php соединение устанавлиется посредством функции stream_socket_client("$protocol://$ip:$port", ...) без ошибок.

В ОВЕН си30 через конфигуратор был изменен лишь один параметр - базовый адрес устройства. По умолчанию он стоит 16, значение было установлено 1.

После изучение протокола я понял, что мне проще выписать контрольные суммы всех необходимых команд для устрйоства, чем придумывать библиотеку.

Команда получения текущего значения счетчика.
В таблице входных и выходных данных ОВЕН си30, нашел hash - A158.
Адрес прибора - 01. Бит запроса - 1. Длина блока данных - 0.
Склейка: 01 10 А158.
Контрольная сумма: 9949.
Команда без начала и конца маркера: 01 10 А1 58 99 49
В ASCII формате: GH HG QH LO PP KP

ПРОБЛЕМА в том, что при отправке устройству команды #G HH GQ HL OP PK P\r, оно в ответ присылает лишь А4.
Сам я являюсь web разработчиком и знания о подобных вещах имею лишь очень поверхностные.
По такому же принципу удается опрашивать овен си8 без ошибок.

В чем может быть проблема ? Неправильно сформирована команда ? Неправильно сконфигурирован bolid или сам овен ?
Прошу вашей помощи.

melky
02.08.2019, 15:30
Вы с Болид работаете как UDP клиент ?

Milex
03.08.2019, 21:38
Bolid прошивал через программу uprog. Режим работы был установлен "Прозрачный". Наверное, я в этом случае выступаю в роли UPD клиента.

melky
05.08.2019, 09:17
Интересно, вы даже не знаете, как вы работаете с устройством, как же вы можете определить, правильно ли вы настроили C2000 ?
Ну и вопрос в догонку, версия прошивки C2000, должна быть не ниже 3.58 (или 3.55), иначе не взлетит.

Milex
05.08.2019, 09:41
Использовал тот же конвертер при работе с ОВЕН си8, проблем не было. Версия прошивки 2.60. Почему не взлетит ?

melky
05.08.2019, 09:56
Извиняюсь, соврал. не ниже 2.55, там проблемы были с работой в прозрачном режиме.
C2000-Ethernet работает только по UDP протоколу, в настройках вроде надо правильно прописать еще IP адреса.

Сие устройство из-за UDP протокола очень неудобное, так как сложно убедиться, что связь через него правильная сторонними приложениями.

Milex
06.08.2019, 11:34
Updated. Удалось окончательно понять, что проблема не в счетчике и сформированных командах, подключив устройство напрямую к компьютеру и обенвяшись пакетами через hTerm.
Для интереса также проверил связку ОВЕН си30 + Moxa Nport5150: команды отправляются, прибор отвечает корректно.
Bolid C2000 все также команды отправляет, однако получает непонятный ответ A4. Привожу пример конфигурации устройства, прибора и сети.
Пробовал изменять тип upd-порта удаленного устройства на динамический - не помогло.
Паузу между посылками для прозрачного режима также добавлял и убирал.
43901
43902
43903