В релизе 6.08 использовал для передачи значений каналов из 40 MicroTM (WinPac) CALL.ChGroupReq, Привязка удаленного канала, Параметр=5. В релизе 6.10 этого нет. Чем можно заменить?
Posted by Nico (Участник № / Member № 5342) on :
Параметр=0
Posted by Avgorr (Участник № / Member № 2607) on :
Пробовал, не работает. Из справки 6.08: "В зависимости от атрибута Параметр, такой канал типа INPUT выполняет различные функции обмена с удаленным узлом по сети или RS. Во всех случаях к ChGroupReq должен быть привязан произвольный канал (далее – ch) удаленного узла для его идентификации." Из справки 6.10: "К CALL.ChGroupReq может быть привязан канал CALL другого узла:..."
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Механизм действительно несколько изменился? стал более гибким. Связь осуществляется только между ChGroupReg. См. видео-урок http://www.adastra.ru/support/get_support/commer/get_support_tm6/videosprt/ "Оптимизация трафика при обмене данными между узлами Trace Mode".
Posted by Avgorr (Участник № / Member № 2607) on :
Да, спасибо! Я уже набросал тестовый проект, вроде работает. Теперь придётся переделывать весь проект.
Posted by Avgorr (Участник № / Member № 2607) on :
Никак не могу приладить новый механизм обмена вместо старого. Получается: есть удалённый узел, там некоторые каналы, имеющие начальные значения. И есть локальный узел, в котором с кнопке на экране через канал ChGroupReq с Параметром=2 будем изменять эти значения. Удалённый узел запускаем первым, затем запускаем локальный узел, естественно аргументы экрана равны нулю и эти нули через канал ChGroupReq обнуляют каналы в удалённом узле. В старом варианте такого не наблюдалось.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
А если ПАРАМЕТР=0? "Назначение атрибута Параметр:
0 – READ/WRITE (читает; если изменить аргумент, то однократно запишет); "
При запуске (в любой очередности) он сначала подчитает удаленные значения. Последующие изменения в локальном узле - запишет.
Posted by Avgorr (Участник № / Member № 2607) on :
С ПАРАМЕТР=0 действительно не обнуляется, но только при первом запуске локального узла. Если остановить и запустить заново (с полной выгрузкой), то всё равно обнулится.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Тип аргументов у локального ChGroupReq должны быть INPUT. Перепроверил. При загрузке/перезагрузке локального узла запись не осуществляется.
Posted by Avgorr (Участник № / Member № 2607) on :
Изменил тип на INPUT. По-прежнему обнуляется.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Пришлите, пожалуйста, Ваш тестовый проект с инструкцией по воспроизведению ситуации на адрес техподдержки.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Ответ дан почтой.
Posted by Avgorr (Участник № / Member № 2607) on :
Можно ли в одном канале CALL.ChGroupReq смешивать аргументы для чтения и записи, или лучше всё таки разделить как в примере?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
CGR_Remote с ПАРАМЕТР=0 именно так и работает. Все аргументы считываются. Тот аргумент который изменен, будет записан.