Здравствуйте. Я совсем недавно начал изучать ТМ и у меня соответственно возникают трудности. Объясните пожалуйста,как послать значение в канал из редактора представления данных? Сделано так: В FBD программе создаю блок "или",далее делаю привязку к переменным(2 входа и выход).В редакторе представления данных ставлю событие на кнопку-"посылка значения-прямая"(посылаю "1") на первый бит DI_-lm00-0000.В "динамическом тексте" эта единица проскакивает на секунду и снова устанавливается в ноль.Причем выход моего блока "или" остается неизменным.Что я делаю не так? P.S. Если подавать значения на платы ДЦП с пульта УМК-1,то все нормально.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Так у вас канал DI_-lm00-0000 считывает значения с плату УСО, естественно Вы в него не можетет ничего посылать - он же и так уже имеет источник данны, который забивает значением все Ваши посылки из графики при каждом пересчете этого канала.
Posted by Лунев Сергей (Участник № / Member № 1733) on :
А какже тогда принудительно(из редактора представления данных) установит выход блока "или" в единицу?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Нужно создать еще один канал, подтипа ПУСТОЙ, привязать его в через аргумент к блоку в программе и посылать значение через него. У атрибута канала недопустимо иметь несколько Источников данных - в реальном времени получается конфликт. Если у Вас канал принимает значение с платы УСО, то ничего в его Входной атрибут уже не пошлешь.
Posted by Лунев Сергей (Участник № / Member № 1733) on :
Сделал,как указано выше: Создал канал в "Каналы объекта DI_3" с подтипом "пустой" и дополнением к подтипу "in_null",тип-"I",вид-"H".Открыл "каналы объекта:OBJ21",создал там канал "управление-управление" и привязал аргументы блока "или" к каналу с подтипом "пустой".Далее в редакторе представления данных делаю прямую посылку в первый бит канала с подтипом "пустой". Результат:на секунду устанавливается единица на входе блока "или",а потом обнуляется.Причем выход остается неизменным. //***** PRC-TM,ltm_a.exe с ключом "800".
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Пожалуйста, пришлите Ваш проект на адрес техподдержки.
Posted by Лунев Сергей (Участник № / Member № 1733) on :
Проект выслан по адресу forum@adastra.ru
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
У Вас алгоритм привязан к процедуре Управление, из справочной системы: Внимание! Процедура УПРАВЛЕНИЕ поддерживается Микро МРВ только на специализированных каналах, имеющих подтип УПРАВЛЕНИЕ. Во всех других каналах процедура УПРАВЛЕНИЕ Микро МРВ игнорируется.
То есть, Вам нужно создать канал подтипа Управление, как Вы это сделали для программы SYSTEM.
Posted by Лунев Сергей (Участник № / Member № 1733) on :
Прошу прощения, я выслал вам не тот проект.Проект, о котором шла речь,высылаю сейчас.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Что-то в новом проекте я не вижу в АРМе канала, через который Вы управляете значением канала DI_kanall в контроллере.
Posted by Лунев Сергей (Участник № / Member № 1733) on :
Странно, но изменения, сделанные мной в проекте,ни каким образом не отобразились в редакторе представления данных. kanal_DI управляется каналом АРМа Progr_.Выслал новый проект.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
У вас канал kanal_DI имеет подтип СВЯЗЬ и дополнение к подтипу In AutoNet, это значит, что он [u]получает[/u] данные из контроллера, а не [u]передает[/u] их туда. Чтобы управлять значением канала в контроллере он должен быть подтипа СВЯЗЬ и дополнением к подтипу Out Net, настроен на атрибут Вход канала kanal_DI из узла Lomicont_1.
Posted by Лунев Сергей (Участник № / Member № 1733) on :
Да.Действительно канал kanal_DI из узла Host2 должен был быть настроен должным образом. Огромное спасибо, все работает. Самому бы ни за что не догадаться.