Регистрация | Последние сообщения | Персональный список | Поиск | Настройка конференции | Личные данные | Правила конференции | Список участников | Top 64 | Статистика раздела | faq | Что нового v.2.3 | Чат
Skunk Forum - Техника, Наука, Общество » АСУТП »
Резервирование SCADA-сервера (страница 2)

Версия для печати (настроить)
Страницы: 1 2

Новая тема | Написать ответ

Подписаться

Автор Тема:   Резервирование SCADA-сервера
HelpFix
Member

Сообщений: 59
Регистрация: Февраль 2007

написано 27 Мая 2008 14:43ИнфоПравкаОтветитьIP

что клиент в каждый конкретный момент времени держит соединение только с одним сервером
в iFix клиент держит связь ОДНОВРЕМЕННО с двумя серверами, но данные получает только с одного - "активного" сервера

Можно ли оценить время этого переключения?
ручное переключение - менее одной секунды
переключение в случае потери связи с активным сервером - настраивается таймерами, обычно до 20 секунд.
таймеры можно настроить самостоятельно, но это не рекомендуется.

Что происходит, если пропала связь до основного сервера, ведь резервный узел не может знать о сложившейся ситуации, произойдет ли переход на резерв в этом случае?
клиент iFix сам определяет, что состояние связи с активным сервером - bad, и САМ КЛИЕНТ инициирует переключение на другой сервер, соединение с которым - Ok.

Эти вопросы возникли при рассмотрении гипотетической ситуации: удаленный клиент отправляет команду на PLC через основной сервер, в этот момент сервер выходит из строя или с ним теряется связь, происходит переключение на резерв, и, во-первых, мы не знаем выполнилась ли команда (нужно ли ее посылать еще раз), и, во-вторых, мы теряем управление на какое-то время и нужно это время оценить (поскольку может появиться необходимость срочно остановить процесс). Может у кого-нибудь мысли по этому поводу, а еще лучше - практические наблюдения?

Дали команду, потеряли связь с сервером, на время переключение - действительно остаетесь слепыми, через 20 секунд - переключаетесь на резервный сервер. То, что выполнилась или нет команда отслеживаете по ответной сигнализации и другим признакам, по тем же, по которым вы оцениваете выполнение команды при нормальной работе.
Т.е. по сравнению с нормальной работой - у вас появляется временная задержка.

Несанкционированные Переключения необходимо минимизировать.
При штатных отключениях серверов, необходимо предварительно вручную переключать клиентов на резервный работающий сервер.
Удачи.

киповец
Member

Сообщений: 41
Откуда: Россия
Регистрация: Январь 2008

написано 27 Мая 2008 19:07ИнфоПравкаОтветитьIP

В Rockwell данные сервера получают от контроллеров одновременно. Рабочие станции получают от одного сервера. Время переключения при отказе основного сервера судя по литературе 2-3 сек. Организация резервирования осуществляется настройкой(установкой галочек в соответствующих местах). Также делается настройка связи с резервированными контроллерами. Только время переключения 1 сек. Сеть TCP/IP.
При посылке команды рабочая станция проверяет исполнение.

mnf
Junior Member

Сообщений: 2
Регистрация: Май 2008

написано 28 Мая 2008 15:50ИнфоПравкаОтветитьIP

цитата:
ColdFire писал:
... Насколько я представляю себе ситуацию, стандартные протоколы обмена для PLC не обеспечивают такого уровня безопасности ... Что касается самого резервирования, то tcpip как протокол для подобных целей подходит слабо.

В пределах самой станции все более-менее нормально (например, мы уже попробовали двойной ModBus+ для связи PLC <-> SCADA-сервера, работает неплохо). А вот оператор со своими SCADA-терминалами сидит в нескольких километрах от этих серверов. Вообще-то, у нас есть выделенные каналы (основной и резервный оптоволокна), плюс возможность поиграться с QoS, чтобы обеспечить приемлемые временные характеристики соединения. Весь вопрос в самой архитектуре, и как поведут себя SCADA-сервера в нестандартной ситуации.

mnf
Junior Member

Сообщений: 3
Регистрация: Май 2008

написано 28 Мая 2008 16:24ИнфоПравкаОтветитьIP

цитата:
HelpFix писал:
в iFix клиент держит связь ОДНОВРЕМЕННО с двумя серверами, но данные получает только с одного - "активного" сервера...ручное переключение - менее одной секунды...переключение в случае потери связи с активным сервером - настраивается таймерами, обычно до 20 секунд.

