ADDERA | NR 2 | 2016 | Årgång 7

Page 1

ADDERA

NR 2 2016 · ÅRGÅNG 7 · UTGES AV ADDIVA

Bootstrap

s. 11

En kort introduktion

User Experience (UX) s. 16 Victoria berättar varför andvändarupplevelsen är viktigt

Tillståndsbaserad Drift s. 21 Vad är det? Analysera produktionen för mer kostnadseffektivt underhåll


ADDERA Address Kopparbergsvägen 8 722 13 Västerås

Telefon 021- 471 21 50

Hemsida www.addiva.se

Ansvarig utgivare Pamela Christensson pamela.christensson@ addiva.se

Grafisk form Victoria Ben-Chivar

Foto Victoria Ben-Chivar Daniel Eriksson

Skribenter Fredrik Uppsäll Kjell Iwarson Magdalena Bozyk Martin Friberg Nils Brynedal Ignell Tania Lazaro Victoria Ben-Chivar

Tryck TBscreen

“LOREM IPSUM DOLOR”

ATT IoT ÄR DEN STORA TRENDEN ÄR DET SÄKER MÅNGA SOM HAR NOTERAT.

M

en vad innebär det och hur påverkar det oss? Samtidigt som antalet uppkopplade prylar växer lavinartat skapas nya spännande möjligheter. Ett av de intressantaste områdena är Context-Awareness computing, vilket är en teknik för att analysera och förädla stora mängder data. Context-Awareness innehåller detektion av den fysiska miljön och ger information om var vi befinner oss samt vilka resurser som finns tillgängliga i vår närhet. Även om lokalisering har varit i fokus så är andra aspekter mer intressanta. Det är här IoT kommer in. Med miljarder uppkopplade IoT prylar innehållande sensorer genereras kontinuerligt enorma mängder data. All den här rådatan från sensorerna behöver vi behandla och öka värdet på. För att göra det måste vi naturligtvis först förstå det. Insamling, modellering, resonemang och distribution av sammanhang spelar en viktig roll. Det är här Context-Awareness computing tekniken används för att förädla data. Låt oss se vad som är möjligt. Context delen ger oss information om vad som är intressant och viktigt för olika befattnings profiler. Context kan ses som en smart dynamisk urvalsmekanism. Om vi tittar på profilen produktionschef, är det viktigt att endast relevant information samställs ur rådatan och presenteras för produktionschefen vid rätt tidpunkt. Awareness delen tillsätter dimensionen; var befinner jag mig i förhållande till något eller någon annan. Med awareness som i det här fallet känner av att vår produktionschef är på väg till fabriken informeras om aktuell produktionsstatus och vilka risker som finns för produktionsstörningar. Med Context-Awareness tekniken har vi fått ett verktyg som skapar underlag för effektivitet och kvalitet. Med IoT kopplingar till den reella världen kan förändra vår vardag. Smarta hus där dörrar öppnas och stängs när vi närma oss, lampor som tänds för de vet att vi kommer att gå förbi. På kontoret har awerness redan startat presentationen i konferensrummet inför mötet. Allt detta är trevligt och ger oss en känsla av att ha en smart personlig assistent. Men de stora möjligheterna för tekniken finns inom industrin och det är där vi kommer att kunna använda tekniken för att skapa ett globalt försprång och åter ta på oss ledartröjan.

BJÖRN LINDSTRÖM VD Addiva AB


INNEHÅLL

TOUCH SCREEN TECHNOLOGY (ENG) C3N PERFORMANCE 10ÅRS JUBILEUM

4

6

8

TECH TRENDER 2016

10

EN KORT INTRODUKTION TILL BOOTSTRAP 11 NYTTAN MED FREERTOS USER EXPERIENCE (UX) JAVAFX

14 16

17

TILLSTÅNDSBASERAD DRIFT? VAD ÄR DET? VAD MENAS MED DET? GEEK NIGHT

23

NYA PÅ ADDIVA

ADDERA

21

23

3


TOUCHSCREEN TECHNOLOGY

» Bosch Packaging Technology. Source: http://www.bosch-presse.de/pressportal/en/news/

Touchscreen technology has been incorporated in several areas of our lives. It has a big impact in daily use of numerous products. Who doesn’t use automatic cashiers at the supermarket, smartphones or even buy transport tickets using interactive terminals? This technology has thousands of applications such as the industrial control panels for medical devices, regular smartphone panels, tablets, computer screens, coffee machines, air conditioners, ATMs etc.

T

his technology has been developed since 1971. Dr. Sam Hurst developed the first touch opaque sensor and the actual real touch screen was developed in 1974. According to touch industry expert Geoff Walker of Walker Mobile there are 18 distinctly different touch technologies available. The touch screens are based on several technologies: capacitive, analog resistive, surface acoustic wave and infrared. The most used in the market are the two first mentioned: capacitive and resistive touch screens.

4

“TOUCHSCREEN IS AN ELECTRONIC VISUAL DISPLAY CAPABLE OF DETECTING AND LOCATING A TOUCH IN A DISPLAY AREA.” ADDERA


Clear polyster film

Sensors traces

Air gap and spacers

Lens and casing

Resistive

Capacitive Glass

LCD

»» Incubent touch technology. Resistive and Capacitive

The resistive touch screen relies on resistance. The touch screen is based on two layers, the flexible top layer, that is usually made of plastic and the rigid bottom layer made of glass. Both layers are covered with a grid of electrical conductors (thin film of transparent conductor material as indium tin oxide (ITO) or fine metal wires) and spaced by spacers. When you press the screen, both layers make contact and produce a change in the electrical current, then the voltage is measured and the chip inside the screen figures out the touch position calculated by the resistance in the X axis and Y axis.

Tania Lazaro ADDERA

changes the amount of charge and sends the information to the controller to figure out the exact point pressed on the screen. Capacitive screens have the advantage of multi-touch, so several touches are detected simultaneously. Author: Tania Lazaro Hardware Engineer at Addiva Software and Embedded Services »» Apple Watch. Capacitive touchscreen.

Resistive screens can only sense one touch at the same time, so for some devices such as mobile phones, pc or tablets this is not a good option. The capacitive technique relies on the electrical properties of everything that holds an electric charge. The capacitive touch screen has one layer (selfcapacitance) or two layers (mutual capacitance). The mutual capacitance has an external layer, which is made of glass with a grid of conductive thin lines of metal, for example the indium tin oxide. The grid has x lines called driving lines, which give a stable electric current and the y sensing lines, which are used to detect the electrical current. Between these two different lines of layers is the isolating layer used to prevent transmission of charge to different points of the grid. When a human touches the screen with a finger or a capacitive tool like a pen, it

5


C3N PERFORMANCE – FRÅN IDÉ TILL APP; UTVALD AV APPLE I KATEGORIN ”NYA APPAR VI ÄLSKAR”

»» Applikation C3N Play

En idé, ett nytt sätt att tänka, en storslagen vision som är på väg att bli verklighet – det är C3N Loops. Ett live performance instrument för elektroniska musiker som bygger på ett ytbaserat, zoombart gränssnitt, en applikation för iPad som skapar nya möjligheter för att framföra elektronisk musik live. Utvecklarna bakom instrumentet är vännerna Fredrik Uppsäll (konsult på Addiva) och Rikard Lindell (universitetslektor lektor i datalogi vid Mälardalens Högskola), men från början var deras relation en annan.

