Просмотр полной версии : Инициализация переменных при запуске ПЛК 150
Доброго времени суток уважаемые форумчане!
вопрос такого плана: Как в проекте CoDeSys сделать инициализацию переменных при первом запуске ПЛК? Раньше прогил S7-200, там есть служебный бит SM0.1 он устанавливается в TRUE при первом запуске ПЛК, а как сделать это с ПЛК 150?
Доброго времени суток уважаемые форумчане!
вопрос такого плана: Как в проекте CoDeSys сделать инициализацию переменных при первом запуске ПЛК? Раньше прогил S7-200, там есть служебный бит SM0.1 он устанавливается в TRUE при первом запуске ПЛК, а как сделать это с ПЛК 150?
При обявлении надо присвоить переменным их начальные значения.
Николаев Андрей
21.08.2012, 10:41
Это делается очень просто - при определении переменных:
perem1: BOOL := TRUE;
теперь понятно, спасибо. Думаю тема исчерпана..
Добрый день!
Есть уточняющий вопрос. Объявляю переменную:
perem1: BOOL:=TRUE;
После первого запуска программы она действительно =TRUE. далее в программе я меняю ее значение на FALSE. Выключаю питание на контроллере. После включения питания на контроллере perem1=FALSE.
Мне же необходимо, чтобы переменная perem1 устанавливалась в TRUE после выключения / включения питания на контроллере.
Это возможно сделать?
А Вы после выключения сразу же включаете? После отключения контроллер еще работает 10-15 минут, пока не разрядится аккумулятор. Попробуйте включить минут через 20.
Еще можно в конфигурации вставить модуль Statistic. Там есть Power status, используя его значение можно инициализировать вашу переменную при пропадании питания.
zendo057
12.05.2014, 21:44
Доброго времени суток уважаемые форумчане!
вопрос такого плана: Как в проекте CoDeSys сделать инициализацию переменных при первом запуске ПЛК? Раньше прогил S7-200, там есть служебный бит SM0.1 он устанавливается в TRUE при первом запуске ПЛК, а как сделать это с ПЛК 150? Я деаю так ,Включаю переменную через R_TRIGER ,а уже этой переменной взвожу или сбрасываю нужные регистры.
Я деаю так ,Включаю переменную через R_TRIGER ,а уже этой переменной взвожу или сбрасываю нужные регистры.
вобще то есть в контроллере системные события, старт в том числе
Еще можно в конфигурации вставить модуль Statistic. Там есть Power status, используя его значение можно инициализировать вашу переменную при пропадании питания.
Уважаемый amn - огромное спасибо!!! это то, что нужно! Все получилось!
AndreyCh73
15.05.2014, 15:25
Если можно про системные события поподробнее.
Если можно про системные события поподробнее.
http://www.owen.ru/forum/showthread.php?t=14684&p=106960&viewfull=1#post106960
Если можно про системные события поподробнее.
Системные события могут приводить к вызову POU в проекте. Они описаны в документации «Руководство пользователя по программированию ПЛК в CoDeSys 2.3» (CoDeSys_V23_RU.pdf стр. 6-59).
вообще-то, от них ни горячо ни холодно, если отключить питание, но подать его раньше, чем через 10 минут, никакого события не вызовется
вообще-то, от них ни горячо ни холодно, если отключить питание, но подать его раньше, чем через 10 минут, никакого события не вызовется
так есть еще модуль статистики, в котором имеется бит питания
mummy117
29.06.2015, 01:07
так есть еще модуль статистики, в котором имеется бит питания
Т.е системному событию "start" лучше предпочесть модуль статистики, бит "Power stattus"?
системное событие это функция, она выполнится однократно, по биту можно оттянуть время для жавершения чего либо. вобщем всё зависит от условий и так и так можно
При обявлении надо присвоить переменным их начальные значения.
а если я в функциональном блоке присвою переменным (не входным-выходным, а тем, что внутри ФБ используются) определенные значения, то эти значения будут присваиваться переменным при каждом вызове экземпляра ФБ?
Нет. ФБ для того и есть, чтобы состояние между вызовами сохранялось. Если требуется инициализация каждый раз, то вероятно, вам подойдёт POU типа «функция».
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot