Ответы в темах
-
АвторЗаписи
-
manjey73УчастникEveryMin без дополнительных настроек срабатывает строго в начале минуты по часам ПК.
Не могут две подряд формулы неожиданно сработать в разное время.Так что опишите ваш сигнал, что он из себя представляет?
А ещё необходимо учитывать время опроса прибора, так что и тут могут возникать некоторые нюансы.
manjey73УчастникЕсли разность равна 0, значит оба значения равны.
Формула разности корректно работает с сигналом нарастающим, если там счётчик, который сбрасывается, такая формула в принципе не подходит. Нужен механизм с задержкой срабатывания на случай совпадения.
Тут больше Модуль авто управления бы помог, там есть встроенные таймеры.
Или свои скрипты.
manjey73УчастникЕсли пробовали формулы, и они работают не так, как вам надо, то это странно.
Возможно неправильная последовательность формул или еще что-то не так сделали.Приходилось писать более сложный вариант на контроль статуса с двумя вложенными таймерами, вот где жесть была 🙂
manjey73УчастникДа, на сколько я понимаю, мнемосхемы используют только данные текущего архива,
Если говорить о скриптах Сервера, то да, доступ только к текущим.
Если говорить о скриптах мнемосхем, возможно не только к текущим, но это не точно.
Вероятно можно написать скрипт с обращением через API.
Если речь о плагинах, там точно можно получить архивные данные-
Ответ изменён 5 дней, 23 часа назад пользователем
manjey73.
manjey73УчастникЯ не пробовал писать Дифом в текущие.
Мне и без этого есть чем заняться.
А вы больше теоризируете, вместо того, чтобы попробовать и тут написать сработает это или нет.
Теоризируете дальше.Как считать формулами, написал выше, это работает.
-
Ответ изменён 5 дней, 23 часа назад пользователем
manjey73.
manjey73УчастникДля этого во второй формуле участвует PrevVal(), это и есть значение канала минуту назад, так как канал пишется раз в минуту.
В текущие, если и возможно писать при помощи Diff, разве что для показа, в этой БД нет нескольких значений на разные точки времени.
manjey73УчастникНа сервере установлено «Помечать канал как недействительный 300с»
Настройки эти не трогал
manjey73УчастникПрямая линия это потеря связи.
Недостоверные данные далее это я запустил генератор, данные со счетчика не читалис по причине продолжения отсутствия света.Более часа при отсутствии связи значение зависшее.
manjey73УчастникТак вот данные не стали недостоверными, зависло последнее значение и держалось более часа, пока не восстановилась связь.
manjey73Участник<svg version="1.2" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" preserveAspectRatio="none" > <g> <line x1="-40" y1="50%" x2="120%" y2="50%" stroke="#000" stroke-width="2" vector-effect="non-scaling-stroke" /> </g> </svg>Простой код Линии для Разметки.
Если Разметка установлена на мнемосхеме, ее минимальная высота 15, ну так мышкой до 15-ти можно снизить, но задать высоту объекта можно и 10 и 5 и т.д.
Искажение по оси Y происходит при уменьшении высоты объекта ниже 15-ти.Если Разметка с кодом линии будет в фейсплейте, то искажение по оси Y будет при уменьшении объекта ниже 25-ти.
При этом рамка, фон и прочее будет уменьшаться верно, согласно задаваемым размерам.
manjey73Участникесть нюанс, для чтения почты нужен порт 465, а вот для отправки возможно нужен именно 25-й
manjey73УчастникВозможно штатный порт для почтовых клиентов, а 25-й остаётся для сторонних приложений.
Надо смотреть по правилам подключения на mail.ru инфу.
manjey73Участникистины чего? 🙂 разница или есть, или ее нет, и если есть, она считается.
ну тогда напишите свой «истинный» Diff ^)
manjey73Участникз.ы. с LifeBit надо по другому как-то….
manjey73УчастникВам нужно два Расчетных канала и входные формулы в них. Формулы штатные.
1. для сохранения данных каждую минуту из канала (входной или другой расчетный_
2. для вычисления разницы между текущим значением и прошлымEveryHour(() => Data(327)) EveryHour(() => Val(360) - PrevVal(360))В данном случае первый канал имеет номер 360, второй канал имеет следующий номер 361.
Формула первого канала сохраняет каждый час данные из канала 327. Вторая формула сравнивает разницу между текущими данные и прошлыми и потом возвращает эту разницу в канал.В вашем случае будут каналы 6650 (исходный), 6651 и 6652
6651 — входная формулаEveryMin(() => Data(6650))
6652 — входная формулаEveryMin(() => Val(6651) - PrevVal(6651))ну а дальше сравнивайте 6652 на > 0 или == 0 и так далее
-
Ответ изменён 5 дней, 23 часа назад пользователем
-
АвторЗаписи