сделал как в справке написано.
задаю из визуализации время, делаю сброс а оно не сохраняется.
Вид для печати
сделал как в справке написано.
задаю из визуализации время, делаю сброс а оно не сохраняется.
А глобальной ее делать не пробовали?
в гобальные вставлял
VAR GLOBAL_RETAIN
tz9:=TIME;
END_VAR
"Делаю сброс" - вот здесь поподробнее, какое именно действие с ПЛК под "сбросом" подразумевается...
Поясню: retain'ы обязаны сохраняться при обычном прерывании работы путем отключения питания ПЛК. И то при условии, что аккумулятор в ПЛК не сдохший. А вот при всяких "насильственных действиях", выполняемых из среды Codesys, они сохраняться не обязаны.
И, кстати: это при отладке программы на реальном ПЛК происходит, или в симуляции?
без реального плк пока. а сброс делаю " онлайн - сброс ". как в справке:
"Сохраняемые переменные обозначаются ключевым словом RETAIN. Эти переменные сохраняют свои значения, даже если произошла авария питания (выключение и включение) контроллера, что равносильно команде сброс (''Онлайн' 'Сброс''). Значения RETAIN переменных сохраняются в энергонезависимой памяти"
Ну вы похоже сами на свой вопрос и ответили. В реальном контроллере есть специальные средства, которые эти переменные записывают, а потом восстанавливают, а в эмуляции их скорее всего нет.
http://www.owen.ru/forum/showthread.php?t=2985. Почти та же самая проблема, и тоже в симуляторе (на реальном контроллере все работает без проблем). Видимо, такова реализация симулятора в Codesys.
понятно.спасибо
Здравствуйте! Подскажите как сделать чтобы переменная была глобальной и ее можно было бы изменить в любой момент, со СКАДЫ например? Т.к. одинаковые имена переменным задать нельзя, то в конфигурации ПЛК для передачи задаю другое имя переменной, а в программе их связываю, но при запуске программы значение из конфигурации (соответственно "0") записывается в глобальную переменную, как исправить ситуацию?
Хочу сказать что если пропадет питание, то переменная RETAIN сохраниться, но программа то запустится сначала и получается что переменная из конфигурации (в которой будет "0") запишет свое значение в глобальную, сбросит получается, вот в чем проблема
Переменные в конфигурации также имеют статус Retain и сохраняются. Другое дело, если некое устройство (например панель) при совместном старте с ПЛК запишет туда ноль, то это будет неприятно. Но это уже другая тема, и она здесь бурно обсуждалась.