Показано с 1 по 5 из 5

Тема: Reset сбрасывает retain-таймеры :( ?

  1. #1
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,255

    По умолчанию Reset сбрасывает retain-таймеры :( ?

    Прочел почти все вопросы-ответы по подобным темам.
    На словах все хорошо. А на деле ?

    Мои действия :

    (ПЛК100-220-Р-L)
    Скачал прошивку 2.05 и таржет 2.05
    Вышел из Codesys
    Зашел в InstallTarget
    Снес старый таржет
    Поставил скаченный таржет
    Вышел из InstallTarget
    Перепрошил ПЛК с форматированием
    Зашел в Codesys
    Забил простейший код:

    VAR RETAIN PERSISTENT
    t : TON;
    END_VAR
    -----------------------
    t( IN := TRUE, pt := T#60m );
    IF t.Q THEN
    t( IN := FALSE );
    END_IF

    Поставил Simulation
    Логин
    Ok
    Разлогин
    Подключил контроллер
    Снял Simulation
    Логин
    Reset original
    Разлогин
    Логин
    Run
    Create boot
    Ok
    Еще раз Create boot
    Ok
    Разлогин
    Выключил питание контроллера
    Подождал около 15мин.
    Включил питание контроллера
    Логин (New program и Downloadов не было)

    Смотрю на t.ET - Ну и сколько должно быть ?
    5-15сек или 15-16мин ?

    У меня первое. А ведь должно быть второе. Retain не retain ?

    PS
    С другими переменными (не таймеры), объявлеными в том же разделе, все нормально.

    " ...Для примера, такие "сохраняемые и постоянные" переменные можно применить для таймера продолжающего выдержку времени после аварии питания..." - из Codesysного хелпа на который тут уже ссылались.
    Последний раз редактировалось Валенок; 02.04.2009 в 00:02.

  2. #2
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,255

    По умолчанию

    Нужно ровно через час чего-то включить.
    А во время ожидания может пропасть питание на 15-20мин.
    Ну и чего ? Папандос ?
    Свой TON из syslibtime мастерить ?

  3. #3

    По умолчанию

    Т.е. Вы ожидаете, что ПЛК работает без питания? Типа вечный двигатель?
    retain сохраняется в момент выключения питания, а не при reset ПЛК.

  4. #4
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,255

    По умолчанию

    Уважаемый Владислав. Вы второй пост почитайте.

    Я ожидаю что при включении TOF с задержкой в 60 минут,
    работе в течении 15 минут, пропадании питания на 40 минут и
    включении питания - выход Q TOF'а был TRUE еще в течении 5 минут.

    И это нормальное ожидание после прочитанного :
    " ...Для примера, такие "сохраняемые и постоянные" переменные можно применить для таймера продолжающего выдержку времени после аварии питания..." - из Codesysного хелпа


    А чо, значение RETAIN-переменной типа WORD (без инициализации в разделе объявлений ) при отсутствии элпитания в течении 15мин у Вас типа пропадает ? У меня сохраняется. Наверно вечный двигатель все-таки есть.
    И при Resetе (кнопкой конроллера) сохраняется. Точно - вечный двигатель есть.

    Таймеры значит все-таки НЕ ЭНЕРГОЗАВИСИМЫЕ (батарейку не имею ввиду).

    Таймеры типа системные часики используют. Или все-таки нет ?

  5. #5

    По умолчанию

    С чего бы это? Таймеры TON и иже с ними работают на основе внутреннего времени с момента старта. Стандартное поведение всех таймеров такого типа на всех ПЛК на основе CoDeSys
    Если хочется такого поведения, как Вы описываете - используйте время из библиотеки SysLibTime и в ретайн сохраняйте время старта. Придётся сделать свой собственный ФБ.

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •