Технологические установки предприятий нефтегазовой отрасли считаются опасными производственными объектами. Они имеют высокие показатели возникновения нештатных и аварийных ситуаций [5].
Анализ аварийных ситуаций на производственных объектах нефтегазовой отрасли показал, что трубчатая нагревательная печь является одним из опасных объектов. Данные Академии государственной противопожарной службы МЧС России за временной промежуток с 2007 по 2016 г. показывают, что 11,6 % всех аварий на производственных объектах нефтегазовой отрасли приходится на трубчатые нагревательные печи [3].
Применение виртуальной модели трубчатой нагревательной печи позволяет многократно воспроизводить различные режимы работы, условия, не затрачивая при этом ресурсов настоящего оборудования и не подвергая опасности персонал и печи [2].
Поэтому для подготовки персонала на производстве наиболее эффективно использовать интерактивные современные технологии обучения, в частности виртуальные симуляторы, более того, применение такого рода симуляторов обязательно для большинства промышленных предприятий [1].
Цель данной работы – моделирование аварийной ситуации снижения расхода нагреваемого продукта в трубчатой нагревательной печи для закрепления навыков и действий персонала в нештатных ситуациях. Для этого предлагаются решения следующих задач:
– разработка графических элементов тренажера, визуальных подсказок;
– наглядное представление контура управления расходом шихты в виртуальной среде;
– выявление причин возникновения нештатной ситуации – понижения расхода шихты;
– описание методов и способов устранения неполадок, аварийных ситуаций.
Для реализации виртуального тренажера за основу был взят реальный производственный объект – печь подогрева бензольной шихты производства этилбензола, стирола. Для моделирования процессов в виртуальной среде был произведен сбор необходимых данных: техническая документация установки, нормы технологического процесса, характеристики объекта и оборудования.
Основной функцией тренажера является генератор сценариев аварийных ситуаций. В процессе программирования в среде Visual Basic был реализован в программном коде целый перечень возможных аварийных ситуаций. Данные ситуации графически интерпретируются в виде изменений значений технологических параметров, отображенных на виртуальных датчиках, и оператор тренажера, учитывая эти данные, должен сделать вывод о характере нарушения и выработать план мероприятий по устранению неисправности [4].
В режиме случайной аварии тренажер случайно генерирует простое число, после чего запускается тот сценарий, которому это сгенерированное значение было присвоено. На рис. 1 изображен модуль запуска аварийных ситуаций в режиме обучения.
Рис. 1. Модуль аварийной ситуации снижения расхода шихты
После возникновения аварии оператору тренажера необходимо выяснить причину нарушения режима. Для этого пользователю необходимо знать регламентированный порядок действий в таких ситуациях [5]. Как правило, причиной нештатной ситуации является неисправность какого-либо прибора, оборудования. Поэтому для подобных объектов в тренажере созданы отдельные рабочие окна, вызываемые нажатием на соответствующие графические элементы [5]. В данных окнах присутствует различная информация по объекту, его статус, в регуляторах – возможность перехода на ручной или автоматический режим. На рис. 2 представлено рабочее окно насоса, поломка которого привела к снижению расхода нагреваемого продукта.
В окне на рис. 2 присутствует запись о несрабатывании системы автоматического включения резерва, поэтому для устранения неисправностей нужны более глубокие действия со стороны оператора. Если же алгоритм тренажера случайным образом выберет поломку насоса с включением АВР, тогда для восстановления работы оператору достаточно определить неполадку и открыть рабочее окно насоса, после чего сработает АВР. В реальности, естественно, АВР включается без ведома оператора, однако в тренажере введен данный алгоритм для того, чтобы программа определила верное решение оператора и оператор со своей стороны понял, в чем была причина нарушения работы и как она была устранена. Листинг кода рабочего окна насоса с упомянутой глобальной переменной указан на рис. 3.
Для выявления причин понижения расхода шихты и описания методов и способов устранения аварийной ситуации рассмотрим более подробно принцип работы симулятора.
При нажатии на кнопку «Снижение расхода шихты» инициируется запуск режима, при котором на виртуальных датчиках расхода углеводородной шихты, идущей в печи подогрева, наблюдается значительное понижение расхода, выходящее за рамки норм технологического процесса. При этом индикаторы сигнализаций при достижении критических значений расхода переводятся в активный режим, при котором квадратные блоки индикаторов принимают красный цвет, в отличие от нормального режима, где цвет индикации – желтый.
Рис. 2. Имитация аварийной ситуации снижения расхода шихты
Рис. 3. Код рабочего окна насоса
Снижение расхода, согласно технологическому регламенту реального производственного объекта, происходит по двум причинам: останов насоса позиции Н-047 и отказ регулятора расхода шихты к теплообменнику позиции Т-004. Как было сказано выше, выбор программой той или иной причины происходит случайным образом с помощью функции Random в Visual Basic 6. Листинг определения причины представлен на рис. 4.
Переменной «prichina1» присваивается одно из 3 значений: 0, 1 или 100. Если переменная равна 0, то причиной снижения расхода является останов насоса, если переменная равна 1 – отказ регулятора расхода. Значение переменной, равное 100, присваивается во всех остальных обстоятельствах и обозначает отсутствие аварийной ситуации, чтобы исключить ложное срабатывание программы, так как в Visual Basic по умолчанию программе присваивается нулевое значение. Каждый раз при нажатии на кнопку соответствующей аварии при соблюдении условия активности таймера выполняется выражение «Rnd*2», означающее случайный выбор между 0 и 1.
Вышеупомянутый таймер является функциональным инструментом Visual Basic, который в активном состоянии через определенный промежуток времени повторяет все команды, записанные в коде таймера. На его основе в тренажере реализовано снижение значений расхода шихты (рис. 4): при соблюдении всех условий через определенный интервал выполняется выражение, отнимающее несколько единиц от текущего значения расхода.
Выражение выполняется до момента достижения критических значений расхода, после чего получившиеся цифры фиксируются на уровне, когда срабатывает сигнализация, давая возможность оператору устранить причину аварии, но еще не срабатывает система ПАЗ. Переменная «vost» используется в коде, для проверки условия невыполнения противоаварийных мероприятий. В случае выполнения подобных действий данная переменная принимает значение 1 и условия в таймере по снижению расхода перестают выполняться. Затем в работу включается другой таймер, ответственный за восстановление значений расхода до соответствующих нормальному технологическому режиму величин. Код «восстановительного» таймера представлен на рис. 5.
Рис. 4. Код запуска аварийной ситуации (слева), код имитации аварийной ситуации (справа)
Рис. 5. Код «восстановительного» таймера (слева), код рабочего окна распоряжений (справа)
Включение «восстановительного» таймера и отключение «аварийного» происходит только в том случае, когда выполнены определенные действия по устранению причин снижения расхода: отремонтирован насос или регулятор расхода шихты. После выполнения этих действий переменная «vost» принимает значение, равное 1. Например, в случае, когда в аварии виноват отказавший регулятор расхода, в рабочем окне распоряжений оператору необходимо в правильном порядке нажать на кнопки, соответствующие виртуальным ремонтным работам: переход на ручное управление и ремонт регулятора расхода, затем переход на байпас клапана регулятора расхода и ремонт клапана. При нажатии кнопок в коде рабочего окна сформируется определенная комбинация нулей и единиц, интерпретирующая в машинном коде порядок действий оператора. В случае, если порядок верный, комбинация совпадет с эталонной и запустится режим по восстановлению нормального режима работы объекта. Код рабочего окна распоряжений в случае отказавшего регулятора представлен на рис. 5.
Тренажер позволяет проверить и улучшить свое мастерство, имитируя работу реальной трубчатой нагревательной печи. Сотрудник, который пользуется тренажером, должен сам обнаружить и устранить причину неполадки. Цель такого алгоритма заключается в том, чтобы развить бдительность у оператора, его рациональную оценку ситуации, правильные и своевременные действия по её устранению.