Конспект лекций




НазваниеКонспект лекций
страница6/16
Дата публикации30.01.2014
Размер1.98 Mb.
ТипКонспект
zadocs.ru > Информатика > Конспект
1   2   3   4   5   6   7   8   9   ...   16

^ 3 МЕТОДЫ ПРОГРАММНОГО УПРАВЛЕНИЯ АВТОМАТИКОЙ
При управлении простыми процессами, например, автоматическими циклами, а также при анализе состояний с небольшим количеством переменных (3...8) целесообразно применение асинхронных автоматов. При этом функции управления могут иметь разные способы представления: булевые выражения, таблицы истинности, переключательные или комбинационные логические схемы, карты Карно, диаграммы Вейча, графы и т.д. Исходные сигналы автомата могут быть однобитными или многобитными.

При небольшом числе переменных для программирования асинхронных автоматов применяются методы операторных программ, в которых используются логические операции процессоров, а также методы маскирования, адресных переходов и бинарных программ.

^ 3.1 Применение метода маскирования
Если решение функции должно быть одно из двух , то при ее задании в булевой форме или в виде переключательной схемы можно применить метод отображения входного набора или метод маскирования.

Пусть .

Представим функцию в виде: ,

где Y1(x)=(–000– 1-1); Y2(x)=(–––– 110).

В приведенных выражениях черточки указывают на отсутствие условий, а переменные размещены в байте следующим образом:

[x8 x7 x6 x5 x4 x3 x2 x1].

Поместим Y1(x) и Y2(x) в соседние ячейки памяти и подготовим маски для анализа вводимой информации.

Первая маска ^ G должна закрыть все переменные, которые не несут условий:

  • для Y1(x) G1=(01110101)=75Н;

  • для Y2(x) G2=(00001110)=0СН.

Вторая маска (гамма) должна выделить единичные значения в Y.

Маски размещаются в памяти попарно:G1, 1, G2, 2.

Программная реализация автомата заключается в том, что на входной набор накладывается маска ^ G1 с помощью операции ANI G1, а потом маска 1 операцией XRI 1. Если входной набор удовлетворяет условиям Y1(x), то в регистре флагов F микропроцессора устанавливается бит z=1 (нулевой результат) и осуществляется вывод значения функции F=1. Если условия не удовлетворены (z=0), то на входной набор накладывается другая пара масок Γ2 и G2 и проверяется условие z =1.

Функция может содержать несколько операций ИЛИ. Пусть, например, функция содержит две операции ИЛИ:

.

В этом случае потребуется представить ее в виде и получить три пары масок.

Для удобства выборки из памяти маски записываются попарно и последовательно: G1, Γ 1, G2 Γ 2,…Gn.... Γn.

Достоинство метода - программа универсальная, так как при изменении функции достаточно изменить маски.

Недостаток метода - при большом числе переменных и конъюнкций значительно увеличивается количество масок.

^ 3.2 Метод бинарных программ (разложение в ряд Шеннона)
Метод бинарных программ основан на поочередном анализе каждой переменной. Результатом анализа является бинарное дерево решений. Для проведения анализа используются команды условных переходов. Наиболее удобно применение команд, связанных с анализом переносов, например, RRC – сдвиг вправо через бит переноса. Переменная, которая поступает в бит переноса С, подвергается бинарному анализу - определению значения 0 или 1. В зависимости от результата алгоритм разветвляется в двух направлениях, образуя логику решения.

Рассмотрим пример построения блок-схемы алгоритма анализа булевой функции, которые зависит от четырех переменных – x, y, z, w:

Пусть .

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



Здесь сначала анализируется x, потом y, дальше w и z.

Построим блок-схему алгоритма анализа логической функции в виде дерева решений. Для построения блок-схемы используем операции сдвига, и операцию анализа состояния бита переноса , которую обозначим на схеме цифрой 1. Схема алгоритма приведена на рисунке 3.1.

Рисунок 3.1 - Блок-схема алгоритма программной реализации логической функции
Как видно со схемы алгоритма для программной реализации автомата потребуется ввести не больше пяти процедур анализа переменных, что отвечает хорошему варианту программы.

^ 3.3 Метод адресных переходов
Другим широко распространенным методом является метод адресных переходов (таблиц). Значение функций выхода для всех вариантов входного набора записываются в памяти. При этом код входного набора используется для получения адреса результата.

Пример. Пусть нужно превратить двоичный код в код семисегментного индикатора. Обозначение сегментов такого индикатора приведено на рисунке 3.2, а соответствие двоичного кода коду семисегментного индикатора приведено в таблице 3.1.

Рисунок 3.2 - Обозначение сегментов индикатора
Таблица 3.1 - Таблица истинности для входных наборов (00...04)

Символ на индикаторе

Двоичный код входа

h

q

f

e

d

c

b

a

Код индика-тора

0

0000

0

0

1

1

1

1

1

1

3FH

1

0001

0

0

0

0

0

1

1

0

06H

2

0010

0

1

0

1

1

0

1

1

5BH

3

0011

0

1

0

0

1

1

1

1

4FH

4

0100

0

1

1

0

0

1

1

0

66H


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

При поступлении входного набора автомат выполняет его суммирование с адресом BASE и по полученному адресу считывает значение выходного сигнала.

^ 3.4 Метод маскирования многоместных логических функций
В практике управления часто встречаются ситуации с трудностями задания условий и выбора решений. Поведение автомата описывается при этом матрицей многоместных логических функций, в которой условия перехода задаются матрицами условий Ui,j {1,0,–}, а результаты работы представляются матрицей решений Di,j {0,1,–}, где прочерки обозначают отсутствие условий или решений.

При представлении процесса графом переход с одного состояния (S1) в другое (S2) осуществляется по дуге xi (рис. 3.3).


Рисунок 3.3 - Обозначение перехода автомата в новое состояние
Для реализации процесса необходимо знать:

    • вектор условия перехода x;

    • вектор решения y - информацию о том, какие сигналы автомат должен установить, какие снять и какие оставить без перемен в новой вершине;

    • адрес памяти, где находятся данные по векторам условий и решений для новой вершины.

Таким образом, программная реализация автомата требует организации двух циклов. Поскольку из вершины может выходить несколько дуг, то в первом цикле осуществляется поиск дуги, которая удовлетворяет условиям, содержащимся во входном наборе. Если ни одно условие не подходит, автомат может выйти в непредвиденное состояние. Чтобы исключить этот вариант вводится фиктивная дуга с незначащими параметрами (- - - - - - - -), которая замыкает переход на эту вершину.

Во втором цикле осуществляется анализ вектора решений и формируется выходной сигнал автомата. После этого настраивается адрес новой области памяти, где сохраняются условия и информация для следующих циклов работы автомата.

Анализ условий и решений осуществляется с помощью маскирования. Для каждой дуги нужно создать четыре маски. Обозначим маски для вектора условий М1К(х) и М2К(х), а для вектора решений, соответственно, М1К(y) и М2К(у), где k=0, 1, 7 – номер разряда.

Первая маска выделяет значимые разряды байта вектора условий:



Вторая маска выделяет единичные значения:



Третья маска выделяет разряды, в которых выходные сигналы не должны изменяться:



Четвертая маска выделяет разряды, которые необходимо установить в единицу. Другие разряды сбрасываются:



Операции с масками аналогичны тем, которые были приведены выше.

Пусть дуга представлена вектором условий (0-1010-1), вектором решений (01--001-) и адресом 0926Н. При программировании автомата информация для этой дуги будет размещена в памяти в следующей последовательности:

^ ДУГА: 10111101  М1К(х)=BDH;

00101001  М2К(х)=29Н;

00110001  М1К(у)=31Н;

01000010  М2К(у)=42Н;

00100110 (младший байт адреса 26Н);

00001001 (старший байт адреса 09Н).

Таким образом, для описания одной дуги нужно шесть байт памяти.

^ 3.5 Формализм описания сложных автоматических циклов
Формализм иерархических графов.

Для описания электроавтоматики можно использовать формализм иерархических графов, который особенно удобен для графического описания автоматических циклов. Иерархический граф представляет собой «четверку» множеств:

  • ^ Простые вершины-состояния, изображаемые кружками, причем состояния могут быть статическими или динамическими. Выход со статического состояния инициируется извне, тогда как выход из динамического состояния происходит по завершению процесса.

  • ^ Сложные вершины-состояния, изображаемые двойными кружками (с двойным бордюром), причем такие состояния являются вложенными графами.

  • Дуги, которые отражают переходы между состояниями любого типа.

  • Узлы, которые разрезают дуги, изображаются темными кружками, причем узлы фиксируют условия изменения состояний любого типа. Если дуга выходит со статической вершины-состояния, то узел может одновременно принадлежать другому графу того же или другого уровня иерархии.

