This is topic Подключение к 2 МРВ in forum Документирование в TRACE MODE / Data Documentation in Trace Mode at Форум TRACE MODE: техническая поддержка.
Появился такой вот вопрос. Известно , что: Каждому узлу, к которому будет обращаться Сервер документирования в соответствии с шаблоном документа, должно быть задано имя ПК (или IP-адрес). В нашем проекте используются дублированые узлы (DFRTM) и хотелось бы при отказе одного из них иметь возможность работать со вторым без изменения в шаблонах. Сейчас приходиться использовать два набора однотипных шаблонах работающих с первым и вторым (дублирующим) узлом соответственно. Есть ли возможность в Сервере документирования перехода на дублирующий узел при отказе (потери соединения) основного, как это реализовано например в графической консоли? И как постоить шаблон подключаюшийся к 2-м узлам одновременно?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Один из методов - как известно, при считывании любой информации из МРВ все функции Техно_Лист Сервера Документирования используют в качестве одного из параметров имя сервера МРВ в проекте (например, "NODE1"). Можно создать пользовательскую функцию, которая будет пытаться попеременно считать значение хотя бы одного канала из каждого МРВ в момент старта формирования документа. И на основе полученных результатов - по номеру активного узла, во всех дальнейших функциях подставлять имя этого узла. Тогда при создании шиблона нет необходимости дублировать элементы или вообще дублировать сами шаблоны.
Posted by Гунин В.И. (Участник № / Member № 450) on :
Здраствуйте.
Для получения значения канала используется функция: GETVAL( CHAN( "A1010_MSKU", 0, "SERV1") )
Подскажите пожалуста, как динамически изменять имя узла (в данном примере это SERV1) в случае отказа в доступе. Другими словами, если узел SERV1 вышел из строя, то шаблон должен сформировать запрос таким образом, чтобы данные стали запрашиваться с узла SERV2.
И еще возвращают ли функции типа GETVAL() код неудачного завершения и если да то какой.
Posted by Гунин В.И. (Участник № / Member № 450) on :
В общем как динамически менять имена серверов мы знаем. Осталась единственная проблема как узнать в ходе выполнения шаблона, что узел неработает? Ждем ответа
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
К сожалению диагностировать успех отработки функции в ТЕХНО_Лист нельзя, поэтому невозможно диагностировать работоспособность МРВ путем чтения его реальных значений. Единственное решение - это контроль за работоспособностью мониторов через внешний файл. В шаблоне можно использовать функцию READLIST(Файл) для подчитывания таких файлов от МРВ. В файле формировать служебную информацию, например о состоянии узла, и на основе этих данных принимать решение какое имя узла подставлять в функции шаблона. В МРВ этот файл можно формировать, например, с помощью глобальных переменных.
Posted by Гунин В.И. (Участник № / Member № 450) on :
Здраствуйте.
Раньше Вы предлагали такой вариант решения этой проблемы: " Один из методов - как известно, при считывании любой информации из МРВ все функции Техно_Лист Сервера Документирования используют в качестве одного из параметров имя сервера МРВ в проекте (например, "NODE1"). Можно создать пользовательскую функцию, которая будет пытаться попеременно считать значение хотя бы одного канала из каждого МРВ в момент старта формирования документа. И на основе полученных результатов - по номеру активного узла, во всех дальнейших функциях подставлять имя этого узла. ....... " Получается что так сделать нельзя ?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
К сожалению, подобная диагностика в 5-й версии не работает...