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

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

Автор Тема: Скрипт авария по перекрытию датчика  (Прочитано 39574 раз)

Avtovazov

  • Новичок
  • *
  • Сообщений: 27
    • Просмотр профиля
Добрый день
Пытался найти поиском на форуме, но видимо не умею искать или такие простейшие вопросы просто не задавали.
Имеется транспортер и на нем датчик продукта, мне нужно написать скрипт, чтоб при работающем транспортере и перекрытом более 10 секунд датчике продукта выдавался аварийный сигнал, и если с датчика продукт уходил, что авария исчезала.
Спрашивал у Дипсика, но там код на 30 строчек, как то это наверно много для такой простой ситуации.
Помогите составить скрипт.

pan2000

  • Постоялец
  • ***
  • Сообщений: 226
    • Просмотр профиля
Re: Скрипт авария по перекрытию датчика
« Ответ #1 : 19 Февраля 2026, 02:13:21 »
Здравствуйте.

Переменные буль-булевы:
vrConveyor - состояние транспортёра;
vrSensor - состояние датчика;
vrAlarm - аварийный сигнал.
vrTimer - целое, таймер срабатывания.
Скрипт выдачи аварийного сигнала (таймер 1 секунда):
Код: (delphi)
begin
// счёт при срабатывании датчика и движении транспортера, иначе сброс таймера
    if vrConveyor.AsBool and vrSensor.AsBool then vrTimer.inc(1, 0, 10) else vrTimer.Value := 0; 
    vrAlarm.Value := vrTimer.AsInt = 10;    // условие аварии
end.
Пример во вложении.

Avtovazov

  • Новичок
  • *
  • Сообщений: 27
    • Просмотр профиля
Re: Скрипт авария по перекрытию датчика
« Ответ #2 : 19 Февраля 2026, 14:50:43 »
О! Большое спасибо. Вы очень помогли.
« Изменён: 19 Февраля 2026, 14:58:37 от Simple_Scada »