Extras din proiect
Tema 3:
Se cere modelarea unui sistem de control al unui lift pentru un imobil cu 4 etaje. Se
pleaca de la premiza ca acesta nu poate pleca cu usile deschise si fara a i se indica etajul
la care trebuie sa ajunga.Numarul etajului este indicat folosint intrarile numerice DI0-
>DI3 de pe placa PCM3718.Pentru simularea inchiderii usilor se foloseste DI4 de pe
aceesi placa.Aplicatia trebuie sa mai cuprinda si un algoritm de optimizare pentru tratarea
comenziilor primite.Interfata grafica trebuie sa cuprinda cele 4 etaje simbolic desenate
printr-un dreptunghi care sa demonstreze functionalitatea. Liftul trebuie sa se opreasca la
etajul indicat de numarul intrarii digitale care a fost comutata.
Cerinte:
- Realizarea conceptiei, folosind UML
- Implementarea in C sau C++
- Testarea aplicatiei(Teste unitare)
- Realizarea documentatiei proiectului.( integreaza etapele mai sus mentionate)
Rezumatul solutiei
Proiectul a fost dezvoltat utilizand controlerul PC104 si platforma hardware de achizitie de date și Advantech Device Driver API. Pentru functiile de intrare analogice si de iesire digitale am folosit placa PCM3712. Solutia a fost implementata in Visual Studio 6.0 folosind limbajul de programare C.
Arhitectura aplicatiei are doua parti principale: sistemul de citire a starii butoanelor corespunzatoare etajelor si sistemul de miscare a liftului intre etaje. Primul dintre cele 2 sisteme este responsabil cu citirea starii a 4 butoane DI0 – DI3. Cel de-al doilea, in functie de numarul de butoane apasate, este responsabil cu miscarea liftului catre cel mai apropiat nivel.
In sistemul de miscare a liftului fiecare sensor este citit la un interval bine definit.Acest interval este masurat folosind un timer software.Este folosit acelas timer pentru toti cei 3 senzori.Dat fiind faptul ca senzorul trebuie verificat la fiecare 20,50 si respective 120 milisecunde , timerul software este setat sa se declanseze la fiecare 10 ms, care este cel mai putin comun multiplu al celor 3 valori. La fiecare semnalare a timerului este incrementat un numarator. Cand valoarea numaratorului este divizibila cu 2,5 sau 12 atunci este citit senzorul corespunzator. Cand valoarea numaratorului este egala cu 60, care este cel mai mare divisor comun , este setat la 0.
Bibliografie
Advantech Device Driver Manual
Preview document
Conținut arhivă zip
- Proiect
- Debug
- Elevator.obj
- Elevator.pch
- Elevator.pdb
- Elevator.res
- ElevatorDoc.obj
- ElevatorView.obj
- Main.obj
- MainFrm.obj
- StdAfx.obj
- vc60.idb
- vc60.pdb
- Include
- 839p.h
- COMM.H
- DEVICE.H
- DNET.H
- Driver.h
- EVENT.H
- OS.H
- PARAS.H
- USBErrorCode.h
- Lib
- Ads839p.lib
- Ads841.lib
- Adsapi32.lib
- adsapi32bcb.lib
- ADSCOMM.LIB
- ADSDEV.LIB
- adsdnet.lib
- res
- Elevator.ico
- Elevator.rc2
- ElevatorDoc.ico
- Toolbar.bmp
- Elevator.aps
- Elevator.clw
- Elevator.cpp
- Elevator.dsp
- Elevator.dsw
- Elevator.h
- Elevator.ncb
- Elevator.opt
- Elevator.plg
- Elevator.rc
- ElevatorDoc.cpp
- ElevatorDoc.h
- ElevatorView.cpp
- ElevatorView.h
- Main.cpp
- Main.h
- MainFrm.cpp
- MainFrm.h
- ReadMe.txt
- Resource.h
- StdAfx.cpp
- StdAfx.h
- Modelarea unui Sistem de Control al unui Lift pentru un Imobil cu 4 Etaje.docx
- uml.JPG