Константин Арапов
Forum Member / Участник форума
Участник № / Member № 1998
отправлено / posted
Есть RTM, откуда получают данные графические клиенты NLL. Было замечено, что если RTM перестает работать, то на экране остаются последние данные, которые NLL получил с сервера пока тот еще работал. Таким образом, получается, что если пользователь смотрит на графическую консоль NLL, а сервер во время работы консоли перестал работать, то пользователь видит неверную информацию.
Вопрос: возможно ли стандартными средствами TM с консоли NLL отследить, что сервер больше недоступен ?
Сообщения / Posts 32 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Конечно. Например можно передавать на экран NLL значения системной переменной @Status, которая может индицировать состояние узла. Можно пойти дальше и написать программу, котрая будет отслеживать данный параметр(или значение какого-либо постоянно передающего "1" канала) и если значение не определено (нулевое), сигнализировать о потере связи.
Сообщения / Posts 17322 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Константин Арапов
Forum Member / Участник форума
Участник № / Member № 1998
отправлено / posted
> Можно пойти дальше и написать программу, котрая >будет отслеживать данный параметр(или значение >какого-либо постоянно передающего "1" канала) и >если значение не определено (нулевое), >сигнализировать о потере связи.
Но насколько я понял, графические консоли реагируют на ИЗМЕНЕНИЕ значения канала, а если канал будет все время гнать единицу (т.е. постоянное значение) то определить есть связь или нет будет нельзя. Или я ошибаюсь ?
Сообщения / Posts 32 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
1. Вы можете использовать например, битовый меандр и динамизировать таким образом состояние связи на узле NLL. 2. Можете контроллировать атрибут "достоверность", "тенденция".
Сообщения / Posts 17322 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Константин Арапов
Forum Member / Участник форума
Участник № / Member № 1998
Сергей Кравчук
Forum Member / Участник форума
Участник № / Member № 5384
отправлено / posted
quote:Отправитель / Originally posted by AdAstra Technical Support: Конечно. Например можно передавать на экран NLL значения системной переменной @Status, которая может индицировать состояние узла. Можно пойти дальше и написать программу, котрая будет отслеживать данный параметр(или значение какого-либо постоянно передающего "1" канала) и если значение не определено (нулевое), сигнализировать о потере связи.
Сделали как Вы написали: Создали переменную Status_1 в источниках и приемниках, указали номер узла в проекте "1". Создали переменную в RTM типа Float и привязали к значению переменной Status_1. Создали объект текст: "НЕТ СВЯЗИ С СЕРВЕРОМ" и привязали его видимость к атрибуту Достоверность созданого канала типа Float. Вроде все хорошо. При отключении сервера выдает сообщение на экран. НО! помимо этого это сообщение переодически проскакивает на экране, хотя потери связи нет. Подскажите как это можно побороть ??
Сообщения / Posts 39 | Из / From: Украина
| IP / IP: IP адрес / IP address |
отправлено / posted
Пришлите Ваш проект на hotline@adastra.ru и укажите, какие каналы, программы и ГЭ надо смотреть.
Сообщения / Posts 17322 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
1. Канал, связанный с системной переменной @Status, запрограммированной на контроль собственного статуса, никогда не будет недостоверным.
2. Правильно контролировать собственный статус: (см.документацию) "Если Номер узла =10000, переменная индицирует/задает параметры собственного узла."
3. Виртуальный канал консоли практически показывает только собственную недостоверность, т.е. указывает на действительное качество связи с сервером.
4. Если время от времени появляются такие сообщения, значит, связь действительно неустойчивая. Избавиться от сообщений о "временной потере связи" можно лишь с помощью программной фильтрации: проверять качество связи в программе и отфильтрованный сигнал передавать на экран. Можно непосредственно в консоли программно обрабатывать системные переменные @Status с ПАРАМЕТР=12 и 13, контролирующие статус сервера. Они уже включают в себя некоторые функции временной фильтрации.
Сообщения / Posts 17322 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Сергей Кравчук
Forum Member / Участник форума
Участник № / Member № 5384
отправлено / posted
Уважаемая техподдержка. Можно по подробнее объяснить, как это можно сделать. Лучше на простом примере.
Сообщения / Posts 39 | Из / From: Украина
| IP / IP: IP адрес / IP address |