ФБ, специфические для объектов «ГЗУ», «ГЗУ-Массомер»

ФБ №38 «ГЗУ (алгоритм Башнефть)» v.1

Требования к типам входов/переменных/выходов и их количеству:

Вх/ВыхИмяТипНазначение
ВходEnablebit (строго)Разрешает работу; подача «0» сбрасывает состояние ГЗУ
ВходHoldbit«1» — приостановка логики; счётчики, таймеры и состояние сохраняются
ВходРабота ГП разрешенаbit«0» — запрет включения гидропривода
ВходКод ПСМuintИспользуются 4 младших бита
ВходОтводы в замере (на рисунке; в тексте РЭ не описан)
ВходКол-во отводов ГЗУuintУставка для обнаружения неисправности ПСМ (неверный порядок переключения)
ВходВремя прямого хода, секuint (строго)Длительность этапа «прямой ход»
ВходВремя обратного хода, секuint (строго)Длительность этапа «обратный ход»
ВходВремя стабилизации, секuint (строго)Длительность этапа «стабилизация»
ВходХолостых переводов отводаuintМаксимум «холостых» переводов
ВходИнтервал АПВ, минuintПериод снятия флага «Стоп» и перезапуска в циклическом замере
ВходКоличество АПВuintПопыток АПВ до флага «Полный стоп»
ВходКонец счётаbitМомент окончания счёта по отводу / начала перевода отвода
ВходКМД «Руч. перевод отвода»bitЭквивалент соответствующей команды Ротора
ВходКМД «Сброс СТОПа»bitЭквивалент соответствующей команды Ротора
ВходКМД «Ручной замер»bitПереводит ГЗУ в режим ручного замера
Вход№ отвода для ручного замераuintНомер отвода для ручного замера
ВыходГП ВКЛ.bit«1» в начале прямого хода ГП (импульс = периоду исполнения цепочки ФБ)
ВыходГП ОТКЛ.bit«1» в конце прямого хода ГП
ВыходИдёт счётbit«1» во время замера (флаг Zamer)
ВыходКонец счётаbit«1» в конце замера, в т.ч. при досрочном завершении
Выход№ отводаuintТекущий отвод в замере
ВыходСостояние ГЗУuint16До 16 флагов состояния (см. таблицу ниже)
ВыходТаймер тек. стадииuintЗначение таймера текущей стадии, сек
ВыходУст. таймера тек. стадииuintУставка таймера текущей стадии, сек

ФБ №66 «ГЗУ (алгоритм Башнефть)» v.2

ФБ версии v2 отличается от v1 способом переключения в режим ручного замера. В v2 отсутствует вход «КМД «Ручной замер», вместо него добавлен выход «Отвод ручного замера». Для переключения ГЗУ в режим ручного замера достаточно на вход «Отвод ручного замера» подать номер отвода для ручного замера. Для переключения ГЗУ в циклический режим можно подать на этот вход «0».


ФБ №72 «Счётчик-Массомер»

