Жакин
А.М., Смагулова К.К.
Карагандинский
государственный технический университет
Способы визуализации
технологических процессов в образовательных целях
На сегодняшний день в связи развитием
информационных технологии мы имеем множество способов представления информации.
Во многих отраслях современной науки достаточно широко применяются возможности
компьютерной визуализации. Начиная от данных социально-гуманитарного
направления до технологических процессов крупных производств, используются
методы двумерной и трехмерной визуализации.
Такие виды представления информации используются
в рекламных, образовательных и научно-исследовательских целях. Важно отметить, что двумерная визуализация в
основном используется для подготовки стандартных приложений и презентаций,
которые обходятся дешевле по финансовым затратам и создаются быстрее, нежели
трехмерная визуализация. Поэтому встает вопрос, зачем нужна сложная трехмерная
визуализация.
В двумерном режиме для создания
иллюзии пространства и соотношения размещения объектов используются принципы
перспективы (удаленные объекты меньше близких объектов, тени, сходящиеся к
горизонту линии и др.), которые не всегда могут дать точную информацию об
объектах. Если вы впервые видите объект, то вы никогда не определите его размеров
и местоположения. В 3D требуется меньше данных для соотношения размеров
объектов и человек сразу улавливает их реальные размеры и расположение в
пространстве.
Рассмотрим двумерную
визуализацию на примере технологического процесса синтеза аммиака построеную с помощью пакета Visual Basic 6.0. На рисунке 1
отображено множество агрегатов
технологического процесса. С помощью программного кода процесс приводится в
действие и мы видим в целом как протекает процесс и какие узлы начинают
работать с помощью, так называемых датчиков, которые имеют прямоугольную форму
и окрашиваются в красный цвет. Отчетливо можно видеть уровень аммиака в
сепараторе, а также температуру в разных
узлах процесса. В Visual Basic 6.0 для каждого события пишется отдельный код, в котором
управление получают один или несколько агрегатов технологического процесса.
Рисунок 1 – Двухмерная визуализация технологического
процесса синтеза аммиака в Visual Basic 6.0
Однако
важно отметить что программный код не так уж и легко писать даже в случае
двумерной визуализации. Для того чтобы отобразить поток жидкости в трубах
использовался казалось несложный, но все же объемный нижеприведенный код:
Private
Sub Timer1_Timer()
Picture21(n).Visible = False
Picture21(n - 1).Visible = True
Picture26(n).Visible = False
Picture26(n - 1).Visible = True
Picture27(n).Visible = False
Picture27(n - 1).Visible = True
Picture28(n).Visible = False
Picture28(n - 1).Visible = True
Picture30(n).Visible = False
Picture30(n - 1).Visible = True
Picture31(n).Visible = False
Picture31(n - 1).Visible = True
Picture32(n).Visible = False
Picture32(n - 1).Visible = True
Picture25(n).Visible = False
Picture25(n - 1).Visible = True
Picture35(n).Visible = False
Picture35(n - 1).Visible = True
n = n - 1
If n = 0 Then
n = 4
End If
End
Sub
Визуализация
потока производилась с помощью 9 разных рисунков с жидкостью которые и
создавали необходимый эффект с помощью программного кода, которое выполняется
на событиях таймера.
Также
можно сказать что одно только управление уровнем сепаратора имеет очень
объемный код, поскольку уровень сепаратора управляет дополнительным режимом
двигателя и сигналом аварии. Ниже приведен отрезок программного кода где в одном
событии привязаны несколько агрегатов, что намного усложняет программный код:
Private
Sub Timer2_Timer()
If Shape1.Height >= 300 And
Check6.Value = Unchecked Then Picture13.Visible = True
If Shape1.Height < 300 Or Check6.Value
= Checked Then Picture13.Visible = False
If Check6.Value = Unchecked Then
Picture17(3).Visible = False
Picture3.Visible = False
End If
If Check6.Value = Checked Then
Picture17(3).Visible = True
tt = -5
Picture3.Visible = True
If Shape1.Height < 20 Then tt = 0
End If
If Shape1.Height >= 1300 Then
Picture12.Visible = True
Else: Picture12.Visible = False
End If
If Shape1.Height >= 1800 Then
Picture2.Visible = True
Else: Picture2.Visible = False
End If
If Check1.Value = Checked Then
x = 3
D32a = Shape1.Height
Shape1.Height = Shape1.Height + tt + x
Shape1.Top = Shape1.Top - tt - x
D33a = Shape1.Height
If Shape1.Height < 20 Then
tt = 0
x = 0
End If
End If
If
Check1.Value = Unchecked Then
D32a = Shape1.Height
Shape1.Height = Shape1.Height + tt
Shape1.Top = Shape1.Top - tt
D33a = Shape1.Height
End If
If
Shape1.Height <= 1300 Then
Picture17(2).Visible = False
Picture44.Visible = False
End If
If Shape1.Height > 1800 Then
tt = -5
Picture44.Visible = True
Picture17(2).Visible = True
End If
If Shape1.Height > 1300 And
Check1.Value = Unchecked Then
tt = -5
Picture5.Visible = True
End If
If Shape1.Height < 300 And Check1.Value
= Unchecked Then
tt = 5
Picture5.Visible = False
Picture17(2).Visible = False
End If
If Shape1.Height > 1300 Then
Picture5.Visible = True
If
Text7.Text - Text6.Text >= 50 Then
Picture7.Visible = True
Timer9.Enabled = False
If Check3.Value = cheked Then
Timer3.Interval = 100
If Check3.Value = uncheked Then
Timer13.Interval = 100
Timer15.Interval = 100
Text8.Text = 0
SRN
= True
End If
If SRN = True And Text7.Text - Text6.Text
< 50 Then
Timer9.Enabled = True
If Text8.Text > 60 Then
Timer3.Interval = 300
Timer15.Interval = 300
Timer13.Interval = 300
Picture7.Visible = False
Text8.Text = 0
SRN = False
End If
End If
End
Sub
Поэтому
говорить что двумерная визуализация намного легче трехмерной является
заблуждением. Все зависит сложности связанных действии различных узлов процесса
в одном событии. Однако самый важный и первоочередный аспект при разработке
визуализации имеет выбор программной среды. И все же двумерное представление
дает неполную информацию о происходящем какое может дать трехмерная
визуализация.
В
трехмерной визуализации есть несколько путей. Рассмотрим наиболее понятный
способ для трехмерной визуализации технологического процесса. Для этого нам
небходимо придерживатся несколько правил:
- Возможность загрузки
трёхмерных моделей из файла какого-либо распространенного формата, как-то 3ds,
VRML, stl и т.д.
- Система должна уметь
взаимодействовать с внешним миром, для получения событий и данных с управляющих
программ;
- Достойное качество
картинки, на современном персональном компьютере;
-
Относительная
простота для написания и понимания сценария анимации [1].
В трехмерной визуализации для множество 3D моделей описываются
начальные состояния в XML файле и размещаются в виртуальном мире с учетом внешней
среды. Далее множество объектов приводятся в действие посредством
разработанного сценария в зависимости от событий и данных внешней среды.
Рассмотрим некоторый сценарий:
Sub On_SomeActiveX_Event
MoveLine “object1”, 100, 0, 0, 150, 1150
Rotate “object1.subObject1”,
0, 90, 0, 1000, 1700
end sub
В
данном примере при срабатывании события Event элемента управления SomeActiveX
происходит следующее. Через 150 мс объект “object1” начинает движение, и в
течение 1 с, т.е. до того как пройдёт 1150 мс от момента события, будет
равномерно двигаться вдоль оси Х и пройдёт 100 единиц. За 150 мс до окончания
движения подобъект subObject
объекта
Object1 начнёт поворачиваться на 90 градусов вокруг оси Y. Поворот закончится
через 0,7 с после начала поворота.
Казалось
бы несложный код для подобного рода операций. Однако важно учитывать
трудоемкость построения трехмерной модели объекта. Например, построение 3D
модели манипулятора загрузки металлических листов
изображенный на рисунке 2 заняло около 4-х недель с учетом освоения
особенностей программы 3D max.
Довольно трудоемкая работа для визуализации несложных и простых технологических
процессов. Однако в целях обучения представление информации в трехмерном виде
очень хорошо помогает быстро освоить материал, ввиду того что наше зрительное
восприятие устроено так, что мы изначально пытаемся увидеть сходства и различия
в том, что видим.
Рисунок
2 – Трехмерная модель манипулятор загрузки металлических листов в среде 3D
Max
Поэтому
мы имеем возможность не просто выделить объекты в образе, но и понять их
значения. Например, различие в цвете подразумевает, что перед нами два
различных объекта, различие в масштабах подразумевает, что один объект расположен
дальше от нас, чем другой, и так далее. После того, как наш мозг проанализирует
отношения между объектами, мы собираем все части образа воедино и понимаем, что
мы видим [2].
Эти
принципы восприятия дают нам ключ к пониманию того, как мы группируем информацию.
Например, как объекты, которые расположены рядом друг с другом, группируются
нами по признаку близости, также как одинаковые объекты группируются нами по
признаку схожести.
На сегодняшний день существуют множество специальных программ
для трехмерной визуализации. Существуют также SCADA-системы с трехмерной визуализацией, такие
как пакет GraphWorX64 в Genesis64. Пакет
GraphWorX64 предназначен для разработки, визуализации и навигации в экранных
формах АСУ ТП для наиболее реалистичного отображения объектов на экране. Эти
технологии позволяют создавать 3D-модели предприятия, которые оперативно и
точно отображают состояние объектов при использовании функций навигации
виртуальной камеры с предоставлением быстрого доступа к любой необходимой
информации. Использование динамических объектов делает возможным мгновенно
обратить внимание на важные события и решать проблемы непосредственно через
встроенные инструменты управления других экранных форм и 3D-объектов. К
примеру, технологический процесс, изображенный на рисунке 3, отображен в
трехмерной среде [3].
Рисунок 3 – Технологический
процесс в пакете GraphWorX64
В отличие от обычных программных средств трехмерной
визуализации в пакете GraphWorX64 уже содержатся
готовые узлы и агрегаты различных трехмерных объектов в библиотеке программы.
Однако в отличие от обычных программ визуализации данная программа
ориентирована на принципы сбор,
хранение, обработку (или переработка), а также выдаче значительных объемов
информации. Стоимость подобной программы также является заоблачной для
визуализации в образовательных целях.
Выводы:
1. Самым быстрым и доступным способом для визуализации
технологических процессов в образовательных целях является двумерная
визуализация.
2. При трехмерной визуализации можно показать те стороны, которые
не могут быть отображены в двумерной визуализации, что является некоторым
плюсом.
3. На сегодняшний день трехмерное представление информации
является наиболее приемлемым, как показывает практика.
4. SCADA-система с трехмерной
визуализацией довольно затратное решение, хоть и является наиболее легким путем
построения технологического процесса.
5.
Наиболее приемлемым в
образовательных целях является отдельная прорисовка 3D моделей и объединение их с помощью
программ как AutoCAD Inventor или SolidWorks.
Литература:
1. Бараковских Н.И. Визуализация
производственных процессов. International Conference Graphicon 2006,
Novosibirsk Akademgorodok.
2. Коломієць В.О., студент, керівники Дубовик В.Г., Лебедєв
Л.М. Визуализация 3D моделей электромеханических
комплексов. Управління
елетротехнічними комплексами. Управління
електротехнічними комплексами 2010, Людина.