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

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

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

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

Добавлен: 16.06.2025

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

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

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

3.L15. Применение констант

Во многих операциях для S7 -200 можно использовать константы. Константы могут быть байтами, словами и двойными словами. CPU хранит все константы как двоичные значения, которые могут представляться в де­ сятичном, шестнадцатиричном и ASCII-формате.

Десятичный формат:

[десятичное значение]

Шестнадцатиричный формат:

16#[шестнадцатиричное значение]

ASCII-формат:

' [ASCII-текст] '.

Нельзя задавать в CPU S7-200 специфические типы данных (напри­ мер, когда хотите указать, что консганта должна храниться в виде целого числа (16 битов), целого числа со знаком или целого числа (32 бита)). CPU S7-200 также не проверяет типы данных. Например, операция сложения может использовать хранимое в VW100 значение как целое число со зна­ ком, тогда как операция EXKLUSIV ODER использует то же самое значе­ ние из VW100 как двоичное значение без знака.

Следующие примеры показывают константы в десятичном, шестна­

дцатиричном и ASCII-формате:

Десятичная константа:

30574

Шестнадцатиричная константа:

16#2C5F

ASCII-константа:

Текст в апострофах'.

В табл. 3.3 приведены допустимые диапазоны, а в табл.3.4 - области операндов CPU-214.

Описание

Размер программы пользователя Размер данных пользователя Отображение процесса на входах Отображение процесса на выходах

Аналоговые входы (защищенные от записи)

1 Аналоговые выходы (защищенные от записи) Память переменных (V)

Область, устойчивая к нулевому напряжению (макс.) Маркеры (М)

Область, устойчивая к нулевому напряжению (макс.) Специальные маркеры (SM)

Защищенные от записи Таймеры

Формирование задержки включения с запоминанием 1 мс Формирование задержки включения с запоминанием 10 мс Формирование задержки включения с запоминанием 100 мс Формирование задержки включения 1 мс Формирование задержки включения 10 мс Формирование задержки включения 100 мс Счетчики Быстрые счетчики

Таблица 3.3

CPU-214

2 К слов

2 К слов Ю.О -17.7 Q0.0 - Q7.7

AIW0-AIW30

AQWO - AQW30

V0.0 - V4095.7

V0.0-V1023.7 М0.0-М31.7 МВ0-МВ13 SM0.0 - SM85.7 SM0.0 - SM29.7 128(Т0-Т127) ТО, Т64 Т1 - Т4, Т65 - Т68

Т5-Т31,Т69-Т95 Т32, Т96 ТЗЗ - Т36, Т97 - ТЮО

Т37-Т63,Т101-Т127 С0.С127 НСО-НС2

44


Описание

CPU-214

Реле шагового управления

SO.O-S15.7

Акк>ъ1уляторы

АСОлез

Переходы/'Метки перехода

0-255

ВьЕзовы/Подпро граммы

0 - 63

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

0-127

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

0 - 20

Формат доступа

CPU-214

Таблица 3.4

Бит (Байт.Бит)

V

0.0 - 4095.7

Г

0.0 - 7.7

0

0.0 - 7.7

!

М

0.0-31.7

SM

0.0-85.7

j

т

0-127

с

0-127

Байт

S

0.0-15.7

VB

0 - 4095

IB

0 - 7

QB

0 - 7

МБ

0 - 31

SMB

0 - 85

АС

0 - 3

SB

0 - 15

Слово

Константа

VW

0 - 4094

Т

0-127

С

0-127

rW

0 - 6

QW

0 - 6

MW

0 - 30

SMW

0 - 84

АС

0 - 3

AIW

0 - 30

AQW

0 - 30

SW

0 - 14

1 Двойное слово

Константа

|

VD

0 - 4092

ID

0 - 4

QD

0 - 4

MD

0 - 28

SMD

0 - 82

АС

0 - 3

НС

0 - 2

SD

0 - 12

Константа

|

45


3.2. Косвенная адресация областей памяти в CPU

Косвенная адресация использует указатели для обращения к данным в памяти. В CPU S7-200 посредством указателей можно косвенно адресо­ вать следующие области памяти: I, Q, V, М, S, Т, С (только текущее значе­ ние). Нельзя косвенно адресовать значения отдельных битов.

3,2.L Создание указателя

Если хотите обратиться к адресу косвенно, то вначале должны соз­ дать указатель, указывающий на этот адрес. Указатели являются двойными словами. Для создания указателя используют операцию передачи двойного слова (MOVD). Эта операция передает адрес в ячейку памяти с другим ад­ ресом или в аккумулятор, которая или который, соответственно, служит потом указателем (рис.3.9). С помощью знака «&» указывают, что именно адрес, а не соответствующее ему значение должно передаваться в пункт назначения.

Формат: &[адрес памяти] &МВ16.

При создании указателя можно задавать в операции MOVD в качест­ ве целевого адреса только адреса памяти переменных и аккумуляторы АС1, АС2 и АСЗ. При косвенной адресации нельзя использовать в качест­ ве указателя АСО.

3,2,2, Доступ к данным с помощью указателя

Звездочка (*) перед операндом операции указывает, что этот операнд является указателем. В примере на рис.3.10 запись *АС1 указывает, что АС1 является указателем, который содержит адрес значения слова, задан­ ного операцией «передача слова» (MOVW). В данном примере значения V200 и V201 передаются в аккумулятор АСО.

AG1

1 2 Щh

1 Указатель на VB200у*

MOVD &VB200,AC1

Передает адрес

V199

VB200BAC1.

V200

MOVW *AC1,AC0

Передает значение, на

V201

34

ACQ

f

V203

шШШШ iiil

||||i||i|i|

12 3 4 ]

которое указывает АС1,

в АСО.

V202

Н

iiiiii iilij

V204

iliil

Рис. ЗЛО

3,2,3, Изменение указателей

Можно изменять значение указателя. Так как указатели являются 32битными значениями, то изменять значения указателей нужно с помощью операций для двойных слов. Изменять значения указателей можно с по­ мощью простых арифметических операций, например, путем сложения или инкрементирования, учитывая размер данных:

46


если обращаетесь к байту, увеличьте значение указателя на 1;

если обращаетесь к словам или к текущим значениям таймеров или счетчиков, то прибавляйте значение 2 или инкрементируйте значе­ ние указателя на 2;

если обращаетесь к двойному слову, то прибавляйте значение 4 или инкрементируйте значение указателя на 4.

3.3. Языки программирования

CPU S7-200 (и STEP 7-Micro/WIN 32) поддерживает следующие языки программирования:

список команд (STL), мнемоника которых представляет функцию CPU;

язык релейно-контакных схем (LAD) является графическим языком программирования, который похож на электрические схемы.

Кроме того, STEP 7-MicroWIN 32 предоставляет два способа ото­

бражения адресов и операций в программе: международный и SIMATIC. Между этими двумя способами представления существует прямое соответ­ ствие, и функциональные возможности обоих способов представления идентичны.

3.3»L Основные элементырелейнО'Контактных схем

При проектировании программы в форме релейно-контактных схем работают с графическими компонентами, с помощью которых строятся ло­

гические сети.

Для разработки программы используют следующие эле­

менты (рис.3.11):

1 Contacts

