PDA

Просмотр полной версии : Инициализация переменных при запуске ПЛК 150



Жан
21.08.2012, 10:14
Доброго времени суток уважаемые форумчане!
вопрос такого плана: Как в проекте CoDeSys сделать инициализацию переменных при первом запуске ПЛК? Раньше прогил S7-200, там есть служебный бит SM0.1 он устанавливается в TRUE при первом запуске ПЛК, а как сделать это с ПЛК 150?

IVM
21.08.2012, 10:39
Доброго времени суток уважаемые форумчане!
вопрос такого плана: Как в проекте CoDeSys сделать инициализацию переменных при первом запуске ПЛК? Раньше прогил S7-200, там есть служебный бит SM0.1 он устанавливается в TRUE при первом запуске ПЛК, а как сделать это с ПЛК 150?
При обявлении надо присвоить переменным их начальные значения.

Николаев Андрей
21.08.2012, 10:41
Это делается очень просто - при определении переменных:
perem1: BOOL := TRUE;

Жан
21.08.2012, 11:12
теперь понятно, спасибо. Думаю тема исчерпана..

corgo
12.05.2014, 18:47
Добрый день!
Есть уточняющий вопрос. Объявляю переменную:
perem1: BOOL:=TRUE;
После первого запуска программы она действительно =TRUE. далее в программе я меняю ее значение на FALSE. Выключаю питание на контроллере. После включения питания на контроллере perem1=FALSE.
Мне же необходимо, чтобы переменная perem1 устанавливалась в TRUE после выключения / включения питания на контроллере.
Это возможно сделать?

amn
12.05.2014, 19:30
А Вы после выключения сразу же включаете? После отключения контроллер еще работает 10-15 минут, пока не разрядится аккумулятор. Попробуйте включить минут через 20.

Еще можно в конфигурации вставить модуль Statistic. Там есть Power status, используя его значение можно инициализировать вашу переменную при пропадании питания.

zendo057
12.05.2014, 21:44
Доброго времени суток уважаемые форумчане!
вопрос такого плана: Как в проекте CoDeSys сделать инициализацию переменных при первом запуске ПЛК? Раньше прогил S7-200, там есть служебный бит SM0.1 он устанавливается в TRUE при первом запуске ПЛК, а как сделать это с ПЛК 150? Я деаю так ,Включаю переменную через R_TRIGER ,а уже этой переменной взвожу или сбрасываю нужные регистры.

capzap
13.05.2014, 20:52
Я деаю так ,Включаю переменную через R_TRIGER ,а уже этой переменной взвожу или сбрасываю нужные регистры.

вобще то есть в контроллере системные события, старт в том числе

corgo
14.05.2014, 16:14
Еще можно в конфигурации вставить модуль Statistic. Там есть Power status, используя его значение можно инициализировать вашу переменную при пропадании питания.

Уважаемый amn - огромное спасибо!!! это то, что нужно! Все получилось!

AndreyCh73
15.05.2014, 15:25
Если можно про системные события поподробнее.

capzap
15.05.2014, 15:29
Если можно про системные события поподробнее.

http://www.owen.ru/forum/showthread.php?t=14684&p=106960&viewfull=1#post106960

corgo
16.05.2014, 14:39
Если можно про системные события поподробнее.

Системные события могут приводить к вызову POU в проекте. Они описаны в документации «Руководство пользователя по программированию ПЛК в CoDeSys 2.3» (CoDeSys_V23_RU.pdf стр. 6-59).

saveliy
15.09.2014, 15:54
вообще-то, от них ни горячо ни холодно, если отключить питание, но подать его раньше, чем через 10 минут, никакого события не вызовется

capzap
15.09.2014, 18:58
вообще-то, от них ни горячо ни холодно, если отключить питание, но подать его раньше, чем через 10 минут, никакого события не вызовется

так есть еще модуль статистики, в котором имеется бит питания

mummy117
29.06.2015, 01:07
так есть еще модуль статистики, в котором имеется бит питания

Т.е системному событию "start" лучше предпочесть модуль статистики, бит "Power stattus"?

capzap
29.06.2015, 06:18
системное событие это функция, она выполнится однократно, по биту можно оттянуть время для жавершения чего либо. вобщем всё зависит от условий и так и так можно

ВЗМП
14.09.2015, 21:08
При обявлении надо присвоить переменным их начальные значения.
а если я в функциональном блоке присвою переменным (не входным-выходным, а тем, что внутри ФБ используются) определенные значения, то эти значения будут присваиваться переменным при каждом вызове экземпляра ФБ?

Yegor
15.09.2015, 06:05
Нет. ФБ для того и есть, чтобы состояние между вызовами сохранялось. Если требуется инициализация каждый раз, то вероятно, вам подойдёт POU типа «функция».