Вх/ВыхИмяТипНазначение
ВходEnablebit (строго)Разрешает счёт; «0» сбрасывает накопленные счётчики
ВходHoldbit (строго)«1» — приостановка счёта без обнуления
ВходResetbit (строго)«1» — обнуление накопленных счётчиков
ВходСекунд с начала замераuint32
ВходЕсть массомер жидкостиbitПризнак наличия массомера жидкости
ВходЕсть массомер газаbitПризнак наличия массомера газа
ВходЕсть влагомер жидкостиbitПризнак наличия влагомера жидкости
ВходСчётчик суммарной массы жидкости, кгfloat32Данные массомера жидкости
ВходПлотность жидкости, г/см³float32Данные массомера жидкости
ВходМассовый расход жидкости, кг/минfloat32Данные массомера жидкости
ВходТемпература жидкостиfloat32Данные массомера жидкости
ВходСчётчик суммарной массы газа, кгfloat32Данные массомера газа
ВходПлотность газа, г/см³float32Данные массомера газа
ВходМассовый расход газа, кг/минfloat32Данные массомера газа
ВходТемпература газаfloat32Данные массомера газа
ВходТекущая влажность жидкости, %float32Данные влагомера жидкости
ВходДавление жидкости в коллекторе, МПа×1000uint16
ВходУст. плотности жидкости по скв., г/см³×10000uint16
ВходУст. плотности нефти по скв., г/см³×10000uint16
ВходУст. плотности воды по скв., г/см³×10000uint16
ВходУст. газового фактора по скв., м³/тuint16
ВходУст. поправочный коэф. по жидкости (Kp)×100uint8
ВходУст. поправочный коэф. по газу (Kg)×100uint8
ВходУставка массовой доли водыfloat32
ВыходТек. суммарная масса жидкости, кгfloat32
ВыходТек. суммарный объём жидкости, м³float32
ВыходТек. массовый дебит жидкости, г/сутfloat32
ВыходТек. объёмный дебит жидкости, м³/сутfloat32
ВыходТек. средняя плотность жидкости, г/см³float32
ВыходТек. средняя температура жидкостиfloat32
ВыходТек. суммарная масса газа, кгfloat32
ВыходТек. суммарный объём газа, м³float32
ВыходТек. массовый дебит газа, г/сутfloat32
ВыходТек. объёмный дебит газа, м³/сутfloat32
ВыходТек. плотность газа, г/см³float32
ВыходТек. средняя температура газаfloat32
ВыходСредняя массовая доля водыfloat32
ВыходСредняя объёмная доля водыfloat32
ВыходТек. массовый дебит воды, г/сутfloat32
ВыходТек. объёмный дебит воды, м³/сутfloat32
ВыходТек. массовый дебит нефти, г/сутfloat32
ВыходТек. объёмный дебит нефти, м³/сутfloat32
ВыходТек. газовый фактор по скв., м³/тfloat32
ВыходРежим работыuint8Набор флагов работы ФБ (пока не используется)

ФБ №64 «Вычислитель Knap»

ФБ Вычисляет Knap, по входному массиву динамограммы.

Вх/ВыхИмяТипНазначение
ВходStartbitКоманда начала расчёта; импульсный, держать до подтверждения не обязательно
ВходLenDNM InДлина динамограммы
ВходDNMмассивВходной массив динамограммы
ВыходStageСтадия выполнения, 0…22
ВыходKnapbitРассчитанный КНАП
ВыходKnapOK«1» на последней стадии, сброс в следующем цикле

Примечания:

ВНИМАНИЕ! В конфигурации можно использовать только один ФБ расчета КНАП в связи с использованием переменных статичных для функции обработки.


ФБ № 68 «Автомат управления приводом по КНАП» (автоматическое повторное включение)

ФБ реализует алгоритм управления частотой привода по коэффициенту наполнения (КНАП), включения (отключения) пускателя, контроля срабатывания срыва подачи и обработки аварии (с возможностью повторного включения).

В режиме «ВКЛ всегда» (значение Mode 4-5) Control установится в «1», частота Rate будет равна частоте «Начальная частота привода Start Rate» в режиме 4 или равна 500 в режиме 5.

В случае если произошел срыв подачи (средний КНАП меньше порогового KnapPorog) произойдет останов на время простоя, если на вход Защиты подана «1» произойдет останов на время АПВ(APV_Interval).

Параметры SPFreqMode и StopMode не действительны для данного режима, в случае останова по срыву подачи частота будет 0 и пускатель выключится.

Режим «Периодическая работа» (значение Mode 2-3), обусловлен параметрами PeriodicModeTime(время включенного состояния) и SPTime (время простоя). После перехо-да на этот режим произойдет включения СКВ на время PeriodicModeTime, таймер PeriodicModeTimer показывает сколько тактов осталось до простоя на время накопления SPTime, таймер SPTimer показывает сколько тактов осталось до включения СКВ.

Параметры SPFreqMode и StopMode, не действительны для данного режима, в случае останова по срыву подачи частота будет 0 и пускатель выключится.

