ФБ-архиваторы событий

МегаФБ32 для архивации событий использует записи R7 длиной 64 байта типов 16, 17 и 18.

Тип 16 – архив замера ГЗУ-массомер.

Тип 17 был реализован для совместимости с существующими разборщиками архивов R5 в ПО верхнего уровня и представляет собой записи R5 стандартных подтипов (ГЗУ, БГ, протокол работы объекта и т.п.) упакованные внутрь записей R7.

Тип 18 – свободный, позволяет формировать/задать тело архива в справочнике конфигуратора ФБ32.


ФБ №77 «Архиватор R7 Замер ГЗУ-массомер (тип 16)»

ФБ создаёт новую архивную запись в каждом цикле исполнения ФБ если битовый вход «Архивировать» = «1». При использовании ФБ в конфигурациях необходимо одновременно с положительным импульсом на входе «Архивировать» подать соответствующие данные на остальные входы ФБ для заполнения записи. После добавления архивной записи в очередь архиватор ФБ выставляет «1» на своём выходе «Ok» на 1 цикл исполнения ФБ. Этот импульс можно использовать, например, для сброса счётчиков и начала нового замера.

Вх/Вых Имя Тип Назначение
Вход Архивировать bit (строго) Инициирует создание архивной записи
Вход Номер отвода на начало замера uint8
Вход Номер отвода на конец замера uint8
Вход Время начала замера uint32 Формат UNIX
Вход Длительность замера, мин. uint
Вход Суммарная масса ВНС за замер, кг float32
Вход Тек. массовый дебит жидкости, г/сут float32
Вход Тек. объёмный дебит газа, м³/сут float32
Вход Тек. массовый дебит нефти, г/сут float32
Вход Тек. массовый дебит воды, г/сут float32
Вход Тек. средняя плотность жидкости, г/см³ float32
Вход Тек. средняя температура жидкости float32
Вход Средняя массовая доля воды float32
Вход Уст. плотности нефти по скв., г/см³×10000 uint16
Вход Уст. плотности воды по скв., г/см³×10000 uint16
Вход Уст. плотности жидкости по скв., г/см³×10000 uint16
Вход Кол-во циклов слива сепаратора uint16
Вход Тек. газовый фактор по скв., м³/т float32
Вход Тек. суммарный объём газа, м³ float32
Выход Ok bit «1» на 1 цикл после добавления записи

ФБ №47 «Архиватор R7 Замер ГЗУ (тип 17, подтип 1)»

ФБ создаёт новую архивную запись в каждом цикле исполнения ФБ если битовый вход «Архивировать» = «1». При использовании ФБ в конфигурациях необходимо одновременно с положительным импульсом на входе «Архивировать» подать соответствующие данные на остальные входы ФБ для заполнения записи.

После добавления архивной записи в очередь архиватор ФБ выставляет «1» на своём выходе «Ok» на 1 цикл исполнения ФБ. Этот импульс можно использовать, например, для сброса счётчиков и начала нового замера.

Вх/Вых Имя Тип Назначение
Вход Архивировать bit
Вход Номер отвода uint8
Вход Счётчик uint32
Вход Время начала uint32 Формат UNIX
Вход Длительность мин. uint
Выход Ok bit

ФБ №48 «Архиватор R7 Замер БГ (тип 17, подтип 2)»

ФБ создаёт новую архивную запись в каждом цикле исполнения ФБ если битовый вход «Архивировать» = «1». При использовании ФБ в конфигурациях необходимо одновременно с положительным импульсом на входе «Архивировать» подать соответствующие данные на остальные входы ФБ для заполнения записи. После добавления архивной записи в очередь архиватор ФБ выставляет «1» на своём выходе «Ok» на 1 цикл исполнения ФБ. Этот импульс можно использовать, например, для сброса счётчиков и начала нового замера.

Вх/Вых Имя Тип Назначение
Вход Архивировать bit
Вход Номер отвода uint8
Вход Счётчик uint32
Вход Время начала uint32 Формат UNIX
Вход Длительность мин. uint
Выход Ok bit

ФБ №49 «Архиватор R7 Изменение состояния объекта (тип 17, подтип 4)»

ФБ создаёт новую архивную запись при 2 условиях: ФБ активна (т.е. вход «Enable» = «1») и на входе «Вход» было изменение относительно его значения в прошлом такте исполнения.

На вход «Вход» необходимо завести до 16 бит состояния, изменение которых нужно архивировать. Это могут быть 2 байта флагов работы объекта Sost и Sost1 (по аналогии с Мега09).

Вх/Вых Имя Тип Назначение
Вход Архивировать (на рисунке — Enable) bit Активизирует отслеживание изменений входа «Вход»
Вход Вход до 16 бит состояния Состояние объекта, напр. 2 байта флагов Sost и Sost1 (по аналогии с Мега09)
Выход Старый вход как «Вход» Запонимания прошлого состояния
Выход Ok bit Импульс после добавления записи

ФБ №50 «Архиватор R7 Изменение DI (тип 17, подтип 5)»

