Память

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

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

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

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

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

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

порядок входов: «S-вход», «Номер ячейки», «R-вход»;

вход «Номер ячейки» может принимать целые значения от 0 до 199 (при работе с ПР1) или от 0 до 799 (при работе с ПР2).

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

хранение осуществляется в энергонезависимой памяти;

значение всех специальных ячеек памяти, в которые ранее не записывалась информация, равно логическому нулю;

специальные ячейки являются энергонезависимыми и восстанавливают свое логическое состояние после сбоев питания (выход алгоблока также восстанавливает свое логическое состояние);

в специальную ячейку памяти Контроллера с указанным во втором входе номером («Номер ячейки») записывается и на выход алгоблока устанавливается логическая еди­ни­ца, если значение первого входа («S-вход») равно логической единице;

в специальную ячейку памяти Контроллера с указанным во втором входе номером («Номер ячейки») записывается и на выход уста­навливается логический нуль, если значение третьего входа («R-вход») равно логической единице, и значение первого входа («S-вход») равно логическому нулю;

недостоверное значение или неинициализированное состояние на третьем входе («R-вход») прирав­ни­вается к значению логического нуля;

запись в специальную ячейку памяти Контроллера не будет произ­во­диться, и выход будет иметь неинициализированное состояние, если первый и/или второй вход имеет неинициализированное состояние;

запись в специальную ячейку памяти Контроллера не будет произ­во­диться, и выход будет иметь недостоверное значение, если первый и/или второй вход имеет недостоверное значение (даже если другой вход имеет неинициализированное состояние).

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

BLOCK1 = MEMORY(DI1.1; 0; DI1.2)

// Если DI1.1 = 1, то в ячейку памяти 0 записывается единица

BLOCK3 = MEMORY(BLOCK1; BLOCK2; BLOCK5)

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

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

// Реализация блокировки с памятью

B10 = OR(DI1.1; DI1.2; DI1.3; DI1.4) // Формула блокировки

B20 = OR(DI11.1; DI12.1) // Формула снятия блокировки

B30 = DELAY(B10; 10; 1) // Задержка включения блокировки на 1 с

B40 = MEMORY(B30; 0; B20) // Запись в энергонезависимую ячейку 

// состояния блокировки

B50 = RESULT(DO1.1; B40)

B60 = PHY_DSC(DO1.1) // Установка состояния 

// (логического и физического) дискретного выходного канала

block_mem_fbd

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