Alegerea mediului și limbaj de programare
pachet de aplicații, sa decis să scrie în programmirovaniyaS de limbă ++. deoarece combină funcționalitatea de nivel scăzut și un nivel înalt de limbi. Astăzi, C ++ este una dintre cele mai populare limbaje de programare de uz general. A fost scris în limbajul C-based, atât de multe programe C poate fi condus de un compilator pentru C ++. Lista domeniilor de aplicații C ++ este impresionant în diversitatea sa. C ++ este un limbaj universal, este scris sisteme de operare, drivere pentru diverse dispozitive, programe software de aplicație pentru servere high-end. Scopul creatorul de C ++, Stroustrup Borna, a fost adăugarea de suport pentru limbaj de programare orientat pe obiect și generic.
mediul de programare (sau așa cum sunt numite, IDE) - un program în care programatorii să scrie programele lor pe limbajul de programare selectată.
mediu de programare integrat conține următoarele module de dezvoltare software:
compilatorul verifică textul programului pentru erori de sintaxă și traduce un program scris într-un limbaj de programare de nivel înalt în limbaj mașină (cod mașină), direct la un computer înțelege. Programul a terminat deja bucăți de cod de computer pot fi utilizate, care se află în alte biblioteci (de exemplu, cu extensia .lib fișiere). La compilarii aceste biblioteci nu sunt încă conectate la codul mașină nou creat. Acestea sunt conectate la etapa următoare;
depanator este folosit pentru programe de depanare. Erori de programe pentru a permite absolut orice: începători și profesioniști - pot fi sintactică (de obicei, acestea sunt detectate la compilare), și logic. Pentru a testa programul și de a identifica este un debugger eroare de logică. Programele C ++ conțin de obicei referințe la funcții definite oriunde în afara programului în sine, de exemplu, în bibliotecile standard sau în biblioteci particulare de grupuri de programatori care lucrează la acest proiect. Codul obiect generat de compilator conține în mod tipic „găuri“ din cauza acestor părți lipsă. Debugger conecteaza codul obiect cu codurile de funcții care lipsesc pentru a crea un modul de încărcare executabil (fără piese lipsă). Vom obține fișierul rezultat cu extensia .txt (pentru Windows), sau .out (pentru Linux).
În continuare există un program încărcat în memoria calculatorului și executarea acestuia. De la începutul computerului sub controlul CPU (unitate centrală de procesare) începe sa efectuat secvențial în fiecare dată când un program de comandă. Aceste perioade sunt numite ciclu, fiecare procesor are propria frecvență de ceas, care stabilește ceasul intern. Cu cât frecvența procesorului, astfel încât, în consecință, mai bine și mai rapid rula programul.
Dezvoltarea rapidă a tehnologiei de calculator, nevoia de dezvoltare de software eficiente a condus la apariția unor medii de programare, axat pe așa-numita „dezvoltarea rapidă“. La baza dezvoltării rapide a sistemelor sau RAD-sisteme (Rapid Application Development - Miercuri Rapid Application Development) este tehnologia de design vizual și de programare eveniment. Esența RAD-sistemelor constă în faptul că IDE are grijă de cele mai multe rutina, care permite programatorului sa se concentreze mai mult timp și atenție pe dezvoltarea logica aplicației și crearea de funcții de manipulare eveniment, mai degrabă decât crearea și „desen“ interfață și butoane. productivitatea programator atunci când se utilizează RAD-sisteme este foarte mare. Un sistem utilizat pe scară largă este RAD-Borland C ++ Builder. Builder vă permite să creați o varietate de programe, de la simpla cerere unică fereastră la programe de management al bazelor de date distribuite. Ca un limbaj de programare în mediul Borland C ++ Builder foloseste C ++. Borland C ++ Builder utilizează o bibliotecă bogată de gata făcute componente VCL (Visual Component Library), care este în continuă expansiune, cu fiecare nouă versiune a produsului. VCL Visual Component Library încapsulează, consumatoare de timp pentru Windows interfețe complexe API-uri în componente reutilizabile confortabile, extensibile. Acesta este complet integrat în mediul de dezvoltare și facilitează gestionarea proprietăților și metodelor componentelor prin cod.
Un alt sistem RAD cunoscut este Microsoft Visual Studio. Microsoft a dezvoltat componentele lor model - forme de ferestre, cu # care sunt modele concurente VLC.
Cu toate acestea, fiecare dintre aceste mass-media are propriile avantaje și dezavantaje. Și pentru fiecare programator, acestea sunt individuale. Cineva importantă VCL cu o gamă largă de funcționale și pentru cineva - un rapid, puternic sau Windows formează c #.
Pentru a dezvolta o serie de aplicații pachet RPDP, sa decis ca un mediu de dezvoltare de a alege între BorlandC ++ Builder. ca acest mediu permite dezvoltarea de aplicații, cât mai curând posibil și are o funcționalitate bogată.
Înainte de a începe dezvoltarea de software pentru transmiterea de informații dintr-un complex de unitate RPDP staționară, este necesar să se clarifice structura informațiilor.
Pentru trenurile de la un depozit la altul (îl puteți lua pentru o sesiune de lucru), la fiecare câteva milisecunde, există o înregistrare a informațiilor de la unitatea principală „Vityaz“ în sistemul de înregistrare. care este în parametrii de memorie înregistrator trenului. intercepteaza RPDP aceste informații prin conectarea la cap și un autobuz de tren CAN, informații cu privire la care rulează între unitatea de „ascultare“ și blocurile de control al trenurilor. Informațiile sunt înregistrate în liniile RPDP de 17 octeți. Strings au următorul format:
Tabelul 3.3.1 Structura înregistrărilor audio (rânduri) de informații
După cum se vede din structurile 6 și 7 octeți sunt alocate identificatorul dispozitivului din care a venit informația și 10-17 bytes direct responsabil pentru informațiile în sine. Această informație descrie starea dispozitivului la un moment dat, care este stocat în octeți 1,2,3,4. Există protocoale care pot decripta primite 8 octeți de informații, și pentru a determina starea dispozitivului, care valorile emise de senzorul dispozitivului, precum și dacă a fost corect sau nu.
Astfel, fiecare informație câteva milisecunde RPDP este înregistrat pe un număr de dispozitive, și apoi se repetă. Înainte de fiecare ciclu de scriere nou intră într-un mesaj în RPDP 0h0011 identificator care indică începutul unui nou ciclu de scriere. Un ciclu de scriere se numește cadru. Se pare că un registru cuprinde o multitudine de cadre, care la rândul lor sunt formate din rândurile 17 octeți în dimensiune. Dimensiunea de cadru poate fi diferită, deoarece numărul de dispozitive concurente și intervievați pot, în diferite momente diferite. Mai jos este un fragment de înregistrare format din două cadre complete. Primul cadru este foarte scurt, este alcătuită dintr-o singură linie care începe cu un identificator de cadru. Acest lucru se întâmplă de multe ori la începutul înregistrării atunci când alimentarea este pornit în tren, dar unitatea de bază nu este încă timp pentru a începe să lucreze.
Fig. 3.3.1 Înregistrarea Exemplu
În acest capitol sa realizat: structura introducerea sistemului de control al trenurilor „Knight“, precum și structura informațiilor transferate, în scopul de a concepe un sistem de transmisie automata. Procesul de proiectare poate fi împărțit în două părți: proiectarea întregului sistem (dezvoltarea principiului de funcționare a transmisiei automate și selectarea sistemelor de echipamente necesare) și proiectarea pachetului de cerere pentru acest echipament și să pună în aplicare transferul.
Procesul de proiectare a luat în considerare cerințele specificațiilor tehnice pentru produse hardware și software, am obținut de la inginerii de metrou din Moscova.
La proiectarea RFP au fost examinate conceptele de programare existente și să aleagă cele mai potrivite pentru sarcina, după învățarea conceptelor a fost ales limbajul de programare - C ++. În plus, revizuirea mediilor de programare existente a fost realizată, după care sa decis să facă dezvoltarea PPP în mediul de Embarcadero RAD STUDIO XE2 Professional (C ++ Builder XE2).