Атрибуты канала M-РЕСУРС

  Обобщение данных по ресурсу

  Аналитический учет потребления ресурса

При описании атрибутов канала M-Ресурс указаны соответствующие поля редактора (см. Редактор канала M-РЕСУРС ):

   (000) R – остаток ресурса (количество). Начальное значение этого атрибута задается на вкладке Параметры ресурса редактора (поле Остаток). В дальнейшем значение атрибута вычисляется автоматически:

   в неинтегрирующем канале: R=R+In-Q;

   в интегрирующем канале c (085) dTOff=0: R=R+In*T-Q (T – период пересчета канала в секундах, перевод периода в секунды выполняется автоматически);

   в интегрирующем канале c (085) dTOff=1: R=R+In*T/3600-Q;

Приведенные формулы справедливы для такта пересчета, на котором  в Q подано значение (в том числе и равное предыдущему), в противном случае эту величину из формул нужно убрать;

   (001) A – не используется;

   (002) In в этот атрибут подается количество пришедшего ресурса (положительное число) в случае неинтегрирующего канала или величина производной количества – в случае интегрирующего канала;

   (003-008) – эти атрибуты имеют стандартное назначение  (см. Общие атрибуты каналов ).

Атрибут (006, D) Тенденция не вычисляется.

Атрибут (007, P) указывает интервал, в котором находится значение атрибута R:

   P=1, если R>=HA;

   P=0, если LA<R<=HA;

   P=2, если R<=LA;

   (009) Q – в этот атрибут подается положительное значение, интерпретируемое как запрос на выдачу ресурса (количество). Если Q<=R, запрос выполняется (уменьшается остаток, его стоимость и т.д.), в противном случае запрос не выполняется (параметры ресурса не изменяются);

   (010) In2 – этот атрибут хранит значение прихода ресурса;

   (026) Price_In – в этот атрибут подается значение, соответствующее цене поступившего ресурса. Если эта цена задана, стоимость поступившего ресурса рассчитывается по ней (если в канале не используется тарифная сетка);

   (027) Price_Def – типовая цена ресурса (Параметры ресурса / Типовая цена). Если не задана цена Price_In, стоимость поступившего ресурса рассчитывается по Price_Def (если в канале не используется тарифная сетка);

   (028) HA – максимально допустимое количество ресурса (Параметры ресурса / Верхний предел). Если R>HA, соответствующее сообщение заносится в отчет тревог;

Сообщения по каналу M-РЕСУРС заносятся в ОТ также в некоторых других случаях (см. Сообщения по каналу M-РЕСУРС ).

   (029) LA – минимально допустимое количество ресурса (Параметры ресурса / Нижний предел). Если R<LA, соответствующее сообщение заносится в отчет тревог;

   (030) COST_is – стоимость остатка ресурса. Начальное значение этого атрибута задается на вкладке Параметры ресурса редактора (поле Стоимость остатка), в дальнейшем вычисляется автоматически;

   (031) PH_is  R;

   (032) Cost_Out – стоимость выданного количества ресурса, вычисляется автоматически при выполнении запроса на выдачу:

   в канале без учета партий (атрибут 084, Qio равен 1) выдача ресурса производится по средней цене, т.е. Cost_Out =(Cost_is/R)*Q;

   в канале с учетом партий (Qio = 0) запрошенное количество ресурса формируется из партий по алгоритму FIFO по цене партий;

   (033) ResID – идентификатор (номер) ресурса (Параметры ресурса / Идентификатор);

   (035) Q_of_in – автоматически вычисляемый атрибут. Если значение атрибута (084, Qio) равно 0 (т.е. учет партий ведется), Q_of_in равно числу оставшихся в наличии партий ресурса (другими словами, Q_of_in индицирует текущую глубину стека FIFO, в котором хранятся данные о партиях);

   (036) in_id – в этот атрибут подается значение, соответствующее ID поставщика ресурса;

   (037) out_id – автоматически вычисляемый атрибут. Если атрибут 084, Qio равен 0 (учет партий ведется), при выдаче ресурса out_id индицирует ID поставщика последней партии, которая задействована для формирования запрошенного количества ресурса;

   (038, 039) – эти атрибуты имеют стандартное назначение  (см. Общие атрибуты каналов );

   (040) IntDif – флаг Поставка партиями (см. Редактор канала M-РЕСУРС );

   (041-049) – эти атрибуты имеют стандартное назначение  (см. Общие атрибуты каналов );

   (051) bIO – не используется;

   (052) FS – не используется;

   (053) multdT – флаг Интегрировать (см. Редактор канала M-РЕСУРС );

   (054) in_POS – вход; значение этого атрибута задает позицию (начиная с 0) в стеке FIFO, в котором хранятся данные об оставшихся партиях ресурса (стек инициализируется в канале, если значение атрибута 084, Qio равно 0). Данные из указанной с помощью in_POS позиции стека записываются в атрибуты 128, i_ph (объем партии); 129, i_price (цена ресурса в партии); 130, i_time (время прихода партии). В атрибут 131, o_ph данная информация записывается в комбинированном виде:

