Файл: Системы автоматизации с использованием программируемых логических контроллеров (Г.П. Митин, 2005).pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 16.06.2025

Просмотров: 1635

Скачиваний: 6

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Таблица 17.2

Описание (0 - нет переполнения, 1 - переполнение)

Специальный

маркер

Переполнение очереди для коммуникационных прерываний

SM4.0

Переполнение очереди для прерываний от ввода/вывода

SM4.1

Переполнение очереди для прерываний, управляемых временем

SM4.2

В табл.п.3 показаны событие прерывания, приоритет и назначенный номер прерывания.

Таблица П.З

Номер

Описание прерывания

события

8Порт 0: Принят символ

9Порт 0: Закончена передача

23Порт 0: Закончен прием сообщения

24Порт 1: Закончен прием сообщения

25Порт 1: Принят символ

26Порт 1: Закончена передача

0 Нарастающий фронт, 10.0**

2Нарастающий фронт, 10.1

4Нарастающий фронт, 10.2

6Нарастающий фронт, 10.3 1 Спадающий фронт, 10.0**

3Спадающий фронт, 10.1

5

Спадающий фронт, 10.2

7

Спадающий фронт, 10.3

12

HSCO: CV - PV

(текущее значение = предварительно

13

установленному значению)**

HSC1:CV = PV

(текущее значение = предварительно

установленному значению)

14

HSC1: Смена направления счета

15

HSC1: Внешний сброс

16

HSC2: CV ^^ PV (текущее значение =^ пред­

варительно установленному значению)

17

HSC2: Смена направления счета

18

HSC2: Внешний сброс

19

PLSO: Счет импульсов завершен

20

PLS1: Счет импульсов завершен

10

Управляемое временем прерывание 0

1

1^

Управляемое временем прерывание 1

21

Таймер Т32: Прерывание СТ = РТ

1

22

Таймер Т96: Прерьшание СТ = РТ

Класс приоритета

Коммуникационные прерывания: высший класс приоритета

Прерывания от ввода/вывода:

средний класс приоритета

Управляемые

временем прерывания: низший класс приоритета

Прио­

ритет

0

0*

0*

1

1*

1*

0

1

2

3

4

5

6

7

0

8

9

10

11

12 1

13

14

15

0

1

2

3

*Так как коммуникация является полудуплексной, то прерывания передачи и приема имеют одинаковый приоритет.

**Если событие 12 (HSCO, PV = CV) сопоставлено прерыванию, то события 0 и 1 не могут быть сопоставлены никакому прерыванию. Если одно из событий 0 и 1 сопоставлено пре­ рыванию, то событие 12 не может быть сопоставлено никакому прерыванию.

104


Пример операций в программе обработки прерываний.

N e t w o r k

1

SM0.1

Н f

N e t w o r k

2

I SM5.0

Н I—

N e t w o r k

3

I M5.0

N e t w o r k

50

N e t w o r k 65 hI SM5.0

в первом иикло Определение программ

обработки прерываний

Network 1

4 как прерывания по иараетаю щем у

фро11т> па входе ЕО О

LD SVfO.l

ATCri 4,0

Е М

-

»

Ра;1блокировка веек еойытий

"л. CNT

J

прерываний

Еели обнаружена ошибка ввода/ вывода, то олокироока прерывания по параетающему фронту па ЕО О (Этот ect мспт не обязателен)

- ( DISI

)

Блокировка

обработки вее\ со­

бытий прерываний, сели М5 О

активен.

—^ т-хтгч

'^

Окончание

главнс

^^^"^ ^ программы КОР

Программа обработки преры для прерывания

входах/выхода.х

_ у

^ Условное окончание программы

V RETF J обработки прерываний по ошибке

- - ( R E T I ) Конец программы обработки прерывания по параетающему фронту па ЕО О.

Network 3 LD MS.O DISI

Network 65 LD SMS.O C R E T l

Network 66

R E T I

105


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

Network 1

Network 2

I SM 0Л

1

ADD

I

HN

[Nl

I N2 OUT

SUB

J

EN

INI

1IN2 OUT

и IN TOUT

j- INTOUi'

О

" " C C A L L )

-(END )

МОУ_В

EN

"~С EN [ )

Главная программа

Маркер первого цикла;

ВЫЗОВ подпрограммы О

Подпрограмма

Начало подпрограммы 0.

Маркер постоянно включен: Установка интервала 100 мс для управляемого временем

прерывания 0.

•г л

' '

Ра;!блокировка всех событий прерывания

Назначение программы обра­ ботки прерываний О управ­ ляемому временем преры­ ванию О

Network 1

LD SMO.l

CALL «

Network 2

MEND

Network 3

SBR О

Network 4

LD S.VIO.O

MOVB 100, SV1B34

ENI

ЛТ( И 0,10

~~С R E T ) Окончание подпрограммы.

Network л

RET

Программа обработки прсры ваннй

Начало программы обработки

Network 6

LNT О

прерываний 0.

MOV_W

Опрос AEW4

Network 7

EN

MOV VV Л Е VV 4, V \^ 100

VVVIOO

Network К

•~С R FTl) Юкон чан ие программы

RETI

обработки прерываний

1.6.Арифметические операции, инкрементирование

идекрементирование

Сложение и вычитание целых чисел (16 бит) ^ Операции Слоэюение целых чисел (16 бит) и Вычи­

