Форум TRACE MODE: техническая поддержка   
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 5 » Мониторы Реального Времени / Real Time Monitors » Переход на Double Force

   
Автор / Author Тема / Topic: Переход на Double Force
Dima
Forum Member / Участник форума
Участник № / Member № 839


Icon 1 отправлено / posted      Профиль для / Profile for Dima           Редактировать/удалить сообщение / Edit/Delete Post 
Здравствуйте!
Наше предприятие приобрело Double Force. Возможен ли переход с обычного МРВ на Double Force без внесения в проект каких-либо изменений.

Сообщения / Posts 33 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 2 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Да - в самой структуре узла АРМ ничего при этом менять не нужно. Double Force МРВ это тот же самый МРВ, только с поддержкой некоторых функций горячего резерва на уровне узлов.
Сообщения / Posts 17109 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Dima
Forum Member / Участник форума
Участник № / Member № 839


Icon 1 отправлено / posted      Профиль для / Profile for Dima           Редактировать/удалить сообщение / Edit/Delete Post 
Попробовал перевести проект под Double Force
(всё действия в соответствии с Руководством пользователя).
В узел были добавлены каналы:
1)Канал типа Input подтип "Системный" дополнение "Статус" отображающий состояние сервера.
2)Аналогичный канал, но типа Output.
3)Канал подтипа ДИАГНОСТИКА с дополнением ДУБЛЬ
4) Канал подтипа СИСТЕМНЫЙ с дополнением ПРИОРИТЕТНЫЙ.
Для всех каналов узлы были установлены флаги "В сеть".
Затем был создан резервный узел.
На первом сервере запускаю профайлер, Double Force и загружаю основной узел. Тоже самое на втором сервере, но узел Резервный.
Показания каналов на первом сервере:
1)Состояние - работа
2)-"-
3)Нарастающее 16-тиричное число
4)Значение показывающее наличие партнера со статусом работа.

Показания каналов на втором сервере:
1)Состояние - работа
2)-"-
3)Нарастающее 16-тиричное число
4)Значение показывающее наличие партнера со статусом работа.
При попытке на втором сервере установить его в "резерв" в резерв переводятся оба сервера и наоборот. То есть оба сервера или в работе или в резерве.
Что я сделал неправильно и какие особенности не учёл?

Сообщения / Posts 33 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
1) Немного не понятна процедура "На первом сервере запускаю профайлер, Double Force и загружаю основной узел." - Вы грузите узлы в Профайлере Инструментальной системы или сервер запускаете из инструменталки, а консоль из Double Force МРВ?

Итак - немного об особенностях:
1) Между ПК должен быть доступ по сети как на файловом уровне, так и на уровне DCOM.
2) При запуске двух DF МРВ HASP-ключь должен быть от DF МРВ. Никакие больше ключи вроде инструментальной системы в ПК стоять не должны иначе при запуске МРВ не разрешит использовать функций DF МРВ, а запуститься как обычный МРВ.
3) На ПК с DF МРВ должно быть синхронизировано системное время.
4) В проекте у Вас должен быть хотябы один канал с автопосылкой в сеть (например, генератор пилы).
[clever / умный]
Вроде все основные требования, но самое главное из них - это №2... [Улыбка / Smile]

Сообщения / Posts 17109 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Dima
Forum Member / Участник форума
Участник № / Member № 839


Icon 5 отправлено / posted      Профиль для / Profile for Dima           Редактировать/удалить сообщение / Edit/Delete Post 
Хорошо.
Может быть я чего-то не понимаю....

Берем 3 компьютера:
1й и 2й - Win2000Server SP4+DoubleForce MPB
3й - WIn2000Proff SP4+NetLinkLight+ключ разработчика(для правки проекта)

Все 3 машины в одной сети через хаб.
DCOM настроен(проверялось так: на одной машине MPB, на другой NetLinkLight, запускался тестовый проект с 2-я узлами - все работает на каждой из 3-х машин)

Создаем проект:
1) Создаем узел df("без автопостроения"-средний),
в нем создаем канал("pila") тип пустой, дополнение - G_пила. Ставим "в сеть" и доступ

2) Создаем узел arm("без автопостроения"-средний)
делаем "связать с объектами узла" и выбираем объект "База" узла df

