PDA

Просмотр полной версии : Библиотека OwenCommunication. МКОН + MB_TcpSlave



zaychenko
22.02.2023, 11:01
Всем привет! Имеется такая конфигурация: Панель с RS-485 (Master) + МКОН + ПЛК210 (Slave).

В ПЛК210 используется блок MB_TcpSlave (66097). Таких конструкций с ПЛК210+МКОН+Панель две.

Возникают интересные моменты, связанные с работой блока:

1) usiCurrentCountClients медленно увеличивается, хотя кроме МКОН по заданному порту с заданным usiUnitId никто не подключается. Когда перезагружаешь МКОН (по питанию) и MB_TcpSlave (снятием и подачей команды xEnable), то usiCurrentCountClients равно 1, затем 2 и, в моем случае, увеличивалось до 5-ти.

2) При увеличении количества клиентов (в пред. пункте) часто перестает поступать xNewRequest и stRequestInfo не обновляется. Хотя по факту Панель с RS-485 (Master) продолжает считывать данные и при просмотре через "Сниффер Modbus" в OwenConfigurator видно (66098), что МКОН продолжает получать запросы от панели и ответы от ПЛК.

3) Блок MB_TcpSlave, опрашиваемый OPC-сервером таких проблем не имеет.

Евгений Кислов
22.02.2023, 11:23
Добрый день
Вы можете воспроизвести эту проблему в связке OPC (Modbus RTU Master) - МКОН - ПЛК (Modbus TCP Slave)?

zaychenko
22.02.2023, 23:08
Добрый день
Вы можете воспроизвести эту проблему в связке OPC (Modbus RTU Master) - МКОН - ПЛК (Modbus TCP Slave)?

Постараюсь воспроизвести п.2.

Еще вопрос: как при отключении единственного Master-a в блоке MB_TcpSlave происходит обнуление usiCurrentCountClients?

Например, если отсоединяем патч-корд от МКОН или перезагружаем его по питанию, то usiCurrentCountClients увеличивается (без сброса в ноль), сигнализируя о появлении нового клиента. Тем самым можно объяснить п.1.

Если же рассматривать как единственного мастера, например OPC-сервер, то при отключении OPC-сервера usiCurrentCountClients сбрасывается в ноль.

Валенок
23.02.2023, 00:36
Как бы не особо копая:
Инициатор создания сокетов тут МКОН, т. к. он клиент. Причина пересоздания :
1 (стандартно) таймаут ответа сервера
2 (возможно) редкое обращение к серверу
3 (возможно) любой мусор ответа сервера

По 1- см. настройки панели по rs + настройки самого мкон по tcp
По 2- видимо какая то своя настройка мкона
По 3- с учётом tcp накакать может только слейв-сервер, т.е. ПЛК

С учётом этого снифер нужен с портами, чтоб понять момент пересоздания, и пакетами данных чтоб понять причину

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

Евгений Кислов
23.02.2023, 07:18
Еще вопрос: как при отключении единственного Master-a в блоке MB_TcpSlave происходит обнуление usiCurrentCountClients?

Например, если отсоединяем патч-корд от МКОН или перезагружаем его по питанию, то usiCurrentCountClients увеличивается (без сброса в ноль), сигнализируя о появлении нового клиента. Тем самым можно объяснить п.1.


https://owen.ru/forum/showthread.php?t=36837&p=389894&viewfull=1#post389894

zaychenko
02.03.2023, 15:33
В итоге имеем проблему с МКОН, т.к. периодически он не маршрутизирует пакеты.

Ситуацию удалось продублировать с живыми панелями Delta (Master на RS-485) и с OWEN OPC. При этом МКОН иногда получает запросы от Мастера (мигает индикатор RS), а сам как-будто подвисает - ни через USB, ни через Ethernet к нему не подключиться в OwenConfigurator (хотя по ip пингуется). Через время отвисает, либо после перезапуска по питанию.

Вот лог ошибок от OPC при подобной ситуации:

02-03-2023 15:08:29.085 : Устройство вернуло ошибку (Код: 11 - Specialized use in conjunction with gateways, indicates that no response was obtained from the target device. Usually means that the device is not present on the network.) device: Узел1.МКОН1 port: Rx Rx, size: 5, data:[10 83 0B 50 F2 ]

02-03-2023 15:08:29.083 : Нет ответа от устройства device: Узел1.МКОН1 port: Rx Rx, size: 0, data:[]

02-03-2023 15:08:28.081 : Нет ответа от устройства device: Узел1.МКОН1 port: Rx Rx, size: 0, data:[]

02-03-2023 15:08:27.080 : Нет ответа от устройства device: Узел1.МКОН1 port: Rx Rx, size: 0, data:[]

02-03-2023 15:07:54.070 : Нет ответа от устройства device: Узел1.МКОН1 port: Rx Rx, size: 0, data:[]

Евгений Кислов
02.03.2023, 15:37
Судя по коду ошибки - МКОН отправил слэйву запрос, а слэйв не ответил (по крайней мере, МКОН считает, что слэйв не ответил).
Если вы предполагаете, что проблема на стороне МКОН - то, пожалуйста, напишите нам на support@owen.ru, чтобы специалист по МКОН провел анализ ситуации.

zaychenko
02.03.2023, 16:20
Судя по коду ошибки - МКОН отправил слэйву запрос, а слэйв не ответил (по крайней мере, МКОН считает, что слэйв не ответил).

Ок, тогда чезе support.

P.S. Слейв ПЛК210 в этот момент не получает запросов и ведет учет количества таймаутов (30сек) по запросам + с МКОНами из другой партии ситуацию повторить не получается