Проектирование и расчет систем автоматики

Основы алгебры логики. Синтез управляющих логических устройств на основе циклограмм. Определение функциональных выражений для выходных параметров управляющего логического устройства (УЛУ). Функциональная схема, алгоритм и программная реализация УЛУ.

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид курсовая работа
Язык русский
Дата добавления 07.10.2013
Размер файла 277,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

10

Министерство общего и профессионального образования

Российской Федерации

Санкт-Петербургский государственный горный институт им. Г. В. Плеханова (технический университет)

КУРСОВОЙ ПРОЕКТ

По дисциплине Проектирование и расчет систем технологической автоматики

Тема: Проектирование и расчет систем автоматики

Автор: студент гр. ЭР-97 з.о. Фишова М.А.

Руководитель проекта доцент Маларев В.И.

Санкт-Петербург

2002

Аннотация

Курсовой проект выполнен в процессе изучения дисциплины ”Проектирование и расчёт систем автоматики” и включает в себя 29 страниц, 11 рисунков и 2 графических листа.

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

В конце работы представлена реализация проектируемого управляющего логического устройства программным способом. Разработан алгоритм работы управляющего логического устройства, составлена блок-схема. Приведена отлаженная программа реализации управляющего логического устройства, написанная на языке программирования высокого уровня Borland Pascal.

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

Содержание

Введение

1. Основы алгебры логики

2. Синтез управляющих логических устройств на основе циклограмм

3. Определение функциональных выражений для выходных параметров УЛУ

4. Функциональная схема УЛУ

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

Заключение

Список программного обеспечения

Библиографический список

Введение

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

Существенное повышение эффективности производства достигается путём создания автоматизированных систем управления технологическими процессами (АСУ ТП) с использованием вычислительных машин (ЭВМ).

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

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

Представленный курсовой проект посвящён разработке УЛУ с использованием программного обеспечения.

Основы алгебры логики.

Основы алгебры логики были заложены в середине XIX века трудами английского математика Дж. Буля, по имени которого она называется также булевой алгеброй [1]. Ясное понимание принципов, лежащих в её основе, исключительно важно для овладения формальными методами проектирования цифровых систем. Начало использованию алгебры логики для синтеза переключательных (релейных) схем было положено в 1938 г. работами американского учёного К. Шеннона.

В алгебре логики рассматриваются переменные, которые могут принимать только два значения - 0 и 1. Переменные обозначаются латинскими буквами x, y, z ... в алгебре логики определены отношение эквивалентностей (=) и три операции: дизъюнкция (операция ИЛИ), обозначаемая +, конъюнкция (операция И), обозначаемая знаком & или точкой (), и отрицание (инверсия, операция НЕ), обозначаемое чертой над переменными или над элементами 0 и 1.

Теоремы алгебры логики:

идемпотентные законы

x+x=x,

xx=x;

коммутативные законы

x+y=y+x,

xy=yx;

ассоциативные законы

(x+y)+z=x+(y+z),

(xy)z=x(yz);

дистрибутивные законы

x(y+z)=xy+xz,

x+yz=(x+y)(x+z);

законы отрицания

,

,

,

,

,

;

законы двойственности (теоремы де Моргана)

,

;

закон двойного отрицания

;

законы поглощения (абсорбция)

,

;

операции склеивания

,

;

операции обобщённого склеивания

,

,

,

.

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

2. Синтез управляющих логических устройств на основе циклограмм

Метод структурного синтеза на основе циклограмм является развитием известного в инженерной практике метода синтеза на основе таблиц включения [2]. При проектировании устройств управления механизмами, работающими циклически, метод записи условий их работы посредством циклограмм имеет преимущество наглядности, а поэтому рекомендуется к использованию.

Циклограмма - это графическое изображение последовательности работы отдельных элементов управляющего логического устройства во времени. Работа элементов дискретного действия в логическом устройстве характеризуется появлением и исчезновением сигналов в определённой последовательности.

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

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

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

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

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

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

Включающим тактом называется такт, предшествующий периоду включения данного элемента. Отключающим тактом называется такт, предшествующий периоду отключения данного элемента.

Включающий период состоит из включающего такта и периода включения без отключающего такта. Отключающий период состоит из отключающего такта и периода отключения без включающего такта, (понятие отключающего периода вводится при наличии нескольких периодов включения). Элементы, изменяющие своё состояние во включающем и отключающем тактах рассматриваемого периода включения, называются основными элементами.

3. Определение функциональных выражений для выходных параметров УЛУ

