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



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

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

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

(технический университет)

 

 

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

 

 

По дисциплине    Проектирование и расчет систем технологической автоматики       ________________________________________________________________________                                 (  наименование учебной дисциплины согласно учебному плану )

 

 

 

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

 

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

 

 

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

 

ОЦЕНКА:        ___________________

 

 

Дата: __________________________

 

ПРОВЕРИЛ

 

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

                                          ( должность )         ( подпись )                    ( Ф. И. О. )

 

 

 

 

 

 

 

 

 

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

2002

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

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

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

(технический университет)

 

                                                                                                                                                                                Утверждаю

Заведующий кафедрой

                                                                               проф.                /Проскуряков Р.М./

‘’____’’                                   2002 г.

 

Кафедра автоматизации производственных процессов

 

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

 

 

 

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

(  наименование учебной  дисциплины согласно учебному  плану )

ЗАДАНИЕ

Студентке группы         ЭР-97                                             Фишовой М. А.                             

                                  (шифр группы)                                         (Ф.И.О)

1. Тема работы                                                                                                                    

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

                                                                                                                                            

                                                                                                                                            

2. Исходные данные к  работе          Таблица включений                                

________________________________________________________________________________________________________________________________________________________________________________________________________________________

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

                                                                                                                                            

4.Перечень графического  материала    ___________________________________   ___

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

                                                                                                                                            

                                                                                                                                            

5. Срок сдачи законченной работы: _______________________

                                                       

Руководитель работы.    Доцент                                         /      Маларев В. И.                 /

                                        (должность)          (подпись)              (Ф.И.О)

 

Дата выдачи задания: ____________________________                                                                      

 

 

Аннотация

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

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

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

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

 

Anataciya

Course project is executed in the process of studying discipline "Designing and calculation of systems of automation" and comprises of itself 29 pages, 11 drawings and 2 graphic sheets.

Work is denoted building of cyclogram of controlling logical device (CLD) automation systems; the finding the functional expressions for output parameters of controlling logical device with the account of checking a realization of cyclogram.

At the end of work presented realization designed controlling logical device by the programme way. Designed algorithm of work of controlling logical device, formed block diagram. Brought debugged program to realization of controlling logical device, written on programming language of the high level Borland Pascal.

Considered in the course project a strategy can be used at the development of real numerical technological automation systems.

 

Содержание

 

Введение

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

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

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

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

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

 

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

 

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

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

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

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

x+x=x,

x×x=x;

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

x+y=y+x,

x×y=y×x;

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

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

(x×y)×z=x×(y×z);

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

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

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

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

,

,

,

,

,

;

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

,

;

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

;

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

,

;

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

,

;

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

,

,

,

.

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

 

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

на основе циклограмм.

 

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

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

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

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

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

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

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

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

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

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

 

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

 

Для нахождения функциональных выражений  выходных параметров УЛУ используем циклограмму работы управляющего устройства [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-ой проверки

 

 

 

 

 

 

 

 

 

 

 

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

 

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

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


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

 

 

 

 


 

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


 

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

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

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

На рис. 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);

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