Лекция 10. Программное обеспечение контроллеров фирмы Siemens. Регистры контроллера

Программисту СПЛК доступны два типа регистра. Это регистр аккумулятора и регистр состояния. Контролеры Simatic располагают двумя тридцатидвухразрядными аккумуляторами и регистром состояния. Каждый из аккумуляторов разделяются еще на два шестнадцатиразрядных аккумулятора. При записи и чтение аккумулятора информация перемещается по принципу стека: последний записанный считывается первой.

31 АккI 0 31 АккII 0

АккII 0

Рисунок 20 - Регистры аккумулятора

Примеры обработки информации аккумулятора.

Обработка 32 разрядов:

L MD 20 //загрузка в аккумулятор АккI первый раз

L MD 24 // загрузка в аккумулятор АккI второй раз

T MD 40 //выгрузить из аккумулятора АккI по адресу MD40

В этом примере данные из адреса MD 24 будут перемещены по адресу MD 40

Обработка 16 разрядов:

L MW 20 //загрузка в аккумулятор АКК1 первый раз

L MW 22 //загрузка в аккумулятор АКК1 второй раз

L MW 24 //загрузка в аккумулятор АКК1 третий раз

L MW 26 //загрузка в аккумулятор АКК1 четвертый раз

L MW 28 //загрузка в аккумулятор АКК1 пятый раз

T MW 40 //выгрузить из аккумулятора АКК1 по адресу MW40

T MW 42 //выгрузить из аккумулятора АКК1 по адресу MW42

В этом примере по адресу MW40 запишутся данные из МW28, по адресу MW42 запишутся данные из МW26. Данные, записанные из адресаMW 20 в аккумулятор в результате пятикратной записи в аккумулятор, просто исчезают, то есть остаются только в своем исходном месте.

Все арифметические операции и логические операции над словами осуществляются через аккумуляторы. Следующий пример это демонстрируют:

L MD 20 // Вычисление по следующей формуле:

SIN

T MD20 //

L MD 20

L MD 28

+R

T MD 40

L MD 40

L MD 24

*R

T MD 44

В этом примере используются алгебраические операции над числами с плавающей запятой, длиной 32 разряда.

Регистр состояния предназначен для хранения логических результатов операции и результатов операций в аккумуляторе.Регистр состояния тридцатидвухразрядный, однако, используется из них только 9 – рисунок 21.

  28 27 26 25 24 23 22 21 20
  BR CC1 CC0 OV OS OR STA RLO FC

Рисунок 21 - Регистр состояния

Здесь: FC - бит первичного опроса, имеет активное инверсное значение.

RLO - результат логической операции.

STA - сохранение значений бита, который обрабатывается командой. Этот бит не используется командой, а используется только для тестирования программы.

OR - бит сохранения результата логической операции И перед ИЛИ.

OV- бит переполнения, устанавливается в единицу командами с плавающей запятой.

OS - бит сохранения переполнения, сохраняет значения бита OV предыдущих арифметических действий. Остается установленным и после устранения ошибки. Сбрасывается, если исполняемая команда JOS или команда конца блока.

СС1,СС2- коды условия, которые принимают различные комбинации по результатам арифметической операции, по результатам сравнения, по результат цифровой операции. В эти биты перемещаются биты, выдвинутые операцией сдвига и циклического сдвига.

BR- бит двойного результата, образует связь между обработкой битов и слов. Эффективно используется как признак успешного завершения подпрограммы. В конце подпрограммы сохраняется результат логического этапа в бите. В основной программе проверяется этот бит для продолжения основной программы.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: