This is topic Изменение значения канала через NETLINK LIGHT in forum Общие вопросы / Common questions at Форум TRACE MODE: техническая поддержка.


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

Posted by Сергей Александрович (Участник № / Member № 2884) on :
 
Здравствуйте.

Возник небольшой вопрос по NetLink Light.
Есть два рабочих места, МРВ+ на одном и NetLink Light (классическая схема) на другом, с графического экрана NetLink Light нужно вносить изменения в каналы - в их атрибуты. На МРВ+ естественно все это работает, а в NLL значения атрибутов не меняются.
Для изменения значений предназначены ГЭ типа "кнопка" с прикрепленным действием "Ввести и передать", расположенные на экране рядом с элементами, значения которых надо изменять.
Вопрос такой: можно ли все таки это сделать через графический экран NLL?

Согласно документации:

------
Узел Console предназначен для запуска на компьютере под управлением исполнительных модулей, которые, в отличие от МРВ, не выполняют пересчет каналов, предназначенных для работы с данными
------ ,
то есть изменить не получится? Или не так?

Заранее спасибо за ответ!
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Да, менять значения из узла Console можно.
 
Posted by Сергей Александрович (Участник № / Member № 2884) on :
 
1. Хорошо, то что менять значения можно я понял, только не понятно как. Вот реальный пример: на экране есть текстовое поле со связью с каналом типа float, рядом расположена кнопка для изменения значения этого канала. При вызове на МРВ+, в атрибут канала успешно идет запись, при NLL такого нет - окошко для ввода нового значения появляется, но эффекта нет. Так вот мне не совсем понятно, как добиться чтобы изменения были?

2. Не могли бы вы уточнить, если COM-порт промышленного компьютера работает не как RS232, а как RS485 (изменен аппаратно), есть ли нюансы при его настройки в проекте, или он работает как 232?

3.Уточняющий вопрос про лицензионную политику. NLL на 5 шаблонов означает, что я могу использовать, например, 3 шаблона экрана + 2 шаблона программ для console? То есть суммируются все используемые шаблоны?

Спасибо за ответы!
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
1. Пришлите данный проект на hotline3@adastra.ru

2. Если Вы будете осуществлять связь по RS485, то никаких дополнительных настроек не надо. Если же Вам не обходимо установить связь с устройством, работающем по интерфейсу RS232, то Вам нужно будет ставить конвертер на входе этого устройства. Лучше, если он будет автоматическим.

3. Да, Вы все верно поняли.
 
Posted by Сергей Александрович (Участник № / Member № 2884) on :
 
Выслал - тема "Тестовый проект",
название архива "NLL_and_MRT.rar"
 
Posted by Сергей Александрович (Участник № / Member № 2884) on :
 
Ребята, прошло уже три дня. Проект, что я вам скинул - крошечный, и мне нужна указка на мою возможную ошибку.

Надеюсь вы все-таки ответите...
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Аргумент экрана консоли, передающий значение в МРВ, должен быть типа OUT или IN/OUT.
 
Posted by Сергей Александрович (Участник № / Member № 2884) on :
 
Это понятно, только шаблон экрана при перетаскивании его из узла RTM+ в узел Console сохраняет все привязки к базе каналов узла RTM+.

Например, если аргументу канала в RTM+ задать тип OUT или IN/OUT, то передачи даже из-под RTM+ вообще не будет. А в Console создание каналов невозможно.

Если не сложно, поясните, пожалуйста, какому каналу надо задать этот самый тип. Или вышлите мой проект, только с коррекцией...
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Для экрана в МРВ тип агрумента как правило не влияет на функции. В консоле же это важно, т.к. происходит межузловой обмен. Аргументы типа INPUT принимают значения, типа OUT передают значения.
 
Posted by Сергей Александрович (Участник № / Member № 2884) on :
 
Извините за молчание. Все получилось [Улыбка / Smile] . Спасибо.

Попутно возник еще вопрос. Вызов сторонней программы - сделано по вашему примеру с калькулятором в базе примеров - работает на АРМ'е с МРВ+, а в NLL (на втором АРМ'е) программа не вызывается. EXE-файл лежит и на машинке с МРВ+ и на компе с NLL в одном и том же месте - программы идентичны.
Так вот, как сделать так, чтобы она запускалась с двух АРМ'ов, а не только с компьютера, где стоит МРВ+?

