Ohjelmisto osana laitetta

Samankaltaiset tiedostot
Ohjelmisto osana laitetta

Ohjelmisto osana laitetta

Agenda. Läpäisyvaatimukset Henkilökunta Luennot ja aikataulu Kurssimateriaali Harjoitustyöt Demoharjoitus Tentti ja arvostelu Muuta?

Agenda. Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu ohjelmointi

Ohjelmointiharjoituksia Arduino-ympäristössä

KONEAUTOMAATION LAATU JA TURVALLISUUS Marko Varpunen

Mitä lapsen tulisi varhaiskasvatuksesta saada? Leikki-ikäisen hyvän kasvun eväät MLL Helsinki Marjatta Kalliala

Arduino. Kimmo Silvonen (X)

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

Luento 6.1 Talotekniikka rungon suunnittelussa. Talotekniikan vaikutus rungon suunnitteluun Talotekniikan tilantarpeen alustava arviointi

Online-kurssien pikaopas Adobe Connect -yhteyden käyttämiseen

AMK verkosto- opetuksen kehittämist. mistä parhaimmillaan. Annika Michelson ja Ari Vesikko

Learning cafen yhteenveto. Helsinki

LUMA SUOMI -kehittämisohjelma LUMA FINLAND -utvecklingsprogram LUMA FINLAND development programme Ohjelmointia Arduinolla

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu

PLA Mobiiliohjelmointi. Mika Saari

Ulkoiset mediakortit Käyttöopas

P A R T. Professional Assault Response Training Seppo Salminen Auroran koulu. Valtakunnalliset sairaalaopetuksen koulutuspäivät

ELEC-A4010 Sähköpaja Arduinon ohjelmointi. Peter Kronström

C: Antenniliitin D: USB-liitin. Asennus FI. Aseta CD. Windows 98(SE), ME ei tueta.

Tech Conference Windows 10 viimeinen Windowsversio? Sami Laiho Senior Technical Fellow, MVP. #TechConfFI

Strategia, johtaminen ja KA. Virpi Einola-Pekkinen

Ohjelmistojen mallintaminen. Luento 11, 7.12.

SUOMALAISET PK-YRITYKSET EIVÄT LUOTA PILVIPALVELUIHIN

Aurinkoenergiajärjestelmien etäseurantajärjestelmä

Työn ositusmalleista. Luennon tavoitteista. Motivointia. Walker Royce, Software Project Management, A Unified Framework

Tällä ohjelmoitavalla laitteella saat hälytyksen, mikäli lämpötila nousee liian korkeaksi.

JWT 2016 luento 11. to klo Aulikki Hyrskykari. PinniB Aulikki Hyrskykari

Simulaattoriavusteinen ohjelmistotestaus työkoneympäristössä. Simo Tauriainen

////// VENETIETO.FI \\\\\\ //// Autopilotti 2014 \\\\ //-PID säätimellä. #include <EEPROM.h> #include <SoftwareSerial.h>

Avoimen lähdekoodin kehitysmallit

SKYPE-RYHMÄN LUOMINEN

Matematiikan tukikurssi

Matkahuolto lisäosa WooCommerce alustalle (c) Webbisivut.org

Ohjelmistoarkkitehtuurit. Syksy 2008

ELEC-A4010 Sähköpaja Arduinon ohjelmointi. Jukka Helle

Tietojärjestelmän osat

Testataanko huomenna?

Avoimen lähdekoodin ohjelmien ylläpito ja evoluutio

TeleWell TW-LTE/4G/3G USB -modeemi Cat 4 150/50 Mbps

JReleaser Yksikkötestaus ja JUnit. Mikko Mäkelä

opiskelun suunnittelujärjestelmä, kurki ja ilmo käyttävät kaikki samaa tietokantaa, ja uusi järjestelmä tulee osaksi tätä.

Työkalut ohjelmistokehityksen tukena

Arto Salminen,

