Состояние алгоблока

Типовые задачи  Предыдущий  Следующий

Общие сведения

Наименование: ID_STATE.

Тип выхода: логический.

Количество входов: 2.

Примечание по входам

порядок входов: «ID алгоблока», «Маска состояния»;

«ID алгоблока» — ссылка на алгоблок пользовательской программы;

признак инверсии первого входа («Канал») игнорируется;

«Маска состояния» — определяет перечень отслеживаемых состояний:

o1 — норма;

o2 — неинициализированное состояние;

o4 — недостоверное значение.

Функционирование

значение выхода равно логической единице, если у алгоблока, на который ссылается первый вход («ID алгоблока»), зафиксированно одно из состояний, зако­ди­рованных значением второго входа («Маска состояния»);

значение выхода равно логическому нулю, если у агоблока, на который ссылается первый вход («ID алгоблока»), не зафиксированно ни одно из состояний, зако­ди­рованных значением второго входа («Маска состояния»);

выход имеет неинициализированное состояние, если второй вход («Маска состояния») имеет неинициализированное состояние;

значение выхода недостоверно, если второй вход («Маска состояния») имеет:

недостоверное значение;

округленное целое значение меньше 1 или больше 7.

Примеры использования

B10 = ADD(AI1.1; 1)

BLOCK1 = ID_STATE(b10; 2)

// BLOCK1 = 1, если алгоблок B10 имеет неинициализированное состояние.

BLOCK2 = ID_STATE(AO1.1; B20)

// Использование в аргументе значения другого алгоблока.

// =======================================

// Подпрограмма INIT выполняется только один раз

// после старта контроллера

BLOCK1 = ID_STATE(BLOCK1; 1)

BLOCK2 = IF_EXIT(BLOCK1)

BLOCK3 = ... // Какие-то однократно выполняемые действия

BLOCK4 = ...

BLOCK5 = ...