close

Вход

Забыли?

вход по аккаунту

?

отчет по практике(1)

код для вставкиСкачать
ГОУ ВПО
Уфимский Государственный Авиационный Технический Университет
Кафедра технической кибернетики
Отчет по производственной практике
Выполнил: студент гр. САУ-407
Сабитов А.Р.
Руководитель практики от предприятия:
Ведущий инженер-программист
Павлова М.А.
Место прохождения практики:
ООО НПФ "Экситон-автоматика"
УФА 2013
Содержание
1. Задание на производственную практику
2. Характеристика предприятия
3. Система контроля утечек
4. Определение темы дипломной работы
5. Заключение
1. Задание на производственную практику
Проведение производственной практики преследует несколько целей, основными из которых являются: * ознакомление с организацией, его структурой, направлениями деятельности, основными видами предоставляемых услуг;
* ознакомление с программными продуктами, разработанными отделом инновационных решений;
* выработка требований к дипломной работе на основе полученного опыта.
В ходе консультаций с руководителем производственной практики были выработаны следующие основные задачи, выполнение которых обеспечит достижение поставленных целей, а также был обозначен план работ на период прохождения практики:
* изучение программно-аппаратных систем, разрабатываемых фирмой;
* ознакомление с алгоритмами тестирования и наладки программно-аппаратных систем;
* изучение систем сбора и обработки данных, получаемых с нефтепроводов;
* оформление отчета о проделанной работе, в котором должны быть отражены результаты решения поставленных задач и выводы, а также указаны предложения, относящиеся к дипломной работе.
2. Характеристика предприятия
НПФ "Экситон-автоматика" - инженерно-производственная компания, выполняющая работы по разработке и внедрению АСУ ТП телемеханики, электрики "под ключ" для промышленных объектов, объектов трубопроводного транспорта и топливно-энергетического комплекса:
* проектирование систем автоматики и телемеханики;
* собственное производство станций управления шкафов автоматики и электрики;
* поставка оборудования КИПиА и средств автоматизации;
* строительно-монтажные работы;
* пуско-наладочные работы КИПиА, автоматики и электрики.
НПФ "Экситон-автоматика" имеет опыт работ в области производства и внедрения систем автоматики и телемеханики на производственных объектах ОАО "АНК "Башнефть", ОАО "АК "Транснефть", ОАО "Белкамнефть". Основу проектных решений составляют современные технические и программные средства фирм: Schneider Electric, Mitsubishi Electric, Siemens, Phoenix Contact, Moxa, Turk, GE Intelligent Platforms, Wonderware, ICР DAS.
Виды работ выполняемых на предприятии:
1. АСУ ТП объектов добычи, подготовки, переработки нефти и газа
2. АСУ ТП машиностроения, легкой и пищевой индустрии
3. Системы обнаружения утечек
4. Системы электрохимзащиты
5. Пожарная автоматика
6. Системы пожарной сигнализации
3. Система контроля утечек
Общие принципы работы
Задачи, решаемые контроллером датчика (УСО-01)
1) Контроллер проводит регистрацию давления с высокой частотой (например,
50 Гц, настраиваемая величина) с непрерывной записью полученных значений во временный буфер для последующего расчёта скорости. Примечание. Внутренняя частота датчика должна быть больше или равна частоте регистрации контроллера.
2) Контроллер имеет часы реального времени, а так же механизм точной
подстройки этих часов для реализации с помощью ПО АРМ СОУ синхронизации с контроллером на втором конце трубопровода.
3) Контроллер непрерывно ведёт два журнала работы в энергонезависимой
памяти. В первом журнале ("быстром") контроллер регистрирует все измеренные значения давления с привязкой ко времени измерения. Во втором журнале ("медленном") контроллер регистрирует те же значения давления, но c некоторым прореживанием. Например, при записи каждой 50 точки для частоты регистрации 50 Гц получим частоту регистрации в "медленном" журнале работы равной 1 Гц.
АРМ СОУ должно постоянно обращаться к "медленному" журналу для построения графиков давления на трубопроводе по прореженным значениям давления и при этом будет иметь возможность обратиться к "быстрому" журналу для получения всех измеренных значений давления на трубопроводе за некоторый отрезок времени (например, для точного расчёта места утечки). Такой подход снижает требования к системе передачи данных и допускает временные задержки и отсутствие связи.
4) Контроллер непрерывно вычислят скорость изменения давления и сравнивает её с пороговыми значениями(сравнивание осуществляется по абсолютному значению). При превышении первого порогового значения контроллер фиксирует время наступления события (t1) и заносит его в "медленный" журнал. Время t1 является временем прихода ударной волны к месту установки датчика. После этого контроллер начинает поиск момента времени стабилизации давления (t2). Время t2 является временем, когда ударная волна пройдёт место установки датчика. Для этого контроллер начинает сравнивать значение скорости со вторым пороговым значением.
Условием наступления второго события является установившееся значение скорости ниже второго порогового значенияв течение заданного времени. При выполнении этого условия контроллер фиксирует время t2 и также заносит его в "медленный журнал".
При поиске момента стабилизации давления, контроллер также выполняет проверку, чтобы разница t2 и t1 была не менее некоторого заданного минимального времени ударной волны, а также не более второй уставки - максимального времени ударной волны.
Данная процедура позволяет зафиксировать в журнале работы время прихода ударной волны (t1) и время ухода ударной волны (t2) от места установки датчика.Зная это время, ПО АРМ может получить из "быстрого" журнала все измеренные значения давления для всего периода прохождения ударной волны и использовать эти значения для расчёта места возникновения утечки на трубопроводе.
Задачи, решаемые вспомогательным контроллером
1) Вспомогательные функции обслуживания шкафа
Задачи, решаемые АРМ СОУ
1) АРМ должно взаимодействовать с установленными контроллерами через
подсистему передачи данных.
2) АРМ должно реализовывать механизм синхронизации контроллеров на обоих концах трубопровода.
3) АРМ должно обеспечить настройку всей системы: - задание схемы контролируемого участка трубопровода (карта);
- указание мест установок датчиков на схеме;
- задание расстояний между датчиками;
- задание скорости распространения волн на контролируемом участке;
- задание всех нужных уставок контроллеров.
Примечание. Скорость распространения волн на контролируемом участке можно определить экспериментально при мониторинге давления на трубопроводе. Из данных мониторинга так же определяются значения уставок для каждого контроллера.
4) АРМ должно вести архив в базе данных или в файлах.
5) АРМ должно проводить непрерывный мониторинг давления по всем местам
установок датчиков (данные должны браться из "медленного" журнала работы
контроллеров) и заносить их в архив.
6) АРМ должно непрерывно следить за появлением события прохождения ударной волны для каждого контроллера. При появлении этого события АРМ должно ждать появления этого события для контроллера на другом конце трубопровода в течение некоторого времени, которое зависит от длины контролируемого участка трубопровода и скорости распространения волн на этом участке.
При появлении этого события на втором контроллере, ПО СОУ должно считать из "быстрого" журнала работы обоих контроллеров массивы давлений, соответствующих ударной волне, рассчитать корреляционную функцию и по её максимуму определить задержку в сигнале. Для повышения достоверности полученное значение максимума корреляционной функции нужно сравнивать с пороговым значением. На основе вычисленной задержки и знания длины трубопровода вычисляется место утечки. Все полученные и рассчитанные данные должны заноситься в архив с сигнализацией об утечке и указанием на схеме места утечки.
Алгоритм работы с УСО для одного участка трубопровода
Алгоритм работы с УСО
1) Установить связь с обоими УСО. Для каждого УСО считать состояние работы.
Состояние работы для обоих УСО должно быть выключено. Если это не так, то дать команду остановки работы для соответствующего УСО (см. алгоритм подачи команды).
2) Для каждого УСО считать ячейку состояния ошибки. Дальнейшая работа может производиться только при отсутствии ошибок в обоих УСО (см. алгоритм обработки ошибок УСО).
3) Установить грубое время для обоих УСО (см. алгоритм установки грубого
времени УСО).
4) Синхронизировать УСО между собой (см. алгоритм синхронизации УСО).
5) Для каждого УСО считать и запомнить:
- серийный номер (для ведения журналов работы и выдачи сообщений об
ошибочных ситуациях);
- идентификаторы для 1-го и 2-го журнала и по ним определить какой журнал
находится на карточке ("быстрый" журнал), а какой на внутренней флешь ("медленный" журнал);
- размер страниц для обоих журналов;
- общее количество страниц для обоих журналов;
- регистр частоты внутреннего таймера (для УСО-01 должен быть равен 1024);
- период измерений;
- шаг прореживания.
6) Для каждого УСО считать и проанализировать регистр режима работы. В УСО должен быть установлен 1-ый режим работы (с расчётом и анализом скорости). Если установлен другой режим, то произвести соответствующие изменения (см. алгоритм изменения уставок).
7) Для каждого УСО считать и запомнить номер текущей страницы и текущее смещение на странице для "медленного" журнала. Вычислить и запомнить текущий адрес "медленного" журнала (по текущему адресу будет произведена первая запись после включении контроллера в работу) по формуле:
текущий адрес журнала = номер текущей страницы * размер страницы + текущее смещение на странице
8) Произвести запуск в работу обоих УСО (см. алгоритм подачи команды).
9) Периодически, например, раз в 1 или 2 секунды, выполнять процедуру опроса состояния работы УСО (см. алгоритм опроса состояния работы).
10) Периодически, например, раз в 1 или 2 часа проводить синхронизацию УСО
между собой (см. алгоритм синхронизации УСО).
Алгоритм подачи команды УСО
1) Записать 1 в логическую ячейку УСО, соответствующую команде.
2) Ожидать в течении заданного времени (таймаут выполнения команды) сброс этой ячейки в 0.
3) Если ячейка сбросилась в 0, то команда выполнена, если нет, то произошла ошибка (см. алгоритм обработки ошибок УСО).
Алгоритм обработки ошибок УСО
1) Дать команду перезагрузки УСО (см. алгоритм подачи команды).
2) Считать ячейку состояния ошибки УСО.
3) Если состояние ошибки сбросилось, то выполнить перезапуск процедуры работы с УСО (см. алгоритм работы с УСО).
4) Если состояние ошибки не сбросилось, то считать регистр ошибки УСО, получить по нему словесное описание ошибки, сигнализировать о неполадке с указанием УСО и ошибки.
5) Остановить работу для данного участка УСО с ожиданием последующего
вмешательства оператора.
Алгоритм установки грубого времени УСО
1) Определить текущее время по часам компьютера.
2) Записать его в буфер для установки системных часов УСО.
3) Выполнить команду установки часов УСО (см. алгоритм подачи команды).
Алгоритм синхронизации УСО
На данном этапе будет использоваться упрощённая процедура синхронизации УСО.
1) Считать системное время (с точность до миллисекунды) для 1-го УСО (t1).
2) Считать системное время (с точность до миллисекунды) для 2-го УСО (t2).
3) Вычислить разницу dt=t2-t1(в миллисекундах).
4) Если эта разница больше допустимого значения (уставка программы, по
умолчанию 0), то записать в регистр смещения часов 1-го контроллера вычисленную разницу и выполнить команду подстройки часов (см. алгоритм подачи команды).
Алгоритм изменения уставок УСО
1) Производить изменения уставок можно только при выключенном состоянии работы УСО
2) Произвести изменения одной или нескольких уставок (записать значение в соответствующие регистры)
3) Выполнить команду сохранения памяти уставок (см. алгоритм подачи команды)
Алгоритм опроса состояния работы УСО
1) Считать ячейку состояния работы каждого УСО.
2) Если работа одного из УСО остановлена, то требуется выполнить перезапуск
процедуры работы с УСО (см. алгоритм работы с УСО). Данная ситуация возможна если во время работы произошла ошибка, был сбой по питанию УСО или в УСО из-за внутренней ошибки произошло срабатывание сторожевого таймера.
3) Для каждого УСО считать номер текущей страницы и текущее смещение для
"медленного" журнала и вычислить текущий адрес.
4) Для каждого УСО вычислить количество новых записей добавленных в
"медленный" журнал с момента последнего вызова процедуры по следующей формуле:
Если текущий адрес >= последнего запомненного адреса то:
количество новых записей = (текущий адрес - последний запомненный адрес) / 8
иначе:
количество новых записей = (общее количество страниц в журнале * размер страницы журнала в байтах - последний запомненный адрес) / 8 + текущий адрес / 8
5) Если количество новых записей больше нуля, то произвести чтение этих записей из журнала (начиная с последнего запомненного номера страницы и смещения) для соответствующего УСО (см. алгоритм чтения записей журнала).
6) Запомнить новые значения адреса, номера страницы и смещения.
7) Произвести анализ считанных записей "медленного" журнала для каждого УСО (см. алгоритм анализа "медленного" журнала).
Алгоритм чтения записей журнала
Входными параметрами алгоритма являются номер страницы и смещение, с которого нужно начать чтение, и количество читаемых записей. Выходным параметром является считанный массив записей журнала.
1) Считать из журнала, начиная с указанного номер страницы и смещения, требуемое количество байт (см. алгоритм чтения одной страницы журнала).
Примечание: если данные читаются из текущей страницы, то выполнять каждый раз команду чтения журнала не требуется.
2) Последовательно пройти по полученному массиву, извлекая 8-байтные записи и преобразовывая их в удобную для дальнейшей работы форму в соответствии с приведёнными типами записей и их структурой. Все нераспознанные записи запоминать как исходную последовательность из 8 байт и помещать в отладочный журнал программы.
Алгоритм чтения одной страницы журнала
1) В регистр идентификатора журнала для чтения необходимо записать
идентификатор журнала, к которому хотим обратиться.
2) В регистр номера страницы журнала для чтения необходимо записывать
требуемое значение.
3) Выполнить команду чтения журнала.
4) Считать данные из регистров буфера страницы.
Алгоритм анализа "медленного" журнала
1) Первой записью в "медленном" журнале после включения УСО в работу будет метка начала работы. В данной процедуре нас эта запись не интересуют, поэтому её необходимо пропустить (или записать в отладочный журнал программы).
2) Далее в журнале идут записи со значениями "медленного" давления. Перед первой такой записью после запуска контроллера в работу в журнал пишется метка времени, указывающая время измерения первой точки давления. Метка времени также пишется для каждой первой точки на каждой странице журнала (первая запись на странице). Так же метка времени может встреться и в другой части страницы журнала (редко).
Необходимо последовательно извлечь значения "медленного" давления и метки
времени и на основе этих данных получить значения давления с привязкой ко времени измерения. Если точка давления идёт без метки времени, то время её измерения вычисляется исходя из последней метки времени, количества предшествующих точек до неё, периода измерений и шага прореживания. Эти значения давления необходимо занести в архив (файл или база данных в формате удобной программе) и вывести на график.
3) При появлении ударной волны на трубопроводе, УСО фиксирует время прихода ударной волны и время ухода ударной волны от места установки датчика и делает соответствующие записи в "медленный" журнал работы: метка начала ударной волны и метка окончания ударной волны. При обнаружении в "медленном" журнале работы одного из контроллеров этих записей необходимо выполнить обработку согласно алгоритма работы при обнаружении в "медленном" журнале метки ударной волны (см. далее).
Алгоритм работы при обнаружении в "медленном" журнале одного из УСО
метки ударной волны При возникновении утечки на контролируемом участке трубопровода, в месте её возникновения возникает ударная волна, которая распространяется в обе стороны и достигает обоих датчиков по обоим концам контролируемого участка трубопровода.
Момент прихода ударной волны к месту установки датчиков и момент ухода ударной волны фиксируется двумя УСО на обоих концах трубопровода путём анализа скорости изменения давления. Эти моменты времени поступают в программу от УСО как время t1, t2- время прихода волны и время её ухода, для датчика, к которому эта волна пришла первой и как время t3, t4 - время прихода волны и время её ухода, для датчика, к которому эта волна пришла с задержкой. Задержка времени между приходом ударной волны к датчикам зависит от места возникновения утечки. Эта задержка равна нулю, если утечка возникла в середине контролируемого участка и максимальна ( dtmax), если утечка возникла на его конец или вне контролируемой зоны трубопровода. Длительность отрезков времени [t1,t2] и [t3,t4] зависит от характера ударной волны, а так же от настроек УСО.
Задержка между временем t1 и t3 даёт только оценочное значение задержки между временем прихода ударных волн к датчикам. Точное определение этой задержки (dt) осуществляется с помощью специального алгоритма, основанного на методе корреляционного анализа. Принцип этого алгоритма заключается в том, что участок данных, содержащий фронт ударной волны, для датчика, к которому эта волна пришла первой, сопоставляется с данными второго датчика. Во время этого сопоставления "ищется" фронт ударной волны такой же формы. Интервал поиска определяется максимально возможной задержкой dtmax, причём поиск необходимо осуществлять в обе стороны от начала этого участка. Необходимость поиска в данных, предшествующих начало этого участка объясняется тем, что ударная волна могла быть зафиксирована на границе чувствительности УСО, а второе УСО при этом эту волну могло просто пропустить.
Определение участка данных [ta1, ta2], фронт ударной волны, для
датчика, к которому эта волна пришла первой, необходимо выполнить следующим образом:
ta1 = t1 - Nv*T,
ta2 = t1 + 3*Nv*T,
где t1 - время прихода волны для датчика, к которому эта волна пришла первой; Nv -значение порядка фильтра расчёта скорости, установленное для соответствующего УСО;
T- период измерений.
Определение участка данных [ta3, ta4] для второго датчика, по которому
необходимо провести сопоставление, осуществляется следующим образом:
ta3 = ta1 - dtmax*K,
ta4 = ta2 + dtmax*K,
где dtmax - максимально возможная задержка, значение которой зависит от длинны трубопровода и скорости распространения ударных волн в нём, эта задержка должна определяться экспериментально и корректироваться при изменении перекачиваемого продукта; K - коэффициент, который должен быть немного больше 1 (например K=1,2).
Приступать к считыванию массивов давления из "быстрого" журнала обоих УСО (см. алгоритм чтения массивов давления из "быстрого" журнала) и переходу к расчёту задержки и места утечки можно по прошествии времени ta4. При проведении такого расчёта (см. алгоритм расчёта задержки и поиска места утечки) потребуется данные "быстрого" журнала за интервал [ta1,ta2] для УСО, к которому ударная волна пришла первой и данные "быстрого" журнала за интервал [ta3, ta4] второго УСО. При этом нужно учесть, что если в системе предусмотрен "ручной" режим контроля графиков ударных волн, возникших во время утечки, то для более удобной работы пользователя желательно для первого УСО также считывать данные "быстрого" журнала за интервал [ta3, ta4], а в расчёт передавать данные только за интервал [ta1, ta2].
Ударная волна может привести к появлению колебательных процессов в трубопроводе из-за возникновения отражённых волн от гидравлических сопротивлений (задвижки, отводы и т.п.), находящихся как на самом контролируемом участке, так и за его пределами. Для предотвращения ложных срабатываний системы, вызванных этими колебательным явлением, необходимо дождаться окончания этого колебательного процесса (момент времени ta5), в течение которого приостановить анализ утечек.
Момент времени ta5можно определить следующим образом:
1) в начале в качестве времени ta5 примем максимальное из следующих значений:
ta4, t2+dtmax*K и t4+dtmax*K. Где t2 - время ухода волны для УСО, к которому эта волна пришла первой, t4 - время ухода волны для второго УСО (причём значение t4 + dtmax * K участвует только в том случае, если за период времени [ta3, ta4] на втором УСО также была зафиксирована ударная волна, что может не произойти в случае если в первом УСО волна была зафиксирована на пределе его чувствительности, которая определяется выставленными пороговыми значениями);
2) если за период времени [ta1, ta5] на одном из УСО вновь будет зафиксирована ударная волна, нужно дождаться появления метки об её окончании (t5) и вновь скорректировать время ta5, как максимальное из старого значения ta5 и значения t5+dtmax*K. Данную процедуру нужно повторять до прекращения появления ударных волн на обоих УСО.
Алгоритм чтения массива давления из "быстрого" журнала
Входными параметрами алгоритма является время начала интересующего отрезка времени (t1) и количество читаемых точек (N). Выходным параметром является массив давления с указанием времени измерения первой точки (t0).
1) Читаем номер текущей страницы "быстрого" журнала.
2) Выполняем команду на чтение "быстрого" журнала для текущей страницы.
3) Считываем первые 8 байт (4 регистра) из буфера страницы. По этому адресу в журнале будет идти запись с меткой времени следующей точки давления. Определяем это время (ti).
4) По разнице ti - t1 определяем смещение в единицах времени для перехода ко
времени t1. Эту разницу делим на дискретность измерений (T) получаем смещение в точках. Полученное значение делим на количество точек давления, умещающихся на одной странице журнала (С = размер страницы в байтах / 8 - 1) и округляем его в большую сторону. Получаем смещение в страницах журнала.
5) На основании полученного смещения получаем номер интересующей нас страницы.
6) Выполняем команду на чтение "быстрого" журнала для полученной страницы.
7) Выполняем пункт 3 и получаем новое значение времени ti.
8) Повторяя пункты 4-7 нужное количество раз добиваемся, чтобы время t1 попало на отрезок времени [ti, ti + С*T].
9) Определяем индекс ближайшей точки на странице ко времени t1как Ni=(t1-ti)/T.
t0 будет равным ti+Ni*T
10) Последовательно считываем из журнала Nточек, начиная с Ni
Алгоритм определения задержки и поиска места утечки
Входными параметрами являются два массива давления с одинаковой
дискретностью (T), но разной длинной (второй массив больше первого) и значение смещения времени первой точки для первого массива от времени первой точки для второго массива, в нашем случае это смещение будет равным dtmax*K, где dtmax - максимально возможная задержка; K - коэффициент, который должен быть немного больше 1 (например, K=1,2). Первый массив давлений должен быть получен с УСО, на котором ударная волна была зафиксирована первой.
1) Строим специальную функцию коэффициентов корреляции для этих двух массивов по алгоритму приведённому в приложении 4. Пусть х - это первый массив, y-второй массив. При построении этой функции из массива y последовательно, начина с первой точки, выбирается "окно значений" y', такого же размера как массив х. Далее для полученного массива y'и входного массива x рассчитывается коэффициент корреляции.
Далее это "окно" сдвигается одну точку и вновь рассчитывается коэффициент
корреляции, и так до конца массива y.
2) Находим максимум этой этой функции.
3) Сравниваем полученный максимум с пороговым значением (подбирается во время испытаний, можно начать со значения 0,5).
4) Если полученный максимум меньше порогового значения, то срабатывание было ложным. 5) Если полученный максимум больше порогового значения, утечка имела место быть, переходим к расчёту её места.
6) Определим смещение dni, при котором построенная функция корреляционных коэффициентов была максимальна.
7) Рассчитаем задержку по следующей формуле: dt= dni*T- dtmax*K.
Если полученная задержка окажется отрицательной, то это значит, что ударная волна пришла первой всё-таки до второго УСО и на нём она не была зафиксирована.
8) Рассчитаем место возникновение утечки:
dl = (L - dt*V)/2
где dl - расстояние от датчика, для которого ударная волна была зафиксированапервой, до места возникновения утечки, L - длинна контролируемого участка (расстояние от места установки одного датчика до места установки другого датчика), V - скорость распространения ударных волн на контролируемом участке трубопровода, должна определяться экспериментально и корректироваться при изменении перекачиваемого продукта.
4. Определение темы дипломной работы
В качестве темы дипломной работы была выбрана система обнаружения утечек газа, основанная на системе, разработанной предприятием, и решением задачи выбора аппаратной платформы для нее и разработкой программного обеспечения.
5. Заключение
В ходе производственной практики были приобретены знания о методах обнаружения утечек в газопроводе.
Получены практические навыки в тестировании аппаратуры перед сдачей ее заказчику.
В целом, цели и задачи, заявленные на производственную практику, были достигнуты и выполнены:
* знакомство с предприятием состоялось;
* ознакомление с технологией создания моделей для контроля утечек в трубопроводе;
* получен опыт работы в отделе, реально занимающимся разработкой и внедрением программных комплексов в информационную структуру предприятия;
* наработаны материалы для дипломной работы.
Документ
Категория
Рефераты
Просмотров
526
Размер файла
93 Кб
Теги
практике, отчет
1/--страниц
Пожаловаться на содержимое документа