D

et hela började när Fredrik var student och skulle till att påbörja sitt examensarbete. Han visste precis vad han ville göra, ett musikprogram för liveframträdanden med elektronisk musik. Med de applikationer som fanns på marknaden var det svårt att vara spontan och levande under ett liveframträdande. Rikard Lindell blev handledare för examensarbetet, han hade under sin doktorsavhandling arbetat på en forskningsprototyp om hur man på ett interaktivt och nyskapande sätt kunde spela upp och organisera musikloopar och videos. Eftersom Fredriks idéer var alldeles för omfattande för ett examensarbete så bestämde de istället att han skulle utforska en del av det problem han ville lösa, och att han skulle göra det inom ramen för Rikards forskningsprototyp. Detta blev startskottet för apparna C3N Play och C3N Loops. Fredrik med sitt resultat- och produktdrivna tänk och Rikard med sin djupa kunskap om programmering och design kompletterade varandra bra och det nära samarbetet, tillsammans med ett delat intresse för elektronisk musik gjorde att de snart blev vänner. Efter examensarbetet fortsatte de därför arbetet och startade tillsammans företaget C3N Performance och registrerade sig som utvecklare hos Apple.

Fredrik Uppsäll

C3N finns att ladda ner på AppStore

Efter en demonstration av instrumentet på Norbergsfestivalen insåg de att en del felaktiga val av teknologier höll projektet tillbaka och att nuvarande kodbas aldrig skulle

6

ADDERA


kunna utvecklas till den vision de hade. Med tungt hjärta valde de därför att börja om från början och bygga upp en ny kodbas. Det var nu viktigt att behålla kontroll över vad som hände och att erhålla en hög prestanda, valet av programmeringsspråk föll på C. Fredrik och Rikard insåg också att den stora vision de hade var alldeles för omfattande att skapa under en nära överskådlig tid och valde därför att bryta ner projektet för att hitta ett MVP (Most Valued Product) att lansera fort. Detta blev C3N Play, en applikation som innehöll de mest basala delarna av visionen, en oändlig yta, ett zoombart gränsnitt samt möjligheten att spela upp och organisera musikloopar. C3N Play är en gratisapplikation där användaren får möjlighet att testa och bli bekant med det ytbaserade gränssnittet som C3N Performance bygger sina applikationer på. Med följer ett antal loopar som gör det lätt för användaren att komma igång, om användaren sedan vill finns det möjlighet att expandera applikationens möjligheter genom att köpa fler loopar. Denna produkt har varit väldigt viktig för utvecklingen av C3N Loops, den efterföljande applikationen som är tänkt att kunna användas av mer krävande användare. Fredrik och Rikard fick mycket feedback från användare av appen och har genom C3N Play kunnat införa och testat funktionalitet på riktiga användare som enskilda uppdateringar istället för samtliga på en gång. På det sättet har alla de gemensamma funktionerna för de två applikationerna testats. C3N Play fungerar även som ett skyltfönster för den som är nyfiken på konceptet och idén men inte i första läget vill betala för den mer kapabla efterföljaren. C3N Play har i skrivande stund laddats ner 6.500 gånger.

Efter lanseringen av C3N Play började Fredrik och Rikard utvecklingen av C3N Loops. En betalapp för producenter av elektronisk musik som vill kunna lägga in musikslingor från sin egna musik och improvisera uppspelningen av dessa. Den är tänkt att användas i ett livespelnings sammanhang för att förstärka upplevelsen av spelningen, att skapa möjlighet att vara spontan och improvisera under uppträdandet. Applikationen har automatisk tempomatchning av materialet vid uppspelning och variabelt globalt tempo för det som spelas upp för att matchas mot skivor eller andra musiker. Den stödjer även MIDI för att kunna synka looparna mot trummaskiner, sequensers och synthar. Den innehåller också integration med andra musikappar på plattformen via populära, gemensamma protokoll som gör att man kan koppla in musikappar till varandra. På liknande sätt som man kopplar in synthar i effekter med kablar så gör det här virtuellt mellan appar. Direkt på arbetsytan finns också instruktionsvideos som förklarar för användaren hur applikationen används. I skrivande stund har C3N Loops sålt i 800 exemplar. Appen blev featured av Apple i ”New apps we love” i 15 länder under sommaren. I både C3N Play och C3N Loops befinner sig allt material på en oändlig yta, användaren navigerar genom att röra sig på ytan med hjälp av zoom och panorering. Allt material är hela tiden tillgängligt på den interaktiva ytan men kan organiseras enligt användarens önskemål, både i förväg men även under själva framträdandet. Användaren organiserar loopar som ska spelas tillsammans och kan även forma ljudet med filter och volymreglage.

Fredrik och Rikard har fått med sig mycket erfarenheter ur utvecklingen av dessa två applikationer. Att ta någonting från prototypstadiet till en produkt som kan distribueras och säljas är ett enormt arbete. De har fått erfara hur viktigt det är att släppa tidigt för att kunna få feedback från riktiga användare för att på så sätt kunna hitta en riktning att styra projektet mot. Det man själv tror är viktigt för användaren är nödvändigtvis inte så viktigt som man tror. Genom utvecklingen av applikationerna har Fredrik och Rikard fått möjligheten att utforska och lära sig nya teknologier, miljöer och hjälpmedel för mjukvaruutveckling. Att skriva kod är ett hantverk och god kvalitet på koden är viktigt och lönar sig i slutänden. De har inte bara blivit bättre programmerare genom projektet utan även fått en utökad förståelse för hur projekt styrs och hur man bör tänka för att nå resultat. Självklart slutar inte C3N Performance med dessa två applikationer utan fokus ligger nu på att skapa en ny app som har både audio och video på samma yta, att kunna loopa videosekvenser tillsammans med musiken är någonting som skulle förstärka både användarupplevelsen och möjligheterna vid ett uppträdande. Det som började som en idéen vision – har genom många timmar vid skissblocket och framför tangentbordet blivit två produkter och två appar många älskar.

Text: Fredrik Uppsäll Developer at Addiva Software Tools and Utilities

LITE SKÖJ: ADDERA SERIE

Illustratör: Kjell Iwarson

ADDERA

7


10ÅRS JUBILEUM • Robust otillförlitlig IoT • Hur kan digital media användas för ett effektivare underhåll med mindre stress? • HAP – Addiva utvecklar gränssnitt för beräkning. • Sveriges position i världen inom digitalisering – hur hamnar vi i framkant?

Den 14-e April firade ADDIVA 10 år med en festlig eftermiddag och fyra lärorika föreläsningar. Fredrik Bruhn Adjungerad Professor i Robotik & Avionik, MDH, Zohreh Ranjbar PhD, SICS, Dr. Nigel Shore från ABB HVDC och Anna Caracolias Entreprenör inom digital teknik och styrelseledamot i Internetstiftelsen.

I

