PDA

Просмотр полной версии : Влияние на программу Отключение электроэнергии.



Антон_Б
29.10.2016, 06:56
Есть ПЛК110М02, который управляет технологическим процессом, состоящим из 5-и стадий. Запущен секундомер. Как сделать, чтобы при отключении света и последующем включении программа ПЛК продолжала работать с того момента как выключили свет? Т. е. секундомер продолжал отсчитывать время со значения при котором пропало питание ПЛК.

Woolfy
29.10.2016, 07:17
Сначала завести в контроллер сигнал с реле контроля фаз. Т.е. при появлении сети ПЛК будет знать, что сеть появилась и в норме. Питание самого ПЛК в этом случае необходимо хотя бы резервировать. В таких случаях обычно используют ПЛК с питанием 24 В. В программе разрулить режим ПАУЗА. В контроллере RTC есть. Помните, что автоматическое возобновление работы может быть опасным...

приборист
29.10.2016, 10:47
Модуль Statistic -> Power Status + Retain.

Антон_Б
29.10.2016, 13:28
Модуль Statistic -> Power Status + Retain.
А как работать с power status? Хочу сделать время процесса как
VAR_GLOBAL RETAIN
(* ВРЕМЯ ПРОЦЕССА В СЕКУНДАХ*)
_SEC_PROC : UDINT := 0;
END_VAR

но интересует количество циклов записи, которое может выдержать ячейка retain памяти?

Антон_Б
30.10.2016, 11:14
но интересует количество циклов записи, которое может выдержать ячейка retain памяти?

сам себе отвечу: Такая память в 1 тыс.
раз быстрее традиционной EEPROM и не имеет
ограничения по количеству циклов перезаписи.

capzap
30.10.2016, 11:44
сам себе отвечу: Такая память в 1 тыс.
раз быстрее традиционной EEPROM и не имеет
ограничения по количеству циклов перезаписи.
это Вы про какой тип памяти сейчас упомянули и так, в общих чертах представляете когда пишется ретайн память?

Антон_Б
30.10.2016, 12:52
MRAM память для RETAIN переменных в ПЛК110 М02

Антон_Б
31.10.2016, 10:53
Правильно ли я объявляю глобальную ретайн переменную
При отладке, почему-то не сохраняется при отключении питании или Сбросе ПЛК?

VAR_GLOBAL RETAIN

(* ВРЕМЯ ПРОЦЕССА В СЕКУНДАХ*)
_SEC_PROC : UDINT := 0;
END_VAR

melky
31.10.2016, 10:57
Антон_Б изучите в какой момент сохраняются ретейн переменные в ПЛК Овен, тогда все вопросы отпадут.

пишите в файл по реальному событию а не ждите, когда прошивка ПЛК соизволит их записать.

Филоненко Владислав
31.10.2016, 21:01
Правильно ли я объявляю глобальную ретайн переменную
При отладке, почему-то не сохраняется при отключении питании или Сбросе ПЛК?

VAR_GLOBAL RETAIN

(* ВРЕМЯ ПРОЦЕССА В СЕКУНДАХ*)
_SEC_PROC : UDINT := 0;
END_VAR
Bootproject нужен.
А при Reset Retain и не должны сохранятся.

Антон_Б
01.11.2016, 12:37
А справка Codesys утверждает что при нажатии Сброс в среде программирования из меню ОНЛАЙН RETAIN сохраняет своё значение. Так и не получил вразумительного ответа на свой вопрос.

petera
01.11.2016, 15:46
А справка Codesys утверждает что при нажатии Сброс в среде программирования из меню ОНЛАЙН RETAIN сохраняет своё значение. Так и не получил вразумительного ответа на свой вопрос.

А разве это не так?


PROGRAM PLC_PRG
VAR
Btn: BOOL;
Yes: BOOL;
R_TRIG1: R_TRIG;
c: INT;
END_VAR
VAR RETAIN
a: INT;
END_VAR

