Канал CALL.ChGroupReq

  Привязка удаленного канала

  Привязка MODBUS.R_FIFO_Queue

  Привязка источника MODBUS чтения или записи

  Привязка @e_TCP_ModBus

  Привязка @Redundant

  Привязка @e_Connect

  Привязка @Status

  Привязка @Calculate_Cycle

  Привязка @Data_from_SIAD

  Привязка всплывающих экранов к аргументам

  Привязка CALL.ChGroupReq к экрану

  Привязка @Graphics_Loop

  Привязка @Net_Code

  Привязка источника t11/t12

Канал CALL.ChGroupReq выполняет различные функции в зависимости от привязки.

Значения аргументов канала CALL.ChGroupReq могут быть отображены с помощью ГЭ ‘Тренд’ (в архивном режиме) или ГЭ ‘Архивный тренд’ – для этого к аргументу кривой должен быть привязан атрибут CALL.ChGroupReq.R. Временной диапазон, в котором размещаются значения, задается левой и правой временными границами тренда со следующим выравниванием:

   диапазон меньше 1 часа – на границу часа;

   диапазон меньше 1 дня – на границу дня;

   диапазон меньше 3 месяцев – на границу дня;

   в остальных случаях – на границу года.

Расстояние между точками равно величине <диапазон>/<число аргументов>.

Привязка удаленного канала

В зависимости от атрибута Параметр, такой канал выполняет различные функции обмена с удаленным узлом по сети или RS. Во всех случаях к ChGroupReq должен быть привязан произвольный канал (далее – ch) удаленного узла для его идентификации. При привязке к аргументам ChGroupReq каналов удаленного узла, в отличие от других связей аргумент-удаленный_канал, новые каналы в запрашивающем узле не создаются (см. Связь через аргументы , а также Особенности взаимодействия ).

   Параметр=0 – в аргументы INPUT канала ChGroupReq записываются реальные значения удаленных каналов (значение канала с ID=n записывается в аргумент с порядковым номером n);

   Параметр=1 –

   Параметр=2 –

   Параметр=3 – аргументы используются парами: при изменении значения arg2n INPUT (n=0,1..., аргумент может не иметь привязки) это значение передается удаленному каналу, привязанному к arg2n+1 OUTPUT;

   Параметр=5,6 – в аргументы ChGroupReq копируются значения привязанных аргументов (до номера 255) или любых других атрибутов каналов одного и того же удаленного узла. Изменение значений аргументов ChGroupReq приводит к изменению привязанных аргументов/атрибутов;

   Параметр=16 – если ch – канал класса CALL, если к ChGroupReq привязан атрибут ch.R, и если аргументы ChGroupReq имеют тип INPUT: в аргументы ChGroupReq копируются значения аргументов ch, а изменение значений аргументов ChGroupReq приводит к изменению соответствующих аргументов ch (по сети все аргументы передаются за один такт пересчета, по RS аргументы передаются последовательно, 1 аргумент за такт).

Привязка MODBUS.R_FIFO_Queue

Функция канала CALL.ChGroupReq, к которому привязан источник 9/100.24 R_FIFO_Queue (см. Подтипы 9 и 100 ), зависит от атрибута Параметр.

Параметр=0

Канал INPUT запрашивает до 32 регистров из массива FIFO_Queue устройства. Полученные данные последовательно записывается в аргументы канала, созданные в ИС (не более 32).

Параметр=1

Канал посылает в контроллер команду MODBUS, сформированную по следующим правилам:

   адрес соответствует адресу, заданному в источнике;

   номер функции соответствует аргументу arg0;

Если arg0>255, то ожидается, что поле ответа контроллера, в котором указывается число байт данных для приема, содержит два байта вместо одного. Дополнение к подтипу такого канала изменяется с 9/100.24 на 9/100.25.

   номер переменной соответствует заданному в источнике (2-байтное целое);

   последние 2 байта (число запрашиваемых переменных) – нулевые.

Параметр=2

Аналог Параметр=1, но в последние два байта записывается значение arg1.

Параметр=3

Аналог Параметр=2, но к команде добавляются 2 байта, в которые записывается значение arg2.

Параметр=4

