Програми који не раде само са подацима, него управљају стварном опремом: ласерским маркерима у производњи, читачима бар-кодова, скенерима и читачима отисака прстију. Код оваквих послова грешка се не види само на екрану, него и на производу или на машини, па софтвер мора да буде поуздан, предвидив и да јасно пријави свако стање. Овакве програме радим у оквиру услуге израде Windows програма и сервисних апликација.
Windows сервис за паралелно управљање ласерским маркерима
Рађено у другом кварталу 2026.

Проблем
Производни софтвер клијента морао је да управља са више EZCAD3 контролера за ласерско обележавање, и то тако да активне ласерске јединице раде истовремено. До тада је главни производни софтвер морао директно да управља EZCAD3 апликацијом. Главни програмерски изазов био је поуздано повезивање управљаног C# кода са изворним 64-битним EZCAD3 SDK-ом, где свака грешка у раду са контролером може да заустави или поквари обележавање.
Решење
Развијен је наменски Windows сервис који стоји између производног софтвера и контролера:
- локални HTTP/JSON API: сервис прима задатке од производног софтвера;
- независна припрема контролера: сваки контролер се припрема засебно, а активне ласерске јединице покрећу се паралелно, уз заједнички почетак и чекање да све заврше;
- контролисана стања: сервис прати припрему, извршавање, завршетак, отказивање и грешке, и не дозвољава команде које се не смеју преклопити;
- модуларна грађа: делови решења могу да се засебно тестирају и мењају;
- провера без опреме: цео ток могао је да се провери у симулацији, пре удаљеног тестирања на стварној Windows машини и повезаној опреми;
- дијагностика: структурирани логови бележе промене стања, трајање операција и грешке, што олакшава пуштање у рад и касније одржавање;
- поузданост: провера улазних података, безбедно заустављање, временска ограничења за позиве ка SDK-у и предвидив повратак система у почетно стање.
Аутоматизовани тестови покривају API и ток рада у симулацији, а рад са стварним контролерима проверен је постепено, најпре на једној јединици, па у паралелном режиму. Софтвер управља процесом и сигналима, али не замењује независне хардверске сигурносне склопове индустријске машине.
Коришћене технологије
- C# програмски језик (programiranje.co.rs), .NET и ASP.NET Core
- Windows Service и HTTP/JSON API
- EZCAD3 SDK и P/Invoke
- асинхроно и паралелно програмирање
- аутоматизовани тестови и структурирано логовање
Резултат
Клијент је добио модуларан сервис због кога главни производни софтвер више не мора директно да управља EZCAD3 апликацијом. Решење припрема више контролера, координира извршавање, пријављује стање и даје довољно техничких података за поуздану дијагностику, без излагања детаља производног процеса.
Утисак клијента
★★★★★5/5“Изузетан рад! Веома је организован и одлично комуницира. Веома сам задовољан његовим радом.”
Апликација за ласерско обележавање са скенирањем бар-кода
Рађено у другом кварталу 2021.
Проблем
Клијент је имао C# апликацију повезану са EZCAD 3 софтвером за ласерску обраду, којој су требали боља функционалност и једноставније коришћење. Оператер је требало да скенира бар-код, добије информације и потврде, па на основу скенираног кода уреди текст који се ласером обележава — и све то без могућности да грешком покрене обележавање пре него што је све проверено и машина безбедна.
Решење
Апликација је редизајнирана око вишестепеног процеса, са скенирањем бар-кода у средишту:
- вишестепена интеракција: низ екрана води оператера кроз скенирање бар-кода, потврде и уређивање;
- рад заснован на бар-коду: после скенирања апликација открива одговарајућа текстуална поља и приказује преглед ставки које се односе на тај код;
- поља за уређивање: за скенирани бар-код оператер добија унапред одређен број поља у којима прилагођава детаље ласерског обележавања;
- безбедност: после потврде софтвер сигнализира затварање врата, како би се машина користила безбедно;
- завршно обавештење и потврда: пре самог обележавања оператер добија завршно обавештење и мора да потврди унос, ради тачности.
Коришћене технологије
- C# програмски језик (programiranje.co.rs): примарни језик апликације.
- EZCAD 3 SDK: ласерски софтвер чије је функције требало добро разумети да би се све потребне могућности уклопиле.
- Читач бар-кодова: улаз од кога полази цео процес.
Резултат
Оператер пролази кроз јасан низ корака од скенирања до обележавања, са пољима прилагођеним сваком бар-коду и потврдама које спречавају грешку и штите рад машине. На ово искуство касније се надовезао сервис за паралелно управљање са више контролера, описан изнад.
.NET програм за управљање више уређаја преко сокета
Рађено у првом кварталу 2021.
Проблем
Клијенту је била потребна помоћ искусног Windows .NET програмера, јер је имао више посла него што је стизао, укључујући и мање пројекте. Главни задатак био је програм који прима мноштво команди преко сокета и управља широким спектром уређаја — од скенера до читача отисака прстију. Рад је текао без могућности да се све одмах тестира на самим уређајима, па су јасни захтеви и комуникација били пресудни.
Решење
Развијена је .NET апликација која команде прима преко сокета и прослеђује их уређајима:
- сокет комуникација: програм поуздано обрађује више команди и одговара у реалном времену;
- управљање више уређаја: исти програм ради са различитом опремом, од скенера до читача отисака прстију;
- рад у тиму: програм је настајао у сарадњи са главним програмером клијента, како би испунио све задате захтеве;
- јасна комуникација: и без непосредног тестирања захтеви су разумљени без неспоразума, па је посао текао глатко.
Коришћене технологије
- VB.NET програмски језик: израда и оптимизација апликације.
- Сокет програмирање: комуникација и управљање више уређаја.
Резултат
Клијент је добио програм који једним каналом команди управља различитим уређајима, и помоћ која је растеретила његов тим.
Треба вам програм који управља опремом?
Шта улази у израду, како се одређује цена и како изгледа ток посла, пише на страници израда Windows програма и сервисних апликација. Програме који аутоматизују рад са датотекама и Office апликацијама погледајте међу Windows програмима за аутоматизацију, а остале радове међу референцама за интеграцију са хардвером.
Оставите одговор