system(43, <аргумент>)
Вызов функции system(43, <аргумент>) изменяет текущий статус мастер-модуля в резервированном режиме.
Список аргументов:
|
Аргумент
|
Устанавливаемый статус
|
|
0
|
Автоматическое определение
|
|
1
|
Основной
|
|
2
|
Резервный
|
Для смены статуса необходимо однократно вызвать функцию system(43, ...) на один цикл со значением аргумента 1 или 2. После чего сбросить аргумент в значение 0, чтобы избежать зацикливания смены статуса. При этом вызов функции должен осуществляться только на одном мастер-модуле.
Пример использования:
//вызов функции для чтения глобальных флагов (диагностической платы)
diag := system(44, 7);
//извлечение из битовой маски текущего статуса мастер-модуля (21 бит)
is_MAIN := GETBIT(21, diag);
// ветвление программы для основного и резервного мастеров,
// чтобы команда не применялась на обоих мастерах
if (is_MAIN) then
arg_out := system(43, 1);
else
arg_out := system(43, 2);
end_if;
|
