
Pregled projekta
Razvio sam namenski Windows servis koji povezuje proizvodni softver sa više EZCAD3 kontrolera za lasersko obeležavanje. Aplikacija prima zadatke preko lokalnog HTTP/JSON API-ja, priprema svaki kontroler nezavisno i pokreće aktivne laserske jedinice paralelno.
Programerski izazov
Glavni izazov bio je pouzdano povezivanje upravljanog C# koda sa izvornim 64-bitnim EZCAD3 SDK-om. Integracija je izvedena preko P/Invoke sloja, uz jasno upravljanje životnim ciklusom SDK resursa, proveru povratnih kodova i izolovano izvršavanje komandi za svaki kontroler.
Kako je rešenje organizovano
- Odvojeni slojevi – HTTP API, tok izvršavanja i EZCAD3 drajver razdvojeni su tako da se svaki deo može zasebno testirati i menjati.
- Kontrolisana stanja – servis prati pripremu, izvršavanje, završetak, otkazivanje i greške, bez preklapanja nedozvoljenih komandi.
- Paralelna obrada – svaki kontroler ima sopstveni radni kontekst, dok orkestrator koordinira zajednički početak i čeka završetak svih aktivnih jedinica.
- Simulacija bez hardvera – isti tok mogao je da se proveri pomoću simulatora pre udaljenog testiranja na stvarnoj Windows mašini i povezanoj opremi.
- Dijagnostika – strukturirani logovi beleže promene stanja, trajanje operacija i greške, što pojednostavljuje puštanje u rad i kasnije održavanje.
Pouzdanost i testiranje
Implementirani su validacija ulaza, bezbedno zaustavljanje, vremenska ograničenja za pozive ka SDK-u i predvidiv povratak sistema u početno stanje. Automatizovani testovi pokrivaju API i tok rada u simulaciji, dok je integracija sa stvarnim kontrolerima proveravana postepeno: prvo na jednoj jedinici, a zatim u paralelnom režimu.
Softver upravlja procesom i signalima, ali ne zamenjuje nezavisne hardverske sigurnosne sklopove industrijske mašine.
Korišćene tehnologije
C#, .NET, ASP.NET Core, Windows Service, HTTP/JSON API, P/Invoke, EZCAD3 SDK, asinhrono i paralelno programiranje, automatizovani testovi i strukturirano logovanje.
Rezultat
Klijent je dobio modularan servis koji uklanja potrebu da glavni proizvodni softver direktno upravlja EZCAD3 aplikacijom. Rešenje može da pripremi više kontrolera, koordinira izvršavanje, prijavi stanje i pruži dovoljno tehničkih podataka za pouzdanu dijagnostiku, bez izlaganja detalja proizvodnog procesa.
Povratne informacije klijenta
★★★★★5/5“Izuzetan rad! Veoma je organizovan i odlično komunicira. Veoma sam zadovoljan njegovim radom.”
Ovo je zaseban nastavak iskustva prikazanog u projektu EZCAD3 aplikacije sa skeniranjem bar-koda, sa fokusom na serversku arhitekturu, direktnu SDK integraciju i rad sa više kontrolera.
Za sličnu integraciju pogledajte uslugu izrade programa po meri.
Ostavite odgovor