Режим «Динамическое поддержание», поддерживает выходную частоту в зависимости от среднего значения КНАП на входе Knap, параметры KnapUst и KnapGist образует интервал [KnapUst- KnapGist ; KnapUst + KnapGist] стабильной работы, в случае если КНАП превысит KnapUst + KnapGist частота Rate увеличится на StepUp(шаг увеличения частоты), если будет меньше KnapUst KnapGist уменьшится на StepDown(шаг уменьшения частоты), при этом частота Rate не может выйти за интервал [RateMin;RateMax].

ВНИМАНИЕ!!! Вовсех режимах останов по срыву подачи или защите отключен на время пуска (Pusk_Time).

Краткий алгоритм работы ФБ

Вх/ВыхИмяТипНазначение
ВходEnablebit
ВходKnapТекущий КНАП
ВходKnapOKbitПризнак рассчитанного КНАП (от ФБ №64)
ВходKnapUstУставка КНАП (режим «Динамическое поддержание»)
ВходKnapPorogПороговый КНАП (срыв подачи)
ВходKnapGistorПолуширина интервала стабильной работы
ВходKnapCalc(в РЭ не описан)
ВходRateStartНачальная частота привода
ВходRateMin/RateMaxГраницы частоты
ВходStepUp/StepDownШаг увеличения/уменьшения частоты
ВходSPTimeВремя простоя
ВходSPRestartTime(в РЭ не описан)
ВходSPFreqModeРежим частоты при останове
ВходStopModeРежим останова
ВходAPVNumКоличество попыток АПВ
ВходAPVIntervalВремя между попытками АПВ (в тексте APV_Interval)
ВходProtectionbitЗащиты
ВходResetbit
ВыходKnapAverageСредний КНАП
ВыходControlbitУправление пускателем
ВыходRateВыходная частота
ВыходCntIgnorKnapСчётчик игнорирований КНАП
ВыходCntCalcKnapСчётчик расчётов КНАП
ВыходCntRestartSPСчётчик перезапусков при срыве подачи
ВыходSPTimerТаймер до включения СКВ
ВыходCntRestartAPVСчётчик перезапусков АПВ
ВыходAPVTimerТаймер АПВ
ВыходStateСостояние

ФБ №79 «Насос с АПВ»

Вх/ВыхИмяТипНазначение
ВходDist modebit1 — дистанционный, 0 — местный
ВходCmd ONbitКоманда включить (импульсный, желательно 1 такт)
ВходCmd OFFbitКоманда отключить (импульсный)
ВходActuatorbitСостояние пускателя (1 — замкнут)
ВходAlarmbitАвария
ВходBlockbitБлокировка
ВходResetAlarmbitСброс аварии (импульсный)
ВходImpulsONOFFTimeuint, секВремя действия выхода на пускатель НА
ВходActuatorTimeuint, секВремя ожидания желаемого состояния пускателя
ВходActuatorRestartuintКоличество попыток ожидания
ВходTimeNonStopuint, секВремя пуска НА
ВходAPV TryNumuintКоличество попыток АПВ
ВходAPV Intervaluint, секВремя между попытками АПВ
ВыходControl ON / Control OFFbitВыход на включение/выключение пускателя НА
ВыходstUpravbitПризнак восприятия управляющих команд
ВыходCntActTimeuint, секСчётчик времени ожидания состояния пускателя
ВыходCntActRestartuintСчётчик попыток ожидания
ВыходCntNonStopuint, секСчётчик времени пуска НА
ВыходAPV TrvCntuintСчётчик попыток АПВ
ВыходAPV Timeruint, секСчётчик времени между попытками АПВ
ВыходCntImpONOFFuint, секСчётчик времени управляющего воздействия
ВыходStateuint32Флаги состояния 0–18 (см. таблицу битов)
Состояние (биты)
Номер битаЗначение флага
0Dist. «1» если дистанционный режим
1Actuator. «1» если пускатель замкнут
2Block. «1» признак наличия блокировки
3Alarm. «1» признак наличия аварии
4APVon. «1» если НА настроен на АПВ
5flAlarm. «1» флаг наличия аварии, сбрасывается по входу Сброс аварии
6flBlock. «1» флаг наличия блокировки
7WaitActuator. «1» если режим обработки ОЖИДАНИЕ ПУСКАТЕЛЯ
8ExpectActuator. При режиме ОЖИДАНИЕ ПУСКАТЕЛЯ «1» если замкнут, «0» - разомкнут
9WaitBlock. «1» если ожидание игнорирования блокировки на время пуска
10WaitAPV. «1» если ожидание интервала между попытками АПВ
11APV_TryCnt_Null. «1» если кончились попытки АПВ
12Need_ON. «1» если необходимо включить
13Need_OFF. «1» если необходимо отключить
14ActuatorFail_OFF. «1» если не дождались пускателя при выключении
15ActuatorFail_ON. «1» если не дождались пускателя при включении
16ReinitAPV. «1» если ожидание инициализации АПВ после очередного автоматического запуска после аварии
17WaitImpONOFF. «1» если ожидание импульса включения или отключения
18WaitImpSTOP. «1» флаг принудительного импульса отключения после неудачного включения