Yhteiset konseptit ja periaatteet julkishallinnon palvelukehittämisen edistäjinä Kuntien avoin data hyötykäyttöön seminaari 27.1.

Verifioinnin ja validoinnin ero. 7. Verifiointi ja validointi. Verifiointi- ja validointitekniikat. Verifiointi- ja validointitekniikat II

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen,

T Tietojenkäsittelyopin ohjelmatyö. Testiraportti, vaihe T1. Tietokonegrafiikka-algoritmien visualisointi. Testiraportti, vaihe T1

TTY Pori. Tieteen ja tutkimuksen kohtaamispaikka

Testisarja Materiaali- ja valaistusparametrit

HTML5 - Vieläkö. Antti Pirinen

Mielestämme hyvä kannustus ja mukava ilmapiiri on opiskelijalle todella tärkeää.

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2016

TW-LTE 4G/3G. USB-modeemi (USB 2.0)

TURVALLISUUDEN HUOMIOMINEN OHJELMISTON HANKINTAKETJUSSA

Syksyn aloituskampanjat lippukunnissa

haltu..mobile.web.embedded

MODERNIT TOIMINTATAVAT KUNNOSSAPIDOSSA URAKOITSIJAN JA TILAAJAN YHTEINEN ETU

Ohjelmistoarkkitehtuurit. Syksy 2007

PLA Mobiiliohjelmointi. Mika Saari

Tieteelliset lehdet ja takautuva digitointi. Digitointirahaa onko sitä? -seminaari Jyrki Ilva

Luotettavuuden mittaamisesta. Ilkka Norros ja Urho Pulkkinen

Käyttöjärjestelmät: Virtuaalimuisti

Tarjolla tänään: Sanastoa Koneenohjausjärjestelmien suunnittelumallit. Pattern Architecture Style. GoF. Design pattern

Sonera Hosted Mail -palvelun käyttöohje

Σ!3674. Advanced Test Automation for Complex Software-Intensive Systems

Turvakriittisen projektin menetelmät ja työkalut

ASSESSING STRATEGY DEPLOYMENT IN SERVICE OPERATOR BUSINESS (STRATEGIAN TOIMINNALLISTAMINEN PALVELUOPERAATTORILIIKETOIMINNASSA)

Tutkimusdatanhallinnan suunnittelu ja DMPTuuli-työkalu

Toiminnallinen turvallisuus

Tieto ja sen mallinnus Fonectalla - Teemme tiedosta arvokasta. Aija Palomäki, TDWI jäsenkokous

Ohjelmistoarkkitehtuuriin vaikuttavia tekijöitä. Kari Suihkonen

Markkinoiden helpoin ja käytännöllisin IP Kamera

Takki. Lisää ot sik k o osoit t am alla. Nyt se sopii, tai sitten ei. Jussi Vänskä Espotel Oy. vierailuluentosarja OTM kurssi

IIZP2010 Järjestelmäprojekti 5 op

IV-kuntotutkimushanke_tutkijat

Ketterä vaatimustenhallinta

Lomat pidetty mikä on talouden suunta? Pasi Sorjonen 04/08/2014

2.2 Täydellinen yhtälö. Ratkaisukaava

Tietokoneen toiminta (Computer Organization I)

CUDA. Moniydinohjelmointi Mikko Honkonen

Dynaamisen järjestelmän siirtofunktio

OHJ-4301 Sulautettu Ohjelmointi

String-vertailusta ja Scannerin käytöstä (1/2) String-vertailusta ja Scannerin käytöstä (2/2) Luentoesimerkki 4.1

DTEK1047: Hajautet ohjelmistojärjestelmät (HOJ)

MITEN HANKINTAMENETTELYILLÄ VOIDAAN VAIKUTTAA TIETOMALLIEN KÄYTÖN TEHOKKUUTEEN RAKENNUSHANKKEISSA

Digimuutoksen 10 haastetta. DIGISALONKI Tuomo Luoma

