1 Innledning. Bli kjent med LABVIEW. NB! Ta med multimeter og lite skrujern!

Størrelse: px
Begynne med side:

Download "1 Innledning. Bli kjent med LABVIEW. NB! Ta med multimeter og lite skrujern!"

Transkript

1 D:\Per\Fag\Styresys\Oppgavebok\K8055LV_12\Øving 2\K8055_LV2012_SANN2_2014.wpd Fag SO507E Styresystemer HIST-AFT jan 14 PHv Dataøving 2 i SANNTID MED LABVIEW Bli kjent med LABVIEW NB! Ta med multimeter og lite skrujern! Innleveres: Utført av: Godkjenning: 1 Innledning Formålet med denne oppgaven er å bli kjent med programmeringsverktøyet LabView 2012 som leveres av National Instruments og å lage programmet IOtestLV som du brukte i dataøving 1. LabView er et søsterprodukt til LabWindows. Begge produkter er laget spesielt for styring av eksternt utstyr fra en PC. Opprinnelig ble de laget for styring av labinstrumenter, labutstyr og datainnsamlingsutstyr. Det finnes derfor ferdige instrumentdrivere til voldsomt mye utstyr av denne typen. Særlig utstyr fra National Instruments, men også fra mange andre produsenter. Filene som produseres av LabWindows har etternavnet vi som står for Virtual Instrument, mens etternavnet på den ene typen filer som produseres av LabWindows har etternavnet cvi som står for Virtual Instrument programmert i C. I begge disse produktene lages grensesnittet på skjermen grafisk i et slags teikneprogram. Hovedforskjellen mellom de to produktene er at i LabView lages også programkoden grafisk, mens i LabWindows programmeres det i C. For den som er god i C-programmering er mulighetene og fleksibiliteten i LabWindows mye større enn i LabView. LabView derimot gir et mer konkret grafisk bilde av programkoden og er mye lettere å komme i gang med når programmeringsferdigheten i tradisjonelle programmeringsspråk ikke er helt på topp. LabView baserer seg på en dataflytmodell mens LabWindows-program er hendelsesorienterte. Vanlige tradisjonelle dataprogram er sekvensorienterte eller løkkeorienterte. I et sekvensorientert program kan du følge gangen i programmet fra start til slutt ved å følge kildekoden i en sekvens. I løkkeorienterte programmet kan du følge gangen i programmet rundt og rundt i ei løkke. De fleste PLS-program er bygd opp av en sekvens som gjentar seg hele tida i ei større løkke. Det finnes også program som tilsynelatende er hendelsesorientert, men hvor programmet likevel hele tida går i ei løkke (event loop). I LabView er det mulig å følge dataflyten ved å følge ledningene som forbinder de grafiske blokkene. I utgangspunktet er ikke LabView hendelsesbasert, men i vår profesjonelle versjon av programmet er det mulig å programmere hendelsesorientert i tillegg til dataflytorientert. Det beste fra begge verdener? Hendelsesorientert programmering baserer seg på at hver hendelse (event) fører til en handling (action). Den som lager programmet har ingen mulighet til å forutsi i hvilken rekkefølge hendelsene kommer. Det er det brukeren av programmet og eventuelt eksternt tilkopla utstyr som bestemmer. Eksempler fra dagliglivet: Hendelse: Det ringer på døra. Handling: Lukk opp døra. Hendelse: Kaffen koker over. Handling: Ta kaffekjelen av plata og slå av plata. Hendelse: Timen er slutt. Handling: Gå ut på gangen. Hendelser og handlinger i LabView kan være: Hendelse: Det skjer et klikk med venstre museknapp når musemarkøren står over Avslutt-knappen. Handling: Avslutt programmet. Hendelse: Klokka har gått ut samplingstida. Handling: Hent inn prosessverdien fra ADomformeren. Rekn ut pådraget. Send pådraget ut til DA-omformeren. Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabVIEW 2012 Side 13

2 Side 2 Dataøving 2 SANNTID Bli kjent medlabview Bak kulissene foregår det veldig mye, men dersom du bare husker på at LabView kan være både hendelsesorientert og dataflytorientert på samme tid så går det greit. Du må forutse alle hendelser som du vil at programmet skal håndtere og så programmere alle handlingene som hører med til hendelsene. 2 Kjøring av demoprogrammet GrafEksempel Oppstart av LabView: Programmet er installert på alle PC ene på 217. Du starter opp programmet fra Start 6 Alle programmer 6 National Intrumensts 6 National Instruments LabVIEW NB! Første gang du starter opp programmet kan det hende det dukker opp noen vinduer på skjermen med spørsmal. Svar Ja på alle. Nå dukker oppstartvinduet opp: For å bli bedre kjent med LabView skal du først se på et ferdig eksempel. Det finnes utrolig mange ferdige eksempler i LabView som viser hvordan de forskjellige delene i programmet er brukt til å løse en eller annen oppgave. Du finner dem under Help 6 Find Examples... øverst i oppstartvinduet. Her skal du i stedet se på eksemplet GrafEksempel.vi som ligger under K:\Fag\AFT\EDT\_FAG\SANNTID\LabView. a) Du skal starte opp programmet i LabView. Dersom du finner programnavnet direkte under Open halveis ned i høgre kolonne kan du starte det opp direkte derfra. Hvis ikke må du gå veien om Browse... og så leite deg fram til du finner programmet på katalogen: K:\Fag\AFT\EDT\_FAG\SANNTID\LabView. Når GrafEksempel er starta opp i LabView får du først opp frontpanelet. Side 14 Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabVIEW 2012

3 Dataøving 2 SANNTID Bli kjent med LabVIEW Side Frontpanelet Du har nå fått opp frontpanelet til GrafEksempel. Det viser brukergrensesnittet. a) Prøvekjør programmet ved å trykke på. Etterpå kan du stoppe programmet ved å trykke på. Når programet er stoppet kan du redigere f eks farge, posisjon, størrelse osv på alle objektene i frontpanelet uten at det påvirker virkemåten under kjøring. Et godt brukergrensesnitt skal gjøre at brukeren får til å bruke programmet med et minimum av instruksjon. En av fordelene med LabView er at det finnes veldig mange ferdige objekter som er ganske avanserte. Hele objektet som plotter kurver i frontpanelet er et ferdig objekt som heter Waveform Chart. Dersom du høgreklikker på dette objektet under kjøring vil du se at det inneholder mange innebygde muligheter. Du kan også prøve å klikke på feltene som markerer fargekodene til kurvene! b) Test ut Waveform Chart! c) Prøvekjør programmet en stund og test ut alle knappene og innmatingsfeltene i programmet til du skjønner hva som skjer når du trykker på dem eller skriver inn verdier. 2.2 Blokkdiagrammet Til alle frontpanel er det kopla et blokkdiagram. I blokkdiagrammet programmeres handlingene som skal skje basert på hendelser i frontpanelet. Hva skal skje når brukeren trykker på? Programmet skal avslutte! Dette må programmeres i blokkdiagrammet. Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabVIEW 2012 Side 15

4 Side 4 Dataøving 2 SANNTID Bli kjent medlabview a) Åpn opp blokkdiagrammet ved å velge Window 6 Show Block Diagram Nå dukker dette blokkdiagrammet opp: b) For å få litt hjelp er det greit å åpne det kontekst-sensitive hjelpevinduet. Gjør det ved å gå inn på menylinja øverst i blokkdiagrammet og velge Help 6Show Context Help. c) Nå dukker hjelpevinduet opp. Det viser hjelp om det objektet som musemarkøren står over i øyeblikket. Dersom du holder musemarkøren din over Sinusblokka midt på i øverste halvdel av blokkdiagrammet skal du få se figuren til høgre her. Gjør du det? Hjelpen forteller at signalet ut er lik sinus til signalet inn dersom signalet inn er i radianer. Ofte vil du kunne få mer hjelp ved å trykke på Detailed help. For mer kompliserte Side 16 Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabVIEW 2012

5 Dataøving 2 SANNTID Bli kjent med LabVIEW Side 5 blokker viser den detaljerte hjelpa ofte videre til eksempelprogram som viser bruken av blokka. Eksempelprogram kan være nyttige fordi det ikke alltid er like lett å vite hvordan du skal bruke avanserte blokker. På høgre side i blokkdiagrammet er det en Case Structure. Denne består av ei ramme med etiketten True. Når denne strukturen får inn et signal til som er True så skal det skje som står inni ramma under etiketten True. Inni ramma er det ei blokk med navnet Sinus og cosinussignaler. Det er Waveform Chart-blokka som foretar oppteikning av kurvene i frontpanelet. Hver gang det kommer signaler til denne blokka så oppdateres kurvene i frontpanelet. Inn på Waveform Chart-blokka går det en signalbunt med de tre signalene som plottes. d) Hvilke tre signaler er det som går inn til Waveform Chart-blokka? e) Hva skjer om signalet til er False? 2.3 Trådløs kopling mellom frontpanel og blokkdiagram Det som står som etikettnavn på objekter i frontpanelet blir også brukt som navn på de tilhørende signalgivere eller signalmottakere i blokkdiagrammet. I LabView kalles et objekt i frontpanelet som skal ta i mot data fra brukeren eller opereres av brukeren for en Control. Tilsvarende kalles alle objekter i frontpanelet som ikke kan opereres av brukeren, men gir informasjon fra programmet tilbake til brukeren for en Indicator. Alle objekter i frontpanelet av typen indikator eller kontroll har en tilhørende terminal (Terminal) i blokkdiagrammet. Et objekt i frontpanelet som skal ta i mot data fra brukeren vil alltid automatisk få ei tilsvarende termninal-blokk i blokkdiagrammet som mottar verdien trådløst og som kan sende den videre på en ledning. LabView er basert på en dataflytmodell og alle data blir sendt ved hjelp av ledninger eller trådløse forbindelser. Dette innmatingsfeltet i frontpanelet er en kontroll som har denne terminalen i blokkdiagrammet. Terminalen mottar signalet trådløst fra frontpanelet og kan sende det videre i blokkdiagrammet med en ledning. Et objekt i frontpanelet som skal ta i mot data fra programmet vil alltid automatisk få ei tilsvarende termninal-blokk i blokkdiagrammet som mottar verdien fra en ledning og sender den trådløst videre til indikakatoren. Dette visingsfeltet i frontpanelet en indikator som mottar verdier trådløst fra denne terminalen blokkdiagrammet. Noen ganger kan det bli tungvint å trekke signalledninger på kryss og tvers mellom blokkene. Da kan det være greit å lage en lokal variabel som formidler trådløs kontakt mellom blokker. Alle lokale variabler må ha en tilhørende indikator eller kontroll i frontpanelet. Den lokale variablen vil ha samme navn som signalet som sendes eller mottas trådløst. i er Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabVIEW 2012 Side 17

6 Side 6 Dataøving 2 SANNTID Bli kjent medlabview Dette er en lokal variabel trådløsmottaker som sender signalet videre på en signalledningen. Det er også mulig å bruke lokale variable til å sende verdier trådløst tilbake til en kontroll eller en indikator i frontpanelet for å oppdatere denne uten at brukeren gjør noe. Et eksempel på dette er som mottar verdien 0,1 fra en signalledning og sender dette til alle trådløse mottakere av variablen Cosinus offset. Det gjelder også innmatingsfeltet som da vil skifte verdi fra 0 til 0,1. Objekter i frontpanelet kan virke både som sendere og mottakere eller bare som mottakere av trådløse signaler. Kontrollere i frontpanelet kan både sende og motta trådløse signaler. Indikatorer kan bare motta trådløse signaler. Det finnes en spesialmottaker som bare mottar trådløse signaler direkte fra frontpanelet på en egen skjerma frekvens. Det kan sammenliknes med et nødsamband. Dette er som tar imot nye verdier fra brukergrensesnittet akkurat når en bestemt knapp eller innmatingsfelt e l blir manøvrert. Denne trådløse mottakeren finnes bare i Event Structure hvor objektet det gjelder må være spesielt definert. Et problem er at den som lager programmet kan velge å skjule etiketten til objekter i frontpanelet. Dette gjelder særlig objekter med flere valg hvor også valgene skal ha sine navn. Da blir det ofte komplisert for brukeren om det i tillegg står en etikett. Et eksempel på det er venderen for å velge mellom frekvens i Hz eller i rad/sek. En etikett i tillegg vil da kunne forvirre brukeren. LabView hjelper deg med å finne terminalen om du høgreklikker med musa i en kontroll eller indikator og så velger Find 6 Terminal. Tilsvarende kan du i blokkdiagrammet høgreklikke med musa i en terminal eller lokal variabel så velge Find 6 Control eller Find 6 Indikator når du vil finne det tilhørende objektet i frontpanelet. a) Finn terminalen til følgende fire objekter i frontpanelet: Den øverste: Den nederste: b) Finn indikatoren/kontrolleren til følgende terminal: Finn indikatoren/kontrolleren til følgende Variabel: 2.4 Programmering med ledninger og trådløse forbindelser Her er vist et utsnitt av blokkdiagrammet Side 18 Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabVIEW 2012

7 Dataøving 2 SANNTID Bli kjent med LabVIEW Side 7 som viser hvordan sinussignalet som skal vises i Waveform Chart i frontpanelet reknes ut med vanlige blokker. Noen ganger kan det være veldig arbeidskrevende å hente inn masse blokker og så forbinde dem med ledninger for å få utført enkle utrekninger. Et alternativ kan da være å bruke ei formelblokk (Formula Node) hvor utrekninger kan skrives i C-syntaks med et redusert sett av C- funksjoner. Her er det de samme utrekninger som foretas, men nå for cosinussignalet. Innmaten i formelnoden programmeres som en vanlig C-funksjon, mens ramma rundt overtar rollen til funksjonshodet. Alle inn- og utverdier må få en egen variabel i ramma til blokka. Interne hjelpevariabler må deklareres på samme måte som i C. 2.4 Handtering av hendelser med Event Structure Når en hendelse oppstår i frontpanelet så kan denne fanges opp nesten momentant av hendelsefella (Event Structure). En vanlig terminal sender bare mottatte verdier videre når den delen av blokkskjemaet kjøres, mens hendelsefella bryter inn i den normale programkjøringa, tar tak i hendelsen og utfører handlingen som er programmert til akkurat denne spesielle hendelsen. Et program som spesifiserer handlingene til en hendelse kalles et avbruddsprogram. Hendelsen avbryter den vanlige programkjøringa og starter det tilhørende avbruddsprogrammet. Når avbruddsprogrammet er ferdigkjørt fortsetter den vanlige programkjøringa der det var før det ble avbrutt av hendelsen og avbruddsprogrammet. Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabVIEW 2012 Side 19

8 Side 8 Dataøving 2 SANNTID Bli kjent medlabview I figuren er det plassert ei hendelsefella inni ei While Loop. Hendelsefella kjennes igjen på at det er et timeglass oppe i venstre hjørnet. Whileløkka kjennes igjen på at ramma er ei pil som starter og slutter nederst i høgre hjørne. I tillegg er det et blått kvadrat med en i inni i nedre venstre hjørne og et grønt kvadrat med en rød flekk inni i nedre høgre hjørne. Det blå kvadratet kan gi informasjon om hvor mange ganger løkka er kjørt. Det grønne kvadratet er en betingelses-terminal for While-løkka som kan brukes til å stoppe løkka. I praksis må hendelsfella stå inni i ei løkke. Det er mest vanlig å bruke ei while-løkke sammen med hendelsesfella. I navnefeltet på hendelsefella står det at dette er hendelse nr 1 og at den blir aktivert når Avslutt-knappen i frontpanelet skifter verdi: dvs trykkes ned. Da skifter NewVal fra False til True. Terminalen merka Avslutt gjør ingenting og er bare plassert her fordi den må stå et sted. Det er terminalen NewVal som mottar meldinga om at Avslutt har fått en ny verdi. Når Avslutt har fått en ny verdi sender nødsambandet ut den nye verdien dvs True som betyr at knappen er trykket ned. Denne verdien mottas av NewVal som sender den videre ut på ledningen. Den lokale variablen Stoppet sender så verdien True videre til alle trådløse mottakere som er merka Stoppet. Dvs både til frontpanelet og til andre lokale variable i blokkskjemaet. Ledningen fra NewVal går også videre ut gjennom høgre rammekant og ned til betingelsesterminalen. Når denne denne mottar verdien True så stopper all videre kjøring av denne løkka, men LabView-programmet vil fortsette å gå dersom det er andre While-løkker i blokkdiagrammet som ikke har fått stoppordre. a) Hva er det som gjør at den andre While-løkka i blokkskjemaet også får stoppordre og at hele LabView-programmet stopper? Timeglasset oppe i venstre hjørne kan brukes til å kople opp en maksimaltid som hendelsesfella skal vente på ei ny hendelse. Særlig for hendelser som foregår i eksternt utstyr kan dette være viktig. Når det ikke er noen tilkopling til timeglasset så betyr det at denne hendelsefella er aktiv i uendelig lang tid. I praksis betyr det at hendelsefella er aktiv hele tida mens den omsluttende While-løkka er aktiv. b) Trykk på høgre eller venstre trekant på enden av etiketten og se nærmere på de andre hendelsene som fanges opp i hendelsefella. Hvor mange hendelser fanges opp av fella utenom hendelse null? 3 Hvordan lage programmet IOtest1LV? I dataøving 1 brukte du programmet IOtest1LV til å kommunisere med PC I/O-kortet i PC en. Du skal nå lage din egen versjon av dette programmet. 3.1 Laging av frontpanelet Side 20 Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabVIEW 2012

9 Dataøving 2 SANNTID Bli kjent med LabVIEW Side 9 Programmet skal brukes til å sende verdier til og fra K8055-kortet. Vi starter alltid med å lage frontpanelet først og blokkdiagrammet etterpå. Det er sjelden vi blir fornøgd med programmet med en gang. Som oftest må man gå tilbake og utvide brukergrensesnittet i frontpanelet. Deretter må blokkdiagrammet oppdateres osv. I praksis blir dette en evig runddans til man er fornøgd. a) Nytt frontpanel: Lukk alle vinduene (frontpaneler og blokkdiagram) i LabView. Nå skal Getting started-vinduet dukke opp. Gå inn under New og velg Blank VI. Nå dukker dette vinduet opp: Ditt frontpanel er sikkert litt større. På frontpanelet skal du nå plassere alle de objektene du har bruk for. I første omgang er det bare om å gjøre å få de riktige objektene plassert på frontpanelet. Når alle objekter er på frontpanelet med de riktige egenskapene plasseres de omtrent der de skal være. Finjustering gjøres først helt til slutt når alt virker som det skal! b) Innmatingsfeltene DA1" og DA2": I frontpanel skal det være to innmatingsfelt. Start med å plassere et innmatingsfelt av typen Numeric Control på frontpanelet. Du finner det i Controls- Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabVIEW 2012 Side 21

10 Side 10 Dataøving 2 SANNTID Bli kjent medlabview vinduet under Modern 6 Numeric. Skift navn til DA1. Lag også en kopi av denne som du skifter navn på til DA2 og plasser kopien til høgre for DA1. Tips! Det er ikke sikkert at Controlspalettevinduet ditt ser greit ut første gangen du bruker det. Uansett hvordan det ser ut vil det nederst i vinduet være et felt som heter Change Visible Palettes... Klikk der! Da skal dette vinduet dukke opp. Klikk på Select All og deretter på OK. Nå skal utseendet på Controls-palettevinduet se sånn ut: Går du nå inn på Modern og Numeric finner du Numeric Control. c) Trykk-knappen Avslutt I front-panelet skal det være ni trykk-knapper. Plasser først en trykk-knapp av typen Cancel Button på frontpanelet. Den finner du i Controls-vinduet under Modern 6 Boolean. Etterpå må du gi knappen de rette egenskapene. Høgreklikk på knappen og velg Properties. Gå videre inn på Appearence-fanen og redigere egenskapene så de blir som på figuren. Gå over i blokkdiagrammet og finn igjen terminalen til Avslutt-knappen. Den er symbolisert med et ikon som det står Cancel på. Det kan skape forvirring. Side 22 Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabVIEW 2012

11 Dataøving 2 SANNTID Bli kjent med LabVIEW Side 11 Høgreklikk på terminalen og velg det nest nederste valget hvor det står en hake foran View As Icon. Nå skal terminalen skifte symbol til d) Resten av trykk-knappene: Kopier knappen i frontpanelet og lag åtte kopier med Label og Off text som stemmer med det som skal stå på de andre knappene. Mens du lager dem kan du prøve å grovplassere dem med det samme så du ender opp med et frontpanel som ser omtrent ut som på figuren: e) Visningsfelt: I frontpanelet skal det også være visningsfelt for tallverdier. Et visningsfelt er en indikator. Når du allerede har innmatingsfelt i frontpanelet så er det enkleste å lage et visningsfelt ved først å lage en ny kopi av et av innmatingsfeltene. 1) Lag en ekstra kopi av innmatingsfeltet DA1. Høgreklikk på kopien og velg Change to Indicator. Nå skal innmatingsfeltet blitt til et visningsfelt. 2) Lag fire kopier av visningsfeltet så du til sammen får fem indikatorfelt. Skift navn på kopiene og grovplasser dem så du får omtrent frontpanelet som vist på neste figur. Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabVIEW 2012 Side 23

12 Side 12 Dataøving 2 SANNTID Bli kjent medlabview f) Radioknappene SK5 og SK6": Radioknappene (Radio Buttons) brukes som av/på knapper for å vise om adresselaskene på kortet er tilkopla eller ikke. Radioknappene finner du i Controls-vinduet under Classic 6 Boolean 6 Square Radio Button. 1) Lag først en radioknapp som du plasserer over oppkoplingsknappen. Deretter høgreklikker du radioknappen, velger Properties og gir den verdier som vist i figuren under. Legg merke til at det er valgt en synlig Off text: SK5 i stedet for å la etiketten (Label) : SK5 være synlig. Grunnen er at en etikett som skal stå rett til høgre for radioknappen vil havne et godt stykke fra knappen. Dersom teksten ønskes rett til høgre for knappen må det gjøres på denne måten. Hvis du i stedet vil ha etiketten over knappen er det bedre å bruke synlig etikett og droppe off-teksten. Side 24 Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabVIEW 2012

13 Dataøving 2 SANNTID Bli kjent med LabVIEW Side 13 2) Når du er ferdig lager du en kopi som du plasserer til høgre for den første radioknappen og sørger for at den heter SK6. Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabVIEW 2012 Side 25

14 Side 14 Dataøving 2 SANNTID Bli kjent medlabview g) Lysdioden Oppkopling OK?": Lysdioder kan brukes som indikatorlamper i brukergrensesnittet. Disse har én farge når de er avslått og en annen farge når de er påslått. Her skal du bruke en lysdiode som viser om det er kontakt mellom brukergrensesnittet på PCen og K8055-kortet etter at brukeren har trykka på Oppkopling. Lysdioder finner du i Controls-vinduet under Modern 6 Boolean 6 Round LED. Lag først en lysdiode som du plasserer under oppkoplingsknappen. Deretter åpner du Properties og gir den verdier som vist på figuren. Pass på at On-fargen er grønn og at Off-fargen er mørkegrå. h) Lysdioder for digitale innganger: Det skal være fem lysdioder som viser statusen til de 5 digitale inngangene på kortet når brukeren trykker på Les alle digitale - knappen. Disse skal være uten synlig etikett (label), men ha etikettnavnene LED1 til LED5. On-fargen skal være Rød, mens Off-fargen skal være mørkegrå. Lag de fem lysdiodene og plasser dem under Les alle digitale - knappen.. Side 26 Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabVIEW 2012

15 Dataøving 2 SANNTID Bli kjent med LabVIEW Side 15 i) Pynterammer for gruppering: For å gruppere objekter som hører sammen kan det være greit å bruke innramminger. En type ramme kan du lage med Modern6 Decoration 6 Recessed Frame. Du skal lage tre rammer som vist på figuren: Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabVIEW 2012 Side 27

16 Side 16 Dataøving 2 SANNTID Bli kjent medlabview j) Tekst på rammene: Det hører ikke med synlige etiketter (label) til rammene så tekst må settes på som ekstra objekter. Det kan gjøres enkelt ved å dobbeltklikke i frontpanelet der hvor du vil plassere teksten. Deretter skriver du inn teksten og flytter den dit du vil ha den. Lag tekster og plasser den over rammene så du får et frontpanel som vist på neste figur: Nå skal du ha laget ferdig dette brukergrensesnittet. Ikke bry deg om at objektene ikke er plassert helt pent. Den siste finpussen med plassering av objekter på skjermen gjøres helt til slutt når hele programmet er ferdiglaget og funker som det skal. 3.2 Prøvekjøring av frontpanelet. Det er fullt mulig å teste alle kontrollerne uten å ha laget noe blokkskjema. I vårt frontpanel består kontrollerne av innmatingsfeltene og trykk-knappene. Fordi vi ikke har laga noe kode i blokkdiagrammet vil de ikke skje noe i indikatorne (lysdioder og visningsfelt). a) Trykk på og prøvekjør frontpanelet. Får du skrevet inn nye verdier i DA1? b) Avslutt testinga av frontpanelet ved å trykke på 3.3 Laging av kode i blokkdiagrammet. Side 28 Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabVIEW 2012

17 Dataøving 2 SANNTID Bli kjent med LabVIEW Side 17 Mens du har laga frontpanelet har LabView plassert en terminal i blokkdiagrammet for hvert objekt av kontroller- eller indikator-typen du har plassert i frontpanelet. Reine dekorasjoner eller tekster får ingen terminal i blokkdiagrammet. a) Blokkdiagrammet: Dersom du ikke allerede har funnet blokkdiagrammet kan du få LabView til å vise deg det ved å velge Window 6 Show Block Diagram. LabView plasserer terminalene mer eller mindre tilfeldig i blokkdiagrammet. Det er derfor behov for opprydding, men det er greit å ha en plan for hvor terminalene skal plasseres og hvordan programmet skal se ut. I LabVIEW er det ingen bestemt rekkefølge på hvordan programmet kjøres. Det eneste som er garantert er at programflyten er i pilretninga, men det er umulig å forutsi rekkefølgen på parallelle løp som ikke har noen innbyrdes kopling. Det er derfor vanlig å tvangsinndele programmmet i tre deler. Del 1: Oppstartkode. Dette er vanligvis for å sørge for de riktige startverdiene og at eksternt utstyr blir starta opp på riktig måte. Del 2: Kjørekode. Det er den delen av koden som sørger for at alt skjer som planlagt under vanlig programkjøring. Del 3: Avsluttingskode. Når programmet avsluttes må ofte eksternt utstyr kjøres ned og avstenges på et forsvarlig vis. Det kan også være at brukeren bør spørres om det er ting som skal lagres til neste kjøring osv. Stacked Sequence Structure: For å få delt programmet i deler som skal kjøres etter hverandre brukes en sekvens-struktur. Når det er mer enn litt kode blir det mest oversiktelig å bruke en sekvens-stakk (Stacked Sequence structure). Denne består av bilder med programkode som ligger oppå hverandre i en stor bunke. Under kjøring kjøres først alle kode på det første bildet, deretter all kode på bilde nummer to osv. helt til all kode på det siste bildet er ferdigkjørt. Da stopper programmet. Bilde nummer en skal inneholde oppstartkoden. Koden der kjøres bare en gang. På bilde nummer to skal vi lage noen evige løkker sånn at programmet vil holde seg på bilde nummer to helt til brukeren trykker på Avslutt-knappen og programmet går over til bilde nr 3 hvor avsluttingskoden legges. Bilde nr tre kjøres en gang. Deretter stopper programmet. Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabVIEW 2012 Side 29

18 Side 18 Dataøving 2 SANNTID Bli kjent medlabview b) Hent en sekvensstakk fra Controls-vinduet under Programming 6 Structures og trekk den rundt alle terminalene i blokkdiagrammet. c) Høgreklikk inni øvre ramme og velg Add Frame After. Da får du et bilde til i stakken. Gjenta dette en gang til sånn at du totalt får bildene 0, 1 og 2 i stakken. d) Bla over til bilde 1 i stakken ved å trykke på høgre eller venstre trekant ved overskriften i øvre ramme. Bilde nummer en i stakken skal være et tomt bilde som du skal bruke til kjørekoden. e) Event Strukture og While Loop: Hent ei hendelsefelle (Event Structure) fra Controls-vinduet under Programming 6 Structures og trekk den ut til et passende rektangel i bilde 1. Hent deretter ut ei while-løkke (While Loop) fra Programming 6 Structures og trekk den ut rundt hendelsefella. f) Oppfanging av trykk på Avslutt-knappen. Høgreklikk i etiketten på øverste ramme til hendelsefella og velg Edit Events Handled by This Case... Nå dukker det opp et Side 30 Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabVIEW 2012

19 Dataøving 2 SANNTID Bli kjent med LabVIEW Side 19 vindu hvor du først velger hvilket objekt som hendelsen skal knytte til i midterste kolonne og så hendelsestype i høgre kolonne. Velg Avslutt og Value Change som vist i figuren og trykk OK: g) Handlingskode til Avsluttknappen: Når noen trykker på Avslutt-knappen skal programmet stoppe. Dette gjøres enklest ved å kople en ledning fra NewVal til termineringsknappen for While-løkka rett gjennom høgre ramme som vist på figuren. h) Prøvekjøring: Fordelen med LabVIEW er at det er mulig å teste programmet etter hvert som det er lagt til kode. Gå over til frontpanelet og start opp programmet ved å trykke på. Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabVIEW 2012 Side 31

20 Side 20 Dataøving 2 SANNTID Bli kjent medlabview h1) Får du stoppet programmet ved å trykke på Avslutt-knappen? h2) Har Avslutt-knappen riktig gråfarge etter at programmet er stoppet? i) Riktig gråfarge på knapper etter at de er sluppet: Knapper kommer først tilbake til sin riktige lysegrå farge når den tilhørende terminalen sin kode er ferdigkjørt. Det betyr at terminalen til Avslutt-knappen ikke kan stå på på bilde 0 i sekvensstakken, men må flyttes over på bilde 1 og plasseres inni While-løkka. Er det plass kan det være greit å plassere den helt inni hendelsefella for hendelsen Avslutt som vist på figuren. i1) NB! Ikke klipp ut terminalen og lim den inn igjen på rett plass! Det skaper rot i frontpanelet. Flytt og parker Avslutt-terminalen ved å trekke den ut fra sekvens-stakken med musa og parker den midlertidig i blokkdiagrammet på utsida av sekvensstakken. Bla deretter over til bilde 1 på stakken og trekk Avslutt-terminalen over på rett plass. Terminalen skal bare stå her uten noen tilkopling. i2) Prøvekjør programmet nå. Får du fortsatt stoppet programmet ved å trykke på Avslutt-knappen? Har Avslutt-knappen riktig gråfarge etter at programmet er stoppet nå? j) Handlingskode for Oppkoplings-knappen: Når brukeren trykker på Oppkopling så skal det settes opp en forbindelse via USB-kabelen fra PC en og til K8055-kortet. Fordi en PC kan styre inntil fire kort må forbindelsen settes opp til det kortet som har riktig adresse. I tillegg kan det være at et annet program på PC en allerede har satt en forbindelse til kortet. NB! Bare den applikasjonen som har satt opp en USBforbindelse kan bryte den. Dersom USB-kabelen frakoples brytes automatisk forbindelsen. Derfor må følgende skje i blokkdiagrammet: (NB! De fire punktene som følger her er bare informasjon. Konkret programmering starter først i punkt j1) på neste side.) 1) Lukk forbindelsen til kortet. (Kommer konkret i punkt j3) 2) Les av hvilke lasker som brukeren har satt på kortet ved å lese av de to radioknappene SK5 og SK6. Konverter dette til ei adresse og skriv adressa i indikator-feltet KortAdresse. (Kommer konkret i punkt j4) 3) Åpn opp forbindelsen til kortet med angitt adresse og skriv svaret som kommer tilbake fra K8055-kortet i indikator-feltet Aktivt kort. (Kommer konkret i punkt j5) Side 32 Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabVIEW 2012

21 Dataøving 2 SANNTID Bli kjent med LabVIEW Side 21 4) Sjekk at det faktisk er satt opp en forbindelse til kortet på riktig adresse. Det er jo ikke sikkert at det finnes noe kort som er kopla til PC en med den adressa brukeren foreslår. Dersom forbindelsen er OK så skal lysdioden i frontpanelet merka Oppkopling OK? tennes. I motsatt fall skal den slukkes. (Kommer konkret i punkt j6) j1) Oppfanging av trykk på Oppkoplingsknappen: Høgreklikk i etiketten på øverste ramme til hendelsefella og velg Add Event Case... I vinduet som nå dukker opp velger du Oppkopling under Event Sources og Value Change under Events. Trykk OK. Nå skal du ha fått lagt til en ny hendelse som skal fanges opp i hendelsefella. j2) Noen av stegene 1 til 4 må skje i riktig rekkefølge. Det må derfor opprettes en sekvens-stakk inni hendelsefella for hendelsen Oppkopling. Opprett sekvensstakken med fire bilder på samme måte som i 3.3 punktene b, c og d. Sidesprang: Kopling av koden i blokkdiagrammet til DLL-fila med funksjoner som styrer K8055-kortet. På heimesidene til finnes det mange eksempler på hvordan K8055-kortet kan programmeres i forskjellige programmeringsspråk. I tillegg finnes det ofte nyere og mer kompakte dll-filer enn det som følger med byggesettet. Det finnes muligheter for programmering i Visual Basic, Visual C/C++, Borland C/C++ og LabVIEW. I tillegg finnes det apper for styring av kortet med Android og iphone. For å programmere i LabVIEW er det nødvendig å benytte ei ferdig blokk i LabVIEW som kan brukes til å få tak i hver enkelte funksjon i en DLL. Forutsetninga for at dette skal funke er at man har tilgang på en beskrivelse av hvilke variable som går inn i en funksjon og hvilke variable som returneres fra funksjonen. I C kalles dette for en prototyp. For en DLL som skal brukes i C er gjerne disse samla i header-fila. I LabVIEW må du ha tilgang til de samme opplysningene. Dersom det finnes ei header-fil så er det greit å bruke informasjonen i denne. Dere skal bruke en samling sånne blokker som er laga ferdig av Per Hveem. I tillegg til blokkene må dere også ha tilgang på sjølve dll-fila som heter K8055D.dll. Blokkene i form av subvier og dll-fila ligger samla på katalogen: K:\Fag\AFT\EDT\_FAG\SANNTID\LabVIEW\K8055 subvi. Hver av disse subviene har sitt eget frontpanel. Ved å dobbeltklikke på blokka dukker frontpanelet opp. Det forteller hvilke variable som går inn og hvilke variable som kommer ut av blokka, men prototypene forteller også mye. Som vedlegg til denne øvinga finner du derfor også en utskrift av prototypene til den tilhørende headerfila. Dll-fil med driver 3.02 virker for Windows XP, Vista og Windows 7. Dll-fila inneholder mange nyttige funksjoner som kan brukes for å lese og skrive til K8055- kortet. Det er kommet ei dll-fil med driver 4.0, men den kan ikke uten videre byttes ut med driver Det kan bety at det er noe galt i driver 4.0 fordi alle nye driverversjoner av dllfiler som ikke skifter navn skal være bakoverkompatible. Sidesprang slutt! j3) Henting av subviet CloseDevice: Få fram bilde 0 i sekvens-stakken som du nettopp har laga innihendelsefella. Gå deretter inn i Functions-vinduet Select a VI... Nå dukker det opp et filbehandlingsvindu. Der finner du fram til katalogen K:\Fag\AFT\EDT\_FAG\SANNTID\LabVIEW\K8055 subvi og velger K8055 Close Device.vi. Nå dukker det opp ei blokk som du plasserer som vist på figuren. I tillegg flytter du terminalen Oppkopling over fra bilde 0 i hovedsekvens-stakken over til bilde 0 i den lokale sekvens-stakken inni Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabVIEW 2012 Side 33

