Имеется два десятка ПЛК100. Все подключены к технологической сети Ethernet, по которой осуществляется их прошивка и отладка. Каждый ПЛК собирает данные с УСО через порт-485 и передает в диспетчерскую по 232 через АС-3. Всё работает нормально.
Подключаю к этой сети два чистых ПЛК. Один делаю мастером, который по ModbusTCP, раз в секунду, пишет показания своего счётчика во второй ПЛК (который сделан слейвом с одним модбас-регистром для записи). Открываю 2 кодесиса. В одном отладка проекта первого ПЛК, в другом - второго.
Минут 5 - 10 всё работает - во втором ПЛК счётчик "тикает".
Потом что-то происходит и связь кодесиса со вторым ПЛК рвётся. Первый, при этом, начинает массированную DoS атаку ARP запросами, пытаясь выяснить МАС-адрес второго. За 30 секунд посылается почти 400 тысяч (!!!) запросов (имеется 30-ти МБ лог-файл).
В результате, из всего сетевого оборудования в технологической сети, только ПЛК не выдерживают этой атаки. Их сетевой интерфейс "ложится", хотя они продолжают работать и передавать данные в диспетчерскую по последовательным интерфейсам. Лечтся это только отключением питания каждого ПЛК (!!!). При этом, у некоторых ПЛК, интерфейс начинает работать сразу после перехода на аккумуляторное питание.
Случай не единичный - проверял это несколько раз. Повторяется стабильно.
Проблема, конечно, не в том что связь теряется и ложится интерфейс. Проблема заключается в поведении первого ПЛК. Что бы ни случилось, он никоим образом не должен так часто (раз в ~100 мкс) слать сетевые запросы!
Хотелось бы услышать мнения спецов на эту тему.