Для нахождения функциональных выражений выходных параметров УЛУ используем циклограмму работы управляющего устройства [3]. В данном случае циклограмма состоит из двух включающих периодов для выходных параметров: X, Y и Z. Функциональные выражения составляются для каждого из параметров по первому и второму периоду и далее объединяются.

Основная формула метода циклограмм имеет вид

.

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

1-я проверка заключается в анализе того, существует ли записанное ранее условие включения в течение всего включающего периода. Если =const, то условие включения является достаточным. Если изменяет своё состояние в течение включающего периода, то необходимо ввести в схему промежуточный элемент , либо обеспечить самоблокировку

.

2-я проверка предназначена для выявления того, существует ли записанное ранее условие отключения в течение всего периода включения. Если =const, то условие отключения для данного периода является достаточным. если изменяет своё состояние, то необходимо ввести в схему промежуточный элемент

.

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

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

4-я проверка заключается в выяснении, влияет ли значение переменной в первом цикле на её значение во втором цикле [4]. Проверка проводится при составленной формуле выходной переменной для всех циклов. Выражение имеет вид

Если в каком либо из циклов для данной выходной переменной не выполняются 1-ое и 2-ое условия, то выражение для неё в данном цикле записывается в виде

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

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

Таблица включений

Такты

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

A

1

1

1

0

0

0

1

1

1

0

0

0

1

1

0

B

0

0

0

1

1

1

0

0

0

1

1

1

0

0

0

C

1

1

1

1

1

1

0

0

0

1

1

1

1

1

1

D

0

1

1

1

1

1

0

0

0

1

1

1

1

0

0

E

1

1

0

0

0

0

1

1

0

0

0

0

1

1

0

F

0

0

1

1

0

0

1

1

0

0

1

1

0

0

0

X

0

1

1

1

1

0

0

1

1

1

1

1

1

1

0

Y

0

0

1

1

1

1

1

0

0

0

1

1

1

1

0

Z

0

0

0

0

1

1

1

0

0

0

1

1

1

0

0

Циклограмма работы рассматриваемого УЛУ показана на рис. 1.

Рис. 1. Циклограмма функционирования УЛУ

Получим функциональное выражение для выходного параметра X.

1-й цикл.

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

.

2-й цикл.

В течение выключающего периода второго цикла изменяют своё состояние включающие входные сигналы a, b и d. С учетом этого функциональное выражение для второго цикла будет иметь вид

Общее функциональное выражение для выходного сигнала X с учетом 4-ой проверки

Получим функциональное выражение для выходного параметра Y.

1-й цикл.

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

2-й цикл.

Во втором цикле проведение проверок так же не требуется

Общее функциональное выражение для выходного сигнала Y

Получим функциональное выражение для выходного параметра Z.

1-й цикл.

В течение выключающего периода первого цикла изменяют своё состояние включающие входные сигналы a и f. С учетом этого функциональное выражение для первого цикла будет иметь вид

2-й цикл.

В течение выключающего периода второго цикла изменяют своё состояние включающие входные сигналы a, b и d. С учетом этого функциональное выражение для второго цикла

Общее функциональное выражение для выходного сигнала Z с учетом 4-ой проверки

4. Функциональная схема УЛУ

На основе полученных функциональных выражений выходных параметров

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

Рис. 8. Функциональная схема УЛУ

Рис. 9. Вид выходных параметров УЛУ

Рис. 10. Таблица включений УЛУ

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

На рис. 11. представлена блок-схема алгоритма работы УЛУ, используемая при написании программы на языке TurboPascal.

Ниже представлен текст программы, рассчитывающей значения выходных параметров УЛУ

Program ULU;

Uses Crt, Dos, Graph;

{-------------------------------------------------------}

Procedure Beg(Sch2: integer);

Var Sch,Sch1: integer;

Const ZAD=900; ZAD1=120; ZAD2=9000; ZAD3=300;

MASS: array [0..13] of string[2]=(' ','A','R','E',

' ','Y','O','U',' ','R','E','A','D','Y');

MASS1: array [0..5] of string[21]=(' ',

'Crazy Huckers Company',' P R E S E N T S ',

' November 8 ',

' Espessially For ',' MALAREV V.I. ');

Label Lab,Lab1,Lab2;

begin clrscr; textMode(1); Delay(6000); for Sch:=0 to 5 do

begin Sch:=Sch+1;

gotoxy((80-58) div 2,12); TextColor(0); Write(MASS1[Sch]); Delay(ZAD);

clrscr; gotoxy((80-58) div 2,12); TextColor(8); Write(MASS1[Sch]); Delay(ZAD);

clrscr; gotoxy((80-58) div 2,12); TextColor(7); Write(MASS1[Sch]); Delay(ZAD);

clrscr; gotoxy((80-58) div 2,12); TextColor(15); Write(MASS1[Sch]); Delay(ZAD);

Delay(ZAD2);

gotoxy((80-58) div 2,12); TextColor(15); Write(MASS1[Sch]); Delay(ZAD);

clrscr; gotoxy((80-58) div 2,12); TextColor(7); Write(MASS1[Sch]); Delay(ZAD);

clrscr; gotoxy((80-58) div 2,12); TextColor(8); Write(MASS1[Sch]); Delay(ZAD);

clrscr; gotoxy((80-58) div 2,12); TextColor(0); Write(MASS1[Sch]); Delay(ZAD);

Delay(ZAD2);

Sch:=Sch-1; if Sch=4 then goto Lab; end; Lab: Delay(ZAD2);

begin for Sch2:=0 to 13 do for Sch1:=14 to 69 do begin

Lab2: if Sch2=13 then goto Lab1; Sch2:=Sch2+1;

Sch1:=Sch1+1; if Sch2=4 then begin

gotoxy(Sch1,12); TextColor(0); Write(MASS[Sch2]); Delay(ZAD1);

gotoxy(Sch1,12); TextColor(8); Write(MASS[Sch2]); Delay(ZAD1);

gotoxy(Sch1,12); TextColor(7); Write(MASS[Sch2]); Delay(ZAD1);

gotoxy(Sch1,12); TextColor(15); Write(MASS[Sch2]); Delay(ZAD1);

Delay(ZAD3); end else begin if Sch2=8 then begin

gotoxy(Sch1,12); TextColor(0); Write(MASS[Sch2]); Delay(ZAD1);

gotoxy(Sch1,12); TextColor(8); Write(MASS[Sch2]); Delay(ZAD1);

gotoxy(Sch1,12); TextColor(7); Write(MASS[Sch2]); Delay(ZAD1);

gotoxy(Sch1,12); TextColor(15); Write(MASS[Sch2]); Delay(ZAD1);

Delay(ZAD3); end else Sound(26);

gotoxy(Sch1,12); TextColor(0); Write(MASS[Sch2]); Delay(ZAD1);

gotoxy(Sch1,12); TextColor(8); Write(MASS[Sch2]); Delay(ZAD1);

gotoxy(Sch1,12); TextColor(7); Write(MASS[Sch2]); Delay(ZAD1);

gotoxy(Sch1,12); TextColor(15); Write(MASS[Sch2]);

NoSound; Delay(ZAD1+ZAD3); end; goto Lab2; end; end;

Lab1: textMode(3); end;

{-------------------------------------------------------}

Procedure tochka(Sch5: integer);

Var I1,J1: integer;

Label G;

Const ZAD5=100;

