RedundancyControl

<< Click to Display Table of Contents >>

Navigation:  Проект в MasterSCADA 4D > Дерево библиотек > Библиотека BaseObjects > BaseObjects.ФБ.Системные >

RedundancyControl

Функциональный блок RedundancyControl служит для управления резервированными узлами.

Важно! Функциональные блоки в каждом узле работают независимо и показывают/управляют тем узлом, в котором исполняется. Находится в библиотеке BaseObjects. Этот функциональный блок может использоваться как самостоятельно, вне программ, так и в составе любой программы.

Вид в дереве

Вид в редакторе FBD

RedundancyControl

RedundancyControl_1

Входы и выходы ФБ:

Название

Тип

Назначение

Входы

SetProgramFault

BOOL

Устанавливает программный статус отказа узла.

ResetProgramFault

BOOL

Сбрасывает программный статус отказа узла.

SetIgnoreFault

BOOL

Устанавливает признак игнорирования отказа узла.

ResetIgnoreFault

BOOL

Сбрасывает признак игнорирования отказа узла.

ChangeToSlave

BOOL

Временно переводит узел в режим SLAVE (другой при этом перейдет в режим MASTER)

Важно! Узел может стать основным (MASTER) только, если он переключился в режим резервного (SLAVE) как минимум 15 сек назад. Это ограничение позволяет избежать зацикливания при переключениях.

FaultLevel

DINT

Задается уровень неисправности. В случае если оба сервера будет находится в состоянии Отказ, то управление перейдет  тому, у которого значение FaultLevel меньше.

Выходы

IsRedundancyEnabled

BOOL

Показывает активировано ли резервирование в работающем проекте. Если значение выхода FALSE, значит в проекте функции резервирования не используются для данного узла.

IsMaster

BOOL

Показывает состояние узла, на котором исполняется. Если значение TRUE, то узел находится в режиме MASTER, если значение FALSE, то SLAVE. Этот выход можно использовать в программах, например, которые отвечают за отправкой E-Mail сообщений. Т.е. если узел находится в состоянии SLAVE, то отправку сообщений не производить

Number

DINT

Показывает, каким назначено данное устройство в среде разработки.

1 - в среде разработки устройство было назначено как Узел 1, его IP-адрес задан в поле IP адрес категории свойств Связь в настройках узла

2 -  в среде разработки устройство было назначено как Узел 2, IP-адрес задан в поле IP адрес узла 2 категории свойств Резервирование

Если значение данного выхода отобразить в окне, то в окне будет отображаться значение того узла, который находится в состоянии MASTER, т.к. клиент подключается автоматически к тому узлу, который в текущий момент

IsFault

BOOL

Сообщает о наличии отказа узла. Узел имеет статус отказа, если значение выхода TRUE.

IsError

BOOL

Сообщает о наличии ошибки узла. Узел имеет ошибки, если значение выхода TRUE.

IsProgramFault

BOOL

Сообщает о наличии программного отказа узла. Отказ вызван программно, если значение выхода TRUE. Программный отказ устанавливается на входе SetProgramFault или кнопкой Отказ на панели управления узлом.

IsProgramError

BOOL

Сообщает о наличии программной ошибки узла. Узел имеет статус ошибки, вызванный программно, если значение выхода TRUE.

IsIgnoreFault

BOOL

Показывает, что узел имеет статус игнорирования отказа

StateFlags

DWORD

Отображается флаг состояния узла:

1 - отказ

2 - тестовый флаг, меняется раз в 500 мс

4 - контроллер находится в состоянии MASTER

8 - есть ошибка

16 - узел может принять состояние MASTER (если в проекте у службы Резервирование задана настройка Выдержка времени при старте, то в течение этого времени снят этот флаг)

64 - узел не отвечает

128 - попытка передачи состояния MASTER на другой узел (флаг ставится на время такой передачи, пока другой узел не принял состояние MASTER)

512 - отказ одного из протоколов

1024 - ошибка синхронизации SLAVE c MASTER

8192 - включен режим работы без опроса протоколов (ставится через час работы демоверсии исполнительной системы)

IsOtherConnected

BOOL

Отображает наличие связи с другим узлом. Если значение выхода TRUE - связь есть.

IsOtherFault

BOOL

Отображает наличие отказа у другого узла. Если значение выхода TRUE, то другой узел имеет статус Отказ.

IsOtherError

BOOL

Отображает наличие ошибки у другого узла. Если значение выхода TRUE, то другой узел имеет статус Ошибка.

StatSyncPeriod

DINT

Отображает период обновления данных резервного узла.

OtherFaultLevel

DINT

Отображается уровень неисправности FaultLevel другого сервера. В случае если оба сервера будет находится в состоянии отказ, то управление перейдет тому, у которого значение FaultLevel меньше.

OtherStateFlags

DWORD

Отображается флаг состояния резервного узла. Возможные флаги аналогичны флагам параметра StateFlags.

SyncSucceeded

BOOL

Отображает успешность синхронизации. Значение TRUE указывает на успешное завершение синхронизации.

SuccessfulSyncCount

DINT

Отображает количество успешных синхронизаций.

SyncDataSize

DINT

Отображает объем синхронизируемых данных.

LastSyncTime

DT

Отображает дату и время последней успешной синхронизации.

LastSyncDuration

TIME

Отображает длительность последней успешной синхронизации.

SyncErrorsCount

DINT

Отображает количество ошибок, возникших в процессе синхронизации.