[ f i t 1 JNormallyOpen

—^

Network 1

H

H / H H I H

4^1 H

-WTh-

Рис. 3.11

47

Контакты: Каждый контакт представляет собой переключатель, че­ рез который при замкнутом состоянии может протекать ток.

Катушки: Каждая катушка представляет собой реле, которое включа­ ется при протекании тока.

Блоки: Каждый блок представляет собой функцию, которая выпол­ няется, когда к блоку течет ток.

Сети: Сеть образует полную цепь тока. Ток течет от левой шины то­ ка через замкнутые контакты к катушкам или блокам, которые за счет этого активизируются.

3,3,2, Операторы списка команд

Список команд представляет собой язык программирования, в кото­ ром каждая команда программы содержит операцию, мнемоника которой представляет функцию CPU.

На рис.3.12 показаны основные элементы программы в форме списка команд.

//Программа

Конвейер

двигателя:

Начинайте каждый

NETWORK

//Запуск

LD

" S t a r t 1"

//Если 10.0

включен 4

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

Ш

"Ы0Т1"

/ / u 10 . 1

не

включен.

косой чертой (//).

=Q0.0

//то включить двигатель

KoriB^repi^^^™

NETWORK

//Аварийный

выключатель ддля конвейера

LD

10.О

// Если включен N0T1

S

10.3

// или включен N0T2

R%0 . 0

//то быключитьт двигатель конвейера.

NETWK

//Конец

программы

MEND

Рис. 3.12

Для решения логических задач операции STL работают с логическим стеком в CPU. Этот логический стек имеет глубину девять битов и разряд­ ность один бит (рис.3.13). Большинство операций STL работает либо с первым битом, либо с первым и вторым битами стека. Новые значения мо­ гут вдвигаться (или добавляться) в стек. Если два самых верхних бита сте­ ка логически сопрягаются, то стек уменьшается на один бит.

В то время как большинство операций STL только считывают значе­ ние из стека, некоторые операции STL изменяют сохраненные в стеке зна­ чения. На рис.3.14 показаны три примера работы со стеком некоторых операций. В данном примере надписи «awO» - «aw8» обозначают выходы логического стека, «nw» обозначает' новое значение, подготавливаемое операцией, и SO обозначает рассчитанное значение, которое сохраняется в логическом стеке. В примерах используются следующие булевы операто­ ры логического сопряжения: UND (*) и ODER (+).

48


Биты логического

SO

Stack 0

-

Первый уровень стека или вершина стека

стека

SI

Stack 1

-

Второй уровень стека

S2

Stack 2

-

Третий уровень стека

S3

Stack 3

-

Четвертый уровень стека

S4

Stack 4

-

Пятый уровень стека

S5

Stack 5

-

Шестой уровень стека

S6

Stack 6

-

Седьмой уровень стека

S7

Stack 7

-

Восьмой уровень стека

S8

Stack 8

-

Девятый уровень стека

Рис. 3.13

Загрузить (L0)

1 Загружает новое значение (nw) в стек. Выходные значе­ ния от аwO до aw8.

1

1

До

После

awO nw

awl awO

aw2 aw1

aw3 aw2

aw4 aw3

aw5 aw4

aw6 aw5

aw7 aw6

aw8 aw7

^Оказание a\NlI теряете:я

M{U)

Сопрягает новое значение <nw) со значением в вершине стека через И. Выходные значения от awO до aw8.

SO = awO * nw

До

После

awO

SO

aw1

aw1

aw2

aw2

aw3

aw3

aw4

aw4

aw5

aw5

aw6

aw6

aw7

aw7

aw8

aw8

Рис. 3.14

ИЛИ (О)

Сопрягает новое значение (nw) со значением в вершине стека через ИЛИ. Выходные значе­ ния от awO до aw8.

SO = awO + nw

До

После

awO SO

aw1 aw1

aw2 aw2

aw3 aw3

aw4 aw4

aw5 aw5

aw6 aw6

aw7 aw7

aw8 aw8

3.4. Основные элементы для разработки программы

CPU S7-200 непрерывно обрабатывает программу, чтобы управлять задачей или процессом. Из главной программы можно вызывать различные подгфограммы и программы обработки прерываний.

Структуризация программы.

Программы для CPU S7~200 составляют из трех основных элемен­ тов: главная программа, подпрохраммы (необязательные) и программы об­ работки гферываний (необязательные) (рис.3.15):

Главная программа: В этой основной части программы располагают­ ся операции, управляюгцие приложением. Операции главной про-

49