22 Side 22 Dataøving 2 SANNTID Bli kjent medlabview hendelsefella som vist på neste figur. Legg merke til at NewVal ikke skal være tilkopla noe som helst. Når hendelsesfella er satt opp til å fange en hendelse vil det som står inni fella for den hendelsen automatisk bli kjørt. j4) Avlesing av radioknappene SK6 og SK6: Når brukeren trykker på Oppkopling skal verdien til radioknappene leses av, konverteres til et tall og skrives opp i indikatorfeltet. Hvordan dette kan gjøres er vist på figuren for bilde 1 i stakken: j4 I) j4 II) Hva er det matematiske uttrykket for Kortadresse som funksjon av SK5 og SK6? Kopl opp som vist på figuren. Tips: SK5, SK6 og KortAdresse er terminaler som allerede befinner seg et eller annet sted i blokkdiagrammet. Klarer du ikke finne terminalen kan du høgreklikke på tilsvarende objekter i frontpanelet og se om det er noe hjelp der. Resten av blokkene kan finnes i Controls-vinduet under Programming og enten i Boolean eller Numeric. Tips! Dersom terminalen KortAdresse ikke har rett datatype høgreklikker du på terminalen og velger Properties. Deretter går du inn på skillearket Data Type. Så klikker du på ikonet som står rett under Representation og velger rett datatype i boksen som dukker opp. j5) Åpning av forbindelsen til kortet: Verdien som kommer inn på terminalen KortAdresse skal også sendes over til K8055-kortet Side 34 Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabVIEW 2012

23 Dataøving 2 SANNTID Bli kjent med LabVIEW Side 23 for å sette opp forbindelsen. I bilde 2 på stakken i neste figur er boksen en lokal variabel. j5 I) j5 II) Lag den lokale variablen ved å høgreklikke på indikatoren KortAdresse i frontpanelet og så lage en lokal variabel. Plasser den lokale variabelen i bilde 2 som vist på figuren. Legg merke til at den lokale varabelen du får nå har en trekanta pil på venstre side side. Det er fordi den er av typen Write. Dvs at den kan skrive trådløst til indikatoren i frontpanelet. Vi ønsker å lese verdien fra indikatorfeltet og sende den videre på en ledning. Gjør den om til typen Read ved å høgreklikke på variabelen og så gjøre den om til Read. Nå skal den få tykkere blå ramme. j5 III) Hent inn subviet OpenDevice.vi og terminalen Aktivt kort og plasser dem i bilde 2 som vist på figuren. Foreta deretter sammenkopling med ledning. (OpenDevice prøver å kople opp forbindelsen til det kortet som innsignal viser. Dersom oppkoplinga går greit returneres nummeret på kortet som er kopla opp. Dersom kortet ikke finnes eller det ikke lykkes å sette opp forbindelsen returneres tallet -1.) j6) Tenning av lysdioden: Under Oppkoplings-knappen i frontpanelet er det plassert en lysdiode som indikator. Dersom oppkoplinga er vellykka skal denne lysdioden tennes. I motsatt fall skal den slukkes. En lysdiode har en logisk verdi av typen True (dvs sann) for å tennes og False (dvs usann) for å slukkes. Lag koplinga som vist i bilde 3 i neste figur. Tips! Det kan være lurt å prøvekjøre programmet nå og så rette opp eventuelle feil før du går videre. Virker det som det skal? For å følge med på hva som skjer i blokkskjemaet under programkjøring kan det være nyttig å trykke inn Highlightknappen. Tips! Alt tar fryktelig lang tid når Highlight-knappen er aktivert. Når du er ferdig med prøvekjøringa er det lurt å deaktivere Highlight-knappen. Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabVIEW 2012 Side 35

24 Side 24 Dataøving 2 SANNTID Bli kjent medlabview k) Oppfanging av trykk på Sett alle digitale-knappen: Høgreklikk i etiketten på øverste ramme til hendelsefella og velg Add Event Case... I vinduet som nå dukker opp velger du Sett Alle Digitale under Event Sources og Value Change under Events. Trykk OK. Nå skal du ha fått lagt til en ny hendelse som skal fanges opp i hendelsefella. Hent inn rett subvi og rett terminal så du får det som på figuren. l) Oppfanging av trykk på Nullstill alle digitale-knappen: Gjør det samme som i k), men nå for Nullstill alle digitale-knappen. Prøvekjør programmet. Får du tent og slukka diodene LD1 til LD8 på kortet? m) Oppfanging av trykk på Les alle digitale-knappen: Fra Read All Digitalblokka kommer det et heltall som kan tolkes binært. De fem minst signifikante bit-ene tilsvarer da de fem trykk-knappene Inp1 til Inp 5 på K8055-kortet. 1 betyr at knappen holdes inne. 0 at den står ute. Disse enerne og nullene må så konverteres til True eller False (True 6 1 og False 6 0) for at lysdiodene på frontpanelet under Les alle digitale-knappen skal lyse riktig. Fra Read All Digital-blokka går signalet til terminalen Leste Digitale. Men det går også en avgreining til ei Number To Boolean Array-blokk og videre til ei Array To Cluster-blokk og så videre til ei Unbundle-blokk før det går til lysdiodene. NB! Unbundle-blokka får automatisk like mange utgangeer som bit i innsignalet når inngangen koples til! De nye blokkene finner du i Controls-vinduet under Programming og videre ned i Boolean eller Array eller Cluster, Class, & Variant. Utvid hendelsefella til også å fange opp trykk på Les alle digitale-knappen. Kopl deretter opp som vist på figuren og test om det virker. n) Oppfanging av trykk på Sett alle analoge-knappen: Utvid hendelsefella til også å fange opp trykk på Sett alle analoge-knappen. Kopl deretter opp som vist på neste figur og test om det virker. Side 36 Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabVIEW 2012

25 Dataøving 2 SANNTID Bli kjent med LabVIEW Side 25 o) Oppfanging av trykk på Nullstill alle analoge-knappen: Utvid hendelsefella til også å fange opp trykk på Nullstill alle analoge-knappen. Kopl deretter opp ut fra den kunnskapen du nå har og test om det virker. p) Oppfanging av trykk på Les alle analoge-knappen: Utvid hendelsefella til å fange opp trykk på Les alle analoge-knappen. Kopl deretter opp som vist på figuren og test om det virker. q) Oppfanging av innmating i innmatingsfeltet DA1: Utvid hendelsefella til å fange opp innmating i DA1-feltet. Kopl deretter opp som vist på figuren og test om det virker. Tallet 1 i konstantblokka gir beskjed til Output Analog Channel-blokka om at det er utgangen DAC1 på kortet som skal stilles inn på ei spenning som tilsvarer tallet DA1-feltet. r) Oppfanging av innmating i innmatingsfeltet DA2: Utvid hendelsefella til også å fange opp innmating i DA2-feltet. Kopl deretter opp ut fra den kunnskapen du nå har og test om det virker. s) Oppfanging av trykk på Sjekk DLL-knappen: Utvid hendelsefella til å fange opp trykk på Sjekk DLL-knappen. Plasser en sekvens-stakk i fella for denne hendelsen. Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabVIEW 2012 Side 37

26 Side 26 Dataøving 2 SANNTID Bli kjent medlabview s1) Kopl deretter opp som vist på neste figur. I bilde 0 i sekvens-stakken er det brukt ei One Button Dialog-blokk. Denne brukes for å lage sprettoppvinduer på skjermen. Den øverste tekststrengen viser meldinga som skal vises i meldingsboksen. Den andre tekststrengen viser hva som skal stå på knappen nederst i meldingsboksen. Blokka finner du i Controls-vinduet under Programming og videre ned i Dialog & User Interface. Tekststrengene skriver du sjøl inn i en String Constant som du finner under Programming/String. Den øverste tekststrengen viser hva som skal stå inni boksen, mens den nederste viser hva som skal stå på knappen som lukker boksen. s2) Kopl deretter opp bilde 1 i sekvens-stakken som vist på neste figur og test ut om det virker. s3) Hvorfor er det brukt en sekvens-stakk her? t) Oppstartskode: På bilde nummer 0 på hovedsekvensstakken er det nå greit å programmere det som skal skje ved oppstart av programmet. Det kan være spesielle startverdier som skal settes hver gang programmet starter opp. Kopl opp som vist på neste figur. Side 38 Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabVIEW 2012

27 Dataøving 2 SANNTID Bli kjent med LabVIEW Side 27 u) Avsluttingskode: På bilde nummer 2 på hovedsekvensstakken er det nå greit å programmere det som skal skje ved avslutting av programmet. Det kan f eks være spesielle slutt-tilstander som ekstern utstyr skal ha før de frakoples. Kopl opp som vist på figuren. Fordi det er god plass er det her ikke brukt en sekvens-stakk med bildene oppå hverandre, men i stedet en Flat Sequence Structure som viser bildene etter hverandre som en slags film. Nye bilderuter legges inn ved å høgreklikke i øvre ramme og velge Add Frame After. Se på blokkene! Hva skjer når avsluttingskoden kjøres. 4 Testing av programmet IOtest1? Programmet er ikke uten videre feilfritt fordi om LabVIEW har sjekka det og det lar seg kjøre. Det må det testes for andre typer feil. Oppfører programmet seg som det skal også når det Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabVIEW 2012 Side 39

28 Side 28 Dataøving 2 SANNTID Bli kjent medlabview brukes opp mot K8055-kortet.? Hvis det er ting som ikke virker må du eventuelt rette dem opp i ditt program etter hvert som du går gjennom testene under.. Pass på at adresselaskene på kortet ditt stemmer med det du merker av før du trykker på oppkoplingsknappen. Dersom oppkoplinga fra PC til kort er OK vil det markeres med at lysdioden Oppkopling OK? tennes og viser grønt lys i frontpanelet. a) Får du grønt lys på lysdioden i frontpanelet? b) Test de digitale utgangene ved å kontrollere at du får tent og slukka alle lysdiodene. Virker lysdiodene LD1.. LD8 som de skal? c) Test de digitale inngangene ved trykke på de 5 bryterne merka Inp1..Inp5 etter tur. Virker de digitale inngangene som de skal? d) Test de analoge utgangene. d1) Trykk på Sett alle analoge-knappen. Lyser lysdiodene PW1 og PW2? d2) Trykk på Nullstill alle analoge-knappen. Slukker lysdiodene PW1 og PW2? d3) Prøv med verdiene 0, 50, 100, 150, 200 og 255 på innmatingsfeltet til DA1 Lyser lysdioden PW1omtrent proporsjonalt med den analoge verdien du sender ut? d4) Prøv med verdiene 0, 50, 100, 150, 200 og 255 på innmatingsfeltet til DA2 Lyser lysdioden PW2omtrent proporsjonalt med den analoge verdien du sender ut? e) Test av analoge innganger gjøres i første omgang med laskene SK2 og SK3 tilkopla. Da kan du variere spenninga på AD1 og AD2 ved hjelp av potmetrene. e1) Sett det ene potmeteret i den ene ytterstillingen og det andre potmeteret i motsatt ytterstilling. Trykk på Les alle analoge-knappen. Hva leser du av på AD1 og AD2? AD1 =,AD2= Er dette rett? e2) Bytt ytterstilling på de to potmetrene. Trykk på Les alle analoge-knappen. Hva leser du av på AD1 og AD2? AD1 =, AD2= Er dette rett? f) Det er en svakhet i programmet du har laga. Når du trykker Sett alle analoge-knappen så sender du 255 til både DA1 og DA2. Men hva viser innmatingsfeltene for DA1 og DA2? DA1=, DA2=. Hva skulle de ha vist? Trykk på Nullstill alle analoge-knappen. Da sender du 0 til både DA1 og DA2. Men hva viser innmatingsfeltene for DA1 og DA2? DA1=, DA2=. Hva skulle de ha vist Side 40 Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabVIEW 2012

29 Dataøving 2 SANNTID Bli kjent med LabVIEW Side 29 Skal programmet være enkelt å bruke bør de vise 255 i det første tilfellet og null i det andre tilfellet. Hvordan kan du få til det? Gjør om programmet så det viser rette verdier for DA1 og DA2 både når du trykker på Sett alle analoge-knappen og når du trykker på Nullstill alle analoge-knappen. 5 Rydding i frontpanel og blokkdiagram Når programmet er ferdig og alt virker er tida kommet for å rydde i frontpanelet. Flytting av objektene eller endring på størreslse, farge ol påvirker ikke virkemåten til programmet. For å få objekter til å stå plassert på linje kan det være et tips å se på knappene. Finjustering av et objekt kan også gjøres ved å markere objektet og så bruke piltastene. a) Har du tid kan du prøve å få frontpanelet ditt til å se litt bedre ut. Mange synes kanskje at koding i blokkdiagrammet er god nok dokumentasjon av virkemåten til programmet, men for andre enn den som har laga programmet er det sjelden godt nok. Ved å sette på kommentartekst direkte i blokkdiagrammet er det mulig å få til brukbar dokumentasjon. b) Har du tid så prøv å sette på tekster i blokkdiagrammet som forklarer hva som skjer i de forskjellige delene av programmet. Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabVIEW 2012 Side 41

30 Side 30 Dataøving 2 SANNTID Bli kjent medlabview Vedlegg: Funksjoner i K8055D.dll fila som alle har fått subvi er for bruk i LabVIEW: NB! Datatypen long i prototypene her tilsvarer datatypen signed 32 bit integer i LabWiew. Datatypen char tilsvarer unsigned 8 bit integer i LabVIEW Forfatteren (PHv) har laga subvi er i LabVIEW som bruker disse prototypene for oppkopling mot funksjonene som finnes i K8055D.dll fila. Disse subvi ene er samla i katalogen K8055 subvi. SubVI ene heter det samme som funksjonene, men med K8055 foran. SubVI et til funksjonen OpenDevice heter da K8055 OpenDevice.vi. Denne har en input-kopling og en output-kopling. SubVI et til funksjonen CloseDevice heter K8055 CloseDevice.vi og har ingen input-kopling og heller ingen output-kopling. SubVI et til funksjonen ReadAnalogChannel heter K8055 AnalogChannel osv. Prototyper for K8055D.dll henta fra K8055D.h: FUNCTION long stdcall OpenDevice(long CardAddress); Åpn opp forbindelsen til et K8055-kort med angitt adresse. Dersom forbindelsen er OK returneres adressa til kortet. Hvis ikke returneres verdien -1. FUNCTION void stdcall CloseDevice(void); Steng forbindelsen til kortet. FUNCTION long stdcall ReadAnalogChannel(long Channel); Les verdien fra AD-omformer på angitt kanal. FUNCTION void stdcall ReadAllAnalog(long *Data1, long *Data2); Les verdien på begge AD-kanaler samtidig. FUNCTION void stdcall OutputAnalogChannel(long Channel, long Data); Send verdien til angitt kanal på DA-omformeren. FUNCTION void stdcall OutputAllAnalog(long Data1, long Data2); Send verdier til begge DA-kanaler samtidig. FUNCTION void stdcall ClearAnalogChannel(long Channel); Nullstill angitt DA-kanal. FUNCTION void stdcall ClearAllAnalog(void); Nullstill begge DA-kanaler samtidig. FUNCTION void stdcall SetAnalogChannel(long Channel); Send 255 til angitt DA-kanal så den får maks spenning. FUNCTION void stdcall SetAllAnalog(void); Send 255 til begge DA-kanaler så de får maks spenning. FUNCTION void stdcall WriteAllDigital(long Data); Send en verdi til de digitale utgangene sånn at bitmønsteret bestemmer hvilke utganger som blir høge og lave. En gir høg utgang og null lav. Side 42 Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabVIEW 2012

31 FUNCTION void stdcall ClearDigitalChannel(long Channel); Nulstill angitt digital utgang. FUNCTION void stdcall ClearAllDigital(void); Nulstill alle de digitale utgangene. FUNCTION void stdcall SetDigitalChannel(long Channel); Sett angitt digital utgang høg. FUNCTION void stdcall SetAllDigital(void); Sett alle digitale utganger høge. FUNCTION char stdcall ReadDigitalChannel(long Channel); Les digitale inngangene. En viser høg inngang og null lav. Dataøving 2 SANNTID Bli kjent med LabVIEW Side 31 FUNCTION long stdcall ReadAllDigital(void); Les en 8-bit verdi hvor bitmønsteret på de 5 minst signifikante bitene angir bitmønsteret på de digitale inngangene. En viser høg inngang og null lav. FUNCTION long stdcall ReadCounter(long CounterNr); De digitale inngangene kan koples opp mot en teller som teller antall ganger inngangen går høg. Avlesing av teller på angitt inngang. FUNCTION void stdcall ResetCounter(long CounterNr); Nullstilling av teller på angitt inngang. FUNCTION void stdcall SetCounterDebounceTime(long CounterNr, long DebounceTime); Setting av prelltid (i millisekunder?) på angitt inngang. FUNCTION void stdcall Version(void); Viser hvilken versjon av K8055D.dll som brukes. FUNCTION long stdcall SearchDevices(void); Returnerer adressa til gjeldende aktive K8055-kort. FUNCTION long stdcall SetCurrentDevice(long lngcardaddress); Skift aktivt kort til kortet med den angitte adressa. NB! Funksjonene SearchDevices og SetCurrentDevice er mest aktuelle når ett og samme program skal styre flere K8055-kort samtidig. Disse funksjonene må brukes i stedet for OpenDevice. Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabVIEW 2012 Side 43

2 Regulering av varmeovn med P-regulator

2 Regulering av varmeovn med P-regulator D:\Per\Fag\Styresys\Oppgavebok\K8055LV_12\Øving 4\K8055_LV2012_SANN4_2014.wpd Fag SO507E Styresystemer HIST-AFT feb 14 PHv Dataøving 4 SANNTID MED LABVIEW P-regulator NB! Ta med multimeter! Innleveres:

Detaljer

1 Innledning. 2 Virkemåte for kortet. Bli kjent med USB I/O kort K8055. NB! Ta med multimeter og lite skrujern!

1 Innledning. 2 Virkemåte for kortet. Bli kjent med USB I/O kort K8055. NB! Ta med multimeter og lite skrujern! D:\Per\Fag\Styresys\Oppgavebok\K8055LV_12\Øving 1\K8055_LV2012_SANN1_2014.wpd Fag SO507E Styresystemer HIST-AFT jan 14 PHv Dataøving 1 SANNTID MED LABVIEW Bli kjent med USB I/O kort K8055. NB! Ta med multimeter

Detaljer

1 Innledning TRAFIKKLYS. NB! Ta med Dataøving 2! Fag SO507E Styresystemer HIST-AFT jan 14 PHv Dataøving 3 SANNTID MED LABVIEW.

1 Innledning TRAFIKKLYS. NB! Ta med Dataøving 2! Fag SO507E Styresystemer HIST-AFT jan 14 PHv Dataøving 3 SANNTID MED LABVIEW. D:\Per\Fag\Styresys\Oppgavebok\K8055LV_12\Øving 3\K8055_LV2011_SANN3_2012.wpd Fag SO507E Styresystemer HIST-AFT jan 14 PHv Dataøving 3 SANNTID MED LABVIEW TRAFIKKLYS NB! Ta med Dataøving 2! Innleveres:

Detaljer

2 Regulering av varmeovn med PI-regulator

2 Regulering av varmeovn med PI-regulator D:\Per\Fag\Styresys\Oppgavebok\K8055LV_12\Øving 5\K8055_LV2012_SANN5_2014.wpd Fag SO507E Styresystemer HIST-AFT jan 14 PHv Dataøving 5 SANNTID MED LABVIEW PI-regulator NB! Ta med multimeter! Innleveres:

Detaljer

Brukergrensesnittet i LabVIEW

Brukergrensesnittet i LabVIEW Kapittel 2 Brukergrensesnittet i LabVIEW 2.1 Hvordan starte LabVIEW Programmet LabVIEW kan startes på flere måter: Via Start (på PC ens skrivebord) / Programmer / National Instruments /LabVIEW Du kan åpne

Detaljer

Her skal du lære å programmere micro:biten slik at du kan spille stein, saks, papir med den eller mot den.

Her skal du lære å programmere micro:biten slik at du kan spille stein, saks, papir med den eller mot den. PXT: Stein, saks, papir Skrevet av: Bjørn Hamre Kurs: Microbit Introduksjon Her skal du lære å programmere micro:biten slik at du kan spille stein, saks, papir med den eller mot den. Steg 1: Velge tilfeldig

Detaljer

Test av USB IO-enhet. Regulering og HMI.

Test av USB IO-enhet. Regulering og HMI. Høgskolen i Østfold Avdeling for informasjonsteknologi Lab Industriell IT Fag ITD 30005 Industriell IT Laboppgave 3. Gruppe-oppgave Test av USB IO-enhet. Regulering og HMI. Skal gjennomføres i løpet av

Detaljer

Zelio Soft grunnkurs. Zelio Logic reléerstatter programmering

Zelio Soft grunnkurs. Zelio Logic reléerstatter programmering Zelio Soft grunnkurs Zelio Logic reléerstatter programmering Zelio Soft programvare for programmering av Zelio Logic reléerstatter Grunnkurset forutsetter at Zelio Soft er installert på PC Skjermbilder

Detaljer

Bli Kjent med Datamaskinen Introduksjon ComputerCraft PDF

Bli Kjent med Datamaskinen Introduksjon ComputerCraft PDF Bli Kjent med Datamaskinen Introduksjon ComputerCraft PDF Introduksjon Vi begynner med å bygge en enkel datamaskin. Etter å ha brukt litt tid på å bli kjent med hvordan datamaskinen virker, bruker vi den