nvigningen börjades med Claes Jonssons intervju med VD:n och en av grundarna till Addiva där de diskuterade framtiden och hur Addiva utvecklades under 10 år. Första föreläsningen öppnade Fredrik Bruhn med temat "Robust otillförlitlig IoT". Enligt Fredrik Bruhn, i takt med ökande antal transistorer och ökande antal smarta prylar så blir elektroniksystemen mer otillförlitlig om den inte designas rätt, även i de enklaste IoT lösningarna. Under föreläsningen visade han den statistiska sannolikheten för livsfarliga industriella IoT tillämpningar. Strax efter Fredrik Bruhn fortsatte Zohreh Ranjbar (PhD, SICS) från SICS Västerås med föreläsningen ”Fram-

8

Zohreh Ranjbar

Fredrik Bruhn tidens underhåll”, Hur kan digital media användas för ett effektivare underhåll med mindre stress? Avsikten är att få god tillgänglighet och snabb återbetalning på gjorda investeringar. Mellan föreläs-

ningarna var det några workshops där ingenjörer från Addiva byggde quadcopters, spelade in app och modeller med 3D maskin och mycket annat. Alla intresserade hade möjlighet att fråga ingenjörer om processen och prova att göra något under pausen. Dr. Nigel Shore (ABB HVDC, Hereford) presenterades ett fantastiskt tema om ADDERA


HAP-GUI-projektet “Snabbare och säkrare med Addivas gränssnitt”, där han berättade om processen i två steg. Det första steget innebar att utveckla ett grafiskt användarinterface till beräkningsmotorn, vilket gjort det möjligt för användarna att lära sig funktionaliteten betydligt snabbare, att arbeta snabbare och mer

40 år och var skrivna i olika programmeringsspråk. Resultatet är ett användarvänligt, integrerat och snyggt grafiskt interface. Sista föreläsning på Addivas 10års jubileum avslutades genom Anna Caracolias (Styrelseledamot i Internetstiftelsen (IIS) Medgrundare till communityt Genius) med ämnet om Sveriges digitalisering. ”Sveriges position i världen inom digitalisering – hur hamnar vi i framkant?” Enligt Anna Caracolias, undgår

digitaliseringen ingen. I Sverige har vi under många år legat i framkant när det gäller teknikutveckling, men hur står det till med digitaliseringsprocessen idag? Vad gör våra folkvalda för att se till att vi är i framkant? Etablerade branscher som inte hänger med i utvecklingen utmanas av innovativa och digitala uppstickare. När DI Digital granskade bolagen på OMXS30 visade det sig att bara två av tio styrelseledamöter besitter digital kompetens, men vi är på gång! Text: Victoria Ben-Chivar Marknad och Kommunikation

Nigel Shore intuitivt samt att undvika mänskliga misstag. Det andra steget var att inkludera funktionaliteten från ett stort antal ”satellit-program”, vilka utvecklats under ADDERA

Anna Caracolias

9


TECH TRENDER 2016 #1 VIRTUAL REALITY (VR) OCH AUGMENTED REALITY (AR) Redan 2015 hade techvärlden förutsagd att Virtual Reality kommer att bli en stor trend för 2016. Oculus Rift och HTC Vive är det mest kända i marknaden, fast det finns andra intressanta VR utvecklare som FOVE som har presenterat till världen det första Eye Tracking Virtual Reality Headset. Förutom Virtual Reality har Augmented Reality blivit ett jätte stort trend i år. Spelet som Pokémon Go har varit ett genombrott i både app- och spelindustrin.

»» FOVE headset. Källa: www.getfove.com. »» Pokémon Go utanför Addiva kontoret.

#3 3D-PRINTING 3D-Skrivaren har varit ute länge och är inte exakt en ny trend i 2016, men är fortfarande ett hett ämne. Företag som Tesla använder 3D skrivarna för

För några år sen jobbade Addiva AB med självkörande truckar från Kollmorgen. Autonomous industrin kommer att bara bli större i framtiden.

»» 3D skriven sfär

att bygga sina maskin- och motordelar. Förutom Tesla, bygger SpaceX raketdelar. Winsun bygger hela hus i en stor 6 meter hög och 40 meter lång 3D printer. Enligt Gartner, har vi idag bättre applikationer som leder till utveckling av biologiska material, även mat kan komma att printas i framtiden. #4 ADVANCED MACHINE LEARNING

#2 ARTIFICIAL INTELLIGENCE (AI) I år har vi fått smartare robotar. Olika företag som till exempel IBM använder machine learning algorithms för att träna robotar att bli mer flexibla vilket betyder att de har bättre och bättre fraser och förståelse för sitt kroppsspråk. AI används för snabbare analys och mer naturliga interaktiva kontakter. Intressant att även virtuella hjälpare som Siri, Amazon Alexa och Cortana har blivit mer avancerad och kommer bara att utvecklas mer!

Uber började samarbete för att utveckla nästa generations självkörande bil. Google har ett projekt som heter Google Self-Driving Car project.

»» Autonomous truck Kollmorgen.

#6 INTERNET OF THINGS ELLER THE DEVICE MESH

Maskiner har generellt blivit smartare. När det gäller insamling av information så ser vi att tekniken har börjat lära sig från den samlade informationen. I vissa processer där vi behövde en människa för att analysera, behöver vi inte längre det eftersom maskiner kan göra det istället. Det betyder att vi som människor kommer att behöva engagera oss på en högre nivå än maskiner i nära framtid.

Idag ser vi digitala enheter var som helst och det växer. Vi använder flera tillkopplade digitala devices för att komma åt information, kontakter, program osv. Enligt Gartner består ”The Device Mesh” av mobiltelefoner, wearables, datorn, plattor, hemelektronik, fordon, miljöenheten och sensorer i The internet of Things(IoT). IoT och The Device Mesh kommer vara en trend i många år.

#5 DEN SJÄLVSTYRANDE VÄRLDEN (AUTONOMOUS) »» Residence Inn, LA. Relay är en autonom leveransrobot. Roboten använder Amazon Alexa, Echo och AWS Lambda för eget röstsystem ”Relay by Voice”. Källa: http://www.savioke.com/press/

10

Idag ser man stora potential i robot industrin, men det som blev jätte stort i år är självstyrande bilar. I år annonserade Elon Musk om lanseringen av självkörande Tesla bilar. Volvo och

»» Illustration av Internet of Things eller IoT.

ADDERA


EN KORT INTRODUKTION TILL BOOTSTRAP ”DET POPULÄRASTE HTML, CSS OCH JAVASCRIPT RAMVERKET FÖR ATT UTVECKLA RESPONSIVA PROJEKT FÖR WEBBEN” VAD ÄR BOOTSTRAP Bootstrap är ett ramverk för att lättare kunna utveckla webapplikationer som automatiskt anpassar sig till olika storlekar på skärmarna som visar sidan (sidan är responsiv).

URSPRUNG Ursprunget till Bootstrap kommer från att Twitter behövde ett enda ramverk för att hålla en enhetlig design på sina interna verktyg. Tidigare användes flera olika ramverk vilket ledde till att underhåll blev svårare och att verktygen såg olika ut och betedde sig på olika sätt. Utvecklaren Mark Otto tillsammans med Jacob Thornton och ett fåtal andra började jobbet under namnet ”Twitter Blueprint” och efter några månaders utveckling så började fler och fler av utvecklarna på Twitter att bidra till projektet. Namnet ändrades till ”Bootstrap” och den 19e augusti 2011 släpptes den första versionen som ett ramverk med öppen källkod tillgängligt för alla. Sedan dess har version 2 och 3 släppts och den senaste stabila versionen är idag 3.3.7. Version 4 är under utveckling sedan oktober 2014 och en tidig alfa släpptes i augusti 2015 och i september 2016 kom alfa 4 vilket är den senaste versionen just nu. ADDERA

