Связь канал-канал

При связи каналов в качестве интерфейса взаимодействия могут быть заданы (в скобках указан номер подтипа канала, для которого сконфигурировано свойство связь, – см. Подтипы каналов и Атрибуты каналов, отображаемые профайлером ):

   CHNET (71) – по сети;

   CHMLINK (65) – по последовательному интерфейсу по протоколу M-LINK.

Информация о номерах подтипа и дополнения к подтипу канала содержится в атрибуте 126, TsT

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

Автопосылка – это способность монитора передавать в сеть реальные значения каналов в виде широковещательных сообщений (в сети TCP/IP широковещательные сообщения отправляются по специальному IP-адресу, все биты которого равны единице). Монитор генерирует такие сообщения по каналам любого типа (как INPUT, так и OUTPUT) с установленным флагом Автопосылка (атрибутом 60 ToNet, равным 1) при каждом изменении их реального значения. Прием автопосылки в канал ch (тип ch должен быть INPUT) от канала rem_ch с ToNet=1 конфигурируется следующим образом: если канал rem_ch имеет тип INPUT, ch должен быть привязан к rem_ch.R; если OUTPUT – к rem_ch.Q (в обоих случаях ch.In=rem_ch.R).

Вид взаимодействия каналов задает характеристика вид связи (в скобках указано дополнительное значение атрибута TsT канала, для которого сконфигурировано свойство связь):

   CHCOPY (0) – копирование/установка значения удаленного канала (запрос/ответ);

   CHASEND (1) – прием сетевой автопосылки (подтверждение приема не генерируется);

   CHGROUP (9) – запрос/ответ по групповому номеру;

   CHFAULT (2) – запрос/ответ по резервам, кроме All Redundant (см. ниже);

   CHFAULT (10) – запрос/ответ по резервам All Redundant (см. ниже);

   CHCS (3) – специфический вид взаимодействия.

При интерфейсе CHMLINK виды связи CHCOPY и CHASEND идентичны.

При конфигурировании связи каналов разных узлов их взаимодействие задается на вкладке Информация окна свойств с помощью выбора из списка одной из следующих опций (см. Вкладка ‘Информация’ ):

   Auto – CHNET (UDP)/CHMLINK. Если доступно взаимодействие по сети, будет установлен интерфейс CHNET вне зависимости от возможности взаимодействия по RS. При установке интерфейса CHMLINK по умолчанию используется первый обнаруженный COM-порт, который сконфигурирован корректно. Опция Auto задается по умолчанию;

   TCP – CHNET (TCP);

   RS 1 – CHMLINK, используется первый обнаруженный COM-порт, который сконфигурирован корректно;

   RS 2 – CHMLINK, используется второй обнаруженный COM-порт, который сконфигурирован корректно;

   GSM SMS 1 – в виде SMS-сообщения, используется первый обнаруженный модем;

   GSM SMS 2 – в виде SMS-сообщения, используется второй обнаруженный модем;

   Group – CHGROUP.

При интерфейсе CHMLINK: если вид связи – Auto, анализируются оба байта переменной @Status.RS_number. Если вид связи – RS 1 или GSM SMS 1, анализируется байт 0, если RS 2 или GSM SMS 2 – байт 1 переменной. Если к портам подключены разные устройства, для каналов обмена с ними не следует задавать вид связи Auto.

При интерфейсе CHFAULT в этом списке доступна опция All Redundant (все резервы), а также опции вида Net_ind<N> (N=0,1,2), явно указывающие один из узлов (0 – основной, 1 – первый резерв, 2 – второй резерв).

При интерфейсе CHNET характеристики канала-приемника устанавливаются автоматически в зависимости от параметров запрашиваемого/передающего канала:

   если для запрашиваемого канала установлен флаг автопосылки, для запрашивающего канала устанавливается вид связи CHASEND.

Особенности связи канал-канал (см. также Особенности пересчета и отработки каналов , а также Запись аргументов канала CALL в SIAD ):

   только для CHNET\CHCOPY: при привязке канала (ch) к строковому атрибуту 79, 80 или 127 (attrS) удаленного канала (rem_ch):

ch.attrS = rem_ch.attrS

   при привязке к числовому атрибуту (attrN) удаленного канала:

ch.2 = rem_ch.attrN

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

   привязка канала TIME/HEX32 к временному атрибуту удаленного канала;

   значение атрибута 45 может быть передано с помощью флага Запрос времени значения (см. Вкладка ‘Флаги’ ).

По CHMLINK время передается с точностью до 10 мс;

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

   если к числовому каналу ch (кроме канала TIME) привязан атрибут 35 произвольного канала call класса CALL (кроме CALL.TVC), в ch записывается значение последнего аргумента call;

   если к числовому каналу ch (кроме канала TIME) привязан атрибут 35 канала CALL.TVC, в ch записывается последнее значение первой кривой (см. Канал CALL.TVC ).

У всех каналов, связанных с каналами удаленных узлов, в атрибут 90, I0 записывается ID привязанного канала, а в атрибут 92, I2 – порядковый номер узла (ordinal). Значения обоих атрибутов можно менять в реальном времени, что обеспечивает перепривязку каналов.