This is topic Подключение к 2 МРВ in forum Документирование в TRACE MODE / Data Documentation in Trace Mode at Форум TRACE MODE: техническая поддержка.


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

Posted by Гунин В.И. (Участник № / Member № 450) on :
 
Появился такой вот вопрос. Известно , что:
Каждому узлу, к которому будет обращаться Сервер документирования в соответствии с шаблоном документа, должно быть задано имя ПК (или 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 :
 
В общем как динамически менять имена серверов мы знаем. Осталась единственная проблема как узнать в ходе выполнения шаблона, что узел неработает?
Ждем ответа [Вращающиеся глаза / Roll Eyes]
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
К сожалению диагностировать успех отработки функции в ТЕХНО_Лист нельзя, поэтому невозможно диагностировать работоспособность МРВ путем чтения его реальных значений.
Единственное решение - это контроль за работоспособностью мониторов через внешний файл.
В шаблоне можно использовать функцию READLIST(Файл) для подчитывания таких файлов от МРВ. В файле формировать служебную информацию, например о состоянии узла, и на основе этих данных принимать решение какое имя узла подставлять в функции шаблона. В МРВ этот файл можно формировать, например, с помощью глобальных переменных.
 
Posted by Гунин В.И. (Участник № / Member № 450) on :
 
Здраствуйте.

Раньше Вы предлагали такой вариант решения этой проблемы:
" Один из методов - как известно, при считывании любой информации из МРВ все функции Техно_Лист Сервера Документирования используют в качестве одного из параметров имя сервера МРВ в проекте (например, "NODE1"). Можно создать пользовательскую функцию, которая будет пытаться попеременно считать значение хотя бы одного канала из каждого МРВ в момент старта формирования документа. И на основе полученных результатов - по номеру активного узла, во всех дальнейших функциях подставлять имя этого узла.
....... "
Получается что так сделать нельзя ? [cry / плачь]
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
К сожалению, подобная диагностика в 5-й версии не работает... [Неодобрение / Frown]
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2