PDA

Просмотр полной версии : Насколько сложной должна быть программа, или SCADA против C++ Builder



Доренский Алексей
09.04.2012, 11:17
О чем Вам говорит, например, температура 42[°С]? Много это, или мало? Скорее всего это неизвестно, потому как бессмысленно судить о данной величине, без соотнесения к конкретному объекту. Так, например, для человека – это крайне высокая температура, а для чая – наоборот крайне низкая.
Аналогично обстоит дело с программным обеспечением. Какая сложность и функциональность должна иметь программа применительно к конкретной технической задаче? То ли она завышена, то ли наоборот - занижена? Я уже давно хотел разобраться с подобным вопросом и включил это в свой план с января по март.
Однако, передо мной встал еще один риторический вопрос: где кончается прерогатива SCADA систем и начинается прерогатива C++ Builder или Delphi? Т.е. по сути в какой среде разрабатывать программу?
Чтобы почувствовать разницу, для начала я решил разобраться с C++ Builder 6.0 (CB6), тем более что неоднократно писал код на C для AVR-ов и PIC-ов, тем более что С++ - это на два плюса лучше чем С. CB6 по сути может работать и с Паскалем, но это уже не принципиально.
На то, чтобы разобраться со средой и опробовать инструменты – ушел месяц. Каждый желающий может сделать то же самое, в такой срок, а тем кто вообще не писал на С/С++ потребуется не более трех месяцев. На то, чтобы написать и отладить код программы – еще два месяца. Итого: три месяца.
Объектом, применительно к которому будет разрабатываться программа, выбрал одну из технологических установок предприятия ОАО АЛТТРАНС. Установка предназначена для сушки изоляции обмоток трансформаторов токами короткого замыкания низкой частоты (СТКЗ).
Суть работы установки состоит в том, что на трансформаторы, закороченные со вторичной стороны, подают низкое напряжение, еще более низкой частоты. За счет возросшего магнитного сопротивления сердечника – короткое замыкание во вторичной обмотке становится не таким уж коротким для первичной стороны, что делает возможным контролируемый и равномерный нагрев обоих обмоток, с целью нагрева межобмоточной изоляции, и опять таки, с целью удаления из нее излишней влаги, которая пагубно влияет на ее изоляционные свойства.
Если кратко, то установка представляет собой платформу, на которой размещаются пять трансформаторов и шкаф управления. Внутри шкафа имеется частотный преобразователь ВЕСПЕР EI-9011 на 150КВт, и несколько модулей ОВЕН МВУ-8 + МВА-8, и прочая электротехника. Связь по Modbus-RTU.
Для тех кому интересно, ниже будет приведено полное описание установки, фотографии, приведены схемы электрические принципиальные, смета затрат на ее изготовление, а также перечислены все косяки приборов ОВЕН, с которыми пришлось бороться.
Задача программы сводится к следующему:
1) предоставить оператору дружественный интерфейс, минимизировать количество нажимаемых кнопочек, предотвратить бессмысленные действия оператора;
2) собственно обеспечить процесс сушки;
3) записывать в журнал сообщений – что делается в программе и что делает оператор;
4) записывать графики температур;
5) контролировать какие-либо нештатные ситуации и отключать установку, если что-либо идет не так как это задумано.

Подобные сложности обусловлены тем, что стоимость одного сгоревшего трансформатора сопоставима со стоимостью шкафа автоматизации+стоимость программы+стоимость нового оператора.
Ниже будут приведены: технико-экономическое обоснование выполненных работ, технические характеристики, исходный код программы.
Для тех, кто захочет его использовать за символическое вознаграждение может быть выслано детальное описание кода, чтобы не ломать голову над множеством ни о чем не говорящих структур, функций и переменных.
Мои выводы относительно сложности и функциональности программы можно найти в технико-экономическом обосновании.

Доренский Алексей
09.04.2012, 11:18
Всех тех, кто разбирается в SCADA системах призываю к оценке того, насколько сложно будет сделать то же самое в SCADA системе. Думается, что в скором времени у меня самого до этого дойдут руки, и я сам отвечу на подобный вопрос, но пока мои знания не позволяют сделать то же самое в SCADA.
Если это кого-нибудь интересует данная тема, пишите: информацию буду размещать по мере готовности, и исходя из потребности.

Доренский Алексей
09.04.2012, 11:33
Фотографии в скрепке

Доренский Алексей
09.04.2012, 11:35
И еще немного

Доренский Алексей
09.04.2012, 11:42
Принтскрины программы

SBER
09.04.2012, 13:21
Без обид, но используя связку, плк100-110 и дельтовскую панель, я бы справился за день. Если считать затраты времени только на программирование.
Используя связку плк - делфи тоже:)
А вообще я сторонник программирования технологических процессов в плк, а скаду и HMI использовать только для визуализации и задания уставок (которые тоже храню в плк). Надежность таких конфигураций выше, нет проблем с дублированным управлением, когда есть необходимость установить несколько терминалов управления.
Скада сильно экономит время при создании сложных технологических схем с навороченной анимацией. Использовать ее для непосредственного контроля технологии имеет смысл только на очень больших, удаленных друг от друга системах.

Доренский Алексей
09.04.2012, 13:27
Без обид, но используя связку, плк100-110 и дельтовскую панель, я бы справился за день. Если считать затраты времени только на программирование.
Используя связку плк - делфи тоже:)
А вообще я сторонник программирования технологических процессов в плк, а скаду и HMI использовать только для визуализации и задания уставок (которые тоже храню в плк). Надежность таких конфигураций выше, нет проблем с дублированным управлением, когда есть необходимость установить несколько терминалов управления.
Скада сильно экономит время при создании сложных технологических схем с навороченной анимацией. Использовать ее для непосредственного контроля технологии имеет смысл только на очень больших, удаленных друг от друга системах.
А сколько, если не секрет стоит ваш рабочий день? Я бы его оплатил в полном объеме и даже в троекратном размере :-). Научите как это сделать за день и деньжат подзаработаете. Лихо вы срок разработки опередяляете :-)

SBER
09.04.2012, 13:45
А сколько, если не секрет стоит ваш рабочий день? Я бы его оплатил в полном объеме и даже в троекратном размере :-). Научите как это сделать за день.

Я на сделке работаю, поэтому так быстро:D
Вынос технологии в плк сильно удобней и экономит много времени, вне зависимости, что вы используете скаду, делфи или С. Я так понимаю это был ваш первый опыт промышленной автоматизации, поэтому было затрачено так много времени. Когда набьете руку все будет гораздо быстрее.
Упор на компьютер при задании технологии, характерен для программистов пришедших в АСУ. Сам поначалу этим грешил. После того, как сделал упор на плк,- сильно ускорился. Правда у меня почти все объекты минимум с двумя терминалами.
Большой плюс овеновских плк в том, что на российском рынке это единственный плк, который можно купить за эти деньги, который позволяет программировать сложные технологические процессы.

Доренский Алексей
09.04.2012, 14:36
У меня этих ПЛК целая коробка под столом :-)
Вынос программы в ПЛК вообще ничего не дает, кроме автономности самой установки и набора стандартных функций, из набора стандартных библиотек. Не вижу разницы с какими сетевыми переменными работать, с теми что получает ПЛК, или с теми что дают модули МВУ, МВА - на логику программы это никак не влияет.
Могу поспорить, что, например, в ПЛК63 вообще памяти программ не хватит даже на четверть того, что требуется. Более того, зачем мудрить с графиками, кнопками и пиктограммами в панели Delta, если имеются продуманные решения в Билдере или Дельфи, ну а в Скада - там вообще куча всего для отображения.
Интересно, что именно по вашему мнению дает вынос программы в ПЛК?
Овеновские ПЛК - это для бедных, потому мы с ними в России и работаем :-)
Кстати, удивительный факт, но ПЛК+Delta по стоимости дороже чем планшетник, а функционал того и другого - несравним.
Более того, в Борланде у меня приложение - многопоточное, потоки останавливаются и перезапускаются, а в ПЛК - нифига не многопоточное.
В планшетнике проц, а в ПЛК - AT91.

Дмитрий
09.04.2012, 18:14
Ну раз вопрос о деньгах не стоит, можно всё реализовать на SCADA, только все сделайте на ADVANTEH, забудьте об опросе в 100мс, и всякие тормоза связанные с WINDO_Y. Это минусы (не все), плюсы, решение и визуализация решения в одном проекте, с использованием MASTER PLC.
Ну и автономность, плюс переложить простые функции на железо.

