Просмотр полной версии : ПЛК100 Сброс ретэйнов в "0" (потеря файлов "ретайн")
Sergey666
03.11.2014, 14:16
Ну снова , привет Овен.
Вот уже сколько лет и зим и , уже ,кажется, везде соломки подстелил , но...
На очередном объекте уже второй раз после отключения питания все ретэйны в "0".
После записи файлов и перезагрузки все "ОК" и так может быть месяц до очередного "привета" .
Т.е штатный механизм сохранения ретэйнов работает , но!!! каким-то образом иногда дает сбой.
И!!! при этом теряются значения даже "старых" ретэйнов .
Установка работает уже около полугода и сегодня пришел второй такой "привет" .
Николаев Андрей
03.11.2014, 19:02
К сожалению, скорее всего, это вся та же проблема с аккумулятором.
В течение месяца мы ее окончательно решим.
Sergey666
03.11.2014, 21:23
Как показывает практика если аккум. дохлый , то сохранение не происходит никогда .
А в моем случае изменения сохраняются , такое впечатление что иногда процесс записи не завершается .
Sergey666
03.11.2014, 23:09
К сожалению, скорее всего, это вся та же проблема с аккумулятором.
В течение месяца мы ее окончательно решим.
Андрей! Проблема с акумулятором решается установкой более мощного акумулятора и не за 7 лет (2008 г начало ПЛК 100) , а за ... 30 дней (поиск , согласование и пр).
Каким путем вы ее окончательно будете решать?
Т.е штатный механизм сохранения ретэйнов работает , но!!! каким-то образом иногда дает сбой.
Могу предположить, что аккумулятор может быть полудохлым. В момент выключения переменные начали сохраняться и... не успели, а старый файл уже удален.
Такое может быть, когда несколько раз подряд отключается электричество и полудохлый аккумулятор не успевает зарядиться.
Sergey666
03.11.2014, 23:52
Могу предположить, что аккумулятор может быть полудохлым. В момент выключения переменные начали сохраняться и... не успели, а старый файл уже удален.
Такое может быть, когда несколько раз подряд отключается электричество и полудохлый аккумулятор не успевает зарядиться.
Может быть. Установка работает от электростанции , "заводится" по необходимости давать бетон .
Минимальный рабочий цикл минут 10 .
Придется ПЛК "турбировать" сильнейщим аккумулятором , заодно и кондеры на нижней плате "прокачать" до 63 в .:confused:
там где в ответственных местах пропадает свет, обычно бесперебойники ставят, это дает шанс закрыть все корректно
Я так понял там не свет пропадает, а установку включают ненадолго. А при включении аккумулятор много энергии теряет и не успевает зарядиться. А может проще отказаться от ретайн переменных и сохранять нужные переменные в файл перед отключением оборудования?
Николаев Андрей
04.11.2014, 19:48
Не всегда стоит хвастаться большим размером.
Стали уменьшать ток зарядки (большой разрушал аккумулятор).
Был найден паразитный канал разрядки аккумулятора даже у выключенного ПЛК.
Sergey666
15.11.2014, 00:35
Да , ток зарядки очень большой .
На днях разбирал ПЛК 100 (менял кондеры 470х16в) на нижней плате (Вот еще темка для размышления и оценки , как высохнут ПЛК 40 минут грузится).
На данном ПЛК более года назад был установлен аккумулятор от мобильника , аккумулятор после 14 мес работы внутри ПЛК слегка вздут , но .... работает без проблемм.
А по поводу размера и прочего скажу так -
Когда линия , которая должна что-либо производить , становится или работает не корректно из-за ПЛК или запчасти внутри ПЛК , владелец линии (или производства) требует (вполне справедливо) запустить производство ЛЮБЫМИ СРЕДСТВАМИ и !!! Обеспечить ЛЮБОЙ ценой стабильную работу оборудования .
На данном ПЛК более года назад был установлен аккумулятор от мобильника , аккумулятор после 14 мес работы внутри ПЛК слегка вздут , но .... работает без проблемм.
Сергей, скажите, аккумулятор от мобильника Вы устанавливали прямо внутри корпуса ПЛК? Вы прямо к нему провода припаивали или как-то иначе делали?
Я вот думаю для аккумулятора вывести провода наружу, чтобы в случае необходимости легко его заменить, не разбирая ПЛК.
Попробуте эти Ретайн объявить в PLC_PRG (если они не там объявлены). У меня как-то была проблема. С новым контроллером ПЛК63. Пока не там не объявил не сохранялись вообще. Ни как локальные в других ФБ , ни в глобальных переменных
Sergey666
16.11.2014, 11:57
Сергей, скажите, аккумулятор от мобильника Вы устанавливали прямо внутри корпуса ПЛК? Вы прямо к нему провода припаивали или как-то иначе делали?
Я вот думаю для аккумулятора вывести провода наружу, чтобы в случае необходимости легко его заменить, не разбирая ПЛК.
Внутри ПЛК аккумулятор помещается между верхней и средней платой .
Наружу выводить не стал , т.к не люблю когда "яйца" :p висят наружу :p;):D.
Думаю что схема доказала на практике свою работоспособность , хотя по сути это "костыли".
Я так понял Вы аккумулятор просто припаяли. Спасибо.
Lode Runner
21.11.2014, 06:35
Могу предположить, что аккумулятор может быть полудохлым. В момент выключения переменные начали сохраняться и... не успели, а старый файл уже удален.
Так ведь такое решается предельно просто: при отключении не нужно ничего удалять, надо писать в новый файл рядом, а при включении уже смотреть, что успело записаться и заменять в старом файле значения новыми уцелевшими данными.
Lode Runner
21.11.2014, 07:04
И ещё, очень не хватает индикатора заряда. Системной переменной в конфигурации, которая бы содержала значение остатка заряда. Можно было бы заранее отсылать СМС, что пора менять батарею...
Так ведь такое решается предельно просто: при отключении не нужно ничего удалять, надо писать в новый файл рядом, а при включении уже смотреть, что успело записаться и заменять в старом файле значения новыми уцелевшими данными.
Речь шла о переменных RETAIN.
Lode Runner
25.11.2014, 06:59
Да, я о них же, просто забыл уточнить, что это было пожелание, даже скорее, просьба к разработчикам прошивок для ОВЕН ПЛК.
Ну да)) Потом выключится именно перед тем когда надо было удалить старый файл. После включения не знает какой грузить, новый? или старый? зависнет, появятся новые предложения, костыли и так бесконечно....
Lode Runner
25.11.2014, 13:05
Не надо удалять при отключении. Надо проверить целостность нового при включении и если цел - взять всё оттуда и удалить старый, а если новый повреждён, то использовать старый и сигналить в сервисную переменную, что во время последнего отключения питания настройки не были сохранены из-за того, что батарейка не вытянула. Хотя бы так.
Lode Runner
25.11.2014, 13:08
Целостность можно проверять специальным сервисным битом, который сбрасывать в false перед началом записи и поднимать в true в самую последнюю очередь, когда все данные в новый файл уже записаны. Он же и будет сигналить о неуспешной записи во время старта контроллера.
Иван Воронин
03.08.2015, 21:24
К сожалению, скорее всего, это вся та же проблема с аккумулятором.
В течение месяца мы ее окончательно решим.
Не всегда стоит хвастаться большим размером.
Стали уменьшать ток зарядки (большой разрушал аккумулятор).
Был найден паразитный канал разрядки аккумулятора даже у выключенного ПЛК.
Андрей, озвучьте, пожалуйста, решение проблемы с аккумулятором.
Николаев Андрей
04.08.2015, 10:25
По моим данным вопрос решен.
Была изменена топология платы и некоторые элементы.
Подробностей не помню - надо уточнять у руководителя проекта.
Иван Воронин
04.08.2015, 11:26
Буду просто счастлив, если проблема наконец решится.
По моим данным вопрос решен.
Была изменена топология платы и некоторые элементы.
Подробностей не помню - надо уточнять у руководителя проекта.
Вы, пожалуйста, уточните.
Мне сегодня поддержка ответила.
Однако, полагаю, данный вопрос будет интересен не только мне.
Николаев Андрей
04.08.2015, 13:02
Обязательно уточню
LUCHNICK
04.08.2015, 15:41
Андрей, озвучьте, пожалуйста, решение проблемы с аккумулятором.
Самое надежное решение проблемы с ретайн-переменными- их вообще не использовать в проекте. Допустим производитель добьется продление службы аккумулятора, но ведь не до бесконечности. В первом проекте, где использовали Ретейн-переменные было установлено 2 новых ПЛК110 (около 2-х лет назад), аккумулятор в обоих прослужили менее года и умерли с интервалом где-то в месяц с общим сроком жизни около 9-10 месяцев. После этого пришлось немного подумать и полностью отказаться от применения ретейн-переменных. С тех пор используем архивирование переменных и сохранение уставок в архиве при каждом их изменении. Для наших применений вполне нормальное решение. После ПНР практически уже уставки не меняются. Да в процессе ПНР количество изменений не более нескольких десятков раз, что не критично для флэш-памяти ПЛК.
Иван Воронин
04.08.2015, 16:09
Самое надежное решение проблемы с ретайн-переменными- их вообще не использовать в проекте. Допустим производитель добьется продление службы аккумулятора, но ведь не до бесконечности. В первом проекте, где использовали Ретейн-переменные было установлено 2 новых ПЛК110 (около 2-х лет назад), аккумулятор в обоих прослужили менее года и умерли с интервалом где-то в месяц с общим сроком жизни около 9-10 месяцев. После этого пришлось немного подумать и полностью отказаться от применения ретейн-переменных. С тех пор используем архивирование переменных и сохранение уставок в архиве при каждом их изменении. Для наших применений вполне нормальное решение. После ПНР практически уже уставки не меняются. Да в процессе ПНР количество изменений не более нескольких десятков раз, что не критично для флэш-памяти ПЛК.
В целом согласен.
В нашем случае срок жизни аккумуляторов тоже меньше года.
В случае с уставками все не так сложно.
Однако в случае с использованием Retain переменных для хранения текущих состояний в технологическом процессе все сложнее.
Можно сделать сохранение/восстановление и в этом случае, но это уже сложнее, да и писать файл часто при изменении не хочется по причине низкого ресурса FLASH.
Мы попробуем исправление проблемы от Овена, если результат нас не удовлетворит, то будем работать с файлами.
Если решат с штатным ретайном - отлично. Но
... решение проблемы с ретайн-переменными- их вообще не использовать в проекте. Допустим производитель добьется продление службы аккумулятора, но ведь не до бесконечности...После ПНР практически уже уставки не меняются. ....изменений не более нескольких десятков раз, что не критично для флэш-памяти ПЛК...
Да и даже если технологические - 300млн записей по 0.5к маленький ресурс ?
Кто заставляет писать каждое изменение. Тупая задержка проверки изменений в 1сек - и имеем 10 (десять)лет. См. ресурс ПЛК
Эдуард_Н
04.08.2015, 18:51
Поделитесь опытом как переменные в место ретайна писать во флэш-память ПЛК, желателен пример написанный в CFC.
LUCHNICK
04.08.2015, 19:26
В целом согласен.
В нашем случае срок жизни аккумуляторов тоже меньше года.
В случае с уставками все не так сложно.
Однако в случае с использованием Retain переменных для хранения текущих состояний в технологическом процессе все сложнее.
Можно сделать сохранение/восстановление и в этом случае, но это уже сложнее, да и писать файл часто при изменении не хочется по причине низкого ресурса FLASH.
Мы попробуем исправление проблемы от Овена, если результат нас не удовлетворит, то будем работать с файлами.
В наших применениях нет необходимости сохранения текущих технологических параметров, поэтому нам пока проще. У нас только задаваемые уставки для работы. Поэтому, как только на панели ввели новое значение, оно сразу сохраняется в архиве. В Вашем случае, я бы использовал ИБП. Если входное напряжение пропало (сигнал заводится в ПЛК), то принимаем меры к прекращению работы и записываем текущие парааметры в архив. После появления питания, считываем из архива параметры и возобновляем работу (естесвенно, с учетом технологических особенностей).
LUCHNICK
04.08.2015, 19:33
Если решат с штатным ретайном - отлично. Но
Я так понимаю, что со старой версией ПЛК уже никто ничего не решит, а в новой версии какой-то новый метод сохранения Ретейн-переменных, независимый от аккумулятора (там уже батарейки)
Я так понимаю, что со старой версией ПЛК уже никто ничего не решит, а в новой версии какой-то новый метод сохранения Ретейн-переменных, независимый от аккумулятора (там уже батарейки)
Для ретейн в этой версии используется память MRAM (магниторезистивное ОЗУ, без дополнительного питания), 16Кб. Поэтому батарейка для этой памяти ненужна.
Sergey666
05.08.2015, 00:02
Для ретейн в этой версии используется память MRAM (магниторезистивное ОЗУ, без дополнительного питания), 16Кб. Поэтому батарейка для этой памяти ненужна.
Это с каких пор в ПЛК100 MRAM появилась ?
Чего муть разводить ? Николаев сказал н-ным количеством постов выше , что да разрабы му...ки , накосяпурили в двух транзисторах и 4х резисторах и ток заряда разрушает аккум (причем катастрофически убивает его) и это еще не все - по той же причине - косяк схемотехников наконец-то нашли "типа паразитную цепь разряда" .
Теперь утверждается что эти косяки устранили - ха-ха-ха .
Для себя решение определил установкой аккума от мобильника , решение работает нормально , только дешевые аккумы от неизвестных телефонов током заряда раздувает и убивает за 1год ,Нокии живут уже года 2 . Но заводской аккум живет только 3 месяца .
Решение записи-чтения в файл из той оперы что какой-то дополнительный - обслуживающий процесс сложнее основного , не всегда удобно .
Соббсно в чем сложность обслуживающего процесса ?
Поделитесь опытом как переменные в место ретайна писать во флэш-память ПЛК, желателен пример написанный в CFC.
Вот пример
PS
Т.к. не мазохист - на ST. Но в квадратики - имплантируется
Эдуард_Н
05.08.2015, 03:32
Соббсно в чем сложность обслуживающего процесса ?
Вот пример
PS
Т.к. не мазохист - на ST. Но в квадратики - имплантируется
Ну тогда хоть какое ни будь описание(инструкцию) приложите, пожалуйста.
Производители тоже могли бы какой ни будь учебный пдф по этому поводу выложить, проблема такая не только у ПЛК100, а у 154 и 110, 160.
Иван Воронин
05.08.2015, 09:11
Если решат с штатным ретайном - отлично. Но
Да и даже если технологические - 300млн записей по 0.5к маленький ресурс ?
Кто заставляет писать каждое изменение. Тупая задержка проверки изменений в 1сек - и имеем 10 (десять)лет. См. ресурс ПЛК
В официальной документации говорится о ресурсе 50 000 записей.
Конечно, можно мудрить, но будет еще сложнее (более затратно/менее надежно).
Потенциально проблемные решения (сохранение после отключения) лучше не применять, но если аккумулятор/батарея смогут обеспечивать надежное сохранение Retain в течение 10 лет (ну или хотя бы 5), то оно нас устроит.
Если года 2, то можно смириться при условии простоты замены аккумулятора.
Я так понимаю, что со старой версией ПЛК уже никто ничего не решит, а в новой версии какой-то новый метод сохранения Ретейн-переменных, независимый от аккумулятора (там уже батарейки)
Обещают заменить верхнюю плату.
В наших применениях нет необходимости сохранения текущих технологических параметров, поэтому нам пока проще. У нас только задаваемые уставки для работы. Поэтому, как только на панели ввели новое значение, оно сразу сохраняется в архиве. В Вашем случае, я бы использовал ИБП. Если входное напряжение пропало (сигнал заводится в ПЛК), то принимаем меры к прекращению работы и записываем текущие парааметры в архив. После появления питания, считываем из архива параметры и возобновляем работу (естесвенно, с учетом технологических особенностей).
ИБП не хотим, т.к.: место - в щитках его нет, рядом болтаться не вариант; стоимость; дополнительные заморочки с батареями. На этот вариант заказчик не пойдет.
Для ретейн в этой версии используется память MRAM (магниторезистивное ОЗУ, без дополнительного питания), 16Кб. Поэтому батарейка для этой памяти ненужна.
MRAM - круто. Есть ссылки на официальные источники?
Решение записи-чтения в файл из той оперы что какой-то дополнительный - обслуживающий процесс сложнее основного , не всегда удобно .
Согласен. Если изменения производителя не помогут, будем усложнять.
Юрий Горелый
05.08.2015, 10:26
Именно так.
В новой версии верхней платы уменьшен и ток заряда, и потребление в спящем режиме.
Так же изменен алгоритм вычисления оставшегося времени работы от аккумулятора - приведен к описанному в РЭ: время может корректироваться в сторону уменьшения, с целью сохранения RETAIN переменных в течении указанного срока.
В целом новая плата дает больший срок службы аккумулятора и время сохранения retain переменных.
Приборы с новой верхней платой выпускаются с апреля 2015 года.
Эдуард_Н
05.08.2015, 10:54
Приборы с новой верхней платой выпускаются с апреля 2015 года.
А с остальными ПЛК как обстоят дела? Когда у них устранят подобную проблему?
Не всегда стоит хвастаться большим размером.
Стали уменьшать ток зарядки (большой разрушал аккумулятор).
Был найден паразитный канал разрядки аккумулятора даже у выключенного ПЛК.
Литий-полимерный аккумулятор не переносит перезаряда и глубокого разряда. Существуют специальные микросхемы, контролирующие эти процессы. Фирма "ОВЕН" использует такие микросхемы или нет ?
В официальной документации говорится о ресурсе 50 000 записей....
Ну да - 300 млн записей по 512 байт.
Иван Воронин
05.08.2015, 15:11
Ну да - 300 млн записей по 512 байт.
С понял:) Но это дополнительная забота о распределении по диску.
Ну тогда хоть какое ни будь описание(инструкцию) приложите, пожалуйста..
В примере:
Всё для чего нужен ретайн - собрано в одну структуру - Flash (глобал)
A,B,C - просто пример данных. Набиваете что нужно для себя.
Начальные значения - желательны (используются при первом старте)
Вместо STRUCT использован FB - так проще сделать контроль диапазона ввода (для уставок бывает нужно)
Доступ к этим данным - из любого места просто объявление через точку Flash.A, Flash.B (и квадратиках
тоже)
Основной процесс не PLC_PRG, а Main.
Если привыкли к PLC_PRG, то вместо Main в начало PLC_PRG вставляете квадратик вида:
-------------
|_Setting_|
|___Ready|o------<|RETURN|>
-------------
При старте - читается файл с данными. Если его нет - пишется (стартовые значения)
Setting имеет копию ретайна. Периодически проверяются изменения. При их наличии - слив на флеш.
.. проблема такая не только у ПЛК100, а у 154 и 110, 160.
Достаточно одной таблэтки (C)
Для всех.
С понял:) Но это дополнительная забота о распределении по диску.
Этим озабочена "операционная система"
LUCHNICK
05.08.2015, 15:54
В примере:
При старте - читается файл с данными. Если его нет - пишется (стартовые значения)
Setting имеет копию ретайна. Периодически проверяются изменения. При их наличии - слив на флеш.
В наших случаях изменения уставок (значений) может проводить только оператор(наладчик) с панели оператора. Поэтому, если были введены с панели значения, не одинаковые с имеющимися в ПЛК, то тогда перезапись их в архиве ПЛК.
В наших случаях изменения уставок (значений) может проводить только оператор(наладчик) с панели оператора. Поэтому, если были введены с панели значения, не одинаковые с имеющимися в ПЛК, то тогда перезапись их в архиве ПЛК.
Дык Flash может быть прям области обмена ))
В наших случаях
К тому же терпеть не могу частных решений. Только общие.
Эдуард_Н
06.08.2015, 03:56
По моим данным вопрос решен.
Была изменена топология платы и некоторые элементы.
Подробностей не помню - надо уточнять у руководителя проекта.
Ответ производителей:
Здравствуйте!
Уже исправили, переразведена верхняя плата и создана новая прошивка перефирийного процессора. Если у Вас имеются, для которых необходмимо произвести замену верхней платы для устранения проблем с работоспособностью аккум-ра, то Вы можете прислать эти контроллеры в СЦ, либо если нет возможности отправть контроллеры в СЦ.
Новые переразведенные платы есть только для контроллеров ПЛК100/150/154.
Иван Воронин
06.08.2015, 12:20
Дык Flash может быть прям области обмена ))
Можете пояснить?
То есть записываемая структура содержит переменные, которые напрямую задаются с ИП-320?
Можно пример такой реализации?
init : bool;
pflash : pointer to fb_flash; //вместо глобальной flash
if not init then
init := true;
pflash := adr(где-то в области обмена);
...
end_if
Дальше доступ : pflash^.X ..
Может потребоваться начальная инициализация - по месту
Иван Воронин
06.08.2015, 14:02
init : bool;
pflash : pointer to fb_flash; //вместо глобальной flash
if not init then
init := true;
pflash := adr(где-то в области обмена);
...
end_if
Дальше доступ : pflash^.X ..
Может потребоваться начальная инициализация - по месту
А как обеспечить нахождение в этой области переменных - параметров процесса?
Разместите там TON (абсолютно такой же ФБ) Вызывать его только не забывайте.
TON.IN, TON.PT - параметр,
TON.Q, TON.ET данные,
TON.M, TON.START - "привате" данные.
Но все это лежит там. Ессно не желательно извне (из ИП320) писать в данные и "привате" данные. Но никто и не запрещает.
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot