Архив рубрики: Referenz_PARA

Концепция полномочий в «КАСКАД Цифра»

Общие полномочия

Общие полномочия пользователя, такие как доступ на запись или чтение, а также право на квитирование алармов, задаются в «КАСКАД Цифра» с помощью уровней полномочий (битов полномочий). По умолчанию существует пять уровней полномочий. Уровни полномочий задаются для групп пользователей. Каждый пользователь должен принадлежать как минимум к одной группе. Один пользователь может входить в состав нескольких групп. В том случае, если пользователь входит в состав нескольких групп, то результирующие полномочия данного пользователя представляют собой комбинацию полномочий групп, в которые входит данный пользователь. По умолчанию существует пять групп пользователей – см. раздел Группы.

Системные полномочия

Системные полномочия позволяют выбирать различные уровни полномочий для различных действий:

Это означает, что только те пользователи, которые обладают определенным уровнем полномочий (имеют соответствующий бит), могут изменять точки данных или устанавливать полномочия пользователей при помощи панели управления пользователями и т.д. – см. список выше. Дополнительная информация представлена в разделе «Системные полномочия».

Разрешение на чтение и запись для конфигурационных элементов точек данных

Разрешение на чтение и запись для определенных конфигурационных элементов задается с помощью элемента _auth. Это означает, что если пользователь не имеет общего разрешения на запись значений точек данных в системе «КАСКАД Цифра», то разрешение на запись может быть предоставлено тому же пользователю для конкретной конфигурации точек данных с помощью конфигурационного элемента _auth. Таким образом, элемент _auth задает дополнительный уровень полномочий для конфигурационных элементов точек данных.

Переименование точек данных

Для переименования точки данных необходимо выполнить следующие действия:

  1. Откройте модуль PARA и щелкните правой кнопкой мыши по точке данных, подлежащей переименованию. В открывшемся контекстном меню точки данных выберите пункт «Переименовать точку данных«. Данный пункт не отображается при щелчке по типу точки данных (DPT), а также по элементу точки данных (DPE). На рисунке ниже точка данных одновременно является элементом точки данных (вырожденный случай), в этой связи меню отображается и при щелчке по DPE, который одновременно является точкой данных.

Рисунок: Элемент контекстного меню для переименования точки данных

ВНИМАНИЕ

Максимальная длина имени точки данных составляет 64 символа. Недопустимо использование следующих символов : точка «.», двоеточие «:», точка с запятой «;», запятая «,», правая или левая квадратные скобки «[ ]», правая или левая фигурные скобки «{ }», пробелы, символ табуляции «/t», знак вопроса «?», звездочка «*», обратный слеш «\», слеш «/», знак процента «%», восклицательный знак «!», правая или левая скобки «( )» символ «$», символ «@», двойные кавычки » , одинарные кавычки ‘ , стрелка вниз &darr; , и все прочие специальные символы, кроме подчеркивания «_», «<» и «>».

  1. Задайте новое имя и установите флажок «Экспорт ASCII для рез. копир«. Данная опция позволяет создать резервную копию типа точки данных и точки данных в файле <путь_проекта>/dpList/<имя_точки_данных>_<последовательный номер>.dpl. Поиск перекрестных ссылок позволяет найти в проекте такие объекты, которые используют текущее имя точки данных, и в которых имя точки данных необходимо изменить вручную. Для запуска поиска перекрестных ссылок нажмите кнопку «Искать«. Затем нажмите кнопку «Переименовать«.

Рисунок: Панель переименования точек данных

  1. Далее со стороны системы будет проведена проверка нового имени на корректность и на отсутствие точки данных с указанным целевым именем. Если проверка не пройдена, отображается сообщение об ошибке, изменение имени точки данных не производится. При успешном прохождении проверки выполняется переименование. При этом наследуются конфигурация точки данных, исторические значения и права доступа к точке данных.

Рисунок: Переименованная точка данных «ExampleDP_Arg1_new»

Необходимо учитывать следующие ограничения при переименовании точек данных:

  • После переименования точки данных необходимо актуализировать её имя в рамках всего приложения (например, в возможных ссылках на эту точку данных в панелях, панели алармов, панели трендов, сценариях Ctrl или в групповых алармах).
  • Функциональность переименования доступна только для точек данных локальной системы. Переименование точек данных в распределенных системах невозможно.
  • Переименование внутренних точек данных невозможно.
  • Переименование мастер-точек данных невозможно.
  • Функциональность резервного копирования в файл ASCII доступна только при работе на сервере.
  • Переименование точек данных возможно только при запущеном менеджере поддержки фоновой записи (DataBg), который запускается почти сразу после старта проекта (см. сообщения в средстве просмотра журналов).
  • В случае переименования точки данных в системе на базе версии 3.14, которая является частью распределенной системы с различными версиями «КАСКАД Цифра», например, 3.14 и 3.12 или 3.13, идентификатор точки данных направляется в смежную систему. Так как в системах на базе версий 3.12 или 3.13 точка данных не может быть переименована, будет выведено сообщение об ошибке:
    WCCILdist    (1), 2015.06.16 10:27:12.239, SYS,  WARNING,   226, Cannot send DP_MSG_MANIP_DPNAME to MAN: (SYS: 2 Dist -num 1 CONN: 1) of an 3.12 or 3.13. Sending the entire identification instead.
    Сообщение об ошибке не отображается для систем на базе версий <3.12.

Удаленная настройка конфигурационных элементов

Существует возможность настройки конфигурационных элементов удаленных систем. В собственной системе, в отличие от удаленной системы, производится модификация конфигурационного элемента _locked. Точки данных удаленной системы могут настраиваться несколькими пользователями без выдачи предупредительных сообщений, за исключением _original и _alert_hdl при применении dpConnect(). При этом действуют последние сохраненные параметры конфигурационного элемента. Исключения:

  • _common — настройка невозможна
  • _lock — внесение изменений со стороны удаленной системы не допускается
    • _address — отображение на удаленной системе невозможно

_u_range (Пользовательский диапазон значений)

Пользовательский диапазон значений обозначает диапазон, зависящий от уровня полномочий, но не от конкретных пользователей (несмотря на название). Пользователь может изменить исходное значение, находящееся в диапазоне значений «КАСКАД Цифра», в двух случаях:

  • при отсутствии настроенного пользовательского диапазона значений.
  • при наличии у пользователя уровня полномочий, для которого задан пользовательский диапазон значений, и значение при этом находится в пределах этого диапазона.

Пользовательские диапазоны значений не применимы к пользователю «root», т.е. для пользователя «root» во внимание принимается только диапазон значений «КАСКАД Цифра». Для всех прочих без исключения пользователей применяются диапазон значений «КАСКАД Цифра» и пользовательские диапазоны значений.

Соответствующие атрибуты приведены в Приложении.

Рисунок: Панель пользовательского диапазона значений

ПАНЕЛЬ ПОЛЬЗОВАТЕЛЬСКОГО ДИАПАЗОНА ЗНАЧЕНИЙ

Рисунок: Панель пользовательского диапазона значений для типа «Мин.-макс.»

DPE: в выпадающем списке справа вверху отображается имя (описание или псевдоним) редактируемого элемента точки данных.

Уровень: выпадающий список для выбора требуемого уровня полномочий (1-32) для диапазона.

Тип: выпадающий список для выбора требуемого типа диапазона («Без проверки», «Мин.-макс.», «Отдельные значения», «Все»).

  • При выборе типа «Без проверки» проверка не производится, поведение соответствует поведению для типа «Все«. По умолчанию для всех уровней полномочий установлен тип «Без проверки«. После изменения данной стандартной установки на «Все», «Отдельные значения» или «Мин.-Макс.» возврат к типу «Без проверки» будет невозможен.
  • При выборе «Мин.-Макс.» необходимо указать граничные значения в полях ниже. Флажки «Включая» позволяют указать, должно ли граничное значение входить в диапазон значений. Установка флажка «Инверт.» позволяет инвертировать диапазон.
    • Выбор типа «Отдельные значения» позволяет задавать отдельные значения для выбранного уровня полномочий. Для добавления, сортировки, редактирования или удаления значений применяются кнопки, представленные в разделе, посвященном диапазону значений «КАСКАД Цифра»  (см. Рисунок). Установка флажка «Инверт.» позволяет инвертировать диапазон.
      • При выборе типа «Все» все значения диапазона значений «КАСКАД Цифра» присваиваются выбранному уровню полномочий.