ФБ №80 «Задвижка»

ФБ управляет открытием/закрытием задвижки.

Вх/ВыхИмяТипНазначение
ВходDistbit1 — дистанционный, 0 — местный
ВходCmdOpen/CmdClose/CmdStopbitОткрыть/закрыть/остановиться в текущем положении
ВходOpened/ClosedbitСигнал: открыта/закрыта
ВходAlarmedbitАвария муфты
ВходUonbitНаличие напряжения
ВходVPNВремя полного хода
ВыходOutOpen/OutClose/OutStopbitУправление открыть/закрыть/стоп
ВыходPositionПредполагаемая позиция
ВыходStopСостояние
ВыходTimerОбратный таймер времени хода задвижки

Блок-схема работы ФБ «Задвижка»


ФБ №82 «ПИД регулятор с задержкой выходного сигнала»

ФБ реализует аналоговое ПИД регулирование. ПИД регулятор формирует импульсы на открытие - закрытие, в зависимости от необходимого положения регулятора, его текущего положения, коэффициентов(kP,kL,kD) и режима работы.

Алгоритм работы ПИД регулятора:

Вх/ВыхИмяТипНазначение
ВходAutobitКоманда выбора управления (автомат/ручной)
ВходReverseUbitКоманда реверс
ВходCurParamfloatРегулируемый параметр
ВходSetParamfloatУставка регулирования
ВходCurPositionuint8Текущее положение регулятора
ВходSetPositionuint8Уставка положения регулятора
ВходkPfloatКоэффициент пропорциональности
ВходkIfloatКоэффициент времени интегрирования
ВходkDfloatКоэффициент времени дифференцирования
ВходerrTubefloatЗона нечувствительности
ВходSetsuint8Поведение при выходе входного параметра за диапазон: 0—ничего не делать, 1—закрыть, 2—открыть
ВходMaxRegParamfloatМаксимальное значение регулируемого параметра
ВходMinRegParamfloatМинимальное значение регулируемого параметра
ВходRegulTimeuint16Время перехода регулирующего органа 0→100, сек
ВходDelavTimeВремя задержки выходного сигнала
ВыходErrorbitИндикация ошибки входных параметров
ВыходOutputuint8Необходимое положение регулятора,%
ВыходOpenStepbitИмпульс на открытие
ВыходCloseStepbitИмпульс на закрытие
ВыходTestfloatЗначение уровня воздействия
Параметры Sets
ЗначениеОписание
0При значении входного параметра за пределами диапозона измерения - ничего не делать
1При значении входного параметра за пределами диапозона измерения - закрыть
2При значении входного параметра за пределами диапозона измерения - открыть

ФБ №86 «Резервуар»

ФБ реализует управление четырьмя насосами с выбором основных.


Алгоритм работы ФБ «Резервуар»:


ФБ №87 «Счётчик массомер»

Имеет такие же входы и выходы как ФБ №72.


ФБ №90 «Насос с АПВ» (автоматическое повторное включение)

