Цитата:
Сообщение от Shogun
Это значение задаётся с экрана в часах, потом в блоке умножается на 3600
|
Понятно. Правильный ответ: значение на этом входе 65535 * (24*3600 mod 65535) =
20864
Вы можете в этом убедиться, запустив свой проект в отладку.
Теперь перейдём к изначальному вашему вопросу: "
Почему не выключается?".
На самом деле выключается, но не ранее, чем через 20864 цикла программы. Это значит, что при времени одного цикла, равным 100 мсек, выключение произойдёт через 20864 * 0.1 = 2086,4 секунды. Или, другими словами,
почти через 35 минут.
Теперь перейдём к вашей задаче. Вы оговорились, что вам
нужно циклическое переключение насосов раз в сутки. Посмотрим, что вы сделали на самом деле.
Открываем
файл описания из первого сообщения в этой теме. Читаем:
t1..t15 - входы задания для внутренних счётчиков таймаутов. Для каждой ступени используется отдельный счётчик. Значения на этих входах определяют максимальную частоту переключения ступеней. Единицы измерения - тики системы. Логика такова: после включения ступени значение с соответствующего входа загружается в счётчик и пока счётчик не досчитает до нуля, ступень не может быть выключена. После выключения ступени значение с соответствующего входа опять загружается в счётчик и пока счётчик не досчитает до нуля, ступень не может быть включена.
Похоже на то, что у вас сейчас происходит?