ПРИМЕЧАНИЕ

Для предотвращения ввода значений пользователем необходимо выбрать тип «Отдельные значения«, оставив при этом список «Выбранные значения» пустым.

Для некоторых типов данных возможен анализ значений на предмет соответствия указанному шаблону (например, для пользовательских диапазонов значений типов данных «string» или «uint»). См. раздел «_pv_range (Диапазон значений «КАСКАД Цифра»)«.

На панели также расположены стандартные кнопки «OK« (применить настройки, закрыть панель), «Применить» (применить настройки, панель остается открытой), «Отменить» (закрыть панель без сохранения настроек) и «Справка» (открывает соответствующий раздел справки).

СВЯЗАННЫЕ ТЕМЫ

Рекомендуется ознакомиться с подразделами «Отдельные значения» и «Совпадение» раздела «_pv_range (Диапазон значений «КАСКАД Цифра»)«!

_smooth (Сглаживание)

Сглаживание

Сглаживание используется для снижения объема данных, передаваемых в системе «КАСКАД Цифра» между драйверами и другими менеджерами, а также для снижения общего объема данных, обрабатываемого в системе Kaskad.

Для сглаживания в системе «КАСКАД Цифра» используются конфигурационные элементы _smooth and _archive. Дополнительная информация о конфигурационных элементах «КАСКАД Цифра» представлена в разделе «Конфигурационные элементы точек данных, основы«.
Конфигурационные элементы _smooth и _archive используются для сглаживания на уровне различных компонентов «КАСКАД Цифра». Конфигурационный элемент _smooth используется для сглаживания на уровне драйвера, в то время как конфигурационный элемент _archive используется для сглаживания менеджером БД «КАСКАД Цифра» на уровне архива.

Сглаживание на уровне драйвера

Данные, поступающие от периферии, могут быть сглажены драйвером до их обработки в качестве исходных значений в системе управления на базе «КАСКАД Цифра». Данные, передаваемые периферийным устройствам, также могут быть сглажены драйвером системы «КАСКАД Цифра» перед их отправкой в направлении периферии. При этом в первом случае драйвер производит сравнение текущего и предыдущего значений, считанных из ПЛК, а во втором случае — сравнение предыдущего записанного в ПЛК значения со значением, предполагаемым к записи в ПЛК.

На нижеприведенном рисунке представлены последовательности операций в отношении передаваемых данных при информационном обмене между ПЛК — драйвером (D) — и менеджером событий (EV) системы «КАСКАД Цифра». На рисунке также присутствует сглаживание.

Рисунок: Сглаживание на уровне драйвера

Сглаживание на уровне архива

При применении сглаживания на уровне архива, данные архивируются только в том случае, если они не были отброшены в процессе сглаживания. Сглаживание значений производится менеджером БД системы «КАСКАД Цифра». Непосредственно перед архивированием менеджер БД производит сравнение последнего архивированного значения со значением, предполагаемым к архивации.

При сглаживании (как на уровне архива, так и на уровне драйвера) могут использоваться различные режимы сглаживания. Более детально данные режимы сглаживания представлены в соответствующих подразделах ниже.

По значению/по времени/комбинированный

Сглаживание по значению

Сглаживание по времени

Сглаживание по значению И по времени

Сглаживание по значению ИЛИ по времени

Сравнение старого и нового значений

Сравнение старого и нового значений И сглаживание по времени

Сравнение старого и нового значений ИЛИ сглаживание по времени

Сглаживание по скорости изменения и

Подавление мерцания

ВНИМАНИЕ

Сглаживание по скорости изменения и подавление мерцания применимы только при сглаживании на уровне драйвера.

Режимы сглаживания и процесс настройки сглаживания

Для добавления конфигурационного элемента сглаживания необходимо выполнить следующие действия:

  • Откройте модуль PARA. Щелкните правой кнопкой мыши по имени настраиваемой точки данных.
  • Выберите элемент меню «Добавить конф.элемент«.
  • Установите флажок «Сглаживание» и нажмите кнопку «ОК«.
  • Конфигурационный элемент сглаживания будет добавлен в структуру точки данных. См. рисунок ниже.

Рисунок: Добавление конфигурационного элемента сглаживания к точке данных

При щелчке левой кнопкой мыши по добавленному конфигурационному элементу _smooth автоматически откроется панель настройки сглаживания.

Показанная на рисунке ниже панель позволяет настраивать сглаживание для типов данных integer, unsigned и float. Для настройки сглаживания для других типов данных, например, boolean, используется аналогичная панель с сокращенным набором опций.

Рисунок: Панель настройки сглаживания для типов данных integer, unsigned и float

ПАНЕЛЬ «СГЛАЖИВАНИЕ»


DPE: имя (описание или псевдоним) настраиваемого элемента точки данных.

Группа режимов сглаживания: выбор группы режимов сглаживания; в зависимости от выбранной группы отображаются доступные для выбора режимы сглаживания и опции для их настройки.

ПРИМЕЧАНИЕ

Настройки сглаживания, выполненные на уровне узла, наследуются всеми нижестоящими узлами и элементами.


Нижеприведенная таблица содержит обзор режимов сглаживания и типов данных, к которым могут быть применены указанные режимы. Внимание! Режимы сглаживания «сглаживание по скорости изменения» и «подавление мерцания» применимы только к сглаживанию на уровне драйвера. Внимание! Режим сглаживания «подавление мерцания» применим только к данным с типом bool, режим «сглаживание по скорости изменения» применим только к данным с типами float, int и unsigned.

Режим сглаживанияВсе типыfloat, int, unsignedbool
Сравнение старого и нового значенийxxx
Сравнение старого и нового значений И сглаживание по времениxxx
Сравнение старого и нового значений ИЛИ сглаживание по времениxxx
Сглаживание по значению x 
Сглаживание по времениxxx
Сглаживание по значению И по времени x 
Сглаживание по значению ИЛИ по времени x 
сглаживание по скорости изменения x 
Подавление мерцания  x

Атрибуты конфигурационного элемента приведены в Приложении.

Более подробно перечисленные режимы сглаживания рассматриваются ниже.

ВНИМАНИЕ

Сглаживание, настроенное для двунаправленных адресов (вход/выход), действует только для входящих данных. В случае двунаправленных адресов сглаживание к исходящим данным не применяется.

Режимы сглаживания

Более подробно режимы сглаживания представлены ниже. Внимание! Режимы «сглаживание по скорости изменения» и «подавление мерцания» могут применяться только на уровне драйверов. Все остальные режимы могут применяться как на уровне архивов, так и на уровне драйверов.

При применении сглаживания на уровне архива, данные архивируются только в том случае, если они не были отброшены в процессе сглаживания. Аналогичный принцип действует при сглаживании на уровне драйвера. Данные передаются драйвером в систему или в направлении периферии только в том случае, если они не были отброшены в процессе сглаживания. В описании режимов сглаживания обеих категории «сглаживание на уровне драйвера» и «сглаживание на уровне архива» выражения «значение не было отброшено в процессе сглаживания» или «значение передано в дальнейшую обработку» означает, что значение было архивировано или передано в систему Kaskad. В описании также используются термины «период сглаживания» и «зона нечувствительности». Период сглаживания задается в области «Период сглаживания» панели настройки сглаживания. Зона нечувствительности задается в области «Зона нечувствительности» — см. рисунок ниже.

По значению/по времени/комбинированный

Рисунок: Панель настройки сглаживания при выборе группы режимов «По значению/по времени/комбинированный»

Сглаживание по значению

При относительной зоне нечувствительности (при установке флажка «Относительное значение»), значение не будет отброшено в том случае, если значение отличается в большую или меньшую сторону от последнего достоверного значения более чем на заданный %. Например, при относительной зоне нечувствительности 5% значение не будет отброшено в процессе сглаживания, если значение изменится с 1 на 1,5, и будет отброшено, если значение изменится со 100 на 104 (в качестве 100% принимается последнее достоверное значение (т.е. 100)). Относительная зона нечувствительности не может быть задана при массовом параметрировании. При массовом параметрировании или при сброшенном флажке «Относительное значение» зона нечувствительности задается в абсолютных величинах. Например, при зоне нечувствительности 5, значение не будет отброшено в процессе сглаживания, если значение изменится с 0 на 5.001.

