Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Краткий справочник по STL

.pdf
Скачиваний:
937
Добавлен:
16.02.2016
Размер:
4.28 Mб
Скачать

S7-300/400 Система команд Описание

Команды_переходов Содержание

11. Если_равно_нулю Формат: JZ <метка>

Описание. Если результат предыдущей арифметической команды

оказался равен нулю, то выполняется переход на указанную метку.

 

 

BR

CC1

CC0

OV

OS

OR

STA

RLO

/FC

Зависит от

-

*

*

-

-

-

-

-

-

Воздействует на

-

-

-

-

-

-

-

-

-

12. Если_не_равно_нулю Формат: JN <метка>

Описание. Если результат предыдущей арифметической команды

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

 

 

BR

CC1

CC0

OV

OS

OR

STA

RLO

/FC

Зависит от

-

*

*

-

-

-

-

-

-

Воздействует на

-

-

-

-

-

-

-

-

-

Замечание: СС1=1, СС0=0 результат больше нуля.

13. Если_больше_или_равно_нулю Формат: JPZ <метка>

Описание. Если результат предыдущей арифметической команды оказался больше или равен нулю, то выполняется переход на указанную метку.

 

BR

CC1

CC0

OV

OS

OR

STA

RLO

/FC

Зависит от

-

*

*

-

-

-

-

-

-

Воздействует на

-

-

-

-

-

-

-

-

-

14. Если_больше_нуля Формат: JP <метка>

Описание. Если результат предыдущей арифметической команды

оказался больше нуля, то выполняется переход на указанную метку.

 

 

BR

CC1

CC0

OV

OS

OR

STA

RLO

/FC

Зависит от

-

*

*

-

-

-

-

-

-

Воздействует на

-

-

-

-

-

-

-

-

-

15. Если_ошибка Формат: JUO <метка>

Описание. Если в результате выполнения предыдущей арифметической команды возникла ошибка (например, деление на нуль), то выполняется переход на указанную метку.

 

BR

CC1

CC0

OV

OS

OR

STA

RLO

/FC

Зависит от

-

*

*

-

-

-

-

-

-

Воздействует на

-

-

-

-

-

-

-

-

-

Замечание. СС1=1, СС0=1 арифметическая ошибка.

Содержание

42

S7-300/400 Система команд

Описание

Команды_переходов Содержание

16. Безусловный_переход Формат: JU <метка>

Описание. Выполняется переход на указанную метку без всяких условий.

 

BR

CC1

CC0

OV

OS

OR

STA

RLO

/FC

Зависит от

-

-

-

-

-

-

-

-

-

Воздействует на

-

-

-

-

-

-

-

-

-

17. Организация_цикла Формат: LOOP <метка>

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

 

BR

CC1

CC0

OV

OS

OR

STA

RLO

/FC

Зависит от

-

-

-

-

-

-

-

-

-

Воздействует на

-

-

-

-

-

-

-

-

-

18. Переход_по_значению_ACCU1

 

 

 

 

 

Формат: JL <метка>

 

 

 

 

 

 

 

 

BR

CC1

CC0

OV

OS

OR

STA

RLO

/FC

Зависит от

-

-

-

-

-

-

-

-

-

Воздействует на

-

-

-

-

-

-

-

-

-

Описание. После команды JL должны стоять команды безусловного перехода JU (но не более 255 команд). Метка в команде JL помечает строку программы, перед которой завершается список команд JU. В самом списке команд JU не разрешается использовать другие команды. Берется текущее значение ACCU1_LL и проводится такая связь:

1.Если ACCU1_LL=0, то выполняется первая команда JU после команды JL (первая в списке);

2.Если ACCU1_LL=1, то выполняется вторая команда JU;

3.И т.д. ;

4.Наконец, если значение ACCU1_LL больше чем количество команд JU в списке, то ни одна из команд JU не выполняется, а

осуществляется переход на метку, указанную в самой команде JL.

Итак, при выполнении команды JL либо будет выполнена одна команда JU, либо будет выполнен переход на метку, указанную в самой команде JL.

Содержание

43

S7-300/400 Система команд

Описание

Команды_загрузки_и_передачи

Содержание

Данная группа представлена 15 командами:

Загрузка_ACCU1_значением_операнда

Загрузка_ACCU1_содержимым_STW

Загрузка_AR1_значением_из_ACCU1

Загрузка_AR1_значением_из_AR2

Загрузка_AR1_значением_операнда

Загрузка_AR2_значением_из_ACCU1

Загрузка_AR2_значением_операнда

Обмен_содержимого_AR1_и_AR2

Запись_из_ACCU1_в_операнд

Запись_из_ACCU1_в_STW

Запись_из_AR1_в_ACCU1

Запись_из_AR1_в_AR2

Запись_из_AR1_в_операнд

