Стартовая страница › Форумы › Понять, как работает ПО › Компонетн График — косяки
- В этой теме 136 ответов, 3 участника, последнее обновление 2 года, 8 месяцев назад сделано Mikhail.
-
АвторСообщения
-
16.06.2021 в 17:47 #20135MikhailМодератор
Модуль экспорта в БД установлен на RPi или на основной сервер Windows?
17.06.2021 в 15:04 #20140manjey73УчастникНа основной сервер Windows, который принимает. Надо было на RPi устанавливать ?
17.06.2021 в 16:26 #20141MikhailМодераторДа,
Rapid Gateнужно обязательно на RPi.
Сама база данных может быть на любом сервере. Откройте для неё порт на firewall если нужно.- Этот ответ был изменен 2 года, 10 месяцев назад от Mikhail.
17.06.2021 в 17:28 #20142manjey73УчастникНе Gate и модуль экспорта на RPi ? Gate и так на RPi
С этим будет проблема, в плане портов. Итак админов уже задолбал…
На нужное время я и так базу на RPi могу посмотреть, какой статус у канала оригинала.
Там всегда 1…А вот Gate в ровное количество секунд, вообще не передает данные, а потом передает на :00 секунд со статусом =2.
18.06.2021 в 12:39 #20151MikhailМодераторИмел ввиду, что модуль экспорта в БД должен стоять на RPi, в этом весь смысл.
18.06.2021 в 13:01 #20153manjey73УчастникНе совсем понимаю почему и зачем?
Канал будет передаваться со статусом 1, тем более номер канала 1012 на RPi
А на принимающем сервере номер канала 113то есть 1012 —> 113
Каналы 160, 161, 162 на принимающем сервере дорасчетные от 113-ого на принимающем сервере.Что даст установка модуля экспорта на RPi? какой статус у передаваемого канала 1012 я и так могу посмотреть.
19.06.2021 в 09:14 #20154MikhailМодераторНе совсем понимаю почему и зачем?
Потому что RPi является источником данных. На нём нужно проанализировать поступающие текущие и архивные данные.
19.06.2021 в 10:55 #20155manjey73УчастникГрафики Про показывают на RPi канал 1012 как нормальный (статус =1 а не 2 и зеленого цвета значений)
Так же скачивал dat файлы и утилитой смотрел, все каналы со статусом 1 со счетчика.Как бы драйвер читает данные со счетчика и записывает в базу, драйвер на все сигналы, кроме профилей средней мощности не знает о существовании иных статусов, кроме =1
Еще раз, канал 1012 (оригинал на Rpi) статус =1
Канал 113 на принимающем сервере на моменты времени, равные минутным имеют статус =2Если смотреть по БД после модуля экспорта, то сперва приходят значения со статусом =1 но где секунды не равны :00 а потом приходят значения, где секунды уже :00 но со статусом =2
Смотрим внимательно прошлый пост, убрал лишние данные для понимания.
"2021-06-15 13:21:08.489877" 113 0.944 1 "2021-06-15 13:20:38.416923" 113 0.944 1
И еще раз обновил отображение базы по F5
"2021-06-15 13:21:08.489877" 113 0.944 1 "2021-06-15 13:21:00" 113 0.944 2 "2021-06-15 13:20:38.416923" 113 0.944 1
Суть. Первое значение, экспортированное в БД модулем на принимающем сервере датируется — -:- -:08.хххх то есть через 8 секунд после равного минутного
Я тут же обновляю отображение БД и получаю в экспорте значение, уже на :00 секунд но со статусом =2 (архивное)
Это принимающий канал 113, канал у передатчика 1012 имеет в базе статусы =1 на все метки времени, так как это прямой входной канал из счетчика.
Если получится настроить на следующей недели, то сделаю. Вы думаете, что модуль Экспорта в БД раньше времени отправляет данные в БД, до прихода значения из драйвера?
Но какое отношение это имеет к всплескам на графиках, если модуль экспорта до этого не использовался вообще? только Rapid Gate и все…21.06.2021 в 11:59 #20156MikhailМодераторМодуль экспорта ценен в данной ситуации тем, что отправляет значения сразу по факту их прихода (добавляет в очередь на запись, если точнее). С помощью нужных SQL-скриптов мы получим объективную картину. Сам модуль экспорта не вносит никаких искажений в данные.
Поэтому как только появится коннект к БД из RPi, донастроим скрипты и посмотрим на данные.21.06.2021 в 16:25 #20157manjey73УчастникБД зафиксировала события, сделал поканально.
160-й"2021-06-16 01:38:22.236263" 1 3 26 160 0.9933329999999999 13 0 12 false "2021-06-16 01:38:42.17376" 1 3 26 160 0 12 0.9933329999999999 13 false "2021-06-16 08:42:02.424258" 1 3 26 160 0.9964019999999999 13 0 12 false "2021-06-16 08:42:22.455313" 1 3 26 160 0 12 1.010724 13 false "2021-06-16 16:06:47.929642" 1 3 26 160 0.9636659999999999 13 0 12 false "2021-06-16 16:11:02.460786" 1 3 26 160 0 12 1.003563 13 false "2021-06-17 06:27:22.197113" 1 3 26 160 1.01277 13 0 12 false "2021-06-17 06:27:42.306413" 1 3 26 160 0 12 1.01277 13 false "2021-06-17 17:57:22.355971" 1 3 26 160 0.9892409999999999 13 0 12 false "2021-06-17 17:57:42.355904" 1 3 26 160 0 12 0.9892409999999999 13 false "2021-06-20 01:38:23.046388" 1 3 26 160 0.9953789999999999 13 0 12 false "2021-06-20 01:38:42.468222" 1 3 26 160 0 12 1.007655 13 false "2021-06-21 15:02:02.285148" 1 3 26 160 0.9964019999999999 13 0 12 false "2021-06-21 15:02:22.300511" 1 3 26 160 0 12 0.9974249999999999 13 false
161-й
"2021-06-16 01:38:22.236263" 1 3 26 161 1.016637 13 0 12 false "2021-06-16 01:38:42.17376" 1 3 26 161 0 12 1.016637 13 false "2021-06-16 08:42:02.424258" 1 3 26 161 1.0197779999999999 13 0 12 false "2021-06-16 08:42:22.455313" 1 3 26 161 0 12 1.034436 13 false "2021-06-16 16:06:47.929642" 1 3 26 161 0.9862739999999999 13 0 12 false "2021-06-16 16:11:02.460786" 1 3 26 161 0 12 1.027107 13 false "2021-06-17 06:27:22.197113" 1 3 26 161 1.03653 13 0 12 false "2021-06-17 06:27:42.306413" 1 3 26 161 0 12 1.03653 13 false "2021-06-17 17:57:22.355971" 1 3 26 161 1.012449 13 0 12 false "2021-06-17 17:57:42.355904" 1 3 26 161 0 12 1.012449 13 false "2021-06-20 01:38:23.046388" 1 3 26 161 1.0187309999999998 13 0 12 false "2021-06-20 01:38:42.468222" 1 3 26 161 0 12 1.0312949999999999 13 false "2021-06-21 15:02:02.285148" 1 3 26 161 1.0197779999999999 13 0 12 false "2021-06-21 15:02:22.300511" 1 3 26 161 0 12 1.0208249999999999 13 false
162-й
"2021-06-16 01:38:22.236263" 1 3 26 162 1.0535349999999999 13 0 12 false "2021-06-16 01:38:42.17376" 1 3 26 162 0 12 1.0535349999999999 13 false "2021-06-16 08:42:02.424258" 1 3 26 162 1.05679 13 0 12 false "2021-06-16 08:42:22.455313" 1 3 26 162 0 12 1.07198 13 false "2021-06-16 16:06:47.929642" 1 3 26 162 1.0220699999999998 13 0 12 false "2021-06-16 16:11:02.460786" 1 3 26 162 0 12 1.064385 13 false "2021-06-17 06:27:22.197113" 1 3 26 162 1.07415 13 0 12 false "2021-06-17 06:27:42.306413" 1 3 26 162 0 12 1.07415 13 false "2021-06-17 17:57:22.355971" 1 3 26 162 1.0491949999999999 13 0 12 false "2021-06-17 17:57:42.355904" 1 3 26 162 0 12 1.0491949999999999 13 false "2021-06-20 01:38:23.046388" 1 3 26 162 1.055705 13 0 12 false "2021-06-20 01:38:42.468222" 1 3 26 162 0 12 1.068725 13 false "2021-06-21 15:02:02.285148" 1 3 26 162 1.05679 13 0 12 false "2021-06-21 15:02:22.300511" 1 3 26 162 0 12 1.057875 13 false
При этом если открыть графики каналов, то этого нет…
Модуль экспорта БД с Raspberry как получится настроить, сообщу. Пока написал Одминам, чтобы порт пробросили 🙂- Этот ответ был изменен 2 года, 10 месяцев назад от manjey73.
22.06.2021 в 18:47 #20167MikhailМодераторБуду ждать связи с БД из RPi. В SQL-скриптах сделайте разнесение текущих и архивных данных по разным таблицам, как я писал ранее. Ещё можно поставить WHERE, чтобы писать только 0.
01.07.2021 в 13:30 #20297manjey73УчастникКак праильно добавить
WHERE @val <= 0
для обоих таблиц.-- Вставить или обновить существующие архивные данные WITH upsert AS (UPDATE cnldata2 SET val = @val, stat = @stat WHERE datetime = @datetime AND cnlnum = @cnlNum RETURNING *) INSERT INTO cnldata2 (datetime, cnlnum, val, stat) SELECT @dateTime, @cnlNum, @val, @stat WHERE NOT EXISTS (SELECT * FROM upsert)
и
-- Вставить текущие данные INSERT INTO cnldata1 (datetime, cnlnum, val, stat) VALUES (@dateTime, @cnlNum, @val, @stat)
01.07.2021 в 13:52 #2030101.07.2021 в 13:53 #20302MikhailМодератор… WHERE datetime = @datetime AND cnlnum = @cnlNum AND @val <= 0 ... ... WHERE NOT EXISTS (SELECT * FROM upsert) AND @val <= 0
01.07.2021 в 13:54 #20303MikhailМодераторINSERT INTO cnldata1 (datetime, cnlnum, val, stat)
SELECT @dateTime, @cnlNum, @val, @stat
WHERE @val <= 0 -
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.