Столкнулся со странностью.
Работа по СОМ порту, ST, CAA SerialCom.
На старте открываю все 5 портов на СПК110 М01, по одному из них начинаю опрос, 57600 8N1.
Всё работает штатно/нормально, но через некоторое время (зависит от выставленного цикла в таскменеджере POU) COM.Write возвращает ошибку 5802, и дальше оживить порт невозможно. З
Хендл порта не меняется, повторого открытия или закрытия в цикле не происходит - ставил бряки, не отрабатывают.
Интересное: отваливаюся ВСЕ порты (т.е. заново закрыть и открыть люббой порт невозможно - даже не доходим до xDone) - да же те, по которым обмена не было (!).
Только переброс питания - тогда всё восстанавливается, до следующего раза.
Пробовал открывать только один порт (остальные "молчащие" держал закрытыми) - эффекта ноль.
Но влияет тайминг в таскменеджере: чем меньше время цикла, тем быстрее приходим к ошибке.
В максимуме разгоял задачу до цикла в 6мс - по осциллографу всё укладывается, но ошибка прилетает через несколько минут работы.
Подозреваю на глюк ОС/библиотеки (хотя и кривые руки тоже, хех).
Прошивку ПЛК не обновлял пока - решил тут спросить, может было у кого-то такое. Куда копать?
PS прошивка spk1xxm01 2.4.0923.1000




Ответить с цитированием