Здравствуйте. Прошу помочь организовать автоматизацию управление освещением. Требуется написать скрипт на включение света, несколько штук через 3 секунды друг за другом... и блокировать кнопки включения если переключатель установлен в положение "ручное управление". Спасибо.
Пример скрипта для управления объектами по времени для проекта (во вложении):
Несколько ламп, каждая со своим выключателем, работающие в режимах:
"Ручной" - каждая лампа независимо управляется своим выключателем;
"Выключено" - все лампы выключены;
"Автомат" - лампы включаются по времени по некоторой схеме, начиная с момента включения этого режима.
Переменные:
iMode - режим работы (0 - ручное, 1 - выключено, 2 - автомат),
iButton и iLamp - векторы соответствующих выключателей и ламп,
iTimeCounter - счетчик времени в автоматическом режиме.
const imax = 4; // верхняя граница цикла
var i, j: integer;
begin
i := iMode.AsInt;
j := (iTimeCount.AsInt + 1) * (i div 2); // счет только в автомате, иначе 0
iTimeCount.Value := j;
case i of
0: iLamps.Value := iButton.AsInt; // по ручным переключателям
1: iLamps.Value := 0; // выключить все
2: for i := 0 to imax do // автомат
iLamps.Value := SetBit(iLamps.AsInt, i, j >= (i * 3 + 3)); // равномерные задержки
end;
end.