Запись_из_AR2_в_ACCU1

Запись_из_AR2_в_адресуемый_операнд

Содержание

44

S7-300/400 Система команд

Описание

Команды_загрузки_и_передачи Содержание

1. Загрузка_ACCU1_значением_операнда Формат: L <операнд>

Описание. Сначала содержимое ACCU1 копируется в ACCU2. Затем содержимое адресуемого операнда заносится в ACCU1. Возможными операндами являются байт, слово, двойное слово из таких областей, как I, Q, PI, M, L, DB, DI.

 

 

 

BR

 

CC1

CC0

OV

OS

OR

STA

 

RLO

/FC

Зависит от

 

-

 

-

-

-

-

-

-

 

-

-

Воздействует на

 

-

 

-

-

-

-

-

-

 

-

-

Примеры:

 

 

 

 

 

 

 

 

 

 

 

 

L

IB

10

// Загрузить байт #10 из области входов

 

 

L

MB

120

// Загрузить байт #120 из области меркеров

 

L

DBD

8

 

// Загрузить двойное слово #8 из текущего

 

 

 

 

 

// глобального блока данных

 

 

 

 

L

DIW

15

// Загрузить слово #15 из текущего связанного

 

 

 

 

 

// блока данных

 

 

 

 

 

 

L

LD

252

// Загрузить двойное слово #252 из

 

 

 

 

 

 

// локального стека

 

 

 

 

 

 

Замечание. Если была загрузка байта, то он загрузится в ACCU1_LL, адресуемое слово загрузится в ACCU1_L, при этом старшие незадействованные разряды ACCU1 будут установлены в 0.

2. Загрузка_ACCU1_содержимым_STW

 

 

 

 

 

Формат: LSTW

 

 

 

 

 

 

 

 

 

 

Описание: ACCU1 := Слово Состояния;

 

 

 

 

 

 

 

BR

 

CC1

CC0

OV

OS

OR

STA

RLO

/FC

Зависит от

 

*

 

*

*

*

*

*

*

*

*

Воздействует на

-

 

-

-

-

-

-

-

-

-

Замечание. После выполнения данной команды ACCU1 выглядит

следующим образом:

 

8

7

6

5

4

3

2

1

0

Биты ACCU1

31¼9

 

Содержимое

нули

 

BR

CC1

CC0

OV

OS

OR

STA

RLO

/FC

3. Загрузка_AR1_значением_из_ACCU1

 

 

 

 

 

Формат: LAR1

 

 

 

 

 

 

 

 

 

 

Описание. AR1 := ACCU1;

 

 

 

 

 

 

 

 

BR

 

CC1

CC0

OV

OS

OR

STA

RLO

/FC

Зависит от

 

-

 

-

-

-

-

-

-

-

-

Воздействует на

-

 

-

-

-

-

-

-

-

-

Содержание

45

S7-300/400 Система команд

 

 

 

 

 

 

Описание

Команды_загрузки_и_передачи

 

 

 

 

 

 

 

 

Содержание

 

 

 

 

 

 

 

 

 

 

4. Загрузка_AR1_значением_из_AR2

 

 

 

 

 

Формат: LAR1 AR2

 

 

 

 

 

 

 

 

Описание. AR1 := AR2;

 

 

 

 

 

 

 

 

BR

 

CC1

CC0

OV

OS

OR

STA

RLO

/FC

Зависит от

-

 

-

-

-

-

-

-

-

-

Воздействует на

-

 

-

-

-

-

-

-

-

-

5. Загрузка_AR1_значением_операнда Формат: LAR1 <D>

Описание. Загрузить в AR1 содержимое адресуемого двойного слова или загрузить указатель. Двойное слово может быть выбрано из таких областей, как DB, DI, L и M.

 

 

BR

CC1

CC0

OV

OS

OR

STA

RLO

/FC

Зависит от

 

-

-

-

-

-

-

-

-

-

Воздействует на

-

-

-

-

-

-

-

-

-

Пример:

DBD 20

 

 

 

 

 

 

 

 

LAR1

 

 

 

 

 

 

 

 

LAR1

LD

180

 

 

 

 

 

 

 

 

LAR1

MD

24

 

 

 

 

 

 

 

 

LAR1

P#M100.0

// Загрузить указатель на 100-ый адрес

 

//из области меркеров

6.Загрузка_AR2_значением_из_ACCU1 Формат: LAR2

Описание. AR2 := ACCU1;

 

BR

CC1

CC0

OV

OS

OR

STA

RLO

/FC

Зависит от

-

-

-

-

-

-

-

-

-

Воздействует на

-

-

-

-

-

-

-

-

-

7. Загрузка_AR2_значением_операнда Формат: LAR2 <D>

