Абсолютная адресация переменных

Адресация переменных

При адресации переменных вы можете выбрать один из ее способов: абсолютная адресация (absolute addressing) и символическая адресация (symbolic addressing). Абсолютная адресация использует численные адреса, начиная с нулевого (0), для каждой адресной области.

Доступ к переменным простых типов данных может быть осуществлен по абсолютным адресам.

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

Каждый вход и выход имеет абсолютный адрес, предопределенный конфигурацией аппаратуры. Этот адрес указывается непосредственно, т.е. абсолютно. Например, для конфигурации аппаратуры, приведенной на рис.4.2, автоматические назначается адресация входов и выходов по 4 байта на каждый модуль. Абсолютный адрес может быть заменен символьным именем.

 

 
 

 


Рисунок 4.2 – Аппаратная конфигурация абсолютных адресов бинарных входов /выходов.

 

Бинарные (дискретные) сигналы

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

Аналоговые сигналы

Аналоговый сигнал (analog signal) содержит 16 бит информации. Аналоговый сигнал соответствует «каналу», который отображается в контроллере в виде машинного слова (word), то есть двух байт (смотрите ниже). Аналоговые входные сигналы (например, напряжения от терморезисторов) поступают в аналоговые входные модули, оцифровываются и после этого становятся доступными для обработки в контроллере в виде 16-разрядного сигнала (16 информационных битов). С другой стороны, 16-разрядный сигнал может управлять аналоговым индикатором посредством аналогового выходного модуля, где информация преобразовывается в аналоговую величину (например, ток).

 


Рисунок 4.3 - Содержимое байтов в машинных словах и двойных словах

 

Разрядность («information width» - «информационный диапазон») сигнала также соответствует разрядности переменной, в которой сигнал хранится и обрабатывается. Информационная разрядность и интерпретация информации (например, позиционный весовой коэффициент), взятые вместе, образуют тип данных (data type) переменной. Бинарные сигналы хранятся в переменных типа BOOL (логический), аналоговые сигналы – в переменных типа INT (целочисленный).

Единственным определяющим фактором для адресации переменной является разрядность. В STEP 7 с помощью абсолютной адресации осуществляется доступ к объектам, имеющим следующие четыре типа разрядности:

- 1 бит Тип данных BOOL (логический);

- 8 бит Тип данных BYTE (байтовый) или другой 8-битовый тип данных;

- 16 бит Тип данных WORD (слово) или другой 16-битовый тип данных;

- 32 бита Тип данных DWORD (двойное слово) или другой 32-битный тип.

На переменные типа BOOL (логический) ссылка производится посредством идентификатора адреса, номера байта и отделенного десятичной точкой номера бита. Нумерация байтов начинается с нуля (0) в каждой адресной области. Верхнее предельное значение номера байта определяется типом CPU. Биты внутри байтов нумеруются от 0 до 7. Примеры:

I 1.0 входной бит номер 0 в байте номер 1;

Q 16.4 выходной бит номер 4 в байте номер 16.

Для переменных типа BYTE (байт) в качестве абсолютного адреса используются идентификатор адреса и номер байта, содержащего переменную. Идентификатор адреса дополнен символом «В». Примеры:

IB 2 входной байт номер 2;

QB 18 выходной байт номер 18.

Переменные типа WORD состоят из двух байтов (слово). В качестве абсолютного адреса используется идентификатор адреса и номер младшего байта машинного слова, в котором содержится переменная. Идентификатор адреса дополнен символом «W». Примеры:

IW 4 входное слово номер 4; содержит байты 4 и 5;

QW 20 выходное слово номер 20; содержит байты 20 и 21.

Переменные типа DWORD содержат четыре байта (двойное слово). Абсолютный адрес составляют идентификатор адреса и номер младшего байта двойного машинного слова, содержащего переменную. Идентификатор адреса дополнен символом «D».

Примеры:

ID 8 входное двойное слово номер 8; содержит байты 8, 9, 10 и 11;

QD 24 выходное двойное слово номер 24; содержит байты: 24, 25,

26 и 27.

Адреса области данных включают блок данных. Примеры:

DB 10.DBX 2.0 бит данных 2.0 в блоке данных DB 10;

DB 11.DBB 14 байт данных 14 в блоке данных DB 11;

DB 20.DBW 20 слово данных 20 в блоке данных DB 20;

DB 22.DBD 10 двойное слово данных 10 в блоке данных DB 22.