sae74, хороший прогресс.
Как я понял пока пишутся отдельные управляющие объекты (таймеры, термостаты РН и т.п.). Я имел ввиду, что выходные сигналы управляюших объектов было бы не плохо объединять в произволиной форме при помощи логических операций для получения более сложных алгоритмов управления.
Упрощенный пример: необходимо получить временную зону для работы РН-контроллера с 11:00 до 21:00. Для этого объединяем выход объекта "таймер", настроенного на соответствующий временной диапазон, с выходом объекта "РН-контроллер" при помощи логической операции "И". А затем такие группы скомбинированных объектов представляем в виде пресетов, каждый пресет - отдельный пункт меню с возможностью менять переменные. Один пресет - один выход управления нагрузкой. Для желающих - отдельная прога для создания пресетов. Таким образом полностью гибкая система настройки контроллера под свои нужды.
web интерфейс - это классно! А на чем, если не секрет, построена аппаратная половина lan-a со стороны контроллера или через тот же usb? Было бы круто подключение по эзернетовскому пач-корду (вай-фай вообще был бы высший пилотаж) - нет привязки по расстоянию к компу.
Цитата:
Допис від sae74
- использование PWM в разрезе термодатчиков и таймеров
|
Я бы не использовал жесткой привязки ШИМ-ов к другим объектам и т.п., а нужен определенный вариант - загрузил пресет.
Пресет появится в виде отдельного пункта меню: заходишь в него, а там джентельменский набор востребованых объектов (допустим таймер, термостат и шим), обединенных определенной логикой. Заходишь в каждый объект и настраиваеши его параметры, плюс хорошо бы внутри пресета наглядную диаграмку, поясняющую принцип взаимодействия объектов в пресете.
Такой подход позволит легким движением руки полностью менять алгоритм и логику работы всего устройства под нужды конкретного аквариумиста.
Ну а подпрограммы управляющих базовых объектов, конечно же должны быть жестко и неизменно прописаны в контроллере, в итоге мы получили бы программный конструктор.
Может я слишком усложняю, но таково мое понимание вопроса. Я не программист, потому возможно не замечаю многих подводных камней.
С удовольствием продолжу обсуждение.
Желаю удачи в разработке!