HUR ÄR BOOSTRAP

VARFÖR ANVÄNDA

UPPBYGGT

BOOTSTRAP

Bootstrap är uppbyggt med moduler som egentligen är en mängd av stilmallar skrivna i språket Less. Dessa implement senaste versionen just nu.

En av Bootstraps största fördelar är just det att det gör sidan responsiv. Idag så surfar allt fler på sina mobiltelefoner och det är inte alltid som en sida anpassad för datorskärm funkar bra på en telefon. Dels är de mindre och dels så används i regel telefonen i porträttläge medan en datorskärm är horisontell. Det som händer är att Bootstrap sorterar om när skärmen blir smalare och istället för att element på hemsidan ligger bredvid varandra så hamnar de ovanför varandra. Det ger en mer överskådlig hemsida även på smala skärmar.

Bootstrap är uppbyggt med moduler som egentligen är en mängd av stilmallar skrivna i språket Less. Dessa implementerar komponenterna i systemet. En stilmall kallad ”Bootstrap less” inkluderar samtliga komponenters stilmallar och är den man använder i sitt projekt för att kunna använda Bootstrap. Om man vill så kan man själv editera denna fil för att bara få med de komponenter som man verkligen vill ha från den enorma samlingen som finns i Bootstrap. Det finns också en customiseringsmöjlighet på hemsidan där det går att välja vilka komponenter man vill ha och sedan genereras en Bootstrap less-fil utifrån valen. Utöver att få funktionaliteten från Bootstrap med så får samtliga komponenter ett modernare och renare utseende i och med stilmallarna. Från och med Bootstrap 4 så kommer Sass att användas istället för Less.

11


»» Bild 1. Smal version (mobil) av toppen på en testsida.

»» Bild 2. Bred version (dator) av topp på testsida. Lägg märke till menyn högst upp till höger som är expanderad på den breda versionen och omgjord till en knapp på den smala (bild 1).

HUR ANVÄNDER MAN BOOTSTRAP För att använda Bootstrap så måste man börja med att inkludera några script i sin index. html (eller motsvarande). <link rel="stylesheet" ref="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery. min.js"> </script> <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js">

</script>

Den första hämtar hem CSS-filen för att få det modernare och snyggare utseendet på de olika HTML-komponenterna. Den nästa laddar ner JQuery som används av Bootstrap och den sista laddar hem Bootstraps javascriptfil som tillsammans med CSS-filen utgör hela Bootstrap. Grunden i Bootstrap är dess grid-system där man delar upp ytan i rader och kolumner. Man talar sedan om för bootstrap när den ska sortera om genom att ange olika typer av kolumner. Det du gör är att sätta olika klasser på div-taggar. Börja med att skapa en ”cointanier”-div som innehåller vår rad. Detta kan antingen vara en ”cointainer” och då kommer raden att ha en fast bredd, eller så kan man använda sig av ”container-fluid” och då kommer raden

12

ADDERA


»» Bild 3. Datorversion av testsidan längre ned. Skillnaden är uppenbar då mobilversionen (Bild 4) har valt att stapla bilder och text ovanpå varandra istället för som i datorversionen, ha dem bredvid varandra.

»» Bild 4. Mobilversion längre ned på testsidan.

expandera över hela fönstrets bredd. I containern skapas sedan en ny rad med klassen ”row” och under den gör du sedan ytterligare div-taggar med ”col-xx-y” som klass för att skapa kolumner på den raden (där xx talar om när bootstrap ska sortera om och y talar om hur många kolumner av 12 som är standardbredden denna kolumn ska täcka). I exemplet här ser vi först en div som definierar radens början. Sedan ser vi 3 kolumner som var och en tar upp 4 bootstrapkolumner i bredd. Detta för att vi vill att totalt ska siffrorna bli 12. Vill man ha 6 kolumner på sin sida så används t.ex. ”col-sm-2”, vill man ha 4 kolumner så används t.ex. ”col-sm-3” och så vidare.

<div class="container-fluid"> <div class="row"> <div class="col-sm-4"> </div> <div class="col-sm-4"> </div> <div class="col-sm-4"> </div> </div> </div>

För att bestämma när kolumnerna ska sorteras om så används ”sm” i exemplet. Detta är den näst mista bredden och det betyder att om bredden blir mindre än 768 pixlar så kommer kolumnerna att sorteras om och hamna ovanpå varandra. Det finns 4 olika att välja på: •

xs (för telefoner) Väljer du denna storlek så kommer sidan aldrig argangeras om. Du måste då tänka på att sidan ska fungera även på en smalare enhet som porträttläget I en mobiltelefon.

sm (för tablets) Här blir sidan lodrät när bredden understiger 768 pixlar på bredden, vilket gör att sidan antagligen kommer se normal ut i de flesta tablets, men tittar man i mobilen i porträttläge så kommer den bli lodrät igen.

ADDERA

13


md (för dator) Sidan blir lodrät när bredden understiger 992 pixlar. Vanliga datorer klarar sig antagligen fint och även vissa tablets med tillräcklig upplösning.

lg (för högupplöst dator) Här blir sidan lodrät redan när bredden understiger 1200 pixlar. Denna lämpar sig mest för sidor optimerade för stora skärmar med hög upplösning.

”Sm” är den som används mest vad det verkar just för att få anpassningen mot mobiltelefon. Men vilken av de olika typerna man ska använda behöver bedömas på en projektbasis för att se vilken som passar just den sidan som ska göras. Det är också lätt att testa på sin vanliga dator genom att minska bredden på webbläsarfönstret till dess att sidan arrangeras om. Gridsystemet är som sagt den fundamentala grunden i Bootstrap, men det finns massor med andra delar i systemet. Det finns färdiga karuseller för att rotera runt bilder eller texter, det finns en del specialhantering för bilder där du kan lägga på effekter för att få bilden rund eller för att få den att framstå som en thumbnail. Det finns Jumbotron för att ha längst upp på sidan och mycket mera. Men ska jag gå igenom alla de så behövs nästan en hel tidning till bara det. Martin Friberg

För en djupare förståelse så rekommenderas dessa länkar till att börja med: Bootstraps egna hemsida: http://getbootstrap.com/ W3schools Bootstraptutorial och info mo individuella bitar: http://www.w3schools.com/bootstrap/default.asp Text: Martin Friberg Systemutvecklare på Addiva Software Tools and Utilities

NYTTAN MED FREERTOS När människor hör ordet ”programmering” tänker nog de flesta på att skapa program för vanliga datorer. Program som du ofta använder, för att spela musik, skriva dokument, titta på film eller vad det nu kan vara.

P

som skrivs aldrig någonsin kommer att användas direkt av någon människa. De visar inte något på någon skärm eftersom de oftast körs på system som helt saknar en skärm. Programmen vi talar om här är de som körs på så kallade inbyggda system. Dessa är, till skillnad från persondatorn eller mobiltelefonen, ofta helt osynliga för oss slutanvändare. De är små, små datorer som sitter i mikrovågsugnar, i hissar, i flygplan, kaffemaskiner, ja kanske till och med i din brödrost.