SBER
09.04.2012, 19:42
По поводу цены на планшетники и плк, - есть такая фигня - массовое производство называется:D Еслиб овеновские плк тоже мульенами штамповали, то их цену можно было бы существенно снизить.
Я вел речь про плк 100-110, у него ресурсов хватит. 63 не использовал, у меня задач под них нет.
Если в таким простых задачах, как изложенная вами, вам нужна многозадачность и не хватает мощностей плк 110м - то у вас серьезные проблемы с оптимизацией.
В промышленной автоматизации одна из основных характеристик - надежность. И даже связка овен - дельта существенно обгоняет по этой характеристике планшетники и пк. Про бренды и говорить нечего.
Кодесис, юнити и др., адаптированы для программирования задач по автоматизации, С и делфи нет. Если вы пишите давно, то становиться проще, за счет накопленных модулей, а с нуля вообще не сравнить.

lara197a
09.04.2012, 20:08
И в чем проблема-то?
Данное оборудование прекрасно будет работать как со скадой, так и с встроенной в КДС визуализацией.
А про то "зачем нужны ПЛК, если есть компьютеры"- это вечный вопрос выпускника института, попавшего в садмины на современное предприятие и впервые зашедшего в гости к инженерам по автоматизации.
Но через пару месяцев этот вопрос сам по себе у него исчезает.

capzap
09.04.2012, 20:11
Да ладно, модус делан на линуксе, мне понравился он больше чем плк100. Возможно время цикла больше, но очень редко встречаются задачи которым критично время меньше 10мс

SBER
09.04.2012, 22:15
Да ладно, модус делан на линуксе, мне понравился он больше чем плк100. Возможно время цикла больше, но очень редко встречаются задачи которым критично время меньше 10мс

Ходят слухи, что модус по цене никак не попадает в категорию дешевых. В связи с чем, его перспективы на российском рынке видятся мне весьма туманными. При выборе модус <-> бренд, за одни и те же деньги (а то и дороже), модус явно будет проигрывать.

Доренский Алексей
10.04.2012, 05:25
А про то "зачем нужны ПЛК, если есть компьютеры"- это вечный вопрос выпускника института, попавшего в садмины на современное предприятие и впервые зашедшего в гости к инженерам по автоматизации.
Но через пару месяцев этот вопрос сам по себе у него исчезает.
Для чего нужны ПЛК я и так прекрасно знаю, а с контроллерами не первый день работаю, поэтому не нужно говорить, что если бы я с ними работал, то вопрос бы отпал сам собой. Вы обоснуйте почему воптос отпадет сам собой, будте более объективны.

Так все-таки, что лучше использовать - Планшетник (пром.компьютер) или связку контроллер+панель оператора?



В промышленной автоматизации одна из основных характеристик - надежность. И даже связка овен - дельта существенно обгоняет по этой характеристике планшетники и пк. Про бренды и говорить нечего.
Кодесис, юнити и др., адаптированы для программирования задач по автоматизации, С и делфи нет. Если вы пишите давно, то становиться проще, за счет накопленных модулей, а с нуля вообще не сравнить.
Что касается Кодесис, юнити и др. думается что Вы правы, но что касается надежности - тут я с Вами не согласен, планшетники в промышленном варианте ничуть не меннее надежнее чем ПЛК+панель, тем более ОВЕН и стоят почти столько же.



Ну раз вопрос о деньгах не стоит, можно всё реализовать на SCADA.
Можете ли вы порекомендовать какую-либо SCADA, и попытаться ответить на вопрос: "Всё-таки, где заканчивается прерогратива СКАДА и начинается прерогатива Билдера?".
Например SBER говорит, что "Скада сильно экономит время при создании сложных технологических схем с навороченной анимацией. Использовать ее для непосредственного контроля технологии имеет смысл только на очень больших, удаленных друг от друга системах."

Дело в том, что объем работ и функциональности Билдера для меня измеримы и понятны. Я могу сделать очень гибкий интерфейс, описать на языке C++ классы и типы, inline функции, динамически создавать VCL(визуальные) компоненты и объекты типа файловых потоков и т.п. Могу ли я это делать в СКАДА?

ПЛК 100 возможно и хватит, но только что дает пернос программы в ПЛК?

Доренский Алексей
10.04.2012, 05:37
И в чем проблема-то?
Данное оборудование прекрасно будет работать как со скадой, так и с встроенной в КДС визуализацией...
То что оно будет работь, вопрос не стоит - это само собой разумеется.
Я с этой визуализацие работал, тем более в кодесис, и тем более мне не понятно как вы сможете в этой визуализации сделать, например - разворачивающиеся списики, или отобразить табличку, которая на рисунках (см.выше) отображается в нижней части экрана, или например контекстное меню?
Хотя табличку почти такую можно сваять..но опять таки тыкаясь по ее пунктам ничего нельзя сделать.. событий то нету.

SBER
10.04.2012, 06:04
Так все-таки, что лучше использовать - Планшетник (пром.компьютер) или связку контроллер+панель оператора?


Связка контроллер-панель оператора - бюджетный вариант.
Связка контроллер+промпк +скада стоит дороже, но быстрее в реализации, лучше подходит для создания больших и сложных технологических процессов.
Перенос технологии в плк, существенно увеличивает надежность, простоту конфигурирования (особенно для каркасных плк), упрощает создание систем с несколькими терминалами управления.
Выход из строя терминала управления не приводит к сбою технологической цепочки.

ТДело в том, что объем работ и функциональности Билдера для меня измеримы и понятны. Я могу сдеть очень гибкий интерфейс, описать на языке C++ классы и типы, inline функции, динамически создавать VCL(визуальные) компоненты и объекты типа файловых потоков и т.п. Могу ли я это делать в СКАДА?

Да, в citect, например, вы можете это делать.
Не поделитесь для автоматизации каких технологических процессов вам нужно все вышеперечисленное?

Если отбросить в сторону словоблудие, то получается, что для малых объектов связка плк-панель дешевле.
На средних - еще можно посмотреть.
На больших, все равно вылезают каркасные плк.
Я перебрался в промышленную автоматизацию в 2008 в кризис. Начинал на связке плк TWIDO+делфи, потом TWIDO+citect, потом открыл для себя нормальные плк (овен в том числе) и больше глупостями не занимаюсь:)
Если бы я тратил по три месяца на такие проекты, жил бы на трехразовом питании - понедельник, среда, пятница.

Доренский Алексей
10.04.2012, 07:05
SBER, ваш ответ понятен. Действительно получается, что большая система локально централизованная контроллерами - будет легче конфигурироваться, чем без них, с тем учетом что в контроллеры перенесены рутинные и неизменяемые функции. Но если система не большая, то это уже не имеет значения.

Да, в citect, например, вы можете это делать.
Про ссылку на citect спасибо, попробую найти и изучить. Следуя из этого, можно полагать, что citect может всё, что может билдер, плюс заточен по автоматизацию (OPC серверы и т.п.). Я правильно понял?

Три месяца, из них месяц на борланд, - вполне нормальный срок. Поясню, в чем состояла сложность:
1. Следует ввести тип изделия, который содержит набор параметров, определяющих: режим его сушки, номинальную температуру, гистерезис, напряжение и т.п. Все типы должны быть записаны в файле. В программе должна иметься возможность добавить, удалить и отредактировать тип через соответствующую форму, а оператору выбрать нужный тип на посту, где стоит трансформатор.
2. На одной платформе пять постов, соответствено для пяти изделий. Одинаковым изделиям - назначается один и тот же этап прогрева, разным - соответствено разные. Итого: следует ввести алгоритм поэтапной сушки, а на форме отслеживать выбранный тип - и подставлять его данные в программу.
3. Вентиляция может работать в нескольких режимах: как определено в типе трансформатора (сразу, через время, по температуре - т.е. синхронизируется типом) или так, как захотелось оператору, т.е. в ручном режиме вне зависимости от типа.
4. Аналогично обстоит дело с подачей электричества.
5. Для п.1. - п.4. следует менять визуальные компоненты на форме в соответствие текущему состоянию.
6. Все аварии и неисправности от модулей или от частотного преобразователя, включая те, что вызваны потерей связи нужно расшифровать "по русски" так, чтобы операр понял в чем причина. Все аварии подразделены по те, что действуют, те что были-пропали и не подтверждены оператором, те что подверждены-но от этого действовать не перестали..и т.д.
7. Каждое действие сопровождается записью сообщения в журнал, например, "оператор выбал тип ТМГПН_1000 на первом посту". Соответственно нужно формализовать - что именно в программе является действием, перечислить эти действия. Журнал нужно просматривать, производить в нем навигацию и поиск сообщений годичной давности.
.... и таких пунктов можно перечислять и перечислять.

