Канал CALL.Writer

Этот канал (см. Выборка и обработка данных SIAD ) используется для принудительной записи в SIAD сообщений по архивируемым каналам. Сообщение может содержать, в том числе, произвольное значение и произвольную метку времени, а также признак ручной записи (таким признаком является наличие в сообщении флага 8, W =1).

Алгоритм работы канала CALL с типом вызова Writer зависит от его атрибута Параметр:

   Параметр = 0, 7, 1, 8, 2, 9 – запись сообщений по каналам, которые привязаны к аргументам канала CALL.Writer (если Параметр = 0, 1, 2, сообщения содержат признак ручной записи, если Параметр = 7, 8, 9 – не содержат):

   Параметр = 0, 7 – сообщение по каналу содержит значение аргумента, к которому привязан этот канал, и метку времени, в качестве которой используется значение ближайшего аргумента DATE_AND_TIME, предшествующего аргументу с привязкой к каналу. Если значение такого аргумента DATE_AND_TIME меньше 1000с, сообщение не записывается в SIAD. Если аргумента DATE_AND_TIME нет, время записи равно времени изменения значения канала (<канал>.45), а в случае его отсутствия – времени отработки канала CALL (<CALL.Writer>.45);

   Параметр = 2, 9 – аналог Параметр = 0, 7, но в качестве записываемого значения используется значение аргумента, следующего за аргументом с привязкой к каналу;

   Параметр = 1, 8 – запись значений каналов в случае их аппаратной недостоверности. Метка времени для таких значений – <канал>.45+1 секунда;

   Параметр = 3, 10, 4, 11 – групповая запись в SIAD значений всех архивируемых каналов. Реальное значение канала CALL.Writer задает номер архива; нулевой аргумент (arg0, DATE_AND_TIME) – метку времени для записи; первый аргумент (arg1, UDINT) – условие записи сообщения по каналу (arg0 <канал>.T > arg1):

   Параметр = 3 – запись значений атрибутов 0, R каналов;

   Параметр = 10 – запись значений атрибутов 9, Q каналов;

   Параметр = 4, 11 – аналог Параметр = 3, 10; значение arg0 (метка времени) присваивается атрибутам 45, T каналов.

Если любое из описанных выше значений атрибута Параметр (за исключением случая Параметр = 1, 8) увеличить на 0x10, то перед записью значения архивируемого канала в архив с заданной меткой времени T из архива удаляются все записи по этому каналу в диапазоне (T-1, T) (в секундах).

Запись в SIAD производится при отработке канала CALL. Для отображения подобных архивных данных на тренде можно задать специальный стиль.

Аргумент, задающий метку времени для записи, не должен иметь привязки в канале CALL.Writer.