Master's Thesis

Abstraction Software Layer for Multi-Protocol Control of Embedded System in Industrial Settings

Final Thesis 1.66 MB

Author of thesis: Bc. Martin Horvát

Acad. year: 2025/2026

Supervisor: Ing. Josef Strnadel, Ph.D.

Reviewer: Ing. Václav Šimek

Abstract:

This thesis presents the design and implementation of a Communication Abstraction Layer (CAL) for the firmware of the STSS 1.1, a non-contacting sliding waveguide short developed by S-TEAM Lab s.r.o. The fragmented industrial communication protocol landscape places ongoing pressure on device vendors to support multiple protocols simultaneously; CAL addresses this at the firmware architecture level. The design centers on a compile-time plugin system in which each communication source registers a parser and a formatter, decoupling protocol-specific data handling from a shared command processing core. A single FreeRTOS task serializes all command execution and enforces single-owner control semantics via the System Manager, while leaving other firmware services unaffected. Testing across four scenarios confirms that semantically equivalent commands from different sources produce identical device core behavior, that co-existing services remain available under full EtherNet/IP load, that control ownership is correctly enforced, and that CAL processing overhead is negligible relative to the 3 ms Device Core scan cycle.

Keywords:

embedded systems, industrial communication, communication abstraction layer, multi-protocol control, EtherNet/IP, FreeRTOS, plugin architecture, firmware design, waveguide short, Industry 4.0

Date of defence

22.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaBznamka

Grading

B

Process of defence

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm B.

Topics for thesis defence

  1. Zkuste prosím stručně popsat mechanismus či postup, kterak je možné pro konkrétní komunikační rozhraní v modulu "System Manager" nastavit oprávnění k řízení cílového zařízení (systému)?
  2. Může ve vámi navrženém řešení nastat situace, kdy by došlo ve stejném okamžiku k mapování sémanticky identických příkazů pocházejících ze dvou různých komunikačních rozhraní na konkrétní příkaz CAL abstrakční vrstvy (viz např. situace na obrázku 3.9)?
  3. V technické zprávě je několikrát zmiňován binrní komunikační protokol 3SBP? Předpokládám, že se jedná o formát přenosu dat s využitím rozhraní typu RS-232. Můžete tuto skutečnost prosím upřesnit?
  4. Jak zajistíte aby se vždy vykonával jen jeden požadavek současně?

Language of thesis

English

Faculty

Department

Study programme

Information Technology and Artificial Intelligence (MITAI)

Specialization

Cyberphysical Systems (NCPS)

Composition of Committee

prof. Ing. Jiří Jaroš, Ph.D. (předseda)
doc. Ing. Zdeněk Vašíček, Ph.D. (místopředseda)
doc. Ing. Ondřej Lengál, Ph.D. (člen)
Ing. Jiří Novák, Ph.D. (člen)
Ing. Josef Strnadel, Ph.D. (člen)
Ing. Vladimír Bartík, Ph.D. (člen)

Supervisor’s report
Ing. Josef Strnadel, Ph.D.

S přihlédnutím k



  • motivaci a snaze studenta o kvalitní zpracování daného tématu a až příkladné aktivitě studenta během řešení a dokončování činností souvisejících se zadáním i se zpracováním technické zprávy,

  • kvalitnímu, prakticky využitelnému a v průmyslovém prostředí úspěšně otestovanému řešení,

  • modulu rttrace pro zaznamenávání událostí, implementovanému nad rámec zadání,


navrhuji ohodnotit práci studenta a její výsledek stupněm A navrhuji navrhnout studenta na některé z dostupných ocenění.

Evaluation criteria Verbal classification
Information about assignment
  • Zadání považuji za obtížnější - dílem sice stavělo na vědomostech, dovednostech a praktických zkušenostech z předmětů běžného studia na FIT VUT a předpokládalo jen programátorskou činnost, avšak dílem také (přímo) vyžadovalo návrh architektury netriviální abstrakční programové vrstvy a (nepřímo) očekávalo včasné dokončení implementace za účelem jejího zhodnocení v průmyslovém prostředí.
  • Za stěžejní považuji body 35 zadání - vzhledem k jejich nadprůměrně kvalitnímu, až příkladnému, zpracování považuji zadání za splněné s tím, že nad rámec zadání student implementoval prakticky velmi přínosný modul (rttrace) pro  zaznamenávání událostí.
Activity during solution, consultations, communication

Výsledek práce studenta (tj. realizační výstup a technická zpráva) mi byl předkládán ke konzultacím průběžně; jeho konečná podoba mi byla předložena včas, což mi umožnilo připomínkovat ji, a se studentem probrat vše zásadní pro její konečnou podobu, s poměrně velkým předstihem před termínem pro její odevzdání.

Publication activity, awards

-

Work with literature

Student prokázal schopnost samostatně využívat vedoucím doporučené i vlastním úsilím nalezené informační zdroje související s řešeným tématem, mj. orientovat se v nich, čerpat z nich a vhodně využívat informace v nich obsažené k řešení daného tématu.

Activity during solution, consultations, communication

Dané téma začal student zpracovávat včas, řešení průběžně konzultoval a pravidelně informoval o dílčích pokrocích i dalším směřování řešení. Student pracoval samostatně, na konzultace byl vždy výborně připraven.