Описание. Загрузить в AR1 содержимое адресуемого двойного слова или загрузить указатель. Двойное слово может быть выбрано из таких областей, как DB, DI, L и M.

 

BR

CC1

CC0

OV

OS

OR

STA

RLO

/FC

Зависит от

-

-

-

-

-

-

-

-

-

Воздействует на

-

-

-

-

-

-

-

-

-

Содержание

46

S7-300/400 Система команд

Описание

Команды_загрузки_и_передачи Содержание

8. Обмен_содержимого_AR1_и_AR2 Формат: CAR

Описание. Содержимое регистров AR1 и AR2 меняется местами.

 

BR

CC1

CC0

OV

OS

OR

STA

RLO

/FC

Зависит от

-

-

-

-

-

-

-

-

-

Воздействует на

-

-

-

-

-

-

-

-

-

9. Запись_из_ACCU1_в_операнд Формат: T <операнд>

Описание. Копирование ACCU1 в адресуемый байт, слово или двойное слово. Данная команда зависит от MCR ресурса.

Если MCR ресурс активен и бит MA = 1 (вершина стека MCR ресурса), то содержимое аккумулятора копируется в адресуемый операнд (число копируемых байтов из аккумулятора зависит от размера адресуемого операнда, см. пример). Если бит MA = 0, то в адресуемый операнд запишутся нули.

Если же MCR ресурс выключен, то содержимое аккумулятора копируется в адресуемый операнд.

Операнды могут быть из следующих областей: I, Q, PQ, M, L, DB.

 

BR

CC1

CC0

OV

OS

OR

STA

RLO

/FC

Зависит от

-

-

-

-

-

-

-

-

-

Воздействует на

-

-

-

-

-

-

-

-

-

Пример:

 

 

 

 

 

 

 

 

 

TQB 10 // QB10 :=ACCU1_LL ;

TMW 14 // MW14 :=ACCU1_L ;

TDBD 2 // Содержимое ACCU1 копируется во второе двойное

//слово глобального блока данных

10. Запись_из_ACCU1_в_STW Формат: T STW

Описание. Слово состояния загружается значением из аккумулятора, а именно биты с 0 по 8 из ACCU1 копируются в Слово состояния.

Биты ACCU1 31¼9

8

7

6

5

4

3

2

1

0

Слово

нули

BR

CC1

CC0

OV

OS

OR

STA

RLO

/FC

состояния

 

 

 

 

 

 

 

 

 

 

 

BR

CC1

CC0

OV

OS

OR

STA

RLO

/FC

Зависит от

 

-

-

-

-

-

-

-

-

-

Воздействует на

Х

Х

Х

Х

Х

Х

Х

Х

Х

Содержание

47

S7-300/400 Система команд Описание

Команды_загрузки_и_передачи Содержание

11. Запись_из_AR1_в_ACCU1 Формат: TAR1

Описание. Содержимое ACCU1 сохраняется в ACCU2. В ACCU1 копируется

содержимое адресного регистра AR1.

 

 

 

 

 

 

 

 

BR

CC1

CC0

OV

OS

OR

STA

RLO

/FC

Зависит от

-

-

-

-

-

-

-

-

-

Воздействует на

-

-

-

-

-

-

-

-

-

12. Запись_из_AR1_в_AR2 Формат: TAR1 AR2

Описание. Содержимое адресного регистра AR1 копируется в

адресный регистр AR2. ACCU1 и ACCU2 не изменяются.

 

 

 

 

 

BR

CC1

CC0

OV

OS

OR

STA

RLO

/FC

Зависит от

-

-

-

-

-

-

-

-

-

Воздействует на

-

-

-

-

-

-

-

-

-

13. Запись_из_AR1_в_операнд Формат: TAR1 <D>

Описание. Содержимое адресного регистра AR1 копируется в адресуемое двойное слово, которое может находиться в одной из следующих областей: M, L, DB, DI. Содержимое ACCU1 и ACCU2 не изменяется.

 

BR

CC1

CC0

OV

OS

OR

STA

RLO

/FC

Зависит от

-

-

-

-

-

-

-

-

-

Воздействует на

-

-

-

-

-

-

-

-

-

14. Запись_из_AR2_в_ACCU1 Формат: TAR2

Описание. Содержимое ACCU1 сохраняется в ACCU2. В ACCU1 копируется содержимое адресного регистра AR2.

 

BR

CC1

CC0

OV

OS

OR

STA

RLO

/FC

Зависит от

-

-

-

-

-

-

-

-

-

Воздействует на

-

-

-

-

-

-

-

-

-

15. Запись_из_AR2_в_адресуемый_операнд Формат: TAR2 <D>

Описание. Содержимое адресного регистра AR2 копируется в адресуемое двойное слово, которое может находиться в одной из следующих областей: M, L, DB, DI. Содержимое ACCU1 и ACCU2 не изменяется.

 

