EnglishУкраїнськаmRussian
Login/New
Topic with many replies

"Нестандартное" применение OpenSCADA


Author Message
Written on: 07. 12. 2009 [14:12]
almaz
Almaz Karimov
Contributor
Topic creator
registered since: 25.09.2008
Posts: 516
У нас основную массу составляют частотники Danfoss. Работают круглосуточно, сбоев практически не дают. С незначительными перебоями работают Siemens, Vacon. Есть один ABB - пока не включали. А новые линии связи также могут быть некачественными.

21 век - век повсеместной автоматизации. Главное - во благо всем людям.
Written on: 07. 12. 2009 [16:38]
Aleksey
Aleksey Popkov
Contributor
registered since: 31.07.2008
Posts: 326
almaz wrote:

У нас основную массу составляют частотники Danfoss. Работают круглосуточно, сбоев практически не дают. С незначительными перебоями работают Siemens, Vacon. Есть один ABB - пока не включали.

Delta, ABB, Siemens - вот эти отличились у нас. Какие именно марки, сказать не могу.

almaz wrote:

А новые линии связи также могут быть некачественными.

Сейчас то работает, с промышленником. На предыдущем месте работы было тоже самое, пока не перекроссировали на станции. Мне перекрассировка не особо помогла.
А линию мою тестировали какими-то приборами, результата не было только )


[This article was edited 2 times, at last 07.12.2009 at 16:40.]
Written on: 07. 12. 2009 [17:18]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
almaz wrote:

А что думаете по поводу метода тестирования ПО, приведённого мной выше?

Этот метод используется всегда, включая и стадию разработки. Сейчас-же подобным образом, с имитацией отказа оборудования тестируется система для ТЭЦ,

P.S. А в случае с Алексеем, ошибок и отказов даже придумывать не нужно. icon_smile.gif


Learn, learn and learn better than work, work and work.
Written on: 07. 12. 2009 [17:22]
almaz
Almaz Karimov
Contributor
Topic creator
registered since: 25.09.2008
Posts: 516
Среди этих приборов осциллографа и мегометра (сплавливающего или прожигающего до полной неисправности плохие контакты), естественно, не было.

21 век - век повсеместной автоматизации. Главное - во благо всем людям.
Written on: 07. 12. 2009 [17:25]
almaz
Almaz Karimov
Contributor
Topic creator
registered since: 25.09.2008
Posts: 516
roman wrote:

Этот метод используется всегда, включая и стадию разработки. Сейчас-же подобным образом, с имитацией отказа оборудования тестируется система для ТЭЦ,

Имелось ввиду применение метода конкретно к ПО. То есть взять и сломать какую-нибудь строчку кода одного из модулей, да так, чтобы компиляция проходила, а ошибка возникала чётко (например, ошибка сегментации).

[This article was edited 3 times, at last 07.12.2009 at 17:36.]

21 век - век повсеместной автоматизации. Главное - во благо всем людям.
Written on: 07. 12. 2009 [18:00]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
almaz wrote:

Имелось ввиду применение метода конкретно к ПО. То есть взять и сломать какую-нибудь строчку кода одного из модулей, да так, чтобы компиляция проходила, а ошибка возникала чётко (например, ошибка сегментации).

Умышленный вызов ошибки сегментации абсолютно никакого смысла не имеет. Ни одна программа таких ошибок не обрабатывает.

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

Learn, learn and learn better than work, work and work.
Written on: 07. 12. 2009 [20:10]
Aleksey
Aleksey Popkov
Contributor
registered since: 31.07.2008
Posts: 326
almaz wrote:

Среди этих приборов осциллографа и мегометра (сплавливающего или прожигающего до полной неисправности плохие контакты), естественно, не было.

Осцилографа точно у меня не было. По крайней мере домой ко мне ничего не притаскивали. Мегометр был, вот прожигать по-моиму ничего не прожигали. Но даже без всего этого уже пару месяцев все хорошо )))
Written on: 07. 12. 2009 [21:25]
almaz
Almaz Karimov
Contributor
Topic creator
registered since: 25.09.2008
Posts: 516
roman wrote:
Умышленный вызов ошибки сегментации абсолютно никакого смысла не имеет.

Это самый эффективный метод тестирования.
А смысл его следующий: надейся на лучшее, расчитывай на худшее.

roman wrote:
Ни одна программа таких ошибок не обрабатывает.

Программы с микроядерной архитектурой обрабатывают.

roman wrote:
В лучшем случае по такой ошибке генерируется дамп памяти для помощи в локализации этой ошибки, а также выполняется перезапуск с согласия пользователя.

А если пользователя нет и система автоматическая? Если даже будет скрипт перезапуска OpenSCADA целиком, это происходит слишком долго (около 10 сек, при большом количестве контроллеров/параметров и того больше - в нашем проекте около 30 сек). И всё это время объект находится в безконтрольном и неуправляемом состоянии, даже более того - такой перезапуск и может вызвать аварию. Вспомним катастрофу на Саяно-Шушенской: всё произошло за какие-то считанные секунды. Перезапуск одного потока процесса занял бы малую долю секунды.
Да, лучше всего контролировать не модули, а каждую нить запустить отдельным процессом!

А нельзя ли в исходном коде OpenSCADA заложить создаваемую архитектуру (микроядерная или монолитно-модульная) как опцию компиляции? Тогда можно было бы для различных применений выбрать то, что надо: производительность или бесперебойность.

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

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

PS Может выведем OpenSCADA из лабораторий в реальную жизнь полностью подготовленной?
PSPS Если это будет сделано, то можно будет смело сказать: хотя и программа предоставляется на условиях "как есть, без гарантий", но сделано всё возможное для обеспечения надёжности и безопасности. Максимально учтён жизненный опыт человечества.
PSPSPS Своего участия не отрицаю. Только у меня пока нет таких глубоких знаний OpenSCADA и ОС как у Вас. Буду тщательно изучать исходные коды OpenSCADA и строение ОС Linux и Minix3. Minix3 не готов к применению, но буду за ним внимательно следить. Как только почувствую свою готовность - подключусь к работе.

[This article was edited 11 times, at last 08.12.2009 at 09:05.]

21 век - век повсеместной автоматизации. Главное - во благо всем людям.
Written on: 08. 12. 2009 [09:09]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
almaz wrote:

roman wrote:
Умышленный вызов ошибки сегментации абсолютно никакого смысла не имеет.

Это самый эффективный метод тестирования.

Вы пробовали?
almaz wrote:

А смысл его следующий: надейся на лучшее, расчитывай на худшее.

А смысла никакого. Потому как ошибка этого класса считается ошибкой программы и не обрабатывается, и даже механизмов для этого нет. Об этом я говорил в параллельной теме. ( http://en.wikipedia.org/wiki/Segmentation_fault )

almaz wrote:

roman wrote:
Ни одна программа таких ошибок не обрабатывает.

Программы с микроядерной архитектурой обрабатывают.

Нет таких программ. Есть такие ОС. А если программа такой архитектуры будет, то это однозначно разные процессы. И об этом я тоже говорил.

almaz wrote:

Вспомним катастрофу на Саяно-Шушенской: всё произошло за какие-то считанные секунды. Перезапуск одного потока процесса занял бы малую долю секунды.

Вспомним. Там турбина прыгала около часа, до того как улитеть.

almaz wrote:

Да, лучше всего контролировать не модули, а каждую нить запустить отдельным процессом!

Запускайте. Кто Вам мешает?

almaz wrote:

А нельзя ли в исходном коде OpenSCADA заложить создаваемую архитектуру (микроядерная или монолитно-модульная) как опцию компиляции? Тогда можно было бы для различных применений выбрать то, что надо: производительность или бесперебойность.

Эти механизмы там заложены. И об этом я тоже говорил.

almaz wrote:

PSPSPS Своего участия не отрицаю. Только у меня пока нет таких глубоких знаний OpenSCADA и ОС как у Вас. Буду тщательно изучать исходные коды OpenSCADA и строение ОС Linux и Minix3. Minix3 не готов к применению, но буду за ним внимательно следить. Как только почувствую свою готовность - подключусь к работе.

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

Learn, learn and learn better than work, work and work.
Written on: 08. 12. 2009 [10:34]
almaz
Almaz Karimov
Contributor
Topic creator
registered since: 25.09.2008
Posts: 516
roman wrote:
Вы пробовали?

Для ПО эту методику не применял, только для железа. Как и Вы не знал, что это возможно. Узнал благодаря Википедии и инету. Теперь применяю и буду применять. Только самая нужная программа 100% отказывает при проверке таким тестом. Серьёзнейшая проблема и брешь в надёжности OpenSCADA. banghead.gif

roman wrote:
Так вот если нет глубоких знаний, то постарайтесь не обвинять OpenSCADA в проблемах которых на самом деле нет и при этом без тени сомнения сразу толкать "ценные" идеи как решать эти самые проблемы, которых нет.

Знаний достаточно, чтобы увидеть проблему и пути её решения. Знаний пока недостаточно чтобы эти решения реализовать. Обвинениями не занимаюсь вообще, так как обвинять всегда рано или уже поздно. Пытаюсь повлиять на развитие OpenSCADA только в сторону улучшения, так как использую её для работы. Это вообще возможно (повлиять) или Вы так всегда будете отвергать очевидные улучшения? Понимаю, что достаточно поздно вносить такие сильные концептуальные изменения и это надо было делать когда проект только зарождался, но я не знал тогда о его существовании. И сейчас я не прошу всё бросать и разрабатывать срочно патч для реализации этого, а только принять к сведению (хоть к версии OpenSCADA 3.0) icon_smile.gif

roman wrote:
Запускайте. Кто Вам мешает?

Вы хоть примете разработку опции компиляции в микроядерном варианте в SVN проекта? Да и без Вашей поддержки разработка будет совсем сложна...

roman wrote:
Эти механизмы там заложены. И об этом я тоже говорил.

На уровне нынешних нитей - нет. На уровне модулей, да. Пока попробуем его проработать.
Я так понял, в нескольких процессах запускается каждый существующий модуль с парочкой DAQGate - Транспорты? Такая коммутация может быть очень тормозной.
А нельзя хотя бы на будущее предусмотреть (принять к сведению) быстродействующий транспорт для DAQGate (вместо сетей связи, например, разделяемая память) для обмена между двумя процессами OpenSCADA на одной машине? Да и диспетчер нескольких опенскад на одной машине не помешал бы... Для перезапуска сбившихся процессов.

[This article was edited 5 times, at last 08.12.2009 at 11:08.]

21 век - век повсеместной автоматизации. Главное - во благо всем людям.



5648