Замечательно, что он держит связь с обоими серверами, а вот 20 секунд на автоматическое переключение - это, конечно же, очень плохо. Кстати, а не может ли клиент отправить команду (скажем, записать значение в ячейку контроллера) через резервный, раз уже есть связь, или это соединение только для организации переключения?

цитата:
HelpFix писал:
клиент iFix сам определяет, что состояние связи с активным сервером - bad, и САМ КЛИЕНТ инициирует переключение на другой сервер, соединение с которым - Ok

Т.е., основной сервер переходит в состояние "резерв", а резервный становится основным и начинает принимать команды? А что при этом происходит с другими клиентами, которые все еще пытаются управлять через основной сервер?

цитата:
HelpFix писал:
Т.е., по сравнению с нормальной работой - у вас появляется временная задержка.

Основной вопрос в том, как организовать "большую красную кнопку", нажав на которую оператор мог бы экстренно выполнить необходимую команду - даже секунда задержки может оказаться совсем некстати. Теоретически это возможно, поскольку есть всегда работающее соединение с резервным компьютером, вопрос в реализации. Сейчас у нас работает собственная разработка, но хочется прощупать почву. Может и ни к чему было изобретать очередной велосипед

Большое спасибо за развернутый ответ. Кстати, Вы работали только с iFIX, или в других SCADA все точно так же?

Добавление от 28 Мая 2008 16:34:

цитата:
киповец писал:
В Rockwell ... Время переключения при отказе основного сервера судя по литературе 2-3 сек...При посылке команды рабочая станция проверяет исполнение.

Интересно, что происходит при частичной потере связи: несколько станций потеряли соединение с основным и инициируют переключение на резерв, а остальные пытаются продолжить работу по старой схеме.

киповец
Member

Сообщений: 44
Откуда: Россия
Регистрация: Январь 2008

написано 28 Мая 2008 19:19ИнфоПравкаОтветитьIP

Интересно, что происходит при частичной потере связи: несколько станций потеряли соединение с основным и инициируют переключение на резерв, а остальные пытаются продолжить работу по старой схеме.
А поподробней как вы представляете такую ситуацию? Как то смысл не улавливаю.

mnf
Junior Member

Сообщений: 4
Регистрация: Май 2008

написано 29 Мая 2008 16:23ИнфоПравкаОтветитьIP

цитата:
киповец писал:
А поподробней как вы представляете такую ситуацию? Как то смысл не улавливаю.