3) Затем выбираем узел df делаем "создать резерв".

Проверяем настройки нового узла "df(1)"
В редакторе представления создаем для узлов df и arm картинки.

Сохраняем проект в общей для 3-х компьютеров папке.

Запускаем на каждой машине (№1 и №2) drawServ, потом запускаем PicRT, выбираем проект, на машине №1 узел df, на машине №2 узел df(1) соответственно

Нажимаем сначала "человечка" в PicRT, потом "run" в drawServ. Сначала на машине №1, потом на машине №2 соответственно.

Получаем :

Машина №1 - STS_WORK, число пользователей - 1, сервер мат.обработки LOCAL +"бежит" канал"pila"
Машина №2 - STS_TRACE, число пользователей - 1, сервер мат.обработки LOCAL +"бежит" канал"pila", но как бы с шагом 2, т.е 6, 8, 10, ..., причем "независимо от компьютера№1"

Запускаем NetLinkLight на машине №3, выбираем в сети компьютер №1
Сразу вопрос:
Какой компьютер (основной или его дубль) надо выбирать(компьютер №1 или компьютер №2)???

Выбираем проект, выбираем узел arm и жмем "человечка".
Получаем:
Машина №1 - STS_WORK, число пользователей - 2, сервер мат.обработки LOCAL +"бежит" канал"pila"
Машина №2 - STS_TRACE, число пользователей - 1, сервер мат.обработки LOCAL +"бежит" канал"pila", но как бы с шагом 2, т.е 6, 8, 10, ..., причем "независимо от компьютера№1"
Машина №3 - сервер мат.обработки Машина №1 + "бежит" канал"pila"

Выдергиваем из Хаба компьютер№1(в сети остаются компьютер№2 и компьютер№3)
Получаем:

Машина №1 - STS_WORK, число пользователей - 2, сервер мат.обработки LOCAL +"бежит" канал"pila"
Машина №2 - STS_TRACE, число пользователей - 1, сервер мат.обработки LOCAL +"бежит" канал"pila", но как бы с шагом 2, т.е 6, 8, 10, ..., причем "независимо от компьютера№1"
Машина №3 - сервер мат.обработки Машина №1 + канал"pila" остановился [Неодобрение / Frown]

Вопросы:
1) почему Машина №2 не переходит в состояние STS_WORK?
2) почему консоль NetLinkLight не переключается на Компьютер№2?

Сообщения / Posts 33 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
1) Исходя из поставленой Вами задачи - создать два резервных узла и одно дополнительное рабочее место оператора в сети, которое будет подключаться к МРВ в режиме МАСТЕР, Вам не нужно было создавать в проекте еще один узел "arm".
Консоль NetLinkLight при запуске должна подключаться к уже работающему серверу в режиме МАСТЕР, и брать его же графическую бызу для отображения.

2) Переход МРВ из режима ПОДЧИНЕННЫЙ в режим МАСТЕР при потере связи с МАСТЕРОМ не автоматический, Вы сами должны управлять им через канала подтипа СИСТЕМНЫЙ_Статус. А уж как Вы это будете делать - через графику вручную по кнопке или напишете FBD, которая будет делать это автоматически - решать Вам.

3) Переключение консоли NetLinkLight на следующий сервер при потери связи с текущим происходит только в том случае, если Вы задали список этих серверов и указали таймаут переключения в специальном INI-файле проекта. Подробности смотрите в справочной системе в разделе "Работа в реальном времени"-"Графическая консоль МРВ"-"Переключение между серверами".

Одна только странность, которая пока еще остается для меня загадкой - почему у Вас генератор пилы бежит с шагом 2?

Также напоминаю Вам, что приобретенные Вами продукты ТМ до сих пор Вами не зарегистрированы. Рекомендую Вам зарегистрировать их иначе Вы не сможете получать техническую поддержку!

Сообщения / Posts 17109 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Droshnev
Forum Member / Участник форума
Участник № / Member № 132


Icon 1 отправлено / posted      Профиль для / Profile for Droshnev           Редактировать/удалить сообщение / Edit/Delete Post 
В продолжение нашего телефонного разговора, особенно момента насчет переключения статуса(режима работы) узла, вот выдержка из файла помощи:"Анализ наличия резервного узла при работе в реальном времени для автоматического переключения статуса узла;" Как же тогда понимать фразу "для автоматического переключения статуса узла"??? Почему я должен использовать FBD-программу, когда речь идет об автоматическом переключении???

И все-таки повторю вопрос: ПОЧЕМУ УЗЕЛ НЕ ПЕРЕХОДИТ ИЗСОСТОЯНИЯ STS_TRACE В STS_WORK?

И почему узел, который находился в состоянии STS_WORK после обрыва связи не переходит в состояние STS_TRACE???

Жду ответа.

Сообщения / Posts 60 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Droshnev
Forum Member / Участник форума
Участник № / Member № 132


Icon 1 отправлено / posted      Профиль для / Profile for Droshnev           Редактировать/удалить сообщение / Edit/Delete Post 
2) Переход МРВ из режима ПОДЧИНЕННЫЙ в режим МАСТЕР при потере связи с МАСТЕРОМ не автоматический, Вы сами должны управлять им через канала подтипа СИСТЕМНЫЙ_Статус.

Вопрос:
Если из работы "выпадает" основной узел(скажем из-за проблемм в сети), он должен сам выходить в резерв(У нас он продолжает работать в STS_WORK)?

А уж как Вы это будете делать - через графику вручную по кнопке или напишете FBD, которая будет делать это автоматически - решать Вам.

То есть получается физический смысл DoubleForce в синхронизации атрибутов каналов и СПАД архивов???
И никаких автоматических переключений Работа/резерв.

Кто будет нести ответственность, если резервный сервер не переключится в режим работа? Разработчик FBD или разработчик DoubleForce?

У нас в проекте уже и так достаточное количество FBD-программ, многие из них написанны с использованием блоков на Техно-IL, что по вашему мнению увеличивает вычислительную нагрузку на компьютер... Как скажется введение дополнительного/дополнительных FBD-програмы(м), выполняющих столь важную функцию на надежности/производительности системы?

3) Переключение консоли NetLinkLight на следующий сервер при потери связи с текущим происходит только в том случае, если Вы задали список этих серверов и указали таймаут переключения в специальном INI-файле проекта.

Вот наш список серверов:
[Servers]
S1=Dispserv1
S2=Dispserv2
Timeout=5
Auto=1
Консоль так и не переключается на резервный сервер......

Одна только странность, которая пока еще остается для меня загадкой - почему у Вас генератор пилы бежит с шагом 2?
Он не только бежит с таким шагом, но и имеет "другие значения относительно основного сервера", скажем на основном - 3, на резерве - 6 ...???

Жду ответа.

Сообщения / Posts 60 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 2 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
1) "Анализ наличия резервного узла при работе в реальном времени для автоматического переключения статуса узла;" - DF действительно автоматически АНАЛИЗИРУЕТ наличие резервного узла, но переключение MASTER/SLAVE дожно быть выполнено либо вручную, либо автоматически (через FBD) в самом проекте. Это сделано так, потому что нельзя сказать точно какие именно условия переключения должны быть реализованы в системе, у Вас они одни, а у других пользователей другие: а если перед тем как переключиться в MASTER МРВ-SLAVE перед этим должен "попрыгать" по адаптерам (если их несколько) и проверить вдруг это не MASTER упал, а просто сеть оборвалась и МРВ-MASTER продолжает нормально функционировать и не надо никуда ничего переключать по статусам - это как прикажите разрешать на автоматическом уровне?? Или, например у Вас в проекте таймаут ожидания перехода из SLAVE в MASTER - 3-4 секунды, а у кого-то перед этим должны быть выполнены определенные действия или функции, и только от успеха их выполнения нужно решить переключать SLAVE в MASTER или нет. Это может быть запрограммировано только разработчиком системы и только им, ТМ для этого дает Вам только специализированные функции и каналы для управления статусами, а сами алгоритмы функционарования системы управления статусами МРВ Вы должны создать сами!

Это ответ на Ваши вопросы: "ПОЧЕМУ УЗЕЛ НЕ ПЕРЕХОДИТ ИЗСОСТОЯНИЯ STS_TRACE В STS_WORK" и "STS_WORK после обрыва связи не переходит в состояние STS_TRACE"...

