Академический Документы
Профессиональный Документы
Культура Документы
Обзор главы
Раздел Описание Стр.
5.1 Прямая адресация областей памяти CPU 5–2
5.2 Косвенная адресация областей памяти CPU в SIMATIC 5–13
5.3 Хранение данных в CPU S7–200 5–15
5.4 Сохранение данных в постоянной памяти с помощью вашей 5–20
программы
5.5 Использование модуля памяти для хранения вашей программы 5–22
V B 100
MSB LSB
7 0 Адрес байта
VB100 VB100 Доступ в формате байта
Идентификатор области
(V-память)
V D 100
Адрес байта
Доступ в формате двойного
MSB = старший бит слова
LSB = младший бит
Идентификатор области
(V-память)
Рис. 5-2. Сравнение доступа к байту, слову и двойному слову по одному и тому же
адресу
Представление чисел
В таблице 1–1 показан диапазон числовых значений, которые могут быть
представлены различными размерами данных.
Вещественные числа (числа с плавающей точкой) представляются как 32-
битные числа одинарной точности в формате: от +1.175495E-38 до
+3.402823E+38 (положительные) и от -1.175495E-38 до -3.402823E+38
(отрицательные). Доступ к значениям вещественных чисел производится
с помощью двойных слов. За дополнительной информацией о
вещественных числах или числах с плавающей точкой обратитесь к
стандарту ANSI/IEEE 754-1985.
Таблица 1-1. Обозначения размеров данных и соответствующие диапазоны целых
чисел
Размер данных Диапазон целых чисел Диапазон целых чисел
без знака со знаком
десятичные 16-ричные десятичные 16-ричные
B (байт): от 0 до 255 от 0 до FF от -128 до 127 от 80 до 7F
8–битовое
значение
W (слово): от 0 до 65 535 от 0 до FFFF от –32 768 от 8000 до
16–битовое до 32 767 7FFF
значение
D (двойное от 0 до от 0 до от –2 147 483 648 от 8000 0000 до
слово): 4 294 967 295 FFFF FFFF до 2 147 483 647 7FFF FFFF
32–битовое
значение
C3 Биты счетчика
Текущее значение (чтение/запись)
C0 C0
Номер счетчика (адрес бита) C1 C1
Идентификатор области
C2 C2
(счетчик)
C3 C3
Текущее значение
I2.1 MOV_W MSB LSB Биты
15
(чтение/запись) 0 счетчика
EN ENO
C0 C0
C3 IN OUT C1 C1
VW 200
C2 C2
Номер счетчика (адрес
текущего значения) C3 C3
Идентификатор области
(счетчик)
Рис. 5-4. Доступ к данным счетчика SIMATIC
MSB
AI W 8
LSB
Адрес байта
15 8 7 0
AIW8 байт 8 байт 9 Доступ к слову
Идентификатор области
Старший байт Младший байт (аналоговый вход)
Рис. 5-5. Доступ к аналоговому входу
AQ W 10
MSB LSB
Адрес байта
15 8 7 0
AQW10 байт 10 байт 11 Доступ к слову
Идентификатор области
Старший байт Младший байт (аналоговый выход)
Рис. 5-6. Доступ к аналоговому выходу
Примечание
См. раздел «Команды SIMATIC для прерываний и обмена информацией»
в главе 9 для получения информации об использовании аккумуляторов с
программами прерываний.
MSB LSB
MOV_B 7 0
EN ENO
MSB LSB
31 HC2 0
Старший байт Младший байт
Использование констант
Вы можете использовать постоянное значение во многих командах S7–
200. Константы могут быть байтами, словами или двойными словами.
CPU хранит все константы как двоичные числа, которые затем могут быть
представлены в форматах десятичном, шестнадцатеричном, ASCII или с
плавающей точкой.
Десятичный формат: [десятичное значение]
Шестнадцатеричный формат: 16#[шестнадцатеричное значение]
Формат ASCII: ’[текст ASCII]’
Формат с плавающей точкой (или вещественный): ANSI/IEEE 754-1985
Двоичный формат в виде: 2#1010_0101_1010_0101
CPU S7–200 не поддерживает и не проверяет типы данных (например,
указание на то, что константа хранится как целое, целое со знаком или
двойное целое число). Например, команда «Сложить» может
использовать значение в VW100 как целое число со знаком, а команда
«Исключающее ИЛИ» может использовать то же самое значение в VW100
как двоичное число без знака.
Следующие примеры показывают константы для форматов: десятичного,
шестнадцатеричного, ASCII и с плавающей точкой:
• Десятичная константа: 20047
• Шестнадцатеричная константа: 16#4E4F
• Константа ASCII: ’Текст в одиночных кавычках.’
• Формат с плавающей точкой (или вещественный):
+1.175495E-38 (положительное число)
-1.175495E-38 (отрицательное число)
• Двоичный формат 2#1010_0101_1010_0101
Изменение указателей
Вы можете изменить значение указателя. Так как указатели имеют размер
32 бита, то для изменения значений указателей используйте операции
над двойными словами. Для изменения значений указателей могут
использоваться такие простые математические операции, как сложение
или инкрементирование. Не забывайте указывать размер данных, к
которым вы обращаетесь:
• При обращении к байтам увеличивайте значение указателя на
единицу.
• При обращении к слову или текущему значению таймера или счетчика
увеличивайте значение указателя на два.
• При обращении к двойному слову увеличивайте значение указателя на
четыре.
Рис. 5–10 дает пример того, как создать указатель для косвенной
адресации, как обращаться к данным косвенно и как можно увеличивать
указатель.
Создает указатель
AC1
V199 перемещением
адрес VW200 MOVD &VB200, AC1 адреса VB200
V200 12 (адресом VW200
V201
является начальный
34 байт) в АС1.
V202 AC0
56 Перемещает
V203 78 1234 MOVW *AC1, AC0 значение слова,
V204 указанного в АС1
(VW 200), в АС0.
Программа
пользователя Программа
пользователя
Конфигурация CPU
Конфигурация CPU
V-память
V-память
(постоянная область)
M-память
M-память
Текущие значения (постоянная область)
таймеров и счетчиков
Программа пользователя
Конфигурация CPU
Блок данных (DB1): может
занимать весь объем
V-памяти
CPU S7-200
Программа
пользователя Программа
пользователя
Конфигурация CPU
Программа пользователя Конфигурация CPU
M-память M-память
(постоянная область)
Текущие значения
таймеров и счетчиков
ОЗУ ЭСППЗУ
Конфигурация CPU
CPU S7-200
Программа
пользователя Программа
пользователя
Конфигурация CPU
Конфигурация CPU
V-память V-память
DB1 (постоянная область)
M-память M-память
(постоянная область)
Текущие значения
таймеров и счетчиков
ОЗУ ЭСППЗУ
V-память
V-память (постоянная
Первые 14 байтов M –памяти область)
M-память (с МВ0 по МВ13), если они M-память (постоянная
сконфигурированы как область)
сохраняемые, копируются в
Текущие значения
ЭСППЗУ, когда CPU теряет
таймеров и счетчиков
питание.
Рис. 5-14. Сохранение части битовой памяти (M) в ЭСППЗУ при потере питания
ЭСППЗУ
ОЗУ (постоянная память)
Программа пользователя
Программа Программа
пользователя пользователя
M-память (постоянная
M-память
область)
Текущие значения
таймеров и счетчиков
Текущие значения
таймеров и счетчиков Все остальные
несохраняемые
области памяти
устанавливаются в 0.
Конфигурация CPU
V-память (постоянная область)
V-память
V-память (постоянная
область)
M-память
M-память (постоянная
M-память (пост. область), если область)
определена как сохраняемая
Текущие значения
таймеров и счетчиков
Все остальные области
памяти устанавливаются
в 0.
Примечание
Для таймеров и счетчиков могут быть сохранены только текущие значения: биты
таймеров и счетчиков нереманентны.
Range 1: VB 0 0 Clear
Диапа-
зоны Range 2: T 0 32 Clear Очистить
0÷5 Clear
Range 3: T 64 32
Range 4: C 0 256 Clear
Range 5: MB 14 18 Clear
OK Cancel
[Отменить]
Примечание
Операция сохранения в ЭСППЗУ не обновляет данные в модуле памяти.
MSB LSB
Размер значения,
7 0
подлежащего сохранению:
00 - байт
SMB31 sv 0 0 0 0 0 s1 s0 01 - байт
10 - слово
11 – двойное слово
CPU сбрасывает Сохранить в ЭСППЗУ:
SM31.7 после каждой
операции сохранения. 0 = нет
1 = да
MSB LSB
15 0
SMW32 Адрес V-памяти
Осторожно
Электростатический разряд может повредить модуль памяти или гнездо
на CPU.
При работе с модулем вы должны находиться на заземленном
проводящем полу и/или носить на руке заземленный браслет. Храните
модуль в токопроводящем контейнере.
ЭСППЗУ (Постоянная
ОЗУ память)
Программа
пользователя
Программа
пользователя Программа
пользователя
Конфигурация CPU
Конфигурация CPU
Конфигурация CPU
V-память V-память (постоянная
область)
Текущие значения
таймеров и счетчиков Плата
памяти
V-память (постоянная область)
Примечание
Включение CPU с пустым модулем памяти или с модулем памяти,
запрограммированным в другой модели CPU, может вызвать ошибку.
Модули памяти, запрограммированные в моделях CPU с меньшими
номерами, могут читаться старшими моделями CPU. Противное, однако,
неверно. Например, модули памяти, которые были запрограммированы в
CPU 221 или CPU 222, могут быть прочитаны CPU 224, но модули памяти,
запрограммированные в CPU 224, будут отвергнуты CPU 221 или CPU
222.
Вытащите модуль памяти и снова включите питание. После этого модуль
памяти может быть снова вставлен и перепрограммирован, если
необходимо.
ЭСППЗУ (Постоянная
ОЗУ память)
Программа
пользователя Программа
Конфигурация CPU Программа пользователя пользователя
Конфигурация CPU
Конфигурация CPU
V-память
V-память (постоянная область) V-память (постоянная
область)
M-память
M-память (постоянная
область)
Программа пользователя
Модуль
Конфигурация CPU памяти