////// VENETIETO.FI \\\\\\ //// Autopilotti 2014 \\\\ #include <EEPROM.h> #include <SoftwareSerial.h> SoftwareSerial gps(10, 0); // RX, TX -pinnit

Arduinon ohjelmointi. Sami-Petteri Pukkila. 6. helmikuuta 2017

Lisää segmenttipuusta

Digitalisaation edelläkävijät Suomessa. Miten digitalisaation eri osa-alueille panostetaan ja onko kasvua näkyvissä?

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Johdantoluento. Ohjelmien ylläpito

Turvallisuus koneautomaatiossa

Arduino. Kimmo Silvonen (X)

Markkinoille pääsyn vaatimuksia EU:ssa ja muualla. Salotek Consulting Oy

Sähköpostiohjeet. Tehokas ja huoleton sähköposti

Suomalaisten organisaatioiden kehittämistoiminnassa on paljon parannettavaa

6.3. AVR_rauta. EEPROM-muisti pva

Transkriptio:

Ohjelmisto osana laitetta Kari Systä Marko Leppänen 16.11.2015 1

Käytännön asioita Suurin osa 2. vaiheen palautteista ok. Sähköpostiotsikot eivät ohjeen mukaisin Ryhmännumerot puuttuvat Ohjeiden noudattamisessa suuria eroja => assareilla menee aika paljon aikaa palautteen tuottamiseen Vertaispalautteita puuttuu vielä Assarin palaute tulee ryhmäalueelle Canvasiin Seuraavan vaiheen ohjeet tulossa Läppäreitä mukaan viikkoharkkoihin 09.11.2015 TIE-02300/K.Systä 2

Viikkoharjoitusporkkanoista (Tapa 1 viime lukuvuonna) Tenttikys Harjoitystyö Tenttikys Viikkoharj Harjoitystyö + + Pisterajat Pisterajat MAX 09.11.2015 TIE-02300/K.Systä 3

Viikkoharjoitusporkkanoista (Tapa 2 parannettu painos) Tenttikys Harjoitystyö Tenttikys Viikkoharj Harjoitystyö + Huonoin pois Pisterajat + Pisterajat MAX 09.11.2015 TIE-02300/K.Systä 4

Viikkoharjoitusporkkanoista (Tapa 3 tätä käytetään nyt) Tenttikys Harjoitystyö Tenttikys Viikkoharj Harjoitystyö + Pisterajat Huonoin pois + Pisterajat MAX 09.11.2015 TIE-02300/K.Systä 5

Mielipidekysely Mitä jos kurssi olisikin yhden periodin mittainen? JOTU Kurssi X JOTU Kurssi X Kurssi X JOTU 09.11.2015 TIE-02300/K.Systä 6

Ohjelmistoja? 16.11.2015 7

Merkitys Softaa koneisiin! Ohjelmisto-osaaminen suomalaisen teollisuuden uudistajana, Etla, 2011 Suomen koko kansantalouden tasolla ohjelmistoista riippuvaista teollisuuden liikevaihtoa kertyy liki kolmannes koko liikevaihdosta eli noin 39 miljardia euroa. Suomen teollisuuden viennistä noin kolmannes eli 17 miljardia tulee tuotteista, jotka ovat ohjelmistoista riippuvaisia. Suomessa toimivat teollisuusyritykset työllistävät suoraan noin 19 500 ohjelmistokehittäjää, joista noin 9 400 työskentelee Suomessa. Teollisuuden alihankkima ohjelmistotyö työllistää melkein yhtä suuren joukon. 16.11.2015 8

Loppujen luentojen ohjelmasta PVM Aihe 02.11.2015 Projekteista erityisesti asiakasroolissa 09.11.2015 Rajapinnoista ja lisensseistä 16.11.2015 Ohjelmisto osana laitetta 23.11.2015 Vierailuluento; Olli Vistbacka (YLE) 30.11.2015 Kertausta 09.11.2015 TIE-02300/K.Systä 9

