Как стать автором
Обновить

Комментарии 28

Прошу прощения за портянку, но я умудрился не только скаду написать, которая ломает все стереотипы, но еще и статью, которая поломала Хабр: тэги не отработались, а почему — я хз… Даже уже их копировал с действующих статей, результата все равно нет.
Лошара я, в 4 утра мозг видимо уже спал. На утро понял свою ошибку, поправил. Еще раз прошу прощение за портянку.
Ваша система может вывести график параметра (допустим давление) за месяц? А несколько параметров на этом графике? Как там по быстродействию? А если полистать на пару месяцев назад?
Я к тому что объёмом БД на 40-50Гигабайт гордиться несколько преждевременно. Данные лучше сжимать, и я говорю о математическом сжатии, когда множество строк «дата-параметр-значение» превращаются в «формула, аргументы, интервал дат»
Да, архивный тренд позволяет бегать по всему диапазону данных (по требованиям отрасли он минимум год). По количеству кривых — от 1 до 3-5 в зависимости от подсистемы. Конечно же архив не 1 файлом Субд хранится, данные разбиты на таблицы по типам данных, подсистемам, всего около 50 где-то таблиц.
По динамике — реально на объекте наблюдали такие показатели:
— выборка на тренд 1 параметра за 1 месяц при обращении по сети занимает от 1 до 2 минут.
— оно же, но за произвольные сутки — до 30 секунд.
Отчеты строятся от 5 до 30 секунд (суточные).
Сейчас намеренно не загрублял потоки в базу хотел как раз на больших показателях поиграть и понаблюдать поведение.
Наши операторы на 1-2 минуты жаловались что тормозит. Есть софт, использующий вышесказанное сжатие и выдающий график за несколько секунд. Я лично в нём выводил годовой график. Это killer-фича. Если реализуете данный способ (как опцию хотя бы), конкуренты вообще плакать будут.
Честно говоря мне трудно представить задачу, где требуется вывести график за целый месяц, обычно такие задачи как раз и выполняются путем прореживания данных, иначе — даже простой математический расчет соотношения точек в выборке и пиксельного разрешения панели тренда покажет насколько много данных просто тупо потеряются визуально при таком выводе. В нашем случае 1-2 минуты — это реальный тест, чтобы показать, что система не туфту показывает, а по-настоящему может выборки делать даже такие из архива, чисто комиссии показать — на деле никто конечно же такого не использует.
По поводу killer-фич: мои друзья уже почти год, видимо вдохновленные моими результатами, сейчас занимаются разработкой специализированной системы для промышленной архивации на базе реляционной СУБД MS SQL. Они как раз решили вопросы упаковки данных, организации быстрого кэшированного одновременного доступа на чтение и запись больших объемов (ими разработан собственный native сетевой интерфейс с открытым API для подключения к разным скада-системам и не только), горячего резервирования с поддержкой синхронизации баз данных, встроенными средствами по отображению трендов, организации корпоративного доступа информации через интранет/интернет через WEB прямо из браузера. Сейчас они доделывают ReportBuilder, с помощью которого можно будет создавать и редактировать уже существующие отчеты в системе. В общем, они создали почти что полный аналог такой серьезной платформы как iHistorian, которая является основой для подобных задач в некоторых западных скада-брендах. Сейчас вот жду от них рабочих версий, чтобы начать совместно испытывать и гонять их решение с моей скадой у нас на полигноне… Если сделаем все грамотно и как задумываем — это будет действительно killer-фича для многих конкурентов.
Мы у себя в скада используем opentsdb.net/ Крайне мощная штука, хотя вся мощь от HBase исходит…
Спасибо за материал, обязательно пощупаю.
Для грубых значений достаточно брать данные из rrdgraph.
Хватит уже писать как писал, дай пощупать!!!
Сейчас до офиса доберусь и скину в личку, а то из электрички по телефону не очень удобно. Кстати, желающие пощупать уже давно ко мне обращались и я всем давал для тестирования.
Я сам со СКАД'а системами никогда не работал и особо не интересовался, но после ваших статей действительно появилось желание. Мотивируете )
НЛО прилетело и опубликовало эту надпись здесь
Протокол Modbus поддерживается у меня в скаде во всех его видах (RTU и TCP/IP), а также его режимах (Master и Slave). Как уже в посте указал -в одном из решений именно через контроллер S7-400 с моей скадой взаимодействует скада WinCC. Изначально обменивались по ModbusTCP/IP, но скорость не удовлетворяла, и я сделал штатную поддержку пользовательского обработчика пакетов tcp/ip прямо в скаде, теперь разработчик прямо в проекте может написать свой собственный протокол сетевого обмена. Вы лучше напишите мне на мыло — конкретику обсудим. В общем — решения Вашей задачи у меня есть.
Добавил информацию по выставке. Приходите!
А сколько стоит?
Лицензия разработчика и рантайм отдельно…
Среда разработчика у меня бесплатная и будет таковой оставаться. Я считаю, что инструмент не должен стоить денег, а денег должен стоить результат работы в этом инструменте, который конечный пользователь будет готов запустить уже в работу.
По стоимости рантаймов я пока ценника не формировал, по тем проектам, что сейчас выходили на коммерческие договоры — цену обсуждали с заказчиком, я обычно предлагал на 50% меньшую стоимость, чем им предлагали под их задачи бренды, иногда и больше процент договаривался.
Полностью согласен насчёт бесплатности среды разработчика. Особенно удивляет немалая стоимость инструментов разработчика для опять же недешёвых контроллеров. Они ведь не имеют смысла друг без друга.
Как можно ознакомиться с вашей средой? Пощупать так сказать. Пробежался по Вашим статьям, но к сожалению не нашёл ссылок.
Закинул в ЛС Вам ссылку.
Хотелось бы узнать как у Вас обстоят дела с «многомониторностью». Сам являюсь разработчиком на ПО Wonderware. Там есть некоторые проблемы с этим делом.
У меня в скаде у свойств графического экрана можно задать логический номер монитора, на который он будет выводиться по умолчанию. Это как оконных, так и всплывающих экранов касается. Таким образом можно сразу оперировать мониторами, а не координатами общего рабочего стола да еще и с бубном плясать как в других скада-системах.
Это очень хорошо! А как ведёт себя скада, если запустить её:
1 с меньшим количеством мониторов, чем предполагалось при разработке
2 с другим разрешением экрана, чем предполагалось при разработке
1) Он те, которые заданы на несуществующие поместит на основной (0-й в системе), хотя эту штуку вообще можно сделать динамически управляемой — чтобы разработчик прямо из проекта мог управлять этим параметром по своей логике.
2) Вот это самый краеугольный камень был у нас до моей скады — очень часто приходилось реально убиваться на перерисовки экранов. В своей скаде я разработал собственный движок векторной графики, который учитывает преобразования по масштабированию без потерь в качестве, поэтому то, что нарисовано на одном разрешении в любой момент может быть в рантайме смасштабировано под новое. В рантйме даже есть горячая комбинация Ctrl+S по нажатию которой он в любой момент времени растянет графику по размеру окна рантайма.
Вот как пример в инстурменталке: www.youtube.com/watch?v=y0KfANVDjXc (правда малость уже старенький ролик)
А вот аналогичная функция по такому же экрану в скада-системе Trace Mode 6: www.youtube.com/watch?v=xdzw0AixFHM (почувствуйте разницу)
На самом деле тема больная для многих скада-систем и на сегодня единицы из них умеют делать это более менее грамотно для разработчика и конечного пользователя.
Честно говоря непонятно — это Ваша скада или как-то так получилось что фирма где вы работаете получает все бабки за внедрение?
Моя, а вот насчет денег не совсем понял, или может я пока не так выразился в статьях, деньги получают все, только я кроме денег еще и очень серьезный опыт и площадки для ее развития. Очень много вещей было сделано именно в боевых условиях, когда наступал момент осознания, что именно вот такая функция нам сейчас будет нужна. И конечно же — эти функции добавлялись и тут же проверялись в деле. Хорошо, когда владеешь ситуацией, а не зависим от кого-то.

