Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метода S300.doc
Скачиваний:
54
Добавлен:
28.05.2015
Размер:
1.45 Mб
Скачать
    1. Блоки данных

Блоки данных DB0...DB255 предназначены для хранения переменных и/или констант. Блоки данных DB0...DB255 располагаются в области памяти программ в кассете пользователя.

Исходный (запрограммированный пользователем) блок данных DB0 находится в кассете пользователя. При запуске в режиме РАБОТА (Р2) исходный блок DB0 из кассеты пользователя копируется системной программой в оперативное запоминающее устройство в рабочую зону блока DB0, находящуюся в памяти данных контроллера. Все команды обращения к битам, байтам или словам блока данных работают с блоком DB0, расположенным в памяти данных контроллера. Блок данных DB0 может использоваться для хранения переменных контроллера без исходного программирования. В этом случае пользователь не программирует блок DB0, а работает в программе только с рабочей зоной блока DB0 в оперативной памяти.

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

Размер каждого блока данных - величина переменная, определяется пользователем при его программировании и может составлять от 1 слова (2 байта) до 256 слов (512 байт).

Блоки данных могут быть трех типов:

  • блок констант;

  • блок переменных (без инициализации);

  • блок переменных с инициализацией.

Содержимое блока констант вводится в системе программирования “ИНТЕРВЬЮ” при разработке программы. При пересылке в контроллер блок констант размещается в памяти программ, и изменение данных в блоке во время работы программы невозможно. Допустимы команды чтения, и не допустимы команды записи/модификации данных.

ВНИМАНИЕ!При использовании кассеты пользователя ОЗУ команда записи/модификации изменит значение константы в блоке данных, при этом нарушится контрольная сумма памяти пользователя, и при перезапуске контроллер перейдет в режим ДИАГНОСТИКА (Р4) со стиранием программы.

Блок переменных (без инициализации) создается в системе программирования “ИНТЕРВЬЮ” при разработке программы, но его содержимое не определяется. При пересылке в контроллер блок не занимает места в памяти программ. При старте программы в режиме Р2 под блок отводится заданный объем ОЗУ в памяти данных контроллера. Начальные значения слов такого блока равны нулю, кроме блоков DB250..DB255 (см. ниже). К словам такого блока применимы как команды чтения, так и команды записи/модификации данных.

Блок переменных с инициализацией создается в системе программирования “ИНТЕРВЬЮ” при разработке программы. При этом задается начальное содержимое слов всего блока или его части. При пересылке в контроллер содержимое заданной части размещается в памяти программ (как блок констант). Но при старте программы блок размещается в памяти данных (как блок переменных). Причем, инициализированной части блока присваиваются заданные значения, остальные слова данных обнуляются. При обращении к блоку команды работают с отображением блока в памяти данных контроллера, поэтому возможно использование как команд чтения, так и команд записи/модификации данных.

Общий объем блоков констант и блоков переменных с инициализацией ограничивается объемом используемой кассеты пользователя ОЗУ/ППЗУ.

Общий объем блоков переменных ограничивается объемом зоны в памяти данных контроллера, отведенной для блоков данных (30 Кб). Количество размещаемых в зоне блоков зависит от заданной длины каждого блока и может изменяться от 60 (при длине каждого блока 256 слов) до 256.

Во время работы программы в каждый момент времени возможен доступ к одному (активному) блоку данных. Активизация блока осуществляется командой A DBn. Действие этой команды распространяется до следующей команды активизации, расположенной в этом же командном блоке (OB, PB, FB) или до выхода из этого командного блока. При вызове вложенного командного блока в нем будет активным блок данных, являющийся активным в вызывающем блоке в момент вызова.

В начале скана программы в блоке OB1 активизирован блок данных DB0.

Некоторые блоки данных имеют особенности реализации, определяемые системной программой.

Блок данных DB0 всегда присутствует в контроллере, как блок переменных (без инициализации) размером 256 слов (512 байт). Пользователь не может запрограммировать DB0 как блок констант или изменить его размер. Можно запрограммировать DB0 как блок переменных с инициализацией, определив начальное содержимое всего блока или его части.

Блоки DB250...DB253 всегда присутствуют в контроллере как блоки переменных (без инициализации) размером 144 слова (288 байт) и содержат в себе буферы приема/передачи каналов связи (см. табл. 4.6). Начальное значение слов данных блоков DB250...DB253 не определено. Пользователь не может программировать, загружать в контроллер и стирать эти блоки.

Таблица 4.6: Буферы приема/передачи каналов связи.

Блок данных

Содержимое

DB250

Буфер приёма канала связи с программатором “УПК”

DB251

Буфер передачи канала связи с программатором “УПК”

DB252

Буфер приёма канала пользователя “ЭВМ”

DB253

Буфер передачи канала пользователя “ЭВМ”

DB254, DB255

Зарезервировано