Аналог Параметр=3, но к команде добавляются 2 байта, в которые записывается значение arg3.

Параметр<>0: расшифровка ответа

Номер первого байта данных в ответе контроллера при arg0<255 – 3, при arg0>255 – 4 (считая с 0).

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

В аргумент SINT или USINT пишется 1 байт данных.

В аргумент INT или UINT пишется 2 байта данных.

В аргумент DINT или UDINT пишется 4 байта данных.

В аргумент FLOAT пишется 4 байта данных в формате FLOAT.

Привязка источника MODBUS чтения или записи

Выполняется соответственно групповое чтение или групповая запись (WORD, FLOAT) при обмене с заданным устройством по MODBUS (в том числе по MODBUS TCP/IP). Устройство и начальный адрес задаются в источнике, количество считываемых/устанавливаемых параметров определяется числом аргументов канала.

Привязка @e_TCP_ModBus

При привязке переменной 15.13 @e_TCP_ModBus (см. Группа ДИАГНОСТИКА ), в первые обязательные 4 аргумента записывается следующая информация (описание приведенных ниже параметров дано в разделе Обмен по протоколу MODBUS TCP/IP ):

   arg0 – загрузка ЦП потоком MODBUS TCP/IP;

   arg1ERROR;

   arg2TMDICONN;

   arg3OFFCOUNT.

Последующие аргументы создаются группами по 4 (для каждого устройства своя группа) и содержат ту же информацию, что и переменная @e_TCP_ModBus. Ниже указаны номера аргументов в группе:

   arg0 – ошибка TCP;

   arg1 – ошибка устройства;

   arg2 – время, прошедшее с момента последнего обмена;

   arg3 – LONG; слово 0 – число неудачных попыток соединения, слово 1 – число очисток приемного буфера.

Привязка @Redundant

При привязке переменной 15.16 @Redundant (см. Группа ДИАГНОСТИКА ), в аргументы канала записывается следующая информация:

   arg0 – состояние резерва;

   arg1 – время, прошедшее с момента последнего обмена;

   arg2 – баланс синхронизации;

   arg3 – время цикла синхронизации;

   arg4 – заданный период синхронизации;

   arg5 – число блоков, затраченных на синхронизацию.

Параметры arg2-arg5 отображаются также в диалоге Просмотр компонентов (в строке SB – см. Профайлер с поддержкой графических экранов ).

Привязка @e_Connect

При привязке переменной 15.20 @e_Connect (см. Группа ДИАГНОСТИКА ), в аргументы канала (создаются группами по 4) записывается следующая информация:

   arg0 – ошибка IP;

   arg1 – время ошибки IP;

   arg2 – ошибка TCP;

   arg3 – время ошибки TCP;

  

   arg4 – размер очереди IP на отправку;

   arg5 – размер очереди TCP (отправка);

   arg6 – размер очереди TCP (прием);

   arg7 – число принятых IP-пакетов;

   

   arg8 – загрузка ЦП потоком IP_send;

   arg9 – загрузка ЦП потоком IP_receive;

   arg10 – загрузка ЦП потоком TCP_send;

   arg11 – загрузка ЦП потоком TCP_receive.

Параметры arg0-arg6 отображаются также в диалоге Просмотр компонентов (в строке IPS – см. Профайлер с поддержкой графических экранов ).

Привязка @Status

При привязке переменной 14.0 @Status (см. Группа СИСТЕМНЫЕ ), в аргументы канала (создаются группами по 3; одна группа на каждый узел) записывается следующая информация:

   arg0 – байт 0 (0x00FF) – состояние удаленного узла; байт 1 (0xFF00) – число, которое выводится в квадратных скобках после IP-адреса в диалоге Статусы узлов (см. Профайлер с поддержкой графических экранов );

   arg1 – время, прошедшее с момента последнего обмена;

   arg2 – рассинхронизация (мс).

Привязка @Calculate_Cycle

При привязке переменной 14.13 @Calculate_Cycle (см. Группа СИСТЕМНЫЕ ), в аргументы канала (создаются группами по 4) записывается следующая информация:

   arg0 – время, затраченное на работу в потоке CALC;

   arg1 – реальное время цикла CALC;

   arg2 – заданное время цикла CALC;

   arg3 – загрузка ЦП потоком CALC.

Группы arg4arg7, arg8arg11 и arg12arg15 отображают ту же информацию соответственно для потоков IDLE, FAST и T-FACTORY.

   arg16 – счетчик CALC;

   arg17 – счетчик IDLE;

   arg18 – счетчик FAST;

   arg19 – счетчик T_FACTORY;

 

   arg20 – число превышений времени цикла CALC;

   arg21 – последнее время цикла CALC в режиме превышения;

   arg22 – время начала последнего превышения цикла CALC;

   arg23 – переменная err_resource (см. Файл CNF в разделе Задание параметров работы мониторов ).

Привязка @Data_from_SIAD

Канал CALL.ChGroupReq с привязкой к переменной 14.7 @Data_from_SIAD (см. Группа СИСТЕМНЫЕ ) предназначен для экспорта данных из SIAD. Общий формат создаваемых файлов:

<дата_время>.<мс> <значение> <доп_информация>

Данные извлекаются не только из самого архива, но также из его первой и второй копий (в зависимости от T_FROM и T_TO, которые задаются соответственно аргументами arg0 и arg1).

Если T_TO меньше числа секунд в году, то

T_TO = Tтекущее T_TO [сек]

Если T_FROM меньше числа секунд в году и не равно 0, то

T_FROM = T_TO T_FROM [сек]

Если T_FROM = 0, данные извлекаются с начала архива.

Биты 8-11 (0xF00) значения канала задают следующие функции (если бит 15 (0x8000) равен 0):

   1 – выборка в один файл с именем канала ChGroupReq;

   0 – выборка данных по каналу в отдельный файл с именем этого канала.

Биты 0-3 (0xF) значения канала задают формат создаваемого файла:

   1 – TXT (текстовый);

   2 – AVB (бинарный);

   3 – не создавать файл (выводить данные только в канал CALL, привязанный к аргументу – см. ниже);

   4 – HTML;

   5, 6, 7 или 9 – XML.

Если бит 15 (0x8000) равен 1, производится выборка срезов из интервала (T_FROM, T_TO) с заданным шагом (60с по умолчанию), которая записывается в один файл c именем канала.

Если бит 15 (0x8000) равен 1 и формат файла – AVB, производится выборка срезов, которая записывается в файл формата SIAD (*.REP). Номер архива задается атрибутом (90, I0), а имя файла определяется значением битов 12-14 (маска 0x7000):

   0 – <имя канала>, дописывать;

   1 – <имя канала>_<начало выборки>

   2 – <имя канала>_<начало выборки>_<конец выборки>

Начало и конец выборки – число секунд с 01.01.1970.

Добавление информации возможно только в файлы формата TXT, XML и REP.

Атрибут Параметр задает следующие параметры выборки:

   биты 0-3 (0xF) – отрезок (шаг) выборки:

   1 – минута;

   2 – час;

   3 – 5 минут;

   4 – 15 минут;

   5 – 20 минут;

   6 – 30 минут;

   7 – 2 часа;

   8 – 4 часа;

   9 – 6 часов;

   10 – 8 часов;

   11 – 12 часов;

   12 – 24 часа.

При ненулевом значении битов 0-3 биты 4-7 (0xF0) атрибута Параметр задают следующую обработку данных:

   0x10 – сумма на отрезке;

   0x20 – среднее на отрезке;

   0x40 – минимальное значение на отрезке;

   0x80 – максимальное значение на отрезке;

   0 – первое значение на отрезке;

   биты 4-7 (0xF0) – при нулевом значении битов 0-3, что соответствует выборке всех данных, биты 4-7 определяют дополнительную информацию, которая выдается в выборку:

   0 – без дополнительной информации (только значение);

   0x10 – дополнительная информация об аппаратной достоверности (F – недостоверно, T – достоверно) и атрибуте 8 (M – подключен, A – отключен);

   0x80 – дополнительная информация об атрибуте 3 (OFF – выключен, ON – включен);

   0x40 – в качестве дополнительной информации указывается номер интервала (для канала FLOAT).

В атрибут 91, I1 канала выводится число необработанных каналов (по любой причине – например, в архиве нет данных по каналу).