R_TRIG1(CLK:= Btn, Q=>Yes );
a:=a + BOOL_TO_INT(Yes);

https://www.youtube.com/watch?v=KiPFXA0SwXE

Здесь переменные "а" - retain, "с" - обычная.
Соответственно после сброса из среды программирования "а" сохраняет свои значения, а "с" сбрасывается в начальное значение.

Антон_Б
01.11.2016, 16:37
А РАБОТАЮТ ЛИ ГЛОБАЛЬНЫЕ RETAIN ПЕРЕМЕННЫЕ, объявленные в Global_Variables
Делаю всё также, но переменная не сохраняется, а обнуляется.

Антон_Б
12.11.2016, 20:28
Нашёл на форуме следующее:

Ритейны в ПЛК110 М02 инициализируются в ноль если выполнена следующая последовательность:
1)В ПЛК не было программы. Подача питания, подключение, загрузка программы в ПЛК, создание загрузочного проекта.
2)Далее сброс по тумблеру =>тогда инициализация в ноль

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

Поясните, пожалуйста, как работать с RETAIN в ПЛК110 М02? Значения постоянно обнуляются в независимости была ли программа в плк или нет.

Филоненко Владислав
14.11.2016, 10:00
Нашёл на форуме следующее:

Ритейны в ПЛК110 М02 инициализируются в ноль если выполнена следующая последовательность:
1)В ПЛК не было программы. Подача питания, подключение, загрузка программы в ПЛК, создание загрузочного проекта.
2)Далее сброс по тумблеру =>тогда инициализация в ноль

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

Поясните, пожалуйста, как работать с RETAIN в ПЛК110 М02? Значения постоянно обнуляются в независимости была ли программа в плк или нет.
Немного не так:
Retain сохраняются при выключении питания. При сбросе тумблером НЕ СОХРАНЯЮТСЯ!.

Сброс тумблером - аварийный режим и я не рекомендую его использовать вообще!

Антон_Б
14.11.2016, 11:37
Я не пользуюсь тумблером. Мне нужно сохранять в памяти значение времени процесса от нажатия ПУСК при выключении питания. Но у меня не происходит сохранения. При подачи питания она становится 0. Я уже сломал весь МОЗГ об этот РЕТАЙН. Помогите, пожалуйста. В ПЛК 154 такой проблемы нет. Там всё сохраняется. Какая особенность в ПЛК110 М02?

petera
14.11.2016, 12:54
Мне нужно сохранять в памяти значение времени процесса от нажатия ПУСК при выключении питания.
Как-то туманно написано.
Как это понимать - ПУСК при выключении питания?

capzap
14.11.2016, 13:07
Как-то туманно написано.
Как это понимать - ПУСК при выключении питания?
нормально написано, хочет запомнить время с начала старта тех.процесса до момента пропадания сети

Филоненко Владислав
14.11.2016, 16:04
Я не пользуюсь тумблером. Мне нужно сохранять в памяти значение времени процесса от нажатия ПУСК при выключении питания. Но у меня не происходит сохранения. При подачи питания она становится 0. Я уже сломал весь МОЗГ об этот РЕТАЙН. Помогите, пожалуйста. В ПЛК 154 такой проблемы нет. Там всё сохраняется. Какая особенность в ПЛК110 М02?

Т.к. в М02 нет аккумулятора, ПЛК после выключения питания работает считанные мс и при этом цикл ПЛК не выполняется.

Если Вы записываете время по срабатыванию сигнала пропадания питания - ничего не получится.
Рекомендую записывать в ретайн при старте время старта а потом раз в секунду - текущее время.
Далее вычитая эти 2 числа при следующем запуске Вы получите время работы.

Антон_Б
14.11.2016, 19:35
Спасибо, попробую

Филоненко Владислав
14.11.2016, 21:31
Можно чуть ясней ?
Глаза на МО2 наблюдали первое.

Обстоятельства.
МО2. Питание самого и входов с одного БП
Кусок кода :
"Хорошо := Di1; //на Di1 - н.з. контакт термостата
Alarm.0 := not хорошо; //Alarm - в слейве"

