This is topic Изменение значения канала в другом узле in forum Редактор проекта TRACE MODE 6 / at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/32/t/000021.html

Posted by DreamWeaver (Участник № / Member № 1485) on :
 
Есть узел RTM, на котором есть экран "БНА". Есть узел MicroRTM, на котором есть дискретный канал типа INPUT. Каждый бит этого канала определяет в каком режиме работает клапан: ручном или автоматическом. С операторской станции с экрана БНА нужно менять значения в дискретном канале типа INPUT. Причем нужно это делать побитно. То есть при нажатии на кнопку на экране БНА нужно, чтобы в узле MiocroRTM в дискретном канале типа INPUT, определенный бит установился в 1.
У меня получается это сделать только посылая значение на вход дискретного канала (при помощи аргумента типа Output). Соответственно подаю значения 1,2,4,8,16. Но если посылать значение непосредственно в "бит1", то значение дискретного канала не изменяется. Хотя на одном узле все работает.
Напишите, как все должно работать. Я имею ввиду, какого типа должен быть дискретный канал, какого типа должен быть аргумент экрана через который передаются данные? Я вроде перебрал все варианты, но изменить с экрана одного узла значение дискретного канала на другом узле при помощи непосредственной записи данных в атрибуты "бит1", "бит2".. так и не получилось.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Передавать между каналами так или иначе лучше сразу значение канала, а не настраивать связь на уровне каждого бита. Так каналов меньше понадобиться. А в эране уже каждый отдельный аргумент можно привязать к собственному биту передающего канала. А связь на уровне двух каналов когда канал типа Output посылает значение в атрибут канала (не важно - атрибут бита это или какой-либо другой) должна работать - может что с настройками?
 
Posted by DreamWeaver (Участник № / Member № 1485) on :
 
Если в узле RTM создать канал типа OUTPUT и связать его с каналом типа INPUT (с любым его атрибутом), который находится в узле MicroRTM, то все работает нормально.
Я имел ввиду ситуацию когда в узле RTM вообще нет канала типа OUTPUT. В этом узле есть экран, на котором есть кнопка. Для этой кнопки определяем действие по нажатию "Послать значение", и в качестве канала, куда посылается значение выбираем канал типа INPUT в узле MicroRTM. Так вот, если в качетсве этого канала INPUT выступает канал типа FLOAT, и если заносить значние (по нажатию на кнопку, находящейся на экране в узле RTM) в атрибут "Входное значение", то данные передаются.
Если в качестве канала INPUT выступает канал дискретный, то посылка значения (с экрана в узле RTM) непосредственно в атрибут "бит1" не приносит никакого эффекта. В то же время, если заносить значение во "входное значение", то данные передаются.
Если будете делать тестовый проект, показывающий как передаются данные непосредственно с экрана на одном узле в атрибут "бит1" канала, находящегося в другом узле, вышлете пожалуйста на dreamweaver@petron.ru. Я испробовал несколько вариантов: экспериментировал с типами (вход/выход) аргументов, каналов, но данные передать так и не получилось.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Напрямую возможно только чтение атрибутов "Бит", управление необходимо выполнять по функции НЕ-ИЛИ (XOR) на Вход этого удаленного канала по соответсвующей маске, которая и будет определять бит.
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2