Инструкции, зависимые от битов слова статуса

Содержание

Слайд 2

Регистры и области памяти S7-CPU

Аккумуляторы

ACCU1

ACCU4

ACCU3

ACCU2

Только в S7-400

AR2

AR1

Адресные регистры

open DB DB Length

Регистры блоков данных

Status Bits

Слово

Регистры и области памяти S7-CPU Аккумуляторы ACCU1 ACCU4 ACCU3 ACCU2 Только в
статуса

32 Bit

32 Bit

32 Bit

32 Bit

32 Bit

32 Bit

16 Bit

16 Bit

Загрузочная память
- Логические блоки
- Блоки данных

Рабочая память
- Логические блоки
- Блоки данных

Области ввода/вывода

Системная память
- Табл.отобр.входн.процесса
- Табл.отобр.выходн.процесса - Меркеры
- Tаймеры
- Cчетчики
- Локальный стек
- Стек прерываний
- Стек блоков

Регистры S7-CPU

Области памяти S7-CPU

T, S, =,...

L, A, O,...

16 Bit

open DI DI Length

Слайд 3

Структура слова статуса

Бит Название Величина Значение
0 /FC 20 Бит первичного опроса
1 RLO 21 Результат логической операции
2 STA 22 Статус
3 OR 23 Или
4 OS 24

Структура слова статуса Бит Название Величина Значение 0 /FC 20 Бит первичного
Переполнение с запоминанием
5 OV 25 Переполнение
6 CC 0 26 Код состояния
7 CC 1 27 Код состояния
8 BR 28 Двоичный результат
9...15 Не используются 29 ..210

Значение битов в слове статуса

Слайд 4

Проверка битов слова статуса

OV

S

>0

M 4.0

M 4.0

Проверка в STL
A OV Просмотр переполнения
A OS Просмотр переполнения

Проверка битов слова статуса OV S >0 M 4.0 M 4.0 Проверка
с запоминанием
A BR Просмотр BR-флага
Проверка кода состояния (CC0, CC1)
A == 0 Результат равен 0
A > 0 Результат больше 0
A <> 0 Результат не равен 0
A =< 0 Результат меньше либо равен 0 и т.д.
A UO Потеря порядка
Проверка в LAD и в FBD

Слайд 5

| |

Инструкции с битами слова статуса

Инструкция Значение Пример
SET Установка RLO в "1" SET //RLO-1 = M

| | Инструкции с битами слова статуса Инструкция Значение Пример SET Установка
0.1
CLR Установка RLO в "0" CLR //RLO-0
NOT Инвертирование RLO O Manual_operation O Automatic_operation NOT = Operating_modes = M0.0
SAVE Сохранить RLO в BR (в бинарном результате)
A BR Опросить BR

| |

I 1.0 I 1.1 I 1.2

| |

| |

( )

(SAVE)

| |

BR Q 4.2 Q 5.0

Слайд 6

BR бит и ENO в вызовах блока и в сложных функциях

LAD

STL

Network 1:

BR бит и ENO в вызовах блока и в сложных функциях LAD
Cyclic Program

FC23

I0.0

EN

MW10

Step_bit _memory

Step_dis play

ENO

( )

M10.0

QW12

Network 2: ???

MUL_I

I0.1

EN

345

IN1

OUT

ENO

( )

M10.1

MW100

987

IN2

Network 1: Cyclic Program
A I 0.0 JNB _001 CALL FC 23 Step_bit_memory :=MW10 Step_display :=QW12 _001: A BR = M 10.0

Network 2: ???
A I 0.1
JNB _002
L 345
L 987 *I T MW 100 AN OV SAVE CLR _002: A BR = M 10.1

Слайд 7

Инструкции переходов, зависящие от слова статуса

JU Label1) Безусловный переход
JC Label1) Переход, если

Инструкции переходов, зависящие от слова статуса JU Label1) Безусловный переход JC Label1)
RLO =1
JCN Label1) Переход, если RLO = 0
JCB Label1) Переход, если RLO = 1 и запомнить RLO в BR
JNB Label1) Переход, если RLO = 0 и запомнить RLO в BR
JBI Label1) Переход, если BR = 1
JNBI Label1) Переход, если BR= 0
JO Label1) Переход, если OV =1
JOS Label1) Переход, если OS =1
1) Метка может состоять макс. из 4 символов: букв и цифр. Первый - буква или _

