Операции с памятью в STL


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

К операциям с памятью принадлежат:

· функция Assign (Присвоение) для динамического управления битами;

· функции статического управления битами – Set (Установка бита) и Reset (Сбрасывание бита);

· функции проверки наличия фронта сигнала.

Функция Assign имеет следующий синтаксис:

= Bit;

Эта функция присваивает RLO указанному биту.

Функции Set и Reset имеют синтаксис:

S Bit;

R Bit;

Функции Set и Reset выполняются только в случае, если результат логической операции RLO имеет значение "1". Если результат логической операции "0", то инструкции Set и Reset не меняют состояния бита, указанного как операнд в этих инструкциях.

Для проверки наличия фронта сигнала используются две функции:

FP Bit – функция проверки наличия переднего (возрастающего) фронта сигнала;

FN Bit – функция проверки наличия заднего (ниспадающего) фронта сигнала.

Наличие переднего фронта сигнала свидетельствует о переходе сигнала от уровня "0" к уровню "1". Соответственно, наличие заднего фронта сигнала свидетельствует о переходе сигнала от уровня "1" к уровню "0".

В логических переключающих схемах эквивалентом функции проверки наличия фронта сигнала является контактный формирователь импульса. При включении реле этот формирователь генерирует импульс, который свидетельствует о наличии возрастающего фронта сигнала. При выключении реле этот формирователь генерирует импульс, который свидетельствует о наличии убывающего фронта сигнала.

К биту, указанному как операнд, обращаются как к "меркеру фронта". Состояние этого сигнала может быть проверено в любой момент в следующих циклах сканирования программы. Битом в функции проверки наличия фронта сигнала может быть меркер, бит из блока глобальных данных или бит со статических локальных данных в функциональных блоках.

Итак, меркер фронта сохраняет "старое" значение RLO, которое CPU использовал при последней проверке наличия фронта сигнала. При каждой новой проверке наличия фронта сигнала CPU сравнивает текущее значение RLO с состоянием меркера фронта. Фронт сигнала будет выявлен, если сигналы первой и второй проверки будут иметь разные состояния. Таким образом, состояние бита "1" означает факт выявления фронта сигнала. Это состояние бита хранится, как правило, на протяжении одного цикла сканирования программы, потому что при следующей проверке CPU фронта сигнала не будет.

Проверка наличия фронта в двоичной логической операции может быть использована для управления таймером, счетчиком или операцией с памятью. Двоичные операции проверки могут располагаться между операцией проверки наличия фронта и функцией, которая запускается.

Пример:

O Var_1;

O Var_2;

FP Merker_1;

A Var_3;

S Out_1;

A Var_4;

FN Merker_2;

R Out_1;

В примере выход Out_1 устанавливается в момент, когда выполняется OR-условие и вход Var_3установлен в "1". Выход Out_1 сбрасывается в момент, когда приходит негативный фронт на вход Var_4.



Дата добавления: 2016-12-09; просмотров: 3130;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.008 сек.