Разумется я не сторонник Delphi и борланд для автоматизации производств - я же не самоубийца, но жопочасы на такие маневры что в Delphi , что в citect будут совершенно одинаковы.

Да, в citect, например, вы можете это делать.
Не поделитесь для автоматизации каких технологических процессов вам нужно все вышеперечисленное?
Выпадающие списки как и любые другие визуальные компоненты требуются для того же самого, для чего они обычно стоят в Windows программах, а именно: упростить взаимодействие оператора с программой, когда кнопочек становится недостаточно.

SBER
10.04.2012, 07:35
. Я правильно понял?


Поняли правильно, но есть один минус - цена. Что-то около 50 тыс рублей, за конфигурацию на один терминал, 300 точек. Дальше все существенно дороже. Перенес технологию в плк и перешел на CX-Supervisor, наворотов меньше, но сильно дешевле.
Вся описанная вами технология реализуется посредством 308 плк (он с картой памяти). Если ограничить архивацию событий одной неделей, то 110.
Основное направление, которым занимаюсь, - автоматизация элеваторов. Все ,перечисленное вами, там есть. Только закончил бюджетный шкаф с плк110, 11 модулями и дельтовской панелью. Все отлично вместилось.
Контингент осваивает АСУ в течении одного дня, все операторы без ВО, большинство без знаний пк. Половина объектов без электрика, шкафы не обслуживаются. Система может быть сколь угодно сложной внутри, но снаружи все должно быть простым как топор.

Yegor
10.04.2012, 08:12
Моё сырое:

http://images.devs-on.net/Thumb/OFPTIGXmt1D2AlHT-.png (http://images.devs-on.net/Image/OFPTIGXmt1D2AlHT-.png)

Выглядит как хочу (например, трубы подсвечиваются по состоянию насосов и клапанов напуска, причём все участки по отдельности — обход графа; если где-то выход в атмосферу, то закрашивается полосками например). Отчёты печатает как хочу. Восстанавливается после сбоя как хочу. Графики можно смотреть хоть за прошедшие десять секунд, хоть за месяц (допиливал чтобы разрешение менялось). Масштабируется на ура (WPF — вектор). Ну и просто без лишних вопросов делает что мне надо.

Visual C# 2010 Express (WPF), Codesys 2.3, ПЛК160

capzap
10.04.2012, 08:26
Ходят слухи, что модус по цене никак не попадает в категорию дешевых. В связи с чем, его перспективы на российском рынке видятся мне весьма туманными. При выборе модус <-> бренд, за одни и те же деньги (а то и дороже), модус явно будет проигрывать.

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

lara197a
10.04.2012, 08:31
Есть такое понятие как универсальность и унификация.
К примеру Вашу задачу можно решить используя:
-микроконтроллер,
-ПЛК,
-Планшет,
-Пром-компьютер.
Для визуализации использовать:
-панель,
-СКАДА,
-Визуализацию КДС,
-самописную на делфях или Си.
Прошло 3 года. Вы уволились, перехали в др. город. Система сломалась или потребовалось расширение.
Ну какую из выбранных конфигураций реально восстановить с мин. затратами на поиск специалиста? Думаю часть решений ввиду уникальности вообще не подлежат ремонту и апгрейду. Кто будет в Ваших изысках разбираться?
А вот ПЛК, панель, визу КДС- все просто и понятно. Ну еще скада..

capzap
10.04.2012, 08:43
Есть такое понятие как универсальность и унификация.
К примеру Вашу задачу можно решить используя:
-микроконтроллер,
-ПЛК,
-Планшет,
-Пром-компьютер.
Для визуализации использовать:
-панель,
-СКАДА,
-Визуализацию КДС,
-самописную на делфях или Си.
Прошло 3 года. Вы уволились, перехали в др. город. Система сломалась или потребовалось расширение.
Ну какую из выбранных конфигураций реально восстановить с мин. затратами на поиск специалиста? Думаю часть решений ввиду уникальности вообще не подлежат ремонту и апгрейду. Кто будет в Ваших изысках разбираться?
А вот ПЛК, панель, визу КДС- все просто и понятно. Ну еще скада..

:) шансы уровняются, если увольняясь поступить непорядочно и уничтожить проект для плк и визуализации

Доренский Алексей
10.04.2012, 09:04
Visual C# 2010 Express (WPF), Codesys 2.3, ПЛК160
Сколько времени потратили?


Есть такое понятие как универсальность и унификация.
К примеру Вашу задачу можно решить используя:
-микроконтроллер,
-ПЛК,
-Планшет,
-Пром-компьютер.
Для визуализации использовать:
-панель,
-СКАДА,
-Визуализацию КДС,
-самописную на делфях или Си.

тут я с вами согласен, но аналогично можно сказать и про изыски на codesys и про изыски скада. Это если принять как стандарт дефакто что новый инженер работал с codesys, но к сожалению это не так.
Какая, по вашему мнению среда разработки, является или может являться таким стандартом (унифицированной средой) в области автоматизации производств?


:) шансы уровняются, если увольняясь поступить непорядочно и уничтожить проект для плк и визуализации
это точно

lara197a
10.04.2012, 09:07
:) шансы уровняются, если увольняясь поступить непорядочно и уничтожить проект для плк и визуализации
В общем случае-это все таки не критично. А в плане диверсии, если захотеть, то можно все что угодно вывести из строя. Но мы рассматриваем общий случай, а не частные ситуации.
Стандартное оборудование и стандартное ПО если не лучше, то уж по крайней мере надежней.
К примеру мой сын фанат люникса, а вот не все задачи на нем решить получается. Часто банально оборудование не поддерживается. И приходится ему скрипя сердцем ненавистный виндос применять.
Так и здесь сделать можно на чем угодно и решение возможно будет правильным, но вот целесообразно ли?

Доренский Алексей
10.04.2012, 09:16
Я имел ввиду другое, то что пошло направление держать на борту устройства операционную систему.
Вот и получается, что постеменно ПЛК выродятся в компьютеры... и стоить дудут столько же, если не дешевле.. хотя на сегодя уже так и получается


В общем случае-это все таки не критично. ...
Так и здесь сделать можно на чем угодно и решение возможно будет правильным, но вот целесообразно ли?
Это не конструктивный ответ. Не критично - это до первого случая.
Вопрос как раз и ставится о целесообразности Борланда (Дельфи) и Скада / контроллеров или компьютеров, о том что сделать можно на чем угодно все и так знают.

capzap
10.04.2012, 09:27
К примеру мой сын фанат люникса, а вот не все задачи на нем решить получается. Часто банально оборудование не поддерживается. И приходится ему скрипя сердцем ненавистный виндос применять.
Так и здесь сделать можно на чем угодно и решение возможно будет правильным, но вот целесообразно ли?

Вот тут в корне не согласен, на винду в настоящее время можно перейти только ради современных игрушек кои меня не очень интересуют и из-за таких монстров как сименс например, если говорить об овен где протокол только модбас и dcon из общепринятых, то без проблем подключается на третьем ядре и через СОМ порт и через USB любое устройство

Yegor
10.04.2012, 09:53
Сколько времени потратили?Да уж 5 месяцев работаю :-D Понакидать цветастых финтифлюшек в скаде было бы гораздо быстрее. Но получился бы типичный срам, который можно видеть по запросу SCADA в поиске картинок. Наш текущий проект на потоке не стоит и у меня есть возможность делать всё вдумчиво — никого не задерживаю.

Если б работал на скорость, то получилось бы 3-4 месяца. Это при том, что в отправной точке у меня на руках был контроллер, пара недель игр в эмуляторе кодесиса, знание C++/C# и незнание WPF/XAML.

SCADAMaster
10.04.2012, 10:10
Однако, передо мной встал еще один риторический вопрос: где кончается прерогатива SCADA систем и начинается прерогатива C++ Builder или Delphi?
Универсальный ответ на этот вопрос дать нельзя.
Но в основном применение C++ обосновано в случае если требуется создать многотиражную систему управления. То есть большое количество систем управления с одинаковой программой верхнего уровня.
Такие задачи встречаются нечасто. В остальных случаях разработка проекта и дальнейшее его развитие на готовом SCADA пакете значительно быстрее.


