Создание схемы регулирования уровня конденсата в конденсаторе

Схема регулирования уровня конденсата является практически полным визуальным аналогом принципиальной схемы, предоставленной ОАО «КТЗ» в качестве условия тестовой задачи.

Библиотека расчетных элементов может быть настроена таким образом, чтобы внешний вид создаваемой схемы полностью соответствовал принятым на предприятии требованиям проектно–конструкторской документации. К разработке и анализу такой схемы можно привлекать специалистов-технологов, не владеющих технологиями математического моделирования, что является преимуществом при использовании пакета SimInTech в проектно-конструкторских организациях.

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

Кроме автоматизации процесса создания расчетных схем в SimInTech существует поддержка технологии PDM (Product Data Managment) и технологий PLM (Product Life Management), например, Enovia-Smarteam. При использовании данных технологий расчетная схема может быть встроена в информационную систему поддержки изделия, а изменения в проектно–конструкторской документации будут автоматически вноситься в математическую модель технической системы.

Приступим к набору схемы в схемном окне. Для этого перейдите на окно «Схема TPP для учебной модели ГК турбины» и выполните двойной щелчок левой кнопкой мыши по первой субмодели TPP для перехода во вложенную субструктуру (т.е. на первый лист теплогидравлической модели). Процедура первоначального создания схемы в общем случае состоит из следующих этапов: размещение элементов схемы на схемном окне; соединение элементов соединительными линиями (в данном случае – теплогидравлическими линиями связи); изменение свойств объектов на требуемые по условию задачи; приведение внешнего вида схемы к удобному виду для дальнейшей работы и редактирования (т.е. создание надписей под блоками, выравнивание линий и элементов и т. п.).

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

Первый элемент, который мы разместим – это граничное условие для схемы – бойлер. В расчетном коде TPP ему соответствует граничный узел типа Р. Для размещения на схеме элемента требуется выполнить действия, аналогичные размещению субмоделей TPP на схемном окне в предыдущем подразделе, а именно: перейти в библиотеку элементов «Технологические блоки», щелкнув один раз левой кнопкой мыши на одноименной вкладке вверку на панели инструментов SimInTech. После этого вы увидите, что вместо девяти элементов библиотеки «Субструктуры» появилось шесть элементов библиотеки «Технологический блоки»: узлы, каналы, арматура, элементы турбонасосных агрегатов, баки и теплообмен. На самом деле в данной библиотеке больше элементов, а появившиеся шесть иконок являются объединением элементов по классам и вмещают в себе каждая по нескольку элементов. Например, если щелкнуть левой кнопкой мыши по иконке «узлы», то появится выпадающее меню с тремя типами узлов (внутренний узел, граничный узел Р, граничный узел G), которые есть в данном классе элементов. Аналогично и остальные иконки – можете для ознакомления понажимать и на них, посмотреть какие элементы доступны здесь.

Для того чтобы разместить бойлер, как и говорилось ранее, нужно выбрать элемент «Граничный узел Р» из класса «узлы», щелкнув по нему однократно левой кнопкой мыши. Далее переместите курсор на схемное окно и в левой верхней части схемного окна разместите граничный узел Р, щелкнув еще раз левой кнопкой мыши на схемном окне . Поздравляем, вы только что разместили первый элемент на листе РУК01. Теперь, если щелкнуть мышкой на пустом месте в схемном окне, и рассмотреть внимательно размещенный элемент, можно увидеть что на самом деле мы разместили два графических элемента (Рисунок 1), представленные как оранжевый шестиугольник и синяя точка. Это сделано для того чтобы отличать узлы разного типа друг от друга – все узлы в схемном окне TPP в SimInTech представлены как синие точки, однако к узлам Р и G (т.е. к соответствующим точкам) присоединяется дочерняя «иконка» - оранжевый шестиугольник или зеленая стрелка, соответственно. Это упрощает в дальнейшем чтение схемы, позволяя сразу (визуально) отличать друг от друга узлы разных типов.

Давайте немного подвинем влево оранжевый шестиугольник, чтобы разделить его и синюю точку для удобной работы с ними в дальнейшем (по отдельности) и для наглядности схемы – для чтения схемы гораздо лучше если элементы не пересекаются и «не наползают» друг на друга . Для этого выделите шестиугольник, щелкнув по нему левой кнопкой мыши и, не отпуская кнопку мыши, передвиньте курсор влево на некоторое расстояние. При этом шестиугольник должен «переехать» на новое место, а синяя точка остаться на прежнем. Аналогично можно перемещать и другие элементы, в т.ч и узел (точку).

