Страница 2 из 5 ПерваяПервая 1234 ... ПоследняяПоследняя
Показано с 11 по 20 из 42

Тема: Retain переменные

  1. #11
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию

    Цитата Сообщение от swerder Посмотреть сообщение
    что приводит к постепенной деградации этой самой флэш памяти) проще пожалуй аккум поменять
    Ну, вряд ди ресурс такой малый. Речь же не идет о сохранении поминутно?
    А есть паспортное значение числа перезаписей?

    Так значит, оформив некоторое количество переменных в виде файла, можно этот файл записывать во флэш на борту ПЛК? Это выглядит просто как вызов функции? И происходит в фоновом режиме - или процессор тормозит, пока не запишет?

  2. #12
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    В ретайне нужны только жизненно необходимые данные
    Вот. Жизненно.
    Позволю сформулировать свои вопросы развернуто.
    Возникла потребность в сохранении значений некоторых переменных в энергонезависимой памяти ПЛК100. Просмотрев форум, поэкспериментировав на железке, хочу высказать несколько мыслей с надеждой на оценку их верности — или конструктивную критику. Для меня важно, не ошибаюсь ли я.

    Итак, я думаю, что в ПЛК100 есть ОЗУ на батарейном питании (RETAIN-переменные) и ЭППЗУ, именуемое флешкой.

    Объем RETAIN-памяти — 4...16 Кбайт. О ресурсе и надежности здесь на форуме говорится много, но похоже, что есть 2 момента, которые сделали для меня эту память не интересной.
    1) При аппаратном сбросе ПЛК кнопочкой данные теряются.
    2) При "зависании" программы — тот же эффект.
    Все это — следствие того, что сохранение в RETAIN-памяти происходит явным образом в момент, когда процессор почуял недоброе. Либо это пропадание питания, либо еще что — но при нажатии грубым животным весом более 1 кг (как сказал В.Филоненко) кнопки СБРОС или при улете программы по какому-нибудь недолеченному багу процессор ничего не учует.

    ВОПРОС НОМЕР 1: Я правильно понимаю эту слабость RETAIN-памяти?

    Как я понял, в ПЛК100 из-за питания всего контроллера от аккумулятора ресурс последнего — год или два, как я понял из отзывов. Сам не проверял. А мне не нужно, чтобы ПЛК боролся за жизнь 10 минут после выключения питания. Пусть лучше только память кушает электроэнергию.

    ВОПРОС НОМЕР 2: Есть ли возможность "отучить" ПЛК пожирать аккумулятор, а просто складывать ласты и тихо отходить — сразу по выключению питания? А еще лучше — сделать при этом сохранение указанных переменных в RETAIN-памяти, как ему и предписано.

    Флешка. Тут много спорят о ее ресурсе, цифры называются в диапазоне от мизерных 10 тысяч до маловероятных 20 миллионов циклов. Но другого в ПЛК100 нет, поэтому присмотрелся, пописАл в нее, почитал из нее.
    Верно ли, что туда-сюда можно только в виде файлов? Уточните, кто знает.
    Вроде как без проблем пишутся и читаются любые переменные, структуры, массивы (пример прилагается).

    ИНОФРМАЦИЯ НОМЕР 1: см.пример.

    Может кому будет полезно в том примере вот что. Меня порадовало то, что указатель на область, запихиваемую в файл (область эту в доках называют байтовым буфером, поэтому я определяю указатели именно как указатели на байтовые переменные), вполне можно направить на что угодно. Таким образом, поставив указатель на переменную иного, чем байт типа, указав СКОКА байт хотим в файл запихнуть — пишем без проблем. И достаем так же.

    А теперь о своих страхах. Мне кажется, что использование энергонезависимой памяти в ПЛК, популярное в задачах автоматики, несколько отличается от того, что нужно в моей задаче. У меня ПЛК есть просто контроллер (практически автономного) измерительного устройства. Он:
    а) чаще всего работает совершенно автономно и никакой СКАДы над ним не нависает. Не стоит перед ним задача журналирования событий, столь распространенная в системах автоматики, как некому и сбрасывать журнал
    б) энергонезависимая память нужна моему ПЛК для 2-х вещей:
    - накопление некоторой переменной, просто как счетчик электроэнергии: растет-растет, дошел до 9 девяток и сбросился в ноль, начинает расти дальше. Его приращение происходит реально раз на несколько секунд-несколько десятков секунд, поэтому за 8-10 лет работы в 3 смены теоретически может быть 60 млн приращений. Реально так не бывает, но речь идет о миллионах, а не о десятках тысяч раз;
    - запоминание некоторых конфигурационных параметров. Это параметры, настраиваемые в процессе работы прибора, с соблюдением прав доступа и прочей лабуды, ВОПЧЕМ, важные параметры. Случай повреждения такого параметра может приравниваться к серьезной поломке прибора, причем стоимость восстановления может быть больше цены прибора. Без шуток.

    И вот я думаю.
    Можно доверить RETAIN-памяти хранение моих данных? Стремно, если через год-два начнет пропадать.
    Можно ли обойтись одной только флешкой ПЛК100? Нельзя. Нет ресурса на миллионы записей.

    Поэтому хочу использовать компромиссное решение: накапливаю переменную в RETAIN-памяти, а раз в ??? минут — сбрасываю во флешку. Вот тут-то и пригодилась бы непротиворечивая информация о ресурсе флешки — чтобы верно оценить, какой делать интервал. В году полмиллиона минут...

    ВОПРОС НОМЕР 3: Так сколько же раз допускает флешка запись?

    И хочу попросить, бесперебойники и комп верхнего уровня — не предлагайте. И кучерявые ПЛК с карточкой. Мне во всем хватает старичка ПЛК100.
    Вложения Вложения

  3. #13
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    апись в ретайн происходит только при отключении питания, так, что если вы обозвали переменную ретайн, она не пишется во флеш постоянно.


    Примерно 50 000тыс записей.

  4. #14
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию

    Цитата Сообщение от lara197a Посмотреть сообщение
    апись в ретайн
    Так в RETAIN. Тут флеш сама по себе на причем. Если ничего не предпринимать с файлами, то там она и остается? Сам ПЛК ее ж не пихает в флеш. Поэтому "ресурс" RETAIN-памяти, как я понимаю, это ресурс аккумулятора.
    А ресурс флеш-памяти - это к-во записей в один адрес (или кластер). Кстати, где описаны размеры йентих самых кластеров или какими кусками там происходит запись?

  5. #15
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию

    Вроде как. Но такие прикидки я уже читал. И сам могу поприкидываться
    Интересно было бы прочесть мнение людей, читавших не доступные нам материалы или реально исследовавших предмет. Например, тот пацан, что написал "размазывание тонким слоем по всей флешке" - он же оставил после себя нечто отчетное? И работал по некоему ТЗ. Почему бы нам не ознакомиться в подробностях с тем, как работает флешка в купленных нами контроллерах?

    И, конечно же, очень хочицца ответы на остальные вопросы.

  6. #16

    По умолчанию

    Цитата Сообщение от drvlas Посмотреть сообщение
    1) При аппаратном сбросе ПЛК кнопочкой данные теряются.
    2) При "зависании" программы — тот же эффект.
    с большой вероятностью правда
    Цитата Сообщение от drvlas Посмотреть сообщение
    ВОПРОС НОМЕР 2: Есть ли возможность "отучить" ПЛК пожирать аккумулятор, а просто складывать ласты и тихо отходить — сразу по выключению питания? А еще лучше — сделать при этом сохранение указанных переменных в RETAIN-памяти, как ему и предписано.
    возможность есть, на форуме даже решения есть. гарантии только нет, что через год-два все будет работать так же идеально как в первую неделю
    Цитата Сообщение от drvlas Посмотреть сообщение
    Поэтому хочу использовать компромиссное решение: накапливаю переменную в RETAIN-памяти, а раз в ??? минут — сбрасываю во флешку. Вот тут-то и пригодилась бы непротиворечивая информация о ресурсе флешки — чтобы верно оценить, какой делать интервал. В году полмиллиона минут...
    интервал скорее надо рассчитывать из допустимой ошибки подсчета. если за полчаса не сильно изменяется, можно раз в полчаса, если же меняется кардинально раз в минуту...

  7. #17
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию

    Цитата Сообщение от swerder Посмотреть сообщение
    возможность есть, на форуме даже решения есть. гарантии только нет, что через год-два все будет работать так же идеально как в первую неделю
    А почему? Я как-то привык чувствовать процессы "на пальцах" и в микроконтроллерах к чудесам отношусь с некоторой долей недоверия (ну, ТИПА, это мы еще просто не разобрались). Есть аккумулятор. Если его нормально грузить, то какой-то срок его службы таки да можно ожидать - ну, гарантия слово сильное, но если на пару сотен изделий попадется 1 некондиционный аккум, то это лечится его заменой, дело житейское.
    Итак, есть аккумулятор. Есть процессор, будь то АРМ или ДИЗАРМ какая разница. Если его научили быстро выполнять задание усыпления, а не мучить аккумулятор 10 минут, то он за десятки миллисекунд перепишет что надо куда надо и умрет.
    Что еще? Что повлияет на то, что уже через год мы начнем нервничать?

    Либо я чего-то не понимаю в сложной структуре ПЛК, либо решения, о которых ты говоришь (можно ссылочку?) - не решения. В том смысле, о котором я говорю, ускорения смерти.


    Цитата Сообщение от swerder Посмотреть сообщение
    интервал скорее надо рассчитывать из допустимой ошибки подсчета. если за полчаса не сильно изменяется, можно раз в полчаса, если же меняется кардинально раз в минуту...
    Ну, можно и так. Скорее, надо считать с двух сторон - и решать, допустима ли такая схема. То есть, если по ресурсу я получаю допустимый период сохранения, скажем, 1 час, то потом я уже буду чесать репу, можно ли рисковать потерей данных за час. Уточняю: именно рисковать, а не 100%-но терять. Ведь надежда на использование аккумулятора и РИТЕЙН-памяти еще живет в моем усталом сердце

    Кстати, что-то уважаемый Н.Андреев говорил (не найду сейчас) о задействованости аккумулятора в процессе записи во флеш. Неужели это может быть правда? Ущипните меня, это сон! Если так, то со смертью аккумулятора ПЛК вообще ничего никуда не пишет??? Рад ошибиться в таком дурацком предположении...

  8. #18

    По умолчанию

    Цитата Сообщение от drvlas Посмотреть сообщение
    А почему?
    а потому, что такая фича не предусмотрена производителем, и подобные пляски с бубном каждый делает на свое усмотрение.
    линк раз
    Цитата Сообщение от drvlas Посмотреть сообщение
    он за десятки миллисекунд перепишет что надо куда надо и умрет.
    Что еще? Что повлияет на то, что уже через год мы начнем нервничать?
    линк два
    Цитата Сообщение от drvlas Посмотреть сообщение
    Кстати, что-то уважаемый Н.Андреев говорил (не найду сейчас) о задействованости аккумулятора в процессе записи во флеш. Неужели это может быть правда? Ущипните меня, это сон! Если так, то со смертью аккумулятора ПЛК вообще ничего никуда не пишет??? Рад ошибиться в таком дурацком предположении...
    улыбнуло а по вашему, за счет чего будет работать проц, если с платы отпаять аккум (другой вариант, аккум полностью разряжен) и вырубить питание? как говорят про двигатели внутреннего сгорания, на парах?

  9. #19
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию

    Спасибо за линки. Посмотрю.
    Цитата Сообщение от swerder Посмотреть сообщение
    а по вашему, за счет чего будет работать проц, если с платы отпаять аккум (другой вариант, аккум полностью разряжен) и вырубить питание?
    Я плохо выразился. Имелос в виду, что

    а) при наличии 220В

    плюс одновременно

    б) при полностью умершем аккумуляторе

    - будет записываться во флеш? Если будет - дык! йо-майо, все решаемо. Я не буду дожидаться пропадания питания, а своевременно все буду беречь.
    А вот если наличие нормально работающего аккумулятора необходимо для записи во флеш при наличии 220В - вот тогда я в шоке.

    А из слов Андрея (здесь же, в этой ветке) я не понял. Хотя, похоже, все нормально.

  10. #20

    По умолчанию

    Цитата Сообщение от drvlas Посмотреть сообщение
    А вот если наличие нормально работающего аккумулятора необходимо для записи во флеш при наличии 220В - вот тогда я в шоке.
    скорее аккум нужен для записи во флеш по аналогии с ретайн - при пропадании питания из сети.
    Цитата Сообщение от drvlas Посмотреть сообщение
    при полностью умершем аккумуляторе
    Я не буду дожидаться пропадания питания
    а если при полностью умершем аккуме в момент записи файла на флеш пропадет питание? ох глюков потом будет... чем чаще пишется файл, тем больше вероятность совпадения этих событий)
    Последний раз редактировалось swerder; 21.02.2011 в 12:29.

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

Ваши права

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