Среда разработки Unimod PRO 2 (версия 2.3.40)
 Руководство по программированию
×

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;