Стартовая страница › Форумы › Понять, как работает ПО › Использование формул › Суточные и месячные данные — формулы
- В этой теме 44 ответа, 5 участников, последнее обновление 3 месяца, 3 недели назад сделано
Mikhail.
-
АвторСообщения
-
26.05.2025 в 17:48 #38558
manjey73УчастникГрафики Про вообще умеют соединять точки при чтении из часовых архивов ?
27.05.2025 в 14:18 #38569
MikhailМодераторНужно задать соответственное значение параметру GapBetweenPoints.
27.05.2025 в 14:19 #38570
MikhailМодераторМежду точками не должно быть пустых значений. То есть если это минутный архив, в котором определены только часовые точки, то они не будут соединяться.
27.05.2025 в 15:56 #38573
manjey73УчастникЭто часовые и дневные архивы. Минут нет вообще.
Запись в архивы при помощи DiffCalculator.Соединить точками нет возможности, по крайней мере у меня не получилось при любых значения параметра.
Я понимаю, что если некий час не запишется вовсе, то соединять нечего. Но если часы все сохранены? ну или соединение между последовательными точками как минимум.-
Ответ изменён 5 месяцев, 1 неделя назад пользователем
manjey73.
28.05.2025 в 10:05 #38589
manjey73УчастникЕще момент по DiffCalculator
Имеем счетчик — произошло отключение в 12:10, а включение в 13:30
Посчитает DiffCalculator 10 минут потребления между 12-ю и 13-ю часами, и между 13:30 и 14-ю ? Или я ничего не получу в результате отсутствия записей на 13-ь часов ?28.05.2025 в 13:50 #38595
MikhailМодераторСоединить точками нет возможности, по крайней мере у меня не получилось при любых значения параметра.
Если канал пишется не этим модулем, то точки соединяются?
Посчитает DiffCalculator 10 минут потребления между 12-ю и 13-ю часами, и между 13:30 и 14-ю ?
Модуль берёт конкретные точки времени на 12 и 13 часов. Если хотя бы в одной из них нет данных, то ничего не посчитает.
28.05.2025 в 13:51 #38596
MikhailМодераторЧтобы считать разность при отсутствии значений на начало и конец периода, нужно с помощью формул обеспечить отсутствие пропусков, т.е. копировать последние известные данные.
28.05.2025 в 15:17 #38598
manjey73УчастникЕсли канал пишется не этим модулем, то точки соединяются?
Попробую отключить запись минутных от обычной формулы, оставить запись только в часовые. Проверю, напишу.
Отсутствующие данные это дублирование, как сейчас происходит с вариантом через формулы. тут же надо дублировать именно разницу, а не текущие данные, это все и меняет…
-
Ответ изменён 5 месяцев, 1 неделя назад пользователем
manjey73.
29.05.2025 в 12:40 #38610
manjey73УчастникОтключил запись в минутные БД, запись только в часовые и суточные. Точки не соединяются никак. Хоть формулой в часовки пишу, хоть калькулятором.
29.05.2025 в 13:47 #38614
MikhailМодераторСделайте, пожалуйста, скриншот графика с открытой панелью данных.
01.06.2025 в 09:13 #38632
manjey73УчастникОтбой воздушной тревоги 🙂
Я копировал профиль из другого, а там был указан <QuantityIDs> да еще и мин/макс в придачу.
Вернул это к стандартному варианту и графики начали отображаться как часовые так и суточные. То есть соединение работает-
Ответ изменён 5 месяцев, 1 неделя назад пользователем
manjey73.
02.06.2025 в 12:20 #38642
MikhailМодератор🙂
17.07.2025 в 13:06 #39492FSerg
УчастникДоброго!
Поясните для нуба, который последний раз что-то тыкал на Turbo C 2.0 когда он только вышел.Проблема из-за того, что нет возможности непосредственно получить данные на конкретную дату типа OldVal(Сnl,DataTime) ?
Поэтому обходной путь
— делать специальные каналы куда постоянно писать значения на начало часа/дня/месяца и потом соответствующие каналы с разницей с текущим значением.
— использовать ModDiffCalculator, вычисляя какую разницу во времени ему задать в текущий момент.По последнему можно какие-то примеры использования, по наитию не получается, а исходник для меня не документация, к сожалению.
Я попробовал так (в качестве упрощения использую «стандартный» период:<Group active=»true» name=»Hour» periodType=»Hour» offset=»03:00:00″ delay=»30″ archiveBit=»0″>
<Item srcCnlNum=»11201″ destCnlNum=»11202″ />
<Item srcCnlNum=»11501″ destCnlNum=»11502″ />
<Item srcCnlNum=»11221″ destCnlNum=»11222″ />
</Group>
<Group active=»true» name=»Day» periodType=»Day» offset=»03:00:00″ delay=»10″ archiveBit=»0″>
<Item srcCnlNum=»11201″ destCnlNum=»11203″ />
<Item srcCnlNum=»11221″ destCnlNum=»11223″ />
<Item srcCnlNum=»11501″ destCnlNum=»11503″ />
</Group>Но в destCnl данные почему-то не появляются.
Тип канала пробовал Input и Calculated
Что я что я делаю неправильно?17.07.2025 в 13:30 #39494
manjey73Участник<?xml version="1.0" encoding="utf-8"?> <ModDiffCalculator> <GeneralOptions> <CmdCode /> </GeneralOptions> <Groups> <Group active="true" name="EnergyDayDiff" periodType="Day" offset="00:00:00" delay="10" archiveBit="3"> <Item srcCnlNum="327" destCnlNum="368" /> <Item srcCnlNum="328" destCnlNum="370" /> </Group> <Group active="true" name="EnergyHourDiff" periodType="Hour" offset="00:00:00" delay="10" archiveBit="2"> <Item srcCnlNum="327" destCnlNum="369" /> <Item srcCnlNum="328" destCnlNum="371" /> </Group> </Groups> </ModDiffCalculator>считает дневные и часовые. Опять же, в дневном архиве, если вы его не трогали, запись только на 0:00 часов, потому что там UTC время в качестве таймштампа.
17.07.2025 в 13:30 #39495
manjey73Участникно в web вы потом будете видеть значение на 3:00 если у вас время Московское.
архив бит 0 не может же быть? это же Текущие данныез.ы. зачем было использовать бит а не код Архива непонятно.
-
Ответ изменён 5 месяцев, 1 неделя назад пользователем
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.