Учебное пособие 800293
.pdfP |
T |
0.0 |
255.15 |
Контроль бита слова таймера |
11.3 |
|
||
P |
Z |
0.0 |
255.15 |
Контроль бита слова счетчика |
11.3 |
|
||
P |
D |
0.0 |
255.15 |
Контроль бита слова данных |
11.3 |
|
||
P |
BS |
0.0 |
255.15 |
Контроль бита слова системных данных |
11.3 |
|
||
P |
BT |
0.0 |
255.15 |
Контроль бита слова расширенных системных |
|
|
||
|
|
|
|
|
данных |
|
|
|
P |
BA |
0.0 |
255.15 |
Контроль бита в области данных сопряжения |
|
|
||
P |
BB |
0.0 |
255.15 |
Контроль бита в области расширенных дан- |
|
|
||
|
|
|
|
|
ных сопряжения |
|
|
|
|
|
|
|
|
Контроль бита на состояние ―0‖ |
|
|
|
|
|
|
|
|
11.3 |
|
||
PN |
E |
0.0 |
127.7 |
Контроль бита входа |
11.3 |
|
||
PN |
A |
0.0 |
127.7 |
Контроль бита выхода |
11.3 |
|
||
PN |
M |
0.0 |
255.7 |
Контроль бита маркера |
11.3 |
|
||
PN |
T |
0.0 |
255.15 |
Контроль бита слова таймера |
11.3 |
|
||
PN |
Z |
0.0 |
255.15 |
Контроль бита слова счетчика |
11.3 |
|
||
PN |
D |
0.0 |
255.15 |
Контроль бита слова данных |
11.3 |
|
||
PN |
BS |
0.0 |
255.15 |
Контроль бита слова системных данных |
11.3 |
|
||
PN |
BT |
0.0 |
255.15 |
Контроль бита слова расширенных системных |
|
|
||
|
|
|
|
|
данных |
|
|
|
PN |
BA |
0.0 |
255.15 |
Контроль бита в области данных сопряжения |
|
|
||
PN |
BB |
0.0 |
255.15 |
Контроль бита в области расширенных дан- |
|
|
||
|
|
|
|
|
ных сопряжения |
|
|
|
|
|
|
|
|
Безусловная установка бита |
|
|
|
|
|
|
|
|
11.3 |
|
||
SU |
E |
0.0 |
127.7 |
Установка бита входа |
11.3 |
|
||
SU |
A |
0.0 |
127.7 |
Установка бита выхода |
11.3 |
|
||
SU |
M |
0.0 |
255.7 |
Установка бита маркера |
11.3 |
|
||
SU |
T |
0.0 |
255.15 |
Установка бита слова таймера |
11.3 |
|
||
SU |
Z |
0.0 |
255.15 |
Установка бита слова счетчика |
11.3 |
|
||
SU |
D |
0.0 |
255.15 |
Установка бита слова данных |
11.3 |
|
||
SU |
BA |
0.0 |
255.15 |
Установка бита в области данных сопряжения |
|
|
||
SU |
BB |
0.0 |
255.15 |
Установка бита в области расширенных дан- |
|
|
||
|
|
|
|
|
ных сопряжения |
|
|
|
|
|
|
|
|
Безусловный сброс бита |
|
|
|
|
|
|
|
|
11.3 |
|
||
RU |
E |
0.0 |
127.7 |
Сброс бита входа |
11.3 |
|
||
RU |
A |
0.0 |
127.7 |
Сброс бита выхода |
11.3 |
|
||
RU |
M |
0.0 |
255.7 |
Сброс бита маркера |
11.3 |
|
||
RU |
T |
0.0 |
255.15 |
Сброс бита слова таймера |
11.3 |
|
||
|
|
|
|
|
|
Продолжение |
|
|
|
1 |
|
|
2 |
|
3 |
4 |
|
|
|
|
|
|
90 |
|
|
RU |
Z |
|
0.0 |
255.15 |
|
Сброс бита слова счетчика |
|
RU |
D |
|
0.0 |
255.15 |
|
Сброс бита слова данных |
11.3 |
RU |
BA |
|
0.0 |
255.15 |
|
Сброс бита в области данных сопряжения |
|
RU |
BB |
|
0.0 |
255.15 |
|
Сброс бита в области расширенных данных |
|
|
|
|
|
|
|
сопряжения |
|
S |
= |
|
|
|
|
Установка формального оператора |
|
|
|
|
|
13.2.2 |
|||
RB |
= |
|
|
|
|
Сброс формального оператора |
13.2.2 |
= |
= |
|
|
|
|
Присвоение результата логической операции |
13.2.2 |
|
|
|
|
|
|
формальному оператору |
|
L |
= |
|
BY, W, D |
|
Загрузка формального операнда |
|
|
|
|
13.2.3 |
|||||
LC |
= |
|
T, Z |
|
|
Загрузка формального операнда в BCD коде |
13.2.3 |
LW |
= |
|
KF, KH, M, |
|
Загрузка формального операнда в виде ком- |
|
|
|
|
|
KC, KT, KZ |
|
бинации двоичных разрядов |
|
|
LD |
= |
|
KD |
|
|
Загрузка формального операнда в виде ком- |
|
|
|
|
|
|
|
бинации двоичных разрядов |
|
T |
= |
|
BY, W, D |
|
Передача информации определенному фор- |
13.2.3 |
|
|
|
|
|
|
|
мальному параметру |
|
L |
BS |
|
255 |
|
Загрузка слова из области системных данных |
|
|
|
0 |
|
|
||||
L |
BT |
|
0 |
255 |
|
Загрузка слова из расширенной области сис- |
|
|
|
|
|
|
|
темных данных |
|
L |
BA |
|
0 |
255 |
|
Загрузка слова из области сопряжения |
|
L |
BB |
|
0 |
255 |
|
Загрузка слова из расширенной области дан- |
|
|
|
|
|
|
|
ных сопряжения |
|
T |
BA |
|
0 |
255 |
|
Передача слова в область данных сопряже- |
|
|
|
|
|
|
|
ния |
|
T |
BB |
|
0 |
255 |
|
Передача слова в расширенную область дан- |
|
|
|
|
|
|
|
ных сопряжения |
|
KEW |
|
|
|
|
|
Образование первого дополнения |
|
|
|
|
|
|
11.6 |
||
KZW |
|
|
|
|
|
Образование второго дополнения |
11.6 |
KZD |
|
|
|
|
|
Образование второго дополнения для двой- |
|
|
|
|
|
|
|
ного слова |
|
DEF |
|
|
|
|
|
Преобразование числа в BCD коде в число с |
|
|
|
|
|
|
|
фиксированной точкой |
|
DUF |
|
|
|
|
|
Преобразование числа с фиксированной точ- |
|
|
|
|
|
|
|
кой в BCD код |
|
DED |
|
|
|
|
|
Преобразование числа в BCD коде в число с |
|
|
|
|
|
|
|
фиксированной точкой (двойное слово) |
|
DUD |
|
|
|
|
|
Преобразование числа с фиксированной точ- |
|
|
|
|
|
|
|
кой (двойное слово) в BCD код |
|
|
|
|
|
|
|
Продолжение |
|
1 |
|
|
|
2 |
|
3 |
4 |
FDG |
|
|
|
|
|
Преобразование числа с фиксированной точ- |
|
|
|
|
|
|
91 |
|
|
|
|
|
|
кой (двойное слово) в число с плавающей |
|
|
|
|
|
|
|
точкой |
|
|
GDF |
|
|
|
|
Преобразование числа с плавающей точкой в |
|
|
|
|
|
|
|
число с фиксированной точкой |
(двойное |
|
|
|
|
|
|
слово) |
|
|
SLW |
|
|
15 |
|
Сдвиг информации влево |
|
|
|
0 |
|
|
11.5 |
|||
SRW |
|
0 |
15 |
|
Сдвиг информации вправо |
|
11.5 |
SLD |
|
0 |
32 |
|
Сдвиг информации влево (двойное слово) |
|
|
SRD |
|
0 |
32 |
|
Сдвиг информации вправо (двойное слово) |
|
|
RLD |
|
0 |
32 |
|
Поворот информации влево (двойное слово) |
|
|
RRD |
|
0 |
32 |
|
Поворот информации вправо (двойное сло- |
|
|
|
|
|
|
|
во) |
|
|
SVW |
|
0 |
15 |
|
Сдвиг информации влево (двойное слово) |
|
|
|
|
|
|
|
вместе со знаком |
|
|
|
|
|
|
|
Символьный адрес оператора |
|
|
|
|
|
|
|
|
|
|
SPA |
= |
|
|
|
Безусловный переход |
|
13.1 |
SPB |
= |
|
|
|
Условный переход |
|
13.1 |
SPZ |
= |
|
|
|
Переход если равно нулю |
|
13.1 |
SPN |
= |
|
|
|
Переход если не равно нулю |
|
13.1 |
SPP |
= |
|
|
|
Переход если плюс |
|
13.1 |
SPM |
= |
|
|
|
Переход если минус |
|
13.1 |
SPO |
= |
|
|
|
Переход если переполнение |
|
13.1 |
SPS |
= |
|
|
|
Условный переход (условие перехода: OS) |
|
|
|
|
|
|
|
|
||
B |
= |
|
|
|
Обработка формального оператора |
|
|
B |
DW |
0 |
255 |
|
Обработка слова данных |
|
12 |
B |
MW |
0 |
255 |
|
Обработка слова маркеров |
|
12 |
|
|
|
|
|
|
||
ENT |
|
|
|
|
Ввод данных в память арифметических ве- |
|
|
|
|
|
|
|
личин |
|
|
D |
|
0 |
255 |
|
Декремент аккумулятора |
|
11.7 |
I |
|
0 |
255 |
|
Инкремент аккумулятора |
|
11.7 |
|
|
|
|
|
|
||
BAF |
|
|
|
|
Деблокировка режима вывода операторов |
|
|
BAS |
|
|
|
|
Блокировка режима вывода операторов |
|
|
AF |
|
|
|
|
Деблокировка режима обработки аварийных |
|
|
|
|
|
|
|
сообщений, выводимых при обработке про- |
|
|
|
|
|
|
|
цессорных сигналов |
|
|
AS |
|
|
|
|
Блокировка режима обработки |
аварийных |
|
|
|
|
|
|
сообщений, выводимых при обработке про- |
|
|
|
|
|
|
|
цессорных сигналов |
|
|
|
|
|
|
|
|
Окончание |
|
1 |
|
|
2 |
|
3 |
|
4 |
AAF |
|
|
|
|
Деблокировка режима обработки аварийных |
|
|
|
|
|
|
92 |
|
|
|
|
сообщений, выводимых при обработке сиг- |
|
|
|
налов вызова |
|
AAS |
|
Блокировка режима обработки аварийных |
|
|
|
сообщений, выводимых при обработке сиг- |
|
|
|
налов вызова |
|
AFF |
|
Деблокировка режима обработки ошибок ад- |
|
|
|
ресации |
|
AFS |
|
Блокировка режима обработки ошибок адре- |
|
|
|
сации |
|
|
|
|
|
93
ПРИЛОЖЕНИЕ 2
Описание стандартных функциональных блоков Ниже приведены номера, имена и описание назначения некоторых стан-
дартных функциональных блоков.
Номер |
Имя блока |
Назначение блока |
блока |
|
|
1 |
2 |
3 |
1 |
ADD:32 |
Сложение 32-разрядных чисел с фиксированной точкой |
2 |
SUB:32 |
Вычитание 32-разрядных чисел с фиксированной точкой |
3 |
MUL:32 |
Умножение 32-разрядных чисел с фиксированной точкой |
4 |
DIV:32 |
Деление 32-разрядных чисел с фиксированной точкой |
5 |
RAD:16 |
Извлечение квадратного корня из 32-разрядного числа с |
|
|
фиксированной точкой |
6 |
RAD:GP |
Извлечение квадратного корня из 32-разрядного числа с |
|
|
плавающей точкой (7 бит + знак, мантисса – 23 бита + |
|
|
знак) |
15 |
GP:FPGP |
Преобразование числа с фиксированной точкой в число |
|
|
с плавающей точкой |
14 |
MATHE |
Блок математических функций |
16 |
GP:GPFP |
Преобразование числа с плавающей точкой в число с |
|
|
фиксированной точкой |
17 |
GP:ADD |
Сложение чисел с плавающей точкой |
18 |
GP:SUB |
Вычитание чисел с плавающей точкой |
19 |
GP:MUL |
Умножение чисел с плавающей точкой |
20 |
GP:DIV |
Деление чисел с плавающей точкой |
21 |
GP:VGL |
Сравнение чисел с плавающей точкой |
23 |
COD:32 |
Конвертирует двоичное число в BCD-код |
30 |
AE:464 |
Работа с аппаратным блоком 464 (чтение аналогового |
|
|
входа) |
31 |
AE:460 |
Работа с аппаратным блоком 460 (чтение аналогового |
|
|
входа) |
32 |
AE:463 |
Работа с аппаратным блоком 463 (чтение аналогового |
|
|
входа) |
33 |
AE:466 |
Работа с аппаратным блоком 466 (чтение аналогового |
|
|
входа) |
38 |
RETTEN |
Сохранить область флагов |
39 |
LADEN |
Загрузить область флагов |
44 |
DB-COPY |
Копирует заданное число слов данных из одного блока в |
|
|
другой |
99 |
ADDITION |
Вычисляет сумму трех входов Е1 – Е3 с весовыми ко- |
|
|
эффициентами КР1 – КР3 на выход ХА |
|
|
|
|
|
94 |
|
|
Окончание |
1 |
2 |
3 |
101 |
SINUS |
Вычисляет синус 32-разрядного числа с плавающей |
|
|
точкой |
102 |
COSINUS |
Вычисляет косинус 32-разрядного числа с плавающей |
|
|
точкой |
103 |
TANGENS |
Вычисляет тангенс 32-разрядного числа с плавающей |
|
|
точкой |
104 |
COTANG |
Вычисляет котангенс 32-разрядного числа с плавающей |
|
|
точкой |
105 |
ARCSIN |
Вычисляет арксинус 32-разрядного числа с плавающей |
|
|
точкой |
106 |
ARCCOS |
Вычисляет арккосинус 32-разрядного числа с плаваю- |
|
|
щей точкой |
107 |
ARCTAN |
Вычисляет арктангенс 32-разрядного числа с плаваю- |
|
|
щей точкой |
108 |
ARCCOT |
Вычисляет арккотангенс 32-разрядного числа с пла- |
|
|
вающей точкой |
109 |
LNX |
Вычисляет натуральный логарифм 32-разрядного числа |
|
|
с плавающей точкой |
110 |
LGX |
Вычисляет десятичный логарифм 32-разрядного числа с |
|
|
плавающей точкой |
111 |
BLOGX |
Вычисляет логарифм по основанию В 32-разрядного |
|
|
числа с плавающей точкой |
112 |
E^X |
Вычисляет e в степени Х, где Х - 32-разрядное число с |
|
|
плавающей точкой |
113 |
ZEHN^X |
Вычисляет 10 в степени Х, где Х - 32-разрядное число с |
|
|
плавающей точкой |
114 |
A2^A1 |
Вычисляет А2 в степени А1, где А2 и А1 - 32-разрядные |
|
|
числа с плавающей точкой |
120 |
SEND |
Передача данные |
121 |
RECIEVE |
Прием данные |
122 |
FETCH |
Посылка данных |
123 |
CONTROL |
Опрос статуса процессора (контроль обработки запроса) |
124 |
RESET |
Сброс запроса данных |
125 |
SYNCHRON |
Инициализация области данных (установка интерфейса) |
242 |
MUL:16 |
Умножение 16-разрядных чисел с фиксиров. точкой |
243 |
DIV:16 |
Деление 16-разрядных чисел с фиксированной точкой |
250 |
RLG:AE |
Считывание аналогового значения |
251 |
RLG:AA |
Выдача аналогового значения |
Примечание: Для конкретных CPU номера стандартных функциональных блоков, выполняющих те же функции, могут быть другими.
95
Литература
1. Berger, Hans: Automating with the SIMATIC S5 135U / by Hans Berger.
–3., rev. ed. – Berlin; Munchen: Siemens-Aktienges, 1992.
|
ОГЛАВЛЕНИЕ |
|
ВВЕДЕНИЕ.................................................................................................................. |
3 |
|
1. |
Язык программирования STEP 5 ........................................................................... |
5 |
|
1.1. Область операндов ........................................................................................... |
5 |
2. |
СТРУКТУРА ПРИКЛАДНОЙ ПРОГРАММЫ................................................... |
6 |
|
2.1. Организационные блоки.................................................................................. |
6 |
|
2.2. Обработка программ ........................................................................................ |
8 |
|
2.3. Суперпозиционирование (вложение) блоков ................................................ |
9 |
|
2.4. Операции с блоками......................................................................................... |
9 |
3. |
КОМАНДЫ ЯЗЫКА STEP 5................................................................................ |
10 |
|
3.1. Логические операции..................................................................................... |
11 |
|
3.2. Операции памяти............................................................................................ |
13 |
4. |
ФУНКЦИИ ЗАГРУЗКИ И ПЕРЕНОСА (ПЕРЕДАЧИ)..................................... |
15 |
|
4.1. Загрузка ........................................................................................................... |
15 |
|
4.2. Перенос............................................................................................................ |
17 |
5. |
ФУНКЦИИ ТАЙМЕРА ........................................................................................ |
18 |
|
5.1. Загрузка параметров таймеров...................................................................... |
19 |
|
5.2. Запуск таймера................................................................................................ |
20 |
6. |
ОПЕРАЦИИ СО СЧЕТЧИКАМИ........................................................................ |
23 |
|
6.1. Загрузка значения счетчика .......................................................................... |
23 |
7. |
ФУНКЦИИ СРАВНЕНИЯ ................................................................................... |
25 |
8. |
Арифметические операции .................................................................................. |
26 |
9. |
специальные операции.......................................................................................... |
27 |
10. ФУНКЦИОНАЛЬНЫЕ МОДУЛИ .................................................................... |
27 |
|
|
10.1. Общие сведения............................................................................................ |
27 |
|
10.2. Структура функциональных модулей........................................................ |
28 |
|
10.3. Вызов и параметризация функциональных модулей ............................... |
28 |
|
10.4. Метод программирования функциональных модулей ............................. |
30 |
11. ДОПОЛНИТЕЛЬНЫЕ ОПЕРАЦИИ ................................................................. |
32 |
|
|
11.1. Операции загрузки ....................................................................................... |
33 |
|
11.2. Операции деблокировки .............................................................................. |
33 |
|
11.3. Операции контроля битов ........................................................................... |
34 |
|
11.4. Логические операции над словами............................................................. |
35 |
|
11.5. Операции сдвига........................................................................................... |
37 |
|
11.6. Операции преобразования........................................................................... |
38 |
|
11.7. Декрементирование / инкрементирование ................................................ |
39 |
12. КОСВЕННАЯ АДРЕСАЦИЯ ОПЕРАНДОВ ................................................... |
40 |
|
|
12.1. Косвенная адресация битовых операндов ................................................. |
40 |
|
12.2. Косвенная адресация прочих операндов ................................................... |
42 |
|
12.3. Косвенная адресация в организационных операторах ............................. |
43 |
|
96 |
|
13. КОМАНДЫ С ФОРМАЛЬНЫМИ ОПЕРАНДАМИ ....................................... |
46 |
|
13.1. Операции переходов .................................................................................... |
46 |
|
13.2. Операции замещения ................................................................................... |
47 |
|
13.2.1. Двоичные логические операции .......................................................... |
47 |
|
13.2.2. Операции запоминания......................................................................... |
48 |
|
13.2.3. Операции загрузки и пересылки.......................................................... |
49 |
|
13.3. Временные и счетные функции .................................................................. |
50 |
|
13.3.1. Обзор функций счета и времени.......................................................... |
50 |
|
13.3.2. Задание значений таймеров и счетчиков ............................................ |
51 |
|
13.4. Операции обработки .................................................................................... |
52 |
|
14. СИСТЕМНЫЕ ОПЕРАЦИИ .............................................................................. |
53 |
|
14.1. Операции установки .................................................................................... |
53 |
|
14.2. Операции загрузки и передачи ................................................................... |
54 |
|
14.3. Арифметические операции ......................................................................... |
55 |
|
14.4. Особые операции......................................................................................... |
56 |
|
14.4.1.Операции обработки .............................................................................. |
56 |
|
14.4.2. Операции "ТАК" и "STS" ..................................................................... |
57 |
|
14.4.3. Блокировка / деблокировка прерываний ............................................ |
58 |
|
15. ФЛАГИ ................................................................................................................. |
|
58 |
15.1. Установка флагов при выполнении операций сравнения ........................ |
58 |
|
15.2. Установка флагов при выполнении арифметических операций ............. |
59 |
|
15.3. Установка флагов при выполнении логических операций со словами .. |
59 |
|
15.4. Установка флагов при выполнении операций сдвига .............................. |
59 |
|
15.5. Установка флагов при выполнении операций преобразования .............. |
60 |
|
16. ПРОГРАММИРОВАНИЕ ОБМЕНА ДАННЫХ.............................................. |
60 |
|
16.1. Описание параметров .................................................................................. |
61 |
|
16.2. Непосредственное и косвенное параметрирование.................................. |
64 |
|
16.3. Конфигурация и значения слова индикации ............................................. |
68 |
|
16.4. Значения индикации статуса и обработки данных ................................... |
69 |
|
16.5. Блок SEND -FB 120-.................................................................................... |
73 |
|
16.6. Блок RECEIVE |
-FB 121- ............................................................................ |
75 |
16.7. Блок FETCH |
-FB 122- .............................................................................. |
78 |
16.8. Блок CONTROL -FB 123- ........................................................................ |
79 |
|
16.9. Блок RESET |
-FB 124-............................................................................... |
79 |
16.10. Блок SYNCHRON -FB 125- .................................................................... |
80 |
|
17. БЛОК ПОДКЛЮЧЕНИЯ АНАЛОГОВЫХ СИГНАЛОВ .............................. |
81 |
|
17.1. Считывание и нормирование аналоговых значений -FB 250-................. |
81 |
|
17.2. Выдача аналогового значения -FB 251-................................................. |
83 |
|
Приложение 1 ............................................................................................................ |
|
85 |
Приложение 2 ............................................................................................................ |
|
94 |
Литература ................................................................................................................. |
|
96 |
Оглавление ................................................................................................................. |
|
96 |
97
Учебное издание
Слепокуров Юрий Сергеевич Ткалич Сергей Андреевич
ПРОГРАММИРОВАНИЕ МИКРОПРОЦЕССОРНЫХ УСТРОЙСТВ НА ЯЗЫКЕ STEP 5
ОСНОВНЫЕ ФУНКЦИИ
Редактор В.Д. Урина
Компьютерный набор Ю.С. Слепокуров
ЛР № _______ от ________. Подписано в печать . |
.2001. |
|||
Формат |
. Бумага для множительных аппаратов. |
|||
Усл.печ.л. |
. Уч.-изд.л. |
. Тираж |
экз. ―C‖ |
. |
|
Зак.№ |
. |
|
|
Издательство Воронежского государственного технического университета
394026 Воронеж, Московский просп., 14
98