ЗначокПРИМЕЧАНИЕ

Точность задания зоны нечувствительности ограничена тремя десятичными знаками. Подобная точность может приводить к небольшим погрешностям округления при сглаживании, что следует учитывать при настройке сглаживания. См. пример выше (значение изменяется с 0 на 5.001).

ВНИМАНИЕ

Сглаживание по значению применимо только к данным с типами float, int и unsigned!

Абсолютная зона нечувствительности (флажок «Относительное значение» снят): при отклонении исходного значения на величину, превышающую указанную в абсолютных величинах зону нечувствительности, значение не будет отброшено в процессе сглаживания и будет передано в дальнейшую обработку.

Относительная зона нечувствительности  (флажок «Относительное значение» установлен): при отклонении исходного значения на величину, превышающую указанную в процентных величинах зону нечувствительности, значение не будет отброшено в процессе сглаживания и будет передано в дальнейшую обработку. В качестве 100% принимается последнее достоверное значение.

Сглаживание по времени

Значения, получаемые в течение заданного периода сглаживания, игнорируются. Период сглаживания отсчитывается с момента получения последнего переданного в дальнейшую обработку (= неотброшенного) значения. По истечении периода сглаживания в дальнейшую обработку будет передано первое полученное значение.

Только для сглаживания на уровне архива: при наличии записи keepLastTimeSmoothedValue = 1 в разделе [data] конфигурационного файла config:

  • В случае поступления в течение периода сглаживания нескольких отличных друг от друга значений, будет архивировано последнее полученное значение (если оно отличается от последнего архивированного значения).      
  • Все остальные значения, поступившие в течение периода сглаживания, будут отброшены.   

В примере ниже период сглаживания равен 10 секундам. При отсутствии записи «keepLastTimeSmoothedValue = 1» значение 5 не архивируется (см. столбец «Без записи»). В случае наличия записи «keepLastTimeSmoothedValue = 1» значение 5 архивируется (см. столбец «С записью»).

Пример:

=======

Время          Значение      Без записи: архивир.   С записью: архивир.

0 с                 2              2                                   2

3 с                 3              —                                    —

5 с                 4              —                                   —

9 с                 5              —                                   —

10с                                                                   5

далее 7                          7                                  7

Опция keepLastTimeSmoothedValue применима только в случае сглаживания по времени на уровне архива (настройка сглаживания производится в рамках настройки конфигурационного элемента _archive). Данная опция по умолчанию деактивирована.

Сглаживание по значению И по времени

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

Сглаживание по значению ИЛИ по времени

При сглаживании по значению ИЛИ по времени отбрасываются все значения, получаемые в течение заданного периода сглаживания, ИЛИ не выходящие из зоны нечувствительности. По истечении периода сглаживания и при превышении порога нечувствительности значение не отбрасывается и обрабатывается далее. То есть для дальнейшей обработки значения требуется одновременное выполнение обоих условий (истечение периода сглаживания и выход из зоны нечувствительности).

Сравнение старого и нового значений

Каждое значение, величина и биты состояния которого совпадают с величиной и битами состояния предыдущего значения, отбрасывается. Дополнительная информация о битах состояния приведена в подразделе «Обработка битов состояния при сглаживании» в конце данного раздела.

Сравнение старого и нового значений И сглаживание по времени

Отбрасываются все значения, полученные в течение действующего периода сглаживания, И величины которых совпадают с величинами предыдущих значений.
Это означает, что в течение периода сглаживания в дальнейшую обработку передаются значения с изменившимися величинами или битами состояния. То есть при изменении значения в течение периода сглаживания, данное значение передается в дальнейшую обработку. Сравнение старого и нового значений ограничивается заданным периодом сглаживания. По завершении периода сглаживания новое значение передается в дальнейшую обработку вне зависимости от изменения величины или битов состояния.

Сравнение старого и нового значений ИЛИ сглаживание по времени

В течение периода сглаживания все поступающие значения отбрасываются вне зависимости от величины или битов состояния. По завершении периода сглаживания применяется только сравнение старого и нового значений. Новое значение будет передано в дальнейшую обработку только при изменении величины или битов состояния. Таким образом, действует или сглаживание по времени, ИЛИ сравнение старого и нового значений.

В зависимости от выбранного режима сглаживания, справа отображаются следующие поля для ввода:

В области Период сглаживания:

находятся поля «Секунды» и «Миллисекунды». Данные поля предназначены для ввода временного интервала, в течение которого должно производиться отбрасывание получаемых значений. Секунды и миллисекунды вводятся в виде целых чисел.

 При нажатии данной кнопки открывается дочерняя панель (показана на рисунке ниже), позволяющая задавать временные интервалы с использованием других единиц измерения времени (дней, часов, минут и т.д.). При установке флажка «Временной интервал в секундах» временной интервал отображается в данных единицах измерения. При этом производится пересчет введенного временного интервала в секунды и миллисекунды.

Рисунок: Диалоговое окно временного интервала

«Зона нечувствительности»:Опция «Зона нечувствительности» используется при сглаживании по значению. При установленном флажке «Относительное значение» новое значение не будет отброшено в том случае, если значение отличается в большую или меньшую сторону от последнего достоверного значения более чем на заданный %. Относительная зона нечувствительности не может быть задана при массовом параметрировании. При массовом параметрировании зона нечувствительности задается в абсолютных величинах. Например, при зоне нечувствительности 5, значение не будет отброшено в процессе сглаживания, если значение изменится с 0 на 5.001.

ЗначокПРИМЕЧАНИЕ

Точность задания зоны нечувствительности ограничена тремя десятичными знаками. Подобная точность может приводить к небольшим погрешностям округления при сглаживании, что следует учитывать при настройке сглаживания.

Рисунок: Сглаживание по значению и по времени / сглаживание по значению или по времени

Сглаживание по скорости изменения

ПАНЕЛЬ НАСТРОЙКИ СГЛАЖИВАНИЯ ПО СКОРОСТИ ИЗМЕНЕНИЯ

Сглаживание по скорости изменения аналогично сглаживанию по значению с абсолютной зоной нечувствительности.

Отличие состоит в том, что зона нечувствительности зависит от скорости изменения значения.

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

В самом начале используется вторая зона нечувствительности, поскольку для расчета скорости изменения требуются несколько значений.

В случае примера, представленного на рисунке ниже, в области, в которой изменения синусоидальной функции минимальны, учитываются все значения (диапазон второй зоны нечувствительности равен 0).

В том случае, если скорость изменения превысит порог 1.4, диапазон зоны нечувствительности будет равен 5. То есть для того, чтобы значение не было отброшено, величина значения должна измениться больше, чем на 5 (например, на 5.001). См. рисунок ниже.

Рисунок: Сглаживание по скорости изменения

В случае других настроек (см. рисунок ниже) будут отбрасываться значения с небольшими изменениями (диапазон второй зоны нечувствительности равен 2).

Рисунок: Сглаживание по скорости изменения

Подавление мерцания

В случае подавления мерцания, значения, получаемые в течение заданного периода сглаживания, отбрасываются. Период сглаживания отсчитывается с момента получения последнего переданного в дальнейшую обработку (= неотброшенного) значения.

ПАНЕЛЬ НАСТРОЙКИ ПОДАВЛЕНИЯ МЕРЦАНИЯ

  • При установке флажка «Сравнение старого/нового значений» и задании Периода сглаживания действуют следующие правила: В течение периода сглаживания все поступающие значения отбрасываются вне зависимости от величины или битов состояния. По завершении периода сглаживания применяется только сравнение старого и нового значений. Значения, поступившие позже, направляются в систему/архивируются только при изменении исходного значения или значений битов состояния. Таким образом, действует или сглаживание по времени, ИЛИ сравнение старого и нового значений.
  • Период сглаживания: поля в данной области предназначены для задания периода сглаживания («Секунды» и «Миллисекунды»). Кнопка с изображением часов открывает диалоговое окно, позволяющее указывать период сглаживания с использованием дополнительных единиц измерения. При задании Периода сглаживания все поступающие в течение периода сглаживания значения отбрасываются.

ПРИМЕЧАНИЕ

Подавление мерцания не применимо в отношении значений, передаваемых периферийным устройствам.

Рисунок: Панель настройки подавления мерцания

Обработка битов состояния при сглаживании

В процессе сглаживания учитываются бит Общего запроса, бит недостоверности и пользовательские биты. То есть в дальнейшую обработку передается только значение, величина которого не совпадает с величиной предыдущего значения, ИЛИ один из битов состояния которого не совпадает с соответствующим битом предыдущего значения Бит Общего запроса учитывается только при сглаживании на уровне драйвера.

Бит Общего запроса (значения, получаемые при общем запросе): при использовании режима сглаживания «сглаживать всегда за исключением общего запроса» (значение 1 во внутренней точке данных _DriverCommon.SM) значения с битом общего запроса не отбрасываются никогда.
 

Бит недостоверности (исходное значение недостоверно): Исходное значение может иметь признак недостоверности, если соответствующий бит недостоверности был установлен системой или пользователем. См. дополнительную информацию об атрибуте «_invalid» конфигурационного элемента «_original (Исходные атрибуты)«.

Для обеспечения возможности обработки 32 пользовательских битов в ходе сглаживания, требуется соответствующим образом модифицировать конфигурационный файл config (см. пример ниже. В примере активируется обработка (реакция на) пользовательские биты 1 и 3. Записи необходимо включать в раздел соответствующего драйвера. См. также дополнительную информацию, касающуюся smoothBit). Внимание! Необходимым условием для обработки пользовательских битов является использование smoothBit!

smoothBit = «Userbit 1»
smoothBit = «Userbit 3»

Бит недостоверности и пользовательские биты могут применяться как при сглаживание на уровне архива, так и при сглаживании на уровне драйвера. Необходимо также учитывать, что биты могут использоваться при различных режимах сглаживания: по значению/по времени/комбинированныйсглаживание по значениюсглаживание по значению И по временисглаживание по значению ИЛИ по временисравнение старого и нового значенийсравнение старого и нового значений И сглаживание по временисравнение старого и нового значений ИЛИ сглаживание по временисглаживание по скорости изменения и подавление мерцанияИсключение составляет сглаживание по времени.

_pv_range (Диапазон значений «КАСКАД Цифра»)

Достоверное исходное значение должно всегда находиться в пределах диапазона значений «КАСКАД Цифра». Если исходное значение находится вне диапазона значений Kaskad, то:

  • может быть использовано заменяющее значение
  • значение может быть игнорировано

Если элемент точки данных не имеет настроек для диапазона значений «КАСКАД Цифра», то применяются:

  • диапазон значений типа данных.
  • формат, заданный при помощи конфигурационного элемента  _common (Общее) (например, 9999 для 4 знаков перед запятой).


Диапазон значений «КАСКАД Цифра» контролируется атрибутами конфигурационного элемента _pv_range. Соответствующие атрибуты приведены в Приложении.

Тип диапазонаОписание
Мин.-макс.Ввод граничных значений
Отдельные значенияВвод отдельных значений
СовпадениеАнализ на предмет соответствия шаблону

ПАНЕЛЬ ДИАПАЗОНА ЗНАЧЕНИЙ «КАСКАД ЦИФРА»

Рисунок 39: Панель для настройки контроля за выходом значения из диапазона значений «КАСКАД Цифра» (int, unsigned и float)

Внешний вид панели для настройки контроля за выходом значения переменной из диапазона значений «КАСКАД Цифра» зависит от типа данных.

  • DPE: в выпадающем списке справа вверху отображается имя (описание или псевдоним) редактируемого элемента точки данных.
  • Минимальное значение и Максимальное значение: данные поля предназначены для ввода верхней и нижней границ диапазона значений переменной «КАСКАД Цифра».
    • Включая: данные флажки позволяют указать, должно ли граничное значение входить в диапазон значений.
      • Инвертировать диапазон значений: при установке данного флажка диапазон значений «КАСКАД Цифра» будет находиться вне пределов установленных граничных значений.
        • Игнорировать значения вне диапазона: при установке данного флажка, значения, находящиеся вне рамок диапазона значений «КАСКАД Цифра», не добавляются в базу данных и не обрабатываются. Настройка данной опции доступна всем пользователями.

Отдельные значения

Нижеприведенная панель позволяет включать или исключать отдельные значения.

Рисунок 40: Диапазон значений «КАСКАД Цифра» — назначение допустимых или недопустимых значений.

Совпадение

Для некоторых типов данных возможен анализ значений на предмет соответствия указанному шаблону. Шаблон указывается в панели диапазона значений «КАСКАД Цифра». Побитовое сравнение с шаблоном начинается с последних разрядов. В следующем примере исключаются тексты, содержащие последовательность символов «Тест» в текстах групповых алармов.

Рисунок 41: Панель для настройки анализ значений на предмет соответствия указанному шаблону

_original (Исходные атрибуты)

Панель конфигурирования «Исходные атрибуты» предоставляет информацию о времени источника и состоянии элемента точки данных, то есть информацию, содержащуюся в атрибутах конфигурационных элементов «_original«, «_online» и «_offline«. Соответствующие атрибуты описаны в Приложении.

Исходные значения элементов точек данных являются исходными необработанными значениями или значениями, сформированными в результате преобразования или сглаживания: они предоставляются пользователями, сценариями Control или интерфейсом прикладного программирования (API) системы управления, а также драйвером периферии. Тип данных этих значений соответствует типам данных, присвоенных элементам при создании точек данных.

Текущие значения — это переменные, используемые в образе [технологического] процесса. Достоверными текущими значениями могут являться, в зависимости от состояния процесса и конфигурации,

  • исходные значениями
  • заменяющие значения 

Автономные значения отличаются от текущих значений тем, что они содержат корректирующие значения с различными временами источника. После сжатия значений переменных для соответствующего диапазона времени существуют только автономные значения!

Конфигурационные элементы «_original», «_online» и «_offline» имеют одинаковый набор атрибутов. Атрибуты «_value» и «_stime» могут иметь различные значения для первых двух вышеперечисленных конфигурационных элементов. В противном случае конфигурационный элемент «_online» перенимает всю информацию о состоянии из конфигурационного элемента «_original». Значения конфигурационного элемента «_offline» отличаются от текущих значений тем, что они содержат корректирующие значения, которые могут содержать времена источника, отсутствующие в конфигурационном элементе «_online».

При изменении значений конфигурационных элементов _original, _online, _offline, _corr и _default, сведения о менеджере и пользователе, вызвавших выполнение соответствующей команды, сохраняются в базе данных в атрибутах «_user» и «_manager». Данные атрибуты доступны только для чтения и могут быть опрошены, например, при помощи функций dpGet(), dpGetPeriod(),…

Значения некоторых атрибутов могут быть изменены при помощи панели «Исходные атрибуты»: это исходное значение, переменная и пользовательские биты. При назначении новых значений данным атрибутам в панели, обновленные значения атрибутов применяются только после нажатия кнопок «Применить» или «ОК«!

Панель «Исходные атрибуты»

Для открытия панели необходимо щелкнуть левой кнопкой мыши по конфигурационному элементу _original.

Рисунок: Панель «Исходные атрибуты»

  • DPE: В выпадающем списке справа вверху отображается имя (описание или псевдоним) редактируемого элемента точки данных.
  • Исходное значение: данное поле предназначено для ввода значений пользователем (или системой). Единицы измерения указываются в конфигурационном элементе «_common». Значение может быть применено путем нажатия клавиши «ВВОД» или кнопки «Применить«.

ПРИМЕЧАНИЕ

  • При использовании типов данных «langString» и «dyn_langString», при щелчке по текстовому полю исходного значения открывается многоязычный редактор.
  • Следует учитывать, что для битовых значений используется формат «little endian» (формат следования байтов, начиная с младшего).
    • Время: Текстовые поля (только для чтения), отображающие для значений соответствующие времена источников.
      • Пользователь: Отображает сведения о пользователе, который вызвал выполнение команды.
        • Менеджер: Отображает сведения о менеджере (включая номер), который установил данное значение. Поле предназначено только для чтения. Атрибуты _user и _manager конфигурационных элементов   _original, _online, _offline, _corr и _default могут быть только опрошены, но не могут быть изменены.
          • Система: Отображает номер системы, установившей последнее значение.

ПРИМЕЧАНИЕ

Номер системы корректно отображается только после изменения значения элемента точки данных. Если значение не изменялось с момента запуска проекта, то в качестве номера системы отображается 0. Подобное некорректное поведение возникает только после перезапуска проекта. При перезапуске PARA будет отображен номер системы, установившей последнее значение.

ПРИМЕЧАНИЕ

Запрос dpGetPeriod/dpQuery на получение значений атрибутов _user и _manager из «старых» архивов всегда возвращает 0, так как данные атрибуты не использовались в версиях <3.0 !

ВНИМАНИЕ

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

Динамические массивы

Для динамических массивов панель несколько отличается, так как в этом случае может существовать большее количество исходных значений:

  • Список исходных значений: отображает значения, заданные пользователем или системой. Если список содержит более семи элементов, то справа появляется полоса прокрутки.
  • Поле для ввода исходных значений: под списком.
    • Количество элементов отображается над списком.
      • Кнопкистандартные кнопки, используемые для управления последовательностью элементов в списке, а также для изменения или удаления.
        • Текущие значения: отображаются в выпадающем списке.

Time (Время)

Исходные или текущие значения переменных типа «time» могут отображаться с использованием двух видов представления:

  • Момент времени: устанавливаемый момент времени указывается с использованием даты и времени.
  • Период: устанавливаемый момент времени указывается как временной интервал в секундах, отсчитываемый от момента времени 01.01.1970, 00.00 (UTC) до устанавливаемого момента времени.

При смене вида представления момент времени конвертируется во временной период и наоборот.

ВНИМАНИЕ

Для установки времени может быть использован календарь (для открытия необходимо щелкнуть левой кнопкой мыши по соответствующей кнопке на панели исходных атрибутов). Следует иметь в виду, что для использования календаря необходимо установить пакет Office для Windows!

ВНИМАНИЕ

UTC (coordinated universal time (универсальное глобальное время), ранее известное как GMT = Greenwich Mean Time (среднее время по Гринвичу)), соответствует CET (Central European Time (Центральноевропейское время)) минус один час!

Время источника / Текст аларма

В полях «Время» отображаются времена источников для исходного значения и текущего значения. Время источника — это время изменения значения на стороне периферии или в системе «КАСКАД Цифра». В том случае, если со стороны периферии передаваемому значению не может быть присвоена метка времени, время источника соответствует моменту времени, в который изменение значения было зарегистрировано в системе «КАСКАД Цифра». Если значение было изменено непосредственно системой «КАСКАД Цифра», то время источника соответствует времени системы.

При настроенной обработке алармов в полях «Текст аларма» отображается текст текущего аларма. При отсутствии обработки алармов в данном поле отображается пустая строка.

Изменяемые биты / Информационные биты

Изменяемые биты и информационные биты детально представлены в отдельной панели, открываемой при нажатии на кнопку «Детали». При нажатии кнопки «Справка» открывается раздел справки, посвященный конфигурационному элементу _original .

Рисунок: Панель с детальной информацией

Для установки / сброса любого из четырех битов фиксированных атрибутов необходимо щелкнуть по соответствующему полю флажка изменяемого бита.

Бит (в скобка — текст на панели с детальной информацией)Комментарий
Активно(Переменная активна)Если данный бит снят, то все изменения значения данного элемента точки данных игнорируются системой «КАСКАД Цифра».
Заменяющее значение(Заменяющее значение применено явно)Данный бит установлен, если со стороны пользователя, сценария или API предписано использование заменяющего значения в качестве текущего значения.
Недостоверно(Недостоверность исходного значения задана явно)Данный бит установлен, если  исходное значение объявлено недостоверным пользователем, сценарием или API .
Последнее значение(Сохранение последнего значения задано явно)При установке данного бита используется последнее значение.

Пользовательские биты

Пользовательские биты (до 32-х) позволяют выводить дополнительную информацию о состоянии переменных точек данных. Их значения отображаются в виде флажков.

Начиная с версии 3.8 «КАСКАД Цифра», количество пользовательских битов было увеличено с 8 до 32. При этом обеспечена возможность обмена данными между подсистемами в распределенной системе.

Возможны следующие случаи:

Локальная система имеет версию >= 3.8

Все 32 бита отображаются и могут быть заданы в локальной системе. Система-партнер (версии <  3.8) отображает 8 бит, только эти биты могут быть заданы.

Локальная система имеет версию < 3.7

В локальной системе отображаются и могут быть заданы  8 бит. Система-партнер (версии >= 3.8) отображает 8 из 32 бит — 24 бита неактивны (не отображаются). Если локальная система устанавливает пользовательские биты в системе-партнере, то изменения выполняются безошибочно. Прочие (не отображаемые) 24 бита не изменяются.

Неизменяемые биты

Прямоугольники в области «Информационные биты» отображают состояние нижеперечисленных битов. Данные биты недоступны для изменения со стороны пользователей.

БитКомментарий
Заменяющее значение 
L — применено согласно внутренней логикеПри соответствующей настройке правил использования заменяющего значения, к установке данного бита может приводить установка бита «Вне диапазона значений «КАСКАД Цифра»» и / или бита «Исходное значение недостоверно».
E — применено явно ИЛИ согласно логикеДанный бит принимает значение «1», если использование заменяющего значения было предписано явно или согласно внутренней логике.
Запрос 
G — ОбщийДанный бит принимает значение «1», если значение было получено в рамках общего запроса. Общие запросы охватывают все значения, которые могут быть получены драйвером от периферии. Для элементов точек данных, не охваченных общим запросом, значение данного бита всегда будет равняться «0».
I — ИндивидуальныйДанный бит принимает значение «1», если значение было получено на основании запроса к периферии (например, запроса со стороны пользователя или системы управления) на предоставление значения, а не направлено периферией самостоятельно.
Диапазон 
V — Выход за пределы диапазона значенийДанный бит принимает значение «1», если обнаружен выход значения за пределы диапазона значений  «КАСКАД Цифра». Диапазон значений переменной «КАСКАД Цифра» — максимально допустимый диапазон для данной переменной в системе управления. Он может быть задан отдельно для каждого элемента точки данных. Если данный диапазон не был настроен, то применяются граничные значения для соответствующего типа данных.
X — Выход за пределы максимального диапазонаДанный бит принимает значение «1», если произошел выход за пределы диапазона, действующего для типа данных переменной. При установке данного бита также всегда устанавливается бит «Выход за пределы диапазона значений [«КАСКАД Цифра»]».
  
Недостоверно 
D — Заменяющее значениеДанный бит имеет значение «1», если заменяющее значение не было определено. В подобном случае текущее значение всегда равняется исходному значению.
N — Текущее значениеДанный бит принимает значение «1», если соответствующее значение (т. е. исходное значение или заменяющее значение) недостоверно.
F — Автономное значениеДанный бит принимает значение «1», если соответствующее значение (исходное, заменяющее или корректирующее, которое может быть действительным автономным значением) недостоверно. Автономные значения используются для ведения истории или для подготовки отчетов. Для этой цели действительные текущие значения могут быть отброшены и заменены корректирующим значением, которое затем записывается в базу данных.
S — Время источникаДанный бит принимает значение «1», если время источника было скорректировано менеджером событий.
Причина недостоверности 
D — Драйвер«1» — Недостоверность установлена драйвером, в противном случае — «0».
E — Явно ИЛИ драйвер«1» — Недостоверность установлена явно или драйвером, в противном случае — «0».
R — Выход за пределы диапазона ИЛИ явно ИЛИ  драйвер«1» — Выход за пределы диапазона значений или недостоверность установлена драйвером или задана явно, в противном случае — «0».

_lock (Блокировка)

Данный конфигурационный элемент позволяет защитить конфигурационные элементы элементов точек данных от неавторизованных изменений.

Для открытия панели для настройки блокировки конфигурационных элементов необходимо щелкнуть левой кнопкой мыши по конфигурационному элементу «_lock». Текущее состояние всех конфигурационных элементов редактируемого элемента точки данных отображается в столбце «Заблокировано». Соответствующие атрибуты приведены в Приложении.

ВНИМАНИЕ

При копировании точки данных копируется также конфигурационный элемент _lock. При этом настройки конфигурационного элемента не копируются.

Рисунок: Панель настройки блокировки конфигурационных элементов

ПАНЕЛЬ НАСТРОЙКИ БЛОКИРОВКИ КОНФИГУРАЦИОННЫХ ЭЛЕМЕНТОВ

  • В выпадающем списке справа вверху отображается имя (описание или псевдоним) редактируемого элемента точки данных.
  • Для переключения настройки блокировки (с «Нет» на «Да» или наоборот) для интересующего конфигурационного элемента необходимо щелкнуть левой кнопкой мыши по текущему значению в столбце «Заблокировано».
  • При активации блокировки, имя вызвавшего блокировку менеджера («Менеджер»), его номер («№»), имя хоста и имя пользователя, запросившего блокировку, заполняются автоматически.
  • Для завершения настройки необходимо нажать на кнопку «Закрыть«.

Если конфигурационный элемент заблокирован, то только менеджер, заблокировавший данный конфигурационный элемент, может производить изменение атрибутов этого элемента, тогда как чтение атрибутов доступно любому менеджеру. При остановке менеджера отменяются все установленные им блокировки. Блокировки не хранятся в базе данных и не могут быть наследованы в рамках точки данных. Конфигурационный элемент _lock удалить невозможно.

ПРИМЕР

Блокировка также может быть установлена при помощи функции dpSet(). «Detail» в примере ниже обозначает конфигурационный элемент, подлежащий блокировке:

dpSet(«dp.:_lock.Detail._locked»,1)

Для отмены блокировки:

dpSet(«dp.:_lock.Detail._locked»,0)

Пример разблокировки конфигурационных элементов «_original» и «_corr»:

dpSet(«dp.:_lock._original._locked», 0);

dpSet(«dp.:_lock._corr._locked», 0);

Конфигурационный элемент _lock создается автоматически при создании точки данных. Создание данного конфигурационного элемента вручную не требуется.

ПРИМЕЧАНИЕ

При работе с резервированными системами необходимо иметь в виду, что если, например, WCCOActrl -num 1 блокирует конфигурационный элемент на первом хосте, то WCCOActrl -num 1, работающий на другом хосте, не может разблокировать данный конфигурационный элемент.

_general (Прочее)

Конфигурационный элемент _general позволяет хранить произвольные значения. Атрибуты конфигурационного элемента _general именуются в соответствии с типами данных «КАСКАД Цифра» — int, float, string и т.д. При этом существуют атрибуты для каждого из типов, например, от _float_01/ _int_01 до _float_05/ _int_05. Допустимые типы данных для атрибутов приведены в следующей таблице:

АтрибутТип
_char_01char
_unsigned_01uint
_int_01int
_float_01float
_bool_01bool
_bit32_01bit32
_string_01string
_time_01time
_dpid_01dpid
_langString_01langString
_dyn_char_01dyn_char
_dyn_unsigned_01dyn_uint
_dyn_int_01dyn_int
_dyn_float_01dyn_float
_dyn_bool_01dyn_bool
_dyn_bit32_01dyn_bit32
_dyn_string_01dyn_string
_dyn_time_01dyn_time
_dyn_dpid_01dyn_dpid
_dyn_langString_01dyn_langString

Создание конфигурационного элемента _general и присвоение значений его атрибутам могут быть выполнены следующим образом:

dpSet(«System1:TestDP.Float:_general.._type», DPCONFIG_GENERAL); /*создание конфигурационного элемента*/

string test = «System1:TestDP.Float:_general..»;

float TestFloat = 11.4;

dpSet(test+entry1.text, TestFloat); /* Присвоение значения атрибуту. Атрибут указывается в текстовом поле «entry1», которое предварительно необходимо создать в GEDI. Допустимо указать любой из упомянутых ранее атрибутов. */

В примере выше атрибут конфигурационного элемента указывается в текстовом поле. Атрибут также можно задать напрямую следующим образом:

string test = «System1:TestDP.Float:_general.._float_01»; /*из списка атрибутов, представленных в таблице выше, может быть выбран любой атрибут */

ПРИМЕЧАНИЕ

Атрибуты конфигурационного элемента _general могут быть также настроены для узлов. При этом результаты настройки не передаются на дочерние узлы. Например, при присвоении значения атрибуту System1:abc.:_general.._float_01 не происходит присвоения значения какому-либо другому атрибуту другого конфигурационного элемента _general этой же точки данных. При опросе также возвращаются только значения для настроенного узла.

_dp_fct (Функция точки данных)

Конфигурационный элемент _dp_fct предназначен для назначения элементу точки данных желаемой функции. Настройка конфигурационного элемента производится при помощи конфигурационной панели. Использование функций позволяет устанавливать математические связи между точками данных. Функция точки данных содержит один или несколько параметров, которые используются для расчета значения заданной функции и для присвоения рассчитанного значения исходному значению элемента точки данных. Допустимые параметры p1…pn являются исходными или текущими значениями других элементов точек данных.

ПРИМЕЧАНИЕ

Во избежание зацикливания функции не следует использовать элемент точки данных в качестве параметра его же функции.

Собственно функция представляет собой математическую связь между параметрами. Функции точек данных так же могут назначаться элементам точек данных в сценариях Control при помощи функции dpSet() (см. функции Control).

IconПРИМЕЧАНИЕ

В качестве параметров функции следует использовать только точки данных, принадлежащие той же системе, в которой находится элемент точки данных, к которому относится функция!

Для открытия конфигурационной панели для настройки функции необходимо щелкнуть левой кнопкой мыши по конфигурационному элементу «_dp_fct». В выпадающем списке справа вверху отображается имя (описание или псевдоним) редактируемого элемента точки данных. В выпадающем списке «Тип функции» доступны следующие опции:

  • Подключение DPE
  • Статистическая функция

Для открытия панели настройки функции необходимо нажать кнопку «Настроить…«. При нажатии кнопки «Закрыть» окно панели закрывается.

Рисунок. Панель функции точки данных

Функция точки данных

Атрибуты конфигурационного элемента приведены в Приложении.

ПАНЕЛЬ ФУНКЦИИ ТОЧКИ ДАННЫХ

При выборе типа функции «Подключение DPE» и нажатии кнопки «Настроить…» будет открыта следующая панель:

Рисунок. Панель функции точки данных

Параметры

В списке параметров указываются параметры, которые будут использоваться функцией при расчете результата.

  • Ввод нового параметра производится в текстовом поле справа от текста «p..=».
  • Управление последовательностью параметров производится при помощи кнопок (см. Кнопки). Текущий элемент в списке параметров отображается выделением.
    • Для удаления выделенного элемента из списка параметров необходимо нажать кнопку «Удалить«( Х ).
      • Для изменения элемента необходимо выбрать интересующий элемент щелчком левой кнопки мыши по данному элементу, указать новое значение в текстовом поле (справа от текста «p..=») и затем нажать кнопку «Изменить» (зеленая «галка»).
        • Ввод значения в текстовое поле также возможен при помощи селектора точек данных, который открывается при нажатии кнопки, находящейся справа от поля.

ВНИМАНИЕ

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

Для функции точки данных имеется возможность задания глобальной переменной. Значение для установки глобальной переменной считывается только один раз, после чего изменения источника значения для глобальной переменной не учитываются. Для примера на картинке выше это означает, что значение функции всегда умножается на одно и то же значение «g1». В выражении в поле «Функция:» также допустимо использование функции из библиотеки CTRL (<путь_проекта>/libs), при этом возвращаемое функцией значение может быть использовано в расчетах.

Функция

Данное поле используется для определения функции точки данных и для связи параметров друг с другом. Здесь вводятся заданные параметры p1, p2, … и математические связи. Допустимо использование операторов +,-,*,/,%,&,|,^,~,<<,>>, &&, ||, ?, <,>,<=,>=,==,!=,++ , см. Operators in CONTROL.

ПРИМЕР

Приведенный ниже простой пример демонстрирует возможности использования функций точек данных. В примере требуется рассчитать сумму C=A+B. Имеются три (существующих) элемента точки данных типа «float» — «DPE_C», «DPE_A» и «DPE_B».

  1. При помощи контекстного меню для добавления конфигурационных элементов элементу точки данных «DPE_C» необходимо добавить конфигурационный элемент «Функция точки данных» ( _dp_fct ).
  2. Для открытия панели конфигурирования функции точки данных щелкнуть левой кнопкой мыши по конфигурационному элементе «_dp_fct» элемента точки данных «DPE_C».
  3. В выпадающем списке «Тип функции» выбрать тип «Подключение DPE».
  4. Нажать кнопку «Настроить…» для открытия следующей конфигурационной панели.
  5. В текстовом поле ( рядом с текстом «p..=» ) ввести первый параметр «DPE_A.:_original.._value».
  6. Нажать кнопку для добавления параметра в список параметров (например, кнопку «Следующая позиция»).
  7. Затем ввести второй параметр «DPE_B.:_original.._value» и нажать кнопку для добавления (например, кнопку «Следующая позиция»).
  8. Ввести выражение «p1+p2» в поле «Функция».
  9. Нажать кнопку «OK» для сохранения выполненных изменений функции точки данных для элемента «DPE_C» и закрытия панели.

Статистические функции

Статистические функции используются для расчета статистических значений (например, среднего, максимального значения и т.п.) для определенного интервала времени для текущих (online) значений, исходных (original) значений и автономных (offline) значений (см. Корректирующие значения и статистические функции). В зависимости от настроек также могут учитываться описатели качества (биты состояния). На панели имеются три вкладки:

Рисунок. Статистические функции — вкладка «Параметры»