2) "То есть получается физический смысл DoubleForce в синхронизации атрибутов каналов и СПАД архивов???"
Да - это действительно так. Отличие МРВ DF от обычного МРВ только в следующем:
а)Синхронизация реальных значений по каналам
б)Синхронизация архивов
в)В комплекте идут два ключа, т.е. сразу два МРВ в одном продукте.

3) "Как скажется введение дополнительного/дополнительных FBD-програмы(м), выполняющих столь важную функцию на надежности/производительности системы?"
Насчет этого можете особо не переживать - 1-2 дополнительных FBD никак не повлияют на общую производительность системы...

4) "другие значения относительно основного сервера" - это можно объяснить тем, что для этого канала Вы не задали возможность синхронизации атрибутов по Мастеру. Синхронизируемые каналы в режиме SLAVE должны быть отключены (управлением атрибутом Подключение), а кроме того - в списке автопосылок они должны быть замкнуты сами на себя.

Сообщения / Posts 17109 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Dima
Forum Member / Участник форума
Участник № / Member № 839


Icon 1 отправлено / posted      Профиль для / Profile for Dima           Редактировать/удалить сообщение / Edit/Delete Post 
>"другие значения относительно основного сервера" - это можно объяснить тем, что для этого канала Вы не задали возможность синхронизации атрибутов по Мастеру. Синхронизируемые каналы в режиме SLAVE должны быть отключены (управлением атрибутом Подключение)

Т.е. я должен "в ручную" или с помощью того же FBD управлять атрибутом подключение?
Итого получается:
Если я буду решать задачу автоматического переключения серверов из резерва в работу и наоборот с помощью FBD программы, я должен создать FBD программу, выполняющую следуюшие действия :
1) постоянно следить за тем, есть ли связь с резервным сервером
2) постоянно контролировать, не повис ли Master сервер
3) переключать серверы из работы в резерв и наоборот
4) управлять атрибутом подключение каналов узла в резерве
Так?

теперь вопросы по реализации:
1) как из FDB постоянно следить за тем, есть ли связь с резервным сервером?
2) как из FDB постоянно контролировать, не повис ли Master сервер
3) как из FDB переключать серверы из работы в резерв и наоборот, точнее подключая точку FBD программы я в списке объектов не вижу объектов резервного узла. т.е. я должен привязывать точку FBD-программы, к каналу "Системный" дополнение "Статус" основного узла, а система сама разберется какому узлу df или df(1) направить эти данные?
4) аналагичный вопрос по атрибуту "подключение" : имея резервный узел df(1) я в списке, который выдается при подключении точек FBD-программы к атрибутам каналов, не вижу объекта df(1)

Ждем ответа!!!

Сообщения / Posts 33 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 2 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
1) В системе имеются специализированные каналы, которые позволяют реализовывать функции управления резервированием:
СИСТЕМНЫЙ_Статус - в Input контролирует статус текущего узла. В Output - управляет статусом текущего узла.
СИСТЕМНЫЙ_Приоритетный - в типе Input старший байт показывает статус удаленного (резервного) узла (2 - Мастер, 3 - Слейв).
ДИАГНОСТИКА_Дубль - это счетчик, который начинает каждую секунду увеличивать свое значение, если по какой либо причине нет связи с удаленный узлом (оборвалась сеть или удаленный МРВ завис).
Когда Вы разрабатываете дублированную систему, Вы создаете только один узел АРМ, другой (резервный) система создает автоматически за Вас. Все те алгоритмы и каналы, которые Вы создаете в основном узле, также создаются и в резервном. Но - когда Вы запускаете узлы под DF МРВ каждый из них я вляется индивидуальным узлом и хоть внутренняя база у них одинакова, но функционируют они каждый по своему. Поэтому в самих алгоритмах необходимо всегда опираться на статус текущего узла, чтобы выполнять какие-либо операции... Например, МРВ может переключиться в Мастер только если он до этого сам был Слейв и только, если произошла потеря связи с удаленным МРВ (контроль по каналу Диагностика_дубль).

