Абсолютная адресация переменных
Адресация переменных
При адресации переменных вы можете выбрать один из ее способов: абсолютная адресация (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.