Страница 4 из 5 ПерваяПервая ... 2345 ПоследняяПоследняя
Показано с 31 по 40 из 41

Тема: плк150 не сохраняет переменные RETAIN

  1. #31
    Пользователь
    Регистрация
    24.07.2012
    Адрес
    Россия
    Сообщений
    1,492

    По умолчанию

    Вы не знаете может иных способов сохранения значений и считывания их по необходимости?

  2. #32
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    4,108

    По умолчанию

    Цитата Сообщение от Scream Посмотреть сообщение
    Вы не знаете может иных способов сохранения значений и считывания их по необходимости?
    Держите простой пример
    Счетчик подсчитывает секунды и накопленное значение сохраняется в Retain
    Замените целевую платформу на свою.
    Вложения Вложения
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  3. #33
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    4,108

    По умолчанию Retain

    То же самое но на ST
    Вложения Вложения
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  4. #34
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,575

    По умолчанию

    Цитата Сообщение от Scream Посмотреть сообщение
    Сделал и так, после включения\перезагрузки всё равно 0.
    Уберите в проекте любое упоминание о RETAIN переменных, уберите функции считывания/записи от переменной power или как там Вы её называете. Добавте в конфигурацию слейв на какой нибудь незадействованный интерфейс, создайте в нем соответствующие каналы, именуйте их, так как должны выглядеть Ваши сохраняемые переменные и проведите процедуру выключения до полной остановки и последующего включения.
    Не забудьте отписаться сохранятся ли после перезапуска значения тех переменных

  5. #35
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    4,108

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    Уберите в проекте любое упоминание о RETAIN переменных, уберите функции считывания/записи от переменной power или как там Вы её называете. Добавте в конфигурацию слейв на какой нибудь незадействованный интерфейс, создайте в нем соответствующие каналы, именуйте их, так как должны выглядеть Ваши сохраняемые переменные и проведите процедуру выключения до полной остановки и последующего включения.
    Не забудьте отписаться сохранятся ли после перезапуска значения тех переменных
    +100 500%
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  6. #36
    Пользователь
    Регистрация
    24.07.2012
    Адрес
    Россия
    Сообщений
    1,492

    По умолчанию

    Да, опробую и отпишусь сегодня. Скажите, а сброс в Codesys->онлайн->сброс и сброс со скрытой кнопки на панели плк эквивалентны? При нажатии того или этого сброса RETAIN сохраняются? или только через 10 мин после отключения питания происходит запись RETAIN?

  7. #37
    Пользователь
    Регистрация
    24.07.2012
    Адрес
    Россия
    Сообщений
    1,492

    По умолчанию

    Вот собственно как я делаю, может чтото не так в программе?
    Вложения Вложения
    • Тип файла: rar save.rar (32.7 Кб, Просмотров: 21)

  8. #38
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    4,108

    По умолчанию

    Цитата Сообщение от Scream Посмотреть сообщение
    Да, опробую и отпишусь сегодня. Скажите, а сброс в Codesys->онлайн->сброс и сброс со скрытой кнопки на панели плк эквивалентны? При нажатии того или этого сброса RETAIN сохраняются? или только через 10 мин после отключения питания происходит запись RETAIN?
    запись RETAIN происходит не через 10 мин после отключения питания, а после того, как на ПЛК перестанет моргать лампочка "работа"
    'Онлайн' 'Сброс'
    Заново инициализирует все переменные, за исключением VAR RETAIN. Если вы определили начальные значения переменных, они будут присвоены (включая VAR PERSISTENT). Прочие переменные приобретут стандартные значения по умолчанию (например, 0 для целых типов). Перед тем как переменные будут инициализированы, вы должны будете подтвердить это. Данный сброс аналогичен выключению и включению питания ПЛК при работающей программе.
    Т.е Codesys->онлайн->сброс не трогает RETAIN переменные какое у них было значение, такое и останется, значение моточасов в Вашем случае останутся, если конечно Вы с ними ни чего не делаете в программе, а она начнет выполняться с нуля, как после включения питания.
    'Онлйн' 'Сброс (холодный)'
    Выполняет те же действия, что и команда "Онлайн" 'Сброс', , и дополнительно выполняет инициализацию энергонезависимой области памяти RETAIN.
    Т.е Codesys->онлайн->сброс(холодный) эквивалентен аппартной кнопке сброс контроллера, при этом значения RETAIN (значение моточасов в Вашем случае) пропадут
    Вы должны понять, что любой способ сброса не вызывает принудительной записи RETAIN куда-нибудь или загрузки их откуда-нибудь.
    В контроллере есть файл retain.bin.
    1.При включении питания контроллера данные из файла retain.bin присваиваются retain-переменным.
    2.Программа выполняется и в ней изменяются текущие значения retain-переменных. Содержимое файла retain.bin остается пока не изменным. И так продолжается до момента выключения питания.
    3. В момент выключения питания, текущие значения retain-переменных сохраняются в файле retain.bin, автоматически без Вашего участия
    Пункт 3 должен так работать! Так задумано в кодесис.
    Но компания ОВЕН придумала дебильную возможность работать контроллеру после отключения питания на аккумуляторе.
    Управлять обесточенными механизмами какого-либо оборудования полный бред, а иногда и до беды не далеко, если например произошло кратковременное пропадание питания.
    Например, ПЛК управлял клапаном подачи газа в котел и на несколько секунд пропало питание в котельной.
    Клапан без напряжения закроется автоматически.
    Контроллер бодро продолжает работать на батарейке и удерживает свой выход управления клапаном во включенном состоянии.
    Клапан закрылся без участия контроллера, пламя в котле потухло.
    Через несколько секунд в котельной появилось питание клапан открылся и запустил несколько кубометров газа в раскаленную топку котла.
    Все. Взрыв. Нет больше котла, а может и котельной тоже больше нет
    Но это лирическое отступление.
    Контроллер ОВЕН, вместо выполнения действий п.3 сразу после отключения напряжения питания, упорно продолжает работать на аккумуляторе средне потолочное время в зависимости от здоровья аккумулятора, а затем когда заряд в аккумуляторе практически исчерпан начинает записывать в файл retain.bin текущие значения retain-переменных.
    Если аккумулятор умер, то и retain-переменные ни где и ни когда не сохранятся.
    В этом случае. При включении питания контроллера retain-переменным присваиваются данные из файла retain.bin. А это файл мог быть создан при удачном отключении питания, день или неделю или месяц назад.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  9. #39
    Пользователь
    Регистрация
    24.07.2012
    Адрес
    Россия
    Сообщений
    1,492

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    Т.е Codesys->онлайн->сброс(холодный) эквивалентен аппартной кнопке сброс контроллера, при этом значения RETAIN (значение моточасов в Вашем случае) пропадут
    Вот, что собственно происходило! Попробывал выключить питание на 20 мин и при включении все RETAIN вернулись (я до этого пользовался как раз таки сбросом, лень ждать было).
    Теперь всё работает как надо.
    Большое спасибо за развёрнутый ответ, очень помогли.

  10. #40
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    4,108

    По умолчанию

    Но я бы не очень радовался по поводу "Теперь всё работает как надо."
    1. Несколько выключений подряд с интервалом 20 мин приводят к полной разрядке аккумулятора и Вы вернетесь в начало проблемы т.к на полный заряд разряженного аккумулятора надо 3 часа.
    2. Аккумулятор имеет ограниченное количество циклов заряд-разряд и имеет свойство умирать через несколько лет эксплуатации.
    Так, что моточасы Вы сможете считать несколько лет подряд, а затем замена аккумулятора и подсчет моточасов с 0
    Ищите альтернативу, например сохранять время работы оборудования в файл. Но не часто, а то портрете во флешке контроллера дырку Ее ресурс циклов записи тоже ограничен.
    Нет ничего лучше старого электромеханического счетчика хранит информацию вечно (шутка)
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

Страница 4 из 5 ПерваяПервая ... 2345 ПоследняяПоследняя

Ваши права

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