Myös Tampereella tapahtuu 16.11.2015 10

Eikä se ole hävinnyt kännykkäteollisuuden poistuessa http://www.tivi.fi/kaikki_uutiset/2015-05-25/... Oululainen Elektrobit myy herkkupalana pidetyt autoohjelmistot lähinnä rengasvalmistajana tunnetulle saksalaiselle Continentalille. Kauppahinta on hurjat 600 miljoonaa euroa. http://www.hs.fi/autot/a1415763122008 Perinteiset mittaristot korvautuvat uusissa Audeissa digitaalisilla näytöillä, joiden tekniikasta vastaa espoolainen yritys Rightware. Yhtiön toimitusjohtaja Jonas Geustin mukaan nyt julkistettu sopimus on jatkumoa aiemmalle yhteistyölle. Rightwaren tekniikkaa on Audi A3:ssa, ja uusissa malleissa A6 ja TT. 09.11.2015 TIE-02300/K.Systä 11

Pirkanmaalla vahva konepajaosaamisen perinne Sandvik, John Deere, Metso, Valmet, Cargotec jne. Sandvikin edustaja Aamulehdessä kehui TTY:n vaikutusta Cargotecin tutkimuslaitos Ruskossa osittain TTY:n läheisyyden vuoksi 16.11.2015 12

Ohjelmistojen koko Embedded Software: Facts, Figures, and Future IEEE Computer, April 2009 (vol. 42 no. 4) 16.11.2015 13

Ohjelmistojen koko Embedded Software: Facts, Figures, and Future IEEE Computer, April 2009 (vol. 42 no. 4) 16.11.2015 14

Koodia on paljon 16.11.2015 15

http://www.informationisbeautiful.net/visualizations/million-lines-of-code/ "High-end" auto Facebook Windows 7 Symbian Boeing 787 Android Chevy Volt Firefox Xbox HD DVD soitin Windows 3.1 Avaruussukkula Sydämentahdistaja 0 50000000 100000000 150000000 09.11.2015 TIE-02300/K.Systä 16

Nykyajan elämää 16.11.2015 17

Erityispiirteitä Koneenohjausjärjestelmillä on vahvoja laatuvaatimuksia johtuen sovellusalueen erityispiirteistä. Koneenohjausjärjestelmien elinkaari on pitkä, niiden turvallisuus on ensiarvoisen tärkeää, mutta toisaalta saavutettavuutta ei saa vaarantaa. Järjestelmät ovat usein hajautettuja ja niiden on reagoitava nopeasti niin ulkoisiin ärsykkeisiin kuin ohjaukseenkin. Nämä asiat yhdessä tekevät järjestelmien suunnittelusta haastavaa jopa ohjelmistoammattilaiselle ja usein järjestelmien suunnittelijoiden on oltava myös sovellusalueen asiantuntijoita. Järjestelmät ovat osa tuotantoketjuja ja niiden on toimittava yhteen. 16.11.2015 18

Työkoneen rakenne 16.11.2015 19

Yleinen työkoneen rakenne Kone Kouran ohjaus Rungon ohjaus Voimansiirron ohjaus PC väylä Tuotantojärjestelmä Etäyhteys 16.11.2015 20

http://www.aa1car.com/library/can_systems.htm Yhteensä jopa 30-50 kpl 09.11.2015 TIE-02300/K.Systä 21

Siis missä se 100 miljoonaa? Uudelleen käyttöä 09.11.2015 TIE-02300/K.Systä 22

http://www.dailytech.com/charlie+miller+releases+op en+source+car+sabotage+toolkit/article33308.htm 09.11.2015 TIE-02300/K.Systä 23

Käyttäjäkokemus 16.11.2015 24

Ympäristöarvot 16.11.2015 25

Sulautettu ohjelmisto (Embedded software) Osa laitetta ja sen toiminnallisuutta Usein piilossa käyttäjän ei tarvitse tietää ohjelmistosta Myydään laitteen mukana 09.11.2015 TIE-02300/K.Systä 26