Следующим, вторым элементом, будет граничный узел G, через который будет поступать расход в конденсатор турбины. Для этого снова одним щелчком мыши на панели инструментов SimInTech «заходим» в класс элементов «узлы» и выбираем блок Граничный узел G. Разместите его на схеме в правой верхней части.

Рисунок 1. Граничный узел Р

Рисунок 2. Граничные узлы Р и G

Поскольку на будущей схеме поток теплоносителя будет двигаться справа налево из размещенного только что граничного узла G, давайте зеленую стрелку сразу приведем в соответствие с этим направлением, то есть развернем ее на 180 градусов и немного увеличим размер. Для этого нажмите на зеленую стрелку правой кнопкой мыши для вызова контекстного меню и выберите пункт «Повернуть на 180 градусов». Сразу после этого (стрелка осталась выделенной, т.е. обрамленной красной рамкой) переместите курсор на правый нижний угол красной рамки и, после того как курсор изменит свой вид на «увеличить/уменьшить размер», растяните немного этот элемент и добейтесь увеличения размера зеленой стрелки, чтобы она примерно соответствовала по размеру оранжевому шестиугольнику размещенного ранее узла Р.

Рисунок 3. Узел G с развернутой стрелкой

Рисунок 4. Трехобъемный бак размещен на схеме

Если вы наведете курсор на синюю точку узла G и задержите там его на небольшое время, то увидите всплывающую подсказку с надписью «NodeG4: Граничный узел G». Если навести курсор на зеленую стрелку, то надпись во всплывающей подсказке будет содержать две строки: «Block3: Картинка Подпитка в узел TPP» и «Владелец: NodeG4». Имена «NodeG4» и «Block3» присвоены автоматически двум элементам на схеме (в вашем конкретном случае порядковые номера могут отличаться от «..G4» и «..3»), а строка со словом «Владелец:…» показывает, к какому именно узлу (к какой именно синей точке) привязан данный элемент (зеленая стрелка). При помощи таких всплывающих подсказок можно при работе со сложной схемой легко и быстро понять и не запутаться, к какому именно узлу принадлежит данная картинка. Такие «двойные» («тройные» и т.д.) элементы встретятся нам и в дальнейшем, причем в каждом случае будет как бы основной элемент (в данном случае это синяя точка) и дочерний к нему (здесь – картинки – оранжевый шестиугольник и зеленая стрелка). Если со схемы удаляется основной элемент (владелец), то автоматически происходит удаление всех его «дочерних» элементов. Но не наоборот – например, при удалении зеленой стрелки сам узел G останется на схеме.

Следующий элемент, который вы разместите на схеме – это компенсатор объема (модель бака - конденсатора турбины), причем для нашей задачи выберем трехобъемный компенсатор из библиотеки «Технологические блоки» и класса элементов «баки». Разместите бак немного левее и ниже граничного узла G (Рисунок 4). Как видно из рисунка, бак по умолчанию тоже является «двойным» объектом – помимо его изображения появилась еще и черная точка – это узел компенсатора TPP (баку автоматически присвоено имя Compensator4 и этот объект является владельцем узла NodeK10). Переместите NodeK10 в нижнюю часть бака. Для нашей схемы к баку надо добавить еще два узла – один сверху, другой слева от бака. Выполните это, разместив на схеме, точнее – непосредственно на изображении бака еще два элемента – «Узел компенсатора»[1]. Сравните полученный результат с рисунком (Рисунок 6) – должно получиться примерно то же самое… Для соответствия описания и вашего проекта разместите узел NodeK12 вверху бака, а узел «NodeK13» слева от конденсатора. В дальнейшем к этим узлам мы будет подсоединять гидравлические каналы. Если у ваших узлов получились другие имена – переименуйте их для соответствия описанию (на расчёт имена не влияют).