Något som de flesta dock har missat helt är att merparten av de program

Inbyggda system är mycket mindre kraftfulla jämfört med till exempel en hemdator. Processorkapacitet och arbetsminne

å senare tid har mobiltelefoner och surfplattor kommit i de flestas händer. Att programmera appar kanske inte så många gör men de flesta har en viss uppfattning om vad det innebär.

14

ligger ofta på någon tusendel eller kanske miljondel av vad din hemdator har. Varför? Därför att du som konsument inte vill betala lika mycket för din brödrost som för din dator. Begränsningarna i hårdvaran hos inbyggda system gör att traditionella operativsystem som till exempel Windows är helt uteslutna, de skulle inte få plats. En av de många anledningarna till att man har ett operativsystem är att man vill kunna köra flera program samtidigt, du kanske vill lyssna på musik samtidigt som du surfar exempelvis. Vissa av de allra enklaste inbyggda systemen ADDERA


behöver bara göra en sak i taget och därför använder de inget operativsystem alls. Du som programmerare har då makten, och ansvaret, över allt som händer i systemet. Avsaknaden av operativsystem gör att dessa program kan köras på väldigt små, enkla (och därmed billiga) system. En annan fördel är att man får en väldig kontroll över timingen i sitt program, alltså inte bara vad programmet gör utan när det blir klart. Ett operativsystem som till exempel Windows eller Linux kommer aldrig ge dig en garanti på när ditt program kommer få tillgång till processorn. Du kommer alltså aldrig kunna garantera att ditt program hinner med sina uppgifter inom en viss tid. Men ibland klarar man sig inte utan ett operativsystem, till exempel om programmet faktiskt behöver göra flera saker samtidigt, utan att man har resurser nog för ett vanligt operativsystem. Då är FreeRTOS ett jättebra alternativ. FreeRTOS är, som namnet antyder, ett gratis RealTidsOperativSystem. Fördelen med att det är gratis är uppenbar. Eftersom det är ett operativsystem ger det möjligheten att ditt program kan göra

snabbt att göra och något annat som tar mer tid att göra men som bara behöver göras ibland. Då sätter man en högre prioritet på den förstnämnda tråden och lite lägre prioritet på den sistnämnda. Låt oss säga att tråden med den mindre viktiga uppgiften körs för tillfället. Något händer och plötsligt behöver den viktiga uppgiften göras. Då kommer FreeRTOS göra så att den lägre prioriterade tråden stoppas och istället kommer den högprioriterade tråden köras tills den är klar med det den skulle göra. Därefter kommer FreeRTOS byta tillbaka så att den lägre prioriterade tråden fortsätter köras. Nu blir du säkert lite fundersam, sa vi inte att ett operativsystem gjorde så flera saker kunde göras samtidigt? Ordet ”samtidigt” är relativt i det här sammanhanget. Om du till exempel lagar mat ”samtidigt” som du städar kommer det sällan innebära att du rör runt i grytan samtidigt som du sopar golvet. Det snarare att du rör runt lite i grytan, lägger ner soppsleven, sen byter till att hålla i sopkvasten, sopar lite, sen byter tillbaks till att röra i grytan, och så vidare. Du byter egentligen bara fram och tillbaka mellan olika uppgifter utan att utföra dem samtidigt. En dator fungerar likadant. Om du i vårt exempel skulle sopa lite för länge och inte röra runt i grytan kanske det bränner fast. Att röra i grytan har alltså en hård deadline som måste hållas, till skillnad från att sopa som du kan göra lite när som. Eftersom FreeRTOS använder sig av prioritering kan man sätta högre prioritet på trådar som utför viktiga eller akuta uppgifter så dessa hinns med i tid.

Nils Brynedal Ignell flera saker samtidigt. För att kunna åstadkomma detta skriver man sitt program i flera trådar där varje tråd hanterar en sak. Att det just är ett realtidsoperativsystem har med timing att göra. FreeRTOS kommer garantera att det som är viktigast att göra blir gjort på direkten och mindre viktiga saker får vänta. FreeRTOS ger nämligen möjlighet att sätta olika prioriteter på olika trådar. Exempelvis kanske man har en tråd som gör något som verkligen måste göras på direkten men går ADDERA

gigabyte medan FreeRTOS klarar sig på några hundra bytes, alltså en fråga om en tiondels miljondel. Denna skillnad kommer av att FreeRTOS enbart innehåller det allra mest nödvändiga när det gäller att hantera trådar, vilken tråd som skall köras, och kommunikation mellan trådar. Denna minimalism till trots är FreeRTOS mycket kraftfullt för att utveckla både små enkla system liksom stora komplexa system. Givetvis har FreeRTOS nackdelar också. Eftersom det bara innehåller själva kärnan av vad ett operativsystem behöver kommer du som utvecklare behöva göra mycket själv, som att skriva drivrutiner till de enheter som ditt system ska använda. Det innebär att om du ska flytta ditt program från en sorts processor till en annan kommer du troligtvis behöva skriva om en del kod eftersom exempelvis drivrutiner är väldigt specifika för hårdvaran. FreeRTOS är bra till mycket men självklart inte till allt. Oavsett vad du skall göra är det självklart viktigt att du använder dig av rätt verktyg för det du ska göra. Förhoppningsvis har den här artikeln gett dig en inblick i när du kan ha nytta av FreeRTOS.

Text: Nils Brynedal Ignell Hardware Engineer at Addiva Software and Embedded Services

FreeRTOS är inte bara gratis, du kan även ladda ner själva källkoden och läsa om du verkligen vill förstå hur den fungerar. FreeRTOS används ofta inom kurser på högskolor och universitet, men finns också i kommersiella produkter. Nu var det ju det här med storlek, på inbyggda system har man som sagt väldigt ont om plats i både programminnet och i arbetsminnet. På en vanlig dator kan operativsystemet (i dagsläget) uppgå till åtminstone tiotals gigabyte, medan storleken på ett enklare program med FreeRTOS kan vara i storleksordningen tiotals kilobyte. Alltså en fråga om en miljondel så stor. När det gäller arbetsminne kräver operativsystemet på en persondator några

15


USER EXPERIENCE (UX) User Testing

Output Devices

Data Analytics Site Mapping User Satisfaction

Action Button

UX ≠ UI

Sketching

User Controls Tools Input Devices

Prototyping

Content

Collaboration

Visual Design

»» Till vänster exempel på Wireframes. Till höger skillnaden mellan User Experience och User Interface

Användarupplevelsen eller User Experience (UX) bestämmer hur framgångsrik din produkt kommer att vara. En dålig användarupplevelse är lika illa som en dålig produkt, vilket leder till dåliga betyg eller ännu värre en obemärkt produkt ingen vill använda. En fin grafisk design samt marknadsföring kan inte rädda en produkt om den inte fungerar som den ska eller är alldeles för komplicerad för användaren.

I

den Internationella Standarden ISO 9241-210 är användarupplevelsen (UX) definerat så här: "En persons uppfattningar och reaktioner som resulterar från användning och/eller förväntad användning av en produkt, ett system eller en tjänst."

