Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
33
Добавлен:
30.03.2015
Размер:
573.44 Кб
Скачать

Федеральное агентство по образованию

Государственное образовательное учреждение

высшего профессионального образования

«Омский государственный технический университет»

В.В. Аристов

Синтез дискретных автоматов

Методические указания для лабораторных работ по дисциплине

«Основы теории конечных автоматов»

Омск 2006

Составитель: В.В. Аристов

В методических указаниях представлен пример синтеза дискретного автомата блочным методом с использованием графа функционирования и матриц Карно. Представлено руководство пользователя анимационной программой «Синтез ДСУ» для проверки результатов синтеза. Приведены варианты заданий и порядок выполнения лабораторных работ.

Методические указания предназначены для выполнения лабораторных работ по дисциплине «Основы теории конечных автоматов» для студентов дневного, вечернего и заочного обучения по специальностям: 220301 – «Автоматизация технологических процессов и производств» и 220401 – «Мехатроника»

Печатается по решению редакционно-издательского совета

Омского государственного технического университета

Цель и назначение лабораторных работ

Лабораторные работы предназначены для освоения студентами методики синтеза дискретных автоматов блочным методом с использованием матриц Карно. Для контроля результатов синтеза при выполнении лабораторных работ используется программа «Синтез ДСУ», которая позволяет в анимационном режиме осуществлять наблюдение за рабочим циклом, обеспечиваемым проектируемой системой управления, производить диагностику СУ и корректировать результаты синтеза. Перед началом работы с программой студент должен осуществить синтез системы управления вручную, определив логические уравнения для каждой выходной функции дискретного автомата и, при необходимости, количество требуемых элементов памяти и моделирующие их логические функции.

Пример синтеза комбинационного дискретного автомата

При блочном методе автомат разбивается на блоки, соответствующие каждой выходной функции. Для каждого блока (функции) выбираются существенные переменные, т.е. те переменные, которые непосредственно изменяют состояние выходных функций. Для выбранных существенных переменных строится матрица Карно, в которой по графу функционирования прослеживаются все изменения состояний выходной функции в зависимости от состояния входов.

Если при очередном переходе по матрице Карно возникает противоречие, т.е. одному и тому же значению входных переменных соответствуют разные значения выходной функции, то тогда на данном участке выбирается дополнительная квазисущественная переменная, которая меняет своё состояние на этом участке нечетное число раз ( 1, 3 и т.д.). При этом функция доопределяется, матрица расширяется и процесс синтеза начинается сначала. Когда переходы по матрице Карно по всему циклу осуществились без противоречий, то осуществляется минимизация функции1, 2.

П

___ ___ ___

А – В – А – С – В – С

усть задана формула алгоритма включения трёх одинаковых рабочих механизмов (см. табл. 2, механизм № 1), представляющих собой силовые пневмоцилиндры с путевым контролем с помощью двух концевых датчиков положения.

Управление силовыми пневмоцилиндрами осуществляется двухпозиционными четырехходовыми пневмораспределителями с односторонним электромагнитным управлением:

Производим кодирование и сквозную нумерацию исполнительных механизмов (электромагнитов распределителей, которые являются выходными функциями) и датчиков (входных переменных), контролирующих положение штоков цилиндров. Для рабочего органа А будут соответственно Y1 и S1, S2, для ВY2 и S3, S4, для С – Y3 и S5, S6.

По формуле алгоритма включения механизмов строим граф функционирования.

Начнем с определения функции Y1. Для неё существенными переменными являются S5 (включающая) и S4 (выключающая), т.е. Y1= { S5, S4}.

Строим матрицу Карно для этих переменных и производим обход по клеткам матрицы в соответствии с графом функционирования от начала цикла. Получаем

Y1 = S5 · S4.

Для Y2 существенными переменными будут S2 и S6. Строим матрицу Карно.

Однако на участке графа S2 – возникает противоречие. Выбираем квазисущественную переменную S4, которая на этом участке один раз меняет свое состояние и переопределяем функцию Y2.

Y2 ={ S2, S6}, S4

Строим новую матрицу уже для трёх переменных. По выделенным подкубам получаем функцию

Y2 = S2 + SS6.

Для Y3 существенными переменными будут S1 и S3, Y3= { S1, S3} Строим матрицу Карно и получаем

Y3 = S1 · S3

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

Работа с программой «Синтез ДСУ»

Ввод исходных данных. При запуске программы открывается главное окно, которое содержит файловое меню, панель управления и всю основную информацию (рис. 1). Его основной частью являются четыре окна отображения механизмов 1. Таким образом, программа предусматривает синтез СУ технологической установки, имеющей не более четырех рабочих органов, наименование которых определено прописными буквами латинского алфавита А, В, С и D. Выбор типа механизма можно произвести с помощью выпадающего меню 2, которое находится под каждым окном отображения механизма. Всего запрограммировано 12 типов механизмов. Соответственно в варианте задания и алгоритме работы должны быть использованы только запрограммированные наименования и типы механизмов. При выборе механизмов автоматически производится сквозная нумерация всех входных и выходных элементов системы управления. После выбора механизмов клавишами , , и устанавливается их исходное положение.

Следующим шагом является установка количества элементов памяти с помощью окна 4, при этом над окном ввода уравнений появляются ячейки, соответствующие каждому элементу памяти (см. рис. 4). В процессе анимации цикла работы активные элементы памяти высвечиваются красным цветом, что необходимо для контроля и диагностики изменений внутренних состояний автомата.

5 6 3 4 1 2

Рис 1. Главное окно: 1 – окна отображения механизмов, 2 – меню выбора механизмов, 3 – окно ввода логических функций, 4 – окно ввода количества элементов памяти, 5 – строка задания алгоритма работы механизмов, 6 – строка вывода реализованного алгоритма.

После того, как произведен выбор механизмов и установлено количество элементов памяти следует произвести ввод алгоритма работы всех механизмов и уравнений булевой алгебры, описывающих выходные функции и элементы памяти. Окно ввода алгоритма (рис. 2) появляется вследствие нажатия кнопки , и содержит строку ввода алгоритма 1, кнопки задания прямого и инверсного операнда наименований каждого механизма 2, кнопки «тире» 3 – необходимого разделителя и функциональных кнопок. В случае ошибки ввода следует использовать кнопку возврата 4, после окончания набора нажать кнопку «ОК».

Рис. 2. Окно ввода алгоритма

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

Рис. 3. Окно ввода логических уравнений

Операция ввода уравнений значительно упрощена тем, что в таблице 1 окна ввода высвечиваются только доступные переменные, путем выбора которых и задается функция. Для задания логических операций конъюнкции или дизъюнкции между выбираемыми переменными используются операционные кнопки 2, а для редактирования неправильного ввода – кнопка «». Кроме того, предусмотрен ввод констант (0 и 1), а также возможность использования скобок для введения сложных функций. Вводимое уравнение отображается в строке 5 «Вводимая функция». После ввода уравнения следует нажать клавишу «Enter». Если функция введена без синтаксических ошибок и количество открытых скобок соответствует количеству закрытых, то появляется информационное окно (рис. 4). В противном случае функцию необходимо ввести заново. Для продолжения следует нажать кнопку «ОК»

Рис. 4

Соседние файлы в папке Практикум