PDA

Просмотр полной версии : как зашитить важные переменные? (плк150-220.и-м)



Devix
28.04.2009, 16:59
Есть несколько важных счетчиков которые нужно защитить от кнопки reset и watchdog-а. Как можно решить данную проблему?

Сейчас на ум приходит постоянно писать счетчик в flash память. В связи с этим интересует надежность файловой системы. Как она ведет себя при неожиданных перезагрузках?

PS: Конечно верное решение сделать дублирование ПЛК, но пока данный вариант не рассматривается.

Филоненко Владислав
29.04.2009, 10:10
Кнопку reset можно просто заклеить изолентой. Wathcdog - тут надо писать программы без ошибок.
Если хотите надёжно сохранять данные в ФС при любых событиях - делайте 2 файла и пишите их по очереди. Причём проверяйте правильность записи перед переходом на другой файл и между записями не менее 5 сек (иначе может протереться при постоянной записи)

Devix
30.04.2009, 18:32
Wathcdog - тут надо писать программы без ошибок.
Ну я вообще не верю в программы без ошибок, темболее в данном случае не только от меня зависит безошибочность программы но и от вас и еще от многих других.


Если хотите надёжно сохранять данные в ФС при любых событиях - делайте 2 файла и пишите их по очереди. Причём проверяйте правильность записи перед переходом на другой файл и между записями не менее 5 сек (иначе может протереться при постоянной записи)
Тоесть я так понимаю все манипуляции с файлами кешируются и этот кешь сбрасывается не чаще чем через 5 сек? И эта точная цифра?

Филоненко Владислав
01.05.2009, 10:12
кэш сбрасывается со скоростью 20-30 кб в секунду.
5 сек - чтобы дырку не протёрли :)

Devix
01.05.2009, 12:51
кэш сбрасывается со скоростью 20-30 кб в секунду.
5 сек - чтобы дырку не протёрли :)

У выс на форуме я нашел цыфру: 300 миллионов(http://www.owen.ru/forum/showthread.php?t=4539&highlight=%EC%E8%EB%EB%E8%EE%ED%EE%E2) циклов записи на флешь, а это 9 лет записи с частотой 1 сек, мне впринцыпе больше и не нужно.

PS: Спасибо за ответы.

Филоненко Владислав
01.05.2009, 18:23
всё зависит от размера блока - если 480 байт - то так, если больше, то циклов меньше

Филоненко Владислав
01.05.2009, 18:25
не закладывайтесь на 9 лет.
1 - часть памяти будет под программой и исключится из оборота
2 - 9 лет и не работает? рассчитывайте на 15-20 лет

vatsis
04.05.2009, 11:40
Кнопку reset можно просто заклеить изолентой. Wathcdog - тут надо писать программы без ошибок.
Если хотите надёжно сохранять данные в ФС при любых событиях - делайте 2 файла и пишите их по очереди. Причём проверяйте правильность записи перед переходом на другой файл и между записями не менее 5 сек (иначе может протереться при постоянной записи)

А программного отключения Wathcdog timer не предусмотрено?

Филоненко Владислав
04.05.2009, 15:06
зачем? специально положить грабли, соединить с гранатой ф-1 и ждать кто наступит?
а потом чернобыльские станции взрываются...

vatsis
05.05.2009, 07:48
зачем? специально положить грабли, соединить с гранатой ф-1 и ждать кто наступит?
а потом чернобыльские станции взрываются...

Для тех, кто уверен в себе. Если рассуждать так, то и в Windows нужно запретить изменять любые настройки, чтобы не зависало... :)

Филоненко Владислав
05.05.2009, 08:02
В нашей деревне все такие крутые, что Watchdog не используют?
В Винде его как-раз нет и в этом есть проблема.
Независимо от железа и программы и отсутствия в них багов проблему ионизирующего космического излучения никто не отменял.
Вы знаете, что по статистике каждый ПК должен виснуть раз в месяц? ДОЛЖЕН.
В ПЛК меньше транзисторов и сам он меньше - но проблемы это не отменяет. Ведь Вы его в свинцовый кожух >1 метра толщиной не прячете?

Малышев Олег
05.05.2009, 08:06
С точки зрения сисадмина так и надо. На рабочем столе две иконки - 1С и почта. И никаких вопросов от пользователя.
Программист контроллера и есть сисадмин. Он должен предусмотреть все реальные и маловероятные ситуации. В том числе и зависание проца(например, от удара молнии ).
Watch dog аналог водителя ритма сердца. Сердце не стучит - удар током.
А уверенность или неуверенность в себе не повод останавливать производство. Иногда стожек соломы лучше приклеить к месту падения

Generator
05.05.2009, 10:32
WatchDog, конечно, штука хорошая... - только это не решение проблемы, а затычка...

...проблему ионизирующего космического излучения никто не отменял.
Это, что, теперь уже и вспышки на солнце виноваты?! Или в нашем регионе радиоактивный фон повышенный?


...по статистике каждый ПК должен виснуть раз в месяц? ДОЛЖЕН.Так и напишите это в документации на ПЛК!!! :mad:
Статистика - наука о методах сбора, обработки, анализа и интерпретации данных, характеризующих массовые явления и процессы...
Это не закон, она может только предсказать некоторую вероятность... По статистике ничто, ничего не должно!
Думаю у солидных производителей статистика другая.

Филоненко Владислав
05.05.2009, 11:43
Отрицание политики не избавляет от её последствий. (с)

Что мы должны написать - про космическое излучение? я Вам привел пример, почему Watchdog необходим. Не говоря уже об ошибках в программе ...
А радиоактивный фон повышен в нашей Вселенной. Такова суровая правда жизни.
Думаю у солидных производителей watchdog тоже отключить нельзя :)

Давайте перейдём от обсуждения статистики к более насущным проблемам.

Николаев Андрей
05.05.2009, 19:51
Господа, хватит не о чем.
1. Есть ПК, где Вы сами организуете отслеживание процессов и принимаете решение о прерывании или перезагрузке или еще о чем то.
2. Есть ПЛК со своими принципами работы и вытекающими отсюда требованиями. И требования эти не много ни мало прописаны в ГОСТ-ах...

В отличае от программы на ПК программа в ПЛК выполняется ВСЕГДА. Это принцип работы ПЛК.
И watch dog - совершенно стандартное средство диагностики и больбы с нештатными режимами работы контроллера, будь то вина самого контроллера или программиста, который не учел что то при программировании, или недоконфигурировал чего то... (сейчас говорю в принципе).
Ситуация проста как 3 копейки:
У Вас стоит контроллер и управляет колбасной печью на несколько тонн, или цветником.
В силу непреодалимых обстоятельств происходит сбой в программе, и контроллер виснет, оставив включенным ТЭН-ы. Продукт на смарку - убытки на кого???
Виной повторюсь может быть что угодно: перепады напряжения, пьянный электрик, сварщик, который запитался от фазы питания контроллера, переполнение счетчика, которое не предусмотрели, переход в вечный цикл...
Контроллер должен отследить, что программа выполняется. А если не выполняется: все выключить и продиагностировать (Reset)/ И начать с указанного программистом места.

И не важно на сколько известный бренд делал ПЛК. Но если он сделал ПЛК, а не промышленный ПК, и сделал его согласно ГОСТ-ов, то так и будет работать ЛЮБОЙ ПЛК ЛЮБОГО производителя.

Открою страшную тайну: watch dog-ов даже 2. Один закладывает CoDeSys, и один для надежности мы. Как раз чтобы не было статистики, и разговоров Брэнд-не-брэнд.