EnglishУкраїнськаmRussian
Login/New
Topic with no new replies

Доступ к архивам по сети


Author Message
Written on: 17. 03. 2021 [12:19]
dudanov
Sergey Dudanov
Topic creator
registered since: 14.08.2013
Posts: 26
Здравствуйте.

Заранее извиняюсь, если данный вопрос уже обсуждался на форуме, беглый поиск результата не дал.

Возникла необходимость получить доступ к архивным данным для их последующего анализа.
Не хотелось бы писать распаковщик файлового архива значений (именно такой используется в проекте), а хотелось бы, если таковая возможность имеется, с помощью любого API выполнять запросы к OpenSCADA и забирать запрошенные данные в формате, который читает pandas.

Благодарю.

[This article was edited 1 times, at last 17.03.2021 at 12:22.]

# rm -rf /bin/laden
Written on: 25. 03. 2021 [14:53]
dudanov
Sergey Dudanov
Topic creator
registered since: 14.08.2013
Posts: 26
Задача решена. Всем спасибо.

Что хочу сказать. Я приятно удивлен производительности OpenSCADA! Скриншот с выводом клиента и производительности прилагаю. Был осуществлен запрос 10 параметров с датчиков за ГОД и интервалом 1 минута. Итого: почти 5.3 миллиона записей, сервер обработал в 60 раз больше (более 300 миллионов!).

При этом обнаружил пару досадных ошибок (недочетов) в OpenSCADA:

1. При запросе с нулевыми параметрами интервала "tm_grnd" и "tm" система должна, согласно документации, ответить одним последним значением. Да, это так, но она в этом случае игнорирует режим ответа (я использую "2" в base64) и отвечает числом в ASCII.

2. При использовании формата хранения отличных от "bool", "int64", "double", система не конвертирует EVAL значения. Например, при запросе архива параметра "float" (EVAL: -3.29E38) система преобразует в общий формат "double", но EVAL значение остается старым, а должно уже быть для "double": -1.79E308. Да, я без проблем могу обойти эту проблему в клиенте, выполнив запрос и выяснив реальный хранимый тип, но все же должна быть конверсия и EVAL тоже. На скриншоте видна проблема, самый крайний правый датчик имеет недопустимое EVAL значение (для хранимого типа "float"), клиент, на основании возвращаемого типа уже "double" (атрибут "vtp" = 4), ожидает EVAL -1.79E308, что не так.

Спасибо, Роман.

Скрин работы клиента:

https://i.ibb.co/gZhQ3k0/data-extractor.png

[This article was edited 7 times, at last 25.03.2021 at 20:03.]

# rm -rf /bin/laden
Attachment

data_extractor.png (File type: image/png, Size: 21.88 kilobytes) — 986 downloads



5417