1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Проблема с Modbus TCP

ПЛК SIMATIC (S7-200, S7-1200, S7-300, S7-400, S7-1500, ET200)

Модератор: Глоб.модераторы

Ответить
Аватара пользователя

Автор темы
VADR
администратор
администратор
Сообщения: 4909
Зарегистрирован: 25 июл 2008, 07:12
Имя: Диев Александр Васильевич
Страна: Россия
город/регион: г. Сегежа, Карелия
Благодарил (а): 236 раз
Поблагодарили: 425 раз

Проблема с Modbus TCP

Сообщение VADR »

Приветствую, коллеги.

Ситуация: есть несколько контроллеров ET200SP, общающихся друг с другом через внешнюю сеть (через файрволы на границе каждой системы) по Modbus TCP. В один прекрасный день (то есть вчера), внешняя сеть некоторое время не работала (минут 10-15 навскидку). После чего контроллеры между собой общаться перестали. С сетью всё в порядке, другой траффик (сбор данных с узлов по OPC UA) функционирует. Посмотрел в онлайне на один из контроллеров, вижу следующее:
client.jpg
client_settings.jpg
server.jpg
server_settings.jpg
Вопрос, собственно: куда копать? Я понимаю, что перезапуск контроллера связь восстановит, но проблему это не решит (и вообще - это не наши методы). Хочется сделать так, чтобы после восстановления связи после таких вот обрывов связь сама оживала.

Отправлено спустя 5 минут 16 секунд:
На MB_CLIENT выход BUSY висит в "1" секунд 20-30, после чего пробегает DONE, и всё повторяется по кругу.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.
Аватара пользователя

M3f
не первый раз у нас
не первый раз у нас
Сообщения: 386
Зарегистрирован: 31 янв 2017, 11:08
Имя: Николай
Благодарил (а): 8 раз
Поблагодарили: 122 раза

Проблема с Modbus TCP

Сообщение M3f »

1. Почему IP-адрес нулевой на сервере?
2. Что по переменной "Connected" на "MB_CLIENT"?
3. Последняя ошибка на "MB_CLIENT" (80С4), как раз говорит, что проблемы с подключением.

P.S. По хорошему надо проверять подключение на клиенте и после делать опрос сервера. Если нет коннекта, делать реконнект.
EPLAN Electric P8 Professional+ 2.7 HF1 11496 | TIA Portal Professional V17 Upd1 | Creo Parametric 4.0 M070
Аватара пользователя

Автор темы
VADR
администратор
администратор
Сообщения: 4909
Зарегистрирован: 25 июл 2008, 07:12
Имя: Диев Александр Васильевич
Страна: Россия
город/регион: г. Сегежа, Карелия
Благодарил (а): 236 раз
Поблагодарили: 425 раз

Проблема с Modbus TCP

Сообщение VADR »

M3f писал(а): 29 июн 2021, 16:27 1. Почему IP-адрес нулевой на сервере?
Я так понимаю, к нему просто в настоящий момент нет подключения. Там ведь Remote Adderess, а не Local. То есть - должен появиться адрес клиента, когда тот подключится. Или нет?
M3f писал(а): 29 июн 2021, 16:27 2. Что по переменной "Connected" на "MB_CLIENT"?
Что-то не вижу такой переменной. CONNECT в левом нижнем углу подключен к DB, содержимое которого на втором скрине.
M3f писал(а): 29 июн 2021, 16:27 3. Последняя ошибка на "MB_CLIENT" (80С4), как раз говорит, что проблемы с подключением.
Оно, конечно, да, но неизвестно, когда эта ошибка выпала. Проблемы с подключением, как я писал выше, были: сеть между узлами не работала 20-30 минут (ИТшники оборудование меняли).
M3f писал(а): 29 июн 2021, 16:27 P.S. По хорошему надо проверять подключение на клиенте и после делать опрос сервера. Если нет коннекта, делать реконнект.
И как это сделать? То есть - и подключение проверить, и реконнект?
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.
Аватара пользователя

M3f
не первый раз у нас
не первый раз у нас
Сообщения: 386
Зарегистрирован: 31 янв 2017, 11:08
Имя: Николай
Благодарил (а): 8 раз
Поблагодарили: 122 раза

Проблема с Modbus TCP

Сообщение M3f »

1. Там прописывается IP адрес удаленного партнера. Пример настройки можно посмотреть ТУТ.
2. Вам не блок подключения нужен, а блок самой функции "MB_CLIENT", там в Static снизу вторая переменная. Переменная Connected, а не Connect.
3. Это да, поэтому желательно делать более продуманную логику выявления ошибок.
4. Примеры можно посмотреть на сайте Siemens-a, например ТУТ.

P.S. А это у вас скрины с разных подключаемых контроллеров? А то порты разные, ID разные.
EPLAN Electric P8 Professional+ 2.7 HF1 11496 | TIA Portal Professional V17 Upd1 | Creo Parametric 4.0 M070
Аватара пользователя

Автор темы
VADR
администратор
администратор
Сообщения: 4909
Зарегистрирован: 25 июл 2008, 07:12
Имя: Диев Александр Васильевич
Страна: Россия
город/регион: г. Сегежа, Карелия
Благодарил (а): 236 раз
Поблагодарили: 425 раз

Проблема с Modbus TCP

Сообщение VADR »

Вроде как нашли способ решения - дёргаем DISCONNECT на MB_SERVER. Осталось найти правильный способ отлова потери связи - и можно автоматизировать её восстановление.
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.
Ответить

Вернуться в «Simatic TIA Portal»