При связи каналов в качестве интерфейса взаимодействия могут быть заданы (в скобках указан номер подтипа канала, для которого сконфигурировано свойство связь, – см. Подтипы каналов и Атрибуты каналов, отображаемые профайлером ):
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). Значения обоих атрибутов можно менять в реальном времени, что обеспечивает перепривязку каналов.