ФБ создаёт новую архивную запись при 2 условиях: ФБ активна (т.е. вход «Enable» = «1») и на битовом входе «DI» было изменение относительно его значения в прошлом такте исполнения.

Вх/Вых Имя Тип Назначение
Вход Архивировать (на рисунке — Enable) bit (строго)
Вход № DI uint8 Помещается в тело записи
Вход DI bit
Выход Старый DI bit
Выход Ok bit

ФБ №51 «Архиватор R7 Изменение AI (тип 17, подтип 6)»

ФБ создаёт новую архивную запись при 2 условиях: ФБ активна (т.е. вход «Enable» = «1») и на uint16-входе «AI» было изменение относительно его значения в прошлом такте исполнения более чем на величину, поданную на вход «Гистерезис».

Вх/Вых Имя Тип Назначение
Вход Архивировать (на рисунке — Enable) bit (строго)
Вход № AI uint8 Помещается в тело записи
Вход AI uint16
Вход Гистерезис uint16 Макс. отклонение AI за 1 такт, не формирует новую запись
Выход Старый AI uint16
Выход Ok bit

ФБ №52 «Архиватор R7 Протокол работы объекта (тип 17, подтип 7)»

ФБ создаёт новую архивную запись в каждом цикле исполнения ФБ если битовый вход «Архивировать» = «1». При использовании ФБ в конфигурациях необходимо одновременно с положительным импульсом на входе «Архивировать» подать соответствующие данные на остальные входы ФБ для заполнения записи. После добавления архивной записи в очередь архиватор ФБ выставляет «1» на своём выходе «Ok» на 1 цикл исполнения ФБ. Этот импульс можно использовать, например, для сброса счётчиков и начала нового замера.

Вх/Вых Имя Тип
Вход Архивировать bit (строго)
Вход Код события uint8
Вход DD0…DD3 uint8 (4 шт.)
Выход Ok bit

ФБ №30 «Архиватор R7 универсальный (тип 18)»

Вх/Вых Имя Тип Назначение
Вход Архивировать bit Даёт команду на архивацию
Вход Данные[N] любой тип; одиночное значение или массив, допускается несколько разнотипных массивов Суммарно ≤ 55 байт, элементов ≤ 250
Выход Ok bit «1» на 1 цикл

ФБ №88 «Архиватор R7 для ДНМ»

ФБ реализует преобразование и архивирование блока ДНМ.

Вх/Вых Имя Тип Назначение
Вход Enable bit Команда включения и формирования массива
Вход SaveDNM bit Команда архивирования
Вход KnapReady bit Команда записи Кнап
Вход InDNMNumber uint8 Номер предыдущей ДНМ
Вход KnapInValue uint8 Значение Кнап из модуля подсчёта
Вход InArray[192] uint8 Входной массив данных ДНМ
Выход OutArray[192] uint8 Выходной массив данных ДНМ
Выход State uint8 Регистр состояния (биты: 0 — flEnable; 1 — flSaveDNM; 3 — flKnapPASS)
Выход KnapValue uint8 Кнап массива ДНМ
Выход OutDNMNumber uint8 Текущий номер ДНМ

* В случае архивирования одной ДНМ выход OutDNMNumber соединяем со входом InDNMNumber своего ФБ. Если необходимо архивировать несколько последних ДНМ, выход OutDNMNumber подводим ко входу InDNMNumber следующего ФБ, зацикливая их по кругу.

Блок-схема работы ФБ «Архиватор R7 для динамограмм»:


ФБ №83 «Архиватор R7 Состояние DI КП КТПН»

Вх/Вых Имя Тип Назначение (умолчание)
Вход CmdArch BIT Команда на архивацию
Вход NChan UINT_08 Номер канала (1)
Вход AuthorArh UINT_08 Инициатор создания архива (1)
Вход SostDI UINT_16 Текущее состояние DI
Вход PrevSostDI UINT_16 Предыдущее состояние DI (0)
Вход DurationSostDI UINT_32 Продолжительность предыдущего состояния DI (0)
Вход EventTime UINT_32 Время возникновения события
Выход Ok BIT

ФБ №93 «Двухчасовка (счетчик-архиватор)»

Вх/Вых Имя Тип Назначение
Вход CntNum UINT_08 Номер счётчика в архив
Вход Period UINT_16 Периодичность архивирования
Вход CounterIn UINT_32 Увеличивающееся значение
Выход Ok BIT На 1 такт после архивирования
Выход CounterOut UINT_16 Счётчик за текущий интервал
Выход OldCounterIn UINT_32 Значение входа в прошлый такт
Выход StartTime time32/uint32 Время начала замера (UnixTime)

ФБ №104 «Архивирование сетевых пакетов (СП)»

Вх/Вых Имя Тип Назначение
Вход Enable BIT Разрешение архивирования
Вход Адрес(GUID) UINT_16 Адрес, указанный в конфигураторе
Выход Ok BIT Прошла команда на архивирование