Да, и надо ли настраивать узел NLL (Console) для отчета тревог также как это делается для МРВ+ ?

Заранее спасибо!
 
Posted by Сергей Александрович (Участник № / Member № 2884) on :
 
-
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Проверьте, есть ли у созданного канала в узле NLL, хотя бы один аргумент.
 
Posted by Сергей Александрович (Участник № / Member № 2884) on :
 
Не совсем понял, о каком канале идет речь? Канале типа call с типом вызова EXEC? Если о нем, то в узле МРВ+ у него есть один фиктивный аргумент.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
а в узле Console канал Call с типом вызова Exec есть?
 
Posted by Сергей Александрович (Участник № / Member № 2884) on :
 
Нет, так ведь в узел Console можно закинуть только шаблоны, а канал Call с вызовом Exec таким не является - просто "одинокий канал".

quote:
а в узле Console канал Call с типом вызова Exec есть?
Если это можно сделать подскажите как?

Я предполагал, что если настроен вызов внешней программы в экране в узле МРВ, то при переносе шаблона этого самого экрана в Console, вызов тоже должен проходить.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Штатной возможности создать канал Call с типом вызова Exec нет. Для вызова программы из консоли Вы можете написать dll, которая будет вызываться из программы, созданной в консоли.
 
Posted by Сергей Александрович (Участник № / Member № 2884) on :
 
Спасибо за ответы. Нашел несколько иной способ - создал два шаблона - один в МРВ, другой в NLL, а на графическом экране - при нажатии на кнопку повесил сразу два события - запуск программы с МРВ и с NLL. Конечно не корректно, но зато работает.
 
Posted by Сергей Александрович (Участник № / Member № 2884) on :
 
Здравствуйте!

Прошу прощения, но вынужден вновь поднять тему.

1. При переходе на следующий этап развития проекта столкнулся опять с проблемой NLL + MPB+.
На экране лежит кнопка. По нажатии отрабатывают два действия: 1)запись пределов (HW и/или LW) в атрибуты канала и 2)вызов канала CALL, который вызывает программу записи этих HW и LW в базу. Так вот, первое действие отрабатывает и на MPB+, и на NLL, а вот второе действие отрабатывает только на MPB+. Вызов канала производится штатным средством - событие "Выполнить" - кнопки. Подчеркну, что до вмешательства в проект все работало. Из-за чего могут быть подобные некорректности в работе? Можно наверное решить проблему так же как и с вызовом программ (пост выше), но это неприемлемо.

2. У нас при превышении или достижении лимита по каналам, вдруг ни с того, ни с сего отказывал либо вызов программы через CALL (внешняя DLL), либо параметры в mysql не писались (через odbc). Т. е. удаляли прямо какой-либо канал или два и все вновь начинало работать.
К счастью, вовремя пришедший апгрейт МРВ+ изменил ситуацию к лучшему. Однако, хотелось бы сказать, что возможно следовало бы как-то уведомлять пользователя о достижении лимита по каналам или о ситуации, могущей иметь место? И по какому алгоритму (если таковой имеет место быть) "отказывают" каналы? Хочу отметить, что проблемы начинались при достижении общего числа каналов в 125 (при покупки лицензии на 127 каналов).

Заранее спасибо за помощь.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
1. У Вас канал Call для записи в базу в узле Console есть?

2. При превышении количества каналов выдается ошибка -4. Если у Вас есть пример отключения каких-то каналов пришлите, пожалуйста, проект и укажите на ключе с какой лицензией Вы это проверяли.
 
Posted by Сергей Александрович (Участник № / Member № 2884) on :
 
Доброго времени суток!

Спасибо за ответы.

1. Да, теперь есть. Сделал ссылку на шаблон-программу.
Только вот непонятно, почему же до этого работало?

2. Да, у нас была ситуация, связанная именно с этой ошибкой. Однако, уточню, что проблема возникала при приближении к лимиту. К сожалению, подходящего примера сейчас нет, но так только возникнет подобная ситуация, я отпишусь.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Функция выполнить, привязанная к шаблону, на самом деле запускает канал Call. А так как его не было, то и эффекта никакого. Сами по себе шаблоны не работают. Выполняются именно каналы Call, связанные с этими шаблонами.
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2