К баку как «дочерний» добавьте еще один элемент – датчик контроля уровня[2] и разместите его на фоне бака в его правой нижней части. Имя, присвоенное данному элементу, должно быть похоже на K_L3 - проверьте это, наведя курсор на элемент датчика и задержав курсор над ним, чтобы появилась всплывающая подсказка. Выполните двойной щелчок по датчику – этим действием вы попадете в окно «Изменение точки контроля/записи» – измените там имя точки контроля на более простое, например, на KL, и нажмите кнопку «ОК». В результате этого на схеме датчик будет отображаться как окошко с названием KL.

Рисунок 5. Три узла бака – черные точки

Рисунок 6. Переходы (блоки в память и из памяти)

Теперь разместим блоки перехода с одного листа на другой – выберите элементы «В память ТРР» и «Из памяти ТРР», разместите их на схеме ниже и правее модели конденсатора турбины. Создайте поясняющие надписи к этим элементам - «к ЭКН» и «от ЭКН» (Рисунок 6).

Чем больше пояснительного текста будет на схеме, тем легче будет в ней разобраться вам в будущем, когда вы что-нибудь «подзабудете» и/или тем проще будет в ней разобраться постороннему человеку. Поэтому, при создании любой схемы, как сложной так и простой, всегда пишите комментарии и пояснения, причем желательно к каждому блоку, листу, элементу, связи и т.д.

Следующий шаг – добавим необходимые «внутренние» узлы TPP[3], то есть те, которые расположены на внутренних соединениях труб (тройниках) на схеме – это будут узлы с автоматически присвоенными именами. Первый узел разместите слева от конденсатора, точнее – на некотором расстоянии слева от узла бака NodeK13. Позже мы разместим клапан между этими узлами. Присвойте ему имя U_1.

Второй внутренний узел (проименуйте его U_2) разместите левее и на некотором расстоянии от порта перехода от ЭКН. Позже от этого узла мы сделаем разветвление труб – один гидравлический канал пойдет к ТО БЭЖ, другой – к бойлеру. Третий внутренний узел (U_3) разместите снизу и правее бойлера, или, с другой стороны, левее узла U_1.

Теперь перейдем к созданию гидравлических каналов (участков трубопроводов) между узлами. В библиотеке «Технологические блоки» выберем класс «Каналы», и в данном проекте мы будем пользоваться только блоком Канал общего вида.

Рисунок 7. Ch_01, первая проведенная гидравлическая связь

Проводите каналы в указанной ниже последовательности:

  1. Проведите канал общего вида от граничного узла G к верхнему узлу бака, дайте имя каналу Ch_01;
  2. Проведите канал общего вида от нижнего узла бака к порту блока «В память TPP» (Рисунок 7 – одновременно проверьте правильность расположения внутренних узлов), присвойте ему имя Ch_02;
  3. Следующий канал – от порта блока «Из памяти» к внутреннему узлу – этому каналу присвойте имя Ch_03;
  4. От узла U_2 к узлу U_1, имя канала – Ch_04 (Рисунок 8, на рисунке блоки подписаны);
  5. От узла U_2 к узлу U_3, имя связи – Ch_05;
  6. От узла U_3 к граничному узлу Р (к бойлеру), имя связи – Ch_06;
  7. От узла U_1 к узлу U_3, имя связи – Ch_07;
  8. От узла U_1 к узлу бака NodeK13, имя связи – Ch_08;

Как промежуточный итог, вы должны получить схему, показанную на рисунке (Рисунок 9).

Рисунок 8. Проведено четыре канала общего вида

Рисунок 9. Проведены все каналы на листе 01

Переходим к размещению клапанов, причем на этой схеме их всего три – К1А, К1В и К2. Все три клапана – это элементы библиотеки «Технологические блоки», класс «Арматура», элемент «Регулирующий клапан ТРР». Разместите клапаны на каналах Ch_08, Ch_07 и Ch_05, соответственно. После этого в свойствах каждого клапана отредактируйте их названия на требуемые и разверните клапан К2 на 90 градусов, чтобы отображение положения клапана (сейчас это число «0.0») разместилось справа от клапана, а сам клапан стал вертикальным (Рисунок 10).

Рисунок 10. Три клапана на листе 01 схемы TPP