för att ha den bästa användarupplevelsen och design, speciellt sen iphone hamnade på marknaden. I den här artikeln nämns ordet intuitivt och välbekant från början. Hemligheten bakom iphones succé är gömd i dessa ord och kanske varje kund

När det gäller UX (User Experience) borde vi framförallt tänka på användarens exakta behov, där användaren upplever allt utan stora problem, intuitivt eller på ett välbekant sätt. För att nå den bästa upplevelsen behöver experter gå igenom en hel process där viktig information samlas. Undersökningen inkluderar ofta workshops, personas*, prototyping, wireframes**, innehållet, testning och analys.

THE UX UMBRELLA

KUNDER OCH

Ett bra sätt att förstå UX är att titta på The UX Umbrella eller UX paraplyet, på svenska. Den innehåller olika sektorer med ansvariga för varje sektor.

APPLE PRODUKTER Det har märkts att många kunder beskriver hur de vill se deras produkt och säger ofta: ”Jag vill ha den som Apple!” eller ”Tänk Apple, tänk iphone”. Inget konstigt med det, eftersom Apple har haft en rykte länge

kan överväga det. Den första mest kända Iphonen blev en intuitiv produkt tack vare deras stora UX undersökning, men också för att deras mål att göra användaren välbekant med produkter från Apple med hjälp av kampanjer. Lång tid innan de lanserade första iphonen, gjordes massor av reklamkampanjer, där potentiella användare såg små detaljer på vilka features som finns i Iphone och vad de gör. Alla var nyfikna och ville prova den här produkten som har blivit en sensation innan den lanserades. Det blev så välbekant att personer som fick den i handen första gången kunde förstå vissa funktioner och hur den fungerar redan från början.

Victoria Ben-Chivar. Fotograf: Daniel Eriksson

Enligt The UX Umbrella kan man se hur viktigt ett team är, eftersom alla är kopplade till varandra. Oftast jobbar man med speciella arbetsmetoder.

* Persona - en fiktiv karaktär som tas fram för att beskriva målgrupperna utifrån deras beteende, attityder, kunskaper, datorvana och mera. ** Wireframes är en enkel svart-vit skiss av t.ex. en layout för en webbapplikation.

16

ADDERA


The UX Umbrella Källa: https://www.nngroup.com/articles/ definition-user-experience/ User researcher

Business analyst

Visual Designer

Front-end Developer

- Owns research strategy - Conducts usability studies, interviews, surveys - Performs heuristic reviews - Builds personas, empathy maps - Voice of the customer

- Understands business, strategy, objectives - Articulates clarifies business objectives - Ensures business value defined - Voice of the Business

- User Interfaces - Brand Strategy - Style Guides - Color Theory and Palettes - Typography - Iconography - Accessibility

- Code to implement designs (visual and interaction) - Front-end frameworks - HTML - CSS - Javascript - Native OS features

Interaction Designer

Information architect

Content strategist

UX strategist

- Interaction Dodeling - MEntal Modeling - Storyboards - Journey Maps - Wireframes - User Interface

- Person-logical Architecturs - Navigation Schemes - Organiztion Schemes - Taxonomies

- Content Mapping - Content Development - Content Organization - Copy-editing - Communications

- Assessment - Vision - Objectives - Planning - Mesurements - Execution

»» User Experience is a Team Effort. Källa: http://www.archerpoint.com/. #MECUXD

Hos Addiva jobbar vi agilt. Våra scrumaktiviteter hjälper oss att bli mer organiserade och hålla fokus på målet. Kom ihåg att målet med User Experience är att användaren/kunden ska få mer än det förväntade och bli överraskad eller till och med få en endorfinkick!

https://uxplanet.org/how-a-nonintuitive-user-interface-can-createa-great-user-experience-6fe6a7cddc3c#.gwzde0dn2 http://squarepocketdesign.co/thedifference-between-ux-ui/ https://www.scrumalliance.org/whyscrum http://www.usabilitypartners.se/omanvandbarhet/ http://www.metamatrix.se/Varterbjudande/Vara-metoder/Behovsanalys/Personas-gor-malgruppenlevande/

Text: Victoria Ben-Chivar Marknad och Kommunikation

JAVAFX JavaFX startade med Suns införskaffande av Seebeyond, vars anställde Chris Oliver hade tillverkat en miljö med namnet F3 medan han satt på bänken. F3 stod för ”Form Follows Function” (sv. form följer funktion), vars mål var att göra det enklare att tillverka GUIs. Chris Oliver hade ambitionen att F3 skulle vara jämförbar eller bättre än Flash/Flex/Open Laszlo, Adobe Apollo, WPF/XAML/Silverlight, Mozilla XUL, Ajax/DHTML, osv. F3 var ett deklarativt scriptspråk baserat på Java (inte att förväxla med JavaScript). Med tiden hade skriptspråket bytt namn till JavaFx Script . I JavaFX 2.0 blev själva JavaFX Script avvecklad, men den fortsätter leva och utvecklas i OpenSource-världen under namnet Visage. Istället har JavaFX Script har ersatts med FXML.

I

dag är JavaFX officiellt inkorporerat i Java-miljön (från JDK 7u6), och är Suns/Oracles officiella ersättare för Java3D, Java2D, Swing och Java Media Framework (JMF). Det är skrivet i ren Java och stödjer animationer, grafer, 3D rendering samt Rich Media. Från version 8.0 av Java, har JavaFX samma versionsnummer som motsvarande JDK/JRE (har alltså gått direkt från 2.x till 8.0).

JAVAFX ARKITEKTUR

»» Figur 1: JavaFX arkitetkurdiagram.

Under JavaFX publika APIer ligger motorn som exekverar JavaFX koden. Den är uppbygd av fler subkomponenter som ADDERA

17


inkluderar en högpresterande grafikmotor kallad Prism; ett litet fönsterhanteringssystem kallad Glass; en mediamotor, och webmotor. JavaFX Scene Graph, som visas i toppen som del av APIn, är startpunkten för konstruktionen av Jav FX applikationer. Det är ett hierarkist träd av noder som representerar GUI’s visuella element. Varje nod, förutom att ha olika egenskaper som ID, placering, stil och barn har också följande: effekter som t.ex. blur och skuggning, opacitet, omvandling, eventhanterare, och applikations-specifik state. Det grafiska systemet ligger ett lager under. Det stödjer både 2D och 3D Scene Graphs. Två grafikaccellerarade pipeline är implementerade på JavaFX platformen. Prism processerar renderingsjobb (hårdvaruraccellererad genom DirectX eller OpenGL, och mjukvaruaccellererad när den första möjligheten saknas). Glass tillhandahåller fönsterhantering oberoende av operativsystemet, med timers, ytor och event-köer. Quantum Toolkit binder ihop Prism och Glass, gör dem tillgängliga till JavaFX-lagret ovanför, samt hanterar trådar relaterade till redering och event.

EXEKVERINGSMETODER JavaFx/Javaapplikationer kan deployas på fyra olika sätt: • Standalone, då applikationen är tillgänglig på användarens enhet. Den startas genom Java Launcher. •

Self-contained, då applikationen också är tillgänglig på enheten, men har en egen privatkopia av JRE. Den startas på samma sätt som andra applikationer på OS:et.

