Programi koji ne rade samo sa podacima, nego upravljaju stvarnom opremom: laserskim markerima u proizvodnji, čitačima bar-kodova, skenerima i čitačima otisaka prstiju. Kod ovakvih poslova greška se ne vidi samo na ekranu, nego i na proizvodu ili na mašini, pa softver mora da bude pouzdan, predvidiv i da jasno prijavi svako stanje. Ovakve programe radim u okviru usluge izrade Windows programa i servisnih aplikacija.
Windows servis za paralelno upravljanje laserskim markerima
Rađeno u drugom kvartalu 2026.

Problem
Proizvodni softver klijenta morao je da upravlja sa više EZCAD3 kontrolera za lasersko obeležavanje, i to tako da aktivne laserske jedinice rade istovremeno. Do tada je glavni proizvodni softver morao direktno da upravlja EZCAD3 aplikacijom. Glavni programerski izazov bio je pouzdano povezivanje upravljanog C# koda sa izvornim 64-bitnim EZCAD3 SDK-om, gde svaka greška u radu sa kontrolerom može da zaustavi ili pokvari obeležavanje.
Rešenje
Razvijen je namenski Windows servis koji stoji između proizvodnog softvera i kontrolera:
- lokalni HTTP/JSON API: servis prima zadatke od proizvodnog softvera;
- nezavisna priprema kontrolera: svaki kontroler se priprema zasebno, a aktivne laserske jedinice pokreću se paralelno, uz zajednički početak i čekanje da sve završe;
- kontrolisana stanja: servis prati pripremu, izvršavanje, završetak, otkazivanje i greške, i ne dozvoljava komande koje se ne smeju preklopiti;
- modularna građa: delovi rešenja mogu da se zasebno testiraju i menjaju;
- provera bez opreme: ceo tok mogao je da se proveri u simulaciji, pre udaljenog testiranja na stvarnoj Windows mašini i povezanoj opremi;
- dijagnostika: strukturirani logovi beleže promene stanja, trajanje operacija i greške, što olakšava puštanje u rad i kasnije održavanje;
- pouzdanost: provera ulaznih podataka, 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, a rad sa stvarnim kontrolerima proveravan je postepeno, najpre na jednoj jedinici, pa u paralelnom režimu. Softver upravlja procesom i signalima, ali ne zamenjuje nezavisne hardverske sigurnosne sklopove industrijske mašine.
Korišćene tehnologije
- C# programski jezik (programiranje.co.rs), .NET i ASP.NET Core
- Windows Service i HTTP/JSON API
- EZCAD3 SDK i P/Invoke
- asinhrono i paralelno programiranje
- automatizovani testovi i strukturirano logovanje
Rezultat
Klijent je dobio modularan servis zbog koga glavni proizvodni softver više ne mora direktno da upravlja EZCAD3 aplikacijom. Rešenje priprema više kontrolera, koordinira izvršavanje, prijavljuje stanje i daje dovoljno tehničkih podataka za pouzdanu dijagnostiku, bez izlaganja detalja proizvodnog procesa.
Utisak klijenta
★★★★★5/5“Izuzetan rad! Veoma je organizovan i odlično komunicira. Veoma sam zadovoljan njegovim radom.”
Aplikacija za lasersko obeležavanje sa skeniranjem bar-koda
Rađeno u drugom kvartalu 2021.
Problem
Klijent je imao C# aplikaciju povezanu sa EZCAD 3 softverom za lasersku obradu, kojoj su trebali bolja funkcionalnost i jednostavnije korišćenje. Operater je trebalo da skenira bar-kod, dobije informacije i potvrde, pa na osnovu skeniranog koda uredi tekst koji se laserom obeležava — i sve to bez mogućnosti da greškom pokrene obeležavanje pre nego što je sve provereno i mašina bezbedna.
Rešenje
Aplikacija je redizajnirana oko višestepenog procesa, sa skeniranjem bar-koda u središtu:
- višestepena interakcija: niz ekrana vodi operatera kroz skeniranje bar-koda, potvrde i uređivanje;
- rad zasnovan na bar-kodu: posle skeniranja aplikacija otkriva odgovarajuća tekstualna polja i prikazuje pregled stavki koje se odnose na taj kod;
- polja za uređivanje: za skenirani bar-kod operater dobija unapred određen broj polja u kojima prilagođava detalje laserskog obeležavanja;
- bezbednost: posle potvrde softver signalizira zatvaranje vrata, kako bi se mašina koristila bezbedno;
- završno obaveštenje i potvrda: pre samog obeležavanja operater dobija završno obaveštenje i mora da potvrdi unos, radi tačnosti.
Korišćene tehnologije
- C# programski jezik (programiranje.co.rs): primarni jezik aplikacije.
- EZCAD 3 SDK: laserski softver čije je funkcije trebalo dobro razumeti da bi se sve potrebne mogućnosti uklopile.
- Čitač bar-kodova: ulaz od koga polazi ceo proces.
Rezultat
Operater prolazi kroz jasan niz koraka od skeniranja do obeležavanja, sa poljima prilagođenim svakom bar-kodu i potvrdama koje sprečavaju grešku i štite rad mašine. Na ovo iskustvo kasnije se nadovezao servis za paralelno upravljanje sa više kontrolera, opisan iznad.
.NET program za upravljanje više uređaja preko soketa
Rađeno u prvom kvartalu 2021.
Problem
Klijentu je bila potrebna pomoć iskusnog Windows .NET programera, jer je imao više posla nego što je stizao, uključujući i manje projekte. Glavni zadatak bio je program koji prima mnoštvo komandi preko soketa i upravlja širokim spektrom uređaja — od skenera do čitača otisaka prstiju. Rad je tekao bez mogućnosti da se sve odmah testira na samim uređajima, pa su jasni zahtevi i komunikacija bili presudni.
Rešenje
Razvijena je .NET aplikacija koja komande prima preko soketa i prosleđuje ih uređajima:
- soket komunikacija: program pouzdano obrađuje više komandi i odgovara u realnom vremenu;
- upravljanje više uređaja: isti program radi sa različitom opremom, od skenera do čitača otisaka prstiju;
- rad u timu: program je nastajao u saradnji sa glavnim programerom klijenta, kako bi ispunio sve zadate zahteve;
- jasna komunikacija: i bez neposrednog testiranja zahtevi su razumljeni bez nesporazuma, pa je posao tekao glatko.
Korišćene tehnologije
- VB.NET programski jezik: izrada i optimizacija aplikacije.
- Soket programiranje: komunikacija i upravljanje više uređaja.
Rezultat
Klijent je dobio program koji jednim kanalom komandi upravlja različitim uređajima, i pomoć koja je rasteretila njegov tim.
Treba vam program koji upravlja opremom?
Šta ulazi u izradu, kako se određuje cena i kako izgleda tok posla, piše na stranici izrada Windows programa i servisnih aplikacija. Programe koji automatizuju rad sa datotekama i Office aplikacijama pogledajte među Windows programima za automatizaciju, a ostale radove među referencama za integraciju sa hardverom.
Ostavite odgovor