Сценарии (задачи/триггеры/обработчики) |
Содержание
Общее описание
Общее описаниеДокумент в стадии разработки
В "Программе Настройки" будут выполнены доработки, для удобства написания сценариев:
Сценарии, это совокупность событий и действий. С помощью сценариев, выполнение рутинных действий перекладывается на устройство. За счет того, что сценарии хранятся и выполняются на самом устройстве, достигается высокая надежность работы устройства, так как, нет зависити от центрального пульта управления. Сценарии составляются в «Программе Настройки», на вкладке «Сценарии». Вкладка сценарии Сценарии (задачи/триггеры/обработчики)Сценарии опрашиваются (выполняются) в цикле «loop» каждые 10мс. Сценарии опрашиваются (выполняются) друг за другом, в том порядке, как они прописаны в редакторе сценариев. После выполнения последнего сценария, производится ожидание следующего цикла (10мс). Сценарий записывается в одну строку. Один сценарий - одна строка. Формат записи сценариев
Описание каждого сценария имеет строго определенную форму записи:
Инструкция «if (условие/событие)» вычисляет условие в скобках и:
Допускается наличие только одного из блоков действий {верно, выполнить действия} или {ложно, выполнить действия}.
«Условия»Поддерживается три вида «условий».
1. Сравнение одной переменной «VarX» c другой переменной «VarX».
2. Сравнение переменной «VarX» c константой «ConstX».
3. Сравнение переменной «VarX» c константой «0...254».
Условие может содержать несколько сравнений (не более 15-ти), перечисляемые через оператор «&&» (И) или оператор «||» (ИЛИ).
Дополнительные «условия»Поддерживается следующие «дополнительные условий».
1. «Start» - выполнить при подаче напряжения питания или при сбросе (RST).
2. «Exe» - выполнить блок действий.
Операторы сравнения
При сравнении используются следующие операторы:
«События»Поддерживаются следующие типы «событий».
1. «Falling» - уменьшение значения (↓). Пример записи: if (Var19 == Falling)
2. «Rising» - увеличение значения (↑). Пример записи: if (Var19 == Rising)
3. «Change» - изменение значения (↓↑). Пример записи: if (Var19 == Change)
4. «UpDate» - обновление значения (↺). Пример записи: if (Var19 == UpDate)
5. «Malfunction» - неисправность (⚠). Пример записи: if (Var19 == Malfunction)
6. «Click» - одиночное нажатие (↵). Пример записи: if (Var19 == Click)
7. «DubleClick» - двойное нажатие (↵↵). Пример записи: if (Var19 == DubleClick)
8. «Hold» - удержание. Пример записи: if (Var19 == Hold)
9. «AutoRepeat» - автоповтор. Пример записи: if (Var19 == AutoRepeat)
ПРИМЕЧАНИЯ.
Блоки действий «{верно, выполнить действия}» и «{ложно, выполнить действия}».1. Блоки действий содержат номера действий, которые необходимо выполнить при проверке «условий». 2. Пример записи: { Act3; ACT8;act100; } 3. Количество «действий» в одном блоке действий НЕ ДОЛЖНО превышать 14-ти. 4. Номер действия ОБЯЗАТЕЛЬНО ДОЛЖЕН заканчиваться символом «;» (точка с запятой). 5. Регистр написания обязательного префикса «Act» не имеет значения. 6. Допускается не использовать префикс «Act». В этом случае формат записи блока действий может иметь вид: { 3;8;100;} или {3; 8;act100;} 7. Допускается не использовать символ пробела при перечислении номеров действий. Примеры записи сценариев
if (start) { Act0; Act1; Act2; Act3; Act4; Act5; Act6; Act7; }
|
Программы
Прошивка «Smacont-ESP»:
«Программа Настройки»:
Телеграм каналНовостиЭнергонезависимая память (EEPROM) Переменные «Vx» (карта переменных «Vx») Действие «wifi_CheckConn()». После подключения к WiFi-сети, выполнить действие с задержкой Обмен данными. Open Monitoring Датчики температуры и влажности AHT10/AHT15/AHT20/AHT21/AHT25 Датчик температуры и влажности SHT30 (SHT31/SHT35) Действие «valueToVx()», «valueToArrVx()». Отслеживание заданного уровня в диапазоне значений Действие «termostat()». Термостат ESP-NOW. Датчик температуры и влажности с питанием от батареек Последовательные интерфейсы (UART, I2C, SPI) Управление одноканальным модулем реле |