Типовая архитектура процессора S7
1. ТИПОВАЯ АРХИТЕКТУРА ПРОЦЕССОРА S7
1.1. Регистры CPU
Регистры CPU используются для адресации или обработки данных. Данные могут быть с помощью соответствующих команд обменены между областями памяти и регистрами. CPU содержит следующие программно доступные регистры:
• Аккумуляторы: Два (в S7-300) или четыре (в S7-400) аккумулятора используются для арифметики, операций сравнения.
• Адресные регистры: Два адресных регистра используются как указатели для косвенной адресации памяти.
• Регистры блоков данных: Регистры блоков данных содержат номера открытых блоков данных. Когда DB открыт, его длина (в байтах) автоматически загружается в связанный c ним регистр DI.
• Слово статуса: Содержит различные биты, которые отражают результат или статус отдельных инструкций во время выполнения программы.
1.2. Области памяти
Память S7-CPU может быть разделены на четыре области:
Рекомендуемые материалы
• Загрузочная память используется, чтобы хранить программу пользователя без символов и комментариев. Загрузочная память может быть выполнена в виде RAM или FLASH EPROM.
• Рабочая память (встроенная RAM) используется для выполнения программы.
• Область ввода - вывода разрешает прямой доступ к входам и выходам, связанных c ней модулей ввода/вывода сигналов (сигнальных модулей).
• Системная память (RAM) содержит области отображения входного и выходного процессов, меркеры (специальные биты памяти), таймеры и счетчики. Кроме того, она содержит локальный стек, стек блоков и стек прерываний.
Рисунок 2 - Регистры и области памяти S7-CPU
Для создания программ управления необходимо знать назначение отдельных бит некоторых регистров (рисунок 3).
Рисунок 3 - Схематичное представление некоторых регистров процессора
Назначение отдельных элементов:
MCR (Master Control Rela). - Блокировка выходных сигналов
Master Control Relay - это "самый главный" выключатель, управляющий подачей энергии на элементы технологического процесса и, в случае аварии, позволяющий их обесточить. В STEP7 есть возможность в зависимости от состояния MCR-бита просто запретить прохождение ненулевых сигналов на выходы контроллера, т.е. заблокировать выходы.
СЛОВО СОСТОЯНИЯ (РЕГИСТР ФЛАГОВ)
Выполнение команды может изменить соответствующие биты слова состояния CPU. Эти биты могут использоваться как результат операции, а также как информация о
результате выполнения той или иной команды.
/FC - First Check Bit - Флаг первичного опроса
Состояние флага первичного опроса управляет цепочкой битовых логических команд. Если опрос первичный, то /FC = "О ". Цепочка битовых логических команд заканчивается и /FC сбрасывается в "О" после команд присваивания (=, R, S), а также после команд переходов, анализирующих флаги RLO или BR. Любая другая битовая логическая команда устанавливает флаг первичного оп роса. Каждая битовая логическая команда может анализировать состояние флага /FC:
· Если /FC = "1", команда логически объединяет результат текущего опроса бита с результатом логической операции, сформированным со времени первичного опроса и запомненным в бите RLO.
· Если /FC = "О", строка логических команд начинается с первичного опроса, т.е. результаты предыдущих опросов не учитываются в текущей команде.
RLO - Result of Logic Operation - Флаг логического результата
Во время выполнения программы процессор при обработке отдельных опросов
образует сначала результат опроса. Если выполнено условие опроса, то результат опроса равен 1, если условие опроса не выполнено, результат опроса равен 0. Результат опроса накапливается процессором как результат логической операции (RLO) следующим образом:
· Результат опроса бита логически объединяется с предыдущим результатом логической операции, сохраненным в бите RLO, если опрос не первичный,
т.е. /FС="1".
· Если опрос первичный, т.е. /FC= "О", то результат опроса бита и будет являться результатом логической операции RLO, т.е. все предыдущие опросы битов не
учитываются в текущей команде.
Помимо битовых логических команд на состояние флага RLO влияют также команды сравнения. Если условие сравнения выполнено. RLO="1", если условие не выполнено R LO = "0 ".
Флаг результата логической операции можно использовать для анализа результата команд переходов, вызовов блоков, присваивания результата какому-либо биту и т.д.
STA - Status Bit - Флаг статуса
При выполнении команд чтения бита памяти U, UN, О, ON, X. XN флаг статуса
всегда равен значению опрашиваемого бита.
При выполнении команд, которые могут изменить состояние бита памяти (=. R, S), флаг STA равен записываемому биту или, если запись в память не выполняется, равен значению адресуемого бита, т.е. того бита, состояние которого хотели изменить. Команды битовой логики, не выполняющие доступа к памяти, устанавливают флаг статуса в "1". Флаг статуса не анализируется командами, он отображается только для пользователя, при просмотре в отладчике состояние программных переменных.
OR - Флаг операции ИЛИ
Флаг OR используется для объединения команд "И" перед командами "ИЛИ". Устанавливается в "1", если RLO команды "И " =1. Эт о бл окирует рез ультат логической операции "ИЛИ". Любая другая команда работы с битами сбрасывает флаг OR.
OV - Overflow - Флаг переполнения
Ф л аг п ереп ол н ен ия от ображает ош и бки , в озн и каю щи е п ри в ып ол н ени и математических команд или команд сравнения для чисел с плавающей точкой. Флаг OV устанавливается этими командами после того, как имела место ошибка (переполнение, недопустимая операция, сравнение невыполнимо). Флаг OV сбрасывается после исчезновения ошибки.
OS - Overflow Stored - Флаг переполнения
Флаг OS запоминает флаг OV, если имела место ошибка во время выполнения
математических команд и команд сравнения для чисел с плавающей точкой. Флаг OS
устанавливается вместе с флагом OV при возникновении ошибки, но, в отличие от флага OV не сбрасывается при исчезновении ошибки. Сбрасывается в "О" только командами вызова блоков, окончания блоков, а также командами перехода.
BR - Binary Result Bit - Флаг двоичного результата
Флаг BR организует связь между обработкой бит и слов. Этот флаг позволяет Вашей программе интерпретировать результат логических операций над словами как битовый результат и использовать его в потоке битовой логики.
Н апри мер, фл аг BR дает Вам в оз можн ост ь н апи сать фун кци ю ( F C) и ли функциональный блок (FB) в STL, затем вызывать их в LAD. Во время написания FB или FC в STL, если Вы хотите потом вызывать их в LAD, Вы должны запомнить RLO в бите BR так, чтобы должным образом обеспечить сигнал разрешения выхода (ENO) для блока LAD. Этот сигнал ENO будет затем использоваться для разрешения или запрета вызова других блоков, следующих за этим.
Когда Вы вызываете системные функции (SFC) или функционально назначенные
блоки (SFB) из Вашей программы, бит BR отображает, были ли ошибки при выполнении
Обратите внимание на лекцию "17. Развивающая журналистика".
SFC или SFB:
· Если при выполнении блока имели место ошибки. BR = "О".
· Если ошибок при выполнении блока не было. BR = " 1".
ССО, СС1 - Condition Codes - Флаги условия
Биты ССО и СС1 могут использоваться для определения результата выполнения достаточно большого числа команд.