Detaljer

KYBERNETIKKLABORATORIET. FAG: Industriell IT DATO: 08.14 OPPG.NR.: LV4. LabVIEW Temperaturmålinger BNC-2120

KYBERNETIKKLABORATORIET. FAG: Industriell IT DATO: 08.14 OPPG.NR.: LV4. LabVIEW Temperaturmålinger BNC-2120 KYBERNETIKKLABORATORIET FAG: Industriell IT DATO: 08.14 OPPG.NR.: LV4. LabVIEW LabVIEW Temperaturmålinger BNC-2120 Lampe/sensor-system u y I denne oppgaven skal vi teste et lampe/sensor-system som vist

Detaljer

LabVIEW seriekommunikasjon med mikrokontroller

LabVIEW seriekommunikasjon med mikrokontroller KYBERNETIKKLABORATORIET FAG: Industriell IT DATO: 08.15 OPPG.NR.: LV3 LabVIEW seriekommunikasjon med mikrokontroller Oppgave Denne oppgaven går ut på å lage et LabVIEW-program som kan kommunisere med en

Detaljer

Hei verden Introduksjon Swift PDF

Hei verden Introduksjon Swift PDF Hei verden Introduksjon Swift PDF Introduksjon Swift er et programmeringsspråk laget av Apple og er etterfølgeren til Objective-C. Med Swift kan du lage apper for ios og OSX. For å gjennomføre dette kurset

Detaljer

Hei verden. Introduksjon. Steg 1: Sette opp Xcode. Skrevet av: Andreas Amundsen

Hei verden. Introduksjon. Steg 1: Sette opp Xcode. Skrevet av: Andreas Amundsen Hei verden Skrevet av: Andreas Amundsen Kurs: Swift Introduksjon Swift er et programmeringsspråk laget av Apple og er etterfølgeren til Objective-C. Med Swift kan du lage apper for ios og OSX. For å gjennomføre

Detaljer

1. Rullende navn, s 3 2. Smilefjes, s 5 3. Skritteller, s 7 4. Orakel, s 9 5. Stein, saks og papir, s Kompass, s 14

1. Rullende navn, s 3 2. Smilefjes, s 5 3. Skritteller, s 7 4. Orakel, s 9 5. Stein, saks og papir, s Kompass, s 14 Kom i gang med 2 I dette heftet skal vi gjøre oss kjent med micro:bit og lære å programmere med blokk-kode. Heftet inneholder seks ulike prosjektoppgaver med differensiert innhold og tema. 1. Rullende

Detaljer

Kanter, kanter, mange mangekanter. Introduksjon: Steg 1: Enkle firkanter. Sjekkliste. Skrevet av: Sigmund Hansen

Kanter, kanter, mange mangekanter. Introduksjon: Steg 1: Enkle firkanter. Sjekkliste. Skrevet av: Sigmund Hansen Kanter, kanter, mange mangekanter Skrevet av: Sigmund Hansen Kurs: Processing Tema: Tekstbasert, Animasjon Fag: Matematikk, Programmering, Kunst og håndverk Klassetrinn: 8.-10. klasse, Videregående skole

Detaljer

Bygge en kube. Introduksjon. Steg 1: Lage en ny mod. Skrevet av: Pål G. Solheim

Bygge en kube. Introduksjon. Steg 1: Lage en ny mod. Skrevet av: Pål G. Solheim Bygge en kube Skrevet av: Pål G. Solheim Kurs: Learntomod Tema: Blokkbasert, Minecraft Fag: Programmering, Teknologi Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon Vi skal bygge en

Detaljer

Om du allerede kjenner Scratch og har en Scratchbruker kan du gå videre til Steg 1.

Om du allerede kjenner Scratch og har en Scratchbruker kan du gå videre til Steg 1. Pingviner på tur Skrevet av: Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill Fag: Programmering Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon Velkommen til Scratch. Vi skal

Detaljer

NY PÅ NETT. Enkel tekstbehandling

NY PÅ NETT. Enkel tekstbehandling NY PÅ NETT Enkel tekstbehandling Innholdsfortegnelse Tekstbehandling... 3 Noen tips for tekstbehandling...3 Hvordan starte WordPad?... 4 Wordpad...4 Wordpad...5 Forflytte deg i dokumentet... 7 Skrive og

Detaljer

Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å falle over skjermen.

Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å falle over skjermen. Tetris Introduksjon Processing Introduksjon Lag starten på ditt eget tetris spill! Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å

Detaljer

Tetris. Introduksjon. Skrevet av: Kine Gjerstad Eide. Lag starten på ditt eget tetris spill!

Tetris. Introduksjon. Skrevet av: Kine Gjerstad Eide. Lag starten på ditt eget tetris spill! Tetris Skrevet av: Kine Gjerstad Eide Kurs: Processing Introduksjon Lag starten på ditt eget tetris spill! Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett

Detaljer

Argumenter fra kommandolinjen

Argumenter fra kommandolinjen Argumenter fra kommandolinjen Denne veiledningen er laget for å vise hvordan man kan overføre argumenter fra kommandolinjen til et program. Hvordan transportere data fra en kommandolinje slik at dataene

Detaljer

BRUK AV TiSferaDesign I RINGETABLÅER MED ELEKTRONISK NAVNELISTE:

BRUK AV TiSferaDesign I RINGETABLÅER MED ELEKTRONISK NAVNELISTE: BRUK AV TiSferaDesign I RINGETABLÅER MED ELEKTRONISK NAVNELISTE: (benyttes til å opprette og redigere navneliste, samt laste denne til tablået via USB kabel) TiSferaDesign Kan lastes ned herfra: http://www.homesystems-legrandgroup.com/bthomesystems/productdetail.action?productid=019

Detaljer

Verden. Steg 1: Vinduet. Introduksjon

Verden. Steg 1: Vinduet. Introduksjon Verden Introduksjon Processing Introduksjon Velkommen til verdensspillet! Her skal vi lage begynnelsen av et spill hvor man skal gjette hvilke verdensdeler som er hvor. Så kan du utvide oppgava til å heller

Detaljer

FYS3240/4240 Forslag til prosjektoppgave for Lab 4: DAQ-øvelse med LabVIEW

FYS3240/4240 Forslag til prosjektoppgave for Lab 4: DAQ-øvelse med LabVIEW FYS3240/4240 Forslag til prosjektoppgave for Lab 4: DAQ-øvelse med LabVIEW Jan Kenneth Bekkeng, 11.3.2013 Hensikten med denne øvelsen er å lære DAQ-programmering med utviklingsverktøyet LabVIEW. NB: se

Detaljer

Kan micro:biten vår brukes som en terning? Ja, det er faktisk ganske enkelt!

Kan micro:biten vår brukes som en terning? Ja, det er faktisk ganske enkelt! Microbit PXT: Terning Skrevet av: Geir Arne Hjelle Kurs: Microbit Språk: Norsk bokmål Introduksjon Kan micro:biten vår brukes som en terning? Ja, det er faktisk ganske enkelt! Steg 1: Vi rister løs Vi

Detaljer

Dette eksemplet forutsetter at du allerede har gjennomgått Kom i gang med tavler 1.

Dette eksemplet forutsetter at du allerede har gjennomgått Kom i gang med tavler 1. Kom i gang 2: En sekvens av tavler for strukturert skriving En sekvens av tavler for strukturert skriving I dette eksemplet vil vi lage et miljø for å bygge setninger ved hjelp av et strukturert sett med

Detaljer

Debugging. Tore Berg Hansen, TISIP

Debugging. Tore Berg Hansen, TISIP Debugging Tore Berg Hansen, TISIP Innhold Innledning... 1 Å kompilere og bygge et program for debugging... 1 Når debugger er i gang... 2 Symbolene i verktøylinjen... 3 Start på nytt... 3 Stopp debugging...

Detaljer

Verden. Introduksjon. Skrevet av: Kine Gjerstad Eide og Ruben Gjerstad Eide

Verden. Introduksjon. Skrevet av: Kine Gjerstad Eide og Ruben Gjerstad Eide Verden Skrevet av: Kine Gjerstad Eide og Ruben Gjerstad Eide Kurs: Processing Tema: Tekstbasert Fag: Matematikk, Programmering, Samfunnsfag Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon Velkommen

Detaljer

Bygge en kube. Steg 1: Lage en ny mod. Sjekkliste. Introduksjon

Bygge en kube. Steg 1: Lage en ny mod. Sjekkliste. Introduksjon Bygge en kube Introduksjon Learn To Mod Introduksjon Vi skal bygge en kube i minecraft og lære endel viktige klosser i Learn To Mod. Oppgaven er forklart i detalj og egner seg som den første oppgaven du

Detaljer

Oversikt. Introduksjon Kildekode Kompilering Hello world Hello world med argumenter. 1 C programmering. 2 Funksjoner. 3 Datatyper. 4 Pekere og arrays

Oversikt. Introduksjon Kildekode Kompilering Hello world Hello world med argumenter. 1 C programmering. 2 Funksjoner. 3 Datatyper. 4 Pekere og arrays Oversikt C programmering 1 C programmering Introduksjon Kildekode Kompilering Hello world Hello world med argumenter 2 Funksjoner 3 Datatyper 4 Pekere og arrays 5 Kontrollstrukturer Lars Vidar Magnusson

Detaljer

Plotting av data i grafer

Plotting av data i grafer Kapittel 8 Plotting av data i grafer 8.1 Forskjellige typer grafer De viktigste plottetypene eller graftypene er Waveform Chart, som gir kontinuerlig oppdatert plotting, med stadig nye punkter på grafen.

Detaljer

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 Leveringsfrist Oppgaven må leveres senest fredag 30. september kl 16.00. Viktig: les slutten av oppgaven for detaljerte leveringskrav. Formål Formålet

Detaljer

Steg 1: Vår første datamaskin

Steg 1: Vår første datamaskin Bli Kjent med Datamaskinen Skrevet av: Geir Arne Hjelle Kurs: Computercraft Tema: Tekstbasert, Minecraft Fag: Programmering, Teknologi Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregåe skole Introduksjon

Detaljer

Bruksanvisning Unitronics Vision

Bruksanvisning Unitronics Vision Bruksanvisning Unitronics Vision Ole Einar Moe Innhold 1 Oppsett... 1 1.1 PLS... 1 1.2 Datamaskin... 2 1.3 Kommunikasjon... 2 2 Planlegging... 6 2.1 Digitale Inn/Ut ganger... 6 2.2 Analoge Inn/Ut ganger...

Detaljer

Soloball. Introduksjon. Steg 1: En roterende katt. Sjekkliste. Skrevet av: Geir Arne Hjelle

Soloball. Introduksjon. Steg 1: En roterende katt. Sjekkliste. Skrevet av: Geir Arne Hjelle Soloball Skrevet av: Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill Fag: Matematikk, Programmering Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon Vi skal nå lære hvordan vi

Detaljer

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: 15. mai 2003 Varighet: Fagnummer: Fagnavn: Klasse(r): 3 timer LO116D Programmering i Visual Basic FU Studiepoeng:

Detaljer

JS: Grunnleggende JavaScript Nybegynner

JS: Grunnleggende JavaScript Nybegynner JS: Grunnleggende JavaScript Nybegynner Web Introduksjon I denne oppgaven skal du lære helt enkle og grunnleggende elementer av JavaScript. Du vil lære om variabler, if-setninger, funksjoner og løkker.

Detaljer

PXT: Himmelfall. Introduksjon. Skrevet av: Helene Isnes og Julie Revdahl

