Страница 3 из 3 ПерваяПервая 123
Показано с 21 по 27 из 27

Тема: Овен ПР-200 память для энергонезависимых переменных

  1. #21
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    12,986

    По умолчанию

    А кто мешает сохранять раз в секунду самим ST?

  2. #22

    По умолчанию

    Цитата Сообщение от программист_с_паяльником Посмотреть сообщение
    Здравствуйте.
    Пишу касательно механизма энергонезависимых переменных OwenLogic в привязке к ПР200.

    Например, нужно наблюдать наработку устройства в секундах. Благо udint-тип в секундах - это порядка 140 лет непрерывного стажа.
    Заводим соответствующую энергонезависимую переменную. Поскольку глобальные переменные из списка переменных OwenLogic доступны только на схеме, т.е. менять их изнутри функциональных блоков (ФБ) или функций невозможно (данный вариант ST не поддерживает указателей), только если помещать их в выходные блоки переменных, привязанные к var_output ФБ.

    Прошу подтвердить/опровергнуть мои умозаключения:
    1) Можно создать такую энергонезависимую переменную.
    2) Поместить ее выходной блок переменной, привязанный к внутренней переменной var_output ФБ, где ведется подсчет наработки устройства.
    3) Несмотря на то, что инкремент на единицу должен выполняться раз в секунду, ПР200 прогоняет свой цикл несколько раз за секунду. Это значит, что, в пределах этой секунды, искомой глобальной переменной, через выходной блок, будет присваиваться одно и то же значение, но это, в принципе, не важно.
    4) Поскольку моя программа все же работает поверх или в рамках прошивки ПР200, момент присваивания энергонезависимой переменной какого-либо значения не вызывает непосредственно физический, пусть будет, прожиг, ячейки flash/EEPROM/NOR/ПЗУ-памяти, потому что сохранение энергонезависимых переменных выполняется прошивкой ПР200 самостоятельно только при отваливании с него питания. Таким образом можно свободно работать с энергонезависимой переменной, не опасаясь преждевременного износа flash-памяти прибора.
    Да, примерно так - привязываете внешнюю энергонезависимую переменную ко входу и выходу блока на ST. Если переменная внутри не модифицируется - просто копируете вход на выход

  3. #23

    По умолчанию

    Цитата Сообщение от программист_с_паяльником Посмотреть сообщение
    Здравствуйте.
    Пишу касательно механизма энергонезависимых переменных OwenLogic в привязке к ПР200.
    Всё можно сделать, переменную на выход, в энергонезависимую переменную, потом её же на вход. Примеры с записью и памятью наработки ниже,
    последние варианты 8 и 10.
    При работе, используется только ОЗУ, запись в ПЗУ происходит только при выключении питания.

    4 насоса_Нараб_Ротация по времени_____ https://owen.ru/forum/showthread.php?t=38920&page=2#13
    Таймер прямого и обратного отсчёта с задачей времени и памятью наработки____ https://owen.ru/forum/showthread.php...l=1#post461025
    Последний раз редактировалось kondor3000; 03.11.2025 в 16:20.

  4. #24

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Всё можно сделать, переменную на выход, в энергонезависимую переменную, потом её же на вход. Примеры с записью и памятью наработки ниже,
    последние варианты 8 и 10.
    При работе, используется только ОЗУ, запись в ПЗУ происходит только при выключении питания.

    4 насоса_Нараб_Ротация по времени_____ https://owen.ru/forum/showthread.php?t=38920&page=2#13
    Таймер прямого и обратного отсчёта с задачей времени и памятью наработки____ https://owen.ru/forum/showthread.php...l=1#post461025
    Спасибо большое.

  5. #25

    По умолчанию

    Цитата Сообщение от 1exan Посмотреть сообщение
    Да, примерно так - привязываете внешнюю энергонезависимую переменную ко входу и выходу блока на ST. Если переменная внутри не модифицируется - просто копируете вход на выход
    Спасибо большое.

  6. #26

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    А кто мешает сохранять раз в секунду самим ST?
    Если не ошибаюсь, область видимости, да и сами возможности ST для OwenLogic, реализованы таким образом, что глобальные переменные списка Ctrl+Shift+V недоступны из ФБ или функций.
    Если у вас иное решение, было бы очень интересно.

    Изначально я именно, что хотел полностью отвязать retain-переменные от обычных и обновлять значения первых когда я сам решу необходимым.
    Последний раз редактировалось программист_с_паяльником; 03.11.2025 в 18:14.

  7. #27
    Пользователь Аватар для Сергей0308
    Регистрация
    25.06.2011
    Адрес
    Галактика Андромеды (M31)
    Сообщений
    9,433

    По умолчанию

    Цитата Сообщение от программист_с_паяльником Посмотреть сообщение
    Здравствуйте.
    Пишу касательно механизма энергонезависимых переменных OwenLogic в привязке к ПР200.

    Например, нужно наблюдать наработку устройства в секундах. Благо udint-тип в секундах - это порядка 140 лет непрерывного стажа.
    Заводим соответствующую энергонезависимую переменную. Поскольку глобальные переменные из списка переменных OwenLogic доступны только на схеме, т.е. менять их изнутри функциональных блоков (ФБ) или функций невозможно (данный вариант ST не поддерживает указателей), только если помещать их в выходные блоки переменных, привязанные к var_output ФБ.

    Прошу подтвердить/опровергнуть мои умозаключения:
    1) Можно создать такую энергонезависимую переменную.
    2) Поместить ее выходной блок переменной, привязанный к внутренней переменной var_output ФБ, где ведется подсчет наработки устройства.
    3) Несмотря на то, что инкремент на единицу должен выполняться раз в секунду, ПР200 прогоняет свой цикл несколько раз за секунду. Это значит, что, в пределах этой секунды, искомой глобальной переменной, через выходной блок, будет присваиваться одно и то же значение, но это, в принципе, не важно.
    4) Поскольку моя программа все же работает поверх или в рамках прошивки ПР200, момент присваивания энергонезависимой переменной какого-либо значения не вызывает непосредственно физический, пусть будет, прожиг, ячейки flash/EEPROM/NOR/ПЗУ-памяти, потому что сохранение энергонезависимых переменных выполняется прошивкой ПР200 самостоятельно только при отваливании с него питания. Таким образом можно свободно работать с энергонезависимой переменной, не опасаясь преждевременного износа flash-памяти прибора.
    Когда то таймер выкладывал с прямым и обратным отсчётом времени:
    https://owen.ru/forum/showthread.php...l=1#post353353

    Короче, мне даже сложно представить(придумать) какие здесь могут быть проблемы?!

    Если хотите экономить(я бы сказал разумно использовать) энергонезависимую память, можно для хранения значений булевых переменных использовать целочисленную, это позволяет до 8 раз более экономно расходовать энергонезависимую память, что согласитесь не мало и много раз уже обсуждалось на форуме:
    https://owen.ru/forum/showthread.php...l=1#post422860

    Например для хранения значений до 32(включительно) независимых Т-триггеров я использовал одну целочисленную переменную:
    https://owen.ru/forum/showthread.php...l=1#post376273
    Последний раз редактировалось Сергей0308; 04.11.2025 в 09:33.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

Страница 3 из 3 ПерваяПервая 123

Похожие темы

  1. Ответов: 8
    Последнее сообщение: 10.12.2024, 04:53
  2. ПР200 - повреждение энергонезависимых переменных
    от KaVc в разделе Программируемые реле
    Ответов: 9
    Последнее сообщение: 28.04.2022, 17:35
  3. Запись энергонезависимых переменных
    от Bariy в разделе Среда программирования OWEN Logic
    Ответов: 3
    Последнее сообщение: 30.01.2020, 16:50
  4. 1 сентября! Играем с ОВЕН, развиваем память!
    от Зоя в разделе Трёп (Курилка)
    Ответов: 22
    Последнее сообщение: 14.10.2017, 11:23
  5. Запись переменных в память
    от Solmik в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 22.06.2017, 13:26

Ваши права

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