BR

CC1

CC0

OV

OS

OR

STA

RLO

/FC

Зависит от

-

-

-

-

-

-

-

-

-

Воздействует на

-

-

-

-

-

-

-

-

-

Содержание

48

S7-300/400 Система команд

Описание

Содержание Математика_с_плавающей_точкой

Математика с плавающей точкой представлена 5 командами:

Сложение

Вычитание

Умножение

Деление

Модуль_числа

Содержание

49

S7-300/400 Система команд

Описание

Математика_с_плавающей_точкой

Содержание

1. Сложение Формат: +R

Описание. ACCU1 := ACCU1 + ACCU2;

Содержимое ACCU1 и ACCU2 рассматривается как числа с плавающей точкой. Содержимое регистров складывается, и результат сохраняется в ACCU1. По значению битов CC1, CC0, OS и OV можно судить о результате сложения.

Результат в ACCU1

 

Флаги

 

 

Таблица

 

 

Описание

знак

порядок

мант-са

CC1

CC0

OV

OS

 

 

0

255

¹ 0

1

1

1

1

Не число

 

0

255

0

1

0

1

1

Плюс бесконечность

(переполнение)

 

 

 

 

 

 

 

0

1..254

любой

1

0

0

-

Нормализованные

допустимы

числа

 

 

 

 

 

 

 

 

 

 

й

 

 

 

 

Очень

маленькие

0

0

¹ 0

0

0

1

1

числа

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(переполнение)

0

0

0

0

0

0

-

Результат нуль

1

0

0

0

0

0

-

Результат нуль

1

0

¹ 0

0

0

1

1

Очень

маленькие

отрицательные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

числа

 

 

 

 

 

 

 

 

(переполнение)

1

1..254

любой

0

1

0

-

Нормализованные

допустимы

отрицательные

 

 

 

 

 

 

 

 

й

 

 

 

 

числа

 

1

255

0

0

1

1

1

Минус

 

бесконечность

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(переполнение)

1

255

¹ 0

1

1

1

1

Не число

 

 

Замечание.

 

 

 

 

 

 

1.данная таблица применима не только к команде сложения +R, но и к другим командам этой группы

2.'Не число' означает, что формат чисел с плавающей точкой IEEE не выдерживается

3.'+/-Бесконечность' означает, что имеет место слишком большое положительное (или

отрицательное) число

 

BR

CC1

CC0

OV

OS

OR

STA

RLO

/FC

Зависит от

-

-

-

-

-

-

-

-

-

Воздействует на

-

Х

Х

Х

Х

-

-

-

-

Содержание

50

S7-300/400 Система команд

Описание

Математика_с_плавающей_точкой

Содержание

Пример OPN DB 10

LID 10 // ACCU1 :=ID10 ;

L

MD 14 // ACCU2

:=ID10 ; ACCU1 :=MD14 ;

+R

// ACCU1

:=ACCU2 + ACCU1 ;

TDBD 25

2. Вычитание Формат: -R

Описание. ACCU1 := ACCU2 - ACCU1;

Содержимое ACCU1 и ACCU2 рассматривается как числа с плавающей точкой. Из содержимого ACCU2 вычитается содержимое ACCU1 и результат сохраняется в ACCU1. По значению битов CC1, CC0, OS и OV можно судить о результате вычитания (см. таблицу, приведенную в описании команды '+R').

 

BR

CC1

CC0

OV

OS

OR

STA

RLO

/FC

Зависит от

-

-

-

-

-

-

-

-

-

Воздействует на

-

Х

Х

Х

Х

-

-

-

-

Пример:

 

 

 

 

 

 

 

 

 

OPN DB 10

 

 

 

 

 

 

 

 

 

L-3.90289

LMD 14

-R

TDBD 25

3. Умножение Формат: *R

Описание. ACCU1 := ACCU1 * ACCU2;

Содержимое ACCU1 и ACCU2 рассматривается как числа с плавающей точкой. Содержимое ACCU2 умножается на содержимое ACCU1 и результат сохраняется в ACCU1. По значению битов CC1, CC0, OS и OV можно судить о результате умножения (см. таблицу, приведенную в описании команды '+R').

 

 

BR

CC1

CC0

OV

OS

OR

STA

RLO

/FC

Зависит от

 

-

-

-

-

-

-

-

-

-

Воздействует на

-

Х

Х

Х

Х

-

-

-

-

Пример:

 

 

 

 

 

 

 

 

 

OPN

DB

25

 

 

 

 

 

 

 

 

L

ID

10

 

 

 

 

 

 

 

 

L

MD

14

 

 

 

 

 

 

 

 

*R

 

 

 

 

 

 

 

 

 

 

T

DBD

25

 

 

 

 

 

 

 

 

Содержание

51