
Сообщение от
Alex469
Уважаемые знатоки, прошу помощи в реализации следующей задачи (см. ниже). Заранее спасибо!!!
Имеется два устройства, подключенные к цифровым выходам ПР100. Ус-во А подключено к выходу 1, ус-во В подключено к выходу 2. Выход=0: ус-во вЫключено. Выход=1: ус-во включено.
Имеется сетевая переменная Regim_MB, которая определяет режим работы. Если Regim_MB = 1, то работа ведется с ус-вом А. Если Regim_MB = 2, то работа ведется с ус-вом В.
Ус-во, с которым не ведется работа, находится в выключенном состоянии.
Имеется сетевая переменная Set_time_MB, которая устанавливает уставку времени в секундах (может принимать значение от 0 до 99999) для таймера обратного отсчета.
Имеется сетевая переменная Start_MB, которая запускает (при значении 1) или останавливает (при значении 0) работу одного из 2-х устройств.
1. Если уставка времени равна 0 (Set_time_MB = 0), то по команде Start_MB=1 (запуск) одно из ус-в (либо А, либо В) должно включиться и работать до поступления команды Start_MB=0 (останов).
2. Если уставка времени НЕ равна 0 (Set_time_MB = X сек) и Regim_MB = 1, то по команде Start_MB=1 (запуск) ус-во А должно включиться и работать в течение времени Х, по окончании которого ус-во А
должно выключится и Start_MB должно стать 0.
Если в процессе работы устройства А (т.е. таймер еще считает) поступит команда Start_MB=0 (останов), то устройства А должно выключится.
При этом ус-во В находится в выключенном состоянии.
3. Если уставка времени НЕ равна 0 (Set_time_MB = X сек) и Regim_MB = 2, то по команде Start_MB=1 (запуск) ус-во В должно включиться и работать до поступления команды Start_MB=0 (останов).
При этом ус-во 1 всегда находится в выключенном состоянии.