Luennon 2 kalvo TTY POP 31.08.2015 TTY TIE-02300/Kari Systä 27

Kuvitteellinen sulautettu ohjelmisto (aikojen alussa) X: Muistiosoite A/D muunnos Ohjelmakoodi Y: Muistiosoite Vahvistin ja kytkin Read X IF X < 0.0 THEN WRITE 1 to Y WAIT 10ms Repeat Tuohon ohjaussilmukkaan on sitten helppo lisätä monimutkaisempia säätöalgoritmeja. 09.11.2015 TIE-02300/K.Systä 28

Monimutkaisemmat järjestelmät usein keskeytyspohjaisia Logiikka Keskeytyspalvelu X: Muistiosoite A/D muunnos Keskeytysvektori Y: Muistiosoite Vahvistin ja kytkin IF X < 0.0 THEN WRITE 1 to Y WAIT 10ms return 09.11.2015 TIE-02300/K.Systä 29

Nykyisin yleensä käyttöjärjestelmä Sovellus Käyttöjärjestelmä Keskeytyspalvelu Laiteajuri Keskeytysvektori Logiikka X: Muistiosoite A/D muunnos Y: Muistiosoite Vahvistin ja kytkin Reaaliaikakäyttöjärjestelmät Tavanomaiset (Linux, Android) 09.11.2015 TIE-02300/K.Systä 30

Taas yksi sattumus: Toyotan automaattinen kaasupoljin Kaasupoljin hirtti kiinni eikä auto pysähtynyt edes jarrulla Kaasupoljin ei ole enää mekaaninen ja vaijerivälitteinen vaan kaasupolkimen asento välittyy muuttujan arvoksi ohjausohjelmistoon. Analyysi osoitti että ohjausohjelmiston koodi oli spagettia 09.11.2015 TIE-02300/K.Systä 31

Ongelmia Iso osa funktioista oli liian monimutkaisia Testattavaksi Ylläpidettäväksi Mm 11000 globaalia muuttujaa Puutteellinen turvamekanismi (fail safe) Prosessi oli puutteellinen Koodausstandardeja ei oltu noudatettu (81514 standardin vastaista kohtaa) Toyota oli päättänyt käyttää omaa standardiaan Mutta sitäkään ei oltu noudatettu 09.11.2015 TIE-02300/K.Systä 32

