READ_ARCHIVE_DATA

<< Click to Display Table of Contents >>

Navigation:  Проект в MasterSCADA 4D > Дерево библиотек > Библиотека BaseObjects > BaseObjects.ФБ.Системные > Архивы >

READ_ARCHIVE_DATA

Функциональный блок READ_ARCHIVE_DATA предназначен для выборки данных из архива по заданному параметру.

Вид в дереве

Вид в редакторе FBD

READ_ARCHIVE_DATA

READ_ARCHIVE_DATA_1

Входы и выходы ФБ:

Название

Тип

Назначение

Входы

Begin

DT

Время начала выборки.

End

DT

Время конца выборки.

Interval

TIME

Интервал, используемый для агрегатных функций. Если установлен 0, то идет обработка за весь интервал выборки.

Bounds

BOOL

Включение граничных значений при установленном параметре TRUE.

Item

REF_TO

Вход ФБ для установки связи с параметром, архив которого необходимо получить. При установке связи на этот вход будет передаваться не значение параметра, а его ID.

Если ФБ находится внутри программы ST, то в программе можно указать полное имя архивируемого элемента. См раздел Специальные типы данных.

Aggregate

AggregateType

Задается тип выборки. Например, если указано значение входа Interval, то например можно выбрать из архива значения за нужный интервал, обработать их, например, в указанном интервале выдать на выходе ФБ, только максимальные значения, или суммы всех значений за каждый интервал. Возможные значения:

Sampling -в выборку попадут 4  значения: на начало интервала, на конец интервала, максимум  и минимум за интервал.

LastValue - последнее значение

FirstValue - первое значение

Integral - интеграл

Average - среднее значение

IntegralAverage - интегральное среднее

Max - максимальное значение

Min - минимальное значение

Interpolation -значения на границах интервала, левая точка это значение на начало интервала, а правая последняя точка в интервале.

CountSwichOn - количество сигналов по переднему фронту

Count - общее число записей в интервале

Sum - сумма значений

Delta - разница между значением на момент конца интервала и моментом начала

LastBound - последнее граничное значение: при наличии значения на правой границе интервала, будет выбрано оно. В случае его отсутствия, будет выбрано ближайшее слева

FirstBound - первое граничное значение: при наличии значения на левой границе интервала, будет выбрано оно. В случае его отсутствия, будет выбрано ближайшее слева

Run

BOOL

По переднему фронту изменения значения на этом входе новый запрос ставится в очередь.

MaxCount

DINT

Возвращает не более заданного числа архивных записей. Если записей больше в заданном диапазоне, то в выборку попадут все наиболее ранние значения, а более поздние значения будут проигнорированы.  По умолчанию установлено значение 10000.

Важно! Если значение Begin больше End, то выборка начинается в обратном порядке. В случае если задано значение MaxCount, выборка будет начитаться с Begin.

Filter

ArchiveFilter

Фильтр для обработки значений с недостоверными признаками качества. При помощи фильтра можно определить, будут ли игнорироваться данные с признаками качества Bad и Uncertain при выборке. Если же данные с недостоверными признаками качества будут учитываться, то можно задать, какой признак качества им будет выставляться. Данный вход имеет структурный тип данных с 4 полями:

IgnoreBadValues - указывает, будут ли значения с признаком качества Bad учитываться при выборке. Если установлен в TRUE, данные с таким признаком качества будут исключены из выборке, в то время как при установке в FALSE (по умолчанию) они будут учтены в выборке.

StatusForBadValues - это поле, которое определяет, какой признак качества присваивается агрегированным значениям с статусом Bad. По умолчанию это значение установлено как Uncertain.

IgnoreUncertainValues - указывает, будут ли значения с признаком качества Uncertain учитываться при выборке. Если установлен в TRUE, данные с таким признаком качества будут исключены из выборке, в то время как при установке в FALSE (по умолчанию) они будут учтены в выборке.

StatusForUncertainValues - это поле, которое определяет, какой признак качества присваивается агрегированным значениям с статусом Uncertain. По умолчанию это значение установлено как Uncertain.

WithoutCacheData

BOOL

Данный вход отвечает за включение/отключение использования кэша при выборке данных из архива. При значении TRUE выборка будет производится без использования кэша.

По умолчанию значение настройки FALSE.

Выходы

Values

ARRAY [*] OF ANY

Mассив архивных значений параметра, связанного с ФБ.

Completed

BOOL

Формируется результат выполнения запроса. После отработки запроса этот выход на один такт принимает значение TRUE. При этом одновременно заполняются остальные выходы с данными выполненного запроса.

Count

UINT

Количество значений в выборке.

StatusCodes

ARRAY [*] OF DINT

Массив признаков качества.

Times

ARRAY [*] OF DATE_AND_TIME

Массив меток времени.

RequestsCount

INT

Количество запросов в очереди на выполнение.

StatusCode

UDINT

Выдается признак качества в виде кода результата выполнения запроса.

Error

STRING

Выдается текст ошибки.

Рекомендации по работе с ФБ

Если входу Run присвоить значение TRUE в то время когда выполняется один запрос, то новый запрос ставится в очередь (увеличивается значение RequestsCount). Как только запрос выполнен, то при очередном вызове ФБ на выход Completed выдается TRUE, и значение RequestsCount уменьшается. То есть, сколько запросов было добавлено, столько раз на Completed произойдет переход в состояние TRUE. Таким образом, код обработки результата имеет вид:

READ_ARCHIVE_DATA_1();

if (READ_ARCHIVE_DATA_1.Completed) then

MyRes := READ_ARCHIVE_DATA_1.Values

end_if

Смотрите также: