Я всё-таки на Xilinx думаю. Отчего-то же он на него ругается.
Думать-то можно, но никогда не доверяйте диагностическим сообщениям на все 100%. Далеко завести может.
Наглядный пример из жизни. Weinmann'овский (т.е. HOMAG) "балочный" обрабатывающий центр. В диагностике жалуется на отсутствие питания на одной из станций распределенного ввода-вывода.
Знаю, что в модулях "power-инжекторов" этих станций действительно есть схема проверки наличия питания, и соответствующий бит статуса может читаться по сети. Лезу, проверяю - есть 24 вольта на клемме. Модуль сдох? Ну ладно, нахожу в ЗиПе заведомо исправный, меняю. Ошибка не уходит. Я в глубокой задумчивости. Логинувшись "сервисом", лезу в Codesys, запускаю онлайн-мониторинг, смотрю статус этой станции - все в порядке, есть на ней питание... Задумчивость перерастает в "фалломорфирование".
Спустя приличное время таки нахожу причину. Оказывается, сдвинулся со своего места герконный "концевик" на одном из пневмоцилиндров. Поршень пролетает мимо него и уходит чуть дальше, за пределы зоны срабатывания. Программа, дав команду на выдвигание цилиндра, не получает сигнала, подтверждающего, что шток цилиндра достиг конечного положения. Но вместо того, чтобы сообщить о неисправности этого узла, "искусственный интеллект" машины внезапно решает, что причина кроется в отсутствии питания в цепях управления пневмоклапанами (хотя станция и показывает, что там все в порядке). Во как... "дедукция, Ватсон!!!"