МегаФБ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 | Прошла команда на архивирование |