Регистрация | Последние сообщения | Персональный список | Поиск | Настройка конференции | Личные данные | Правила конференции | Список участников | Top 64 | Статистика раздела | faq | Что нового v.2.3 | Чат
Skunk Forum - Техника, Наука, Общество » АСУТП »
создаем свою SCADA.бесплатный регистратор истории и событий (страница 1)

Версия для печати (настроить)
Страницы: 1 2 3

Новая тема | Написать ответ

Подписаться

Автор Тема:   создаем свою SCADA.бесплатный регистратор истории и событий
xandrved
Junior Member

Сообщений: 1
Откуда: г.Кемерово
Регистрация: Сентябрь 2008

написано 24 Сентября 2008 14:15ИнфоПравкаОтветитьIP

На сайте xandrved.narod.ru выложен пример использования регистратора истории и событий НЕЗАБУДКА на базе FIREBIRD.
Он представляет из себя набор библиотек, который можно подключить к любой программе.
Его можно использовать как элемент SCADA(для чего он и создавался), так и в комплекте с различными приборами.
Пример дается вместе и исходниками на С++Builder 2006.
Благодаря использованию уникальных алгоритмов сжатия имеет высокие показатели скорости чтения/записи данных.

ColdFire
Member

Сообщений: 308
Откуда: Россия
Регистрация: Ноябрь 2004

написано 24 Сентября 2008 16:09ИнфоПравкаОтветитьIP

На мой вкус - очень и очень неудачное решение в плане базы данных. Мы выкинули это творение борланда к чертям лет пять назад. Ибо:
- безумно медленно (но это кому что нужно)
- издыхает на нескольких миллиардах записей, то есть падение производительности капитальнейшее

Dmitry M. Gaidash
Moderator

Сообщений: 384
Регистрация: Сентябрь 2005

написано 24 Сентября 2008 22:54ИнфоПравкаОтветитьIP

ColdFire
Насколько я понял, БД борландовская у них не используется вообще.

Arsen
Junior Member

Сообщений: 9
Откуда: Донецк, Украина
Регистрация: Август 2008

написано 25 Сентября 2008 00:42ИнфоПравкаОтветитьIP

Эээх... Опять птичка...
Мы тоже с ней пытались что-то сделать в плане долгосрочного хранения больших объемов данных, но плюнули и в итоге делаем свою БДРВ... Ибо скорость и производительность прежде всего, а птичка все-таки больше на другие задачи ориентирована.

xandrved
Junior Member

Сообщений: 2
Откуда: г.Кемерово
Регистрация: Сентябрь 2008

написано 25 Сентября 2008 10:44ИнфоПравкаОтветитьIP

Результаты тестирования НЕзабудки.
-6466 реальных производственных параметров разных типов (дискретные,целые,вещественные) в режиме РВ
с регистрацией 1 раз в секунду.
- среднее время регистрации всех - 24 мсек.
- время записи в бд каждую минуту - 16 сек.
- сжатие данных - в 400 раз.

предыдущая версия работает уже на более чем 50 станциях стабильно и без тормозов.
Система изначально создавалась для малых проектов(до 500 тэгов) но успешно работает и на средних( до 3000).
новая версия успешно тестировалась на 30 000 параметрах с хаотичным характером изменений.
Падение производительности - это атавизм старых версий FIREBIRD.
Медленная работа - это кривые руки программиста и "тупой" формат данных.
Без эффективного сжатия невозможно получить высокую скорость, потому что это ограничения
аппаратные.

Скорость программы в большей степени зависит от алгоритма и квалификации, а отсутствие таковых
аппартными средствами не решается.

nemcheg
Junior Member

Сообщений: 14
Регистрация: Август 2008

написано 26 Сентября 2008 15:10ИнфоПравкаОтветитьIP

Скажите, а эта FIREBIRD это бинарная база данных, или SQL?
И что обозначает это:
- среднее время регистрации всех - 24 мсек.
- время записи в бд каждую минуту - 16 сек.
Непонятно

Павел Мощицкий
Member

Сообщений: 2266
Откуда: Израиль. Бат-Ям
Регистрация: Январь 2004

написано 26 Сентября 2008 15:21ИнфоПравкаОтветитьIP

xandrved
с регистрацией 1 раз в секунду
Мдаа. Знавал фирму, разработчик SCADA, которые на этом много теряли. А если почаще, что будет?

