Компонетн График — косяки

Стартовая страница Форумы Понять, как работает ПО Компонетн График — косяки

Просмотр 15 сообщений - с 121 по 135 (из 137 всего)
  • Автор
    Сообщения
  • #20305
    manjey73
    Участник

    А можно более подробно по части синтаксиса последнее ?

    Именно в таком виде полностью заменить запрос или что-то куда-то вставить надо ?

    С первым вроде понятно, просто добавление к существующему.

    #20306
    manjey73
    Участник

    Хм, толку ноль потому что ошибка соединения с postgre

    2021-07-01 16:08:18 Ошибка при соединении с БД PostgreSQL — мой IP:9011: 28000: � pg_hba.conf ��� ������ ��� ���������� «мой IP», ������������ «postgres», ���� «scada», SSL �$

    да что такое с символами ????????????????????????

    #20307
    manjey73
    Участник

    Ошибка сохранилась и после обновления до 5.8.3
    Дошли таки руки на Raspberry

    #20308
    manjey73
    Участник

    Вроде подключился к БД.

    Первый вопрос остается в силе, как отсечь правильно лишние каналы?

    Ну и в архивы у меня попадают значения с 0 и менее 0 но не интересующие меня каналы

    #20319
    Mikhail
    Модератор

    Какие у Вас сейчас SQL-запросы?
    Как удалось решить проблему с подключением к базе?

    #20324
    manjey73
    Участник

    Открыл доступ в 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.

    #20341
    Mikhail
    Модератор

    INSERT INTO cnldata1 (datetime, cnlnum, val, stat)
    SELECT @dateTime, @cnlNum, @val, @stat
    WHERE @val <= 0

    #20438
    manjey73
    Участник

    Такс, сегодня в 9:56 появились нули в каналах 160,161, 162 и зафиксированны на графиках. Статус = 2
    Они получаются путем умножения канала 113*значение больше 1
    В 113-й канал данные поступают из канала 1012

    В БД по данному каналу (1012, передача напрямую с Raspberry) нет нуля на заданное время

    з.ы. прямой доступ к серверу вряд ли смогу организовать, но сделать в рабочее время подключение через Тимвьювер смогу. Просто может не там ищу в БД или не так?

    #20447
    Mikhail
    Модератор

    Интересная информация. Можете сделать два экспорта в разные БД отдельно на RPi и на основном сервере и добавить сюда распечатку данных при появлении нулей?
    Также хотелось бы увидеть SQL-скрипты, которые используются на текущий момент.

    #20448
    manjey73
    Участник

    Уже не могу, виртуалка доблестно умерла при обновлении 🙂
    Попросил Одминов установить Linux и буду тестовый сервер переносить на него.

    #20464
    manjey73
    Участник

    Такс, восстановили демо сервер на 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.
    #20475
    Mikhail
    Модератор

    Скрипты одинаковые на Windows и RPi?
    Как я уже писал, я бы хотел увидеть данные своими глазами в 2 разных базах.

    Еще момент, все данные каналов с Rapberry имеют миллисекунды, а вот без миллисекунд только архивные…

    Примерно так и должно быть, но нужно посмотреть данные.

    #20476
    manjey73
    Участник

    Нет, скрипты разные. На Windows скрипты полностью из примеров, надо как-то находить данные на указанное время, но у меня не получается сделать запрос без миллисекунд, чтобы просто на дату выдало по каналу для проверки.

    Хотя на Windows я просто через Администратор смотрю, там НОЛЬ, а в БД на указанное время через модуль экспорта с Raspberry нет нулей на указанное время.

    • Этот ответ был изменен 2 года, 8 месяцев назад от manjey73.
    • Этот ответ был изменен 2 года, 8 месяцев назад от manjey73.
    #20479
    manjey73
    Участник

    з.ы. я же предлагал, чтобы вы у себя развернули образец. а я на Raspberry сделал бы отправку вам на сервер и через Gate и в БД при необходимости. Быстрее бы нашли причину и возможно ошибку.

    Ну и проанализировать вам будет проще, чем мне.

    • Этот ответ был изменен 2 года, 8 месяцев назад от manjey73.
    #20482
    Mikhail
    Модератор

    я же предлагал, чтобы вы у себя развернули образец

    Все ресурсы используются для разработки 6-й версии.

    Публикуйте информацию о собранных данных на форум. Жду целостной картины.

Просмотр 15 сообщений - с 121 по 135 (из 137 всего)
  • Вы должны авторизироваться для ответа в этой теме.