Данные о партиях (кроме ID поставщика) записываются в автоматически создаваемые аргументы канала:

Если (040) IntDif=0 и (084) Qio=0, стек хранит архив значений канала;

   (055) tarif – индекс тарифной сетки (Тарифы / Индекс тарифа), натуральное число. Если в редакторе Индекс тарифа = N, в мониторе tarif = N-1;

   (056-061, 078-083) – эти атрибуты имеют стандартное назначение  (см. Общие атрибуты каналов );

   (084) Qio – флаг Отмена учета партий (см. Редактор канала M-РЕСУРС );

   (085) dTOff – флаг Параметры на час (см. Редактор канала M-РЕСУРС );

   (086-098) – эти атрибуты имеют стандартное назначение  (см. Общие атрибуты каналов );

   (099) ID_RES_L – этот атрибут индицирует имя (во внутреннем представлении – ID) канала M-РЕСУРС, который привязан к данному каналу;

   (100) sPh_in – суммарный приход ресурса (количество), автоматически вычисляемый атрибут;

   (101) sCost_in – суммарная стоимость поступившего ресурса, автоматически вычисляемый атрибут.

Если в канале не используется тарифная сетка, стоимость поступившего ресурса рассчитывается по Price_In или Price_Def, в противном случае – по соответствующему тарифу;

   (102) sPh_out – общее количество выданного ресурса, автоматически вычисляемый атрибут;

   (103) sCost_out – общая стоимость выданного ресурса, автоматически вычисляемый атрибут;

   (118-119) – эти атрибуты имеют стандартное назначение  (см. Общие атрибуты каналов );

   (120) ACK – чтобы принять изменения, внесенные в тарифную сетку в реальном времени, в этот атрибут нужно подать ненулевое значение;

   (123-127) – эти атрибуты имеют стандартное назначение  (см. Общие атрибуты каналов );

   (128) i_ph – в этот атрибут из стека выводится объем партии, указанной атрибутом (054) in_POS;

   (129) i_price – в этот атрибут из стека выводится цена ресурса в партии, указанной атрибутом (054) in_POS;

   (130) i_time – в этот атрибут из стека выводится время прихода партии, указанной атрибутом (054) in_POS;

   (131) o_ph – в этот атрибут из стека в комбинированном виде выводится информация о партии, указанной атрибутом (054) in_POS;

   (132) o_cost – зарезервирован;

   (133) o_time – зарезервирован;

   (150-173) t0-t23 – почасовая тарифная сетка (Тарифы / 01-24). t0 соответствует тарифу за промежуток 00-01ч.

В профайлере канал M-Ресурс индицируется как C8_M-Resource (атрибут 126, TsT).

Обобщение данных по ресурсу

Если в узле создано несколько каналов M-РЕСУРС (пусть они имеют имена res<N>), учитывающих ресурс с одним и тем же ID, обобщенную информацию по ресурсу можно получить с помощью дополнительного канала M-РЕСУРС (пусть он имеет имя sum) со следующими начальными настройками:

   (027) Price_Def = (030) COST_is = -1

   (033) ResID = ID, где ID – идентификатор ресурса, по которому производится обобщение данных.

Канал-сумматор M-РЕСУРС имеет другой номер подтипа (см. Подтипы каналов ) и работает по следующему алгоритму (вне зависимости от флагов):

Аналитический учет потребления ресурса

Для аналитического учета потребления ресурса нужно создать для каждого потребителя канал M-РЕСУРС (например, unit1, unit2, unit3) и привязать его к каналу M-РЕСУРС (например, spirit), учитывающему ресурс.

В этом случае запрос на выдачу ресурса подается в атрибут (2, In) канала unit<N>. Если запрошенное количество имеется, запрос выполняется. Если запрошенного количества ресурса нет в наличии, каналу unit<N> устанавливается признак аппаратной недостоверности.