Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СВА ч2 лекция4и5.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
479.74 Кб
Скачать

Часть 2.

Раздел 2. Синтез микропрограммных автоматов

ЛЕКЦИЯ 4. Алгоритмизация процессов контроля и управления

4.1. Формы представления алгоритмов

При проектировании различных автоматизированных или автоматических систем необходимо четко представлять, как они будут работать. Функционирование системы описывается математически, словесно или какими-нибудь иными методами. Конечной целью описания работы системы является построение ее структурной или функциональной схемы.

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

Алгоритм функционирования технической системы - это точное предписание, устанавливающее порядок выполнения системой операций по контролю и управлению объектом.

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

В настоящее время для символического описания алгоритмов применяются:

логические схемы алгоритмов (ЛСА);

матричные схемы алгоритмов (МCA);

граф-схемы алгоритмов (ГСА).

При проектировании технической системы обычно используются все три формы алгоритмического описания.

Сам процесс составления алгоритма на одном из формализованных языков называют алгоритмизацией.

Основным требованием к алгоритмам СКУ является их детерминированность, т.е. отсутствие неоднозначности и неопределенности.

В символической операторной форме алгоритм записывается в виде последовательности операторов.

Элементарная операция – это любое действие, которое нецелесообразно расчленять на поддействия.

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

Символы элементарных операций обозначается заглавными латинскими буквами с индексами (А1, В5, Сi) и называются функциональными операторами или просто операторами. Для определенности начальную и конечную операции обозначают символами А0 и Ак , соответственно.

Часто последовательность выполнения операций зависит от некоторых условий (например, от результатов предшествующей операции контроля). Символы таких условий принято обозначать малыми буквами p, q, r с индексами и называть логическими условиями (ЛУ) или логическими операторами.

При этом логические условия могут принимать только два значения;

(4.1)

Признаком появления или необходимости введения ЛУ является наличие слов «если …, то …» в словесном описании алгоритма.

Граф-схемы алгоритмов (ГСА). ГСА является наиболее наглядной, хотя и громоздкой формой представления алгоритма. Основные условные обозначения операторов приведены в табл.4.1.

Таблица.4.1 - Условные обозначения операторов

Условное

обозначения

Название

Примечания

Начальный оператор

Имеет только один выход и ни одного входа

Конечный оператор

Может иметь множество входов, но не имеет ни одного выхода

Функциональный оператор

Может иметь множество входов и только один выход.

Логический оператор

Может иметь множество входов и только два выхода.

Знак переноса на одном листе

Внутри знака ставится номер оператора которому передается управление или номер оператора от которого передается управление

Знак переноса на другой лист

Внутри знака ставится номер оператора которому передается управление или номер оператора от которого передается управление

Для составления алгоритма необходимо:

1) провести детальный анализ алгоритмизируемого процесса и разбить его на элементарные операции;

2) составить перечень операций и присвоить им соответствую­щие символы операторов;

3) выделить ЛУ, от которых зависит последовательность опе­раций, и присвоить им соответствующие символы логических операторов;

4) изобразить процесс в виде ГСА, соблюдая необходимую последовательность выполнения операторов;

5) выполнить проверку алгоритма на детерминированность.

Пример 4.1. Составить ГСА работы устройства автоматического наведения пакета направляющих по углу возвышения.

Решение.

Для начала составляется словесное описание процесса горизонтирования по одной оси:

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

проконтролировать положение пузырька уровня;

если пузырек отклонился «назад», то угол возвышения необходимо увеличить;

если пузырек отклонился «вперед», то угол возвышения необходимо уменьшить;

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

По словесному описанию можно выделить следующие функциональные операторы:

А0 – включение устройства;

А1 - установка заданного угла возвышения;

А2 - контроль положения пузырька уровня;

А3 – формирование команды в электропривод наведения для движения на опускание;

А4 - формирование команды в электропривод наведения для движения на подъем;

А5 – формирование донесения об окончании наведения;

Ак – конец наведения.

Кроме этих операторов необходимо ввести два логических условия:

В соответствии с принятыми обозначениями и словесным описание строится ГСА (рис.4.1.). Следует обратить внимание на то, что при передаче сигналов управления в прямом направлении, то есть сверху вниз и слева направо, стрелки на линиях связи можно не ставить, а влево и вверх стрелки ставятся всегда.

После получения ГСА необходимо выполнить проверку алгоритма на детерминированность.

ГСА будет детерминирована, если выполняются следующие условия:

1) каждый функциональный оператор должен встречаться только один раз;

2) к каждому оператору, кроме начального, должен быть хотя бы один переход;

