Просмотр полной версии : Библиотека 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 сбрасывается в ноль.
Как бы не особо копая:
Инициатор создания сокетов тут МКОН, т. к. он клиент. Причина пересоздания :
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сек) по запросам + с МКОНами из другой партии ситуацию повторить не получается
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot