Проектирование систем управления
Е.Б. АНДРЕЕВ
Проектирование систем управления
В SCADA - пакете InTouch7.0
Компьютерный практикум
Москва - 2001
Министерство образования Российской Федерации
_________________
Российский государственный университет нефти и газа
им. И.М. Губкина
Кафедра автоматизации технологических процессов
Е.Б. АНДРЕЕВ
Проектирование систем управления
В SCADA - пакете InTouch7.0
Компьютерный практикум
Москва - 2001
УДК 658.52,011.56
Андреев Е.Б. «Проектирование систем управления в SCADA-пакете InTouch7». Компьютерный практикум. - М.: РГУ нефти и газа, 2001. – 70 с.
Пакет InTouch является одним из наиболее популярных программных продуктов класса SCADA. В России он нашел свое применение во многих отраслях народного хозяйства, в том числе и в нефтегазовой отрасли. Данный компьютерный практикум предназначен для углубленного ознакомления студентов с проектированием систем управления в пакете InTouch.
Компьютерный практикум предназначен для студентов кафедры АТП, изучающих SCADA-системы в курсе «Автоматизация технологических процессов». Он будет полезен и студентам кафедры АСУ в курсе «Проектирование автоматизированных систем обработки информации и управления», а также слушателям Научного центра по повышению квалификации специалистов.
Рецензент - В.Е.Попадько, профессор, зав. каф. АТП.
© РГУ нефти и газа им. И.М.Губкина, 2001
Введение.
Предлагаемый компьютерный практикум дает возможность студентам приобрести практические навыки работы в SCADA - пакете InTouch. Практикум адресован студентам, изучающим SCADA - системы в курсе «Автоматизация технологических процессов».
Практикум включает шесть разделов. Каждый из этих разделов состоит из двух частей: краткого теоретического материала по разделу и подробного описания практических действий по выполнению задания раздела. Задания на практическую работу во всех разделах взаимосвязаны между собой, что дает возможность, осваивая различные компоненты пакета InTouch, создавать от раздела к разделу различные фрагменты единого проекта. Результат работы с практикумом - шестиоконный интерфейс диспетчера/оператора, позволяющий реализовать базовые функции сбора данных и диспетчерского управления (SCADA).
Тестирование практикума показало его работоспособность по всем описанным компонентам и позволило оценить предполагаемое время выполнения заданий - 9 часов.
В конце практикума приведено задание для самостоятельной работы студентов, которое может быть полезным при выполнении курсового проекта.
Перед началом практической работы в пакете InTouch желательно получить подробную информацию о пакете в учебном пособии«SCADA-пакет InTouch интегрированной системы FactorySuite», авторы Андреев Е.Б., Куцевич Н.А.
Раздел 3. Скрипты.
С помощью скриптов можно значительно расширить возможности разрабатываемых приложений. Они позволяют исполнять определенные последовательности команд и логических операций после выполнения некоторого условия (раскрытия окна, нажатия на клавишу, изменения значения переменной или выражения и т. д.).
Типы скриптов.
* Скрипты уровня приложения(Application Scripts) относятся ко всему приложению и используются для запуска других приложений, имитации технологических процессов, вычисления значений переменных и т.д. Могут исполняться один раз в момент запуска или завершения приложения или периодически через заданные интервалы времени.
* Скрипты уровня окна(Window Scripts) связываются с конкретным окном. Могут исполняться один раз в момент открытия или закрытия окна или периодически через заданные интервалы времени пока окно отображается на экране.
* Клавишные скрипты(Key Scripts) привязываются к какой-либо клавише или комбинации клавиш клавиатуры. Это может быть полезным при создании каких-либо глобальных для всего приложения функций (возврат в главное окно, окончание сеанса работы с приложением и т. д.). Могут исполняться один раз в момент нажатия на клавишу или ее отпускания, а также периодически пока нажата клавиша.
Для определения комбинации клавиш можно отметить опции SHIFT и CTRL, и нажать кнопку Key. Откроется окно со списком допустимых клавиш. Для выбора клавиши в диалоге следует щелкнуть на ее имени.
* Скрипты, запускаемые кнопками(Touch Pushbutton Action Scripts) очень похожи на клавишные скрипты и связываются с объектами, которые будут использоваться в качестве исполнительных кнопок. Эти скрипты запускаются при каждом нажатии на объект-кнопку.
* Скрипты по изменению логического выражения(Condition Scripts) связываются с логической переменной или выражением, которое будет принимать значения либо «истина», либо «ложь». Логические скрипты могут содержать в себе и аналоговые переменные. Могут исполняться один раз в момент перехода переменной в состояние «истина» («ложь») или непрерывно пока значение переменной «истина» («ложь»).
* Скрипты по изменению данных(Data Change Scripts) связываются либо с переменной, либо с полем переменной. Эти скрипты исполняются только один раз, когда значение переменной либо поля меняется на величину, превышающую значение допуска, заданного в словаре переменных.
* Скрипты событий ActiveX(ActiveX Event) предназначены для поддержки механизма реакции на события в ActiveX - объектах. С каждым событием может быть связан один скрипт типа ActiveX Event, запускающийся в WindowViewer во время исполнения приложения.
* Quick Function- скрипты, которые могут вызываться из других скриптов и использоваться в выражениях при определении динамических свойств объектов.
Редактор скриптов.
Диалоги редактора, открываемые при создании скриптов различных типов, имеют небольшие отличия. Вызов диалога редактора скриптов в окне WindowMaker осуществляется командой Special/Scripts с последующим выбором типа создаваемого или редактируемого скрипта. Для этого можно также воспользоваться окном Application Explorer, выбрав папку Scripts(открыть редактор уровня окна).
В нижней части редактора (см. рис. на следующей странице) – кнопки ввода ключевых слов и математических операторов. После нажатия кнопки они будут вставлены в скрипт.
Справа, в поле Functions, размещены кнопки выбора встроенных функций. Сверху расположено меню и несколько иконок, дублирующих команды меню.
* Создание нового скрипта – командаScript/New.
* Выделить весь скрипт, вырезать, копировать, вставить, уничтожить весь скрипт – команды меню Edit.
Для вставки в скрипт имени переменной или имени окна – команды меню Insert (Tagname, Window) или соответствующие иконки. В первом
случае появится браузер переменных. Двойной щелчок на выбранной переменной вставляет ее в скрипт. Двойной щелчок по имени переменной выводит на экран диалог определения переменной. Во втором случае появится список всех окон приложения.
* Для вставки в скрипт поля переменной следует в браузере переменных выбрать переменную и нажать кнопку со стрелкой Dot Field. Появится список полей этой переменной. После выбора поля щелкнуть Ok. Поле переменной будет вставлено в скрипт. Быстро вставить поле переменной можно, напечатав имя переменной с точкой, и дважды щелкнуть справа. Появится диалог Choose field name. Выбрать поле, которое сразу же будет вставлено в скрипт.
* Для поиска или замены переменной ввести команду Edit/Find. На экране появится диалог Replace. Ввести исходное имя переменной (верхняя строка) и нажать Find Next (следующее). Имя этой переменной будет высвечено в поле скрипта. Нажать кнопку Replace (заменить) и нажать Find Next для поиска следующего «старого» имени переменной. Для замены переменной по всему тексту скрипта нажать Replace All.
* Для проверки синтаксиса скрипта нажать Validate (проверка). Проверка выполняется автоматически при нажатии Ok или Save. При обнаружении ошибки на экран будет выведено сообщение.
* При создании нескольких скриптов для сохранения одного нажать Save, а затем создать новый скрипт кнопкой New. Сохранение скриптов уровня приложения и окна производится нажатием Ok.
* Для выхода из редактора скрипта ввести команду Scripts/Exit.
Встроенные функции.
В пакете InTouch имеется набор встроенных функций, которые могут быть связаны с командами или использованы в скриптах для выполнения самых различных задач.
Все встроенные функции разбиты на четыре группы:
- String... - для обработки различных символьных строк и переменных;
- Math... - математические функции (работают с целыми и
вещественными аргументами);
- System... - системные функции делятся на две категории: файловые
(File) и для работы с Windows - приложениями (Info). Применяются
для выполнения таких действий, как запуск другого Windows –
приложения, получение информации о приложении, копирование,
уничтожение или перемещение файлов и т. д.;
- Misc... - функции для работы с алармами распределенных систем
(Ack), архивными трендами (HT), печатью и др.
Вызов списка функций группы осуществляется нажатием соответствующей клавиши. Назначение функций и описание их аргументов приведено в документации.
Вставка встроенных функций в скрипт производится щелчком по выбранной функции в списке функций. Она вместе со своими аргументами будет автоматически вставлена в текст скрипта в точку, указанную курсором. После этого можно отредактировать список аргументов.
По окончании редактирования скрипта следует нажать кнопку Ok. При обнаружении в скрипте каких-либо ошибок на экран будет выведено соответствующее сообщение. В большинстве случаев курсор установится в ту позицию, которая привела к появлению ошибки. Прежде чем скрипт будет сохранен, все ошибки должны быть исправлены.
Типы алармов.
Стандартные (бывают и распределенные) алармы подразделяются по типу (Туре) на несколько категорий.
Дискретные алармы срабатывают при изменении состояния дискретной переменной. При этом для срабатывания аларма можно использовать любое из двух состояний: TRUE/ON (1) или FALSE/OFF (0).
Алармы | Стандартный тип |
Discrete | DISC |
Deviation - Major | LDEV |
Deviation - Minor | SDEV |
Rate - of - Change | ROC |
Value - LoLo | LOLO |
Value - Lo | LO |
Value - High | HI |
Value - HiHi | HIHI |
Аналоговые алармыбазируются на анализе выхода значений переменной за указанные верхние и нижние пределы. Как видно из таблицы, аналоговые алармы могут быть заданы в нескольких комбинациях:
-Deviation (отклонение от нормы);
- Rate of Change - ROC (скорость изменения).
-Low и Low Low (нижний и ниже нижнего);
- High и High High (верхний и выше верхнего);
С InTouch- переменной можно связывать алармы любого типа. В зависимости от типа переменной для нее можно определять один или более классов и типов алармов.
34
Приоритеты алармов.
Каждому аларму в InTouch соответствует некоторая величина, называемая приоритетом аларма. Этот приоритет характеризует важность данного аларма и принимает значения от 1 до 999 (наиболее серьезные алармы имеют приоритет 1). Организовав несколько диапазонов значений и связав алармы с каждым диапазоном, можно достаточно легко отфильтровать критические алармы от некритических. Выполнение анимационных функций, скриптов подтверждения, печать и просмотр информации также могут зависеть от приоритетов.
Группы алармов.
Каждый переменная связана с определенной логической группой алармов. Все эти группы определяются пользователем и могут быть организованы в иерархическую структуру до восьми уровней иерархии. Это позволяет сгруппировать алармы в зависимости от их организации, схемы размещения оборудования, приоритетов и любых других признаков.
Если пользователь не определил такую группу для конкретной переменной, то она автоматически связывается с корневой группой алармов $System. С любой группой алармов можно связать как переменную, так и другую группу алармов. Взаимосвязи всех групп алармов представляются древовидной структурой, у которой в качестве корневой является группа $System. Все определяемые группы алармов автоматически становятся потомками этой группы.
Для создания групп алармов в меню окна WindowMaker предусмотрена команда Special/Alarm Groups (группы алармов), вызывающая появление диалога Alarm Groups.При определении переменных в словаре Tagname Dictionaryнажатие кнопки Groupтакже выводит на экран этот диалог.
Работа 4. Алармы и события.
Цель работы:
- импортирование окон Alarms и Real Time Trend из другого
приложения;
- конфигурирование окна Alarms для отображения алармов;
- создание окна для подтверждения алармов.
1. Импортируйте указанные окна из каталога WWimp70. Обратите внимание на то, что можно импортировать скрипты в их исходном виде.
2. Откройте окно Alarms:
3. Нажмите F2, воспользуйтесь командой Special/Substitute Tags и преобразуйте фиктивные переменные (см. работу № 3).
4. Так как среди переменных этого окна есть новые, еще не определенные в словаре переменные, программа выдаст запрос на их определение. Определите переменные PgUp и PgDn как Memory Discrete.
5. В словаре переменных (команда Special/Tagname Dictionary) для переменной DiscTag1 выберите опцию Details & Alarms и в поле Alarm State (состояние, переход в которое приводит к аларму) установите None.
6. Для переменной IntTag выберите опцию Details & Alarms (см. рис.) и задайте нижний предел Low =100 и верхний High = 400. Установите приоритет, равный 1(самый высокий).
7. Для переменной RealTag выберите опцию Details & Alarms и установите самый нижний предел LoLo =30, Low = 50, High = 400 и самый высокий - HiHi = 450. Установите приоритет (Pri) = 1.
8. Дважды щелкните на объекте Alarm для его конфигурирования. Появится диалог конфигурирования стандартного окна алармовAlarm Configuration:
9. Щелкните на кнопке Format Alarm Message для просмотра формата сообщений об алармах.
10. Дважды щелкните на кнопках Previous Page и Next Page, чтобы просмотреть свойства Touch Pushbutton Discrete Valueи Visibility. Диалоги конфигурирования этих кнопок должны выглядеть следующим образом:
- для свойства Touch Pushbutton Discrete Value:
- для свойства Visibility:
11. Перейдите в WindowViewer и, перемещая курсор движкового регулятора, проверьте отображение алармов в окне. Обратите внимание, что при этом изменяются значения полей переменных на панели в правом нижнем углу окна. Введите новое значение предела для RealTag.
12. Создайте окно с именем Alarm Acknowledge (подтверждение алармов). Это окно должно быть типа Popup. Оно будет появляться на экране при выходе переменных RealTag и IntTag за установленные границы. Установите требуемый размер окна, отмените в его свойствах опции Title Bar и Size Controls.
13. В окно введите текст «Внимание!!!» и под текстом добавьте кнопку Acknowledge Alarms (подтвердить алармы).
14. Для текста «Внимание!!!»задайте свойство мерцания (Blink). Не забудьте поставить точку после имени переменной $System.
15. Двойным щелчком по кнопке Acknowledge Alarms вызовите диалог динамических свойств и создайте скрипт Touch Pushbutton/Action, который будет исполняться один раз в момент нажатия кнопки.
Скрипт предназначен для подтверждения всех алармов (Ack $System). При появлении нового аларма системная переменная $NewAlarmпо умолчаниюравна1, после подтверждения (нажатия кнопки) ее надо сбросить в ноль ($NewAlarm=0)и закрыть выпадающее окно (HideSelf). Сохраните окно Alarm Acknowledgeиспрячьте его щелчком по свободному месту окнаAlarms.
16. А чтобы окноAlarm Acknowledge появлялось при возникновении алармов, командой Spetcial/Scripts/Condition Scripts создайте скрипт по условию типа On True. Нажмите Script/New для создания нового скрипта и заполните диалог в соответствии с рисунком.
17. Переключитесь в среду исполнения и переместите несколько раз курсоры движковых регуляторов переменных RealTag и IntTag в крайние положения. Окно Alarm Acknowledge должно появляться при возникновении алармов, а при их подтверждении - исчезать. После подтверждения аларма в окне Alarms должна появляться новая строка с соответствующей информацией.
41
19. Возвратясь в среду разработки, дважды щелкните на кнопке DiscTag1 Toggleдля просмотра скрипта Touch Pushbutton/Action:
20. Убедитесь, что в словаре переменных для переменной DiscTag1 включена опция Log Events (регистрация событий) с приоритетом Priority=998.
21. Перейдите в среду исполнения и нажмите несколько раз кнопку DiscTag1 Toggle. События (нажатие кнопки оператором) должны отображаться строкой в окне алармов.
Раздел 5. Тренды в InTouch.
Графическое представление значений технологических параметров во времени способствует лучшему пониманию динамики параметров технологического процесса. Поэтому подсистема создания трендов и хранения информации о параметрах с целью ее дальнейшего анализа является неотъемлемой частью любой SCADA - системы.
Тренды реального времени (Real Time Trend)отображаютдинамические изменения параметров в текущем времени. При появлении нового значения параметра в окне тренда происходит прокрутка графика справа налево. Таким образом текущее значение параметра выводится всегда в правой части окна.
42
Тренды становятся историческими (Historical Trend)после того, как данные будут записаны на диск и можно будет использовать режим прокрутки значений переменных назад с целью посмотреть предыдущие значения. Отображаемые значения переменных в таком режиме будут неподвижны и будут отображаться только за определенный период.
* Тренды реального времени являются динамическими объектами. Они позволяют выводить изменения значений переменных, как только они происходят для любой конкретной переменной или для выражения, которое содержит одну или несколько переменных.
Чтобы создать тренд реального времени, необходимо:
- выбрать инструмент тренд реального времени в панели
инструментов WindowMaker;
- щелкнуть в окне, затем переместить мышь по диагонали и
сформировать прямоугольник необходимого размера;
- отпустить кнопку мыши, что вызовет появление тренда реального
времени в окне.
При создании тренда реального времени настройки его конфигурации устанавливаются по умолчанию (настройки предыдущего тренда).
Для конфигурирования тренда реального времени следует либо дважды щелкнуть на созданном объекте, либо, предварительно выбрав объект, запустить команду Special/Animation Links. На экране появится диалог Real Time Trend Configuration (конфигурирование тренда реального времени).
В поле Time следует ввести диапазон времени, охватываемый трендом на экране (Time Span), который будет представлен горизонтальной осью тренда. Размерность времени определяется опциями Sec - секунды, Min- минуты, Hr- часы. Например, если введено 30 и выбрана опция Min, то диапазон времени будет равен 30 минутам.
Поле Sample предназначено для определения частоты вывода на график значений переменной.
В поле Color производится выбор цвета (Chart Color, Border Color) для фона графика и рамки тренда, соответственно.
В полях Number of Major Div определяется число больших делений сетки графика по оси времени и оси значений переменной. Здесь же следует определить цвет сетки. Число больших делений сетки должнобыть четным и кратным (?) количеству малых делений.
В полях Minor Div/Major Divопределяется число маленьких делений, выводимых внутри каждого большого деления сетки. Здесь же следует определить их цвет.
Для задания места нахождения временных отметок (сверху - Top Labels, снизу - Bottom Labels, отсутствуют) следует отметить соответствующую опцию. Если отметки времени конфигурируются, то надо определить число (?) больших делений сетки, которое приходится на отметку времени (поле Major Div/Time Label), а также формат вывода (HH:MM:SS Display) и цвет.
Диапазон значений, задаваемый в полях Min Valueи Max, относится ко всем отображаемым на графике переменным. Очевидно, все переменные должны иметь одни и те же размерные единицы (EU).
Конфигурирование перьев тренда включает выбор имени переменной или выражения, цвета и толщины линии для каждого пера (поле Expression).
* Исторические (архивные) тренды не являются динамическими. Они обеспечивают «снимок» состояния данных за прошедшее время, то есть по архивным данным. В отличие от трендов реального времени исторические тренды обновляются только по команде - при запуске скрипта, изменении значения выражения или нажатии оператором соответствующей кнопки.
При конфигурировании архивного тренда можно создать «визиры» (ползунки, бегунки), с помощью которых удобно получить значения всех отображаемых переменных на один и тот же момент времени. Бегунки архивного тренда представляют собой позиционные индикаторы на временной оси, положение которых определяет объем извлекаемых данных. Связав объект «движковый регулятор» с полем бегунка, можно осуществлять перемещение вдоль архивного тренда. Кроме того, имеются функции вычисления среднего, минимального и максимального значений в определенном бегунком положении. Можно создать правый и левый бегунки и производить обработку данных кривой, расположенной между бегунками. Вычисляются следующие величины: среднее, минимальное, максимальное, отношение мин/макс и стандартное отклонение. В зависимости от положения бегунков на оси можно реализовать и другие функции (увеличение и уменьшение заключенной между бегунками области графика).
Все сказанное выше о механизме создания тренда реального времени инструментом Real Time Trendв среде разработки WindowMakerи о его последующем конфигурировании можно отнести и к архивному тренду, создаваемому инструментом Historical Trendсреды разработки.
Предлагаемый ниже способ создания и конфигурирования архивного тренда предполагает использование мастер-средств библиотеки Wizard.
Нажатие кнопки выбора мастер-средств в панели инструментов вызывает появление на экране диалога Wizard Selection. После выбора в списке категории Trends этот диалог будет выглядеть так, как показано на рисунке ниже.
Следует отметить, что любой мастер-объект для быстрого доступа к нему может быть вставлен в инструментальную панель Wizardокна WindowMaker. Для этого надо выбрать мастер-объект в правой части диалога и нажать кнопку Add to Toolbar. Иконка с выбранным мастер-объектом появится в панели Wizard.
После выбора из предложенного набора мастер-средств Hist Trend with Scooters (архивный тренд с бегунками) и щелчка по Ok программа возвращает пользователя в среду разработки. Курсор мыши при этом примет форму вставки. Осталось выбрать место для вставки и щелкнуть мышью.
Чтобы добавить в тренд функции масштабирования и перемещения или элементы управления перьями, следует использовать объекты Zoom/Pan и Trend Pen Legend,соответственно (см. рис.). Объект HistData предназначен для сохранения значений переменных в фале истории. Для того, чтобы все перечисленные компоненты работали совместно, они должны иметь одинаковые имена (Hist Trend).
Работа 6. DDE - обмен.
Цель работы: организация связи между двумя Windows - программами (Excel и InTouch) по протоколу DDE.
1. Откройте окно Alarms и программу Excel. Расположите приложения так, что бы был виден движковый регулятор в окне Alarms.
2. Выделите ячейку в таблице Excel и введите следующее выражение:
=view|tagname!IntTag
Перед нажатием клавиши Enter в Excel запустите WindowViewer.
3. Вернитесь в Excel, нажмите Enter. В выделенной ячейке появится значение переменной. Оно должно изменяться при перемещении движка регулятора в окне WindowViewer.
4. Теперь сконфигурируйте оба приложения как клиент и сервер. Закройте окно Alarms и откройте окно Scratch (черновик).
5. Поместите в этом окне текстовый объект # и задайте ему свойство User Input/Analog. Укажите новую переменную XLTagсо значениями Min Value = - 9999 и Max Value= 9999.
6. Нажмите Ok. Определите переменную XLTag как переменную типа I/O Real с Min Eu и Min Raw = – 9999, Max EU и Max Raw = 9999.
7. Нажмите кнопку Access Name в словаре переменных и щелкните на кнопке Add. Введите имя канала доступа в полеAccess Name (для русской версии Microsoft Office в поле Topic Name следует ввести [Книга1]Лист1):
8. Нажмите Ok. Имя созданного канала доступа появится в списке доступных.
9. Нажмите Close. Имя канала доступа появится рядом с кнопкой Access Name в словаре переменных.
10. В поле Itemукажите строку и столбец ячейки Excel, например r2c2.
11. Нажмите кнопку Close, затем Ok.
12. Перейдите в WindowViewer и проверьте функционирование связи.
13. Теперь проделайте это с помощью специального мастера. Для этого выберите новую ячейку и введите любое число.
14. Скопируйте ячейку в буфер (CTRL+C), перейдите в WindowMaker и вставьте мастер Value Displays - I/O Analog Displayв окно Scratch.
15. Нажмите кнопку Paste Link. Поля автоматически будут заполнены информацией о выбранной ячейке Excel.
16. Убедитесь, что опция Allow Input выбрана.
17. Нажмите Ok и переключитесь в WindowViewer.
Раздел 7. Пример разработки проекта.
Задание на проектирование.
Требуется создать операторский интерфейс для управления технологическим процессом обезвоживания нефтяной эмульсии (рис.1).
Автоматизация процесса обезвоживания предполагает:
- контроль уровня раздела фаз в отстойнике;
- контроль расхода обезвоженной нефти;
- сигнализацию предельных отклонений верхнего и нижнего уровней
раздела фаз в отстойнике;
- автоматическое регулирование уровня раздела фаз в отстойнике.
Кроме этого, операторский интерфейс должен обеспечить оператору возможность перехода с автоматического режима работы контура регулирования уровня на ручной режим (дистанционное управление клапаном).
Второе окно интерфейса - тренды для отображения в реальном времени уровня раздела фаз и расхода обезвоженной нефти.
Рис.2. Функциональная схема автоматизации.
Проект (анимация) должен запускаться и останавливаться с помощью кнопки, действие которой связано со сценарием проекта.
Разработка проекта.
1. Запустите InTouch Application Manager.Создайте новое приложение и запустите среду разработки приложений WindowMaker. Создайте первое окно приложения. Для этого вызовите команду File/ New Window... В появившееся диалоговое окно Window Properties введите имя окна (до 32 символов и пробелов). Выберете цвет для фона окна, щелкнув по окошечку Window Color. При появлении цветовой палитры выберете цвет, щелкнув по нему. Включите опции Title Bar,чтобы при загрузке окна его имя появлялось на титульной строке, и Size Controls для возможности изменения размеров окна. Оставшиеся опции можно оставить со значениями по умолчанию. Закончив выбор, нажмите Ok. На экране появится окно с заданными параметрами.
Выберите на панели инструментов Draw инструмент Rounded Rectangle (скругленный прямоугольник), щелкнув по нему. На свободном месте окна, нажав и удерживая левую кнопку мыши, протащите ее по диагонали, чтобы сформировать горизонтальную емкость. Если теперь отпустить левую кнопку, объект будет готов и выбран. Теперь можно изменить форму объекта, если потащить за любой из маленьких квадратиков вдоль границ объекта. Для увеличения/уменьшения радиуса скругления углов емкости отключите опцию клавиатуры Num Lockи, удерживая клавишу Shift, нажмите на клавишу+/- . Чтобы переместить объект, просто потащите его, зацепившись где-нибудь внутри объекта. Для выбора цветовых атрибутов объекта выделите его и щелкните по соответствующему инструменту управления цветом.
Теперь нужно создать клапан. Для удобства рисования установите сетку (команда Arrange/Snap to Grid). Затем, используя средство Polygon(многоугольник - панель Draw), нарисуйте равносторонний треугольник, одна из сторон которого параллельна вертикальным линиям сетки. Дублируйте нарисованный треугольник (нажмите кнопку Duplicate панели инструментов General). Выделите второй треугольник и нажмите кнопку Flip Horizontal(отобразить зеркально по вертикали - панель Arrange). Соедините два треугольника, используя клавиши стрелок и мышь. Для перемещения объекта предварительно выделите его. Добавьте шток клапана с помощью инструмента Rectangle(прямоугольник - панель Draw). Расположите шток под клапаном. Для этого выделите шток и нажмите кнопку Send to Back(поместить под - панель Arrange). Нарисуйте привод клапана с помощью инструмента Ellipse.
Клапан готов. Но созданный клапан состоит из четырех отдельных элементов. Чтобы сделать из них единый объект, нажмите клавишу F2 для выделения всех объектов в окне, а затем нажмите кнопку Make Symbol(объединить в символ - панель Arrange). Теперь все составляющие клапан элементы объединены в символ и могут обрабатываться как единый объект. Можно изменять размер клапана, выделив его и потянув за один из захватов. Можно переместить клапан в новое место. У созданного объекта можно изменить цвет заполнения, линий, цвет рамки.
Для мнемосхемы технологического процесса требуется два клапана. Чтобы не рисовать следующий клапан, снова воспользуйтесь инструментом Duplicate и создайте необходимое количество клапанов.
Подрисуйте к емкости участки трубопровода для подачи в нее эмульсии и вывода обезвоженной нефти и дренажной воды. Для этого воспользуйтесь библиотекой мастер-объектов Wizard (группа Symbol Factory) или простыми объектами (H/V Line - гор./верт. линия). Толщину линии можно выбрать, воспользовавшись меню Line. В разрывы трубопровода вставьте предварительно нарисованные клапаны.
Если элементы трубопровода и клапаны нарисованы отдельно и не соединены с емкостью, соедините их. Отдельные объекты можно либо протащить к новому месту, либо выбрать и стрелками точно позиционировать на место (с точностью до пикселя). Удерживая клавишу Shift во время использования стрелок для перемещения, можно сдвигать объект на 10 пикселей одним нажатием на клавишу, а удерживая Ctrl - на 50 пикселей.
Далее в соответствии с заданием нужно создать числовые поля, на которые будут выводиться текущий уровень раздела фаз в отстойнике и расход обезвоженной нефти. Удобнее было бы эти поля поместить в рамки, подкрашенные соответствующим цветом. Воспользовавшись инструментом Rectangle (прямоугольник - панель Draw), нарисуйте рамку и присвойте ей желаемые цветовые атрибуты. А так как речь идет о двух параметрах, произведите дублирование рамки. Переместите созданные рамки на места, удобные для наблюдения за процессом (возможно, удобнее их поместить в верхней части окна).
Теперь выберите инструмент Т (текст), которым нужно набрать названия параметров и знаки числового поля для вывода значений переменных на экран. Предварительно подберите шрифт, его стиль и размер, выбрав команду Text/Fonts. На свободном месте окна напечатайте один знак
решетки #, нажмите Enter. Нажатие этой клавиши завершает ввод первой текстовой строки и позволяет создать новую текстовую строку. Введите размерность параметра и нажмите Enter. Наконец, введите название параметра. Теперь нужно сдвинуть эти строки на свои места в одну из рамок. Повторите все проделанное выше для второго параметра.
Для сигнализации предельных отклонений верхнего и нижнего уровней раздела фаз предлагается создать в окне еще две рамки с соответствующими текстовыми полями (только текстовыми полями, т. к. выводить значение уровня в эти рамки нет необходимости). В дальнейшем, при анимации объектов окна, можно будет “заставить” эти рамки мерцать красным цветом при выходе уровня раздела фаз за установленные границы.
Предполагается, что уровень раздела фаз стабилизируется автоматическим регулятором, регулирующее воздействие которого направлено на клапан, установленный на линии сброса дренажной воды. Для перехода с автоматического управления этим клапаном на ручное (дистанционное) введите в схему переключатель руч./авт.