WWW.REFERATCENTRAL.ORG.UA - Я ТУТ НАВЧАЮСЬ

... відкритий, безкоштовний архів рефератів, курсових, дипломних робіт

ГоловнаІнформатика, Компютерні науки → Демонстрація роботи електромагнітного реле постійного струму - Курсова робота

Демонстрація роботи електромагнітного реле постійного струму - Курсова робота

Міністерство освіти і науки України

Український Державній Університет Водного господарства і природо користування

Кафедра електротехніки і автоматики

Курсова робота

з дисципліни "Програмування і алгоритмічні мови"

на тему:

"Демонстрація роботи електромагнітного реле постійного струму."

Виконав:

студент 1-го курсу

ФПМ і КІС

АУТП 11

Назарчук Віталій

Перевірив:

ПастушенкоВ.Й.

Рівне 2002

Завдання
Розробити програму для демонстрації роботи електромагнітного реле постійного струму.
Зміст
  • Вступ.....................................................................................................................................3

  • Задача і опис схеми...........................................................................................4

  • Текст програми.......................................................................................................4

  • Приклад............................................................................................................................11

  • Висновок......................................................................................................................... 12

  • Література......................................................................................................................13

    Вступ

    Для закріплення здобутих теоретичних знань, застосування їх при вирішенні питань математичного характеру, а також з метою набуття навиків по створенню програмного забезпечення , виконується курсова робота з дисципліни "Програмування та алгоритмічні мови" . В курсовій роботі необхідно розробити програму на мові програмування C++,яка б демонструвала роботу електромагнітного реле постійного струму .

    Задача і опис схеми

    Електромагнітне реле постійного струму , яке є сполученням електромагнітного перетворювача (з поворотним якорем ) і контактного пристрою. При проходженні струму по катушці 7 у магніто проводі , що складається з осердя 6 та якоря 1, виникає магнітний потік , якір притягує до осердя , контактна група розмикається (розмикаючий контакт) , а контактна група замикається(замикаючий контакт). На принципових електричних схемах механічний зв'язок між електромагнітним приводом та контактами не вказується.

    Текст програми

    #include

    #include

    #include

    #include

    #include

    void help(void)

    { restorecrtmode();

    clrscr();

    textmode(BW80);

    textcolor(7);

    cprintf(" Мiнiстерство освiти i науки України");

    printf("n");

    cprintf(" Рiвненський державний технiчний унiверситет");

    printf("n");

    cprintf(" Кафедра електротехнiки i автоматики");

    printf("nnnnn");

    textcolor(4 + BLINK);

    printf(" ");

    cprintf("КУРСОВА РОБОТА");

    printf("n");

    textcolor(7);

    printf("tt");

    cprintf(" з курсу:"Програмування та алгоритмiчнi мови"");

    printf("n");

    textcolor(7);

    printf("tt");

    cprintf(" на тему:Демонстрацiя електромагнiтного ");

    printf("n");

    printf("ttt ");

    cprintf(" реле постiйного струму "");

    printf("nnnnnn");

    textcolor(2);

    printf("tttttt");

    cprintf("Виконав студент першого курсу");

    printf("n");

    printf("tttttt");

    cprintf("групи АУТП-1");

    printf("n");

    printf("tttttt");

    cprintf("Назарчук Вiталiй");

    printf("nnnn");

    printf("ttt ");

    textcolor(58);

    cprintf("РIВНЕ-2002");

    textcolor(GREEN + BLINK );

    printf("nttt");

    cprintf(" натиснiть будь-яку клавiшу");

    getch();

    textcolor(GREEN );

    setgraphmode(getgraphmode());

    }

    void draw(int x0,int y0)

    {

    unsigned char color[16]={0,4,2,6,1,5,3,7,8,12,10,14,9,13,11,15};

    struct bmpinfo

    {

    char h1,h2;

    unsigned long

    size,reserved,offset,b,width,height;

    unsigned int plans,bpp;

    };

    bmpinfo info;

    FILE *f;

    int x,y;

    unsigned char b;

    unsigned char bh;

    unsigned char bl;

    int nb;

    int np;

    int i,j;

    if((f=fopen("34.bmp","rb"))==NULL)

    printf("-1");

    //return -1;

    fread(&info,sizeof(info),1,f);

    if(info.bpp!=4)

    printf("-2");

    //return -2;

    x=x0;

    y=y0+info.height;

    nb=(info.width/8)*4;

    if((info.width/8)!=4)nb+=4;

    fseek(f,info.offset,SEEK_SET);

    for(i=0;i<=info.height;i++)

    {

    np=0;

    for(j=4;j

    {

    b=fgetc(f);

    if(np

    {

    bh=b>>4;

    putpixel(x,y,color[bh]);

    x++;

    np++;

    }

    if (np

    {

    bl=b&15;

    putpixel(x,y,color[bl]);

    x++;

    np++;

    }

    }

    x=x0;

    y--;

    }

    fclose(f);

    }

    void draw1(int x0,int y0)

    {

    unsigned char color[16]={0,4,2,6,1,5,3,7,8,12,10,14,9,13,11,15};

    struct bmpinfo

    {

    char h1,h2;

    unsigned long

    size,reserved,offset,b,width,height;

    unsigned int plans,bpp;

    };

    bmpinfo info;

    FILE *f;

    int x,y;

    unsigned char b;

    unsigned char bh;

    unsigned char bl;

    int nb;

    int np;

    int i,j;

    if((f=fopen("34_.bmp","rb"))==NULL)

    printf("-1");

    //return -1;

    fread(&info,sizeof(info),1,f);

    if(info.bpp!=4)

    printf("-2");

    //return -2;

    x=x0;

    y=y0+info.height;

    nb=(info.width/8)*4;

    if((info.width/8)!=4)nb+=4;

    fseek(f,info.offset,SEEK_SET);

    for(i=0;i<=info.height;i++)

    {

    np=0;

    for(j=4;j

    {

    b=fgetc(f);

    if(np

    {

    bh=b>>4;

    putpixel(x,y,color[bh]);

    x++;

    np++;

    }

    if (np

    {

    bl=b&15;

    putpixel(x,y,color[bl]);

    x++;

    np++;

    }

    }

    x=x0;

    y--;

    }

    fclose(f);

    }

    void Pidgotovka(void);

    void *saucer;

    int size;

    void Pidgotovka1(void);

    void *saucer1;

    int size1;

    void demo(void)

    { int i,w;

    Pidgotovka();

    while(!kbhit())

    {putimage(236,86,saucer,XOR_PUT);

    for(i=0;i<5;i++)

    {setlinestyle(0,0,1);

    setcolor(4);

    circle(464,302,3);

    circle(471,323,3);

    delay(200);

    setcolor(15);

    circle(464,302,3);

    circle(471,323,3);

    delay(200);

    }

    setlinestyle(0,0,3);

    putimage(236,86,saucer,XOR_PUT);

    for(i=0;i<24;i++)

    {setcolor(0);

    line(220,170,197+i-1,272);

    line(220,170,273,170-i+1);

    setcolor(10);

    line(220,170,197+i,272);

    line(220,170,273,170-i);

    putimage(236,86-i/3,saucer,XOR_PUT);

    setcolor(1);

    line(262,135,262,135-i/3);

    delay(200);

    putimage(236,86-i/3,saucer,XOR_PUT);

    }

    putimage(236,86-7,saucer,XOR_PUT);

    delay(2000);

    putimage(236,86-7,saucer,XOR_PUT);

    for(i=23;i>-1;i--)

    {setcolor(0);

    line(220,170,197+i+1,272);

    line(220,170,273,170-i-1);

    setcolor(10);

    line(220,170,197+i,272);

    line(220,170,273,170-i);

    putimage(236,86-i/3,saucer,XOR_PUT);

    setcolor(1);

    line(262,145+(23-i),262,127);

    delay(200);

    putimage(236,86-i/3,saucer,XOR_PUT);

    }

    }

    putimage(236,86,saucer,XOR_PUT);

    outtextxy(195,220,"1");

    outtextxy(505,220,"6");

    outtextxy(340,290,"7");

    outtextxy(200,460,"1 -якiр,6 -осердя,7 -катушка");

    delay(100);

    getch();

    getch();

    free(saucer);

    }

    main()

    {

    int q,X,y,c,STEP=100;

    int gdriver=DETECT,gmode,errorcode;

    initgraph(&gdriver,&gmode,"c:bcppbgi");

    errorcode=graphresult();

    if(errorcode !=grOk)

    {

    printf("Помилка графiчного режиму типу:%sn",grapherrormsg(errorcode));

    printf("Натиснiть будь-яку клавiшу для виходу");

    getch();

    exit(1);

    }

    help();

    poch:

    q=1;

    X=143;

    y=113;

    Pidgotovka1();

    do

    {

    putimage(X+270,y,saucer1,XOR_PUT);

    putimage(X,y,saucer1,XOR_PUT);

    c=getch();

    putimage(X+270,y,saucer1,XOR_PUT);

    putimage(X,y,saucer1,XOR_PUT);

    switch(c)

    {

    case 80: y+=STEP;q++;if(y==313){y=113 ;q=1;}break;

    case 72: y-=STEP;q--;if(y==13){y=213;q=2;}break;

    case 13: if(q==2)goto popa;if(q==1){demo();

    goto poch; }

    }

    } while(c!=27);

    popa:

    free(saucer);

    closegraph();

    }

    void Pidgotovka(void )

    {

    draw(0,-2);

    size=imagesize(236,86,493,135);

    saucer=malloc(size);

    getimage(236,86,493,135,saucer);

    putimage(236,86,saucer,XOR_PUT);

    }

    void Pidgotovka1(void )

    {

    draw1(0,-2);

    size1=imagesize(143,113,210,160);

    saucer1=malloc(size1);

    getimage(143,113,210,160,saucer1);

    putimage(143,113,saucer1,XOR_PUT);

    }

    Приклад

    Запускаємо пограму і вибираємо пукт "демонстрація" і натискуємо ENTER і спостерігаємо як якоря притягує до осердя , контактна група 4,5 розмикається (розмикаючий контакт) , а контактна група 2,3 замикається(замикаючий контакт) рис. 1 . Потім спостерігаємо як здійснюється навпаки рис. 2. Після натиснення будь-якої клавіши бачимо опис схеми рис.3 .

    Рис.1 Рис.2

    Рис.3

    Висновок

    Завдяки цій курсовій роботі я закріпив здобуті теоретичні знання з курсу "Програмування та алгоритмічні мови",навчився застосувати їх при вирішенні питань виробничого характеру. Склав програму, яка демонструє роботу електромагнітного реле постійного струму .

    Література

    1. Головко Д.Б. і ін. Автоматика і автоматизація технологічних процесів, К., "Либідь", 1997 р., 230 с.

    2.Крис Паппас, Уїльям Мюррей, Програмирование на С и С++,

    "Ирина"

    Ця курсова робота люб'язно надана Олександром Подранецьким

  • Loading...

     
     

    Цікаве