PDA

Просмотр полной версии : Наработка моточасов в ПЛК



desperadoes
22.10.2013, 17:08
Здравствуйте! Собирпюсь написать ФБ для наработки моточасов. Проблема в следующем: Необходиммо чтоб моточасы сохранялись в ПЛК в енергонезависимой памяти. Но насколько я знаю, если перезаписывать Retain переменные каждую минуту (плюсавать к наработке) то ничего хорошего из етого не выйдет. Подскажите кто как реализует данную ситуацию.
Спасибо.

melky
22.10.2013, 17:49
как-то делал счетчик, который можно использовать как угодно, в том числе и для подсчета наработки.
могут потребоваться библиотеки из оскат или утил. не помню уже.
на входы PV1, 2, 3, 4 вводятся числа например секунды, минуты, часы, дни. с CV1, 2, 3, 4 снимаются данные.
Выход стек можно подсоединять к следующему счетчику.
Считать можно все, что угодно, хоть бутылки с упаковками.

Переносить данные в Ratain можно по команде отключения питания ПЛК или сразу обозначив переменные подключенные к CV1,2,3,4 как Ratain.

Если на вход PVr подать маску входов, можно выполнить сброс счетчика, например только сброс счетчика дней.

desperadoes
22.10.2013, 18:02
Спасибо! вопрос как раз и интересует как переносить данные в retain. наверное по команде отключения питания будет правильней. Потому что если постоянно писать в retain... там же ограниченный цикл перезаписи.

melky
22.10.2013, 18:15
Подозреваю, что даже ПЛК не пишет на флеш память все переменные Ratain постоянно, а только по отключению питания.
Это должно быть в руководстве прописано на ПЛК. Иначе масло маслянное получается.

desperadoes
22.10.2013, 19:04
Ага нашел в РЭ ПЛК160
п 3.8.3 По истечении времени работы от аварийного источника питания и при отсутствии основного питания, контроллер автоматически записывает Retain-переменные в
энергонезависимую память и отключается

lazy
23.10.2013, 09:15
"автоматически записывает Retain-переменные" (с)
кроме случая с нажатием на кнопочку "reset". скрутють моточасики то )

desperadoes
23.10.2013, 12:11
Ну и как тогда быть?

Gans
23.10.2013, 12:42
Здравствуйте, Desperadoes.
Мой вариант: время бесперебойной, работы я сохраняю в компьютере и там все видно когда нажали ресет или обесточил контроллер :-)

melky
23.10.2013, 12:57
Действительно при сбросе слетают переменные Ratain, может не все, но то, что у меня находится в ПЛК в slave для панели ИП320. Точнее должно слететь то, что не успело записаться, добавиться в ratain. Сейчас курочу плк для проверок, что же все-таки успевает сохраняться.

Первоначальное отключение питания на 10 минут сохраняет ratain переменные. Назовем их начальными значениями. Если потом сделать сброс, то они будут сохранены.
В случае со счетчиком вероятно потеряется часть счета если нажать сброс.

Так что наверное надо для счетчиков каждый цикл программы сохранять данные в файл, если это критично.

Да, действительно, пока ПЛК не запишет данные из оперативы в Ratain, то при сбросе данные слетят. Останутся только те значения Ratain, которые были сохранены при отключении питания ПЛК.

desperadoes
23.10.2013, 14:52
Наверно самый безболезненный вариант- это сохранять данные счетчика, и в ПЛК и на компе. И отслеживать сброс ПЛК. и если произошел сброс то возобновить данные из компа в ПЛК

Дмитрий Артюховский
23.10.2013, 18:00
сохраняйте в памяти ПЛК... при записи 1 раз в минуту, и не большом проекте, ресурса лет на 20 хватит.... а потом, можно прибавлять наработку раз в минуту, а сохранять раз в 10 - 30 минут.... ну потеряете в худшем случае учет 9 - 29 минут, и что? выключения стендов с ПЛК не частое событие, на суммарной наработке не критично будет! (учет времени станка печати 5000 банкнот - отдельная тема!) ))

desperadoes
23.10.2013, 20:30
Спасибо! На сколько я понял в Retain переменные можно постоянно писать. там только ресурс Retain памяти ограничен. Но только при отключении питания, переменные записываются в память автоматом. А подскажите пожалуйста как сохранить retain переменные в память принудительно?