ФБ реализует управление (включение/отключение) двигателем с контролем срабатывания защит и блокировок и автоматическим повторным включением после аварии.

Вх/ВыхИмяТипНазначение
ВходDispmodebitСпособ управления: 1—дистанционный, 0—местный
ВходCmdONbitКоманда включить (импульсный, желательно 1 такт)
ВходCmdOFFbitКоманда отключить (импульсный)
ВходActuatorbitСостояние пускателя (1—замкнут, 0—разомкнут)
ВходAlarmbitАвария (защита)
ВходBlockbitБлокировка
ВходResetbitСброс аварии/блокировки (импульсный)
ВходImpulsONOFFTimeuint, секВремя действия выхода на пускатель НА
ВходActuatorTimeuint, секВремя ожидания желаемого состояния пускателя
ВходActuatorRestartuintКоличество попыток ожидания состояния пускателя
ВходTimeNonStopuint, секВремя пуска НА
ВходAPVTryNumuintКоличество попыток АПВ
ВходAPVIntervaluint, секВремя между попытками АПВ
ВыходControlONbitВыход на включение пускателя НА
ВыходControlOFFbitВыход на выключение пускателя НА
ВыходstUpravbitПризнак восприятия НА управляющих команд
ВыходCntActTimeuint, секСчётчик времени ожидания состояния пускателя
ВыходCntActRestartuintСчётчик попыток ожидания состояния пускателя
ВыходCntNonStopuint, секСчётчик времени пуска НА
ВыходAPVTrvCntuintСчётчик попыток АПВ
ВыходAPVTimeruint, секСчётчик времени между попытками АПВ
ВыходCntImpONOFFuint, секСчётчик времени управляющего воздействия на пускатель
ВыходStateuint32Флаги состояния 0–18

Процедура включения насоса.

При получении импульса на вход «Команда ВКЛ», при условии что нет аварий, на выход «Управление ВКЛ» подаётся «1» на время «Время пуска»(CntImpONOFF), после чего на выходе «Управление ВКЛ» возвращает-ся «0». Если в течение «Времени пуска» состояние пускателя не изменилось на «1», т.е. пускатель не включился, процедура повторяется до тех пор, пока есть попытки перезапуска (устанавливается входом «Попы-ток перезапуска»). Если за указанное количество перезапусков не удалось включить пускатель, на выход «Управление ОТКЛ» подаётся положительный импульс длительностью «Время пуска», устанавливается флаг состояния ActuatorFail_ON.

Процедура отключения насоса.

При получении импульса на вход «Команда ОТКЛ» либо при установленном флаге «Авария», на выход «Управление ОТКЛ» подаётся «1» на время «Время пуска», после чего на выходе «Управление ОТКЛ» воз-вращается «0». Если в течение «Времени пуска» состояние пускателя не изменилось на «0», т.е. пускатель не отключился, процедура повторяется до тех пор пока есть попытки останова (также устанавливается входом «Попыток перезапуска»), если не дождались необходимого значения пускателя устанавливается флаг ActuatorFail_OFF. Вход Сброс (ResetAlarm) так же сбрасывает флаги ActuatorFail_OFF, ActuatorFail_ON и флаг конца попыток АПВ(APV_TryCnt_Null).Флаг состояния «Авария» также может быть сброшен с помощью механизма автоматического повторного пуска (АПВ). Если установлен флаг «Авария», а флаг «Блокировка» снят и количество попыток перезапуска по АПВ (задаётся входом «АПВ – попыток при аварии») не = 0, начинается отсчёт интервала перезапуска АПВ, по истечении которого флаг «Авария» сбрасывается, а количество оставшихся перезапусков АПВ декрементируется.


ФБ №91 «Счетчик БГ»

ФБформирует показания приращения счетчика (вход CounterDI), за определенный интервал времени (в минутах) или за два часа, с возможностью выравнивания в 00:00 часов. На выходах можно наблюдать значение увеличения счетчика за минуту, за сутки, разницу изменения за последнюю и предыдущую минуту. Также формируется флаг аварийного расхода(flAvrRash), если за последнюю минуту расход увеличился, на значение, большее чем установлено в AvarRashod.

