Показать сообщение отдельно
Старый 02.09.2021, 15:24   #56
ujin
Senior Member
 
Аватара для ujin
 
Регистрация: May 2010
Адрес: Novosibirsk
Сообщения: 761
Благодарил(а): 1 раз(а)
Поблагодарили: 10 раз(а) в 10 сообщениях
По умолчанию Ответ: Пропадает связь по ethernet

Цитата:
Сообщение от Fater Посмотреть сообщение
Новая версия не работает deb пакет грузит, проект нет (превышено время ожидания....)
Логи снимались штатными средствами и были выложены.
В логах "C:\Program Files (x86)\National Instruments\LabVIEW 2016...
В описании скадовцы с 4 ой мастерскадой. Это 2 разные программы.
Цитата:
Сообщение от Fater Посмотреть сообщение
При попытке подключения лоджика для отладки выдается сообщение "проект отличается"!???? С какого перепуга, если ничего не делалось?
Это косяк так и идет с момента рождения лоджика.
Цитата:
Сообщение от Fater Посмотреть сообщение
СКАДовцам не сильно доверяю, на то есть причины (отдельная тема).
Сетевики тоже еще те кренделя то одно не пропишут, то другое)
Мне остается еще и сетевое оборудование изучать)
Думаю при потере пакета сразу идет реконнект со скады, ответа по какой-то причине нет, пакеты остаются в памяти карты или маршрутизатора, далее все запросы на tcp соединения доходят до контроллера и в течении нескольких секунд количество соединений достигает максимума. контроллер затыкается.
Вопрос 1 как быстро восстанавливается обмен после выключения и включения питания. Если всегда быстро, значит нет большого таймаута на сброс соединений.
Соединения должны сбрасываться контроллером в районе 2-3 мин. Проверить можно выключив запросы на скаде на 3-4 минуты. Эффект должен быть такой же как и при выключении питания.
Способы выдернуть кабели не пройдут так как запросы на tcp соединения будут сохраняться.
Еще можно проверить выдернув кабель из контроллера, 2-3 мин. Подключиться по месту. Запросить те же данные по modbus.

Еще раз.
соединение - ошибка - пауза малая - так 3 раза. Затем пауза большая 3 мин.
Во время большой паузы запросы на соединение направлять ненужно.
Связь контролировать либо ping, либо (если есть) по UDP
Можно программно завести 2 регистра с функцией heartdbeat. В один писать текущее unix время со скады. Выход текущее unix время контроллера.
Еще один момент: transaction ID. В 15 версии Labview он был всегда 0.
В 19 уже начал использоваться. В 16 возможно еще не использовали.
Отсюда бред из растяжки, когда на запрос приходит предыдущий ответ.
Лог нужен со сниффера Wireshark, отфильтрованный по IP контроллера.


__________________
В жизни 2 правила успеха:
1 Не говори всего что знаешь
2 ...
ujin вне форума   Ответить с цитированием