Стартовая страница › Форумы › Понять, как работает ПО › Компонетн График — косяки
- В этой теме 136 ответов, 3 участника, последнее обновление 2 года, 8 месяцев назад сделано Mikhail.
-
АвторСообщения
-
01.07.2021 в 16:04 #20305manjey73Участник
А можно более подробно по части синтаксиса последнее ?
Именно в таком виде полностью заменить запрос или что-то куда-то вставить надо ?
С первым вроде понятно, просто добавление к существующему.
01.07.2021 в 16:11 #20306manjey73УчастникХм, толку ноль потому что ошибка соединения с postgre
2021-07-01 16:08:18 Ошибка при соединении с БД PostgreSQL — мой IP:9011: 28000: � pg_hba.conf ��� ������ ��� ���������� «мой IP», ������������ «postgres», ���� «scada», SSL �$
да что такое с символами ????????????????????????
01.07.2021 в 16:31 #20307manjey73УчастникОшибка сохранилась и после обновления до 5.8.3
Дошли таки руки на Raspberry01.07.2021 в 17:11 #20308manjey73УчастникВроде подключился к БД.
Первый вопрос остается в силе, как отсечь правильно лишние каналы?
Ну и в архивы у меня попадают значения с 0 и менее 0 но не интересующие меня каналы
02.07.2021 в 15:43 #20319MikhailМодераторКакие у Вас сейчас SQL-запросы?
Как удалось решить проблему с подключением к базе?04.07.2021 в 10:57 #20324manjey73УчастникОткрыл доступ в firewall (Брендмауэр Windows) и покопался в файле pg_hba.conf на PostrgeSQL на Windows, добавив по аналогии с адресом 127.0.0.1 только 0.0.0.0/0
И перезагрузил службу PostrgeТут я не сообразил как добавить правильно
-- Вставить текущие данные INSERT INTO cnldata1 (datetime, cnlnum, val, stat) VALUES (@dateTime, @cnlNum, @val, @stat)
Тут вроде добавил
-- Вставить или обновить существующие архивные данные WITH upsert AS (UPDATE cnldata2 SET val = @val, stat = @stat WHERE datetime = @datetime AND cnlnum = @cnlNum AND @val <= 0 RETURNING *) INSERT INTO cnldata2 (datetime, cnlnum, val, stat) SELECT @dateTime, @cnlNum, @val, @stat WHERE NOT EXISTS (SELECT * FROM upsert) AND @val <= 0
Судя по всему, в точке :00 секунд не поступают данные со статусом 1, так как миллисекунды имеют какое-то значение.
А архивные получается отключены, так как там только со значениями 0 и меньше 0.05.07.2021 в 11:47 #20341MikhailМодераторINSERT INTO cnldata1 (datetime, cnlnum, val, stat)
SELECT @dateTime, @cnlNum, @val, @stat
WHERE @val <= 028.07.2021 в 17:35 #20438manjey73УчастникТакс, сегодня в 9:56 появились нули в каналах 160,161, 162 и зафиксированны на графиках. Статус = 2
Они получаются путем умножения канала 113*значение больше 1
В 113-й канал данные поступают из канала 1012В БД по данному каналу (1012, передача напрямую с Raspberry) нет нуля на заданное время
з.ы. прямой доступ к серверу вряд ли смогу организовать, но сделать в рабочее время подключение через Тимвьювер смогу. Просто может не там ищу в БД или не так?
29.07.2021 в 16:01 #20447MikhailМодераторИнтересная информация. Можете сделать два экспорта в разные БД отдельно на RPi и на основном сервере и добавить сюда распечатку данных при появлении нулей?
Также хотелось бы увидеть SQL-скрипты, которые используются на текущий момент.29.07.2021 в 16:06 #20448manjey73УчастникУже не могу, виртуалка доблестно умерла при обновлении 🙂
Попросил Одминов установить Linux и буду тестовый сервер переносить на него.30.07.2021 в 13:25 #20464manjey73УчастникТакс, восстановили демо сервер на Windows. На данный момент скрипты передачи в БД с RapidScada напрямую такие.
для Текущих-- Вставить текущие данные INSERT INTO cnldata1 (datetime, cnlnum, val, stat) SELECT @dateTime, @cnlNum, @val, @stat WHERE @val <= 0
для архивных
-- Вставить или обновить существующие архивные данные WITH upsert AS (UPDATE cnldata2 SET val = @val, stat = @stat WHERE datetime = @datetime AND cnlnum = @cnlNum AND @val <= 0 RETURNING *) INSERT INTO cnldata2 (datetime, cnlnum, val, stat) SELECT @dateTime, @cnlNum, @val, @stat WHERE NOT EXISTS (SELECT * FROM upsert) AND @val <= 0
так вот на 28-е число в канале 1012 (он передается в 113 и на основе его идут 160,161,162) нет нуля в данных. Однако на графике каналов был провал в 0, то есть 113-й канал был в нуле. со статусом =2
Еще момент, все данные каналов с Rapberry имеют миллисекунды, а вот без миллисекунд только архивные…
- Этот ответ был изменен 2 года, 8 месяцев назад от manjey73.
30.07.2021 в 16:16 #20475MikhailМодераторСкрипты одинаковые на Windows и RPi?
Как я уже писал, я бы хотел увидеть данные своими глазами в 2 разных базах.Еще момент, все данные каналов с Rapberry имеют миллисекунды, а вот без миллисекунд только архивные…
Примерно так и должно быть, но нужно посмотреть данные.
30.07.2021 в 16:22 #20476manjey73УчастникНет, скрипты разные. На Windows скрипты полностью из примеров, надо как-то находить данные на указанное время, но у меня не получается сделать запрос без миллисекунд, чтобы просто на дату выдало по каналу для проверки.
Хотя на Windows я просто через Администратор смотрю, там НОЛЬ, а в БД на указанное время через модуль экспорта с Raspberry нет нулей на указанное время.
30.07.2021 в 16:25 #20479manjey73Участникз.ы. я же предлагал, чтобы вы у себя развернули образец. а я на Raspberry сделал бы отправку вам на сервер и через Gate и в БД при необходимости. Быстрее бы нашли причину и возможно ошибку.
Ну и проанализировать вам будет проще, чем мне.
- Этот ответ был изменен 2 года, 8 месяцев назад от manjey73.
02.08.2021 в 11:47 #20482MikhailМодераторя же предлагал, чтобы вы у себя развернули образец
Все ресурсы используются для разработки 6-й версии.
Публикуйте информацию о собранных данных на форум. Жду целостной картины.
-
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.