Поэтому: "аналагичный вопрос по атрибуту "подключение" : имея резервный узел df(1) я в списке, который выдается при подключении точек FBD-программы к атрибутам каналов, не вижу объекта df(1)" - нельзя в качестве аргументов в математике привязаться к каналам резервного узла. Весь контроль за состоянием удаленного узла может осуществляться только через специализированные каналы. То, что Вы в АРМе привяжете выход FBD к каналу СИСТЕМНЫЙ_Статус с типом Output для управления статусом узла означает только то, что Вы будете управлять статусом текущего узла. Но - при этом система автоматически создаст ту же самую FBD, канал и выполнить такую же привязку к каналу и узле-дубле, а это означает, что запустив оба узла они будут функционаровать с одинаковой логикой, но каждый по-своему.

2) Сам статус узлов (Master\Slave) - это всего лишь управление включением/выключением определенного списка функций текущего сервера и ничего более. Эти функции также управляются через специализированные каналы: СИСТЕМНЫЙ_Ввод,Вывод и СИСТЕМНЫЙ_Сеть,DDE (подробности смотрите в справочной системе). Если МРВ в режиме Slave - это не значит, что он вообще не работает и вся его математика стоит, это означает только, что некоторый набор его функций отключен (например, рассылка по сети), но при этом вся его база продолжает пересчитываться и все его FBD также пересчитываются.

3) Если я буду решать задачу автоматического переключения серверов из резерва в работу и наоборот с помощью FBD программы, я должен создать FBD программу, выполняющую следуюшие действия :
(1) постоянно следить за тем, есть ли связь с резервным сервером
(2) постоянно контролировать, не повис ли Master сервер
(3) переключать серверы из работы в резерв и наоборот
(4) управлять атрибутом подключение каналов узла в резерве
Так?


Все верно! Ведь Вы проектируете систему и Вы как проектировщик определяете какие группы каналов необходимо отключать от управления, когда узел находится в состоянии Slave. Например, если это каналы для управления задвижками - ведь это для Вас они каналы управления задвижками, а для системы - всего лишь каналы и ничего более, ни о каких задвижках она ничего не знает! Поэтому необходимо определить и сгруппировать эти функции (каналы, FBD и прочее), а также создать алгоритмы, по которым система будет управлять статусами этих каналов в зависимости от статуса текущего узла... Резервная система - это не просто дополнительный элемент, который функционально дублирует основной - это довольно сложный механиз управления приоритетами функций управления и контроля внутри каждого такого элемента, и если их не спроектировать и не реализовать, то Вы получите систему, в которой каждый МРВ будет "тянуть одеяло" управления на себя, а не поддерживать систему в балансе и осуществлять четкое и слаженное переключение как статусов узлов, так и их функций управления в нештатных ситуациях...

Сообщения / Posts 17109 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Larik
Active Forum Member / Активный участник форума
Участник № / Member № 191


Icon 5 отправлено / posted      Профиль для / Profile for Larik           Редактировать/удалить сообщение / Edit/Delete Post 
Здравствуйте.
Мы сейчас отлаживаем DF МРВ и у нас возник ряд вопросов:
1.При переключении узла в резерв снял запрет запроса данных каналами СВЯЗЬ-IN NET с помощью канала СИСТЕМНЫЙ-Сеть,DDE. Связь идёт, но очень медленно, чем при состоянии узла РАБОТА. Приходится ждать очень долго, пока поменяется значение, которое генерируется третьим узлом.
2.Почитав форум я понял, что если нам ,например, не нужно синхронизировать значения каналов и СПАД, то всё преимущество DF сводится только к тому, что в нем работает канал ДИАГНОСТИКА-Dubl.
Всё остальное можно сделать и в обычном МРВ? Каналы "СИСТЕМНЫЙ-Сеть,DDE" и "СИСТЕМНЫЙ-ввод,вывод" там тоже будут работать?

Сообщения / Posts 76 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 2 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
1) Надо смотреть лог-файл - скорее всего не хватает NCB-блоков для обмена, отсюда и задержки.
2) Да, вполне возможно использование обычных МРВ, если не планируется синхронизировать СПАД, базы и осуществлять контроль дубля.

Сообщения / Posts 17109 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

   Закрыть тему / Close Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2