PXT: Himmelfall. Introduksjon. Skrevet av: Helene Isnes og Julie Revdahl PXT: Himmelfall Skrevet av: Helene Isnes og Julie Revdahl Kurs: Microbit Tema: Elektronikk, Blokkbasert, Spill Fag: Programmering, Matematikk Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående skole

Detaljer

Etiming på nærløp. Dersom du får opp vinduet under er filene fra forrige løp flyttet, og du må oppgi hvor systemfilen ligger.

Etiming på nærløp. Dersom du får opp vinduet under er filene fra forrige løp flyttet, og du må oppgi hvor systemfilen ligger. Etiming på nærløp. Generelt På nærløp gjør vi det så enkelt som mulig, men etter løpet skal tidene ut fra tidttakerboksen (MTR) og de løperene som har byttet løype, brikke eller ikke husket å melde seg

Detaljer

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: 12. desember 2002 Varighet: Fagnummer: Fagnavn: Klasse(r): 3 timer LO116D Programmering i Visual Basic FU

Detaljer

Brukerveiledning Løypelegging i Ocad v.9 Skrevet av Arvid Mølnvik for Spkl. Freidig 2008-06-05

Brukerveiledning Løypelegging i Ocad v.9 Skrevet av Arvid Mølnvik for Spkl. Freidig 2008-06-05 Brukerveiledning Løypelegging i Ocad v.9 Skrevet av Arvid Mølnvik for Spkl. Freidig 2008-06-05 1. Forarbeid I god tid før løpet: Få tak i riktig kartutsnitt på Ocad. Dette skaffer normalt Tore AngellPetersen.

Detaljer

1. NetBeans IDE: Lage en enkel mobilapplikasjon

1. NetBeans IDE: Lage en enkel mobilapplikasjon Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag NetBeans IDE: Lage en enkel mobilapplikasjon Mildrid Ljosland/Lene Hoff 09.09.2008 Lærestoffet er utviklet for faget SO350D J2ME for programmering

Detaljer

Programmering i C++ Løsningsforslag Eksamen høsten 2005

Programmering i C++ Løsningsforslag Eksamen høsten 2005 Programmering i C++ Eksamen høsten 2005 Simen Hagen Høgskolen i Oslo, Avdeling for Ingeniørutdanning 7. desember 2005 Generelt Denne eksamensoppgaven består av tre oppgaver, pluss en ekstraoppgave. Det

Detaljer

Kanter, kanter, mange mangekanter

Kanter, kanter, mange mangekanter Kanter, kanter, mange mangekanter Nybegynner Processing PDF Introduksjon: Her skal vi se på litt mer avansert opptegning og bevegelse. Vi skal ta utgangspunkt i oppgaven om den sprettende ballen, men bytte

Detaljer

1) Sørg for at du fortsatt er i eventredigeringsmodus (klikk F6 på tastaturet, eller velg ikonet med en person fra menylinjen).

1) Sørg for at du fortsatt er i eventredigeringsmodus (klikk F6 på tastaturet, eller velg ikonet med en person fra menylinjen). Nå har du mange karakterer i spillverdenen din, men det er ikke noe spennende hvis du ikke kan prate med dem! I dette oppdraget lærer du å legge til dialog til karakterene, slik at du kan snakke med dem.

Detaljer

Hvordan lage terreng i ArchiCAD (mesh tool):

Hvordan lage terreng i ArchiCAD (mesh tool): Hvordan lage terreng i ArchiCAD (mesh tool): Når man skal lage terreng i ArchiCAD må man først ha et kartgrunnlag å gå ut fra. Dette kan godt være en jpeg eller lignende, men det beste er en vektortegning.

Detaljer

Inf109 Programmering for realister Uke 5. I denne leksjonen skal vi se på hvordan vi kan lage våre egne vinduer og hvordan vi bruker disse.

Inf109 Programmering for realister Uke 5. I denne leksjonen skal vi se på hvordan vi kan lage våre egne vinduer og hvordan vi bruker disse. Inf109 Programmering for realister Uke 5 I denne leksjonen skal vi se på hvordan vi kan lage våre egne vinduer og hvordan vi bruker disse. Før du starter må du kopiere filen graphics.py fra http://www.ii.uib.no/~matthew/inf1092014

Detaljer

Dagens tema: 12 gode råd for en kompilatorskriver

Dagens tema: 12 gode råd for en kompilatorskriver Dagens tema: 12 gode råd for en kompilatorskriver Hvordan sjekke navn? Testutskrifter 12 gode råd Hva skal gjøres med navn? Sjekking av navn En kompilator må også sjekke riktig navnebruk: Det må ikke forekomme

Detaljer

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 Oblig2 - obligatorisk oppgave nr 2 (av 4) i INF1000 Leveringsfrist Oppgaven må leveres senest fredag 29 september kl 1600 Viktig: les slutten av oppgaven for detaljerte leveringskrav Formål Formålet med

Detaljer

ToPlayer. Introduksjon: Skrevet av: Ruben Gjerstad Eide og Kine Gjerstad Eide

ToPlayer. Introduksjon: Skrevet av: Ruben Gjerstad Eide og Kine Gjerstad Eide ToPlayer Skrevet av: Ruben Gjerstad Eide og Kine Gjerstad Eide Kurs: Processing Tema: Tekstbasert Fag: Matematikk, Programmering Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon: Nå skal vi

Detaljer

Nedlasting av SCRIBUS og installasjon av programmet

Nedlasting av SCRIBUS og installasjon av programmet Nedlasting av SCRIBUS og installasjon av programmet Laget for BODØ FRIMERKEKLUBB av Sten Isaksen Versjon 06.01.2018 1 Før du laster ned Scribus: Du må vite hvilken versjon av Windows du har, sannsynligvis

Detaljer

Tilstandsmaskiner kalles på engelsk for Finite State Machines.

Tilstandsmaskiner kalles på engelsk for Finite State Machines. Tilstandsmaskiner Tilstandsmaskiner kalles på engelsk for Finite State Machines. Tilstandsmaskiner er en metode til å beskrive systemer med logisk og dynamisk/tidsmessig oppførsel. Metoden tilstandsmaskiner

Detaljer

TDT4165 PROGRAMMING LANGUAGES. Exercise 01 Introduksjon til Oz

TDT4165 PROGRAMMING LANGUAGES. Exercise 01 Introduksjon til Oz TDT4165 PROGRAMMING LANGUAGES Fall 2012 Exercise 01 Introduksjon til Oz Denne øvingen vil gjøre deg kjent med Emacs og Mozart. Du må kunne bruke disse verktøyene for å gjøre resten av øvingene. Mozart

Detaljer

Oppsummering fra sist

Oppsummering fra sist 1 av 34 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker/Sløyfer Utgave 3: Kap. 4 Terje Rydland - IDI/NTNU 2 av 34 Oppsummering fra sist Betingelser i Python: ,

Detaljer

Kom i gang med micro:bit

Kom i gang med micro:bit Kom i gang med micro:bit Kenneth Fossland, Brundalen skole 2019 Bilde: flickr.com makecode.microbit.org https://docs.google.com/document/d/1rjglb2tczwjhzcrklfyxhhn6vguuj-1jdt9ivuvbpu0/edit#heading=h.7s5hifmcog5y

Detaljer

ToPlayer. Steg 1: Kom i gang med metodene setup og draw. Gjør dette: Introduksjon:

ToPlayer. Steg 1: Kom i gang med metodene setup og draw. Gjør dette: Introduksjon: ToPlayer Introduksjon Processing Introduksjon: Nå skal vi lage et spill som to personer kan spille mot hverandre. Vi har kalt det ToPlayer, men du kan kalle det hva du vil. Målet er å dytte en figur, eller

Detaljer

Her skal du lære å programmere micro:biten slik at du kan spele stein, saks, papir med den eller mot den.

Her skal du lære å programmere micro:biten slik at du kan spele stein, saks, papir med den eller mot den. PXT: Stein, saks, papir Skrevet av: Bjørn Hamre Oversatt av: Stein Olav Romslo Kurs: Microbit Introduksjon Her skal du lære å programmere micro:biten slik at du kan spele stein, saks, papir med den eller

Detaljer

Nytt prosjekt og programlogikk

Nytt prosjekt og programlogikk Hima myexample steg for steg 1 Generelt Denne steg for steg oppskriften for myexample prosjektet er et supplement til Create Projekt.pdf filen. I Create Project.pdf står det ytterligere informasjon av

Detaljer

PC-AXIS-2006. Brukerveiledning for tabelluttak og bearbeiding av data

PC-AXIS-2006. Brukerveiledning for tabelluttak og bearbeiding av data PC-AXIS-2006 Brukerveiledning for tabelluttak og bearbeiding av data 04.01.2007 Innledning Nyheter i PC-Axis 2006 Nyhet i PC-Axis 2006 - En funksjon for innspilling av aktiviteter gjordt i PC-Axis som

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: 15.desember 2004 Varighet: Fagnummer: Fagnavn: Klasse(r): 3 timer LO116D Programmering i Visual Basic FU

Detaljer

Kodetime for Nordstrand barneskole

Kodetime for Nordstrand barneskole Kodetime for Nordstrand barneskole av Veronika Heimsbakk og Lars Erik Realfsen 1 Hva er Processing? Processing er et programmeringsspråk som er gratis, og tilgjengelig for alle! Man kan programmere i Processing

Detaljer

Snake Expert Scratch PDF

Snake Expert Scratch PDF Snake Expert Scratch PDF Introduksjon En eller annen variant av Snake har eksistert på nesten alle personlige datamaskiner helt siden slutten av 1970-tallet. Ekstra populært ble spillet da det dukket opp

Detaljer

Kjenner du alle funksjonene på tastaturet?

Kjenner du alle funksjonene på tastaturet? Kjenner du alle funksjonene på tastaturet? Guide: Tastaturet Av Bjørn André Hagen 30. Januar 2008 17:45 Kilde: Tastatur layout Et tastatur har mange knapper man ikke bruker hver dag, vi skal prøve å forklare

Detaljer

Løypelegging ved bruk av

Løypelegging ved bruk av Løypelegging ved bruk av 1 Innholdsfortegnelse 1 Bruk av OCAD 9...3 2 Kart...3 3 Oppstart...3 4 Plasering av detaljer...5 5 Løyper...7 6 Postbeskrivelse...9 7 Innstillinger...11 7.1 For løyper... 11 7.2

Detaljer

Eksterne enheter Brukerhåndbok

Eksterne enheter Brukerhåndbok Eksterne enheter Brukerhåndbok Copyright 2009 Hewlett-Packard Development Company, L.P. Informasjonen i dette dokumentet kan endres uten varsel. De eneste garantiene for HP-produktene og -tjenestene er

Detaljer

Verden - Del 2. Steg 0: Oppsummering fra introduksjonsoppgaven. Intro

Verden - Del 2. Steg 0: Oppsummering fra introduksjonsoppgaven. Intro Verden - Del 2 Nybegynner Processing Intro Denne oppgaven bygger på oppgaven med samme navn som ligger på introduksjonsnivå her i Processingoppgavene. Klikk her for å gå til introduksjonsoppgaven av verden.

Detaljer

Steg 1: Installere programvaren

Steg 1: Installere programvaren Blinkende lysdiode Skrevet av: Adrian Helle Kurs: Arduino Tema: Elektronikk, Tekstbasert Fag: Programmering, Teknologi Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående skole Introduksjon Arduino

Detaljer

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2008

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2008 Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2008 Leveringsfrist Oppgaven må løses individuelt og leveres senest fredag 22. februar 2008 kl 16.00 via Joly. Viktig: les slutten av oppgaven for

Detaljer

