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

Интеграция с другими SCADA


Author Message
Written on: 07. 04. 2016 [06:46]
andrey-sw
Андрей Сычев
Topic creator
registered since: 10.12.2008
Posts: 32
Есть некая SCADA которая хранит архивы значений на MS SQL
Нужно получить доступ к этим архивам из openscada и отобразить в АРМ.
Вижу несколько вариантов со своими плюсами и минусами
1. Написать свой например Modebus сервер который будет отдавать данные забирая их с MS SQL. Минусы отчевидны - не доступны существующие архивы и дублирование самих архивов, зато относительно простая реализация.
2. Написать свой модуль для поддержки MS SQL через JDBC, подключить архивы и работать стандартным образом. Пока не совсем понятно с какой стороны подступится к этому.

Склоняюсь ко второму варианту но может есть другие?

[This article was edited 1 times, at last 07.04.2016 at 06:47.]
Written on: 07. 04. 2016 [07:29]
IrmIngeneer
Константин \m/
Contributor
Sponsor
registered since: 16.09.2010
Posts: 185
"andrey-sw" wrote:

Есть некая SCADA которая хранит архивы значений на MS SQL
Нужно получить доступ к этим архивам из openscada и отобразить в АРМ.
Вижу несколько вариантов со своими плюсами и минусами
1. Написать свой например Modebus сервер который будет отдавать данные забирая их с MS SQL. Минусы отчевидны - не доступны существующие архивы и дублирование самих архивов, зато относительно простая реализация.
2. Написать свой модуль для поддержки MS SQL через JDBC, подключить архивы и работать стандартным образом. Пока не совсем понятно с какой стороны подступится к этому.

Склоняюсь ко второму варианту но может есть другие?


3. Использовать вместо "некоей" - OpenSCADA. \m/
Written on: 07. 04. 2016 [07:55]
andrey-sw
Андрей Сычев
Topic creator
registered since: 10.12.2008
Posts: 32
"IrmIngeneer" wrote:

"andrey-sw" wrote:

Есть некая SCADA которая хранит архивы значений на MS SQL
Нужно получить доступ к этим архивам из openscada и отобразить в АРМ.
Вижу несколько вариантов со своими плюсами и минусами
1. Написать свой например Modebus сервер который будет отдавать данные забирая их с MS SQL. Минусы отчевидны - не доступны существующие архивы и дублирование самих архивов, зато относительно простая реализация.
2. Написать свой модуль для поддержки MS SQL через JDBC, подключить архивы и работать стандартным образом. Пока не совсем понятно с какой стороны подступится к этому.

Склоняюсь ко второму варианту но может есть другие?


3. Использовать вместо "некоей" - OpenSCADA. \m/

согласен но это нереально, эта некая скада - очень большой проект который разрабатывается и используется более 10 лет. А интеграция нужна для визуализации некоторых данных через WEB и сократить расходы на лицензии
Written on: 07. 04. 2016 [09:02]
andrey-sw
Андрей Сычев
Topic creator
registered since: 10.12.2008
Posts: 32
Если идти по 2-му пути то какой модуль реализовать будет правильней
1. Модуль БД
2. Или все же модуль Архива (причем желательно в режиме только чтение)
Written on: 07. 04. 2016 [09:42]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"andrey-sw" wrote:

Если идти по 2-му пути то какой модуль реализовать будет правильней
1. Модуль БД
2. Или все же модуль Архива (причем желательно в режиме только чтение)

Никакие! Уже есть DB.ODBC, в объёме SQL-запросов, чего для втягивания данных достаточно.

Learn, learn and learn better than work, work and work.
Written on: 07. 04. 2016 [10:06]
andrey-sw
Андрей Сычев
Topic creator
registered since: 10.12.2008
Posts: 32
"roman" wrote:

"andrey-sw" wrote:

Если идти по 2-му пути то какой модуль реализовать будет правильней
1. Модуль БД
2. Или все же модуль Архива (причем желательно в режиме только чтение)

Никакие! Уже есть DB.ODBC, в объёме SQL-запросов, чего для втягивания данных достаточно.

Уже увидел, насколько понял модуль есть в 9.0 рабочей а к 0.8.15 [LTS] его можно прикрутить? или могут какие то проблемы совместимости возникнуть?
И правильно понимаю схему работы применительно к моему случаю
1. Зарегистрировать базу DB.ODBC
2. Добавить архив на БД и в качестве БД выбрать (1)

Или все делать из кода вручную?
Written on: 07. 04. 2016 [10:28]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"andrey-sw" wrote:

Уже увидел, насколько понял модуль есть в 9.0 рабочей а к 0.8.15 [LTS] его можно прикрутить? или могут какие то проблемы совместимости возникнуть?

Нельзя в принципе, поскольку LTS не предусматривает новых модулей.

"andrey-sw" wrote:

И правильно понимаю схему работы применительно к моему случаю
1. Зарегистрировать базу DB.ODBC
2. Добавить архив на БД и в качестве БД выбрать (1)
Или все делать из кода вручную?

2. Создаём локальный архив-зеркало внешнего.
3. Пишем процедуру зеркалирования данных внешней БД на локальный архив:
- SQL-запрос данных через ODBC;
- запись полученных данных в локальный архив.

Learn, learn and learn better than work, work and work.
Written on: 07. 04. 2016 [10:37]
andrey-sw
Андрей Сычев
Topic creator
registered since: 10.12.2008
Posts: 32
"roman" wrote:

2. Создаём локальный архив-зеркало внешнего.
3. Пишем процедуру зеркалирования данных внешней БД на локальный архив:
- SQL-запрос данных через ODBC;
- запись полученных данных в локальный архив.

А без создания копии данных можно например тренд какого то значения построить.
Данных много и постоянно обновлять зеркало совсем не вариант, к тому же хочется некого подобия живых данных а не только статические отчеты по данным, пусть даже с некоторой задержкой в несколько секунд

ps/
Разве не сработает предложенный мной вариант при условии что на MS SQL будут созданы вьюшки должным образом названные и содержащие данные в нужном виде.

[This article was edited 1 times, at last 07.04.2016 at 10:52.]
Written on: 07. 04. 2016 [10:52]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"andrey-sw" wrote:

А без создания копии данных можно например тренд какого то значения построить.
Данных много и постоянно обновлять зеркало совсем не вариант, к тому же хочется некого подобия живых данных а не только статические отчеты по данным, пусть даже с некоторой задержкой в несколько секунд

Какая разница? Для построения графика, как минимум, этот участок прочитать нужно, тогда будете ещё писать синхронизацию выбранного интервала с запросом. И более того — делать это при каждой смене времени на тренде.
А под "обновлять" имелось в виду как раз текущие дочитывать, а не всё перечитывать.

Learn, learn and learn better than work, work and work.



9442