Вершинам-состояниям приписанные «этикетки» – имена в прямоугольных рамках.

Имя статического состояния имеет структуру СТАТУС_<имя>.

Имя динамического состояния (процесса или инициализации) имеет структуру ПРОЦ_<имя> или ИНИЦ_<имя>.

Имя узла служит признаком одного из следующих типов:

  • команды панели оператора;

  • флага завершения вычислительного процесса;

  • сигнала окончания управляемой операции.

Методика описания сложного цикла электроавтоматики включает в себе следующие этапы:

  • разработка первичного автомата, т.е. автомата верхнего уровня иерархии, который является, в сущности, диспетчером режимов;

  • разработка режима нерегулярных ситуаций (внутреннего режима), который сохраняет корректность состояния управляемого объекта при любых переключениях основных режимов, а также гарантирует неизменное состояние объекта, если цикл пассивный;

  • выделение параллельно работающих автоматов, которые действуют в рамках цикла;

  • разработка автоматов нижнего уровня иерархии.

Рассмотрим систему управления револьверной головкой токарного станка (рис. 3.4), которая поддерживает следующие режимы:

  • автоматический, в рамках которого обеспечивается вызов инструмента любой грани револьверной головки (переход на нужную грань происходит по кратчайшему пути);

  • ручного управления (например, поворот револьверной головки на очередную ее грань);

  • нерегулярных ситуаций.

Система управления револьверной головкой функционирует следующим образом.

^ Рисунок 3.4 - Схема управления револьверной головкой
Двухпозиционный гидрораспределитель с электромагнитом ЭМ управляет гидроцилиндром ГЦ зажима-разжима револьверной головки, нижнее и верхнее положения которого контролируются выключателями В1, В2. Поворот головки осуществляется гидромотором ГМ, управляемым гидрораспределителем с электромагнитами ЭМ2 и ЭМЗ. Прохождение любой грани через возможное (по углу поворота) положение идентифицируется кулачком К, соосным с валом гидромотора, и выключателем ВЗ. Код грани устанавливается многоразрядным датчиком позиции головки Д.

На рисунке 3.5 приведен граф первичного автомата со всеми сложными состояниями - СТАТУС_НЕРЕГ_РЕЖ (режим нерегулярных ситуаций), СТАТУС_АВТОМ_РЕЖ (автоматический режим), СТАТУС_РУЧН_РЕЖ (режим ручного управления).

Первичный автомат инициируется узлом-условием (клавишей) начального пуска НАЧ_ПУСК, а после этого управляет режимными переходами. Узлы-условия АВТОМАТ и РУЧН отвечают активизации соответствующих режимных управляющих элементов панели оператора.

Вход в сложную вершину-состояние СТАТУС_НЕРЕГ_РЕЖ первичного автомата осуществляется через один из узлов-условий: НАЧ_ПУСК, АВТОМАТ, РУЧН. В этой вершине идентифицируется текущее состояние револьверной головки и определяется готовность автомата работать в ручном или автоматическом режимах.

^ Рисунок 3.5 - Граф первичного автомата
В автоматическом режиме можно выделить два параллельных процесса – зажим-разжим головки и вращение-останов головки. Принципом выделения процесса является наличие исполнительного устройства.

Инициализация зажима-разжима осуществляется в состоянии ИНИЦ_1 графа (рис. 3.6).

Инициализация устанавливает условия:

  • корректный разжим (КОРР_РАЗЖ), что означает разжатое состояние головки в корректном положении ее граней по углу поворота (условие инициирует процесс зажима в состоянии ПРОЦ_ЗАЖ);

  • корректный зажим (КОРР_ЗАЖ), что означает зажатое состояние головки в корректном положении ее граней по углу поворота (условие инициирует переход в статическое состояние зажима СТАТУС_ЗАЖ);

  • некорректный зажим (НЕКОРР_ЗАЖ), что означает зажатое состояние головки в неправильном положении ее граней по углу поворота (инициирует переход в состоянии разжима головки ПРОЦ_РАЗЖ);

  • некорректный разжим (НЕКОРР_РАЗЖ), что означает разжатое состояние головки в неправильном положении ее граней по углу поворота (инициирует переход в статическое состояние разжима СТАТУС_РАЗЖ).


Рисунок 3.6 - Граф автомата зажима- разжима
Инициализация вращения-останова осуществляется в состоянии ИНИЦ_2 графа (рис. 3.7).


Рисунок 3.7 - Граф автомата вращения-останова

Инициализация устанавливает условия:

  • некорректное вращение (НЕКОРР_ВРАЩ), что означает включенное состояние вращения гидромотора ГМ поворота головки при ее зажатом состоянии через сбои (инициирует процесс торможения головки в состоянии ПРОЦ_ТОРМ);

  • корректный останов (КОРР_ОСТАН), что означает остановку головки в корректном положении ее граней по углу поворота (определяет переход в статическое состояние СТАТУС_ОСТАН);

  • некорректный останов (НЕКОРР_ОСТАН), что означает остановку головки в неправильном положении ее граней по углу поворота (инициирует процесс пуска вращения ПРОЦ_ПУСК);

  • корректное вращение (КОРР_ВРАЩ), что означает нормальное вращение головки в ее разжатом стане (определяет переход в статическое состояние СТАТУС_ВРАЩ).

Общее рассмотрение двух графов на рисунках 3.5 и 3.6 показывает, что система обеспечивает автоматический выход из любых некорректных ситуаций.

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

Для автоматических циклов целесообразно использовать технологии визуального проектирования, которые позволяют генерировать исполняемые файлы по их графическому представлению, например, в S7 HiGraph.

Функции визуального проектирования обеспечивают:

  • многоуровневое вложение графов с работой на каждом уровне в отдельном окне;

  • выполнение групповых операций (выделение фрагмента графа, удаление, копирование, перемещение фрагментов в разных позициях и на разных уровнях);

  • сохранение (загрузка) проекта или фрагмента;

  • импорт одного проекта в другой;

  • документирование проекта и генерацию отчетов;

  • генерацию исходного кода для следующей компиляции;

  • верификацию графа на уровне проектирования, моделирование и отладка циклов.

Применение инструментов визуального проектирования многократно повышает производительность разработчика, позволяет создавать сложные циклы электроавтоматики, реализация которых без инструментальной поддержки проблематична.
1   2   3   4   5   6   7   8   9   ...   16

Похожие:

Конспект лекций iconЭтика курс лекций (на основе книги: Этика (конспект лекций)
Этика (конспект лекций). – М.: «Приор-издат», 2002. Автор-составитель Аристотель. Никомахова этика. Сочинения: в 4-х т. Т. М.: Мысль,...

Конспект лекций iconКонспект лекций для студентов направления 070104 «Морской и речной транспорт»
Конспект лекций рассмотрены и одобрены на заседании кафедры «Судовождение» кгмту

Конспект лекций iconКонспект лекций Утверждено Редакционно-издательским советом в качестве...
Чижов М. И., Юров А. Н. Информатика и информационные системы: Конспект лекций. Воронеж: Воронеж гос техн ун-т, 2003. 148 с

Конспект лекций iconКонспект лекций по дисциплине «Безопасность жизнедеятельности»
Безопасность в чрезвычайных ситуациях и гражданская оборона. Конспект лекций. Рубцов Б. Н. М. Миит, 2001

Конспект лекций iconКонспект лекций для студентов сектора второго высшего образования...
Конспект лекций разработан кандидатом экономических наук, доцентом кафедры «Экономическая теория и кибернетика» Одесского государственного...

Конспект лекций iconКонспект лекций по дисциплине "инвестирование"
Конспект лекций по дисциплине «Инвестирование» для студентов экономических специальностей всех форм обучения Сост.: В. М. Гридасов...

Конспект лекций iconКонспект лекций Киров 2010 удк 681. 332
Теория автоматов (часть I). Конспект лекций /Киров, Вятский государственный университет, 2010, 56с

Конспект лекций iconКонспект лекций по дисциплине «Делопроизводство»
Опорный конспект лекций по дисциплине «Делопроизводство» для студентов 2 курса (3 семестр) сгф для направления 101100. 62 «Гостиничное...

Конспект лекций iconКонспект лекций Содержание Введение 4 Тема Экономическая теория:...
Предлагаемый читателям конспект лекций разработан в соответствии с типовой программой дисциплины «Основы экономических теорий» для...

Конспект лекций iconКонспект лекций по философии подготовлен в соответствии с типовой...
Философия : конспект лекций для студентов всех специальностей дневной и заочной форм обучения / сост. А. П. Мядель : Учреждение образования...

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
zadocs.ru
Главная страница

Разработка сайта — Веб студия Адаманов