Главная Логические модули LOGO! КОНТРОЛЛЕРЫ SIMATIC S7-200 Реле времени Реле температурного контроля Реле термисторной защиты Преобразователи аналоговых сигналов Втычные реле Силовые реле

Доступ к данным S7–200 6ES7 216-2AD23-0XB0


CPU 221 DC 24

CPU 221 AC 220


CPU 222 DC 24

CPU 222 AC 220


CPU 224 DC 24

CPU 224 AC 220


  CPU 224XP DC 24 -COM

CPU 224XP DC 24 +COM

CPU 224XP AC 220


CPU 226 DC 24

CPU 226 AC 220


  • Напряжение питания =24 В;
  • 24 дискретных входов =24 В;
  • 16 дискретных выходов =24В

     /0,75 А;

  • Память программ 24 Кбайт;
  • Память данных 10 Кбайт;
  • 2 PPI/ MPI/ свободно программируемых порта;
  • До 7 модулей расширения.

 Технические данные

Монтаж и монтажные размеры

Схема подключения

Основы функционирования ПЛК

S7–200  6ES7 216-2AD23-0XB0 хранит информацию в различных местах памяти, которые имеют однозначные адреса. Вы можете явно указать адрес в памяти, к которому вы хотите обратиться. Благодаря этому ваша программа имеет прямой доступ к информации. Таблица ниже показывает диапазон целых значений, которые могут быть представлены с помощью данных различной длины.


Представление

Байт (B)

Слово (W)

Двойное слово (D)

Целое без знака

от 0 до 255

от 0 до FF

от 0 до 65 535

от 0 до FFFF

от 0 до 4 294 967 295

от 0 до FFFF FFFF

Целое со знаком

от -128 до +127

от 80 до 7F

от –32 768 до +32 767

от 8000 до 7FFF

от –2 147 483 648 до +2 147 483 647

от 8000 0000 до 7FFF FFFF

Вещественное IEEE 32–битовое с плавающей точкой

Неприменимо

Неприменимо

от +1.175495E-38 до +3.402823E+38

(положительное)

от –1.175495E-38 до –3.402823E+38

(отрицательное)


Для обращения к биту в некоторой области памяти вы должны указать адрес бита. Этот адрес состоит из идентификатора области памяти, адреса байта и номера бита. На рисунке ниже показан пример обращения к биту (адресация в формате «байт.бит»). В этом примере за областью памяти и адресом байта (I = input [вход], 3 = байт 3) следует точка («.»), чтобы отделить адрес бита (бит 4).

Адресация байт.бит 6ES7 216-2AD23-0XB0



Применяя формат байт.бит, вы можете обратиться к данным в большинстве областей памяти (V, I, Q, M, S, L и SM) как к байтам, словам или двойным словам. Если вы хотите обратиться к байту, слову или двойному слову данных в памяти, то вы должны указать эти адреса подобно адресу бита. Вы указываете идентификатор области, обозначение длины данных и начальный адрес байта, слова или двойного слова, как показано на рисунке ниже:

Обращение к одному и тому же адресу в формате байта, слова и двойного слова 6ES7 216-2AD23-0XB0


Обращение к данным в областях памяти 6ES7 216-2AD23-0XB0


Регистр входов образа процесса: I

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

Бит:

I[адрес байта].[адрес бита]

I0.1

Байт, слово или двойное слово:

I[длина][начальный адрес байта]

IB4


Регистр выходов образа процесса: Q

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

Бит:

Q[адрес байта].[адрес бита]

Q1.1

Байт, слово или двойное слово:

Q[длина][начальный адрес байта]

QB5


Область памяти переменных: V

Память переменных можно использовать для хранения промежуточных результатов операций, выполняемых в вашей программе. В памяти переменных вы можете хранить также другие данные, имеющие отношение к процессу или к решению вашей задачи автоматизации. К памяти переменных можно обратиться в формате бита, байта, слова и двойного слова:

Бит:

V[адрес байта].[адрес бита]

V10.2

Байт, слово или двойное слово:

V[длина][начальный адрес байта]

VW100s


Область битовой памяти: M

Биты памяти (меркеры) можно использовать как управляющие реле для хранения промежуточных результатов операций или другой управляющей информации. К битам памяти можно обратиться в формате бита, байта, слова и двойного слова:

Бит:

M[адрес байта].[адрес бита]

M26.7

Байт, слово или двойное слово:

M[длина][начальный адрес байта]

MD20


Таймеры 6ES7 216-2AD23-0XB0: T

S7–200 имеет в своем распоряжении таймеры, которые отсчитывают приращения времени с разрешениями (шагами базы времени) 1 мс, 10 мс или 100 мс. С таймером связаны две переменные:

- Текущее значение: это 16–битовое целое со знаком хранит количество времени, отсчитанное таймером.

- Бит таймера: этот бит устанавливается или сбрасывается, когда текущее значение становится равным предустановленному значению. Предустановленное значение вводится как часть таймерной команды.

Вы обращаетесь к обоим этим элементам данных через адрес таймера (T + номер таймера). Происходит ли обращение к биту таймера или к текущему значению, зависит от используемой команды: команды с операндами в битовом формате обращаются к биту таймера, тогда как команды с операндами в формате слова обращаются к текущему значению. Как показано на рисунке ниже, команда "Нормально открытый контакт" обращается к биту таймера, а команда "Передать слово" обращается к текущему значению таймера.

Формат:

T[номер таймера]

T24

Обращение к биту или к текущему значению таймера 6ES7 216-2AD23-0XB0



Счетчики: C

S7–200 имеет в своем распоряжении три вида счетчиков, которые подсчитывают нарастающие фронты на счетных входах счетчика: один вид счетчиков ведет прямой счет, другой считает только в обратном направлении, а третий вид считает в обоих направлениях.

Со счетчиком связаны две переменные:

  • Текущее значение: это 16–битовое целое со знаком хранит счетное значение, накопленное счетчиком.
  • Бит счетчика: этот бит устанавливается или сбрасывается, когда текущее значение становится равным предустановленному значению. Предустановленное значение вводится как часть команды счетчика.


Вы обращаетесь к обоим этим элементам данных через адрес счетчика (C + номер счетчика). Происходит ли обращение к биту счетчика или к текущему значению, зависит от используемой команды: команды с операндами в битовом формате обращаются к биту счетчика, тогда как команды с операндами в формате слова обращаются к текущему значению. Как показано на рисунке ниже, команда "Нормально открытый контакт" обращается к биту счетчика, а команда "Передать слово" обращается к текущему значению счетчика.

Формат:

C[номер счетчика]

C24

Обращение к биту или к текущему значению счетчика 6ES7 216-2AD23-0XB0



Скоростные счетчики: HC

Скоростные счетчики подсчитывают быстрые события независимо от цикла CPU.

Скоростные счетчики имеют в своем распоряжении 32–битовое целое счетное значение (текущее значение). Для обращения к счетному значению скоростного счетчика введите его адрес, указав область памяти (HC) и номер счетчика (напр., HC0). Текущее значение скоростного счетчика защищено от записи и может быть адресовано только в формате двойного слова (32 бита).

Формат:

HC[номер скоростного счетчика]

HC1


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

Аккумуляторы – это элементы чтения/записи, которые могут использоваться как память. Например, вы можете использовать аккумуляторы для передачи параметров в подпрограммы и из них или для хранения промежуточных результатов расчетов. S7–200 имеет в своем распоряжении четыре 32–битовых аккумулятора (AC0, AC1, AC2 и AC3). К данным в аккумуляторах можно обратиться в формате бита, слова или двойного слова. Длина данных, к которым производится обращение, зависит от команды, которая используется для обращения к аккумулятору. Как показано на рисунке ниже, при обращении к аккумулятору в формате бита или слова используются младшие 8 или 16 битов значения, хранящегося в аккумуляторе. При обращении к аккумулятору в формате двойного слова используются все 32 бита.

Формат:

AC[номер аккумулятора]

AC0

Обращение к аккумуляторам 6ES7 216-2AD23-0XB0



Специальные биты памяти: SM

Специальные биты памяти (SM) предоставляют средство для обмена данными между CPU и вашей программой. Вы можете использовать эти биты для выбора и управления некоторыми специальными функциями CPU S7–200 6ES7 216-2AD23-0XB0, например: бит, который устанавливается только в первом цикле; бит, который устанавливается и сбрасывается с фиксированной частотой, или бит, который указывает на состояние арифметической или иной команды. К SM-битам можно обращаться в формате бита, слова или двойного слова:

Бит:

SM[адрес байта].[адрес бита]

SM0.1

Байт, слово или двойное слово:

SM[длина][начальный адрес байта]

SMB86


Память локальных данных: L

S7–200 имеет в своем распоряжении 64 байта локальной памяти, из которых 60 могут быть использованы в качестве промежуточной памяти или для передачи формальных параметров в подпрограммы.

Совет

При программировании в LAD или FBD последние четыре байта зарезервированы для STEP 7-Micro/WIN.

Память локальных данных похожа на память переменных с одним существенным отличием. Память переменных доступна глобально, тогда как память локальных данных доступна локально. Глобальная доступность означает, что к адресу в этой области памяти можно обратиться из любой организационной единицы программы (из основной программы, подпрограммы или подпрограмм обработки прерываний). Локальная доступность означает, что эта область памяти ставится в соответствие определенной организационной единице программы. S7–200 выделяет 64 байта локальной памяти для главной программы, 64 байта для каждого уровня вложенности подпрограмм и 64 байта для программ обработки прерываний.

К области локальных данных, поставленной в соответствие основной программе, не имеют доступа подпрограмм и программы обработки прерываний. Подпрограмма не может обращаться к области локальных данных основной программы, программы обработки прерываний или другой подпрограммы. Аналогично, программа обработки прерываний не имеет доступа к области локальных данных основной программы или подпрограммы.

S7–200 выделяет область локальных данных по мере необходимости. Это значит, что при выполнении основной программы области локальных данных для подпрограмм и программ обработки прерываний не существуют. Если возникает прерывание или вызывается подпрограмма, то по потребности выделяется локальная память. Вновь выделенная локальная память может снова использовать те же адреса, которые использовались другой подпрограммой или программой обработки прерываний.

S7–200 не инициализирует область локальных данных к моменту ее назначения, поэтому она может содержать любые значения. Если при вызове подпрограммы передаются формальные параметры, то S7–200 сохраняет значения передаваемых параметров в соответствующих адресах области локальных данных, выделенной этой подпрограмме. Адреса в области локальных данных, которые не получили значений при передаче формальных параметров, не инициализируются и при выделении могут содержать произвольные значения.

Бит:

L[адрес байта].[адрес бита]

L0.0

Байт, слово или двойное слово:

L[длина] [начальный адрес байта]

LB33


Аналоговые входы: AI

S7–200 преобразует аналоговые величины (например, температуру или напряжение) в цифровые величины, имеющие длину слова (16 битов). Обращение к этим значениям производится через идентификатор области (AI), длину данных (W) и начальный адрес байта. Так как в случае аналоговых входов речь идет о словах, которые всегда начинаются на байтах с четными номерами (например, 0, 2, 4 и т.д.), то обращаются к этим значениям с помощью адресов четных байтов (например, AIW0, AIW2, AIW4). Аналоговые входы можно только считывать.

Формат:

AIW[начальный адрес байта]

AIW4


Аналоговые выходы: AQ

S7–200 преобразует цифровые величины, имеющие длину слова (16 битов), в ток или напряжение пропорционально цифровой величине. Обращение к этим значениям производится через идентификатор области (AQ), длину данных (W) и начальный адрес байта. Так как в случае аналоговых выходов речь идет о словах, которые всегда начинаются на байтах с четными номерами (например, 0, 2, 4 и т.д.), то эти значения записываются с адресами четных байтов (например, AQW0, AQW2, AQW4). Аналоговые выходы можно только записывать.

Формат:

AQW[начальный адрес байта]

AQW4


Реле управления очередностью (SCR): S

SCR или S-биты разделяют функционирование установки на отдельные шаги или эквивалентные части программы. С помощью реле управления очередностью программа управления представляется в виде структуры, состоящей из логических сегментов. К S-битам можно обращаться в формате бита, слова или двойного слова.

Бит:

S[адрес байта].[адрес бита]

S3.1

Байт, слово или двойное слово:

S[длина][начальный адрес байта]

SB4



Формат вещественных чисел

Вещественные числа (или числа с плавающей точкой) представляются как 32–битовые числа однократной точности, формат которых описан в стандарте ANSI/IEEE 754-1985. См.рисунок ниже. Обращение к вещественным числам производится в формате двойного слова.

