<< Click to Display Table of Contents >> Navigation: Проект в MasterSCADA 4D > Настройка сетевых проектов > Резервирование узлов |
Важно! Для возможности резервирования узлов требуется опция MSRT-Red. Данную опцию можно включить в функционал лицензий Professional и Enterprise.
Два устройства с загруженной в них исполнительной системой MasterSCADA 4D специальной конфигурации работают одновременно: одно имеет статус Основной (MASTER), другое — Резервный (SLAVE). Клиент должен подключаться к тому узлу, который находится в режиме основного. Если связь с этим узлом будет потеряна, то страница клиента автоматически переподключится к тому узлу, который находится в состоянии основного. Программы на обоих узлах выполняются независимо. Опрос устройств могут вести два узла одновременно. Однако для протоколов, в которых параллельный опрос устройств невозможен, получение текущих данных по протоколам, добавленным в проект, производит только один из них — тот, который работает в режиме основного. В процессе работы, параметры, у которых в настройке Сохранять установлено значение Да, передаются от основного узла резервному. Период передачи данных определяется в настройках службы резервирования. В общем случае, при возникновения отказа основного узла управление переходит к резервному. Переключение клиентов визуализации к тому узлу, который находится в состоянии MASTER происходит без перезагрузки страницы клиента визуализации. Раз в 10 секунд происходит синхронизация сессий пользователей между MASTER и SLAVE.
•В результате отказа протокола добавленного в проект. В зависимости от настройки протокола Формировать отказ узла также может сформироваться отказ узла. Если оба узла выставят отказ, то в режиме основного останется последний узел, получивший этот статус.
•Программный отказ. Устанавливается через ФБ RedundancyControl (на вход SetProgramFault подается значение True) или кнопкой Отказ на панели управления узлом.
Переключение MASTER—SLAVE происходит в следующих случаях:
1.если текущий узел SLAVE и при этом другой узел не отвечает или тоже находится в режиме SLAVE, то осуществляется переключение текущего узла в MASTER;
2.если текущий узел MASTER, и у него возникает отказ, а на другом узле нет отказа, то осуществляется переключение текущего узла в SLAVE, а другой узел переключается в MASTER по правилу 1;
3.если текущий узел MASTER и другой узел тоже MASTER, то осуществляется переключение текущего узла в SLAVE.
Оба узла равноправны, однако на узле 2 имеется пауза при старте 10 сек, для того чтобы при одновременном включении узел 1 загрузился раньше и стал MASTER. Но в дальнейшем переключение идет по общим правилам.
Процесс автоматической загрузки конфигурации проекта при резервировании узлов проходит по следующему алгоритму:
1.Загрузка конфигурации в узел SLAVE;
2.После того, как в узел SLAVE загрузилась новая конфигурация, начинается загрузка в узел MASTER;
3.Когда узел MASTER идет на перезапуск, узел SLAVE должен переключиться в режим MASTER в течение 100 мс.
Управление резервированием, а также получение информации о работе резервированных узлов можно при помощи функционального блока RedundancyControl.
Настройка резервирования
1.Добавить службу Резервирование. Для этого в контекстном меню группы Службы нужно выбрать соответствующий пункт.
2.После выполнения предыдущего пункта, в панели свойств узла появятся дополнительные настройки, позволяющие определить в сети второй сервер из резервируемой пары.
Важно! IP-адреса основного и резервного узла не могут совпадать. Также служба резервирования не работает на узле с локальным IP-адресом (127.0.0.1 или localhost). В обоих случаях при компиляции проекта будет выдаваться ошибка.
Свойство |
Назначение |
IP-адрес узла 2 |
Задается IP-адрес устройства (компьютера, контроллера и т. п.), которое выполняет роль второго сервера. Если устройство имеет две сетевые карты, то задаются два IP-адреса через запятую. IP-адрес узла 1 при резервировании задается в группе настроек Связь в поле IP адрес. |
Таймаут |
Таймаут опроса состояния компьютеров. |
Количество повторов при неудачном опросе |
Определяется количество неуспешных попыток связи основного и резервного серверов, выполненных подряд, прежде, чем будет сформирована ошибка связи. |
Количество передаваемых архивных значений |
Указывается максимальное количество значений одного параметра, передаваемых в одном запросе архива при резервировании. По умолчанию установлено значение 100 |
Выдержка времени на старте |
Определяет через какое время (N) после загрузки конфигурации будет возможен переход с основного на резервный для обновления основного Рассмотрим порядок работы: 1) Обновляется конфигурация в резервном сервере (SLAVE). 2) Сервер перезагружается 3) В течении времени N после перезагрузки резервного принудительно остается в режиме SLAVE (основной видит этот статус и не пытается передать управление при своем отказе, среда разработки считает, что загрузка все еще идет в него) 4) Снимается запрет резервного на переход в MASTER. Среда получает статус успешной загрузки и начинает загрузку файлов в него 5) После загрузки файлов в основной он передает управление на резервный и на N секунд ставится признак запрета на переход в Master. 6) По истечении задержки основной перегружается. 7) основной загрузился. Аналогично п.3 в течении N секунд действует запрет на перевод основного в Master 8) По истечении этого времени снимается запрет и среда разработки выдает статус о загрузке конфигурации в оба контроллера. Если нет отказов, то остается сервер, что был в начале алгоритма основным - SLAVE, а тот, что был резервный - MASTER. |
Доступ к OPC UA серверу в режиме SLAVE |
Определяет возможность подключения по протоколу OPC UA к серверу, который находится в состоянии резервного. При получении данных сторонним клиентом OPC UA нужно учитывать следующую информацию: •Если флаг установлен и сервер находится в состоянии резервного, то устанавливаются параметры: Server.ServiceLevel = 1 Server.ServerStatus.State = Suspended (3) •В режиме основного (при любом значении настройки Доступ к OPC UA серверу в режиме SLAVE, также без резервирования): Server.ServiceLevel = 255 Server.ServerStatus.State = Running (0) |
Адреса приоритетных сетей |
Задаются адреса сети вида 192.168.56.0/24 через запятую. Среди адресов другого узла в первую очередь используются адреса, принадлежащие указанным в порядке следования. Если ни один не отвечает, используются оставшиеся адреса, но раз в минуту делается попытка обратится по приоритетным адресам. |
Доступ по Modbus TCP в режиме SLAVE |
Определяет возможность подключения к резервному серверу по протоколу Modbus TCP. По умолчанию флаг отключен. При установке флага, в режиме SLAVE, будет продолжать работать Modbus TCP-сервер. |
Переключение на основной |
По умолчанию значение настройки FALSE. При значении TRUE всегда происходит переключение на основной узел, если на нем нет Отказа. То есть если на основном узле возникает отказ и резервный узел переходит в состояние MASTER, то без установки данной настройки после снятия отказа на основном узле резервный так и останется в роли MASTER. При установленной настройке мастерство переключится на основной узел после снятия на нем отказа. |
Период полного опроса при межузловой связи |
Задается период, с которым будет происходить отправка всех данных, без учета изменений, при межузловой связи. |
Не переключаться в режим Master при отказе всех сетей |
Данная настройка используется для предотвращения автоматического переключение узла в режим Master в случае отказа всех сетей. При значении TRUE, если все сети для резервирования недоступны, то узел переключится в режиме Slave. По умолчанию значение этой настройки FALSE. Важно! Данная настройка используется только на ОС Linux. |
3. Расширенный доступ к настройкам, отвечающим за резервирование, можно получить в панели свойств. Для этого в дереве системы следует выделить службу Резервирование.
Свойство |
Назначение |
Категория Задача |
|
Переключение на основной |
При значении TRUE всегда происходит переключение на основной узел, если на нем нет Отказа. По умолчанию значение настройки FALSE. |
Между основным и резервным передаются только те текущие значения, для которых свойство Сохранить имеет значение Да или Наследуется, но во втором случае у одного из родительских элементов должно быть установлено Сохранять=Да. Поддерживается синхронизация значений параметров различных типов данных, в том числе длинных строк (более 256 символов), при условии, что параметр имеет тип STRING, поддерживается синхронизация динамических массивов (массивов переменной длины)
Кроме значения передается и признак блокировки. В независимости от настройки свойства Сохранить, заблокированный параметр Объекта, назначенного в узел со статусом MASTER, всегда будет сохранять значение даже при изменении статуса узла на SLAVE.
Важно! На узле со статусом SLAVE невозможно изменять, блокировать или разблокировать параметры. При любой попытке изменить параметр на узле со статусом SLAVE его значение или состояние будет сбрасываться к текущему.
Период, с которым основной будет передавать информацию резервному ,определяется одноименной настройкой, которая находится в категории Задача службы Резервирование.
Данные передаются по внутреннему протоколу. Каждый сервер имеет свой файл, необходимый для восстановления после рестарта. После получения необходимых данных от основного резервный записывает и в свой файл session.bin. Данные записываются в файл согласно периоду выполнения службы Сохранение состояния, а в задаче они будут использованы в следующем цикле выполнения задачи.
Узел работающий в режиме MASTER сохраняет все данные в выбранную базу данных. Узел SLAVE делает запрос на передачу данных 1 раз секунду. Архивные данные передаются от основного сервера к резервному по средствам протокола TCP. За один раз по каждому параметру может быть передано значений не больше, чем указано в в свойстве Количество передаваемых архивных значений.
Если основной или резервный узел был отключен, то после включения произойдет синхронизация пропущенных участков архивов данных, и узел получит все сообщения, которые возникали с момента последней записи в базу данных.
Узел работающий в режиме MASTER сохраняет все сообщения в выбранную базу данных. Узел SLAVE делает запрос на сообщения 1 раз секунду. За 1 секунду может быть передано не более 1000 сообщений. Если резервный сервер был отключен, то после включения он получит все сообщения, которые возникали с момента последней записи в базу данных.
При отказе основного узла он переходит в режим SLAVE, а резервный узел переходит в режим MASTER и сохраняет сообщения в свою БД.
Важно! Если переход узла из режима SLAVE в режим MASTER происходит быстрее, чем синхронизация сообщений от MASTER к SLAVE, то сообщения будут потеряны.
Если вы не используете внешнюю БД для хранения настроек безопасности, то файлы JSON будут автоматически синхронизироваться между основным и резервным серверами. Это означает, что настройки безопасности будут обновляться на обоих серверах, чтобы гарантировать их актуальность.
В случае использования сетевой базы данных для хранения настроек безопасности, любые изменения, внесенные на одном сервере, будут автоматически доступны и на другом сервере. Таким образом, оба сервера всегда будут иметь актуальные настройки безопасности.
UDP запросы следующих типов:
•Запрос резервного сервера на получение архивных данных;
•Запрос резервного сервера на получение архивных/новых сообщений.
Обрабатываются в отдельном потоке. Данные типы запросов в статистике отображаются как N2.
Смотрите также:
Совместимость с антивирусами и файрволами
Работа с клиентом визуализации
Смотрите также видео, необходимо подключение к интернету:
MasterSCADA 4D: настройка БД при резервировании