Выключаю БП (.. далее соотв) .. и вижу* поднятие Alarm.0.
(*Вижу - внешним приложением читая по tcp)
Кто поднял бит ?

Дьявол кроется в деталях - состояние питания Вы контролируете ОТДЕЛЬНЫМ дискретным входом.
С момента выключения внешнего питания до момента срабатывания сигнала power fall внутри ПЛК ДОЛЖНО (по ГОСТ-у) пройти не менее 100мс. Реально 300-2000мс, т.к. 100 мс рассчитываются при минимальном напряжении питания, в -40/+70 с самыми плохими ёмкостями конденсаторов и полной нагрузкой.
Т.о. за 100 (а тем более 300-2000мс) ПЛК успеет и выход зарегистрировать и по slave его успеют считать раз 10, если не 20-ть.

А ежели регистрировать сигнал Power fall из модуля статистики - то там совсем ничего, ПЛК уже выключен, по сути.

rwg
15.11.2016, 11:15
А ежели регистрировать сигнал Power fall из модуля статистики - то там совсем ничего, ПЛК уже выключен, по сути.
То есть функция этого сигнала чисто обман зрения - если программа работает, то он обязательно TRUE, а FALSE он тогда, когда программа уже остановлена и этого никто не увидит и не узнает? И чтобы иметь достоверный сигнал Power нужно обязательно поставить реле контроля напряжения и задействовать один из дискретных входов?

Филоненко Владислав
15.11.2016, 22:30
Так что делать если крайне не желательна работа с уже отвалившимися входами но еще не упавшим флагом питания_из_статистики ?

Делать закороченный Di - как-то по деццки. (и я контролировал не питание - а некий другой сигнал, на основе которого другая система может что-то сделать. Анализ с задержкой опа сигнал, и опа пропала связь, а значит и нет сигнала, а просто выключили - делать лень)

PS
И ударьте по голове автора тумблера в с фиксацией в стопе.

Развратили мы общественность ПЛК1хх с 10 минутами работы на аккумуляторе.
Требуют продолжения банкета :)
Что делать - всё зависит от задачи. В сфероконическом случае подсказать не смогу.

Тумблер - всё как у ведущих собаководов. Ориентировались на аналоги и рекомендации пользователей. Я, к примеру, на боевых объектах заливаю термоклеем. и крышечки тоже. Дабы шаловливые ручки студентов не лезли куда не надо.

с Power fall - ну так получилось, т.к. нельзя было гарантировать (в силу разного радиуса рук) краткость "последнего цикла ПЛК" при выключении питания - то решили не рисковать и его не выполнять. Иначе Retain были под угрозой недозаписи.

rwg
16.11.2016, 07:41
Развратили мы общественность ПЛК1хх с 10 минутами работы на аккумуляторе.
Требуют продолжения банкета :) Что делать - всё зависит от задачи. В сфероконическом случае подсказать не смогу.


По-моему банкета никто не просит, как и сфероконического случая. Достаточно, чтобы поведение продукции было задокументированным, однозначным и предсказуемым. Если сигнал Power этому критерию не соответствует, надо его убрать из конфигурации, чтобы пользователи не занимались игрой в угадайку и последующим героическим устранением косяков на работающем объекте. Вас не просят отозвать и заменить на качественную всю продукцию, будет достаточно, если Вы будете публиковать на сайте информацию о выявленных косяках в ней и способах их избегания. Например рекомендацию не пользоваться этим непредсказуемым сигналом Power. Честь вашего мундира от этого уже нисколько не пострадает, зато дополнительных пользователей можете привлечь. Тех, кто умеет признавать свои ошибки, люди уважают, и наоборот.

p.S. Я до недавних пор интуитивно считал, что Power - это сигнал исчезновения питания 220В контроллера и пользовался им как весьма полезным. Потом оказалось, что это сигнал разряда аккумулятора и я перестал понимать его назначение - вся периферия уже давно отрубилась, а ПЛК работает как ни в чём не бывало. Но, если постараться, по нему можно оценить качество аккумулятора. Теперь это сигнал разряда конденсатора блока питания. Он то для чего нужен?

