Канал CALL.MUX

Возможные конфигурации канала CALL с типом вызова (33) MUX (p=Параметр, тип всех аргументов – INPUT):

   число аргументов больше (p+1). В этом случае первые p аргументов (arg0-argp-1) образуют первую группу, остальные (2 или более) – вторую. Аргументы первой группы могут иметь обычную или виртуальную привязку, а также не иметь привязки. К аргументам второй группы привязываются каналы (в том числе удаленные). В реальном времени:

   все аргументы первой группы привязываются к каналу (ch), который привязан к аргументу с порядковым номером CALL.MUX.R<>0 во второй группе (производится привязка к атрибуту, заданному первоначальной привязкой, или к (0, R), если привязка не была задана);

   канал CALL.MUX принимает имя и кодировку канала ch;

Если CALL.MUX.R равно 0 или задает номер несуществующего аргумента, CALL.MUX.NAME="?".

   число аргументов равно (p+1). В этом случае первые p аргументов (arg0-argp-1) – перепривязываемые, а последний аргумент (argp) создается для служебных целей. В реальном времени:

   при присвоении имени некоторого локального канала атрибуту (127, NAME) канала CALL.MUX аргументы arg0-argp-1 привязываются к указанному каналу, при этом <имя CALL.MUX>=<имя канала>. Если указанный канал не существует, CALL.MUX.NAME="?";

   при каждом изменении значения CALL.MUX (кроме изменения на 0) МРВ ищет в локальной базе каналов очередной канал, первые символы кодировки которого совпадают с кодировкой CALL.MUX, и привязывает аргументы arg0argp-1к найденному каналу. При этом <имя CALL.MUX>=<имя канала>, а в argp записывается номер следующего для привязки канала в массиве каналов, кодировка которых совпадает с кодировкой CALL.MUX. При изменении значения CALL.MUX на 0 argp сохраняет свое значение, arg0=arg1=…=argp-1=0 и CALL.MUX.NAME="?".