Автор |
Сообщение |
Сообщение создано: 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.
|