Филоненко Владислав
16.11.2016, 08:19
смешались в кучу кони, люди...

Power fall - сигнал пропадания питания (а не разряда аккумулятора)
в м02 аккумулятора нет (по многочисленным жалобам)

решение о невыполнении происходило на этапе разработки.

какая конкретно задача завязана на power fall? про наработку уже решили. Что ещё?

Филоненко Владислав
17.11.2016, 15:05
Как только питание пропадает, сейчас ПЛК доделывает критические секции (если в них), далее всё останавливается и ПЛК уходит в процедуру выключения питания.

Филоненко Владислав
17.11.2016, 15:12
А еще я считаю что нужно ударить по голове автора фиксируемого в СТОП и открыто расположенного микротумблера на лице МО2.

Обращаю Ваше внимание на фотографию ПЛК одной малоизвестной и не авторитетной фирмы.
Тоже фиксируемый STOP на лицевой панели.

Филоненко Владислав
18.11.2016, 06:57
Ну уж если разводить "дискуссию" - то остальные части Wago мне не нравятся. На вкус и цвет все ПЛК разные.

Была кнопка - на неё случайно нажал.
Стал фиксируемый тумблер - его случайно выключил.
Ключевой персонаж тут случайно - уберите случайно от приборов и он Вам ничего не выключит.

Woolfy
18.11.2016, 10:03
Стал фиксируемый тумблер - его случайно выключил. Ключевой персонаж тут случайно - уберите случайно от приборов и он Вам ничего не выключит.
Не могу с вами согласиться, Владислав. ОТКРЫТЫЙ тумблер доступен персонажу "случайно", а вот СКРЫТЫЙ тумблер доступен уже только персонажу "преднамеренно". А это уже, как говорится, совсем разные статьи в УК...
На мой взгляд, некоторые образцы промышленного оборудования существуют только для того, чтобы не повторять УЖЕ СДЕЛАННЫХ и ОЧЕВИДНЫХ ошибок...

Филоненко Владислав
18.11.2016, 20:06
Вот, блин. Документалистика по теме.
Сдали систему. К ней есть РЭ. Всего 10 страниц. По-русски. На 1й странице - оглавление.
Один из пунктов буквально :
"ВВОД МОДУЛЯ В ЭКСПЛУАТАЦИЮ" с указанием номера страницы.
Весь раздел - 10 (именно 10) строк.
Одна из строк буквально :
"..Выставить микротумблер “РАБОТА/СБРОС” на лицевой стороне ПЛК в положение “РАБОТА”..
До неё есть про выключение автомата, после про включение.

Перед упаковкой модуля САМ. ЛИЧНО. ПОСТАВИЛ. ТУМБЛЕР. В РАБОТУ.
Первый же звонок от Заказчика - ничего не работает !!!! всё пропало !!!
Ессно разобрались. Как Вы думаете, г-н Филоненко - что нужно было сделать ? Правильно !
Нужно было ударить по голове автора фиксируемого в СТОП и открыто расположенного микротумблера на лице МО2
.

PS
И я ничего не имею против Заказчика. Поле, ветер, телогрейка.. кроме нашего - еще куча оборудования с кучей более толстых РЭ и т.п. и давящее нач-во срочно.. срочно .. А наше - всего лишь деталь. А нашем есть махонькая такая деталь как ПЛК. С замечательным переключателем. Который видимо задели ухом шапки-ушанки.

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

BETEP
18.11.2016, 20:13
Как только питание пропадает, сейчас ПЛК доделывает критические секции (если в них), далее всё останавливается и ПЛК уходит в процедуру выключения питания.

Сделаете PLC_PRG_PowerFall.:)
В некоторых иностранцах есть задача или подпрограмма, которая выполняется один раз при выключении питания. (всего один раз воспользовался за свою практику)