Java Web Start, då applikationen ligger på en server och inte hos användaren. Användaren klickar på en länk, applikationen laddas ned och körs sedan på användarens enhet.

Inbäddad i webläsaren, då applikationen är del av en websida och ligger på servern. Local Standalone

Magdalena Bozyk

Remote Self-Contained

Web Start

Embedded

Preloader Built-in proxy support

Desktop integration via shortcut or menu

Auto-updates Fine-tune user experience with Deployment Toolkit Communicate via JavaScript

No system installation of Java or JavaFX required

»» Figur 2: Olika deploymentmetoder.

PLATTFORMSOBEROENDE OCH -STÖD JavaFX är fullt integrerat i Java SE Runtine Environment (JRE) och Java Development Kit (JDK). Då JDK:t är tillgängligt för alla stora desktop OS (Windows, Max OS X, och Linux), så kan JavaFX applikationer som kompilerats till JDK 7 och senare också köras på dessa plattformar. Oracle har gjort support för ARM-plattformen tillgängligt fom. JavaFX 8 på försök; men från och med JDK 8u33, har JavaFX Embedded tagits bort från ARM Bundle. Som tur är, har hela källkoden för JavaFX Embedded lämnats över till Open Source projektet

18

ADDERA


OpenJFX. En av samarbetspartnerna till OpenJFX är företaget Gluon. De äger sin egen lösning, kallad JavaFXPorts som utvecklas öppet och tillhandahålls gratis för iOS, Android och inbyggda system. Gluon tjänar istället pengar på kommersiell support och utvecklingsmiljöer.

»» Figur 3: Expempel på fönsterutseende på olika plattformar med Modena som tema (caption från jdk demos)

Detta innebär att JavaFX applikationer praktiskt taget kan köras på alla plattformar man kan föreställa sig – web, desktop, mobila enheter, och inbyggda system.

FXML OCH MVC MODELLEN FXML är ett XML-baserad markup språk som används i JavaFX för att beskriva GUIs. Notera att allt som går att skapa med FXML går också att skapa genom att skriva direkt i Java/JavaFX. Fördelarna med FXML är att den behandlar UI som data, automatiskt laddar Scene Graph, automatiskt kan genereras av verktyg (som Scene Builder) , och reducerar mängden Javakod. JavaFX med FXML påtvingar mer eller mindre MVC-modellen. View i JavaFX görs i FXML och CSS (FXML för fönstrets struktur och CSS för själva stylingen). Controllern skrivs i Java och länkas till Viewn. Modellen skrivs också oftast i Java. Synkroniseringen mellan Modellen och Viewn kan skapas genom Property Binding genererad i Controllern, annars används eventhantering. Om man tycker att MVVM modellen är bättre än MVC, så finns det flera försök att implemenetera milöjer som tillåter detta – t. ex. mvvmFX.

»» Figur 4: Hur FXML applikationer laddas (copyright by Anderson Software Group)

ADDERA

Exemplet nedan skapar en knapp och en lable. Om man trycker på knappen, så visas texten ”Hello, JavaFX!” i labeln. Kopplingarna mellan Viewn och Controller är markerade med varsin färg.

<VBox xmlns: fx=”http://javafx.com/fxml” xmlns=”http://javafx.com/javafx/8” fx:controller=”hellojavafx.HellowJavaFXController”> <children> <Button text=”Say Hello” onAction=”#say”> <Label fx:id=”label”/> </children> </VBox>

public class HelloJavaFXController{ @FXML private Label label; @FXML private void say(ActionEvent event){ label.setText(“Hello, JavaFX!”); } }

PROPERTY BINDING SYSTEM Binding i JavaFX tillåter olika properties att samverka beroende av andra propertyvärden. Detta tillåter UI kontrollerna att synrkronisera med modelldatat. Properties i JavaFX är baserade på JavaBean properties och tillhandahålls av alla kontroller i JavaFX. Alla properties är ”observable”, vilket ger möjlighet att ”observera” värdet och tillgång till ett system för eventgenerering. Detta betyder att när ett värde förändras så kan man reagera på detta. Detta kallas för att ”lyssna”(listen) efter förändringar i en property. Därav kallas deras eventhanterare för Listeners. Det finns två listener-typer, ChangeListener

