Функции передачи данных в STL


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

Направление, в котором происходит передача данных, указывается в используемой для передаче инструкции.

Функция загрузки составляется из оператора L (код операции загрузки) и константы, переменной или адреса с идентификатором адреса, содержимое которого функция будет загружать в аккумулятор 1.

Примеры:

L +1500 Загрузка константы;

L IW 32 Загрузка слова с прямой адресацией;

L Actval Загрузка переменной (символьная адресация).

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

Функция выгрузки составляется из оператора T и адреса в области памяти, по которому данные должны быть отправлены из аккумулятора 1.

Примеры:

T MW120; переносит содержимое аккумулятора в область памяти меркеров (байты 120 и 121), то есть абсолютная адресация

T Setpoint; переносит содержимое аккумулятора в переменную (символьная адресация)

CPU выполняет функцию выгрузки независимо от результата логической операции RLO и бита состояния. Функция выгрузки не влияет на результат логической операции и не влияет на биты состояния.

Функция выгрузки пересылает содержимое аккумулятора 1 по одному байту, слову, или двойному слову. При этом содержимое аккумулятора 1 остается неизменным (копируется), что позволяет многократно пересылать данные из аккумулятора 1.

Для одновременной обработки двух численных значений нужны два промежуточных буфера. В роле таких буферов выступают аккумулятор 1 и аккумулятор 2. Все CPU имеют такие специальные регистры. Кроме того, CPU S7-400 имеют два дополнительных промежуточных буфера – аккумулятор 3 и аккумулятор 4, которые используются преимущественно в арифметических операциях.

Каждый аккумулятор содержит 32 разряда, тогда как все области памяти имеют байтовую структуру. Обмен информацией между областями памяти и аккумулятором 1 может происходить побайтно, по 1 машинному слову и по 1 двойному машинному слову.

В операциях пересылки могут принимать участие:

IB входной байт;

IW входное слово;

ID входное двойное слово;

QB выходной байт;

QW выходное слово;

QD выходное двойное слово;

MB байт меркеров;

MW слово меркеров;

MD двойное слово меркеров;

LB байт локальных данных;

LW слово локальных данных;

LD двойное слово локальных данных;

DBB байт глобальных данных;

DBW слово глобальных данных;

DBD двойное слово глобальных данных;

DIB байт в экземплярном DB;

DIW слово в экземплярном DB;

DID двойное слово в экземплярном DB;

STW слово состояния.

Функции аккумуляторов позволяют пересылать значение с одного аккумулятора в другой или перемещать байты внутри аккумулятора 1. К функциям аккумуляторов принадлежат:

PUSH Сдвиг содержимого аккумулятора "вперед";

POP Сдвиг содержимого аккумулятора "назад";

TAK Обмен содержимым между аккумуляторами 1 и 2;

ENT Сдвиг содержимого аккумулятора "вперед" (без аккумулятора 1);

LEAVE Сдвиг содержимого аккумулятора "назад" (без аккумулятора 1)

Первые три функции PUSH, POP и TAK используются в CPU, которые имеют только два аккумулятора (S7-300 CPU). Все пять функций используются в CPU, которые имеют четыре аккумулятора (S7-400 CPU).

Функции обмена байтами в аккумуляторе 1:

CAW меняет местами два байта в младшем слове аккумулятора 1. При этом байты старшего слова аккумулятора остаются неизменными.

CAD меняет местами все байты в аккумуляторе 1. При этом самый старший байт становится самым младшим по номеру, а средние два байты меняются местами.

Для пересылки данных применяются также системные функции SFC 20 BLKMOV (копирование области данных), SFC 21 FILL (вставка данных в область назначения) и SFC 81 UBLKMOV (беспрерывное копирование области данных).



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


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

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

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

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