Да уж 5 месяцев работаю :-D Понакидать цветастых финтифлюшек в скаде было бы гораздо быстрее.

В MasterSCADA примерно аналогичный функционал можно было сделать за несколько часов.
Кстати MasterSCADA написана на C#. Возможно вам стоит ее попробовать. Вы сможете писать для нее собственные контролы и ВФБ на WPF, если стандартные вас не устроят.
Думаем что так вы значительно ускорите свою работу.

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

Это зависит только от вашего мастерства. Посмотрите примеры оформления мнемосхем на MasterSCADA
http://www.insat.ru/projects/ind_auto/
http://www.insat.ru/projects/industries_solutions/trans_neft/rusneft/
http://www.insat.ru/projects/industries_solutions/glass/

Доренский Алексей
10.04.2012, 10:23
Да уж 5 месяцев работаю :-D ...
Если б работал на скорость, то получилось бы 3-4 месяца...

Чтож так долго, например SBER справился бы за день :)

Без обид, но используя связку, плк100-110 и дельтовскую панель, я бы справился за день. Если считать затраты времени только на программирование.
Используя связку плк - делфи тоже:)

Можете обосновать причину?


... Но в основном применение C++ обосновано в случае если требуется создать многотиражную систему управления. То есть большое количество систем управления с одинаковой программой верхнего уровня.
Такие задачи встречаются нечасто. В остальных случаях разработка проекта и дальнейшее его развитие на готовом SCADA пакете значительно быстрее.

А почему для этих целей СКАДА хуже подходит? Можете объяснить про многотиражность по подробнее?

Посмотрел примеры. Да действительно, аналогичный функционал реализовать можно, или по крайне мере очень похожий. Но время то отнимает на функционал, а те алгоритмы, которые этим функционалом пользуются, в том числе автозаполнение форм, контроль достаточности введенных данных...и т.п. Накидать компонентов одинаково быстро как в Билдере так и в МастерСкада - суть то не в этом. Или я неправильно понимаю этот момент.

А как например быть с событиями, контекстными меню, справкой, можно ли защитить программу от сворачивания и злостных комбинаций клавиш Alt+F4 чтобы оператору поиграть в карты и т.п.? В билдере - легко.

SBER говорит, что например citect может всё (или почти всё), что может билдер, плюс заточен под автоматизацию. Я так понимаю с МастерСкада тоже самое?

SCADAMaster
10.04.2012, 10:31
А почему для этих целей СКАДА хуже подходит?
По экономическим соображениям.
Например нам нужно создать 100 систем управления, которую после внедрения не нужно будет никак модернизировать. В SCADA проект займет один день, в С++ к примеру 2 месяца. Скорее всего в этом случае 100 лицензий SCADA систем обойдутся дороже 2 месяцев работы программиста.
Но как вы понимаете, такие проекты встречаются редко.
Кроме того, например у нас есть версия MasterSCADA на 32 точки которая является бесплатной. Несколько наших клиентов сделали на ней шаблонный проект и массово его устанавливают в своих системах.

Yegor
10.04.2012, 11:05
Это зависит только от вашего мастерства. Посмотрите примеры оформления мнемосхем на MasterSCADA
http://www.insat.ru/projects/ind_auto/
http://www.insat.ru/projects/industr..._neft/rusneft/
http://www.insat.ru/projects/industr...lutions/glass/Не буду расписывать что да как, а просто порекомендую книгу: The High Performance HMI Handbook (http://www.amazon.com/The-High-Performance-HMI-Handbook/dp/0977896919). Желание делать цветастое, объёмное, пёстрое и глянцевое отбивает на ура. К сожалению, её нет ни русской, ни пиратской. Сам обгуглился-перегуглился, но пришлось заказать. Если что, это не аргумент против вашего продукта, это аргумент против картинок по ссылкам.
Кстати MasterSCADA написана на C#. Возможно вам стоит ее попробовать.Спасибо, посмотрю.

SCADAMaster
10.04.2012, 11:20
Желание делать цветастое, объёмное, пёстрое и глянцевое отбивает на ура. К сожалению, её нет ни русской, ни пиратской. Сам обгуглился-перегуглился, но пришлось заказать. Если что, это не аргумент против вашего продукта, это аргумент против картинок по ссылкам.
Не совсем понятно что вы имеете ввиду, особенно учитывая ваш предыдущий пост:

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

Но в целом мы не будем спорить по этому вопросу - действительно, в ряде случаев нет необходимости создавать объемные динамические мнемосхемы, достаточно простой технологической схемы. Главное - удобство для оператора.
На картинках по ссылкам представлены проекты и с таким оформлением тоже.


Спасибо, посмотрю.
Вот здесь раздел на форуме:
http://www.owen.ru/forum/showthread.php?t=10704
Можете задавать вопросы или писать нам на почту.

Yegor
10.04.2012, 11:44
Не совсем понятно что вы имеете ввидуЯ о том, что приведённые вами примеры это вполне обычная кислотная жесть. Буду очень рад, если проблема обусловлена профессионализмом дизайнера, а не ограничениями вашей системы. Для сравнения вот работа, сделанная с деньгами, умом и любовью: http://hmi-project.de/en/

Доренский Алексей
10.04.2012, 11:49
Про экономический аспект я как-то не подумал. Действительно, если у меня четыре установки, то:
1) или четыре компьюрета с пиратсикой копией одной и той же скада,
2) или плати в четыре раза больше за увеличение точек ввода-вывода (условно в четыре раза).
А в техническом плане?


... В SCADA проект займет один день, в С++ к примеру 2 месяца. ...
Поясните пожалуста почему получается такое соотношение времени, каким именно образом СКАДА позволяет сократить работы до одного дня? (ОРС серверы и прочая сетевая ерунда не в счет)

Доренский Алексей
10.04.2012, 12:01
Для сравнения: МастерСкада против неизвесной среды
с деньгами, умом и любовью: http://hmi-project.de/en/ в плане эргономичности интерфейса и информативности.
Привести свою программу ко второму виду (по крайне мере похожему) мне потребуется один день :) путем подключения аналогичного скина. Специально скин подключу, посмотрим что получится..

Все-таки вопросы информативности и интерфейса - это бесконечная тема для спора, а вот вопросы технического плана - это боле конкретней. Наверное и в МастерСкада можно замутить такой же интерфейс, раз она может тоже самое что и билдер, это вопрос дизайна..

SCADAMaster
10.04.2012, 12:59
Я о том, что приведённые вами примеры это вполне обычная кислотная жесть. Буду очень рад, если проблема обусловлена профессионализмом дизайнера, а не ограничениями вашей системы. Для сравнения вот работа, сделанная с деньгами, умом и любовью: http://hmi-project.de/en/
Объясните пожалуйста, что в вашем понимании "кислотная жесть"?
Чем проект оформленный как в приведенной вами, лучше с точки зрения эргономики (честно говоря не разглядел в нем ничего революционного)? И чем этот удобнее для оператора. Ведь то что конечная цель при создании проект SCADA/HMI - это удобство для работы оператора, вы спорить наверное не будете.


Для сравнения: МастерСкада против неизвесной среды
MasterSCADA можно оформить в таком же стиле.
Но опять таки, с точки зрения удобства оператора чем вариант неизвестной скады лучше?



1) или четыре компьюрета с пиратсикой копией одной и той же скада,
2) или плати в четыре раза больше за увеличение точек ввода-вывода (условно в четыре раза).

Не очень понятно что вы имеете ввиду. То что на компьютеры вам потребуется установить Windows (пиратскую или купленную) вас же не смущает?
Повторимся - в этом вопросе очень много условностей. Стоимость лицензий SCADA может оказаться ниже трудозатрат по разработке своего проект на C++.



Поясните пожалуста почему получается такое соотношение времени, каким именно образом СКАДА позволяет сократить работы до одного дня?
Разумеется указанные цифры весьма условные и зависят от многих факторов.

Ну например вам нужно сделать что введенные уставки оператором сохранялись после перезапуска. Если вы это делаете самостоятельно, то вы наверное сделаете xml файл в который нужно будет записывать данные при изменении, а при старте приложения считывать. В MasterSCADA будет достаточно установить галочку "Восстановление при рестарте".
Если вам нужно строить график, да еще с возможностью работы с архивом. То вам потребуется изучить какую нибудь СУБД, принципы построения SQL запросов, найти (написать) компонент графика.
В MasterSCADA будет достаточно перейти на закладку "Тренды", добавить тренд, и перетащить на него вашу переменную. Кстати тренд сделан на технологии WPF:
http://www.owen.ru/forum/showthread.php?t=8886
Точно также с журналами, отчетами, связями с другими приложениями и т.д.


