PDA

Просмотр полной версии : НЕПОНЯТНО!



Андрей Макаров
03.02.2010, 15:24
Есть 4 прибора, которые должны циклически включаться и выключаться через определенное время (мс и сек). Казалось бы блок BLINK - самое оно. Написал програмку в CFC. Так что происходит: при первом запуске все ок - работает. Но при следующих запусках цикл сбивается (как будто BLINK продолжает работу с места разъединения, а мне надо чтоб заново)! Как с этим бороться???
ПЛК100 PL таргет последний! Программка прилагается!

Александр Ч.
03.02.2010, 22:14
Что понимается под словом запуск? Не кнопка ли пуск/стоп на ПЛК?
Она скорее дожна называться -работа/пауза.
Есть же таймеры... . Можно и RTC наверное приспособить. Выходную переменную из DT преобразовать в DWORD, например, и проверять по условию равенства с заданными значениями. Проверив только работу при перебоях питания, на всякий случай. Для пуска использовать дискретный вход и внешнюю кнопку, надежнее.

Николаев Андрей
04.02.2010, 11:37
Обратите внимание на следующие вещи:
1. При нажатии кнопкт старт\стоп программа просто ставит паузу, и после этого начинает с того же места.
2. При пропадании питания (кратковременном) программа может еще выполняться, и тогда Вы снова можете попасть в то же место программы на SFC, что как я понимаю Вас не очень устроит. От этого нужно защищаться проверкой питания в модуле статистика, и принимать соответствующее решение.
3. В SFC надо очень осторожно общаться с таймерами, так как если Вы таймер запустили в одном шаге, при выходе его не сбросили, а в других шагах не используете - то таймер живет своей автономной жизнью.

Андрей Макаров
04.02.2010, 12:35
За ценную информацию спасибо! Но основная проблема состоит в том, что при выходе с шага, я останавливаю BLINK, потом его сбрасываю и при следующем запуске оказивается, что переменные на входе и выходе сброшены, а вот внутренние (BLINK.OUT) остались в том состоянии в котором были при выходе из шага. Короче почему не сбрасывается выход BLINK.OUT, хотя вход я сбрасываю ...????:confused:

Николаев Андрей
04.02.2010, 14:10
Ну так у блока есть своя логика работы... её надо учитывать.

Александр М
04.02.2010, 16:51
дайте вашу эл. почту. я сброшу Вам написанный мною блинк.
При отключении упр сигнала все переменные внутри и выход сбрасываются, а при запуске опять начинаю сначала.
Жду...

Андрей Макаров
05.02.2010, 09:17
Спасибо большое!!! dronmak@ya.ru

Николаев Андрей
05.02.2010, 09:39
дайте вашу эл. почту. я сброшу Вам написанный мною блинк.
При отключении упр сигнала все переменные внутри и выход сбрасываются, а при запуске опять начинаю сначала.
Жду...

Если не коммерческая тайна - выложите на форуме. Может и остальным пригодится.

Андрей Макаров
05.02.2010, 10:48
Запросто! Как только получу...:)

Андрей Макаров
05.02.2010, 13:08
Не получил я усовершенствованный блок...
Полагая, в нем будет добавлена строка:
ELSIF NOT ENABLE THEN
UOT:=FALSE;

Верно???

Александр М
05.02.2010, 15:13
Вы правы, Андрей!

Андрей Макаров
06.02.2010, 21:39
Сообразил. Благодаря Вам, Александр М. Спасибо!

Игорь Петров
08.02.2010, 13:42
очень часто встречается такая штука с фб в Sfc и St : чтобы его сбросить, человек присваивает входу False, а сам экземпляр блока при этом не вызывает. в итоге сброс то и не выполняется.

Андрей Макаров
09.02.2010, 12:18
спасибо, игорь! я это понимаю! у меня все получилось! если интересна программка, могу выложить. это установка непрерывной резки проволоки (4 варианта длины).

Николаев Андрей
09.02.2010, 12:20
конечно интересно - если не жалко - выкладывайте.
а напишете готовое применение - мы вас можем и на сайте выложить, и в аип включить.

Андрей Макаров
10.02.2010, 11:16
плк 100 Pl
программа разработана для процесса волочения! суть процесса: проволока протягивается на заранее определенную длину; проходя через фильеру принимает определенную форму и отрезается в конце цикла. в программе реализованы 4 режима, то есть можно выбирать различную длину прутка. в системе присутствует индуктивный датчик, который следит за тем, чтобы бабина с проволокой непрерывно раскручивалась. предусмотрен также ручной режим. предназначен для настройки.

спасибо за помощь и тех.поддержку.