У S7–200 6ES7 216-2AD23-0XB0 числа с плавающей точкой имеют точность до 6 десятичных разрядов. Поэтому при вводе константы с плавающей точкой можно указывать до 6 десятичных разрядов.

Формат вещественного числа 6ES7 216-2AD23-0XB0


Точность при вычислениях с вещественными числами

Расчеты, включающие в себя длинные последовательности значений, содержащие очень большие и очень малые числа, могут привести к неточным результатам. Это может произойти, если числа отличаются друг от друга в 10 в степени x раз, где x > 6. Например: 100 000 000 + 1 = 100 000 000



Формат для строк

Строка – это последовательность символов, причем каждый символ хранится как байт. Первый байт строки определяет ее длину, т.е. количество содержащихся в ней символов. На рисунке ниже показан формат строки. Строка может включать в себя от 0 до 254 символов, плюс байт, содержащий информацию о длине, таким образом, максимальная длина строки равна 255 байтам. Строковая константа ограничена 126 байтами.

Формат строк 6ES7 216-2AD23-0XB0


Задание постоянного значения для команд S7–200

Во многих командах для S7–200 можно использовать константы. Константы могут быть байтами, словами или двойными словами. S7–200 6ES7 216-2AD23-0XB0 хранит все константы в виде двоичных чисел, которые могут быть представлены в десятичном, шестнадцатеричном формате, в формате ASCII или в формате вещественных чисел (чисел с плавающей точкой).

Представление

Формат

Пример

Десятичное

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

20047

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

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

16#4E4F

Двоичное

2#[ двоичное число]

2#1010_0101_1010_0101

ASCII

’[текст ASCII]’

’ABCD’

Вещественное

ANSI/IEEE 754-1985

+1.175495E-38 (положительное)

−1.175495E-38 (отрицательное)

Строка

«[текст строки]»

«ABCDE»


Совет

У CPU S7–200 нельзя указывать конкретные типы данных (когда вы, например, хотите указать, что константа должна быть сохранена как целое число (16 битов), целое число со знаком или двойное целое (32 бита)). Например, команда сложения может использовать значение, хранящееся в VW100, как целое число со знаком, а команда "Исключающее ИЛИ" то же самое значение в VW100 может использовать как двоичное значение без знака.



Адресация встроенных входов/выходов и входов/выходов модулей расширения


Встроенные входы и выходы центрального устройства (CPU) имеют фиксированные адреса. Вы можете добавить входы и выходы к CPU S7–200, подключив с правой стороны CPU модули расширения. Адреса входов и выходов на модуле расширения определяются видом входов и выходов, а у нескольких модулей одного типа также их расположением. Например, модуль вывода не влияет на адреса модуля ввода и наоборот. Адреса входов и выходов аналоговых и цифровых модулей также не зависят друг от друга.

Совет

Для цифровых входов и выходов в образе процесса предусмотрены участки по восемь битов (одному байту) каждый. Если в модуле не для каждого бита зарезервированного байта имеется физический вход или выход, то свободные биты теряются и не могут быть поставлены в соответствие следующим модулям расширения этого CPU. У модулей ввода свободные биты в зарезервированных байтах в каждом цикле обновления устанавливаются в ноль.

Аналоговые входы и выходы всегда назначаются двойными шагами. Если в модуле не для каждого из этих входов и выходов имеется физический вход или выход, то эти входы и выходы теряются и не могут быть поставлены в соответствие следующим модулям расширения.

На рисунке ниже показан пример нумерации входов и выходов для конкретной конфигурации аппаратуры. Пропуски в адресации (показаны серым курсивом) не могут использоваться вашей программой.

Пример адресов встроенных входов/выходов и входов/выходов модулей расширения 6ES7 216-2AD23-0XB0



Косвенная адресация областей памяти S7–200 с помощью указателей

Косвенная адресация использует указатель для доступа к данным в памяти. Указатели – это ячейки памяти, имеющие размер двойного слова, которые содержат адрес другой ячейки памяти. В качестве указателей можно использовать только ячейки памяти переменных и локальных данных или аккумуляторные регистры (AC1, AC2 или AC3). Для создания указателя необходимо использовать команду "Переместить двойное слово". Эта команда передает адрес косвенно адресованной ячейки памяти в ячейку указателя. Указатели могут также передаваться в подпрограмму в качестве параметров.

