Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: Изменения состояния кнопки по истечении определённого времени  (Прочитано 2569 раз)

Aleksanrus

  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Добрый день!
Какой нужен скрипт для того чтобы по включению кнопки с фиксацией она изменила своё состояние на выключено через заданное время ?
Я новичок поэтому сильно не ругайте :)

pan2000

  • Постоялец
  • ***
  • Сообщений: 226
    • Просмотр профиля
    Здравствуйте!

Для временного контроля используются скрипты с событиями "Прошла секунда" и "Прошел час". Для работы проекта необходимы две переменные целочисленного типа: iButton - состояние кнопки и iTimer - таймер отсчета временного интервала.
Скрипт "Прошла секунда":
Код: (delphi)
const Tmax = 10;
begin
// таймер с прямым отсчетом и с перезапуском
  if iButton.AsInt <> 0 then begin
    iTimer.Inc(1);                                   // работает в пределах шкалы переменной iTimer, максимальное значение 12
    if iTimer.AsInt >= Tmax then iButton.Value := 0; // если таймер достиг конечного значения, то выключить кнопку
  end
  else iTimer.Value := 0;                            // установить начальное значение таймера
end.
Скрипт примера из вложения дополнительно содержит коды для таймера с обратным отсчетом и перезапуском и для таймера с обратным отсчетом и приостановом.
(перезапуск - установка таймера в начальное значение при выключении кнопки, приостанов - сохранение значения при выключении или включении кнопки, установка таймера в начальное значение только при достижении конечного.

Aleksanrus

  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Спасибо! буду пробовать

Aleksanrus

  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
создал Скрипт "Прошла секунда" вставил туда код но не компилируется, говорит undeclared indifier в iButton и iTimer

pan2000

  • Постоялец
  • ***
  • Сообщений: 226
    • Просмотр профиля
   Здравствуйте.

Для успешной компиляции нужно создать эти две переменные в редакторе (тип внутренняя, integer).
Пример в проекте во вложении к ответу #1.

Aleksanrus

  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Спасибо большое! почему то не заметил вложения )))
« Изменён: 11 Февраля 2021, 13:08:27 от Aleksanrus »