Добрый день. Периодически появляется ошибка программы SF (во время диагностики цпу, при работе машины, при открывании некоторых блоков в онлайн), цпу остается в работе, но иногда машина дает сбои. Может это быть связано с несоответствием модификаций цпу (сконфигурирован 6ES7315-2AF01-0AB0, а по факту стоит 6ES7315-2AF03-0AB0)? Фото и файл диагностики прилагаю
MLFB контроллера, конечно, лучше привести к одному знаменателю. Но проблема не в этом.
У вас код, расположенный в OB35 выполняется дольше цикла (если по дефолту, то 100 мс). Варианты лечения:
1. Увеличить время цикла OB35 в конфигурации CPU.
2. Уменьшить объём вызываемого кода, перенеся "тяжёлые" части в OB3x с более длинным временем цикла.
3. Сделать ревью и оптимизацию кода для ускорения исполнения.
То, что версия ЦПУ другая, это вы так подключились, т.е. не обращайте внимания.
Проблема в содержимом ОB35, так как он слишком долго выполняется.
Когда началась появляться ошибка?
То есть это вы в нем писали код и намудрили? Или производитель аппарата?
Выкладывайте код, может неправильный кусок кода (ошибка) будет видна не вооруженным взглядом .
Спасибо за ответы. Значит блок OB35 не правился с 1999г. Там обрабатываюся 3 пид регулятора. При каждом обращении через mpi к блокам программы в онлайн идет эта ошибка, раньше такого не замечал. ПРавильно ли я понимаю, время обращения к OB35 на последнем фото 10мс?
Это очень похоже на опечатку - случайное удаление нуля в числе 100.
Иначе сложно представить задачу, для которой пид-регулятор должен отрабатывать 100 раз в секунду.
«.. (во время диагностики цпу, при работе машины, при открывании некоторых блоков в онлайн)…»
У вас стоят запятые, и я так понимаю, что:
- во время диагностики;
- при работе машины;
- при открывании блоков онлайн;
Я правильно понимаю? Или , если не тыкать ничем в ЦПУ, то ошибок нет?
Это плохо. Для начала можно, конечно, поиграться временем опроса ОВ35: поставить по дефолту 100. Посмотреть, как это повлияет. Потом уже дальше думать, так как вызывается FB, а это уже всё усложняет.
Хотя на вскидку FB Вызывается , чтобы сбросить значения (видимо для правильных расчётов), но FB может и долго вызываться в редких случаях.
ОВ35, может и не правился, а блоки которые он вызывает?
ПИД может быть и самописным со встроенным стандартным и там тоже можно такого накуролесить....
А заметили что между 1 и 2 эвентом прошло 4 минуты?
Наверно это не постоянная ошибка, а по условию в ОВ35 вызывается ещё блок, окромя ПИДов
Эх надо было учиться на ясновидящего, щяс бы по-быстрому нашаманил...
Блоки FB41 стандартные из библиотеки. Если не подключаться к plc, то ошибка моргает при запуске машины (с каким-то интервалом) и еще какое-то время (5-7 мин), потом пропадает. Когда будет длительный останов, поменяю время опроса OB35, резульат сообщу.
просто так нельзя менять время об35
если не использовалась темповая переменная самого об, то надо в каждом пиде поменять тоже
параметр sample time на актуальное время вызова