(där man får tillgång till både gamla och nya värdet) och InvalidationListener (man vet att värdet har ändrats). Fördelarna med Binding är att man kan minska på mängden eventhanterare och listeners. Koden blir då mer koncis och resulterar i färre buggar. Exemplet nedan skapar och kopplar ihop en slider med en progress bar, med hjälp av JavaBean binding. När användaren flyttar på slidern, så uppdateras även progress bar till samma värde. Dessutom så skriver programmet ut både gamla och nya värdet till prompten varje gång det sker en förändring. DoubleProperty value = new SimpleDoubleProperty(); value.addListener(new ChangeListener<Double>() { @override public void changed(ObservableValue<? extends Double> observable, Double newValue, Double oldValue){ System.out.println(oldValue. toString() + “ -> ” + newValue.toString(); } )}; Slider slider = new Slier(0.0, 1.0, 0.0); value.bind(slider.valueProperty()); ProgressBar bar = new ProgressBar(); bar.progressProperty().bind(value);

Exemplet ovanför innehåller bara en enkelriktad binding. Det finns dessutom dubbelriktad och oriktad Binding. Förutom JavaBean Binding, så kan man använda JavaFX fluent API. Detta kallas för High-Level Binding och är lättanvänt. Fluent API utför operationer med properties genom att använda metoder med engelska namn som multiply(), subtract(), isEqualTo(). Till exempel:

19


width().multiply(height()).divide(2). Det finns metoder för både booleans, tal, strängar och objekt. High-Level Binding tillhandahåller dessutom klassen Bindings med statiska factory-metoder, som i många fall motsvarar fluent API. Vill man ha flexibilitet och bättre prestanda så är Low-Level Binding valet man ska göra. På denna nivå kan man skräddarsy det mesta genom att tillverka subklasser till specifika Binding-klasser.

SCENE BUILDER Scene Builder är ett Open Source verktyg som genererar FXML. Man använder det genom attt dra och släppa olika komponenter, vilket snabbar upp GUI genereringen. Scene Builder möjligör snabb prototyp-generering och hjälper till att visualisera strukturen på Scene Graph.

»» Figur 5: Scene Builder

Andra finesser i Scene Builder är att command- och css-filerna redan länkas in i Scene Buildern sådet går att se det aktuella utseendet och om controllern implementerar allt man behöver; det finns en möjlighet att testa utseendet på applikationen utan att kopilera; samt att Scene buildern går enkelt att integrera i olika Java IDEs (som NetBeans och Eclipse).

Summering JavaFX är en mjukvaruplattform med en blandning av grafik- och mediapaket som tillåter utvecklare att designa, skapa, testa, debugga och deploya Rich Client/Internet Applications som kan köras på många olika enheter, med konsistent utseende och beteende. JavaFX innehåller allt man förväntar sig från moderna GUI ramkverk, som: XML-baserad markup för GUI definitioner, CSS för stil, support för touch-enheter och fullt hårdvaruaccelererat renderingspipeline med OpenGL (ES) eller DirectX.

Text: Magdalena Bozyk Systemutvecklare Testare Testledare på Addiva Software Tools and Utilities

20

ADDERA


TILLSTÅNDSBASERAD DRIFT? VAD ÄR DET? VAD MENAS MED DET?

Inget skruvande för skruvandet skull, inga avställningar utan att du verkligen behöver det. Du kan få statusen på din utrustning/komponent utan att det stör produktionen!

I

ngen kedja är starkare än sin svagaste länk. Uttalandet är välbekant men det borde emellertid följas av en annan fråga; Vilken av länkarna är den svagaste? Nästa fråga är: - Hur hittar man den svagaste länken (och kanske den näst svagaste)? Först med den kännedomen är insikten om kedjans begränsade styrka praktiskt användbar. Man kan då byta ut denna länk mot en starkare. Med förebyggande underhåll stoppas processen, utrustningen öppnas, inspekteras och sätts samman igen. Det är dock välkänt att underhållsarbetet i sig skapar nya fel t.ex man kan montera ADDERA

delar felaktigt, använda fel komponenter, skada känsliga ytor eller förstöra viktiga inställningar. I syfte att förlänga intervallen mellan förebyggande underhåll tillgriper man en form av ”statusbaserat” underhåll där t ex drifttiden för komponenterna får avgöra när de ska inspekteras och åtgärdas. Förutom att processen stoppats och produktionstid förloras kan följden bli att man har fått nya svaga länkar. Finns det någon möjlighet att hitta slitna och felande komponenter (”länkar”) i processutrustningen innan ett haveri, utan att stoppa och öppna för inspektion? Om detta är möjligt kan man stoppa och byta delen innan haveri men också passa på att byta andra delar som ”är på gång”. Vinsten är uppenbar; högre tillgänglighet genom färre och planerade kortare stopp.

Amel Muftic

21


TILLSTÅNDSBASERAD DRIFT Vår nya teknik för statusbestämning ger ny och mer information om tillståndet hos processens olika delar. Denna information tillsammans med all annan information sköljer över produktions- och underhållsplanerna. Dessa hamnar lätt i ett läge där de får mer information än vad som är möjligt att hantera och möjligheterna att identifiera de svaga länkarna blir allt svårare med den ökande informationsmängden. En vanlig reaktion är – vi behöver inte mer information – vi behöver få reda på vad den information vi får betyder, vad vi ska göra och i vilken ordning. För att utnyttja informationen måste den struktureras och sorteras så att den blir överblickbar för att sedan fokusera på de delar som avviker och är alarmerande. Information om normala tillstånd måste läggas i bakgrunden. I ett kontrollrum eller övervakningscentral samlas normalt informationen om processen aktuella tillstånd och en röd flagga börja blinka när ett onormalt tillstånd har uppstått varefter en montör skickas ut för att åtgärda. Detta är i grunden ett avhjälpande underhåll. I ett förebyggande eller ett statusbaserat underhåll ställer man delvis den information som finns i kontrollrummet åt sidan och agerar utgående från fastlagda rutiner – det öppnas, inspekteras och byts delar rutinmässigt eller vid behov. Man vill öka tillgängligheten genom att försöka minska den tid man gör inspektionerna vilket å andra sidan tenderar att öka felfrekvensen i arbetet. Vid tillståndsbaserad drift är målet att öka tillgängligheten genom att gå in och reparera det som behöver repareras, men

»» Fordon analys mjukvara ADDTRACK

låta fungerande och bevisat felfria delar vara orörda oaktat deras drifttider. Å andra sidan, när man stoppar processen för någon reparation, så reparerar man även delar som är identifierade som uppkommande svaga länkar. Ett tillståndsbaserat underhåll bygger på att informationsmängden ökar men att man kan hantera denna informationsmängd rationellt och identifiera de delar som behöver åtgärdas (innan de havererar). Den tekniska grunden är att man inhämtar information om komponenter i processen genom avancerad mätteknik, följer deras utveckling/nedbrytning och beräknar den marginal som finns till malfunktion eller haveri. Addiva har utvecklat ett ITbaserat beslutsstöd för produktions- och underhållsplanering som hjälper planerarna att hitta de svaga länkarna och som dessutom ger stöd för att finna rätt beslut i varje ögonblick. Systemet samlar in information från processen, strukturerar

den för att sedan identifiera delar som uppvisar avvikelser och som kan bli kritiska. För att återgå till kontrollrumssituationen så är detta ett framåtblickande system som varnar för uppkommande problem innan den röda flaggan blinkar. Detta är grundprincipen för den teknik som Addiva erbjuder. Är du nyfiken på den revolutionerande och patenterade tekniken för funktions-/ status kontroll av ingående komponenter i en elektrisk driven lina/krets/utrustning/ process som Addiva erbjuder eller andra tjänster vi kan erbjuda inom Diagnostic Intelligence ta kontakt med Amel Muftic (0708-8687013, amel.muftic@addiva.se) på Addiva.

Text: Amel Muftic Head of Software Products

VISSTE DU ATT… ...aluminiumfolie är så tunn att den inte kan valsas enkelskiktad och valsas därför i dubbelt lager. Det är orsaken till att det på folien finns en matt och en blank sida. Den matta har legat mot det andra lagret folie.

22

ADDERA


GEEK NIGHT I år startade ADDIVA "Geek Night" där Addivianer samlas och delar med sig av sina idéer, spela spel samt även använda labbet för sina genialiska planer. Första kvällen började med nördprat om framtidens Geek Night projekt. Vissa Addivianer kommer att bygga quad- och tricopters, experimentera med hologram teknik, göra ett roligt tablet spel och kanske även bygga en Addiva Robot. Vi kommer att uppdatera om händelserna på våra sociala medier.

»» Lansering av Geek Night 2016

NY PÅ ADDIVA MAHIR Med en kandidatexamen inom elkraft från University of Technology i Bagdad samt en masterexamen från Linköpings universitet har Mahir mycket på fötterna inom elkraftsområdet. Han har arbetat med som underhållsingenjör och konstruktör både inom kärnkraftverk och eldistribution i 6 år både i Sverige och utomlands. Nu har han ett uppdrag hos kund med elkonstruktion av reläskydd. Välkommen till Addiva Mahir!

Följ oss på

ADDIVA

ÖNSKAR

GOD JUL OCH GOTT NYTT ÅR

Facebook: AddivaAB Instagram: addivaab Twitter: @addivaab LinkedIn: Addiva AB

ADDERA

23


CONTACT ADDIVA Björn Lindström

Peter Krantz

Rasmus Friberg

Amel Muftic

CEO

Sales & Business Development

Business Center Stockholm

Head of Software Products

0705-20 39 63 bjorn.lindstrom@addiva.se

0708-67 24 57 peter.krantz@addiva.se

0768-30 80 70 rasmus.friberg@addiva.se

0708-68 70 13 amel.muftic@addiva.se

Johan Nilsson

Robin Persson

Pamela Christensson

Head of Mechanical and Electrical Engineering Services

Head of Software and Embedded Services

Head of HR and Administration

0705-55 04 88 johan.nilsson@addiva.se

0708-68 70 08 robin.persson@addiva.se

0708-68 54 11 pamela.christensson@addiva.se

Kopparbergsvägen 8, 722 13 Västerås. Telefon: 021- 471 21 50. E-mail: pamela.christensson@addiva.se


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.