Стартовая страница › Форумы › Понять, как работает ПО › ModDiffCalculator — настройка
- В этой теме 16 ответов, 3 участника, последнее обновление 11 часов, 4 минуты назад сделано
manjey73.
-
АвторЗаписи
-
27.08.2026 в 10:59 #44672
Andrew123
УчастникНастроил так:
<?xml version=»1.0″ encoding=»utf-8″?>
<ModDiffCalculator>
<GeneralOptions>
<CmdCode />
</GeneralOptions>
<Groups>
<Group active=»true» name=»DiffDiff» periodType=»Custom» customPeriod=»00:01:00″ offset=»00:00:00″ delay=»0″ adjustForDst=»false» recalcDiff=»false» archiveBit=»2″>
<Item srcCnlNum=»6650″ destCnlNum=»6651″ />
</Group>
</Groups>
</ModDiffCalculator>В расчётном канале 6650 есть всегда число, сейчас например 27.
Записи в логе идут(типа разность расcчитывает):
2026-08-27 10:50:00 Расчёт разностей для группы «DiffDiff» на моменты времени 27.08.2026 07:49:00 и 27.08.2026 07:50:00
2026-08-27 10:51:00 Расчёт разностей для группы «DiffDiff» на моменты времени 27.08.2026 07:50:00 и 27.08.2026 07:51:00Но в расчётном канале 6651 в отображаемой таблице DataData.tbl всегда пусто, отображается:
—
По идее должен отображаться 0Подскажите что надо исправить?
27.08.2026 в 11:28 #44673Andrew123
УчастникДа, в расчётном канале 6650, в таблице, в колонке «текущие» есть всегда значение, сейчас например 27.
27.08.2026 в 12:31 #44674
manjey73УчастникДиф работает строго на период. Например период 1 час — Диф если не видит записи в этот час, будет считать что там ничего нет. Поэтому и
---Короче, например у меня разница суточная, если в 0:00 часов по каким-то причинам запись в БД не произошла (ну например у меня свет выключали), то Диф это пропустит.
Ну не умеет он искать ближайшее к точке выключения и показывать разницу, например отображая243,45*— типа звездочкой показать, что данные не строго в это время…Возможно и у вас та же ситуация? проверьте по БД утилитами
27.08.2026 в 13:33 #44675Andrew123
УчастникПо идее такой ситуации в конкретном тестовом примере не должна быть,ведь в текущих данных(в колонке текущие данные всегда есть значение) — или это значение записывается в базу только в момент опроса регистров модбаса(тогда эти моменты времени могут очень долго не совпасть с временными точками типа 12.51.00 12.52.00 12.53.00 12.54.00 и так далее) — как на самом деле?
27.08.2026 в 13:53 #44676Andrew123
УчастникА где взять утилиты чтения файлов dat?
27.08.2026 в 14:31 #44677
MikhailМодераторДобрый день!
А где взять утилиты чтения файлов dat?
https://rapidscada.net/store/Module/ru/UtilityPack
https://disk.yandex.ru/d/4_gQVl06Krslgg
https://disk.yandex.ru/d/E5LmTNzBjj32RAЕсли по настройке модуля остались вопросы, выложите ссылки на скриншоты настроек.
27.08.2026 в 14:41 #44679Andrew123
УчастникВопрос всё тот же:
По идее такой ситуации в конкретном тестовом примере не должна быть, ведь в текущих данных(в колонке текущие данные всегда есть значение) — или это значение записывается в базу только в момент опроса регистров модбаса(тогда эти моменты времени могут очень долго не совпасть с временными точками типа 12.51.00 12.52.00 12.53.00 12.54.00 и так далее) — как на самом деле?
Файл и настройки и пояснения в первом посте.
27.08.2026 в 15:13 #44680
manjey73УчастникВот проверьте утилитой наличие записи и статус.
Текущие вроде не важно, что показываются.27.08.2026 в 16:14 #44681Andrew123
УчастникDatViewer выдаёт по часовому и минутному архиву:
«Table type 3 not supported by the viewer.»Открывает только текущий архив current.dat — там есть данные по каналу 6650.
По каналу 6651 стоит 0 и статус 0(Значение канала не определено).CsvExport.exe — тоже говорит о неподдерживаемом формате файла dat по часовому и минутному архиву.
27.08.2026 в 16:26 #44685
manjey73УчастникВот раз статус 0, скорее всего Диф ничего не делает.
Измените формулу так, чтобы она после расчета еще и статус в 1 записала.
SetData или другую посмотрите27.08.2026 в 16:37 #44688Andrew123
УчастникДобавить функцию в поле команда в настройках дифа?
27.08.2026 в 16:59 #44690Andrew123
УчастникДанные канала 6650 есть, потому что график, вызываемый из таблицы данные показывает.
А канал 6651 тот же вызов показывает по тем де меткам времени —.
Когда данные в канале в течении нескольких минут изменяются, то разность должна быть не нулевая — т.е. данные должны быть. Потому где должна быть функция, которая к стати должна устанавливать только статус, потому что сами данные пишет диф.27.08.2026 в 17:04 #44692
manjey73Участниквозможно в самом Дифе.
Покажите скрины (выложите на рабочий файлообменник или через свою русскую почту расшарьте картинку).я давно с ним не игрался… Михаил возможно быстрее подскажет.
27.08.2026 в 17:32 #44693Andrew123
УчастникКартинку чего? Разве настройки дифа мало?
канал 6650 расчётный, формула: CountPulse(6602) — галки на текущем, минутном, часовом и дневном архиве.
канал 6651 расчётный, формулы нет, галки на текущем, минутном, часовом и дневном архиве.Или что? Галки на минутном и дневном мешают(тогда это ошибка в модуле)?
27.08.2026 в 17:36 #44697 -
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.