3) от каждого функционального оператора, кроме конечного, должен быть только один переход;

4) от каждого логического оператора, должно быть только два перехода.

Рис.4.1. Граф-схема алгоритма горизонтированияния.

Логические схемы алгоритмов (ЛСА). ЛСА являются наиболее компактной формой записи алгоритмов. Кроме того, они позволяют выполнить формализованное объединение нескольких алгоритмов в один.

Порядок составления ЛСА такой же как и при составлении ГСА. ЛСА используют те же операторы, что и ГСА, однако имеют иные правила записи:

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

если после оператора Ai следует выполнить оператор Aj , то он записывается справа от него (… Ai Aj …);

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

после ЛУ также всегда ставится верхняя нумерованная стрелка с индексом ( ). Если ЛУ выполняется, то следует выполнить оператор, записанный справа от ЛУ. При не выполнении ЛУ осуществляется переход к оператору, на который указывает стрелка;

после выполнения оператора Ак действие алгоритма заканчивается.

Алгоритм наведения качающейся части изображенный на рис.4.1. в форме ЛСА может быть записан в следующих видах:

(4.2)

или

. (4.3)

Символические записи вида (4.2) или (4.3) и называются ЛСА.

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

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

После получения ЛСА необходимо выполнить проверку алгоритма на детерминированность.

ЛСА будет детерминирована, если выполняются следующие условия:

1) каждый функциональный оператор должен встречаться только один раз;

2) перед оператором А0 и после оператора Ак стрелок быть не должно;

3) после каждого логического оператора, всегда должна быть верхняя стрелка;

4) каждой верхней стрелке соответствует только одна нижняя (с тем же номером);

5) не должно быть двух одинаковых (с одинаковыми номерами) нижних стрелок

6) каждой нижней стрелке соответствует хотя бы одна верхняя (с тем же номером).

Матричные схемы алгоритмов (МСА). Рассмотренные ЛСА удобны и компактны в записи, но по ним не удоб­но проверять алгоритм на детерминированность. Поэтому в некото­рых случаях более удобной является запись алгоритма в виде мат­ричной схемы. Кроме того, МСА используются в некоторых методах получения объединенных алгоритмов.

МСА представляет собой квадратную матрицу, имеющую к-1 строку и к-1 столбец. Строкам сопоставлены операторы от которых возможен переход (т.е. от А0 до Ак-1 ), а столбцам операторы к которым возможен переход (т.е. от А1 до Ак )

(4.4)

Логические функции перехода ij = ij(p1, p2,, pm) должны удовлетворять условиям:

если при фиксированных значениях ЛУ p1*, p2*,, pm*, после оператора Ai должен выполняться оператор Aj , то ij(p1*, p2*,, pm*) = 1;

если не должен выполняться, то то ij(p1*,p2*,…,pm*) = 0.

Таким образом, элементы матрицы (9.4) задают логические условия перехода от оператора Ai к Aj.

В частном случае может быть ij = 0, т.е. переход от Ai к Aj невозможен или ij = 1, т.е. после Ai всегда выполняется Aj. В этих случаях вместо логической функции ij пишут 0 или 1 (для наглядности 0 обычно не записывают).

По MСA очень удобно прове­рять составленный алгоритм на детерминированность. Для того чтобы алгоритм был детерминирован, для каждой строки МСА должны выполняться условия:

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

(4.5)

2) логическая сумма (дизъюнкция) всех элементов строки должна быть равна единице

(4.6)

Условия (4.5) и (4.6) должны выполняться для всех строк МСА (9.4). Эти условия детерминированности имеют следующий смысл.

Первое условие (4.5) требует, чтобы после выполнения опе­ратора Ai был переход не более, чем к одному оператору. Так как нет перехода к оператору A0 , то нет и столбца A0.

Второе условие (4.6) требует, чтобы после выполнения опе­ратора Ai обязательно обеспечивался переход к какому-либо оператору. Строки Aк нет, т.к. после Aк никаких опера­ций не выполняется.

Таким образом, в детерминированном алгоритме при любом наборе значений ЛУ {p1*, p2*,…, pm*} переход может осуществляться к одному и только к одному оператору.

Исключением являются операторы A0 и Aк.

Алгоритм наведения качающейся части, изображенный на рис.9.1., или описываемый выражением (4.2) в форме МСА будет иметь вид:

(4.7)

Для всех строк кроме строки А2 выполнение условий (9.5) и (9.6) очевидно. Для строки А2 необходимо выполнить проверку:

т.е. условие (4.5) выполняется;

условие (4.6) так же выполняется.

Следовательно, алгоритм (4.7) детерминирован.