Для блоков архивирования, ФБ №91 выставляет бит ArchivEna и устанавливает необходимые значения, если закончился определенный интервал измерений (если установлен признак Ena2Hours то каждые 2 часа) или начались новые сутки.

Блок-схема работы ФБ «Счетчик БГ»:

Вх/ВыхИмяТипНазначение
ВходEnablebit
ВходCounterDIВход счётчика (приращения)
ВходUNIXTimeuint32Системное время
ВходIntervalCNTuintИнтервал измерений, мин
ВходAvarRashodПорог аварийного расхода
ВходEnaPeretokbitРазрешение перетока
ВходPeretokDIbitСигнал перетока
ВходEnaNullbitВыравнивание в 00:00
ВходEna2HoursbitДвухчасовой интервал измерений
ВыходMinCntПриращение за минуту
ВыходMinCntDiffРазница приращений за последнюю и предыдущую минуту
ВыходCNT…(группа)Приращения за интервал/сутки
ВыходПАварRash (flAvrRash)bitФлаг аварийного расхода
ВыходAnthvEna, AnthvDuration, AnthvTimeBeg, AnthCNTInV, AnthvPeretok, AnthCNTInvTIСигналы/значения для блоков архивирования

ФБ №99 «ПИД регулятор»

ФБ реализует аналоговое ПИД регулирование. ПИД регулятор формирует импульсы на открытие - закрытие, в зависимости от необходимого положения регулятора, его текущего положения, коэффициентов(kP,kL,kD) и режима работы.

Принцип действия аналогичен ФБ№82, за исключением отсутствия времени задержки DelavTime.

Вх/ВыхИмяТипНазначение
ВходAutobitКоманда выбора управления (автомат/ручной)
ВходReverseUbitКоманда реверс
ВходCurParamfloatРегулируемый параметр
ВходSetParamfloatУставка регулирования
ВходCurPositionuint8Текущее положение регулятора
ВходSetPositionuint8Уставка положения регулятора
ВходkPfloatКоэффициент пропорциональности
ВходkIfloatКоэффициент времени интегрирования
ВходkDfloatКоэффициент времени дифференцирования
ВходerrTubefloatЗона нечувствительности
ВходSetsuint8Поведение при выходе за диапазон: 0—без действия, 1—закрыть, 2—открыть
ВходMaxRegParamfloatМаксимальное значение регулируемого параметра
ВходMinRegParamfloatМинимальное значение регулируемого параметра
ВходRegulTimeuint16Время перехода регулирующего органа 0→100, сек
ВыходErrorbitИндикация ошибки входных параметров
ВыходOutputuint8Необходимое положение регулятора, %
ВыходOpenStepbitИмпульс на открытие
ВыходCloseStepbitИмпульс на закрытие
ВыходTestfloatЗначение уровня воздействия

ФБ №111 «Отправка и обработка данных нестандартных устройств»

Вх/ВыхИмяТипНазначение
ВходEnabledЗапуск
ВходResetПерезагрузка логики ФБ
ВходChaneluint8Канал
ВходTypeuint8Тип устройства
ВходOptionsОпции конкретного устройства
ВходStadyСтадия
ВходNbyteКоличество байт на запись
ВходByteБайты на запись в канал
ВыходErrorОшибка
ВыходOkУспех
ВыходRunbit«1» после исполнения логики ФБ
ВыходDataДанные

Типы устройств:

ТипОписание
0Прямая отправка
1Sonomer 500 Теплосчетчик
2Меркурий 230 Электросчетчик
3Пульсар водосчетчик RS485
4Меркурий 203.2Т Электросчетчик
5Контроллер на матлабе

Опции:

Номер опцииОписание
0По умолчанию отправка пакета, ФБ выполнена если не пришел ответ или пришел неверный ответ
1Отправка пакета 1 раз и ФБ выполнена, без ожидания какого-либо ответа
2Отправка пакета каждый раз, пока не получим нужный ответ