Довольно просто: два терминала (&#8470;1 и &#8470;2), два сервера (основной и резервный), терминал &#8470;1 потерял связь с основным и инициирует переключение на резервный. Что происходит с терминалом &#8470;2 - у него-то все было нормально, а теперь он на какое-то время теряет управление. Или есть нюансы?

киповец
Member

Сообщений: 46
Откуда: Россия
Регистрация: Январь 2008

написано 29 Мая 2008 20:00ИнфоПравкаОтветитьIP

Довольно просто: два терминала (&#8470;1 и &#8470;2), два сервера (основной и резервный), терминал &#8470;1 потерял связь с основным и инициирует переключение на резервный. Что происходит с терминалом &#8470;2 - у него-то все было нормально, а теперь он на какое-то время теряет управление. Или есть нюансы?
Любая рабочая станция не должна иницировать переключение серверов. Если так делать то будет бардак. В этом случае на станции будет диагностироваться "потеря связи". Разговор ведется о вариантах отказа сервера.
В ответственных приложениях лучше всего применять спаренные станции. Софт на таких станциях идентичен.

mnf
Junior Member

Сообщений: 5
Регистрация: Май 2008

написано 30 Мая 2008 14:14ИнфоПравкаОтветитьIP

цитата:
киповец писал:
Любая рабочая станция не должна иницировать переключение серверов. Если так делать то будет бардак. В этом случае на станции будет диагностироваться "потеря связи". Разговор ведется о вариантах отказа сервера.
В ответственных приложениях лучше всего применять спаренные станции. Софт на таких станциях идентичен.

Вот потерялась связь с основным сервером, кто, если не клиент, будет иницировать переключение на резервный и по какому поводу? У серверов все в порядке - они друг друга видят. А вот клиент, потерявший связь с основным, вообще не может управлять (хотя есть работающее соединение с резервным). Или сервер переключается на резерв, когда потерял связь со всеми клиентами? Пожалуйста, поясните алгоритм.

киповец
Member

Сообщений: 48
Откуда: Россия
Регистрация: Январь 2008

написано 30 Мая 2008 19:15ИнфоПравкаОтветитьIP

В сервере крутится программа самодиагностики. Если он вышел из строя то происходит подмена адреса и все.

sas73
Junior Member

Сообщений: 1
Регистрация: Май 2008

написано 30 Мая 2008 22:00ИнфоПравкаОтветитьIP

Забавно...т.е.сервер вышел из строя и сам же что-то где-то подменил.

HelpFix
Member

Сообщений: 62
Регистрация: Февраль 2007

написано 03 Июня 2008 10:34ИнфоПравкаОтветитьIP

цитата:
mnf писал:
Замечательно, что он держит связь с обоими серверами, а вот 20 секунд на автоматическое переключение - это, конечно же, очень плохо. Кстати, а не может ли клиент отправить команду (скажем, записать значение в ячейку контроллера) через резервный, раз уже есть связь, или это соединение только для организации переключения?

Да, клиент может в любое время отправить команду как через сервер S1, так и через сервер S2.
Необходимо явно указать значение тега на каком сервере вы хотите изменить.

В классическом виде резервирования, клиент работает с активным сервером через т.н. логическое имя - S.
Т.е. когда клиент отправляет команду через логическое имя, вместо логического имени S - подставляется уже "физическое" имя сервера S1 или S2. Вот здесь и используется операция переключения с S1 на S2 и наоборот.

20 секунд задержки - не очень много, по-моему. Человек же не постоянно смотрит на монитор и не может оторваться ни на мгновение.
Гораздо важнее, чтобы переключение четко и надежно срабатывало.
Опять же - есть возможность подправить таймеры на переключение.

цитата:
mnf писал:
Т.е., основной сервер переходит в состояние "резерв", а резервный становится основным и начинает принимать команды? А что при этом происходит с другими клиентами, которые все еще пытаются управлять через основной сервер?

Сервера не имеют состояний "резерв" или "работа", они оба, одновременно и равнозначно держат соединение с контроллерами.
Любой из клиентов клиент-серверной ахритектуры iFix устанавливает соединение сразу с двумя серверами, но по логическому имени S может принимать и отдавать данные только на один.

цитата:
mnf писал:
Основной вопрос в том, как организовать "большую красную кнопку", нажав на которую оператор мог бы экстренно выполнить необходимую команду - даже секунда задержки может оказаться совсем некстати. Теоретически это возможно, поскольку есть всегда работающее соединение с резервным компьютером, вопрос в реализации. Сейчас у нас работает собственная разработка, но хочется прощупать почву. Может и ни к чему было изобретать очередной велосипед

В iFix можно, например, давать дублированную команду через сервер S1 и через сервер S2 одновременно.
Платите за это двойным конфигурированием - две цифры надо показать на рисунке, в скрипте изменения два источника прописать.

panteleys
Member

Сообщений: 65
Откуда: Пермь, Россия
Регистрация: Апрель 2006

написано 03 Июня 2008 11:17ИнфоПравкаОтветитьIP

Я обслуживал котельную (1500 каналов), там стоит Citect v4.0 (1998 год). Ситуация переключения на резервный сервер была раз 200 если не больше. Сам лично когда компы чистил, то их снимал, соответственно происходило отключение сервера. Время переключения лично я не замечал. Единственно по чему можно судить о времени это если выключить основной сервер и на клиенте сразу же после этого вызвать новую мнемосхему происходит подвисание появления динамических данных. Через 2 секунды все появляется на экране. На сколько я помню время переключения на сервер это один из параметров настройки, по умолчанию как раз 2 секунды (т.е. можно настроить и быстрее). На счет передачи данных ничего сказать не могу, т.к. не проводил такой эксперимент. Но думаю, что команда пролетит нормально, а когда подключится резервный сервер, то вы увидете на 100% прошла она или нет. А останавливать процесс из-за того что вышел из строя основной сервер (а резервный работает нормально) как-то по-моему не разумно. Да и как остановить если сервера не работают (соответственно и станции слепые), только бежат и по месту все тормозить.

Ваш ответ:

Коды форума
Смайлики


Ник:    Пароль       
Отключить смайлики
Страницы: 1 2

Все время MSK

Склеить | Разбить | Закрыть | Переместить | Удалить

Новая тема | Написать ответ
Последние сообщения         
Перейти к:

Свяжитесь с нами | skunksworks.net

Copyright © skunksworks.net, 2000-2018

Разработка и техническая поддержка: skunksworks.net


Рейтинг@Mail.ru Яндекс.Метрика