(ОРС серверы и прочая сетевая ерунда не в счет)
Почему это ерунда?

lara197a
10.04.2012, 13:26
Тут пора под этой темой резюме подводить:
Зачем покупать машину(ПЛК, Скада и пр..), если в магазине можно набрать запчастей(книжек) и допилить самостоятельно.
На чем понятней на том и пишите! Главное, чтоб после Вас кто нибудь разобраться смог.
Я вот работал с немцами и итальянцами на строительстве 2-х заводов. Они тоже плюются, что сименс дорого, не всегда удобно, но стандарт есть стандарт. Есть сертификация, разрешения, допуски...
А у Вас на планшетниках что?
Промышленная автоматика должна строиться на промышленных компонентах. Можно к примеру систему безопасности на 2-х ИК диодах собрать, а нужно датчик Зик ставить, хоть и разница в цене 50 коп-50у.е.

Yegor
10.04.2012, 13:36
Объясните пожалуйста, что в вашем понимании "кислотная жесть"?
Чем проект оформленный как в приведенной вами, лучше с точки зрения эргономики (честно говоря не разглядел в нем ничего революционного)? И чем этот удобнее для оператора. Ведь то что конечно цель при создании проект SCADA/HMI - это удобство для работы оператора, вы спорить наверное не будете.Буду. Я не согласен, что главное — удобство. Основная характеристика интерфейса это степень его незаметности (прозрачности), ибо он лишний посредник между вами и механизмом. А удобство уже следует отсюда. Задача интерфейса — как можно быстрее давать релевантную в контексте информацию (не просто данные) и не заставлять пользователя думать о том, как произвести воздействие.

Так что очень полезно думать именно о незаметности, а не об удобстве. И тогда сразу ясно, что любой не представляющий информации элемент ухудшает прозрачность, т.к. обращает на себя драгоценное внимание.

Посмотрим на проект НИЦ "ИНСА". В глаза сразу бросаются четыре вещи: рамки, подписи, единицы измерения и полосы прокрутки. У всех один и тот же визуальный вес с постоянно релевантной информацией, т.е. показаниями датчиков. Представьте, что все дорожные знаки повесили на здания и покрасили в такой же цвет — вот это оно и есть. В данном проекте даже если каждый элемент на представленной схеме изменит состояние на противоположное, общая картина не изменится, т.к. все эти статические рамки, градиенты, цвета, курсивы и подчёркивания шумят.

Разработчик даже не определился, что важнее показать — надпись «Режим работы» или конкретный текущий режим работы. И легенда съедает место у графика вместо того, чтобы скромно сидеть в самом графике. Плюс раскрашивание труб под содержимое, плюс использование зелёного и красного для обозначения состояния... И так далее, и тому подобное. Поверьте, можно очень долго разносить в пух и прах представленные вами работы, но я лучше пойду поразношу свою.

Ах да. Мой пример хорошей работы... Там статика с информацией не воюет и на общий экран выведены исключительно высокоуровневые действия. Важные сведения сидят в своём слое. Ничто не борется за индивидуальность и элементы не пытаются друг друга перекричать. Есть и минусы — например, судя по всему, трудно сказать, что происходило с установкой ранее. Не знаю, чем это обсуловлено, так как нам показан лишь шаблон.

SCADAMaster
10.04.2012, 13:51
Я не согласен, что главное — удобство. Основная характеристика интерфейса это степень его незаметности (прозрачности), ибо он лишний посредник между вами и механизмом. А удобство уже следует отсюда. Задача интерфейса — как можно быстрее давать релевантную в контексте информацию (не просто данные) и не заставлять пользователя думать о том, как произвести воздействие.

Так вы не объяснили, чем же проект
http://hmi-project.de/en/
делает это лучше? Множество мелких окошек перегруженных кнопками.
Да и представление информации может быть разным. Можно выделять цветом нарушение границ параметра, можно на мнемосхеме отображать специальными элементами, можно делать всплывающими сообщениями. Способов много, и для каждого нужен свой.


Посмотрим на проект НИЦ "ИНСА". В глаза сразу бросаются четыре вещи: рамки, подписи, единицы измерения и полосы прокрутки. У всех один и тот же визуальный вес с постоянно релевантной информацией, т.е. показаниями датчиков. Представьте, что все дорожные знаки повесили на здания и покрасили в такой же цвет — вот это оно и есть. В данном проекте даже если каждый элемент на представленной схеме изменит состояние на противоположное, общая картина не изменится, т.к. все эти статические рамки, градиенты, цвета, курсивы и подчёркивания шумят.

Я не очень понял про какой именно проект вы говорите.

Доренский Алексей
10.04.2012, 13:55
MasterSCADA можно оформить в таком же стиле. Но опять таки, с точки зрения удобства оператора чем вариант неизвестной скады лучше?
Естественно ничем не лучше. Оператору вообще без разницы какая скада используется.

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

Почему OPC-серверы ерунда? Это я погорячился, естественно это не ерунда, я только имелл ввиду, что OPC серверы не могут служить причиной тридцатикратного сокращения тродозатрат. Например, ручное написание на С++ файловых операций отнимает куда больше времени, чем получение сетевых данных. В целом я естественно соглашусь, что СКАДА - значительно экономит время, в т.ч. когда используется много разносортного оборудования, но я так и не понял с какого момента оправдано применение С++ и т.п. для задач автоматизации.

Еще раз повторяюсь, я не сторонник объектно-ориентированного программирования, мне хочется измерить разницу.


.. Стоимость лицензий SCADA может оказаться ниже трудозатрат по разработке своего проект на C++
Это тоже понятно.

SCADAMaster
10.04.2012, 13:56
Ах да. Мой пример хорошей работы... Там статика с информацией не воюет и на общий экран выведены исключительно высокоуровневые действия. Важные сведения сидят в своём слое. Ничто не борется за индивидуальность и элементы не пытаются друг друга перекричать. Есть и минусы — например, судя по всему, трудно сказать, что происходило с установкой ранее. Не знаю, чем это обсуловлено, так как нам показан лишь шаблон.
Как мы поняли, под фразой "Важные сведения сидят в своем слое", вы подразумеваете отдельное окно (мнемосхема) для какого-то объекта или параметра?
Да, это правильный подход. И при создании проектов в MasterSCADA мы рекомендуем его использовать - когда создаются многоуровневые мнемосхемы, и оператор сможет с основной (общей мнемосхемы) перемещаться ниже, если ему это понадобится.
Вот этот проект
http://www.insat.ru/projects/industries_solutions/trans_neft/rusneft/
сделан именно таким образом.
Если вам не понравилось, то что в нем используются рамки и прочий стиль оформления - значит ваш вкус просто не совпадает с разработчиков данного проекта.
Однако хотим заметить, что операторы очень довольны эргономикой данного проекта.




Почему OPC-серверы ерунда? Это я погорячился, естественно это не ерунда, я только имелл ввиду, что OPC серверы не могут служить причиной тридцатикратного сокращения тродозатрат.
Ну строго говоря ОРС сервер и не является инструментом ускорения в прямом смысле этого слова.
ОРС - это универсальный программный шлюз. Он предназначен для стыковки систем различных производителей. Например прибор может быть разработан фирмой А, ОРС сервер для него разработан фирмой В, а данные получает SCADA фирмы С.
OPC (если он правильно написан), гарантирует что данные из прибора придут в скаду, так как стандарты передачи по ОРС регламентированы и стандартизованы.

Yegor
10.04.2012, 14:04
Про этот http://www.insat.ru/i/catalog/insa.jpg


Так вы не объяснили, чем же проект http://hmi-project.de/en/ делает это лучше?Соотношение сигнал/шум больше.
Множество мелких окошек перегруженных кнопками.Там в число прочих включен скриншот тех разработок, которые они заменяют. Вы не про него?
Как мы поняли, под фразой "Важные сведения сидят в своем слое", вы подразумеваете отдельное окно (мнемосхема) для какого-то объекта или параметра?Нет. Совсем нет. Знаете, я потом как-нибудь чеклист из той книги переведу и у нас более предметный разговор получится.