Points proposed by supervisor: 100

Grade proposed by supervisor: A

Reviewer’s report
Ing. Václav Šimek

Je velmi potěšitelné, že se podařilo zadání této diplomové práce dotáhnout do stavu, kdy lze výsledek bez problémů nasadit v praxi. Domnívám se, že podobné abstrakční vrstvy mohou prodloužit život mnohým hardwarovým přípravkům bez výraznějších zásahů do jejich architektury, pokud je třeba implementovat nový typ komunikačního protokolu. Při celkovém pohledu se jedná o velmi solidně zpracovaný projekt, který netrpí zásadními nedostatky. Z těchto důvodů navrhuji souhrnné hodnocení stupněm B - velmi dobře, 85 bodů.

Evaluation criteria Verbal classification Points
The extent to which the requirements of the assignment have been met

Evaluation level: assignment fulfilled

Požadavky zadání byly v celé šíři bez výhrad vypořádány. Coby rozšíření oproti původně stanoveným požadavkům je možno spatřovat systém pro záznam a následnou analýzu událostí, který je součástí implementovaného řešení. 

Extent of the technical report

Evaluation level: is within the usual extent

Rozsah technické zprávy dosahuje obvyklého rozmezí, které lze očekávat od diplomové práce. Všem důležitým aspektům návrhu a realizace technického řešení je věnována patřičná míra pozornosti. 

Presentation level of the technical report

Hlavní část technické zprávy je rozdělena do celkem 6 kapitol, které jsou řazeny v logickém sledu. Kromě toho zde lze nalézt jednu přílohu popisující obsah datového média s doprovodnými materiály. 

Jinak výbornou úroveň technické zprávy mírně kazí provedení některých sekcí (např. 3.1), které jsou velmi dlouhé a vnitřně členěné jen pomocí malých tučných nadpisů bez číselného označení. Tento přístup poněkud zhoršuje orientaci čtenáře v textu.

V případě realizačního výstupu, který má převážně implementační charakter, bych ještě ocenil podrobnější návod ke zprovoznění realizovaného řešení (postup pro úspěšné přeložení zdrojových kódů a jejich nahrání do cílového mikrokontroléru).

75
Formal preparation of a technical report

Technická zpráva je sepsána v anglickém jazyce, a to na velmi solidní úrovni. Samotný výklad je vedený srozumitelnou formou. Z pohledu formální úpravy mám pouze jednu zaznamenání hodnou připomínku:

  • stránky 65 a 66 považuji za zbytečné, kdy v tomto případě stačilo na konec technické zprávy vložit jen přílohu A (viz str. 67)
90
Work with literature

K výběru jednotlivých informačních zdrojů, jejich celkovému počtu a způsobu využití v rámci technické zprávy nemám významnějších připomínek. 

90
Realisation output

Vedle samotné dokumentační stránky projektu představují hlavní složku zdrojové kódy. Konkrétně se jedná o implementaci vrstvy CAL, binárního protokolu 3SBP a vrstvy pro záznam událostí. Zdrojové kódy jsou pak opatřeny základními komentáři.

V případě CAL vrstvy je veškerá funkcionalita soustředěna na jednom místě, kdy by z pohledu udržitelnosti kódu přišlo vhod účelně zvolené strukturování do několika samostatných souborů. 

Je škoda, že se na datovém médiu v cloudovém úložišti nevyskytují i ostatní potřebné soubory, v podstatě jakýsi "snapshot" pracovního adresáře se zdrojovými kódy, nezbytné pro kompilaci projektu.

85
Usability of results

Dle informací prezentovaných v technické zprávě je patrné, že realizační výstup naplňuje stanovené cíle. Kromě toho došlo i k ověření jeho vlastností při praktickém nasazení pro účely řízení činnosti přístroje STSS ve spolupracující firmě.

The difficulty of the assignment

Evaluation level: more difficult assignment

Domnívám se, že vytvoření univerzální abstrakční vrstvy, která by byla schopna transparentně mapovat různé komunikační protokoly/standardy na definovanou množinu příkazů sloužících k ovládání cílového zařízení, není rozhodně jednoduchou záležitostí. Domnívám se, že z této skutečnosti pak pramení i vyšší obtížnost zadání posuzované diplomové práce.

Topics for thesis defence:
  1. V technické zprávě je několikrát zmiňován binrní komunikační protokol 3SBP? Předpokládám, že se jedná o formát přenosu dat s využitím rozhraní typu RS-232. Můžete tuto skutečnost prosím upřesnit?
  2. Zkuste prosím stručně popsat mechanismus či postup, kterak je možné pro konkrétní komunikační rozhraní v modulu "System Manager" nastavit oprávnění k řízení cílového zařízení (systému)?
  3. Může ve vámi navrženém řešení nastat situace, kdy by došlo ve stejném okamžiku k mapování sémanticky identických příkazů pocházejících ze dvou různých komunikačních rozhraní na konkrétní příkaz CAL abstrakční vrstvy (viz např. situace na obrázku 3.9)?
Points proposed by reviewer: 85

Grade proposed by reviewer: B

Responsibility: Mgr. et Mgr. Hana Odstrčilová