Bună ziua, dragă Audiență!
In practica mea, am întâlni de multe ori o situație în care, la menționarea mine în conversație unor „mașină în timp real“ în ochii interlocutorului aluneca de milioane de asociații, din păcate, nu sunt legate de subiect de conversație.
În primul articol vreau să arunc o privire asupra acestui subiect cu un titlu care pare atât de neobișnuit pentru un public de inginerie vorbitor de limbă rusă.
Toți cei interesați de rularea algoritmilor de control și a modelelor fizice sub formă de modele Simulink în mod greu în timp real, cu costuri minime de muncă - vă cer în conformitate cu regulile!
Atenție, multe imagini!
Deci, o scurtă definiție:
- O mașină în timp real este un computer proiectat pentru a efectua o gamă largă de sarcini în timp real.
Explicarea definiției scurte:
- O gamă largă de sarcini implică o anumită universalitate și redundanță în componentele software și hardware. Majoritatea acestor PC-uri (calculatoare industriale, care nu trebuie confundate cu personalul) au un set bogat de instrumente de intrare-ieșire, sub formă de cartele de interfață și drivere pentru ele.
- Cerința de funcționare în timp real duce la faptul că acest PC trebuie să ruleze un sistem de operare în timp real. Există excepții de la această regulă, regimul de cont gratuit nu a fost anulat.
Există excepții - există simulatoare compuse din mai multe mașini și fără carduri de intrare-ieșire, nu în execuția industrială și în timp real în timp real. Dar, din nou, cel mai adesea - este un calculator compatibil IBM cu componente hardware și software care îi permit să lucreze în timp real în timp real.
În literatura de limbă rusă și viața de zi cu zi, termenii software-hardware simulator și modelare semi-naturale sunt comune. Din punctul meu de vedere, ele nu sunt complete. Deoarece "simularea modelelor" nu este o singură funcție a acestui dispozitiv.
Lista producătorilor de astfel de soluții este destul de extinsă. Voi lua produsul de la Speedgoat. cu care am fost destul de norocos să muncesc din greu.
Mai jos, pe baza exemplelor, voi încerca să dezvălui esența folosirii unor astfel de mașini.
O echipă de ingineri dezvoltă o mașină electrică. Există un model în Simulink. în care subsistemul Controller (sistemul de control) a fost dezvoltat de către inginerul sistemului de control, iar subsistemul Plant (model motor) este inginerul departamentului de modelare fizică.
Sarcina: Încă nu există un prototip hardware al controlorului și nu este clar când va fi. Nu există nici prototipul motorului, fie este speriat să-l conectați la un sistem de control brut încă.
Soluție: Utilizați o mașină în timp real pentru prototiparea rapidă a sistemului de control. Și încă o mașină, dar mai productivă, pentru a rula modelul fizic al motorului în timp real. Interfețele dintre astfel de mașini pot și ar trebui să fie aceleași ca între un motor real și un controler. Acest pachet se numește HIL-Hardware-In-The-Loop. Prin simplu simulare software-hardware. Acesta permite, în etapele timpurii, integrarea și testarea algoritmilor de control împreună cu modelul de obiect de control în timp real, ținând cont de influența mediului de transfer de date între dispozitive.
Imaginea de mai jos prezintă o diagramă a acestui proces. Mașina în timp real pentru sistemul de control poate fi într-o versiune protejată pentru plasarea ulterioară pe teren. Masina pentru modelul fizic are nevoie de o imagine mai productivă - cea dreaptă. Transferul algoritmului și modelul din lumea reală este produsă într-un singur click cu mouse-ul și poate fi vypolen fără ajutorul unui inginer și programator fără o înțelegere profundă a nuanțelor în RTOS.
Aceeași echipă. A fost un prototip de motor, prototipul controlerului este încă în curs de dezvoltare.
Sarcina: Este necesar să testați sistemul de control pe un obiect de control real.
Soluție: Sistemul de control a fost deja testat pe modelul motorului când lucrați la un PC. Apoi, chiar mai complet în modul HIL. Acum, când a existat un prototip real - nu este atât de groaznic să fugi. Deoarece majoritatea erorilor au fost deja prinse și este necesară numai validarea funcționării sistemului.
De asemenea, este posibil ca obiectul de control să fie de la început. Apoi, o trecere rapidă de la un model de sistem de control la o piesă de lucru hardware poate fi numită Rapid Prototyping sau Rapid Prototyping.
Din nou, o echipă familiară. Primul eșantion al operatorului a ieșit.
Sarcina: Este necesar să conectați primul eșantion la, eventual, un motor cu mai multe kilowați
PLC Siemens + Speedgoat mașină în timp real
Etapa finală de dezvoltare.
Sarcina: Este necesar să se efectueze 100500 de teste pe o unitate reală și să se documenteze rezultatele în cel mai scurt timp posibil.
Soluție: O mașină în timp real poate acționa ca inima unui pat de test - să genereze scenarii de testare și să mențină un jurnal al parametrilor necesari. În MATLAB, puteți crea un script de testare neliniar care poate fi reconstruit automat pe baza rezultatelor. Generatorul de documentație vă va ajuta să generați automat raportul în formatul necesar.
Așa cum se poate vedea din exemple, aceeași mașină poate fi reutilizată în diverse utilizări. Dar totuși este imposibil să unificăm complet aceste dispozitive - există o anumită distribuție în funcție de funcționalitate. Regulatorul Speedgoat, de exemplu, arată astfel:
Versiunea educațională este o bucurie incomensurabilă pentru orice laborator dintr-o universitate tehnică.
Având astfel de rezultate în laborator, este posibil ca, de exemplu, pentru o perioadă de certificare fixă, să se facă un proiect mult mai avansat.
Mașina în timp real din Speedgoat din interior are un robot ghepard de la MIT:
Și i-am adus pe doi dintre ei la Naberezhnye Chelny la departamentul sistemelor de management al filialei KFU.
Am o altă idee pentru a evidenția următoarele aspecte în detaliu.
Și anume:
- Generarea codului C / C ++ / Verilog / VHDL
- Hardware, cartele I / O
- Mediul de lucru software, RTOS, BIOS
- Debugarea în timp real (modul extern)
Vă mulțumim pentru lectură!