УкраїнськаEnglishmRussian
Вход/Новый
В теме нет новых постов

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


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

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

[Сообщение редактировалось 1 раз(а), в последний раз 07.04.2016 в 06:47.]
Сообщение создано: 07. 04. 2016 [07:29]
IrmIngeneer
Константин \m/
Contributor
Sponsor
Зарегистрирован(а) с: 16.09.2010
Сообщения: 185
"andrey-sw" wrote:

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

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


3. Использовать вместо "некоей" - OpenSCADA. \m/
Сообщение создано: 07. 04. 2016 [07:55]
andrey-sw
Андрей Сычев
Создатель темы
Зарегистрирован(а) с: 10.12.2008
Сообщения: 32
"IrmIngeneer" wrote:

"andrey-sw" wrote:

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

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


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

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

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

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

Learn, learn and learn better than work, work and work.
Сообщение создано: 07. 04. 2016 [10:06]
andrey-sw
Андрей Сычев
Создатель темы
Зарегистрирован(а) с: 10.12.2008
Сообщения: 32
"roman" wrote:

"andrey-sw" wrote:

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

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

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

Или все делать из кода вручную?
Сообщение создано: 07. 04. 2016 [10:28]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 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.
Сообщение создано: 07. 04. 2016 [10:37]
andrey-sw
Андрей Сычев
Создатель темы
Зарегистрирован(а) с: 10.12.2008
Сообщения: 32
"roman" wrote:

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

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

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

[Сообщение редактировалось 1 раз(а), в последний раз 07.04.2016 в 10:52.]
Сообщение создано: 07. 04. 2016 [10:52]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
"andrey-sw" wrote:

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

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

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



12249