Слайд 8

Функции переходов, зависящие от кодов состояния

JZ Label1) Переход, если CC 1=0 и

Функции переходов, зависящие от кодов состояния JZ Label1) Переход, если CC 1=0
CC 0=0
(Результат = 0)
JN Label1) Переход, если CC1 не равен СС0
(Результат <> 0)
JP Label1) Переход, если CC 1=1 и CC 0=0
(Result > 0)
JM Label1) Переход, если CC 1=0 и CC 0=1
(Результат < 0)
JPZ Label1) Комбинация переходов JZ и JP
(Результат >= 0)
JMZ Label1) Комбинация переходов JM и JZ
(Результат <= 0)
JUO Label1) Переход, если: неправильное число типа REAL или
деление на 0
1) Метка может состоять макс. из 4 символов: букв и цифр. Первый - буква или _

Слайд 9

Программирование распределенных переходов

Загрузка №
перехода

JL OVER

.
.
.

Инструкции, если ACCU1 > n

Пример: Распределенный переход с

Программирование распределенных переходов Загрузка № перехода JL OVER . . . Инструкции,
3 входами
L Recipe_no // Загрузка номера рецепта
JL OVER // Распределенный переход с 3 входами
JU Rec0 // Переход на рецепт № 0 (ACCU1 = 0)
JU Rec1 // Переход на рецепт № 1 (ACCU1 = 1)
JU Rec2 // Переход на рецепт № 2 (ACCU1 = 2)
OVER: JU ERR // Переход если ACCU1 > 2
...
Rec0: L DBW4
...
Rec1: L DBW6
...
Rec2: L DBW8
...
ERR: CLR
...

Режимы операции

M_n:

JU M_0

JU M_n

Инструкции, если ACCU1 = 0

.
.
.

Инструкции, если ACCU1 = n

OVER:

M_0:

Слайд 10

Программирование инструкции цикла

Инициализация
счетчика цикла

LOOP NEXT
Уменьшить на 1 ACCU1,
ACCU1 <> 0 ?

Да

Нет

Продолжить

NEXT:

Команды

Программирование инструкции цикла Инициализация счетчика цикла LOOP NEXT Уменьшить на 1 ACCU1,
тела
цикла

Загрузить счетчик
цикла в ACCU1.

Пример: Инструкция цикла в 4-я
повторениями
L +4 // Загрузить счетчик цикла
NEXT: T MW10 // Начало цикла: сохранение
// счетчика
. // Код
. // Код
. // Код
L MW10 // Восстановление счетчика
LOOP NEXT // Уменьшение счетчика на 1, // переход на метку перехода // NEXT если Accu 1> 0

Режим операции

Сохранение
счетчика цикла

Слайд 11

BE Конец блока
BEU Безусловное окончание блока (В пределах блока)
BEC Условное окончание блока (зависит

BE Конец блока BEU Безусловное окончание блока (В пределах блока) BEC Условное
от RLO) (RET) в представлении LAD в представлении FBD

Инструкции окончания блока

RET

Слайд 12

Упражнение 1.1. Переход после вычитания

Декадный переключатель

1 2 3 4

- D

Положит. результат (>=0)

Записать

Упражнение 1.1. Переход после вычитания Декадный переключатель 1 2 3 4 -
результат на дисплей

Очистка дисплея

Отриц. результат

[JM метка]

Преобразование в DINT

Преобразование в DINT

BTD

BTD

0

0

0

0

0

0

0

0

1

0

0

1

0

0

1

0

20

215

27

Переключатель на симуляторе

DTB

Слайд 13

Упражнение 1.2. Переход после умножения

Нет переполнения

Вывод
Результата на дисплей

Очистка дисплея

Переполнение

[JO Label]

DTB

Преобразование результата в

Упражнение 1.2. Переход после умножения Нет переполнения Вывод Результата на дисплей Очистка
BCD

Декадный переключатель

1 2 3 4

* I

Преобразование в DINT

Преобразование в DINT

BTD

BTD

0

0

0

0

0

0

0

0

1

0

0

1

0

0

1

0

20

215

27

Переключатель на симуляторе

Имя файла: Инструкции,-зависимые-от-битов-слова-статуса.pptx
Количество просмотров: 40
Количество скачиваний: 0