-
У меня всего одна программа, подпограмм я не делал, поэтому под словом блок я имею в виду переменную класса VAR типа CTUD Функциональный блок ‘инкрементный / декрементный счетчик’ в составе программы, именно эту переменную я объявил retain. Под словом блок я не имел ввиду новый POU. Мы друг друга правильно понимаем?
Я объявлял выход CTUD как retain класса VAR и var global и ничего не полуалось. Не пробовал как var output.
-
Супер Модератор
-
Всё правильно, я так и делал, только использовал выход CV а не QU, после выключения питания и включения через 10 мин. данные не сохранялись!
В этой схеме impuls1 объявлен как VAR OUTPUT?
-
Супер Модератор
var output Вам не нужен в принципе...
Retain переменная, объявленная таким образом НЕ МОЖЕТ НЕ СОХРАНЯТЬСЯ - проверенно тысячи раз...
-
Последний раз редактировалось Сергей Борисович; 01.10.2010 в 16:56.
-
может какая дополнительная информация нужна? жду ответ.
-
Супер Модератор
-
-
-
Здравствуйте. Если я все правильно понял, то проблема у вас с понимнием механизма работы ФБ.
Когда вы запускаете программу, то ваш ФБ начинает производить счет. Естественно у ФБ есть своя локальная память, но она не энергонезависимая! Поэтому если на выход этого блока просто поставить переменную Retain? то ни чего у вас не выйдет. Почему?
Когда происходит отключение питания и разряжается аккумулятор, то данные у вас в RETAIN естественно сохранятся, но сам ФБ счетчика обнулится, поэтому при подаче питания счетчик начнет работать с нуля! И естественно Retain сбросится в 0!
Ваши права
- Вы не можете создавать новые темы
- Вы не можете отвечать в темах
- Вы не можете прикреплять вложения
- Вы не можете редактировать свои сообщения
-
Правила форума