Разработанная система автоматизированного управления мобильной
газораспределительной станцией в части обеспечения точности измеряемых
технологических параметров производственного процесса соответствует требованиям
нормативно-технической документации.
.
РАСЧЕТ БЫСТРОДЕЙСТВИЯ СИСТЕМЫ АВТОМАТИЗИРОВАННОГО УПРАВЛЕНИЯ
Одной из качественных характеристик системы автоматизированного управления является ее быстродействие. Критерии быстродействия САУ основаны на оценке того, насколько быстро САУ реагирует на появление управляющих и возмущающих воздействий, то есть время от возникновения внешнего воздействия до реакции (отклика) САУ.
Время отклика САУ мобильной ГРС складывается из:
- времени отклика первичных датчиков;
- времени преобразования сигналов датчиков в цифровой код и передачи его в центральный процессорный модуль;
- времени обработки цифрового кода и выдачи управляющего сигнала
В соответствии с требованиями [7] программно-технические средства САУ ГРС должны обеспечивать следующие временные характеристики выполнения функций:
. Доставка информационного сообщения:
- сбор полного объема технологической информации - 0,5 сек;
- скорость реакции системы (выдача команд управления по защите) - 0,25 сек;
. Доставка команды управления на регулирующие устройства и исполнительные механизмы - 0,5 сек.
- время отклика датчика давления:
Т1 = Тп + Тз (1)
где Т1 - время установления аналогового выходного сигнала датчика давления Метран-150, мс;
Тп - постоянная переходного процесса датчика давления Метран-150
(Тп = 100 мс);
Тз - время задержки (Тз = 45 мс)
Т1 = 100 + 45 = 145 мс
- время обработки аналогового сигнала модулем ввода аналоговых
сигналов AI-12:
Т2 = Тк + Тпр + Тф (2)
где Т2 - время обработки аналогового сигнала модулем ввода аналоговых сигналов AI-12, мс;
Тк - время коммутации канала, (50мкс);
Тпр - время преобразования, (10 мкс);
Тф - постоянная времени аппаратного фильтра (40 мс)
Т2 = 0,05 + 0,01 + 40 = 40,06 мс
- время работы модуля повторителя интерфейса RS-485 CI-17B по передаче цифрового кода в центральный процессорный модуль CPU-17B (Т3 = 16 мс);
- время работы центрального процессорного модуля CPU-17B по обработке цифрового кода и выдаче сигналов управления
запорной арматурой (Т4 = 16 мс)
Т = Т1 + Т2 + Т3 + Т4 (3)
где Т - время отклика САУ мобильной ГРС, мс;
Т = 145 + 40,06 + 16 + 16 = 217,06 мс
Время отклика САУ мобильной ГРС составляет 0,217 сек, что удовлетворяет требованиям [7].
Разработанная система автоматизированного управления мобильной
газораспределительной станцией в части быстродействия соответствует требованиям
нормативно-технической документации.
ЗАКЛЮЧЕНИЕ
Применение мобильных газораспределительных станций при капитальных ремонтах и реконструкциях стационарных ГРС без оснащения их системами автоматизированного управления ведет к снижению уровня безопасности технологического процесса транспорта газа и требует постоянного присутствия оперативного персонала.
В данной работе выполнена разработка системы автоматизированного управления мобильной газораспределительной станцией. Модернизация существующих мобильных ГРС внедрением в их состав системы автоматизированного управления позволит повысить уровень и качество управления технологическим оборудованием, а также степень безопасности транспорта и распределения природного газа в целом.
Применение комплектующих САУ мобильной ГРС только отечественного производства позволит повысить удобство и качество технического обслуживания оборудования, снизить затраты на обслуживание и ремонт, снизить себестоимость системы управления. Рассчитанная наработка на отказ комплектующих и системы управления в целом свидетельствует об уровне надежности САУ мобильной ГРС, соответствующему отраслевым техническим требованиям.
Применение комплектующих российского производства в системе
автоматизированного управления мобильной газораспределительной станцией
полностью согласуется с текущей рыночной конъюнктурой, Политикой ПАО «Газпром»
в области поддержки развития и освоения производства импортозамещающей
продукции отечественными предприятиями-изготовителями и общим трендом развития
импортозамещения в стране в условиях неблагоприятного внешнеполитического
фактора.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. О Правительственной комиссии по импортозамещению: постановление Правительства РФ от 04.08.2015 №785// Российская газета. - 2015. - 6 августа. - С.21.
. ГОСТ 27.002-2015 Надежность в технике. Термины и определения. - Введ. 01.01.2017. - Москва: Стандартинформ, 2016. - 24 с.
. ГОСТ 19.701-90 ЕСПД. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения. - Введ. 01.01.1992. - Москва: Стандартинформ, 1992. - 22 с.
. ГОСТ Р 51330.10-99 Электрооборудование взрывозащищенное. Часть 11. Искробезопасная электрическая цепь. - Введ. 01.01.2001. - Москва: Стандартинформ, 2001. - 120 с.
. ВРД 39-1.10-069-2002 Положение по технической эксплуатации газораспределительных станций магистральных газопроводов: утв. Членом Правления ОАО «Газпром» Б.В. Будзуляком 15.10.2002. - Введ. Распоряжением ОАО «Газпром» №24 от 26.03.2003. - Москва: ООО «ИРЦ Газпром», 2003. - 95 с.
. Р Газпром: Временные технические требования к газораспределительным станциям (ГРС): утв. Членом Правления ОАО «Газпром» Б.В. Будзуляком 21.06.2008. - Москва: ДОАО «Оргэнергогаз», 2008. - 38 с.
. Основные положения по автоматизации газораспределительных станций: утв. Членом Правления ОАО «Газпром» Б.В. Будзуляком 15.10.2002. - Введ. Распоряжением ОАО «Газпром» №24 от 17.12.2001. - Москва: ОАО «Газавтоматика», 2001. - 52 с.
. Бессонов А.А. Надежность систем автоматического регулирования / А.А. Бессонов, А.В. Мороз - Ленинград: Энергоатом издат., Ленинградское отделение, 1984. - 216 с.
. Данилов А.А. Газораспределительные станции / А.А. Данилов, А.И. Петров - Санкт-Петербург: Недра, 1999. - 240с.
. Рыжкин А.А. Основы теории надёжности: учеб. пособие / А.А. Рыжкин, Б.Н. Слюсарь, К.Г. Шучев - Ростов-на-Дону: Издательский центр ДГТУ, 2002. - 182 с.
. Шкляр В.Н. Надежность систем управления: учеб. пособие / В.Н. Шкляр. - Томск: Томский политехнический университет, 2009. - 126 с.
12. Интегрированная система разработки прикладного программного обеспечения CONT-Designer for Windows. Версия 2.хх. Руководство программиста [Электронный ресурс] // ЭМИКОН: сайт. - Режим доступа: <http://www.emicon.ru/FrontTopic/id1578>.
. Политика ПАО «Газпром» в области поддержки развития и освоения производства импортозамещающей продукции отечественными предприятиями-изготовителями [Электронный ресурс]: офиц. сайт. - Режим доступа: <http://importozamechenie.ru>.
. Система автоматизированного управления газораспределительной станцией на базе программно-техниченского комплекса Каскад-САУ [Электронный ресурс]: офиц. сайт. - Режим доступа: <http://www.tersy.ru>;
. Система автоматизированного управления газораспределительной станцией (САУ ГРС) на базе комплекса программно-технического «Неман-Р» [Электронный ресурс]: офиц. сайт. - Режим доступа: <http://www.kgpa.ru>;
. Система автоматизированного управления ГРС на базе СТН-3000 [Электронный ресурс]: офиц. сайт. - Режим доступа: <http://www.atgs.ru>;
17. Cистема автоматического управления газораспределительной станцией ЭЛТА-САУ [Электронный ресурс]: офиц. сайт. - Режим доступа: <http://elcomplus.ru>.
. Система автоматического управления ГРС - "Сириус - ГРС" [Электронный ресурс]: офиц. сайт. - Режим доступа: <http://www.rlt.ru>;
. Системы телемеханики и САУ ГРС на базе комплекса программных и технических средств «Магистраль-2» [Электронный ресурс]: офиц. сайт. - Режим доступа: <http://www.gpa.ru>.
20. Шкаф контроля и
управления газораспределительной станцией ШКУ ГРС [Электронный ресурс]: офиц. сайт. - Режим доступа:
<http://www.gazprommash.ru>.
ПРИЛОЖЕНИЕ 1
(обязательное)
Листинг основной управляющей программы и подпрограмм обслуживания периферийного оборудования системы автоматизированного управления мобильной газораспределительной станцией.
БИБЛИОТЕКА (Lib\MATH.LIB);
БИБЛИОТЕКА (LIB\SYSTEM.LIB);
"ФУНКЦИЯ (REGSET), входные параметры
" ( NUM_DO, 0, 10000 );
"Инициализирующая часть программы:
ФУНКЦИЯ (INIT_FTR),
входные параметры (BUFFER_SIZE),
выходные параметры (МАС_Р_ВХ[0], МАС_Р_ВХ[1]);
ФУНКЦИЯ (INIT_FTR),
входные параметры (BUFFER_SIZE),
выходные параметры (МАС_Р_ВЫХ[0], МАС_Р_ВЫХ[1]);
ФУНКЦИЯ (INIT_FTR),
входные параметры (BUFFER_SIZE),
выходные параметры (МАС_Р_РЕД1[0], МАС_Р_РЕД1[1]);
ФУНКЦИЯ (INIT_FTR),
входные параметры (BUFFER_SIZE),
выходные параметры (МАС_Р_РЕД2[0], МАС_Р_РЕД2[1]);
ФУНКЦИЯ (INIT_FTR),
входные параметры (BUFFER_SIZE),
выходные параметры (МАС_Т_ВХ[0], МАС_Т_ВХ[1]);
ФУНКЦИЯ (INIT_FTR),
входные параметры (BUFFER_SIZE),
выходные параметры (МАС_Т_ВЫХ[0], МАС_Т_ВЫХ[1]);
"При перезагрузке обнуляем состояние кранов, что бы исключить срабатывание функции
"возврата крана, для случая если перед включением САУ оператор перевёл кран в другое положение
КРАН_ВХ[0] = 0;
КРАН_ВЫХ[0] = 0;
КРАН_НА_СВЕЧУ[0] = 0;
КРАН_РЕД1[0] = 0;
КРАН_РЕД2[0] = 0;
"Заносим ASCII символы в массив STRING_ASCII для отображения на Uniop строки OFF
STRING_ASCII[0] = 4F20H;"пробел О_ASCII[1] = 4646H;" F F_ASCII[2] = 2020H;"пробел пробел=0;= 0;_GRS = 0;_GRS = 0;= 0;= 0;
"Инициализируем индексные регистры= 0; J = 0; Y = 0; Z = 0; K = 0; D = 0; G = 0; H = 0; Q = 0; N = 0; V = 0;_HEATER = 0; "счётчик неответов
ЗАГРУЗИТЬ таймер (TIMER_VALVE_IN) уставкой (TIME_VALVE), режим (0);
ЗАГРУЗИТЬ таймер (TIMER_VALVE_OUT) уставкой (TIME_VALVE), режим (0);
ЗАГРУЗИТЬ таймер (TIMER_VALVE_NA_SVECHU) уставкой (TIME_VALVE), режим (0);
ЗАГРУЗИТЬ таймер (TIMER_VALVE_RED1) уставкой (TIME_VALVE), режим (0);
ЗАГРУЗИТЬ таймер (TIMER_VALVE_RED2) уставкой (TIME_VALVE), режим (0);
ЗАГРУЗИТЬ таймер (TIMER_SIGNAL_POJAR) уставкой (TIMER_POJAR), режим (0);
ЗАГРУЗИТЬ таймер (TIMER_KRAN_AVARIYA) уставкой (KRAN_AVARIYA), режим (0);
ЗАГРУЗИТЬ таймер (TIMER_SIGNAL_ZAGAZ) уставкой (TIMER_ZAGAZOV), режим (0);
ЗАГРУЗИТЬ таймер (TIMER_PVH_MIN) уставкой (TIME_PVH_MIN), режим (0);
ЗАГРУЗИТЬ таймер (TIMER_PVIH_MAX) уставкой (TIME_PVIH_MAX), режим (0);
ЗАГРУЗИТЬ таймер (TIMER_PVIH_MIN) уставкой (TIME_PVIH_MIN), режим (0);
ЗАГРУЗИТЬ таймер (TIMER_CTM1) уставкой (STM_TIME), режим (0);
ЗАГРУЗИТЬ таймер (TIMER_CTM2) уставкой (STM_TIME), режим (0);
ЗАГРУЗИТЬ таймер (TIMER_POLL_HEATER) уставкой (DELAY_HEATER), режим (0);
СТАРТ таймер (TIMER_POLL_HEATER);
ЗАГРУЗИТЬ таймер (TIMER_DELAY_READING) уставкой (DELAY_READING), режим (0);
СТАРТ таймер (TIMER_DELAY_READING);
ЗАГРУЗИТЬ таймер (TIMER_GSM) уставкой (DELAY_GSM), режим (0);
[НАЧАЛО_РАБОЧЕГО_ЦИКЛА]
ДЕБЛОКИРОВАТЬ;
"Проверяем таймер задержки обработки значений считанных с модулей при начальном включении САУ
ЕСЛИ ( @TIMER_DELAY_READING == 0 ), то {
ВЫЗВАТЬ процедуру (FILTER_SCALE);
ВЫЗВАТЬ процедуру (VALVE);
ВЫЗВАТЬ процедуру (PASSWORD);
ВЫЗВАТЬ процедура (LEVEL);
ВЫЗВАТЬ процедура (FAULT);
ВЫЗВАТЬ процедура (EVENTS);
ВЫЗВАТЬ процедуру (SMS);
ВЫЗВАТЬ процедуру (FLOW_CONTROL);
}
ИДТИ (НАЧАЛО_РАБОЧЕГО_ЦИКЛА);
БИБЛИОТЕКА (Lib\MATH.LIB);
"ОБРАБОТКА АНАЛОГОВЫХ СИГНАЛОВ
ПРОЦЕДУРА (FILTER_SCALE)
{
"============Р_ВХ_давление_на_входе_мобильной_ГРС========
"Проверяем связь с модулем AI-12, если связь отсутсвует пропускаем опрос каналов
ЕСЛИ ( DCS_STATE[0] & 2 ), то {
СООБЩЕНИЯ[0] = СООБЩЕНИЯ[0] & 8080H; "сбрасываем все неисправности, оставляем признак отключения
СООБЩЕНИЯ[1] = СООБЩЕНИЯ[1] & FF80H; "сбрасываем все неисправности, оставляем признак отключения
ИДТИ на метку (Р_РЕД1);
}
"ОБРАБАТЫВАЕМ ПАРАМЕТР <ДАВЛЕНИЕ ВХОДА>
"Проверяем включение параметра
ЕСЛИ ( (МАС_Р_ВХ[19] & 100H) != 0 ), то {
СООБЩЕНИЯ[0] = СООБЩЕНИЯ[0] | 80H; "выставляем признак отключения
СООБЩЕНИЯ[0] = СООБЩЕНИЯ[0] & FF80H; "сбрасываем все неисправности, оставляем признак отключения
ИДТИ на метку (Р_ВЫХ);
}
ИНАЧЕ {
СООБЩЕНИЯ[0] = СООБЩЕНИЯ[0] & FF7FH;"снимаем признак отключения параметра
}
"========НАЧАЛО БЛОКА==========
"Фильтрация считанного с АЦП кода
ФУНКЦИЯ (RUN_FTR),
входные параметры (МАС_Р_ВХ[0], MAS_AI[0]),
выходные параметры (МАС_Р_ВХ[2], ОШИБКА);
"========НАЧАЛО БЛОКА==========
"Проверяем обрыв или превышение верхнего предела
ЕСЛИ (МАС_Р_ВХ[2] <= 790), то {
МАС_Р_ВХ[19] = 100H;
"СООБЩЕНИЯ[0] = СООБЩЕНИЯ[0] | 1H; "выставляем обрыв
}
ИНАЧЕ {
ЕСЛИ (МАС_Р_ВХ[2] >= 802), то {
МАС_Р_ВХ[19] = 000H;
СООБЩЕНИЯ[0] = СООБЩЕНИЯ[0] & FFFEH; "сбрасываем обрыв
}
}
ЕСЛИ (МАС_Р_ВХ[2] >= 4094), то {
СООБЩЕНИЯ[0] = СООБЩЕНИЯ[0] | 20H; "выставляем превышение верхнего предела
}
ИНАЧЕ {
ЕСЛИ (МАС_Р_ВХ[2] <= 4092), то {
СООБЩЕНИЯ[0] = СООБЩЕНИЯ[0] & FFDFH; "сбрасываем превышение верхнего предела
}
}
"========НАЧАЛО БЛОКА==========
"Преобразование в формат плавающей точки и масштабирование
ВРЕМЕННЫЙ[0] = МАС_Р_ВХ[2];"код АЦП
ВРЕМЕННЫЙ[1] = МАС_Р_ВХ[5];"младшее слово НПИ
ВРЕМЕННЫЙ[2] = МАС_Р_ВХ[6];"старшее слово НПИ
ВРЕМЕННЫЙ[3] = МАС_Р_ВХ[7];"младшее слово ВПИ
ВРЕМЕННЫЙ[4] = МАС_Р_ВХ[8];"старшее слово ВПИ
ВЫЗВАТЬ процедуру (INTEGER_REAL_ZOOM_4_20);
МАС_Р_ВХ[3] = ВРЕМЕННЫЙ[5];
МАС_Р_ВХ[4] = ВРЕМЕННЫЙ[6];
"Если параметр в обрыве или превышает ВПИ переходим на следующий параметр
ЕСЛИ (СООБЩЕНИЯ[0] & 21H), то {
ИДТИ на метку (Р_ВЫХ);
}
"========НАЧАЛО БЛОКА==========
"Проверяем мин. ПС пересечение со вторым пороговым значением
ФУНКЦИЯ (FLTCMP)
входные параметры (МАС_Р_ВХ[3], МАС_Р_ВХ[4], МАС_Р_ВХ[9], МАС_Р_ВХ[10]),
выходные параметры ( ВРЕМЕННЫЙ[0] );
"выставляем ниже ПС
ЕСЛИ (ВРЕМЕННЫЙ[0] == -1), то {
СООБЩЕНИЯ[0] = СООБЩЕНИЯ[0] | 4H;
}
"Если параметр вышел из пересечения со вторым пороговым значением
"определяем пересечение с первым пороговым значением (полосу гистерезиса)
ИНАЧЕ {
ФУНКЦИЯ (ADDF)
входные параметры ( МАС_Р_ВХ[9], МАС_Р_ВХ[10], МАС_Р_ВХ[17], МАС_Р_ВХ[18] ),
выходные параметры ( ВРЕМЕННЫЙ[1], ВРЕМЕННЫЙ[2], ОШИБКА );
ФУНКЦИЯ (FLTCMP)
входные параметры ( МАС_Р_ВХ[3], МАС_Р_ВХ[4], ВРЕМЕННЫЙ[1], ВРЕМЕННЫЙ[2] ),
выходные параметры ( ВРЕМЕННЫЙ[0] );
"сбрасываем ниже ПС
ЕСЛИ (ВРЕМЕННЫЙ[0] == 1), то {
СООБЩЕНИЯ[0] = СООБЩЕНИЯ[0] & FFFBH;
}
"сбрасываем ниже ПС
ЕСЛИ (ВРЕМЕННЫЙ[0] == 0), то {
СООБЩЕНИЯ[0] = СООБЩЕНИЯ[0] & FFFBH;
}
}
"========НАЧАЛО БЛОКА==========
"Проверяем мин. АС пересечение со вторым пороговым значением
ФУНКЦИЯ (FLTCMP)
входные параметры (МАС_Р_ВХ[3], МАС_Р_ВХ[4], МАС_Р_ВХ[11], МАС_Р_ВХ[12]),
выходные параметры ( ВРЕМЕННЫЙ[0] );
"выставляем ниже АС
ЕСЛИ (ВРЕМЕННЫЙ[0] == -1), то {
СООБЩЕНИЯ[0] = СООБЩЕНИЯ[0] | 2H;
}
"Если параметр вышел из пересечения со вторым пороговым значением
"определяем пересечение с первым пороговым значением (полосу гистерезиса)
ИНАЧЕ {
ФУНКЦИЯ (ADDF)
входные параметры ( МАС_Р_ВХ[11], МАС_Р_ВХ[12], МАС_Р_ВХ[17], МАС_Р_ВХ[18] ),
выходные параметры ( ВРЕМЕННЫЙ[1], ВРЕМЕННЫЙ[2], ОШИБКА );
ФУНКЦИЯ (FLTCMP)
входные параметры ( МАС_Р_ВХ[3], МАС_Р_ВХ[4], ВРЕМЕННЫЙ[1], ВРЕМЕННЫЙ[2] ),
выходные параметры ( ВРЕМЕННЫЙ[0] );
"сбрасываем ниже АС
ЕСЛИ (ВРЕМЕННЫЙ[0] == 1), то {
СООБЩЕНИЯ[0] = СООБЩЕНИЯ[0] & FFFDH;
}
"сбрасываем ниже АС
ЕСЛИ (ВРЕМЕННЫЙ[0] == 0), то {
СООБЩЕНИЯ[0] = СООБЩЕНИЯ[0] & FFFDH;
}
}