Расчет устройства логического управления систем автоматики, страница 5

Первая проверка. Функция   изменяет свое состояние во включающем периоде Z2 поэтому вводим самоблокировку.

Вторая проверка. Функция  изменяет свое состояние во включающем периоде Z2, следовательно:

,

где .

Третья проверка  не проходит.

Исключим влияние сигналов друг на друга, для этого введем дополнительный параметр М=Р11.

Окончательно:

3.  Построение функциональной схемы УЛУ

На основе полученных функциональных выражений выходных параметров разрабатываем функциональную схему УЛУ и проверяем ее работоспособность с помощью системы компьютерного моделирования электронных устройств. Разработанная и отлаженная функциональная схема представлена на рис.2.

Блок-схема алгоритма представлена на рисунке 3.

4.  Программная реализация УЛУ

program Rabota;

uses crt;

type mass=array [1..16] of byte;

const a:mass = (1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0);

                        b:mass = (1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0);

                        c:mass = (1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0);

                        d:mass = (1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0);

                        e:mass = (1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0);

                        f:mass = (1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0);

             P11:mass = (0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0);

             P22:mass = (1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0);

                        var i: integer;

                        X,Y,Z:mass;

                        ch:char;

                        begin

                        clrscr;

                        x[1]:=0;

                        y[1]:=0;

Рис. 2 Функциональная схема управляемого логического устройства.


           

Рис.3 Блок-схема алгоритма.

z[1]:=0;

                        for i:=2 to 16 do begin

                        X[i]:=(P22[i-1] AND (A[i-1] AND B[i-1] AND C[i-1] AND D[i-1]

                        AND E[i-1] AND F[i-1] OR X[i-1] AND NOT P11[i-1] OR X[i-1] AND NOT A[i-1] AND C[i-1]) OR NOT P22[i-1] AND A[i-1]

                        AND F[i-1] AND E[i-1]);

                        Y[i]:=(A[i-1] AND B[i-1] AND C[i-1] AND D[i-1] AND E[i-1] AND F[i-1] OR Y[i-1] AND NOT P11[i-1] OR Y[i-1] AND NOT B[i-1] AND

                        D[i-1] OR NOT A[i-1] AND NOT F[i-1] AND (D[i-1] OR Y[i-1]));

                        Z[i]:=(NOT P11[i-1] AND (A[i-1] AND B[i-1] AND C[i-1] AND D[i-1] AND E[i-1] AND F[i-1] OR Z[i-1] AND B[i-1]) OR P11[i-1] AND

                        (C[i-1] AND NOT E[i-1] OR Z[i-1] AND P11[i-1] OR Z[i-1] AND NOT B[i-1] AND C[i-1] AND NOT D[i-1]));

                        end;

                        writeln;

                        writeln ('program results:');

                        writeln;

                        writeln ('takts    1  2  3  4  5  6  7  8  9  10 11 12 13 14 15');

                        writeln ('signals');

                        write ('    a    '); for i:=1 to 15 do write(a[i],'  '); writeln;

                        write ('    b    '); for i:=1 to 15 do write(b[i],'  '); writeln;

                        write ('    c    '); for i:=1 to 15 do write(c[i],'  '); writeln;

                        write ('    d    '); for i:=1 to 15 do write(d[i],'  '); writeln;

                        write ('    e    '); for i:=1 to 15 do write(e[i],'  '); writeln;

                        write ('    f    '); for i:=1 to 15 do write(f[i],'  '); writeln; writeln;

                        write ('    X    '); for i:=1 to 15 do write(X[i],'  '); writeln;

                        write ('    Y    '); for i:=1 to 15 do write(Y[i],'  '); writeln;

                        write ('    Z    '); for i:=1 to 15 do write(Z[i],'  '); writeln;

                        write ('    P11  '); for i:=1 to 15 do write(P11[i],'  '); writeln;

                        write ('    P22  '); for i:=1 to 15 do write(P22[i],'  '); writeln;

                        repeat until keypressed;

                        end.

Результаты работы программы:  вывод на экран таблицы включений.

Такты                1  2  3  4  5  6  7  8  9 10 11 12 13 14 15

Сигналы:

a    1  1  0  0  1  1  1  0  0  0  1  1  1  1  1

b    1  1  1  0  0  1  1  1  1  1  1  0  1  1  1

c    1  1  1  1  0  0  1  1  1  1  1  1  0  0  0

d    1  1  1  1  1  0  0  1  1  0  0  0  1  1  1

e    1  1  1  1  1  1  0  0  1  1  1  1  1  0  0

f    1  1  1  1  1  1  1  0  0  0  1  1  1  0  0

X    0  1  1  1  1  0  0  0  0  0  0  1  1  1  0

Y    0  1  1  1  1  1  0  0  1  1  1  0  0  0  0

Z    0  1  1  1  0  0  0  1  1  1  1  1  1  0  0

P11  0  0  0  0  1  1  1  1  1  1  1  1  0  0  0

P22  1  1  1  1  1  1  1  1  1  1  0  0  0  0  0

Заключение

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

Литература

1.  Стальский В.В. Проектирование, монтаж и наладка систем автоматики. - Л.: Изд. ЛГИ, 1987. - 100 c.

2.  Михайлов А.М. Проектирование, монтаж и эксплуатация систем автоматизации. - М.: Изд. ЛГУ, 1987. - 248 с.

3.  Проектирование бесконтактных управляющих логических устройств промышленной автоматики / Г.Р.Грейнер и др. - М.: Энергия.1977. - 384 с.

4.  Автоматизированное проектирование систем управления / под ред. К.Острем. - М.: Машиностроение. 1989. - 342 с.