Доренский Алексей
10.04.2012, 14:08
Тут пора под этой темой резюме подводить:
Зачем покупать машину(ПЛК, Скада и пр..), если в магазине можно набрать запчастей(книжек) и допилить самостоятельно.
На чем понятней на том и пишите! Главное, чтоб после Вас кто нибудь разобраться смог.
Я вот работал с немцами и итальянцами на строительстве 2-х заводов. Они тоже плюются, что сименс дорого, не всегда удобно, но стандарт есть стандарт. Есть сертификация, разрешения, допуски...
А у Вас на планшетниках что?
Промышленная автоматика должна строиться на промышленных компонентах. Можно к примеру систему безопасности на 2-х ИК диодах собрать, а нужно датчик Зик ставить, хоть и разница в цене 50 коп-50у.е.

Ну тут вы очевидно не правы, хотя бы потому, что SCADAMaster говорил:


... Повторимся - в этом вопросе очень много условностей. Стоимость лицензий SCADA может оказаться ниже трудозатрат по разработке своего проект на C++.
А еще раньше говорил:

По экономическим соображениям.
Например нам нужно создать 100 систем управления, которую после внедрения не нужно будет никак модернизировать. В SCADA проект займет один день, в С++ к примеру 2 месяца. Скорее всего в этом случае 100 лицензий SCADA систем обойдутся дороже 2 месяцев работы программиста.
..

а вы про это ничего не говорили..

Кроме соотношения трудозатраты*количество копий/цена лицензии имеется ли еще какое либо?

Про лучшую релевантность информации в проекте неизветной скада рассуждать по моему бессмысленно, это совершенно очевидно. Однако это конечно же не дает самой скада никаких преимуществ, тем более что в Мастерскада, по мнению SCADAMaster, можно сделать тоже самое.

Я однажды в магазине покупал насос и спросил: почему один насос стоит 20 тыс., а другой, почти с такими же параметрами 180 тыс.? Ответ был приблизительно такой: разница такая же как между жигули шестой модели и бугатти вейрон - хотя и та и драгая машина едут со скоростью 60 км/час, и таки довезут вас до нужно места. Разумеется выбор остается за нами.

Yegor
10.04.2012, 14:11
с какого момента оправдано применение С++Сколько песчинок надо убрать из кучи чтобы она перестала быть кучей?

SCADAMaster
10.04.2012, 14:19
Про этот http://www.insat.ru/i/catalog/insa.jpg

Этот проект сделан в старой версии. В новой версии те же графики можно оформить по другому (мы давали вам ссылку на то как выглядит современный тренд).
Остальное - рамки, подписи, это исключительно вопрос вкуса, и при желании все это можно оформить совсем по другому. В том числе как и на вашем рисунке:
http://images.devs-on.net/Image/OFPTIGXmt1D2AlHT-.png




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

Приведите, потому что разговор идет слишком абстрактный.



А еще раньше говорил:

Но я также отметил, что подобные проект встречаются очень нечасто. И также отметил что есть бесплатная версия на 32 точки. Поэтому lara197a по большей степени прав.

Доренский Алексей
10.04.2012, 14:42
Ну тогда я в целом удовлетворен нашей беседой. Естественно на вопрос "Сколько песчинок надо убрать из кучи чтобы она перестала быть кучей?" - ответа не существует, но вот на впрос какую упрощенку применть: "6 процентов на доходы, или 15 на доходы-расходы" ответ имеется.
Думаю, что когда разбирусь самостоятельно - почувствую разницу.
Благодарю SBER, Дмитрий, lara197a, capzap, Yegor, SCADAMaster за развернутые ответы.

SCADAMaster
10.04.2012, 14:45
Думаю, что когда разбирусь самостоятельно - почувствую разницу.

Да, вам возможно стоит поработать с какой нибудь SCADA системой и оценить трудозатраты в обоих случаях.
Например, посмотрите наши видеопримеры по созданию проектов и работе со скадой.
http://www.masterscada.ru/?additional_section_id=233
Возможно они помогут вам сделать выбор.



Благодарю SBER, Дмитрий, lara197a, capzap, Yegor, SCADAMaster за развернутые ответы.
Спасибо и вам за конструктивный разговор.

Доренский Алексей
10.04.2012, 15:00
Обазательно отпишусь, когда сделаю все тоже самое в скаде.

BETEP
10.04.2012, 16:40
Есть ещё варианты.
Некоторые панели, например от вейнтека, стоят дешевле планшетника, имеют 3-4 интерфейса, дружат с принтерами и флешками, имеют подобие веб морды, Поддержку немеренной тучи протоколов (причём грамотно).
Кроме этого есть возможность реализовать на скриптах управление чем-то через свои порты и прочее....всё не перечислить
Во всяком случае то, что было в первом посту, на ней реализовать можно.
Есть ещё класс безвентиляторных промписишек на Win CE и подобном. Тоже, как правило куча всяких портов, и SDK с кучей протоколов и доступом к железу этой писи. Может выйти дешевле чем комп с виндой, и несравненно надёжнее.

бестолковый спор, есть ПЛК, есть специализированные ПЛК, есть компы, скады, булидеры разные, панели разных уровней. Всё это востребовано для своих применений. Нужно только не ошибиться при выборе.

Я бы точно не рискнул для сушки выбрать комп с модулями.

...............стоимость одного сгоревшего трансформатора сопоставима со стоимостью шкафа автоматизации+стоимость программы+стоимость нового оператора.............

Доренский Алексей
10.04.2012, 17:11
...
бестолковый спор, есть ПЛК, есть специализированные ПЛК, есть компы, скады, булидеры разные, панели разных уровней. Всё это востребовано для своих применений. ..
Ну так вы и обоснуйте что для каких применений лучше подходит, вместо того чтобы говорить что спор бестолковый. То что есть много чего для много чего это и без вас всем известно. Умничать может каждый.
Тема вообще касается только билдера и скада, про контроллеры вопрос подняли по ходу обсуждения. На него можно не отвечать, лично меня он мало интересует.
Например:
1. скада может: ... билдер этого не может.
2. билдер может ... скада этого не может.
3. применение билдера оправдано тогда-то, скады тогда-то.
Пока единственный кто предложил критерий оценки - это SCADAMaster, а не Вы.
В том числе если бы Вы не рискнули использовать комп с модулями, то обоснуйте почему, у него что транзисторы внутри другие, менее надежные?

BETEP
10.04.2012, 19:36
В коме есть пропеллеры,
есть жёсткие диски.
Универсальная, на все случаи жизни ось, что не добавляет надёжности, чем меньше сложность, тем недёжнее.

Скада может всё, если инструмента не хватает, выручат самодельные примочки на внешних скриптах или актив икс.
Подобие скады можно сотворить в экселе или визио и даже во флеше, у неё нехилый акцион скрипт.

3. применение билдера оправдано тогда-то, скады тогда-топрименение самописных прог оправдано если вы собираетесь эту копию с некоторыми изменениями тиражировать других причин нет

Ну так вы и обоснуйте что для каких применений лучше подходит Это не обоснуешь, это приходит с опытом и знанием возможностей разных железяк или софта.

Не уходите от своей темы, вы решили сделать без контроллера, так почему вас напрягает более дешёвый и менее затратный по времени вариант с использованием современной сенсорной панели или пром компа на вин се?
Вы доказываете что комп целесообразне и дешевле чем ПЛК+панель от дельты, так вот есть ещё варианты. причём дешевле, надёжнее и проще вашего.

Если я ничего не перепутал. Вы греете частотником? но ведь там синусоида более высокой частотой модулируеться?.
точно помню, как сто лет назад на севере, зимой прогревали кабель сварочником, тупо закоротив жилы с одного конца кабеля, а с другого на сварочник. без прогрева согнуть кабель не сломав изоляцию было нереально, ток на старинном трансформаторе регулировался элементарно, Выкрутил винт, прицепил кабель, включил сварочник, и потихоньку крутишь ручку пока кабель тёплым не станет.

IVM
10.04.2012, 21:19
Все решает бюджет и сложность проекта. Если бюджет позволяет и проект достаточно сложный, то лучше использовать стандартный пакет для разработки SKADA-систем. В этом случае не придется изобретать велосипед и будет сэкономлено много времени, сил и нервов. Все эти метания и муки с выбором обусловлены нашей бедностью, цивилизованный мир такими вопросами не задается.

