Иногда во время работы конфигурационные параметры сбрасываются в значения по умолчанию.
Почему это происходит и как этого избежать?
Вид для печати
Иногда во время работы конфигурационные параметры сбрасываются в значения по умолчанию.
Почему это происходит и как этого избежать?
Это что же такое могучее нужно им коммутировать....
Интересный случай.
Опишите подробнее пожалуйста схему, какие параметры сбрасываются, при каких условиях.
Программу вашу проглядел. Криминала вроде нет.
Единственное, что насторожило - это время цикла 1мс.
Попробуйте цикл увеличить до 5 мс.
Кстати, имеются ли по близости мощные переключатели или пускатели (источники Электро Магнитных Помех). Имеются ли рядом частотники? Если есть, то как близко?
Чтобы не плодить темы, решил спросить тут: насколько больше время чтения конфигурационных параметров по сравнению с операционными?
Обращение к конфигурац. параметрам по чтению примерно 100-150 раз в секунду - это нормальная практика, или лучше использовать локальную переменную?
Мне утверждали, что по времени обращения это одинаково.
Тема найдена поиском!
«Топискер» так и не получил ответа на вопрос.
Попробую задать этот вопрос снова:
Работают 20 шт., ПЛК 73, на всех одинаковая программа, каждый ПЛК на своем месте запитан от ИБП. Однако, во время работы, на некоторых ПЛК, конфигурационные параметры сбрасываются в значения по умолчанию.
Почему это происходит и как этого избежать?
Всем добрый день.
Вижу, тема до сих пор так и не раскрыта. Столкнулся с такой же ситуацией - ПЛК73 + панель Weintek. В панели задаю полтора десятка параметров типа UINT (пределы уставок), все объявлены как RETAIN в ПЛК, тип параметра Конфигурационный. Периодически то один, то другой самопроизвольно сбрасывается на значение по умолчанию. Отключений по питанию не было, программа выполняется нормально. Что характерно - практически аналогичный проект реализован на ПЛК110 - там такого не наблюдается. ПЛК73 особенный, это факт)
Можно, конечно, с этим бороться разными способами, но интереснее разобраться почему.
Уже больше полутора лет работает ПЛК63, который сидит на грязном питании с периодическим отключением, еще ни разу не слетал Конфигурационный параметр. Меняет либо по сети, либо с экрана.
Удалось обнаружить причину такого странного поведения ПЛК73. Происходит конфликт COM-портов.
На COM 0 ПЛК - мастер, опрашивает датчики раз в 10 секунд, по COM 1 соединен с панелью, соответственно, здесь ПЛК - слейв. Общаются все по Modus RTU. В панели имеются кнопки инкремент/декремент для параметров типа INT, и при длительном удержании этих кнопок запись по COM 1 "накладывается" на чтение по COM 0, дальше (вероятно) Watchdog и (точно) Reset. Конфигурационные переменные, которые были изменены после последнего отключения питания, не записываются в EEPROM (это же не отключение питания), и соответственно принимают последнее сохраненное значение (в моем случае 0).
Вижу следующие выходы из ситуации:
1. Инкрементируемую переменную записывать ОДИН РАЗ И ПО ОТЖАТИЮ КНОПКИ - есть у панели возможность поставить флаги начала/окончания записи. Вроде бы наиболее логично, но заняты у меня эти флаги(
2. Найти где-то в ПЛК73 флаги работы порта COM 1 (того, что слейв) и разрешать второму порту опрос только при условии, что COM 1 ничего не принимает. Мне этот вариант был бы гораздо удобнее.
Помогите, люди добрые! Подскажите, где найти состояние работы COM-порта (именно приема-передачи). Точно же где-то есть.