Todistajan kalvoista (http://www.safetyresearch.net/librar y/barrslides_final_scrubbed.pdf) 09.11.2015 TIE-02300/K.Systä 33

Samasta 09.11.2015 TIE-02300/K.Systä 34

Sulautettujen järjestelmien haasteita Suoritusympäristö usein primitiivinen Vähän muistia, hidas prosessori Ei oikeaa käyttöjärjestelmää Testaaminen vaikeaa Laitteisto ei välttämättä ole valmis Virheilmoitukset ja muut ylellisyydet eivät ole saatavilla Luotettavuusvaatimukset suuria Käyttäjät eivät siedä virhetoimintoja Reaaliaikavaatimukset Virheiden korjaaminen ohjelmistopäivityksillä vaikeaa => kerralla kuntoon? Osaamisen puutteet - kehittäjät eivät ole ohjelmistoeksperttejä 09.11.2015 TIE-02300/K.Systä 35

Viimeisimmät haasteet Ohjelmiston päivitettävyys Huollossa Kentällä Osa Internettiä Etädiagnoosi Datan kertuu Internet of things Industrial Internet 09.11.2015 TIE-02300/K.Systä 36

Komponenttipohjaisuus Sulautettu järjestelmä koostuu tuotteesta, joka koostuu puolestaan ohjaimista. Ohjaimilla on oma rautansa, jota ohjaa raudan oma firmware. Firmwaren päällä sitten sovelluskohtainen ohjelmisto. Tämä hw+fw+sw on yksittäinen komponentti järjestelmässä. Kaikilla osasilla on oma versionsa. Esimerkki: näyttö ja sen ohjausohjelmisto 16.11.2015 37

ESIMERKKI KONEENOHJAUSJÄRJESTELMÄT 09.11.2015 TIE-02300/K.Systä 38

Koneenohjausjärjestelmien erikoisuuksia Monesti raudan valmistamisella pitkä perinne, ohjelmisto suhteellisen uusi tulokas. Kuitenkin ohjelmisto usein avainasemassa uusien rahaa tuottavien ominaisuuksien teossa. Tuotteen pitkä elinkaari Tiettyä tuotetta aletaan suunnittelemaan ehkä jo 5 vuotta ennen julkaisua Julkaistua tuotetta valmistetaan 5 vuotta Viimeisintäkin valmistunutta konetta tuetaan 10 vuotta Koneisiin lisätään uusia ominaisuuksia, tuotteenhallinta tärkeää Silti kentällä päivittäminen saattaa olla hankalaa 16.11.2015 39

Koneenohjausjärjestelmien erikoisuuksia Turvallisuus ja luotettavuus Kone voi aiheuttaa kuolonuhreja Kone voi aiheuttaa merkittäviä vahinkoja Kone on kallis ja sen downtime kallista Lainsäädäntö: ISO EN13849 tai IEC61508 ja IEC6260 Alihankinta Osa järjestelmistä ostetaan muilta yrityksiltä Rajapinnat tärkeitä Tietoturva tärkeää 16.11.2015 40

Koneenohjauksen erityispiirteitä Omat legacy ohjelmistot ja komponentit, COTS Pitkä elinkaari on yksi syy Olemassa oleva toimiva koodi on uudistusten pahin vihollinen COTS komponenttien tuki Ohjelmistot osana COTS-komponentteja Äärimmäinen esimerkki: moottori Saman softan pitää toimia eri alustoilla. Korporaation laajuiset alustat 16.11.2015 41

Koneenohjauksen erityispiirteitä Ohjelmistojen alihankinta: Perinteisesti konepajayritykset eivät miellä itseään ohjelmistotaloina Alijärjestelmät ostetaan => monitoimittajaprojekti, joka on usein perinteisillekin ohjelmistotaloille hankalaa. Hajautettu ohjelmistokehitys (P. Abrahamsson: Ei toimi). Alihankkijalla ei ole useasti aivan yhtä vahvaa sovellusaluetietämystä ja tämä joudutaan dokumentoimaan / kommunikoimaan alihankkijalle. Osaaminen myös vuotaa ulos talosta. NDA:t ja IPR tärkeää 16.11.2015 42

Koneenohjauksen erityispiirteitä Arkkitehtuuri usein väyläpohjainen ja hajautettu, lisänä M2M -kommunikaatio Hajautuksesta saadaan hallittavuutta (separation of concerns) Kaapelointikustannukset vähenevät Kokonaiskuva hämärtyy Hajautus, reaaliaikaisuus, järjestelmien järjestelmät Sulautettu ympäristö Työkalujen saatavuus voi olla huono Laskentateho? Palvelut 16.11.2015 43

Yleisiä ongelmia Testaus hankalaa Rautaa ei välttämättä ole projektin alussa saatavilla Reaktiivisuus Osajärjestelmä riippuu kokonaisuudesta Yksittäisen ohjainmoduulin toiminnasta ei välttämättä havaintoja ulkopuolelle ei kunnon testausinfraa/-työkaluja Alihankkijan vaikeudet testata usein paljon pahempia Testauksen (huonoja?) ratkaisuja: Itsetehtyjä testausstubeja, regressiotestaus vaikeaa testaillaan irtopurkilla omalla työpöydällä, vaikeaa integraation suhteen testaillaan simulaattorilla, jota tarvitaan muuhunkin testaillaan koneella, jota on vaikea saada käyttöön, kallis laite 16.11.2015 44

Ongelmat jatkuvat Henkilöstöongelmat kehityspuolella koko kehitys henkilöityy yhteen/kahteen toimijaan osajärjestelmäkehitys omassa talossa, kokonaisuuden hallinta näiden henkilöiden kiire vanhojen projektien kanssa liikaa palavereja (riippuvuudet muihin osiin/rautaan, alihankinnan järjestäminen) ei aikaa keskittyä omaan kehitystyöhön Huoltobisnes tärkeä tulolähde Etähuolto Ennakoiva huolto Halutaan kuitenkin nähdä joku paikan päällä Vendor lock-in Kehitysympäristön yhtenäistäminen Työkalujen elinkaari 16.11.2015 45

Ongelmat jatkuvat Vaatimustenhallinta Toiminnalliset vaatimukset usein hyvin hanskassa Ei-toiminnalliset vaatimukset hämärtyvät Asiakkaan käsite Mistä vaatimukset tulevat? Muut sidosryhmät Yleisiä ongelmia: Kehityksen ketteryys Paikallinen minimi ei ole koko systeemin minimi Dokumentaatio ei ole hyvä kommunikointiväline ja dokumenttien ylläpito on kallista Avoimuus vastaan suljetut ratkaisut 16.11.2015 46

Projekti vai tuote? Pitää muistaa tehdäänkö sarjatuotantoa vai projektitoimituksia. Tämä on keskeinen bisnespäätös ja vaikuttaa moniin asioihin. Bisnesmalliin sopimattomat toimintatavat aiheuttavat ongelmia softapuolellakin Huoltaako järjestelmiä tehtaan R&D vai erillinen huoltoorganisaatio? Joskus jonkun osan parametrisointi voi esim. vaatia oman työkalun, joka ei ole yhteensopiva tehtaan muiden työkalujen kanssa. Huoltopaketti koostuu valtavasta määrästä sovelluksia, jokainen sopii tiettyyn tuotekonfiguraatioon -> ei toimi sarjatuotannossa. 16.11.2015 47

Jos valmiissa tuotteessa ongelmia kentällä Ilman koneen diagnostiikkaa huolto ei tiedä helposti mikä on vialla, paikalle tarvitaan softan tekijä, joka voi softadiagnostiikkatyökaluilla debugata konetta. Tästä seuraa ongelmia Softamiehen paikalle saaminen kestää Softamies on paikalliseen huoltoon verrattuna kallis, etenkin matkat huomioiden Softamies on pois muista töistään. Usein paikalla selviää, että varaosia ei tarvita vaan riittää huonon kontaktin parantaminen tai kytkimen säätö tms. 16.11.2015 48

OMAT TEE-SE-ITSE KOKEILUT OVAT NYKYISIN HELPPOJA 09.11.2015 TIE-02300/K.Systä 49

Arduino 16.11.2015 50

Blink - the code // Pin 13 has an LED connected on most Arduino boards. // give it a name: int led = 13; // the setup routine runs once when you press reset: void setup() { // initialize the digital pin as an output. pinmode(led, OUTPUT); } // the loop routine runs over and over again forever: void loop() { digitalwrite(led, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalwrite(led, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second } 16.11.2015 51

Lets make some noise long i; boolean o; long p; int k; void setup() { // pinmode(3,output); pinmode(13,output); pinmode(8,output); Serial.begin(9600); } i = 0; p = 8000; o = true; k = 0; void loop() { digitalwrite(3,high) ; delaymicroseconds(p) ; digitalwrite(3,low); delaymicroseconds(p) ; } i = i + 1; 16.11.2015 52

Loppujen luentojen ohjelmasta PVM Aihe 02.11.2015 Projekteista erityisesti asiakasroolissa 09.11.2015 Rajapinnoista ja lisensseistä 16.11.2015 Ohjelmisto osana laitetta 23.11.2015 Vierailuluento; Olli Vistbacka (YLE) 30.11.2015 Kertausta 09.11.2015 TIE-02300/K.Systä 53