C# servis za paralelnu EZCAD3 kontrolu laserskog obeležavanja

C# servis za EZCAD3 kontrolu industrijskog laserskog obeležavanja

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.