В атрибут 92, I2 канала выводится код ошибки процедуры (при успешном выполнении значение атрибута равно 0).

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

Допускаются следующие конфигурации аргументов канала:

   только два аргумента (arg0 и arg1) – извлекаются все архивные данные;

   существуют аргументы (кроме arg0 и arg1) с привязкой к архивируемым каналам – данные извлекаются только по привязанным каналам;

   аргументы, следующие за arg0 и arg1, созданы парами; первый аргумент пары привязан к каналу CALL.ChGroupReq, не имеющему привязки, второй – к каналу, по которому нужно выбирать данные – в этом случае результат выборки, помимо файла, записывается в аргументы привязанного CALL.ChGroupReq. Если число аргументов привязанного CALL.ChGroupReq меньше, чем длина выборки:

   если Параметр привязанного CALL.ChGroupReq равен 0, то в существующие аргументы записываются начальные данные выборки;

   если Параметр привязанного CALL.ChGroupReq равен 2, то в существующие аргументы записываются конечные данные выборки;

   если Параметр привязанного CALL.ChGroupReq равен 1, то МРВ создает недостающие аргументы (блокировка – 32000), и в аргументы записывается вся выборка.

Аргументы привязанного CALL.ChGroupReq могут создаваться парами – в этом случае в первый аргумент пары (DATE_AND_TIME) записывается время, во второй – значение.

Реальное значение привязанного канала CALL.ChGroupReq показывает значащее число аргументов. Если в канале устанавливается признак аппаратной недостоверности, то операция записи в его аргументы некорректна, и реальное значение канала равно 0.

Привязка всплывающих экранов к аргументам

См. Особенности вызова графического экрана .

Привязка CALL.ChGroupReq к экрану

См. Особенности вызова графического экрана .

Привязка @Graphics_Loop

При привязке переменной 15.25 @Graphics_Loop (см. Группа ДИАГНОСТИКА ), в обязательные 16 аргументов канала записывается следующая информация:

   arg0 – значение @Graphics_Loop (реальное время цикла потока 16 (вызов графики));

   arg1 – загрузка ЦП потоком 16;

   arg2 – загрузка ЦП потоком 30 (графический поток ОС, рисование);

   arg3 – число обновляемых экранов;

   arg4 – среднее время обновления экранов, мс;

   arg5 – суммарное время обновления экранов, мс;

   arg6 – максимальное время от подачи команды до завершения перерисовки экрана;

   arg7 – максимальное время, затраченное на перерисовку экрана;

   arg8 – имя экрана, на перерисовку которого затрачено время arg7;

   arg9 – максимальное время, затраченное на создание экрана (при переходах между экранами);

   arg10 – имя экрана, на создание которого затрачено время arg9;

   arg11 – максимальное время, затраченное на уничтожение экрана;

   arg12 – имя экрана, на уничтожение которого затрачено время arg11.

Привязка @Net_Code

При привязке переменной 15.4 @Net_Code (см. Группа ДИАГНОСТИКА ), в обязательные 8 аргументов канала записывается следующая информация:

   arg0 – время, прошедшее с момента последнего обмена через системный сетевой адаптер, с;

   arg1 – время, прошедшее с момента последнего обмена через адаптер 1, с;

   arg2 – время, прошедшее с момента последнего обмена через адаптер 2, с;

   arg3 – при переключении на адаптер N устанавливается бит N arg3;

   arg4 – битовая маска адаптеров отсылки;

   arg5 – битовая маска адаптеров приема;

   arg6 – время переключения на другой адаптер.

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

В аргументы с номерами 8-19 записываются результаты диагностики работы сетевой карты (по всем задачам):

   arg8 – количество принятых пакетов UDP;

   arg9 – количество пакетов UDP, принятых с ошибкой;

   arg10 – количество пакетов UDP с ошибкой порта (In No Ports);

   arg11 – количество отправленных пакетов UDP;

   arg12 – количество аппаратных ошибок в пакетах UDP (HrdError);

   arg13 – количество адресных ошибок в пакетах UDP;

   arg16 – получено пакетов IP;

   arg17 – доставлено пакетов IP;

   arg19 – сегментация в пакетах TCP.

Привязка источника t11/t12

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