Potentialen i OpenPLC och Zephyr - Viktors examensarbete

Efter en vår fylld av utveckling, problemlösning och tekniska utmaningar har Viktor nu slutfört sitt examensarbete hos oss på Zellaco. Målet med projektet var att undersöka hur PLC-program via OpenPLC kan kombineras med Zephyr för att hantera realtidskritiska uppgifter i samma integrerade system.

Resultatet blev en fungerande prototyp som visar hur två världar kan samverka i en och samma enhet, både med flexibiliteten från PLC-programmering och prestandan från ett realtidssystem. Vi passade på att ställa några frågor till Viktor om projektet, utmaningarna längs vägen och vad han tar med sig från tiden på Zellaco.


1. Kan du kort beskriva projektet och vad du ville undersöka?

I mitt examensarbete har jag integrerat ett system där PLC-program körs via OpenPLC samtidigt som programvara i Zephyr hanterar kritiska realtidsuppgifter. Målet var att undersöka hur de här två teknikerna kan fungera tillsammans i samma enhet. För att visa att systemet fungerade lät jag det balansera en kula på ett plan samtidigt som PLC-delen simulerade reglering av vattenflöde i ett tanksystem.

2. Vad var den största tekniska utmaningen i projektet?

Det mesta jag kämpade med var Linux och att jag inte tidigare hade arbetat med device tree. Det var också viktigt att få varenda tecken rätt, för annars hände ingenting.

3. Varför är kombinationen av OpenPLC och Zephyr intressant?

Det är det bästa av två världar. En process som köps helt separat och som gör att vi kan utföra tidskritiska uppgifter inom 1 mikrosekund. Det gör också att när man nu implementerar mer AI-modeller kan man dedikera en helt egen kärna till det, eller köra den i en lägre prioriterad tråd i Zephyr, utan att man blockerar tidskritiska processer på den andra kärnan.

4. Hur fungerade lösningen i praktiken och vad blev resultatet?

Resultatet visade att det fungerade fint med realtidsuppgifter för att både styra vattennivån i en tank men även mer tidskritiska uppgifter som att balansera en kula på ett plan.

5. Vad har du själv lärt dig under examensarbetet?

Jag har fått en inblick i industrin genom att vara på här på Zellaco. När man läser om det i teorin kan grunden kännas enkel, men när man ska utveckla mer funktioner som strider mot varandra börjar det komplexa i att hitta en egna lösningar för att allt ska kunna samspela. Jag har även lärt mig Zephyr och att göra egna device tree, som jag inte kände till tidigare. Jag har även utvecklat en fördjupad förståelse för ARM Cortex-M4-kärnor och deras arkitektur, samt erfarenhet av programmering av mikrokontrollers från STMicroelectronics.


Viktors examensarbete har gett värdefulla insikter i hur OpenPLC och Zephyr kan samverka i ett integrerat system för både PLC-styrning och realtidskritiska uppgifter. Resultatet visar på spännande möjligheter för framtida lösningar inom inbyggda system och industriell automation.

Vi vill rikta ett stort tack till Viktor för hans insats och engagemang under tiden hos oss på Zellaco. Det har varit väldigt roligt att få följa projektet från start till mål, och vi önskar honom all lycka till framöver!

Next
Next

Seeing the Whole System – Designing Data Collection That Actually Works