Для того чтобы соединить каждый клапан с соответствующим каналом, следует нажать правой кнопкой мыши на клапане, выбрать пункт контекстного меню «Действия → сменить владельца» и после этого еще раз разместите каждый клапан над соответствующим каналом (щелкните левой кнопкой мыши, т.е. курсором-«клапаном», по каналу). После этого всплывающие подсказки над каждым клапаном будут показывать что у клапана есть владелец.
Примечание: начиная с версии 1.6 эта ошибка исправлена и арматура при размещении на схеме размещается на том канале куда она поставлена.

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

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

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

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

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

Рисунок 11. Панель управления клапаном (типовая для ТРР)

Следующим действием будет создание местных сопротивлений на трубопроводах. Рассмотрим, где их необходимо поставить в соответствии с исходными данными, т.е. с исходной схемой (Рисунок 2). Ясно, что местным сопротивлением, которое необходимо учесть, обладает дроссельная шайба на ветке «на рециркуляцию» на входе в главный конденсатор. Также явно указано что на пути к бойлеру есть местное сопротивление – учтем и его. Кроме этих двух сопротивлений, поскольку охладитель пара уплотнений (ОПУ) и теплообменник блока эжекторов в данном учебном примере мы не моделируем, заменим их также на местные сопротивления, чтобы упрощенно учесть их влияние на поток теплоносителя. Итого для листа 01 получаем четыре местных сопротивления:

  1. На месте ТО БЭЖ, т.е. на канале Ch_04;
  2. На месте ОПУ, т.е. на том же канале Ch_04;
  3. На ветке «на рециркуляцию», канал Ch_05;
  4. На ветке в бойлер, т.е. к граничному узлу Р (на канале Ch_06).

Для реализации на схеме воспользуемся элементом «Местное сопротивление TPP»[4]. Разместите один из элементов на канале Ch_04 примерно там где расположен ТО БЭЖ на исходной схеме (Рисунок 2), убедитесь что канал Ch_04 автоматически стал владельцем местного сопротивления TPP и зайдите в свойства только что размещенного элемента (Рисунок 12). Замените значения свойств «Прямое сопротивление» и «Обратное сопротивление» на число 388 и нажмите кнопку Ок.

На том же канале, только ближе к клапанам «К1А» и «К1В», разместите еще одно местное сопротивление TPP, в свойствах которого значения сопротивлений (прямого и обратного) измените на «777». Кроме этого, поверните данный элемент на 90 градусов и убедитесь, что владельцем данного сопротивления также является канал Ch_04.

Рисунок 12. Свойства местного сопротивления TPP «Ksi5».

Разместите еще два местных сопротивления на каналах Ch_08 и Ch_06 - им автоматически присвоятся имена наподобие «Ksi7» и «Ksi8». Проверьте владельцев размещенных сопротивлений и в свойствах каждого из сопротивлений укажите значения:

Полученный результат сравните с рисунком (Рисунок 13) и, прежде чем двигаться дальше, уделим немного внимания внешнему виду схемы.

Во-первых, синие каналы общего вида могут перекрывать узлы – как внутренние, так и граничные, так и узлы бака – это произошло оттого что каналы мы размещали на схеме позже узлов. Для придания внешней красоты схеме следует все узлы выдвинуть на передний план. Это делается следующим образом – выделяете какой-нибудь узел, нажимаете правой кнопкой мыши на него, и в появившемся контекстном меню выбираете пункт «выдвинуть вперёд». Проведите подобную операцию с каждым узлом на схеме (два граничных, три узла бака и три внутренних узла). Можно выделить все узлы и сделать это сразу для всех.

Рисунок 13. Размещение четырех местных сопротивлений TPP

Во-вторых, для того чтобы подчеркнуть, что два из четырех местных сопротивлений размещены для моделирования ОПУ и ТО БЭЖ, давайте поверх них разместим (условно) картинки, которые будут обозначать соответствующие элементы. Для этого воспользуемся библиотекой элементов «Декоративные элементы» и выберем там элемент «Маска теплообменника 4» и «Маска теплообменника 6», которыми обозначим ТО БЭЖ и ОПУ соответственно. Измените свойство «Подпись блока» у каждой маски теплообменника – у первого на «ТО БЭЖ» и передвиньте вправо и вверх ее, у второго – на «ОПУ» и тоже разместите таким образом чтобы она не пересекала каналы.

Аналогично подпишите другие местные сопротивления (например, как «Дроссельная шайба» или «ДШ» и «Местное сопротивление»).

