Файл: Системы автоматизации с использованием программируемых логических контроллеров (Г.П. Митин, 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