Доступ к данным S7-200
S7-200 хранит информацию в различных местах памяти, которые имеют однозначные адреса. Адрес в памяти, к которому необходимо обратиться, можно указать явно, благодаря этому программа имеет прямой доступ к информации.
Для обращения к биту в некоторой области памяти требуется указать адрес бита. Этот адрес состоит из идентификатора области памяти, адреса байта и номера бита. На рис. 6.2 показан пример обращения к биту (адресация в формате «байт.бит»). В этом примере за областью памяти и адресом байта (I = input [вход], 3 = байт 3) следует точка («.»), чтобы отделить адрес бита (бит 4).
Область памяти - Образ процесса на входах (I)
Рис. 6.2. Адресация байт.бит
Для обращения к байту, слову или двойному слову данных в памяти, следует указать идентификатор области, обозначение длины данных и начальный адрес
К данным в других областях памяти (напр., T, C, HC и аккумуляторы) обращаются, указывая в качестве адреса идентификатор области и номер элемента.
К регистру входов образа процесса можно обратиться в формате бита, байта, слова и двойного слова:
Бит: | I[адрес байта].[адрес бита] | I0.1 |
Байт, слово или двойное слово: | I[длина][начальный адрес байта] | IB4 |
К регистру выходов образа процесса можно обратиться в формате бита, байта, слова и двойного слова:
Бит: | Q[адрес байта].[адрес бита] | Q1.1 |
Байт, слово или двойное слово: | Q[длина][начальный адрес байта] | QB5 |
Область памяти переменных (V) используется для хранения промежуточных результатов операций, выполняемых программой. К памяти переменных можно обратиться в формате бита, байта, слова и двойного слова:
Бит: | V[адрес байта].[адрес бита] | V10.2 |
Байт, слово или двойное слово: | :V[длина][начальный адрес байта] | VW100 |
Область битовой памяти (M) используется как управляющие реле для хранения промежуточных результатов операций или другой управляющей информации. К битам памяти можно обратиться в формате бита, байта, слова и двойного слова:
Бит: | M [адрес байта].[адрес бита] | M26.7 |
Байт, слово или двойное слово: | M[длина][начальный адрес байта] | MD20 |
В контроллере S7-200 имеются таймеры, которые отсчитывают приращения времени с разрешениями (шагами базы времени) 1 мс, 10 мс или 100 мс. С таймером связаны две переменные:
Текущее значение: это 16-битовое целое со знаком хранит количество времени, отсчитанное таймером.
Бит таймера: этот бит устанавливается или сбрасывается, когда текущее значение становится равным предустановленному значению.
Обращение к обоим этим элементам данных записывается через адрес таймера (T + номер таймера). Происходит ли обращение к биту таймера или к текущему значению, зависит от используемой команды: команды с операндами в битовом формате обращаются к биту таймера, тогда как команды с операндами в формате слова обращаются к текущему значению.
В S7-200 имеется три вида счетчиков, которые подсчитывают нарастающие фронты на счетных входах счетчика: один вид счетчиков ведет прямой счет, другой считает только в обратном направлении, а третий вид считает в обоих направлениях. Со счетчиком связаны две переменные:
Текущее значение: это 16-битовое целое со знаком хранит счетное значение, накопленное счетчиком.
Бит счетчика: этот бит устанавливается или сбрасывается, когда текущее значение становится равным предустановленному значению.
Скоростные счетчики (HC) подсчитывают быстрые события независимо от цикла. Текущее значение скоростного счетчика защищено от записи и может быть адресовано только в формате двойного слова, т.е. 32 бита.
Формат: | HC[номер скоростного счетчика] | НС1 |
Аккумуляторы (AC) – элементы чтения/записи, которые могут использоваться как память.
Специальные биты памяти (SM) предоставляют средство для обмена данными между CPU и программой.
Память локальных данных (L) – используется в качестве промежуточной памяти или для передачи формальных параметров в подпрограммы.
Аналоговые входы (AI) служат для преобразования аналоговой величины (например, температуру или напряжение) в цифровые величины, имеющие длину слова (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 |
6.2.3. Адресация встроенных входов/выходов и входов/выходов модулей расширения
Встроенные входы и выходы центрального устройства (CPU) имеют фиксированные адреса, их количество можно увеличить, добавив модули расширения. Адреса входов и выходов на модуле расширения определяются видом входов и выходов, а у нескольких модулей одного типа также их расположением. Например, модуль вывода не влияет на адреса модуля ввода и наоборот. Адреса входов и выходов аналоговых и цифровых модулей также не зависят друг от друга.
В табл. 6.4 показан пример нумерации входов и выходов для конкретной конфигурации аппаратуры. Пропуски в адресации (показаны серым курсивом) не могут использоваться программой.
Таблица 6.4. Пример адресов встроенных входов/выходов и входов/выходов модулей расширения CPU 224XP
CPU 224XP | Модуль 0 | Модуль 1 | Модуль 2 | Модуль 3 | Модуль 4 | ||||
встроенные вх/вых | 4вх./4вых | 8вх. | 4 ан.вх. / 1ан.вых. | 8 вых | 4 ан.вх. / 1ан.вых. | ||||
I0.0 | Q0.0 | I2.0 | Q2.0 | I3.0 | AIW4 | AQW4 | Q3.0 | AIW12 | AQW8 |
I0.1 | Q0.1 | I2.1 | Q2.1 | I3.1 | AIW6 | AQW6 | Q3.1 | AIW14 | AQW10 |
I0.2 | Q0.2 | I2.2 | Q2.2 | I3.2 | AIW8 | Q3.2 | AIW16 | ||
I0.3 | Q0.3 | I2.3 | Q2.3 | I3.3 | AIW10 | Q3.3 | AIW18 | ||
I0.4 | Q0.4 | I2.4 | Q2.4 | I3.4 | Q3.4 | ||||
I0.5 | Q0.5 | I2.5 | Q2.5 | I3.5 | Q3.5 | ||||
I0.6 | Q0.6 | I2.6 | Q2.6 | I3.6 | Q3.6 | ||||
I0.7 | Q0.7 | I2.7 | Q2.7 | I3.7 | Q3.7 | ||||
I1.0 | Q1.0 | ||||||||
I1.1 | Q1.1 | ||||||||
I1.2 | Q1.2 | ||||||||
I1.3 | Q1.3 | ||||||||
I1.4 | Q1.4 | ||||||||
I1.5 | Q1.5 | ||||||||
I1.6 | Q1.6 | ||||||||
I1.7 | Q1.7 | ||||||||
AIW0 | AQW0 | ||||||||
AIW2 | AQW2 |
Для цифровых входов и выходов в образе процесса предусмотрены участки по одному байту каждый. Если в модуле не для каждого бита зарезервированного байта имеется физический вход или выход, то свободные биты теряются и не могут быть поставлены в соответствие следующим модулям расширения этого CPU. У модулей ввода свободные биты в зарезервированных байтах в каждом цикле обновления устанавливаются в ноль.
Аналоговые входы и выходы всегда назначаются двойными шагами. Если в модуле не для каждого из этих входов и выходов имеется физический вход или выход, то эти входы и выходы теряются и не могут быть поставлены в соответствие следующим модулям расширения.
Дата добавления: 2015-01-15; просмотров: 1356;