<< Click to Display Table of Contents >> Navigation: Проект в MasterSCADA 4D > Дерево библиотек > Библиотека BaseObjects > BaseObjects.ФБ.Системные > Архивы > READ_ARCHIVE_DATA |
Функциональный блок READ_ARCHIVE_DATA предназначен для выборки данных из архива по заданному параметру.
Вид в дереве |
Вид в редакторе FBD |
Входы и выходы ФБ:
Название |
Тип |
Назначение |
Входы |
||
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
Смотрите также: