ФЭА / АИТ / ЛАБОРАТОРНАЯ РАБОТА По дисциплине: Автоматизированные системы управления технологическим процессом На тему: Создание имитационной модели АСУ ТП подготовки нефти на ТХУ
(автор - student, добавлено - 14-06-2014, 12:48)
СКАЧАТЬ:
ЛАБОРАТОРНАЯ РАБОТА
По дисциплине: Автоматизированные системы управления технологическим процессом На тему: Создание имитационной модели АСУ ТП подготовки нефти на ТХУ
Цель работы: требуется создать мнемосхемы технологического процесса подготовки нефти на ТХУ, подробно описать порядок выполнения работы, представить экранные формы разработанного проекта, привести полный список используемых глобальных и локальных переменных. Постановка задачи Требуется создать общую площадку ТХУ, на которой должны быть изображены следующие объекты: печь, отстойник, теплообменник, электродегидратор, емкость для смешивания реагента с пресной водой и дренажная емкость. На данном экране должно быть показано движение нефти, воды и водонефтяной эмульсии, отображаться значения температур жидкости, проходящей по тому или иному трубопроводу (данные значения приняты постоянными), также необходимо выполнить настройку печи и отстойника таким образом, чтобы при нажатии левой клавишей мыши по ним имелась возможность перехода к объектовым экранам. На площадке печи необходимо регулировать температуру сырья на выходе вследствие изменения подачи (расхода) топливного газа. Задвижка на линии подачи сырья должна включаться или выключаться при нажатии на ней левой клавишей мыши. Состояние задвижек должно быть обозначено не только цветом (зеленый-открыта, красный-закрыта), но и сигнализирующими сообщениями («подача топлива прекращена», «отбор нефти не производится», «поступление топливного газа прекращено»). Также должны быть представлены величины меняющихся параметров (давления, температуры, расхода), причем не только в числовой форме, но и в форме графических зависимостей от времени (трендовые окна). Должна иметься возможность перехода на общую площадку ТХУ. На площадке отстойника требуется наглядно изобразить процесс откачки насосами нефти и воды по отдельным трубопроводам при превышении заданного значения уровня в емкости. Задвижки на линиях уходящих из емкости нефти и воды должны автоматически открываться (менять цвет с красного на зеленый) при включении насосов и закрываться при их отключении. На данной схеме должна иметься возможность наблюдения за такими параметрами как уровень в емкости, расход нефти, расход воды, расход сырья, давление в отстойнике, причем как в числовой форме, так и посредством графиков. Как на площадке печи, так и на площадке отстойника должна присутствовать кнопка, позволяющая отключать (останавливать) работу объекта. Практическая реализация поставленной задачи Мнемосхемы процесса подготовки нефти, разработанные с помощью SCADA – пакета GENESIS 32 представлены на рис. 1, рис. 2 и рис. 3.
Рис. 1. Общая площадка установки
Рис. 2. Площадка печи
Рис. 3. Площадка отстойника Более подробно опишем процесс создания мнемосхем. Рассмотрим общую площадку установки (рис. 1). С помощью свойства загрузки экранных форм с общей мнемосхемы можно открыть мнемосхемы отображения процесса ступени обезвоживания и нагрева нефти в печи. Для этого, например выделяем объект отстойник О – 1/1, на панели инструментов динамика выбираем Указание и щелчок мыши, и в диалоговом окне Инспектор свойств указываем путь (рис. 4), который загрузит экранную форму отстойника. Аналогичные действия следует выполнить для перехода с объектовых экранов на общую технологическую площадку. Отличие будет заключаться лишь в том, что будет настраиваться не какой-то определенный объект (печь, отстойник и др.), а, например, стрелка или указатель. Несмотря на то, что на каждой площадке выполняются свои определенные правила, регламентирующие протекание технологического процесса, каждая мнемосхема имеет ряд элементов и устройств (насосы, задвижки, кнопки вкл/выкл), которые настраиваются одинаковым образом, поэтому настройку того или иного элемента мнемосхемы опишем один раз, создание его на других мнемосхемах будет аналогичным.
Рис. 4. Переход на другие окна Настройка работы задвижек (на примере отстойника рис. 3) Необходимо, чтобы вода при достижении определенного уровня сливалась из отстойника. Для этого выберем задвижки красного и зеленого цвета. Выделим задвижку красного цвета и в поле источник данных (рис.5а) выберем тег, ICONICS.Simulator.1\SimulatePLC.BOOL.Out1, в который будет передаваться значение 0 или 1 в зависимости от выполнения условия: x=(if(~~a~~&&{{ICONICS.Simulator.1\SimulatePLC.BOOL.Out1}}>1,(~~a~~<600),(~~a~~>751)))||(if(~~a~~>603,(~~a~~<751)&&{{ICONICS.Simulator.1\SimulatePLC.BOOL.Out1}},(~~a~~>751)&&{{ICONICS.Simulator.1\SimulatePLC.BOOL.Out1}})). Таким образом когда ~~a~~ достигает значения 751, тег ICONICS.Simulator.1\SimulatePLC.BOOL.Out1=1 (будет отображаться задвижка зеленого цвета–означает слив воды), и ICONICS.Simulator.1\SimulatePLC.BOOL.Out1=0 на уровне 603 (задвижка красного цвета).
Рис. 5. а) передача значений в Out1; б) передача значений в ~~насос~~. На третьей вкладке (рис.5б) будем передавать значение 0 или 1 переменной ~~насос~~: x=(if(~~a1~~&&(!{{ICONICS.Simulator.1\SimulatePLC.BOOL.Out1}})>1,(~~a1~~<440),(~~a1~~>500)))||(if(~~a1~~>543,(~~a1~~<501)&&~~насос~~,(~~a~~>501)&&~~насос~~)). Переменная ~~насос~~ примет значение 1 в случае, если ~~a1~~ достигло 501, и снижается до 440 и при этом тег ICONICS.Simulator.1\SimulatePLC.BOOL.Out1=0, то есть нет слива воды. Иначе при одновременном сливе нефти и воды давление в отстойнике упадет. Скроем задвижку красного цвета (рис.6а), если тег ICONICS.Simulator.1\SimulatePLC.BOOL.Out1=1. По щелчку на задвижку зеленого цвета, будем передавать в тег ICONICS.Simulator.1\SimulatePLC.BOOL.Out1 значение 0 (рис.6б). И будем скрывать задвижку зеленого цвета, если ICONICS.Simulator.1\SimulatePLC.BOOL.Out1=0.
Рис. 6. а)настройка действия Скрыть; б)передача 0 в Out1 Выделим изображения красного и зеленого цвета задвижки и выберем инструмент Цифровой индикатор. На экран монитора будет выведена диалоговая панель Инспектор свойств с выбранной закладкой Цифровой индикатор (рис. 7а).
Рис. 7. а)настройка цифрового индикатора; б) ~~насос~~ будет принимать 1 или 0 Настройка работы насосов(на примере отстойника рис. 3) Выделим насос и выберем на панели инструментов динамика Указание и щелчок, где для переменной ~~насос~~ выберем операцию Переключить значение(рис.7б). Затем создадим анимацию для лопастей насоса. Для этого выделив изображение насоса в контекстном меню выберем Псевдонимы (рис.8), где запишемвыражение:ррррррррррррррррррррррррррррррррррррррррррррррррр x=(!{{ICONICS.Simulator.1\SimulatePLC.BOOL.Out1}})&&(~~a1~~>100)&&(~~насос~~)&&{{ICONICS.Simulator.1\SimulatePLC.training.Start}}.
Рис.8. Редактирование псевдонимов Затем выделим лопасти насоса и в Инспекторе свойств на вкладке Анимация, отметим Невидимый, если ВЫКЛ, то есть если вышенаписанное условие не выполняется, не равно 1. Создание автоматического отбора жидкости из отстойника при достижении заданного уровня (рис. 3) Выделим изображение трубы рядом с насосом, после чего выберем инструмент Динамика. На странице Указание и щелчок в появившейся диалоговой панели Инспектор свойств выберем операцию Переключить значение, далее установим поля страницы свойств в соответствии с рис .9. В поле Значение: x=(if(~~tank~~>600,~~dish~~+{{ICONICS.Simulator.1\SimulatePLC.Training.Start}} *2, ~~dish~~*0))*~~стоп~~ Т.о. если уровень в колонне поднимется выше 600, произойдёт автоматическое уменьшение уровня посредством переменной ~~dish~~ с учётом проверки состояния насосов (~~стоп~~).
Рис. 9. Создание уменьшения уровня в отстойнике Создание имитации огня в печи (рис. 2) Выделяем объект печь и нажимаем кнопку Разгруппировать. Выделяем все элементы огня и нажимаем кнопку Анимация. Открываем страницу Анимация двойным щелчком, в поле Источник данных вводим следующее выражение: x={{gfwsim.ramp.float}}*{{ICONICS.Simulator.1\SimulatePLC.Training.Start}}, т.о., когда установка выключена, огонь также гореть не будет (рис .10).
Рис. 10. Визуализация огня в печи Визуализация движения нефти в трубопроводе (общая площадка рис.1) Рисуем эллипс, создаём заливку любым цветом. Выберем Положение/Двиолк в панели инструментов Динамика. На вкладке Положение выберем Установить пределы ( рис. 11). Аналогично проделываем со всеми эллипсами.
Рис. 11. Настройка движения нефти в трубопроводе Трендовые окна (на примере отстойника рис. 3) Изменения параметров процесса можно представить в виде графических зависимостей (рис. 12).
Рис. 12. Изменение параметров отстойника Перечислим основные формулы и значения для измеряемых параметров: Таблица 1.
Описание переменных: ~~a~~ - локальная переменная предназначена для запоминания значения уровня воды в отстойнике; ~~a1~~ - локальная переменная предназначена для запоминания значения уровня нефти в отстойнике; ~~dish~~ - локальная переменная предназначена для реализации отбора нефти и воды; ~~насос~~ - локальная переменная предназначена для управления насосом и значением переменной ~~a1~~; ICONICS.Simulator.1\SimulatePLC.Training. Pnevmo1 – глобальная переменная предназначена для отображения значения давления ; ICONICS.Simulator.1\SimulatePLC.Training. Start – глобальная переменная предназначена для управления включением и выключением установки с насосами и инициализации измеряемых переменных; ICONICS.Simulator.1\SimulatePLC.BOOL.Out1 - глобальная переменная, предназначена для управления сливом воды в дренаж из отстойника; ICONICS.Simulator.1\SimulatePLC.Training. Расход на входе – глобальная переменная предназначена для отображения значения расхода п/д ступенью обезвоживания; ICONICS.Simulator.1\SimulatePLC.Training. Уровень – глобальная переменная предназначена для отображения значения уровня в ГО;
Температура x=({{gfwsim.sine.double}}*0.7+36.9)*{{ICONICS.Simulator.1\SimulatePLC.Training.Start}} x=({{gfwsim.sine.double}}*0.5+33.8)*{{ICONICS.Simulator.1\SimulatePLC.Training.Start}} x=({{gfwsim.sine.double}}*0.9+13.5)*{{ICONICS.Simulator.1\SimulatePLC.Training.Start}}
Расход x=({{gfwsim.sine.double}}*1+582)*{{ICONICS.Simulator.1\SimulatePLC.Training.Start}}
Влажность x=({{gfwsim.sine.double}}*0.6+8.2)*{{ICONICS.Simulator.1\SimulatePLC.Training.Start}} x=({{gfwsim.sine.double}}*0.03+0.1)*{{ICONICS.Simulator.1\SimulatePLC.Training.Start}}
Уровень Источник данных: ~~a1~~ (if(~~a1~~>300,300,~~a1~~+2*{{ICONICS.Simulator.1\SimulatePLC.training.Start}}-{{ICONICS.Simulator.1\SimulatePLC.training.Start}}*~~насос~~*(!{{ICONICS.Simulator.1\SimulatePLC.BOOL.Out1}})*3)*(if(~~a1~~<20,20,1))) Источник данных: ~~a~~ (if(~~a~~>500,500,~~a~~+2*{{ICONICS.Simulator.1\SimulatePLC.training.Start}}-{{ICONICS.Simulator.1\SimulatePLC.training.Start}}*{{ICONICS.Simulator.1\SimulatePLC.BOOL.Out1}}*3)*(if(~~a~~<20,20,1))) Источник данных: ~~b1~~ (if(~~b1~~>300,300,~~b1~~+2*{{ICONICS.Simulator.1\SimulatePLC.training.Start}}-{{ICONICS.Simulator.1\SimulatePLC.training.Start}}*({{ICONICS.Simulator.1\SimulatePLC.BOOL.Out1}})*3)*(if(~~b1~~<20,20,1))) Источник данных: ~~b~~ (if(~~b~~>500,500,~~b~~+3*{{ICONICS.Simulator.1\SimulatePLC.training.Start}}-{{ICONICS.Simulator.1\SimulatePLC.training.Start}}*{{ICONICS.Simulator.1\SimulatePLC.BOOL.Out2}}*4)*(if(~~b~~<20,20,1))) Источник данных: ICONICS.Simulator.1\SimulatePLC.BOOL.Out1 x=(if(~~a~~&&{{ICONICS.Simulator.1\SimulatePLC.BOOL.Out1}}>1,(~~a~~<380),(~~a~~>480)))||(if(~~a~~>383,(~~a~~<481)&&{{ICONICS.Simulator.1\SimulatePLC.BOOL.Out1}},(~~a~~>481)&&{{ICONICS.Simulator.1\SimulatePLC.BOOL.Out1}})) Источник данных: ICONICS.Simulator.1\SimulatePLC.BOOL.Out2 x=(if(~~b~~&&{{ICONICS.Simulator.1\SimulatePLC.BOOL.Out2}}>1,(~~b~~<430),(~~b~~>480)))||(if(~~b~~>433,(~~b~~<481)&&{{ICONICS.Simulator.1\SimulatePLC.BOOL.Out2}},(~~b~~>481)&&{{ICONICS.Simulator.1\SimulatePLC.BOOL.Out2}})) Источник данных: ~~насос~~ x=(if(~~a1~~&&(!{{ICONICS.Simulator.1\SimulatePLC.BOOL.Out1}})>1,(~~a1~~<240),(~~a1~~>300)))||(if(~~a1~~>243,(~~a1~~<301)&&~~насос~~,(~~a~~>301)&&~~насос~~))
Похожие статьи:
|
|