Рисунок 14. Декоративные элементы схемы TPP

Теперь разместим еще несколько элементов на схеме: в дальнейшем для системы управления нам потребуется значение расхода через ТО БЭЖ – для этого мы сейчас расположим на схеме элемент «датчик массового расхода в канале TPP»[5]. Кроме него, ознакомимся также с возможностью ручного задания некоторых параметров (граничных условий) непосредственно во время расчета – будем задавать расход подпитки в узле G, и поддерживаемый уровень в конденсаторе турбины.

Разместите на схеме на канале Ch_04 датчик массового расхода в канале TPP и переименуйте его «Имя точки контроля» на «G» (для этого надо выполнить двойной щелчок мышкой на изображении элемента после размещения его на схеме, аналогично как мы переименовывали датчик уровня в конденсаторе). Убедитесь что канал Ch_04 является владельцем вновь размещенного датчика (Рисунок 15).

Рисунок 15. Датчик массового расхода в канале TPP

Далее, поскольку мы разместили эти два датчика не для визуального контроля работы схемы, а для использования сигналов в алгоритмах системы управления, давайте «скроем» их со схемы в момент начала расчета – для этого зайдите в свойства какого-нибудь датчика и значение свойства «видимость при выполнении» измените на «нет». Аналогичную операцию проведите для другого датчика.

Для того чтобы осуществить возможность задания вручную значения массового расхода теплоносителя в граничном узле G, мы будем использовать механизм задания глобальных сигналов схемы и элементы из панели примитивов. Для вызова панели примитивов, воспользуйтесь пунктом меню «Вставка → Панель примитивов».

В появившейся панели выберите элемент «Редактор» и разместите его на форме справа от граничного узла G.

Рисунок 16. Панель примитивов, элемент «Редактор»

Еще один редактор разместите справа от конденсатора. Рядом с элементами редактора на форме «положите» по одному примитиву «Кнопка», взяв их из той же самой панели примитивов. Кнопки нам понадобятся для того чтобы вручную задавать значения расхода и уровня в строках редакторов, и после этого в нужный момент – по нажатию соответствующей кнопки – менять значение задаваемой величины. Над каждой группой «редактор+кнопка» сделайте текстовую заметку с начальными надписями «Расход, т/ч = 30» и «Уровень, мм = 393».

Теперь изменим некоторые свойства размещенных примитивов.

Значения свойств «Имя объекта» элементов «редактор» измените на Fedit и Ledit. Значения свойств «Числовое значение» - измените на «30» для расхода и «393» для уровня в конденсаторе.

Внешний вид схемного окна должен быть похож на рисунок (Рисунок 17).

Рисунок 17. Примитивы на схеме TPP

Далее перейдите во вкладку «Параметры» и при помощи ключевых слов initializationend; задайте значения по умолчанию для расхода и для уровня воды в конденсаторе (Рисунок 18), а также – следующие две строки – обработчик нажатий на кнопки. При выполнении этого проекта будет происходить следующее – на этапе инициализации переменным Fzad и Lzad будут присвоены значения по умолчанию, т.е. 30 и 393. Далее на этапе расчета проекта, если пользователь будет нажимать какую-нибудь кнопку, то переменной Fzad (или Lzad) будет присваиваться значение из поля соответствующего «редактора», в зависимости от того какую кнопку нажмет пользователь. Имена кнопок для соответствия рисунку следует скорректировать на Button1 и Button2.

Пока что мы реализовали только изменение переменных Fzad и Lzad. Теперь, чтобы такое «ручное» изменение переменных имело смысл при выполнении проекта, необходимо данные переменные использовать в качестве значения соответствующих свойств граничного узла G и конденсатора.

Рисунок 18. Скрипт для листа РУК01

Для граничного узла G необходимо значение свойства «Расход» задать как «Fzad*1000/3600». Коэффициент 3.60 получается при переходе от размерности тонны в час к размерности кг/с.

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

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

[1] Библиотека «Технологические блоки», класс «Баки»

[2] Библиотека «Датчики», элемент «Датчик уровня в КО TPP»

[3] Библиотека «Технологические блоки», класс «Узлы», элемент «Внутренний узел»

[4] Библиотека «Технологические блоки», класс «Арматура»

[5] Библиотека элементов «Датчики»