Но некоторые проекты делались не мной и не моей фирмой, а сторонними интеграторами или конечными пользователями.
Несколько фото.

Сам стенда на выставке:
www.scadaplus.ru/images/mips2013/mips2013_01.jpg

Установка под управлением моей Scada+ с сопряжением с подсистемой видеонаблюдения:
www.scadaplus.ru/images/mips2013/mips2013_02.jpg
www.scadaplus.ru/images/mips2013/mips2013_03.jpg

Позади видно воздушный шарик, в случае падения давления в нем ниже уставки — посылается команда в систему видеонаблюдения, она позиционирует камеру на шарик и начинает запись с генерацией аварии в своем журнале. Параллельно моя система включает насос и как только давление становится нормальным — подсистеме видеонаблюдения отправляется сигнал об остановке видеозаписи и завершении аварийного события.
Приглашаю всех на стенд нашей компании на предстоящей выставке «ПТА-2014», которая состоится с 7 по 9 октября 2014 года в Москве по адресу: ЦВК «Экспоцентр», павильон 5.
На стенде будет демонстрироваться система SCADA+. Можно будет пообщаться с разработчиками и задать свои вопросы, а также попробовать систему в работе.
www.pta-expo.ru/news/020914.htm

Это будет первый выход моей скады на рынок автоматизации как коммерческого продукта и компании, которая будет заниматься ее разработкой, сопровождением и выполнением проектов на ней.
Ура!!! Наконец-то прошли все согласования в ПАО «Газпром» по маркетинговым материалом для презентации системы нашего системного интегратора, который успешно провел в 2015 году испытания и внедрил в эксплуатацию систему линейной телемеханики газопровода на базе моей SCADA+!
Теперь информацию по этому решению, а также отзывы компании о системе SCADA+ можно прочитать на сайте скады в разделе внедрений: система линейной телемеханики «ЭЛТА-ТМ.2»
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории