Логическое И

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

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

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

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

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

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

Порядок входов: «Логическое число 1», «Логическое число 2», ... .

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

значение выхода равно логической единице, если все значения входов равны логи­ческой единице;

значение выхода равно логическому нулю, если хотя бы один вход имеет значение, равное логическому нулю;

входы с недостоверным значением, а также с неинициализированным состоянием исключаются из логи­ки работы;

выход имеет неинициализированное состояние, если все входы имеют неинициализированное состояние;

значение выхода недостоверно, если:

все входы имеют недостовер­ные значения;

хотя бы один вход имеет недостоверное значение, а остальные входы имеют неинициализированное состояние.

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

BLOCK1 = AND(0; 1; 2,6)

// Использование в аргументах констант; результат равен нулю.

BLOCK2 = AND(AI1.1; ~DO3.5)

// ~DO3.5 — инверсия значения.

BLOCK3 = AND(DI1.1; BLOCK2)

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

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

// Реализация дискретного регулирования на канале DO1.1,

// (где: В1 - формула включения, В2 - формула отключения)

// с приоритетом на включение.

B1 = OR(DI1.1; DI1.2; DI1.3)

B2 = AND(DI1.4; DI1.5)

B3 = TRG(B1; B2)

B4 = RESULT(DO1.1; B3)

do_regul_fbd

Файл для импорта: do_regul.help

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

// Реализация тумблера

// (первое нажатие DI1.1 включает DO1.1,

// второе нажатие DI1.1 отключает DO1.1)

B010 = TRG(B020; ~DI1.1)

B020 = AND(DI1.1; ~B010)

B030 = AND(~B050; B020)

B040 = AND(B050; B020)

B050 = TRG(B030; B040)

B060 = RESULT(DO1.1; B050)

toggle_fbd

Файл для импорта: toggle.help

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

// Выделение переднего фронта из сигнала DI1.1

// DO1.1 на один такт = 1, когда включается DI1.1

B020 = TRG(B030; ~DI1.1)

B030 = AND(~B020; DI1.1)

B040 = RESULT(DO1.1; B030)

// Выделение заднего фронта из сигнала DI1.1

// DO1.2 на один такт = 1, когда отключается DI1.1

B110 = TRG(DI1.1; B120)

B120 = AND(~DI1.1; B110)

B130 = RESULT(DO1.2; B120)

front_fbd

Файл для импорта: front.help