S7–200 дает возможность использования указателей для косвенной адресации следующих областей памяти: I, Q, V, M, S, AI, AQ, SM, T (только текущее значение) и C (только текущее значение). Косвенную адресацию нельзя использовать для обращения к отдельному биту или к областям памяти HC или L.

Если вы хотите косвенно обратиться к данным, расположенным по некоторому адресу в памяти, вы можете создать указатель на этот адрес, введя амперсанд (&) и соответствующий адрес. Входному операнду команды должен предшествовать амперсанд (&), чтобы указать на необходимость перемещения в ячейку, обозначенную в выходном операнде команды (указателе), адреса ячейки памяти, а не ее содержимого.

Ввод астериска (*) перед операндом команды указывает, что этот операнд является указателем. Как показано на рисунке ниже, ввод *AC1 указывает, что AC1 является указателем на слово, на которое ссылается команда "Переместить слово" (MOVW). В этом примере значения, хранящиеся в VB200 и VB201, перемещаются в аккумулятор AC0.

Создание и использование указателя 6ES7 216-2AD23-0XB0


Как показано на следущем рисунке, вы можете изменить значение указателя. Так как указатели имеют размер 32 бита, то для изменения значений указателей используйте операции над двойными словами. Для изменения значений указателей могут использоваться такие простые математические операции, как сложение или инкрементирование.

Изменение указателя 6ES7 216-2AD23-0XB0


Совет

Не забывайте указывать длину данных, к которым вы хотите обратиться: для обращения к байту увеличьте значение указателя на 1; для обращения к слову или текущему значению таймера или счетчика, увеличьте значение указателя на 2, для обращения к двойному слову увеличьте значение указателя на 4.


Пример программы для обращения к данным в памяти переменных с использованием смещения

В этом примере используется LD10 как указатель на адрес VB0. Затем вы увеличиваете указатель на величину смещения, хранящуюся в VD1004. Теперь LD10 указывает на другой адрес в памяти переменных (VB0 + смещение). Значение, хранящееся в памяти переменных по адресу, на который указывает LD10, копируется в VB1900. Изменяя значение в VD1004, вы можете обратиться к любому адресу в памяти переменных.

Пример программы для обращения к данным в памяти переменных с использованием смещения 6ES7 216-2AD23-0XB0


Сегмент 1


Чтение значения из произвольного адреса VB с помощью смещения:


  1. Загрузить в указатель начальный адрес памяти переменных.
  2. Прибавить к указателю величину смещения.
  3. Скопировать значение из адреса в памяти переменных (смещение) в VB1900.


LD SM0.0

MOVD &VB0, LD10

+D VD1004, LD10

MOVB *LD10, VB1900



Пример программы для обращения к данным в таблице с использованием указателя

Этот пример использует LD14 как указатель на рецепт, хранящийся в таблице рецептов, которая начинается с VB100. В этом примере VW1008 хранит индекс места конкретного рецепта в таблице. Если каждый рецепт в таблице имеет длину 50 байтов, умножьте индекс на 50, чтобы получить смещение для начального адреса конкретного рецепта. Добавив смещение к указателю, вы можете получить доступ к каждому отдельному рецепту в таблице. В этом примере рецепт копируется в 50 байтов, которые начинаются с VB1500.

Пример программы для обращения к данным в таблице с использованием указателя 6ES7 212-1BB23-0XB0


Сегмент 1


Передача рецепта из таблицы с рецептами:

  • каждый рецепт имеет длину 50 байтов.
  • индексный параметр (VW1008) идентифицирует рецепт, подлежащий загрузке.


  1. Создание указателя на начальный адрес таблицы рецептов.
  2. Преобразование индекса рецепта в значение двойного слова.
  3. Умножение смещения для учета длины рецепта.
  4. Прибавление измененного смещения к указателю.
  5. Передача выбранного рецепта в ячейки с VB1500 по VB1549.


LD SM0.0

MOVD &VB100, LD14

ITD VW1008, LD18

*D +50, LD18

+D LD18, LD14

BMB *LD14, VB1500, 50


Выполнение логики управления с помощью S7–200




Сохранение и извлечение данных с помощью S7–200




Установка режима работы CPU S7–200





Использование проводника S7–200





Функции S7–200





Вернуться в раздел описания центральных процессоров Simatic S7-200


Вернуться на главную страницу раздела Siemens Simatic S7-200