Вкладка «Параметры»

  • В выпадающем списке справа вверху отображается имя (описание или псевдоним) редактируемого элемента точки данных.
        • Атрибуты точек данных выбираются с помощью селектора точек данных, вызываемого путем нажатия соответствующей кнопки, или вводятся непосредственно в текстовое поле. Ввод параметров является обязательным.
          • Управление последовательностью параметров производится при помощи кнопок (см. Кнопки).
            • Справа от текста «p..=»  находится выпадающий список, обеспечивающий выбор различных статистических функций.
              • В области ниже опционально могут быть указаны глобальные переменные. Также как и в функции точки данных, значение для глобальной переменной считывается только один раз, после чего изменения источника значения для глобальной переменной не учитываются (см. информацию выше).
                • Справа от текста «Результат =» расположено текстовое поле для ввода правила расчета результата.
      Типint / floatбитвсеКонстанты языка ControlКомментарий
      Мин. значениеда  SF_MIN 
      Макс. значениеда  SF_MAX 
      Время мин. знач.нет (время)  SF_MIN_TIMEВремя появления минимального значения
      Время макс. знач.нет (время)  SF_MAX_TIMEВремя появления максимального значения
      КоличестводададаSF_NUMBER 
      Суммада  SF_SUM 
      Интеграл 0да  SF_INTEGRAL0Интеграл функции ступенчатой интерполяции (интерполятора нулевого порядка)
      Интеграл 1да  SF_INTEGRAL1Интеграл функции линейной интерполяции (интерполятора первого порядка)
      Среднее значениеда  SF_AVGСумма/Количество
      Средн. знач. 0да  SF_AVG_WT0Интеграл функции ступенчатой интерполяции (интерполятора нулевого порядка) / Время
      Средн. знач. 1да  SF_AVG_WT1Интеграл функции линейной интерполяции (интерполятора первого порядка) / Время
      Длит. 0 да SF_TIME0Длительность состояния 0
      Длит. 1 да SF_TIME1Длительность состояния 1
      Любой фронт да SF_CHANGESКоличество изменений состояния (как 0 -> 1, так и 1 -> 0)
      Фронт 0 ->1 да SF_CHANGES01Количество изменений состояния 0-> 1
      Фронт 1->0 да SF_CHANGES10Количество изменений состояния 1 -> 0
      Начальное значениеда  SF_SAMPLEЗначение в начале интервала
      Конечное значениеда  SF_ENDVALUEЗначение в конце интервала
      Разностьда  SF_DIFFКонечное значение минус начальное значение

      Минимальное и максимальное значения рассчитываются на основании ступенчатой интерполяции, а не на основании набора значений, т.е. времена появления минимального и максимального значений всегда находятся в текущем диапазоне даже при отсутствии новых значений в рассматриваемом временном интервале (при этом минимальному и максимальному значениям подобного интервала присваивается первая известная метка времени).

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

      Вкладка «Синхронизация»

      Рисунок. Вкладка «Синхронизация»

      Вкладка «Синхронизация» предназначена для задания параметров, связанных со временем.

      ПРИМЕР

      1. Поле «Временной интервал расчета» предназначено для указания периода, для которого производится расчет. Например, значение 86400 секунд соответствует периоду в 1 сутки. Кнопка с изображением часов открывает диалоговое окно, позволяющее указывать период в днях, часах и т.д. (Рисунок: Диалоговое окно временного интервала).
      2. Область «Запустить расчет» предназначена для указания момента времени запуска расчета, например, каждое воскресенье в 0ч00м00с. В этом случае будут рассчитываться средние значения для каждого дня недели. Примечание: вычисление производится не только по воскресным дням, но начиная с времени синхронизации каждые «Х» секунд (X = временной интервал расчета. В случае для рисунка выше — каждые 3600 секунд (каждый час).
      3. При установке флажка «Автозадержка» (при этом поле для ввода справа от флажка и текст «[c] задержка» становятся невидимыми) функция автоматически ожидает появления первого значения, которое находится за пределами интервала. Например, в случае часового интервала (и использования лабораторных значений), функция добавляет первое значение, которое не попадает в часовой интервал, в следующий часовой интервал. При снятом флажке «Автозадержка», в поле для ввода справа от флажка возможно ввести значение, которое будет сдвигать расчет на соответствующее время. Например, средние значения за день будут определяться после и на основании расчета средних значений за час.
        При создании новой точки данных имеется возможность задания момента времени, который до одной недели предшествует дате создания точки данных. Допустим, сегодня 24 июля 2007г. Создается новая точка данных со статистической функцией с задержкой расчета, после чего историческое значение записывается в точку данных с датой 20 июля 2007г., 10:1.

      ПРИМЕЧАНИЕ

      При задании для мастер-точки данных времени задержки, которое равняется временному интервалу расчета, для точек данных, созданных на основании мастер-точки данных, будут заданы произвольные времена задержки:

      Значение за каждую минуту  ->  10 — 50

      Значение за каждые 5 минут ->  70 — 200

      Значение за каждые 10, 15 минут ->  210 — 600

      Значение за каждый час   ->  610 — 1800

      Значение за каждый день  ->  1810 — 3600

      Значение за каждый месяц   ->  3610 — 10000

      Значение за период больше одного месяца ->  14410 — 18010   -> через 5 часов так же рассчитываются значения за год!!

      При наличии, например, типа точек данных с уровнем сжатия «Значение за каждые 5 минут», при установке Автозадержки для статистической функции мастер-точки данных, равной временному интервалу расчета, то время автоматической задержки для элемента «C1» (значение за каждые 5 минут) точки данных (созданной с типом сжатия AC) будет выбрано в диапазоне от 70 до 200 (см. список выше).

      1. Скользящий расчет. Данная опция позволяет рассчитывать среднее, максимальное и другие значения (скользящий расчет можно активировать для любой статистической функции), например, для последних четырех 15-минутных значений, полученных в течение последних часов (при Временном интервале расчета — 1 час). Интервал должен иметь тип «целое число». Количество рассчитанных значений зависит от Временного интервала расчета и Частичного интервала. Например, при Временном интервале расчета 1 час и Частичном интервале 10 минут, будут рассчитаны 6 значений.
      2. Инициализировать вычисление из архива. Данный флажок следует установить при необходимости определения значений за месяц. Если данный флажок установлен, после запуска системы данные за текущий период будут считываться из архива и использоваться в расчетах.

      Данную опцию следует выбирать для тех интервалов вычисления, для которых

      1. входные сигналы были сохранены в архиве.
      2. интервал времени расчета больше среднего времени запуска проекта.
      3. Сохранять промежуточные результаты с интервалом. Установка данного флажка позволяет циклически выводить промежуточные результаты. Например, в ходе текущего определения дневного максимума пользователь может наблюдать промежуточный результат максимального суточного значения. Интервал времени расчета указывается в поле ввода, которое становится доступным при установленном флажке.

      ПРИМЕЧАНИЕ

      Значение, которое находится точно на границе интервалов, включается в расчет интервала, начинающегося с данной границы.

      ПРИМЕЧАНИЕ

      В том случае, если менеджер событий не справляется со своевременным расчетом статистических функций (например, вследствие перегрузки), начиная c задержки в n интервалов (вне зависимости от времени задержки!), более давние периоды в буфере будут удалены, при этом будет отображено соответствующее сообщение и будет рассчитан последний интервал n, который задается при помощи записи statFctMaxIntervalsInPast в конфигурационном файле config (по умолчанию n=3). Во внимание принимаются 3 интервала (период с конца интервала до текущего момента). Это также относится к функциям с задержкой расчета значений. Они должны быть выполнены в течение трех периодов, иначе пропущенные периоды будут удалены.

      Вкладка «Биты»

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

      Рисунок. Вкладка настройки битов.

      При этом имеется возможность обработки следующих описателей качества.

      Проверяемый бит состоянияДобавляемый бит состояния
      недостоверное значениеaut_inv
      заменяющее значениеexp_default
      пользовательский бит 1userbit1
      ….….
      пользовательский бит 8userbit8

      В столбце приведены все биты, которые могут влиять на результат вычисления. Для каждого бита может быть установлено одно пороговое значение. Для этого необходимо ввести значение в соответствующее поле.

      Выпадающий список «Обработка битов состояния» позволяет выбрать одну из следующих опций:

      • Не учитывать: бит состояния не учитывается в расчетах (по умолчанию); статистические функции рассчитываются так же, как и в более ранних версиях программы (режим совместимости).
      • Игнорировать значение: значения, для которых был установлен выбранный бит (бит выбирается путем установки флажка), будут обрабатываться так, как будто они никогда не появлялись; при этом Временной интервал расчета для статистических функций не изменяется. При установке флажков для нескольких битов, значения данных битов объединяются логическим «ИЛИ», результат объединения используется далее в расчете. Для всех перечисленных здесь битов должно быть настроено одинаковое правило обработки битов состояния (например, при выполнении настройки с использованием менеджера ASCII). В противном случае будет выведено сообщение об ошибке при параметрировании.
        • Игнорировать период: период, в течение которого данный бит был установлен, не учитывается в расчете. При установке флажков для нескольких битов, значения данных битов объединяются логическим «ИЛИ», результат объединения используется далее в расчете. Для всех перечисленных здесь битов должно быть настроено одинаковое правило обработки битов состояния (например, при выполнении настройки с использованием менеджера ASCII). В противном случае будет выведено сообщение об ошибке при параметрировании.
          • Передать биты: бит состояния не учитывается в расчетах (по умолчанию); статистические функции рассчитываются так же, как и в более ранних версиях программы (режим совместимости). Помимо этого, бит состояния присваивается результату расчета в зависимости от установленного порогового значения.

      Пороговое значение («Порог«) представляет собой значение в процентах, которое оценивается следующим образом:

      • Если бит был установлен в течение промежутка времени, большего чем указанный % от Временного интервала расчета, то значение данного бита присваивается результатам расчета (бит недостоверности и бит заменяющего значения являются битами «только для чтения» и не могут добавляться непосредственно).
      • При Пороге = 0% значение бита присваивается вне зависимости от периода, в течение которого бит был установлен.
      • При отрицательном значении (по умолчанию = -1), бит не присваивается никогда. В имеющихся статистических функциях бит «aut_inv» также устанавливается при появлении внутренней ошибки. Данное состояние «недостоверности» объединяется логическим «ИЛИ» с состоянием бита недостоверности.

      Рисунок. Примеры расчетов с использованием статистических функций

      Корректирующие значения в статистических функциях

      Статистические функции точек данных имеют возможность обработки корректирующих значений. Обработка выполняется автоматически при применении функции точки данных к конфигурационному элементу «_offline.._value» (но не к «_original/_online.._value»). Подробнее:

      Если со стороны пользователя создается корректирующее значение «xx.:_corr.._value» для точки данных, которая является источником значений для другой статистической функции, то менеджером событий будет выполнен пересчет статистической функции. Возможны два случая:

      Значение для интервала еще не рассчитано

      Если для интервала еще не закончены вычисления, то корректирующее значение включается в текущий расчет в конце интервала. Дополнительно:

      • зависимое значение (в примерах это значение за день) будет отмечено как «корректирующее» только в случае, если изменение превышает величину «statFctLimitForMarkAsCorrcted» (по умолчанию: 0; см. ниже) от значения за день без коррекции.
      • в остальных случаях значение не отмечается как «корректирующее». Для принятия данного решения значение БЕЗ КОРРЕКЦИИ (текущее значение) сравнивается со значением С КОРРЕКЦИЕЙ (автономное значение) (см. Запись в конфигурационном файле «statFctInheritCorrValues»).

      ПРИМЕР

      Необходимо получить средние значения за каждый час, день и месяц. Значение за час для 02:00 корректируется в 06:00. При этом суточное значение, которое будет рассчитываться в 24:00, будет вычисляться уже с учетом данной коррекции.

      Значение для интервала уже рассчитано

      Если вычисления для интервала уже закончены, то для того, чтобы значение было отмечено как «корректирующее», расчет должен производиться с использованием значений из истории.

      ПРИМЕЧАНИЕ

      Данное корректирующее значение затем может использоваться для расчета в другой статистической функции (рекурсия!).

      ПРИМЕР

      Вчерашнее значение за час, полученное в 02:00, корректируется значением, полученным сегодня в 06:00. После этого пересчитывается уже рассчитанное суточное значение. Это суточное значение для вчерашнего дня, в свою очередь, используется для расчета значения за месяц, которое еще не вычислено. Данное значение за месяц будет рассчитываться в соответствии с первым методом.

      statFctInheritCorrValues

      Поведение статистической функции может быть настроено при помощи конфигурационного файла. Запись «statFctInheritCorrValues» (тип: bool, значение по умолчанию: 1) определяет необходимость использования в расчетах корректирующих значений. По умолчанию корректирующие значения включаются в расчет.

      [general]
      statFctInheritCorrValues = 1

      При значении 0 корректирующие значения не учитываются, статистические функции выполняются как обычно.

      statFctLimitForMarkAsCorrected

      Запись «statFctLimitForMarkAsCorrected» (предпосылка: «statFctInheritCorrValue = 1») определяет порог для полученных корректирующих значений (тип: int, значение по умолчанию: 0, диапазон 0-1000 ‰ (тысячных долей)).

      [general]
      statFctLimitForMarkAsCorrected = 0

      Если значение равно 0, все значения отмечаются как «корректирующие». При значении > 0 будут отмечаться только те значения, изменение которых превышает x ‰.

      ВНИМАНИЕ

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

      Если корректирующее значение влияет на последнее значение интервала, все последующие интервалы (до тех интервалов, в которых корректирующее значение уже не будет вызывать никаких изменений) должны были бы быть пересчитаны заново (в зависимости от статистических функций и значений).

      ПРИМЕР

      Некоторое количество дней присутствовало постоянное значение 10, на основании которого было рассчитано среднесуточное значение 10. При корректировке пользователем одного из значений с 10 на 15,  все последующие интервалы в этом временном диапазоне должны были бы быть пересчитаны заново, однако этого не происходит. При установке нового корректирующего значения изменится только среднесуточное значение для дня, к которому относится корректирующее значение. Для всех последующих дней среднее значение 10 останется неизменным. В дальнейшем будет автоматически скорректировано только среднее значение за ту неделю, которая включает в себя день, к которому относятся корректировки; при этом значения за последующие недели не будут скорректированы.