Dmitry M. Gaidash
Moderator

Сообщений: 385
Регистрация: Сентябрь 2005

написано 26 Сентября 2008 15:37ИнфоПравкаОтветитьIP

Павел Мощицкий
Это стандартное время для многих довольно известных и дорогих SCADA-систем. Меньшее время регистрации достигается нестандартными средствами. Я так понимаю, это связано с OPC 2-й версии - многие SCADA работают с контроллерами по OPC и смысла закладываться на регистрацию чаще чем раз в секунду нет.

Arsen
Junior Member

Сообщений: 11
Откуда: Донецк, Украина
Регистрация: Август 2008

написано 26 Сентября 2008 21:56ИнфоПравкаОтветитьIP

В принципе 1 раза в секунду нам тоже было достаточно для всех проектов (для более высокой частоты и железо надо другое иметь, как правило, и специальные скоростные регистраторы).

Dmitry M. Gaidash
Moderator

Сообщений: 386
Регистрация: Сентябрь 2005

написано 26 Сентября 2008 23:00ИнфоПравкаОтветитьIP

А мы на WinCC делаем регистрацию раз в 20 мс - типа хвастаюсь Но нам надо - процессы быстрые, для разбора полетов нужны такие архивы.

xandrved
Junior Member

Сообщений: 3
Откуда: г.Кемерово
Регистрация: Сентябрь 2008

написано 27 Сентября 2008 04:43ИнфоПравкаОтветитьIP

memsheg
FIREBIRD это SQL-сервер,клон INTERBASE.
НЕЗАБУДКА каждую секунду значения параметров записываются в часовые блоки в памяти.
Этот процесс я назвал регистрацией.
Каждую минуту часовые блоки (отдельным потоком)записываются в базу данных типа FIREBIRD.

всем.
НЕЗАБУДКА - это регистратор для малых и средних проектов,который позиционируется как бесплатный продукт.
Сравнивать его с монстрами типа WINCC это пиар.
Недавно мы делали АСУТП небольшой установки для производства кирпичей.
Несколько десятков параметров, дешевый контроллер.
И зачем им OPC или WINCC?
Для каждого продукта есть своя ниша.
Большие и богатые производства используют дорогие SCADA,для которых кстати нужны квалифицированные программисты.
А небольшие информационные системы вполне можно делать самим.
НЕЗАБУДКА это инструмент для программиста,который этим и занимается.
Очень хочется чтобы он оказался востребован, а может быть найдется спонсор и поможет довести его
до ума...

Dmitry M. Gaidash
Moderator

Сообщений: 387
Регистрация: Сентябрь 2005

написано 27 Сентября 2008 08:07ИнфоПравкаОтветитьIP

xandrved
Сравнивать его с монстрами типа WINCC это пиар
Никто не сравнивает И та же WinCC умеет делать регистрацию только 1 раз в секунду, а для 20 мс пришлось ее "учить" на пару с контроллером.

Недавно мы делали АСУТП небольшой установки для производства кирпичей.
Несколько десятков параметров, дешевый контроллер.

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

небольшие информационные системы вполне можно делать самим
Можно, но квалификация программистов все-таки должна быть выше, чем в случае использования SCADA-систем.

НЕЗАБУДКА это инструмент для программиста,который этим и занимается
Собственно, это не SCADA, а "тулза".

Очень хочется чтобы он оказался востребован, а может быть найдется спонсор и поможет довести его до ума
А это вам надо искать фирму, которая занимается разработкой ПЛАТНЫХ SCADA-систем, и устраиваться туда на работу. Бесплатная SCADA - это утопия.

Павел Мощицкий
Member

Сообщений: 2268
Откуда: Израиль. Бат-Ям
Регистрация: Январь 2004

написано 27 Сентября 2008 20:48ИнфоПравкаОтветитьIP

Dmitry M. Gaidash
Это стандартное время для многих довольно известных и дорогих SCADA-систем.
В середине 90-х под MS DOS. Можете перечислить таких черепах в наше время?
Недавно мы делали АСУТП небольшой установки для производства кирпичей.
Несколько десятков параметров, дешевый контроллер.
И зачем им OPC или WINCC?
Для каждого продукта есть своя ниша.
Большие и богатые производства используют дорогие SCADA,для которых кстати нужны квалифицированные программисты.
А небольшие информационные системы вполне можно делать самим.

Ну если вы сделали под узкоспециализированную область. так назовите её. Вы же выложили для всеобщего обозрения для всех русскоязычных специалистов.

Dmitry M. Gaidash
Moderator

Сообщений: 390
Регистрация: Сентябрь 2005

написано 27 Сентября 2008 21:08ИнфоПравкаОтветитьIP

Павел Мощицкий
Можете перечислить таких черепах в наше время?
С неродными контроллерами с таким периодом опроса работают все или почти все SCADA-системы Почему - я написал, из-за спецификации OPC 2-й версии. С нетерпением жду поддержки OPC 3.0 производителями софта и железа - там от 1 мс опрос возможен.

Павел Мощицкий
Member

Сообщений: 2270
Откуда: Израиль. Бат-Ям
Регистрация: Январь 2004

написано 27 Сентября 2008 21:22ИнфоПравкаОтветитьIP

Dmitry M. Gaidash
С неродными контроллерами
Хочешь сказать, что если нет драйверов от производителя? Чаще всего разработчик SCADA не выпускает железо.

Dmitry M. Gaidash
Moderator

Сообщений: 391
Регистрация: Сентябрь 2005

написано 27 Сентября 2008 21:28ИнфоПравкаОтветитьIP

Павел Мощицкий
Имелась в виду ситуация, когда SCADA работает с контроллером не по его "родному" протоколу, а через OPC - такое встречается повсеместно. Но есть и "родные" SCADA, которые с "родными" контроллерами может только 1 раз в секунду общаться. Это, к примеру, VDS фирмы Yokogawa и ее же контроллеры STARDOM.

Кстати, проведи мне небольшой публичный ликбез - какие SCADA-системы позволяют штатными средствами делать архивирование хотя бы с дискретностью 100 мс?

Павел Мощицкий
Member

Сообщений: 2273
Откуда: Израиль. Бат-Ям
Регистрация: Январь 2004

написано 28 Сентября 2008 20:47ИнфоПравкаОтветитьIP

Dmitry M. Gaidash
какие SCADA-системы позволяют штатными средствами делать архивирование хотя бы с дискретностью 100 мс?
Не с железом в голосе, но могу сказать, что все, кто имеют отдельный сервер архивирования и желательно без использования универсальной СУБД. Вопрос в другом, сколько сигналов сервер потянет с подобным шагом?
а через OPC
Значит ты готов утверждать, что OPC не годиться для систем реального времени и сильно тормозит? Если идти логически, то ты скажешь, что и COM/DCOM тоже не годится для систем реального времени, для архивирования, как частный случай?

Dmitry M. Gaidash
Moderator

Сообщений: 395
Регистрация: Сентябрь 2005

написано 28 Сентября 2008 23:14ИнфоПравкаОтветитьIP

Павел Мощицкий
Значит ты готов утверждать, что OPC не годиться для систем реального времени и сильно тормозит?
Я готов с железом в голосе утверждать, что OPC спецификации 2.х не позволяет делать опрос тэгов с дискретностью менее 1 секунды

Насчет реального времени и "тормозит" не устану повторяться Реальное время - это не быстро, а вовремя. Т.е. 1 раз в 10 секунд, например, но гарантированно - это тоже реальное время.

ColdFire
Member

Сообщений: 309
Откуда: Россия
Регистрация: Ноябрь 2004

написано 29 Сентября 2008 13:13ИнфоПравкаОтветитьIP

Ух, ух, как забурлило
На самом деле ситуация действительно такова, что большинство типовых SCADA систем быструю архивацию обеспечивают лишь путем покупки изрядно дорогой реалтайм-СУБД. "Чистый" MSSQL, как и большинство "тяжелых" баз данных - неповоротливый монстр (про PE-DE я вообще молчу, этот продукт судя по всему принудительно заторможен по сравнению с папой), необходимое количество транзакций в секунду на котором достигается лишь экспоненциальным ростом мощности и стоимости железа - ради прикола можно посмотреть топ-рейтинги производительности СУБД.

Не знаю как там с OPC - интач работает по DDE и выдает данные все таки пошустрее чем раз в секунду, а тянущий данные по тому же DDE хисториан обещает вообще миллисекунды (ну на уровне сотни мсек или даже меньше у него получается). По моим воспоминаниям по OPC 2.x вроде как можно и побыстрее вытягивать, чем посекундно, но точнее смогу сказать через пару недель - некогда.

Складывать данные в SQL-базу данных в упакованном виде - так и я умею. Собственно, так все и делают. Только нахрена там тогда база данных нужна вообще ?

nemcheg
Junior Member

Сообщений: 16
Регистрация: Август 2008

написано 29 Сентября 2008 13:37ИнфоПравкаОтветитьIP

На SQL-сервере нормальный регистратор не построить... По скорости будет сильно уступать.
Разве что для очень небольшой базы и с опросом тегов раз этак секунд в 5-10.
Да и то, когда данных пару гектар наберется, тушите свет...

ColdFire
Member

Сообщений: 310
Откуда: Россия
Регистрация: Ноябрь 2004

написано 29 Сентября 2008 15:28ИнфоПравкаОтветитьIP

На SQL-сервере можно построить нормальный регистратор в raw, но для этого надо брать изначально подходящий сервер. Мы не далее как с год назад гоняли тесты. Опуская конкретные цифры:
- Oracle оказался самым тормозным, при этом по мере увеличения объема быстро уходил в себя
- MSSQL чуть лучше (PE-DE версии хуже на порядок), но также сильно падает быстродействие
- IBM DB2 однозначно рулит из больших братьев - высокая скорость и почти незаметное падение на тех объемах данных,
которые можно наплодить за неделю непрерывной работы генератора
- Mysql показал самые лучшие результаты для standalone-серверов
- Sqlite однозначно рулил бы, если бы был standalone

FB мы даже не рассматривали - последнее общение с этим продуктом закончилось на уровне версии 2.0, как под виндами, так и под линуксом. Безумно тормозной коннект, непереносимость к частым обновлениям данных (версионность). В общем, как только база уходит за 3-4 гига...

Однако, думаю, пора заканчивать с программерскими нюансами.

nemcheg
Junior Member

Сообщений: 17
Регистрация: Август 2008

написано 29 Сентября 2008 20:17ИнфоПравкаОтветитьIP

Не, ну если в рав, то действительно - а нафиг то вообще СУБД нужна, стримать все в файлы напрямую без лишнего гемора, имхо будет побыстрее намного...

Dmitry M. Gaidash
Moderator

Сообщений: 397
Регистрация: Сентябрь 2005

написано 29 Сентября 2008 20:26ИнфоПравкаОтветитьIP

ColdFire
необходимое количество транзакций в секунду
WinCC 6.0, MS SQL 2000 - 10 тысяч тэгов в секунду. По новым версиям (WinCC 6.2/7.0, MS SQL 2005) пока не узнавал

Павел Мощицкий
Member

Сообщений: 2276
Откуда: Израиль. Бат-Ям
Регистрация: Январь 2004

написано 29 Сентября 2008 22:33ИнфоПравкаОтветитьIP

Dmitry M. Gaidash
Реальное время - это не быстро, а вовремя
но гарантированно - это тоже реальное время.
Полностью соглашусь, но не получится гарантии, если даже и 1 раз в 10 сек из-за большой дискретности и проблеме выхода из прерываний, если чаще не могём.
OPC спецификации 2.х не позволяет делать опрос тэгов с дискретностью менее 1 секунды
Ну тут я подожду реакции программистов, хотя знаю, что ты не прав.

Arsen
Junior Member

Сообщений: 12
Откуда: Донецк, Украина
Регистрация: Август 2008

написано 30 Сентября 2008 00:00ИнфоПравкаОтветитьIP

Теоретически ОРС 2.0 поддерживает дискретность до 100 нс (т.к. время задается 64-битной структурой FILETIME), но, как правило, на практике для большинства SCADA это 1 секунда, максимум 100 мс. Ограничения накладываются аппаратурой и операционной системой, а также форматом представления данных в БДРВ.

Ваш ответ:

Коды форума
Смайлики


Ник:    Пароль       
Отключить смайлики
Страницы: 1 2 3

Все время MSK

Склеить | Разбить | Закрыть | Переместить | Удалить

Новая тема | Написать ответ
Последние сообщения         
Перейти к:

Свяжитесь с нами | skunksworks.net

Copyright © skunksworks.net, 2000-2018

Разработка и техническая поддержка: skunksworks.net


Рейтинг@Mail.ru Яндекс.Метрика