MASS3: array [0..3] of string [1]=('/','-','\','|');

begin for I1:=0 to 300 do for J1:=0 to 4 do

begin I1:=I1+1; J1:=J1+1; gotoxy(30,12); Write(MASS3[J1-1]);

gotoxy(30,12); gotoxy(50,12); Write(MASS3[J1-1]);

gotoxy(50,12); gotoxy(40,12); Write(MASS3[J1-1]);

gotoxy(40,12); gotoxy(35,12); Write(MASS3[J1-1]);

gotoxy(35,12); gotoxy(45,12); Write(MASS3[J1-1]);

gotoxy(45,12); Delay(ZAD5); if J1=3 then J1:=0;

if I1=299 then goto G; end; G: end;

{-------------------------------------------------------}

Procedure End1(Sch6: integer);

Var Sch7,Sch8: integer;

Const MASS4: array [0..6] of string[21]=(' ',

' ESCAPE. ');

Label Lab6,Lab7;

begin clrscr; textMode(1); Delay(6000);

for Sch8:=0 to 6 do for Sch7:=5 to 15 do

begin Lab6: Sch8:=Sch8+1; Sch7:=Sch7+2;

gotoxy((80-58) div 2,Sch7); TextColor(0); Write(MASS4[Sch8]); Delay(900);

gotoxy((80-58) div 2,Sch7); TextColor(8); Write(MASS4[Sch8]); Delay(900);

gotoxy((80-58) div 2,Sch7); TextColor(7); Write(MASS4[Sch8]); Delay(900);

gotoxy((80-58) div 2,Sch7); TextColor(15); Write(MASS4[Sch8]); Delay(900);

Delay(4500); if Sch8=6 then goto Lab7; goto Lab6; end;

Lab7: textMode(3); end;

{-------------------------------------------------------}

Procedure End2(Sch9: integer);

Const Text=' THE END ';

begin clrscr; textMode(1); Delay(6000); begin

gotoxy((80-58) div 2,12); TextColor(0); Write(Text); Delay(900);

gotoxy((80-58) div 2,12); TextColor(8); Write(Text); Delay(900);

gotoxy((80-58) div 2,12); TextColor(7); Write(Text); Delay(900);

gotoxy((80-58) div 2,12); TextColor(15); Write(Text); Delay(900);

Delay(20000);

gotoxy((80-58) div 2,12); TextColor(15); Write(Text); Delay(900);

gotoxy((80-58) div 2,12); TextColor(7); Write(Text); Delay(900);

gotoxy((80-58) div 2,12); TextColor(8); Write(Text); Delay(900);

gotoxy((80-58) div 2,12); TextColor(0); Write(Text); Delay(900);

Delay(5000); end; textMode(3); end;

{-------------------------------------------------------}

Procedure Begin1(Sch10: integer);

Var Sch11,Sch12: integer;

Const

MASS5: array [0..9] of string[37]=(' ',

' X=p*(c*e+x*(p(i)+b*c))+ ',

' +p(i)*c*e*f*(p(i)+a(i)*b(i)*d(i)); ',

' Y=a*d*(f+b*c); ',

' Z=e*(p(i)+f(i)*a(i))+f*e*c*(p(i)+ ',

' +a(i)*b(i)*d(i)) ');

Label Lab8,Lab9;

begin clrscr; textMode(1); Delay(6000);

for Sch12:=0 to 9 do for Sch11:=1 to 19 do

begin Lab8: Sch12:=Sch12+1; Sch11:=Sch11+2;

gotoxy(2,Sch11); TextColor(0); Write(MASS5[Sch12]); Delay(900);

gotoxy(2,Sch11); TextColor(8); Write(MASS5[Sch12]); Delay(900);

gotoxy(2,Sch11); TextColor(7); Write(MASS5[Sch12]); Delay(900);

gotoxy(2,Sch11); TextColor(15); Write(MASS5[Sch12]); Delay(900);

Delay(9000);if Sch12=9 then goto Lab9; goto Lab8; end;

Lab9: delay(9000); textMode(3); readkey; end;

{-------------------------------------------------------}

Const

LU=#201; LD=#200; RU=#187; RD=#188; HT=#205;

H=#196; VT=#186; V=#179; Cross=#197; CrossT=#206;

CrossTT=#215; VD=#209; VU=#207; VUT=#202;

VR=#199; VL=#182; VRT=#204; VLT=#185; X1=10;

X2=68; Y1=1; Y2=25; X3=24; X4=66; Y3=1; Y4=3;

Txt1='' Євл'; Txt2='a'; Txt3='b'; Txt4='c';

Txt5='d'; Txt6='e'; Txt7='f'; Txt8='X'; Txt9='Y';

Txt10='Z';

a1: array [0..9] of string [1]=(' ','a','b',

'c','d','e','f','X','Y','Z');

a2: array [0..15] of string [2]=('ь','1',

'2','3','4','5','6','7','8','9','10','11','12','13','14','15');

Var Sch2,Sch4,Sch5,Sch6,Sch9,Sch10: integer;

Y,X,X11,Z,i,k,j,c,Symbol:integer;

X5,Y5,X6,Y6,Sch1,Sch12: integer;

Mass5: array [1..9,1..15] of boolean;

X12: array [0..15] of boolean;

Y12,Z12: array [1..16] of boolean;

Label U,U1,Lab11,Lab12,Lab13,Lab14,Lab15,Lab16,Lab17,Lab18;

begin

clrscr;

Tochka(Sch5);

Beg(Sch2);

Begin1(Sch10);

{-----------------------------------------------------------------------}

begin

window(X1,Y1,X2,Y2); gotoxy(X1+4,Y1); Write(LU);

for i:=1 to 45 do

if i<> 45 then begin Write(HT); end;

Write(RU); gotoxy(X1+4,WhereY); Write(VT);

gotoxy(X2-X1+1,whereY); Write(VT); gotoxy(X1,WhereY);

Write(LU); Write(HT); Write(HT); Write(HT); Write(CrossT);

for i:=0 to 13 do

begin

Write(HT); Write(HT); Write(VD);

end;

Write(HT); Write(HT); Write(VLT);

gotoxy(X1,WhereY); Write(VT);

begin

for k:=Y1+3 to Y2-3 do if k<>Y2-3 then

begin

k:=k+1;

begin gotoxy(X1,k); Write(VR); end;

k:=k+1;

begin gotoxy(X1,k); Write(VT); end;

k:=k-1;

end;

gotoxy(X1,whereY+1); Write(LD);

end;

gotoxy(X2-X1+1,Y1+3); Write(VT);

begin for k:=Y1+3 to Y2-3 do

if k<>Y2-3 then

begin k:=k+1;

begin gotoxy(X2-X1+1,k); Write(VL); end;

k:=k+1;

begin gotoxy(X2-X1+1,k); Write(VT); end;

k:=k-1;

end; gotoxy(X2-X1+1,whereY); Write(RD);

end; gotoxy(X1+4,Y1+3); Write(VT);

begin for k:=Y1+3 to Y2-3 do

if k<>Y2-3 then

begin k:=k+1;

begin gotoxy(X1+4,k); Write(CrossTT); end;

k:=k+1;

begin gotoxy(X1+4,k); Write(VT); end;

k:=k-1;

end; gotoxy(X1+4,whereY+1); Write(VUT);

end; for c:=X1+5 to X2-X1-2 do

begin c:=c+2; gotoxy(c,Y1+3); Write(V);

begin for k:=Y1+3 to Y2-3 do

if k<>Y2-3 then

begin

k:=k+1;

begin gotoxy(c,k); Write(Cross); end;

k:=k+1;

begin gotoxy(c,k); Write(V); end;

k:=k-1;

end; gotoxy(c,whereY+1); Write(VU);

end;

end;

for c:=X1+3 to X2-X1-1 do begin c:=c+2;

for k:=Y1+3 to Y2-Y1-3 do begin k:=k+1;

gotoxy(c,k); Write(H); c:=c+1; Write(H);

c:=c-1; end; end;

gotoxy(X1,Y2-2); for c:=X1 to X2-X1-1 do begin

c:=c+2; gotoxy(c,Y2-2); Write(HT); c:=c+1;

Write(HT); c:=c-1; end;

for k:=Y1+3 to Y2-Y1-3 do begin k:=k+1;

gotoxy(X1+1,k); Write(H); gotoxy(X1+2,k);

Write(H); gotoxy(X1+3,k); Write(H); end;

gotoxy(X1+1,Y2-2); Write(HT);

begin for k:=0 to 9 do for c:=Y1+3 to Y2-3 do

begin c:=c+2; k:=k+1; gotoxy(X1+2,c);

TextColor(3); Write(a1[k]); c:=c-1;

if k=9 then goto U; end; end;

U: begin

gotoxy(X1+2,Y1+3); Write(a2[0]);

for k:=0 to 15 do for c:=X1+3 to X2-X1-1 do

begin c:=c+2; k:=k+1; begin

if k<10 then begin gotoxy(c,Y1+3);

TextColor(3); Write(' ',a2[k]); end

else begin gotoxy(c,Y1+3); TextColor(3);

Write(a2[k]); end; end;

if k=15 then goto U1; end; end;

U1: begin window(X3,Y3,X4,Y4);

gotoxy((X4-X3) div 2 -length(Txt1) div 2,Y3+1);

TextColor(3); Write(Txt1); end; end;

begin X12[0]:=false;

{------------------------------------------------------------}

Mass5[7,1]:=true; Mass5[7,2]:=true; Mass5[7,3]:=true;

Mass5[7,4]:=true; Mass5[7,5]:=true; Mass5[7,6]:=true;

Mass5[7,7]:=true; Mass5[7,8]:=true; Mass5[7,9]:=false;

Mass5[7,10]:=false; Mass5[7,11]:=true; Mass5[7,12]:=true;

Mass5[7,13]:=false; Mass5[7,14]:=false; Mass5[7,15]:=false;

{------------------------------------------------------------}

Mass5[8,1]:=false; Mass5[8,2]:=true; Mass5[8,3]:=true;

Mass5[8,4]:=true; Mass5[8,5]:=true; Mass5[8,6]:=true;

Mass5[8,7]:=true; Mass5[8,8]:=true; Mass5[8,9]:=true;

Mass5[8,10]:=true; Mass5[8,11]:=true; Mass5[8,12]:=true;

Mass5[8,13]:=true; Mass5[8,14]:=true; Mass5[8,15]:=true;

{------------------------------------------------------------}

Mass5[9,1]:=true; Mass5[9,2]:=true; Mass5[9,3]:=true;

Mass5[9,4]:=true; Mass5[9,5]:=true; Mass5[9,6]:=true;

Mass5[9,7]:=true; Mass5[9,8]:=true; Mass5[9,9]:=true;

Mass5[9,10]:=true; Mass5[9,11]:=true; Mass5[9,12]:=true;

Mass5[9,13]:=true; Mass5[9,14]:=true; Mass5[9,15]:=true;

{------------------------------------------------------------}

for Sch1:=22 to 69 do for Sch12:=4 to 20 do

for i:=0 to 16 do for j:=0 to 6 do

begin

Lab11: Sch1:=Sch1+3; Sch12:=4; i:=i+1; j:=0;

Lab12: Sch12:=Sch12+2;j:=j+1;

if Sch1=67 then if Sch12=16 then goto Lab13;

window(Sch1,Sch12,Sch1+2,Sch12+1); gotoxy(Sch1+2,Sch12+1);

begin read(symbol); if symbol=1 then Mass5[j,i]:=true

else Mass5[j,i]:=false; end;

if Sch12=16 then goto Lab11; goto Lab12; end;

Lab13: window(Sch1,Sch12,Sch1+2,Sch12+1); gotoxy(Sch1+2,Sch12+1);

begin read(symbol);if symbol=1 then Mass5[6,15]:=true

else Mass5[6,15]:=false; end; goto Lab14;

Lab14: begin for i:=0 to 15 do

Lab15: begin i:=i+1;

X12[i]:=Mass5[7,i] and (Mass5[3,i] and Mass5[5,i] or X12[i-1] and

(not Mass5[8,i] or Mass5[2,i] and Mass5[3,i])) or not Mass5[7,i] and

Mass5[3,i] and Mass5[5,i] and Mass5[6,i] and ( not Mass5[8,i] or

not Mass5[1,i] and not Mass5[2,i] and not Mass5[4,i]);

Y12[i]:=Mass5[1,i] and Mass5[4,i] and ( Mass5[6,i] or Mass5[2,i] and Mass5[3,i]);

Z12[i]:=Mass5[5,i] and ( not Mass5[9,i] or not Mass5[6,i] and not Mass5[1,i]) or

Mass5[6,i] and Mass5[5,i] and Mass5[3,i] and ( not Mass5[9,i] or

not Mass5[1,i] and not Mass5[2,i] and not Mass5[4,i]);

if i=15 then goto Lab16; goto Lab15; end; end;

Lab16:begin for Sch1:=22 to 69 do

for i:=0 to 15 do begin Lab18: i:=i+1; Sch1:=Sch1+3;

if Y12[i]=true then begin window(Sch1,20,Sch1+2,20); gotoxy(Sch1+2,20); write('1'); end

else begin window(Sch1,20,Sch1+2,20); gotoxy(Sch1+2,20); write('0'); end;

if X12[i]=true then begin window(Sch1,18,Sch1+2,18); gotoxy(Sch1+2,18); write('1'); end

else begin window(Sch1,18,Sch1+2,18); gotoxy(Sch1+2,18); write('0'); end;

if Z12[i]=true then begin window(Sch1,22,Sch1+2,22); gotoxy(Sch1+2,22); write('1'); end

else begin window(Sch1,22,Sch1+2,22); gotoxy(Sch1+2,22); write('0'); end;

if i=15 then goto Lab17; goto Lab18; end; end;

Lab17: end; readkey; End1(Sch6); End2(Sch9); Tochka(Sch5);

readkey; end.

Рис. 11. Блок-схема алгоритма работы УЛУ

Заключение

Основными результатами работы являются следующие:

1. По предложенной таблице включений построена циклограмма работы управляющего логического устройства (УЛУ) системы автоматики;

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

3. Полученные зависимости минимизированы;

4. Разработана функциональная схема УЛУ на бесконтактных логических элементах и проверена её работоспособность (аппаратная реализация) с использованием системы компьютерного моделирования электронных устройств, построена таблица включений;

5. Проектируемое УЛУ реализовано программным способом, разработан алгоритм работы УЛУ, составлена блок-схема, написана и отлажена программа реализации УЛУ с использованием языка программирования высокого уровня QBASIC, получена таблица включений.

CLS

DIM a%(16), b%(16), c%(16), d%(16), e%(16), f%(16), p%(16), s%(16)

DIM X%(16), Y%(16), Z%(16)

LOCATE 1, 1

PRINT "a"

LOCATE 1, 3

FOR k = 1 TO 16

INPUT ; "", a%(k)

NEXT

LOCATE 2, 1

PRINT "b"

LOCATE 2, 3

FOR k = 1 TO 16

INPUT ; " ", b%(k)

NEXT

LOCATE 3, 1

PRINT "c"

LOCATE 3, 3

FOR k = 1 TO 16

INPUT ; " ", c%(k)

NEXT

LOCATE 4, 1

PRINT "d"

LOCATE 4, 3

FOR k = 1 TO 16

INPUT ; " ", d%(k)

NEXT

LOCATE 5, 1

PRINT "e"

LOCATE 5, 3

FOR k = 1 TO 16

INPUT ; " ", e%(k)

NEXT

LOCATE 6, 1

PRINT "f"

LOCATE 6, 3

FOR k = 1 TO 16

INPUT ; " ", f%(k)

NEXT

LOCATE 7, 1

PRINT "p"

LOCATE 7, 3

FOR k = 1 TO 16

INPUT ; " ", p%(k)

NEXT

LOCATE 8, 1

PRINT "s"

LOCATE 8, 3

FOR k = 1 TO 16

INPUT ; " ", s%(k)

NEXT

X(1) = 0

Y(1) = 0

Z(1) = 0

FOR k = 2 TO 16

X%(k) = p%(k - 1) AND (a%(k - 1) AND c%(k - 1) AND e%(k - 1) OR (X%(k - 1) AND

f%(k - 1))) OR NOT p%(k - 1) AND (a%(k - 1) AND NOT b%(k - 1) AND NOT c%(k - 1) AND

NOT d%(k - 1) AND e%(k - 1) AND f%(k - 1) OR X%(k - 1) AND d%(k - 1)) OR (X%(k - 1) AND

NOT s%(k - 1))

Y%(k) = d%(k - 1) AND (p%(k - 1) OR Y%(k - 1) OR (NOT a%(k - 1) AND b%(k - 1) AND

c%(k - 1)))

Z%(k) = p%(k - 1) AND (b%(k - 1) AND NOT a%(k - 1) AND (p%(k - 1) OR (c%(k - 1) AND

d%(k - 1) AND NOT e%(k - 1) AND NOT f%(k - 1)))) OR NOT p%(k - 1) AND

(NOT a%(k - 1) AND b%(k - 1) AND c%(k - 1) AND d%(k - 1) AND (NOT p%(k - 1) OR

NOT e%(k - 1) AND f%(k - 1)))

NEXT

LOCATE 9, 1

PRINT "X"

PRINT "Y"

PRINT "Z"

LOCATE 9, 3

FOR k = 1 TO 16

PRINT X%(k)

LOCATE 9, 3 + k + k

NEXT

LOCATE 10, 3

FOR k = 1 TO 16

PRINT Y%(k)

LOCATE 10, 3 + k + k

NEXT

LOCATE 11, 3

FOR k = 1 TO 16

PRINT Z%(k)

LOCATE 11, 3 + k + k

NEXT

управляющий логический устройство циклограмма

Список программного обеспечения

1. Система: Microsoft Windows 98 Второе издание. Пользователь: 355596-OEM-0017596-73206.

2. Microsoft Internet Explorer 5. Версия 5.00.2614.3500 Корпорация Microsoft, 1995-1999.

3. Microsoft Paint Windows 98 Корпорация Microsoft, 1981-1998.

4. Microsoft Word 2000 (9.0.2812) Корпорация Microsoft, 1983-1999.

5. Electronics Workbench Version 3.0E. Copyright 1989-1993 Interactive Image Technologies.

6. CorelDraw 8. Copyright 1988-1997 Corel Corporation.

7. Borland International Borland Pascal with Objects 7.0 Technical Support, Dept 26.

Библиографический список

1. Пухальский Г.И., Новосельцева Т.Я. Цифровые устройства. - СПб.: ИЗД. Политехника, 1996. - 885 с.:ил.

2. Грейнер Г.Р., Ильяшенко В.П. Проектирование беcконтактных управляющих логических устройств промышленной автоматики. - М.: Изд. Энергия, 1977. - 384 с., ил.

3. Маларёв В.И. Проектирование и расчет систем автоматики. - Л.: Изд. ЛГИ, 1999. - 19 с.

4. Маларёв В.И. Курс лекций по проектированию и расчету систем технологической автоматики.

5. Фигурнов В.Э. IBM PC для пользователя. - М.: ИНФРА - М, 1997. - 640 с., ил.

6. Фарофонов В.В. TurboPascal. Начальный курс. - М.: Изд. Нолидж, 1997. - 616 с., ил.

Размещено на Allbest.ru

...

Подобные документы

  • Таблица истинности, функции алгебры логики разрабатываемого цифрового автомата. Функциональная логическая схема устройства. Минимизация функции алгебры логики, представление ее в базисе "И-НЕ". Функциональная схема минимизированных функций Y1 и Y2.

    контрольная работа [2,1 M], добавлен 22.10.2012

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

    курсовая работа [31,0 K], добавлен 13.05.2009

  • Сущность современных радиотехнических систем и комплексов. Функции алгебры логики. Понятие совершенно дизъюнктивной нормальная формы. Формы реализации логических функций. Параметры полного логического базиса. Особенности принципа двойственности алгебры.

    реферат [161,0 K], добавлен 10.12.2008

  • Структурная схема разрабатываемого устройства. Синтез схемы блока АЛУ и блока признаков результата. Номинальные значения параметров компонентов. Открытие созданной принципиальной схемы. Анализ переходных процессов. Выполнение логических операций.

    дипломная работа [1,5 M], добавлен 29.09.2014

  • Реализация булевых функций на мультиплексорах. Применение постоянных запоминающих устройств (ПЗУ). Структурная схема программируемых логических матриц (ПЛМ). Функциональная схема устройства на микросхемах малой и средней степени интеграции, ПЗУ и ПЛМ.

    курсовая работа [524,1 K], добавлен 20.12.2013

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

    курсовая работа [521,0 K], добавлен 15.01.2011

  • Логические основы синтеза цифровых устройства. Понятия и определения функций алгебры логики. Минимизация логических функций с помощью алгебраических преобразований, карт Карно. Построение аналитической модели устройства. Анализ и выбор элементной базы.

    контрольная работа [696,4 K], добавлен 19.10.2011

  • Основные законы алгебры логики. Дизъюнктивные нормальные формы. Синтез комбинационных логических схем. Счетчики с параллельным и последовательным переносом. Общие сведения о регистрах. Синхронные и асинхронные триггеры. Минимизация логических функций.

    методичка [2,7 M], добавлен 02.04.2011

  • Методика составления и минимизации логических функций. Синтез комбинационного устройства на логических элементах и мультиплексоре. Логическая функция в виде СДНФ, преобразование функции в минимальный базис ИЛИ-НЕ. Проектирование устройства с памятью.

    курсовая работа [964,1 K], добавлен 27.09.2012

  • Теоретические основы процессоров. Построение процессоров и их общая структура. Цифровые автоматы. Расчёт количества триггеров и кодирование состояний ЦА. Структурная схема управляющего устройства. Построение графа функционирования управляющего устройства.

    курсовая работа [85,0 K], добавлен 08.11.2008

  • Синтез дискретного устройства, его структурная схема. Расчет дешифратора и индикаторов, их проектирование. Карты Карно. Синтез счетной схемы. Делитель частоты. Проектирование конечного автомата и его описание. Анализ сигналов и минимизация автомата.

    курсовая работа [217,8 K], добавлен 21.02.2009

  • Выполнение арифметических и логических преобразований над операндами в арифметико-логическом устройстве, их классификация по принципу работы. Структурная схема, алгоритм вычисления, синтез сумматоров, регистров, счетчика и тактовые параметры устройства.

    курсовая работа [377,0 K], добавлен 03.12.2010

  • Основные положения алгебры логики. Составление временной диаграммы комбинационной логической цепи. Разработка цифровых устройств на основе триггеров, электронных счётчиков. Выбор электронной цепи аналого-цифрового преобразования электрических сигналов.

    курсовая работа [804,2 K], добавлен 11.05.2015

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

    курсовая работа [789,4 K], добавлен 25.11.2010

  • Функциональная схема объекта управления, расчет математической модели и выбор параметров. Проектирование принципиальной схемы управляющего устройства. Оценка быстродействия системы, синтезированной методами модального управления и оптимизации контуров.

    курсовая работа [590,8 K], добавлен 23.06.2009

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

    курсовая работа [2,5 M], добавлен 28.01.2013

  • Сравнительный анализ функций арифметико-логического устройства (АЛУ) в современных микропроцессорах. Синтез схемы блока АЛУ и признаков результата. Разработка имитатора управляющих сигналов. Расчет надежности и безотказной работы проектируемой модели.

    дипломная работа [1,0 M], добавлен 14.11.2014

  • Функциональная схема и механизм работы цифрового устройства обработки данных. Синтез управляющего автомата, выбор типа триггера, описание управляющего автомата и счётчиков на языке Verilog. Процесс тестирования и моделирования управляющего автомата.

    курсовая работа [3,2 M], добавлен 05.12.2012

  • Проектирование транзисторного каскада усилителя и фильтра низкой частоты на основе операционного усилителя, комбинационно-логического устройства (КЛУ) и транзисторного стабилизатора постоянного напряжения. Синтез преобразователей аналоговых сигналов.

    курсовая работа [1,1 M], добавлен 06.02.2014

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

    курсовая работа [314,9 K], добавлен 31.05.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.