ASo
10.04.2012, 21:34
Все эти метания и муки с выбором обусловлены нашей бедностью, цивилизованный мир такими вопросами не задается.Не от бедности - от богатства :(
Типа, когда все равно есть программер на окладе, и он не загружен - пусть ваяяет. Просто не правильный подсчет себестоимости. Или в другой парадигме.

smk1635
10.04.2012, 22:30
Думаю будет в тему:

xxx: а зачем ты библиотеку используешь? без нее слабо?
yyy: вот представь: нам поставили задачу - выкопать яму. я иду в магазин и покупаю лопату. потом копаю яму. профит.
ты - изучаешь процесс добывания руды, идешь добываешь руду, изучаешь ковку металлов, потом куешь себе лопату. после сего делаешь черенок для лопаты. и только потом копаешь яму. профит. Итого: я потратил пару часов а ты год. вот поэтому я использую библиотеку. bash.org.ru »

ИМХО. Есть тот кто создает приборы, есть тот кто создает программные оболочки, и есть тот кто используя первое и второе решает прикладные задачи. Универсальность хорошо, даже прекрасно, но не в ущерб надежности и скорости.

BETEP
10.04.2012, 22:45
исчё как в тему.
считаем стоимость приборов, осей, прочего...
и забываем про то, что сама работа человека стоит вполне заметно. Тем кто сидит на окладе, обычно по барабану, а вот если на сдельщине... потихоньку уходишь на более дорогое оборудование (точнее дело уже не в разнице в пару тысяч), если задача на нём решается проще и быстрее, Есть ещё пресловутая стоимость владения, это я про незапланированные работы и поездки из-за сбоя оборудования.

Доренский Алексей
10.04.2012, 23:23
.. Скада может всё...
Это мне и требовалось узнать. Через несколько недель разберемся.


применение самописных прог оправдано если вы собираетесь эту копию с некоторыми изменениями тиражировать других причин нет
Это я тоже понял. В том числе про соотношение зарплаты программиста к стоимости лицензий на скада системы, и наличие бесплатных версий на 32 точки и т.п.


Не уходите от своей темы, вы решили сделать без контроллера, так почему вас напрягает более дешёвый и менее затратный по времени вариант с использованием современной сенсорной панели или пром компа на вин се? Вы доказываете что комп целесообразне и дешевле чем ПЛК+панель от дельты, так вот есть ещё варианты. причём дешевле, надёжнее и проще вашего.
По поводу ПЛК и панели я говорил только что: "ПЛК+Delta по стоимости дороже чем планшетник, а функционал того и другого - несравним." Что касается других вариантов - наверняка вы правы.

Низкая частота позволяет равномерно прогреть не только первичную, но и вторичную обмотку. Синусоиды разумеется нет. Фильтром для несущей частоты и гармоник выступает собственно трансформаторное железо - но это по сути уже не имеет никакого значения.


Это не обоснуешь, это приходит с опытом и знанием возможностей разных железяк или софта.
Ну тут бесконечная тема для дискуссий - я знаю что у соседей из сименсов программа слетает а ОВЕНы работают на ура, а у меня бывает наоборот.. В целом разумеется, для пром задач следует использовать пром оборудование и тут спорить не о чем.


Думаю будет в тему:
xxx: а зачем ты библиотеку используешь? без нее слабо?
yyy: вот представь: нам поставили задачу - выкопать яму. я иду в магазин и покупаю лопату. потом копаю яму. профит.
ты - изучаешь процесс добывания руды, идешь добываешь руду, изучаешь ковку металлов, потом куешь себе лопату. после сего делаешь черенок для лопаты. и только потом копаешь яму. профит. Итого: я потратил пару часов а ты год. вот поэтому я использую библиотеку. bash.org.ru »

Я это тоже уже понял исходя из возни с файловыми процедурами и т.п., а ваш пример это подкрепил.

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

smk1635
10.04.2012, 23:58
Таким образом получается, что скада и билдер служат совсем для разных целей и на одном и том же уровне "в целом" их сравнивать бессмысленно.


ИМХО. Есть тот кто создает приборы, есть тот кто создает программные оболочки, и есть тот кто используя первое и второе решает прикладные задачи. Универсальность хорошо, даже прекрасно, но не в ущерб надежности и скорости.

C++ Builder пригодится тому кто разрабатывает Scada. А саму Scada использует тот кто занимается решением прикладных задач. ВЕТЕР правильно написал, когда встает вопрос о надежности системы, цена комплектующих отходит на второй план. А если стоимость проекта хотя бы в пределах 300 тыс. , то лично мне абсолютно все равно 10 тыс. стоит тот же допустим контроллер или 20. Главное что бы работал надежно. Думаю к такому выводу рано или позно приходят все кто занимается автоматизацией. Потеряешь репутацию, потом ни за какие деньги не купишь.

P.S. Кстати имено по этому я ни когда не использую новую продукцию Овена без предварительной обкатки на простеньких объектах.Есть за Овеном грех выпускать сырые приборы в продажу. Доводя до ума по мере поступления претензий.

Доренский Алексей
13.04.2012, 16:44
Итак, это максимум из украшательств на билдере, которые я смог сделать за день, с тем учетом, что делал это впервые (местами прозрачные рисунки, кнопочки подсвечиваются, рамки у диалоговых окон красивые), пока мое терпение не лопнуло, см. рис.1.

В течение этого времени выяснил: что одни скины (компоненты) не понимают альфа-канал *.png файлов, сделанных в Corel-е (пришлось делать в фотошопе), другие не могут сделать рисунок прозрачным, и т.п. Итого 80% времени потрачено впустую и на добывание в интернете подходящих компонентов. Компоненты ActiveX вообще не нашел..

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

BETEP
13.04.2012, 20:44
ActiveX ??
например
www.plcforum.uz.ua/viewtopic.php?p=20868
http://www.plcforum.uz.ua/viewtopic.php?p=5059
для навороченных графиков-- dynaplot
компоненты встречаются и в обычных прогах LEDMeter в Неро например.
если занимаетесь прогами, компоненты нужно искать, пригодятся, и их не мало в сети.( кряки зараза не на всё есть)

Рисование пожалуй самое трудоёмкое и затратное по времени.
Там где проблемы с прозрачностью, часто можно выкрутиться просто имитируя её. Запустил свою прогу, принт скрен, или ножницы в семёрке, то что сняли в корел, далее наложил нужную картинку на фон своей проги, далее думаю понятно.
Скады часто убогие на вид просто из-за лени того кто её использует.
Офигительная анимация во флеше получаеться, флеш легко вставляется в любую прогу через ActiveX (эксплорер этот компонент использует)

Это один из экранов скады которая делалась под планшетник, т.к. делалось на выставку, главное понты, связь со станком по вайфаю, прозрачности тут никакой нет, т.е. просто обман (кнопочки цвет меняют). В центре многооборотная крутилка (Knob) из первой ссылки.

Yegor
13.04.2012, 22:04
Офигительная анимация во флеше получаетьсяНу и как там с привязкой к данным? Или речь об этих глупых огоньках и моторчиках, которые сами по себе?

BETEP
13.04.2012, 22:30
привязка к данным как минимум тремя способами.
если можете просто рисовать:
1. тупо смена файла который проигрывается.
2. прокрутить с такого-то номера кадра, по такой-то номер, запуск- стоп анимации, показ только нужного кадра
Если кроме рисования умеете учиться:
3. Использовать акцион скрипт, т.е. обмен данными между флешем и скадой в обе стороны (fscommand это событие наружу из флеша, SetVariable -передать нужное значение переменной мультика). Справочник которым я пользовался http://www.silin.su/#AS3/audio/equalizers/shape/bin
http://flash-mx.ru/ тут полно информации.
Yegor, гуглом пользоваться не умеете? если вы чего-то не знаете, не задавайте вопросы в пренебрежительном тоне. (Как на флеш сайтах браузеры понимают на какую кнопку нажали? не задумывались?)
Доренский Алексей имя файла поражает своей длиной. Удобнее вместо даты ставить номер дня в году. в VB подобных такая переменная есть (предполагаю что и в си подобных должна присутствовать). поиск группы нужных файлов заметно проще, с временем возможно так-же. В идеале нужно было отчёты не в текст лепить а в БД, там выборки за нужный период парой команд. для архива по событиям, обычного акцеса выше крыши. И плюс всякие выборки по содержанию строки, т.е. можно одним запросом получить отчёт, например по какому-то событию. Я когда то тоже с текстовых файлов начинал, сейчас оооочень редко ими пользуюсь.

SBER
13.04.2012, 23:01
Там где проблемы с прозрачностью, часто можно выкрутиться просто имитируя её.

Дык волшебную палочку в Corel Fhoto-Paint вроде никто не отменял:)

Доренский Алексей
14.04.2012, 06:05
BETEP, спасибо за полезные ссылки.
Это всё было изначально понятно, и с базами в том числе и с индексированием данных и с длиной имени файла - копать не перекопать. Думается, что не один месяц нужно посвятить этому вопросу, чтобы приобрести такой же опыт, например, как у вас. К сожалению мой лимит времени, пока что не позволяет этого сделать.
Корел по умолчанию сохраняет png черезстрочно, а фотошоп спрашивает как именно сохранить. Волшебная палочка естественно - незаменимый друг и помощник.

Yegor
16.04.2012, 07:08
Дизайн программы, на который ссылался Yegor достичь вполне реально, но нужно потрать хотя бы месяц, обзавестись базой, разобраться с массой мелочей, которые возникают по ходу работы. Тут непременно нужен опыт.Рекомендую пользоваться современными средствами, для которых альфа-к***** сглаживание и векторная графика не являются чем-то левым. Тот же флеш (раз Ветер говорит там с привязкой ок), JavaFX (поправьте меня), WPF и прочее RIA... да хоть даже HTML-JS-AJAX.

В скадах же могут возникнуть проблемы, когда надо держать много перекрывающихся групп на одном экране — извиняйте за такие нескромные догадки, но возможности компоновки интерфейса в увиденных мною системах это полный отстой по сравнению с оными в средствах разработки общего назначения.

Вот пример из жизни с прошлой недели. Есть у нас по тех.заданию т.н. «советчик оператора» — нечто, блокирующее некорректные действия в ручном режиме, сообщающее о блокировке и дающее возможность эту блокировку обойти. Вполне естественно выводить сообщения в немодальном (почти) режиме прямо под указатель мыши. В WPF я тупо добавляю Popup и вывожу там что мне надо. Если бы делал в скаде, то (вновь поправьте меня) пришлось бы городить огород. Если бы делал в билдере, на winforms или другом «win32-gui-based-widget-framework», то тоже пришлось бы потеть как Алексею.

http://images.devs-on.net/Thumb/19uTlT6GSjzANYdg-.png (http://images.devs-on.net/Image/19uTlT6GSjzANYdg-.png)

Форум закрашивает слово канал. Какой стыд.

SCADAMaster
16.04.2012, 08:11
Вот пример из жизни с прошлой недели. Есть у нас по тех.заданию т.н. «советчик оператора» — нечто, блокирующее некорректные действия в ручном режиме, сообщающее о блокировке и дающее возможность эту блокировку обойти. Вполне естественно выводить сообщения в немодальном (почти) режиме прямо под указатель мыши. В WPF я тупо добавляю Popup и вывожу там что мне надо. Если бы делал в скаде, то (вновь поправьте меня) пришлось бы городить огород. Если бы делал в билдере, на winforms или другом «win32-gui-based-widget-framework», то тоже пришлось бы потеть как Алексею.

В MasterSCADA для этого есть "Подтверждение действий оператора".

BETEP
16.04.2012, 08:41
есть такая шутка

Hacker=MsgBox("Windows установила,что вы используете пиратскую версию системы. Windows обязана отформатировать диск. Да-сделать немедленно. Нет-сделать это перед окончанием работы системы",20,"System error")
это вставить в текстовый файл, расширение vbs. в переменной Hacker будет код нажатой кнопки.
т.е. это стандартная фигня, которая есть пожалуй в любом языке. при вызове из приложения, обычно блокирует остальные окна.

в скаде которую я использую, есть Popup окна.
в некоторых сенсорных панелях есть такие окна и более навороченные механизмы.

Yegor
16.04.2012, 09:03
MessageBox модальный. Он обязывает вас нажать какую-либо кнопку.
В MasterSCADA для этого есть "Подтверждение действий оператора"Не могу на работе скачать демку (да ещё регистрация ваша из себя выводит), а дома не до того. Скажите пожалуйста, в общих чертах, как реализован этот механизм? Спасибо.

SCADAMaster
16.04.2012, 09:14
Не могу на работе скачать демку (да ещё регистрация ваша из себя выводит)
Поясните? Регистрация у нас подветверждается вручную, если вы оставили регистрацию, то скоро придет подтверждение.


Скажите пожалуйста, в общих чертах, как реализован этот механизм?
На определенные действия (открытие окон, нажатие кнопок, включение исполнительных механизмов, ввода значений), можно установить подтверждение действий. Появляется окно с просьбой подтвердить действие, если действие не подтверждается в течении заданного времени оно не будет выполнено. Сделано во избежании случайных нажатий.

BETEP
16.04.2012, 09:40
так вроде для подтверждения какого-то действия модальное окно самое оно, как раз из-за того что не даёт ничего сделать, окна с такими свойствами и служат для привлечения внимания.
Visual Studio Express конечно штука интересная.

Yegor
16.04.2012, 11:32
Появляется окно с просьбой подтвердить действие, если действие не подтверждается в течении заданного времени оно не будет выполнено. Сделано во избежании случайных нажатий.Вооот, это другое. У меня защита не от случайных нажатий, а от случайных действий (вы отождествляете, но я считаю, что нажатие куда попало это ещё не действие с точки зрения установки). То есть предполагается, что оператор нажал куда хотел, но «против шерсти». Например, при подаче команды на открытие клапана система строит и обходит два графа — до и после — и выявляет разгерметизацию камеры при глубоком вакууме и высокой температуре. Если такая потенциальная ситуация выявлена, то выводится сообщение с кнопкой «всё равно сделать ...», если нет — команда отправляется контроллеру на выполнение без лишних вопросов. Тут у меня искренний интерес: в скадах легко такое реализуется?

А механизм защиты от случайных нажатий у меня в том, что ничего нельзя изменить щёлкая на одном месте: по нажатию на пиктограмму клапана появляется контекстное меню, элементы которого равномерно и на расстоянии расставлены вокруг указателя мыши; а ползунки и ручки я сделал такими, что их нужно брать и тащить, иначе ничего не изменится.
Поясните? Регистрация у нас подветверждается вручную, если вы оставили регистрацию, то скоро придет подтверждение.В минувший четверг ваша форма регистрации не пропустила меня несколько раз из-за какой-то фигни — уже не помню из-за какой. Возможно (и в частности), из-за необходимости указывать организацию. Расстроившись, я забил левые данные и сразу прошёл через форму, после которой получил ссылки. Не помню, поставил качаться или нет. Вообще требование регистрации за демо-версию я считаю бюрократией и совком. Если надо посчитать и учесть, то нефиг сваливать эту задачу на пользователя.


так вроде для подтверждения какого-то действия модальное окно самое оно, как раз из-за того что не даёт ничего сделатьНикто не может гарантировать, что оно будет появляться вовремя и по делу. Можно погуглить и что-нибудь (http://www.philweber.com/articles/why_message_boxes_are_evil.htm) почитать на эту тему.

SCADAMaster
16.04.2012, 13:20
Тут у меня искренний интерес: в скадах легко такое реализуется?

Тоже можно реализовать.
Оператор щелкает по элементу на мнемосхем, появляется окно управления. Жмет в нем на какую нибудь кнопку, если действие опасно, над этим окном появляется другое с текстом сообщения и без кнопки закрытия (только с кнопкой подтверждения и отменой).

Yegor
16.04.2012, 13:46
если действие опасноА где это условие проверяется? Скрипты?

SCADAMaster
16.04.2012, 13:50
Можно скриптом (скрипты пишутся на C#), можно при помощи модуля "События" - у него просто вводится формула.

Доренский Алексей
06.05.2012, 10:05
Можно скриптом (скрипты пишутся на C#)
SCADAMaster, подскажите где подробно можно почитать про скрипты на C#, и в частности про динамическое создание и использование объектов (аналогично BYTE* MS=new BYTE(5); на С++) и указателей на них?

SCADAMaster
06.05.2012, 18:28
Если у вас есть вопросы по MasterSCADA то вам нужно задавать их нам по почте - support(собака)insat.ru
В языке C# указателей нет (точнее есть, но работа с ними ограничена, так как считается опасным кодом).
Опишите вашу задачу подробнее и отправьте свой вопрос нам на почту.

Про ФБ "Скрипт" можно прочитать в справке. Добавьте ФБ в дерево, вызовите контекстное меню - Справка.