13.09.2012 LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke 1-3 12. September 2012 Siri Moe Jensen EKSEMPLER

13.09.2012 LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke 1-3 12. September 2012 Siri Moe Jensen EKSEMPLER .9.22 LITT OM OPPLEGGET INF EKSTRATILBUD Stoff fra uke - 2. September 22 Siri Moe Jensen Målgruppe: De som mangler forståelse for konseptene gjennomgått så langt. Trening får du ved å jobbe med oppgaver,

Detaljer

PXT: Flasketuten peker på

PXT: Flasketuten peker på PXT: Flasketuten peker på Skrevet av: Kolbjørn Engeland, Julie Christina Revdahl Kurs: Microbit Tema: Blokkbasert, Elektronikk, Animasjon, Spill Fag: Programmering Klassetrinn: 5.-7. klasse, 8.-1. klasse,

Detaljer

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python Professor Guttorm Sindre Institutt for datateknikk og informasjonsvitenskap Læringsmål og pensum Mål Vite hva et

Detaljer

En liten oppskrift på hvordan jeg installert og fikk Xastir til å virke sånn at jeg ble synlig i APRS verden.

En liten oppskrift på hvordan jeg installert og fikk Xastir til å virke sånn at jeg ble synlig i APRS verden. En liten oppskrift på hvordan jeg installert og fikk Xastir til å virke sånn at jeg ble synlig i APRS verden. La meg med en gang si at jeg er rimelig grønn i Linux verden så dere får bære over med meg

Detaljer

Kapittel 1 En oversikt over C-språket

Kapittel 1 En oversikt over C-språket Kapittel 1 En oversikt over C-språket RR 2015 1 Skal se på hvordan man En innføring i C Skriver data til skjermen Lese data fra tastaturet Benytter de grunnleggende datatypene Foretar enkle matematiske

Detaljer

Obligatorisk oppgave 1 INF1020 h2005

Obligatorisk oppgave 1 INF1020 h2005 Obligatorisk oppgave 1 INF1020 h2005 Frist: fredag 7. oktober Oppgaven skal løses individuelt, og må være godkjent for å kunne gå opp til eksamen. Før innlevering må retningslinjene Krav til innleverte

Detaljer

Obligatorisk oppgave nr. 3 (av 4) i INF1000, våren 2006

Obligatorisk oppgave nr. 3 (av 4) i INF1000, våren 2006 Obligatorisk oppgave nr. 3 (av 4) i INF1000, våren 2006 Advarsel Etter forelesningen 6. mars har vi gjennomgått alt stoffet som trengs for å løse oppgaven. Du kan imidlertid godt starte arbeidet allerede

Detaljer

PLS PC-øving nr. 3 Global Label og Local Label, flagg og CJ

PLS PC-øving nr. 3 Global Label og Local Label, flagg og CJ PLS PC-øving nr. 3 Global Label og Local Label, flagg og CJ Utgave: 1.02 Utarbeidet av: AH Dato: 10.10.12 Revidert av: AH Dato: 270114 Tema i oppgaven Oppgaven går ut på å lære seg å ta i bruk listene

Detaljer

Blinkende lysdiode Introduksjon Arduino Lærerveiledning

Blinkende lysdiode Introduksjon Arduino Lærerveiledning Blinkende lysdiode Introduksjon Arduino Lærerveiledning Introduksjon Arduino er en mikrokontroller som kan programmeres til å styre elektroniske dingser og duppeditter. Ved hjelp av en Arduino kan du skru

Detaljer

JS: Grunnleggende JavaScript

JS: Grunnleggende JavaScript JS: Grunnleggende JavaScript Skrevet av: Lars Klingenberg Kurs: Web Tema: Tekstbasert, Nettside Fag: Matematikk, Programmering, Teknologi Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående skole Introduksjon

Detaljer

PXT: Hermegåsa. Introduksjon. Skrevet av: Felix Bjerke og Tjerand Silde

PXT: Hermegåsa. Introduksjon. Skrevet av: Felix Bjerke og Tjerand Silde PXT: Hermegåsa Skrevet av: Felix Bjerke og Tjerand Silde Kurs: Microbit Introduksjon Hermegåsa er et spill der en person er spilleder, og går ut på at han utfører instruksjoner på micro:biten sin som de

Detaljer

INF1000 (Uke 5) Mer om løkker, arrayer og metoder

INF1000 (Uke 5) Mer om løkker, arrayer og metoder INF1000 (Uke 5) Mer om løkker, arrayer og metoder Grunnkurs i programmering Institutt for Informatikk Universitetet i Oslo Anja Bråthen Kristoffersen og Are Magnus Bruaset Praktisk informasjon Når disse

Detaljer

Bruk av kildeavskrifter som er merket med grønn kule

Bruk av kildeavskrifter som er merket med grønn kule www.slektshistorielaget.no Bruk av kildeavskrifter som er merket med grønn kule Hvorfor er dette nyttig? De aller fleste av avskriftene som er markert med grønn kule er lagret i databaser på lagets hjemmeside

Detaljer

Brukerveiledning for SMS fra Outlook

Brukerveiledning for SMS fra Outlook Brukerveiledning for SMS fra Outlook Grunnleggende funksjonalitet Med SMS fra Outlook kan du enkelt sende både SMS og MMS fra Outlook. Programmet er integrert med din personlige Outlookkontaktliste og

Detaljer

Elektroniske sjekklister

Elektroniske sjekklister Opprette passord Elektroniske sjekklister Opprette passord Skriv inn denne adressen i nettleseren din og trykk enter: http://bit.ly/sjekklistepassord Du kan gjøre dette på mobilen, men det anbefales at

Detaljer

Det beste fra Windows 10

Det beste fra Windows 10 PRØV TO NYE FANTASTISKE FUNKSJONER: Det beste fra Windows 0 Windows 0 byr på mange nye og spennende funksjoner. Vi har funnet to smarte programmer som gir deg en forsmak på det nye operativsystemet og

Detaljer

Kan micro:biten vår brukes som et termometer? Ja, den har faktisk en temperatursensor!

Kan micro:biten vår brukes som et termometer? Ja, den har faktisk en temperatursensor! PXT: Temperatur Skrevet av: Kolbjørn Engeland, Julie Revdahl Kurs: Microbit Tema: Blokkbasert, Elektronikk, Spill Fag: Programmering Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon

Detaljer

Programmet kan lastes ned gratis fra (Downloads ) og er ikke en del av CxOne-pakken.

Programmet kan lastes ned gratis fra   (Downloads ) og er ikke en del av CxOne-pakken. Tema 4: Programvare Programmet kan lastes ned gratis fra www.myomron.com (Downloads ) og er ikke en del av CxOne-pakken. Merk deg dette før du går videre Når du lagrer prosjektet lages det en fil med etternavn

Detaljer

Donkey Kong. Introduksjon. Oversikt over prosjektet. Skrevet av: Geir Arne Hjelle

Donkey Kong. Introduksjon. Oversikt over prosjektet. Skrevet av: Geir Arne Hjelle Donkey Kong Skrevet av: Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill, Animasjon Fag: Naturfag, Programmering, Engelsk, Kunst og håndverk Klassetrinn: 5.-7. klasse, 8.-10. klasse Introduksjon

Detaljer

2 Om statiske variable/konstanter og statiske metoder.

2 Om statiske variable/konstanter og statiske metoder. Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo 1 Innledning Dette notatet beskriver noe av det som foregår i primærlageret når et Javaprogram utføres.

Detaljer

Bygge en pyramide. Introduksjon. Steg 1: Lage en ny mod. Sjekkliste. Skrevet av: Pål G. Solheim

Bygge en pyramide. Introduksjon. Steg 1: Lage en ny mod. Sjekkliste. Skrevet av: Pål G. Solheim Bygge en pyramide Skrevet av: Pål G. Solheim Kurs: Learntomod Tema: Blokkbasert, Minecraft Fag: Programmering, Teknologi Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon La oss gjøre

Detaljer

Matematikk Øvingsoppgaver i numerikk leksjon 4 m-ler

Matematikk Øvingsoppgaver i numerikk leksjon 4 m-ler Matematikk 1000 Øvingsoppgaver i numerikk leksjon 4 m-ler I denne øvinga skal vi lære oss å lage m-ler små tekstler som vi bruker i MATLAB-sammenheng. Der nst to typer m-ler: Funksjonsler og skript. Funksjonsler

Detaljer

Communicate SymWriter: R1 Lage en tavle

Communicate SymWriter: R1 Lage en tavle Communicate SymWriter: R1 Lage en tavle I denne delen beskrives egenskaper som kan brukes for å lage en tavle til å skrive med. Stort sett vil du bare ha bruk for en del av dette når du lager skrivemiljøer.

Detaljer

Python: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre

Python: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre Python: Løkker TDT4110 IT Grunnkurs Professor Guttorm Sindre Denne uka Vi trenger å Støttes av Hente data fra bruker Vise data til bruker Lagre data i minnet for bruk videre i programmet Fra tastatur:

Detaljer

Steg 1: Installasjon. Steg 2: Installasjon av programvare. ved nettverkstilkoblingen på baksiden av kameraet. Kameraet vil rotere og tilte automatisk.

Steg 1: Installasjon. Steg 2: Installasjon av programvare. ved nettverkstilkoblingen på baksiden av kameraet. Kameraet vil rotere og tilte automatisk. Innhold Steg 1: Installasjon... 3 Steg 2: Installasjon av programvare... 3 Steg 3. Oppsett av wifi, email varsling og alarm... 5 Steg 4: Installasjon og oppsett av mobil app... 8 Steg 5: Installasjon og

Detaljer

Hvor i All Verden? Del 2. Introduksjon. Steg 0: Forrige gang. Skrevet av: Geir Arne Hjelle

Hvor i All Verden? Del 2. Introduksjon. Steg 0: Forrige gang. Skrevet av: Geir Arne Hjelle Hvor i All Verden? Del 2 Skrevet av: Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill Fag: Matematikk, Programmering, Samfunnsfag Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon

Detaljer

Hva er TegnBehandler?

Hva er TegnBehandler? Hva er TegnBehandler? TegnBehandler er et program som er utviklet for tegnspråkanalyse, men det kan også brukes til annen type arbeid hvor man vil analysere video og knytte kommentarer til videoen (MarteMeo,

Detaljer

Del 1 En oversikt over C-programmering

Del 1 En oversikt over C-programmering Del 1 En oversikt over C-programmering 1 RR 2016 Starten C ble utviklet mellom 1969 og 1973 for å re-implementere Unix operativsystemet. Er et strukturert programmeringsspråk, hvor program bygges opp av

Detaljer

Steg 1: Katten og fotballbanen

Steg 1: Katten og fotballbanen Straffespark Skrevet av: Erik Kalstad og Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill Fag: Matematikk, Programmering Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon Vi skal

Detaljer

Installasjon av Mediasite Desktop Recorder 2

Installasjon av Mediasite Desktop Recorder 2 Installasjon av Mediasite Desktop Recorder 2 Mediasite Desktop Recorder 2 er et program der du kan gjøre skjerm- og lydopptak direkte fra Canvas. Programmet må installeres før det kan brukes: Når du er

Detaljer

PC-EN HUSKER ALT FOR DEG ORD FOR ORD. Skriv dagbok

PC-EN HUSKER ALT FOR DEG ORD FOR ORD. Skriv dagbok PC-EN HUSKER ALT FOR DEG ORD FOR ORD Kjære da Husk å skrive om Paris Skriv dagbok på pc-en SÅNN! Bruk datamaskinen til å skrive dagbok. DETTE TRENGER DU Programmet idailydiary og en pc TIDSFORBRUK minutter

Detaljer