тание целых чисел (16 бит) складывают или вычитают два целых числа (16 бит) и передают результат (16 бит) в OUT.

Операнды IN1, IN2: VW, Т, С, IW, QW, MW, SMW, АС, AIW, константа, *VD, *АС, SW

OUT: VW, Т, С, IW, QW, MW, SMW, АС, *VD, *АС,

SW

106


11 ID INI,OUT l-D IN LOUT

LAD: INI + IN2 = OUT , INl - IN2 = OUT

STL: INI + OUT = OUT, OUT - INI - OUT

Эти операции влияют на специальные маркеры: SMLO (нуль); SML1 (переполнение); SML2 (отрицательный)

Сложение и вычитание целых чисел (32 бита)

Операции Сложение целых чисел (32 бита) и Вычи­

1

тание целых чисел (32 бита) складывают или вычитают

два целых числа (32 бита) и передают результат (32 бита)

в OUT.

Операнды IN1, IN2: VD, Ш, QD, MD, SMD, АС, НС,

константа, *VD, *АС, SD

OUT: VD, ID, QD, MD, SMD, AC, *VD, *AC, SD

LAD:

INI + IN2 = OUT, INI - IN2 = OUT

STL:

INI + OUT - OUT, OUT - INI = OUT

Эти операции влияют на специальные маркеры:

SMLO (нуль); SML1 (переполнение); SM1.2 (отрица­

тельный)

Сложение и вычитание действительных чисел

Операции Слоэюение действительных чисел и Вы­

читание действительных чисел складывают или вычи­

тают два действительных числа (32 бита) и передают

действительное число в качестве результата в OUT.

Операнды IN1, IN2: VD, Ш, QD, MD, SMD, АС,

константа, *VD, *АС, SD

OUT: VD, ID, QD, MD, SMD, AC, *VD, *AC, SD

LAD: INl + IN2 = OUT, INl - IN2 = OUT

STL:

INl + OUT = OUT, OUT - INl = OUT

ADD DI

EN

INI

IN2 OUT E N * ™ - " '

-INl

IN2 OUT

JCN ADD R

1\\

(\2

OLT 1

EN

SUB_R 1

(N2

OI:T |-

IN I,

O U T

I N l ,

O U T

Умножение и деление целых чисел (16 бит)

Операция Умноэюение целых чисел (16 бит) умно­ I

жает два целых числа (16 бит) и передает результат (32 бита) в OUT.

В AWL младшее слово (16 бит) значения OUT (32 бита) используется как один из сомножителей.

Операция Деление целых чисел (16 бит) делит два целых числа (16 бит) и передает результат (32 бита) в OUT. Результат (32 бита) в OUT состоит из частного (16 младших битов) и остатка от деления (16 старших би­ I тов).

EN

ML'L

I M

IN2

o u r

t N

DIV

I M

IN2

oui-

MIJL

] N ] , O l i T

DIV

I N l , O L r

;|

;i

107


в STL младшее слово (16 бит) значения OUT (32 бита) используется как делимое.

Операнды IN1, IN2: VW, Т, С, IW, QW, MW, SMW, АС, AEW, кон­ станта, *VD, *АС, SW

OUT: VD, ID, QD, MD, SMD, AC, *VD, *AC, SW LAD: INI * IN2 = OUT, INI / IN2 - OUT

STL: INl * OUT = OUT, OUT / INI = OUT

Эти операции влияют на специальные маркеры: SM1.0 (нуль); SM1Л (переполнение); SM1.2 (отрицательный); SM1.3 (деление на нуль).

Умножение и деление действительных чисел

1 EN

Операция Умноэюение действительных чисел ум­

MUL

R

ножает два действительных числа (32 бита) и передает

результат (32 бита) в OUT.

INI

Операция Деление действительных чисел делит

IN2

OUT

два действительных числа (32 бита) и передает резуль­

1

тат (32 бита) в OUT.

DIV

R

EN

Операнды IN1, IN2: VD, ID, QD, MD, SMD, AC,

INI

константа, *VD, *AC, SD

IN2

OUT

OUT: VD, ID, QD, MD, SMD, AC, *VD, *AC, SD

| * R

INI, OUT

LAD: INI * IN2 = OUT, INI/ IN2 - OUT

STL: INI * OUT = OUT, OUT / INI - OUT

J/R

INI, OUT

Эти операции влияют на специальные маркеры:

1 SM1.0 (нуль); SM1.1 (переполнение); SM1.2 (отрица­ тельный); SM1,3 (деление на нуль)

Если устанавливается SM1.1 или SM1.3, то другие биты состояния для арифметических операций и первичные входные операнды не изменя­ ются.

Извлечение квадратного корня из действительного числа

Операция Извлечение квадратного корня из дей­

SQRT

ствительного числа извлекает квадратный корень из

действительного числа (32 бита), заданного в IN. Ре­

зультат (OUT) тоже является действительным числом

(32 бита).

p | | S Q ^ ; IROIJT

VlN^OUT

Операнды IN: VD, ID, QD, MD, SMD, AC,

константа, *VD, *AC, SD

OUT: VD, Ш, QD, MD, SMD AC, *VD, *AC, SD

Эти операции влияют на специальные маркеры: SMLO (нуль); SML1 (переполнение); SML2 (отрицательный)

108