Designdokument type: Kontrollsystem for invertert pendel Fag: Systemering2 Filformat: Versjon: 1.0 Gruppe nr: 2 Filnavn: Dato: 19.03.2002 Bestiller: Rune Winther Word 2000 GlobalDesign1.doc Gruppemedlemmer: Navn: Signatur: Dato: Christian Raspotnig Anders Bakken Petter Larsen Eva Sandved Therese Røsholdt Side 1 av 11
Innholdsfortegnelse: 1 Innledning 3 1.1 Systemets brukere 3 1.2 Beskrivelse av systemet 3 1.3 Endringsoversikt 3 2 Global design 4 2.1 Arkitektur 4 2.2 Subsystemer 5 D1 PV 5 D2 I/O-handler 5 D3 Prosessering 6 D4 Arkivering 6 D5 GUI 7 2.3 Kontroll-modell 8 2.3.1 Call return modell 8 2.4 Sporingstabell 9 2.4.1 Forward-from 9 2.4.2 Backward-to 10 3 Skisser 11 3.1 Pendelposisjon 11 3.2 Vognposisjon 11 Side 2 av 11
1 Innledning 1.1 Systemets brukere Systemets brukere er hovedfagsstudenter og ansatte innenfor Informatikk og Automatisering ved Høgskolen i Østfold. 1.2 Beskrivelse av systemet Systemet skal være en læringsmodell for å kjøre kritiske sanntidssystemer, og består av en vogn på skinner som skal balansere en invertert pendel. Input kommer fra sensorer som leser av posisjonene på vogn og pendel. Systemet prosesserer input og styrer vognen på dette grunnlaget. Systemet skal ha mulighet for manipulering av input/output for å simulere kritiske situasjoner. Systemet skal ha et grensesnitt som gir en grafisk presentasjon av modellens bevegelser. Systemet skal også ha mulighet til å arkivere data og behandle disse. 1.3 Endringsoversikt Ingen, dette er første versjon av dokumentet. 1.4 Om designdokumentet Dette er et dokument som tar for seg globalt design. Globalt design er et overordnet design på hvordan programvaren skal bygges opp. Dokumentet avspeiler kravdokumentet, dvs at alle krav i kravdokumentet blir dekket opp i designdokumentet. Dokumentet kommer til å inneholde en modell over systemets arkitektur og skisser over hvordan grafene kommer til å se ut. I tillegg er det en beskrivelse av systemet, og hvordan det fungerer, som dekker opp hvordan kravene faller inn under de ulike subsystemene. Side 3 av 11
2 Global design 2.1 Arkitektur I/O-kort - Sender signaler fra både pendel og vogn - Data som blir lest fra sensorer blir lagret i ram på kortet PV Råsignaler. Fra I/O kortet Output til I/O kortet (styreverdierer) I/Ohandler Omforming -leser signaler av fra I/O-kort, sender styresignal Manipulering - av input og output Bruker sender manipulerings signaler Prosessering Vogn og pendels posisjon Styreverdi Arkivering - Styringsalgoritme - Sender styringssignaler - Validering - Sjekk Lagrer kjøredata - Arkiverer data til fil Gir tilbakemelding til bruker GUI Posisjonsdata + balansepunkt Gir kommandoer og kjøreverdier Sender arkivert data Forespør arkivert data - Grensesnitt mot bruker Fremvisning - Lage og vise grafer (sanntid og arkivert) - Vise tilbakemeldinger og valg - Vise valgmuligheter Brukervalg - Tar imot kommandoer og parametere - Sender kmd og para Bruker Side 4 av 11
Notasjon: Navn Subsystem Modul i et subsystem Indikere at subsystemene mottar eller yter tjenester til andre subsystem. Teksten med pilene beskriver hva tjenesten går ut på. 2.2 Subsystemene D1 PV Hva gjør systemet: - Kontrollerer og kaller opp alle de andre subsystemene - Utførere funksjoner ut i fra en prioritert rekkefølge PV skal kjøres på en PC. PVs funksjoner prioriteres ved denne rekkefølgen: 1. Sende beregnet styresignal 2. Utregning av gjenværende tid 3. Arkivere posisjonsdata 4. Plotte posisjonsdata Yter tjenester til: - Sender råsignaler til subsystemet I/O-handler - Sender styreverdier til I/O-kort Mottar tjenester fra: - Mottar styreverdier fra subsystemet I/O-handler - Mottar råsignaler fra I/O-kort Krav ID: S-1 D2 I/O-handler Hva gjør subsystemet: - Leser av minne-adresser fra I/O-kort - Posisjonsdata avleses og styreverdier sendes. Side 5 av 11
D2.1 Omforming - Gjør om signalene fra I/O-kort (rådata) til verdier som systemet forstår - Gjør om verdier fra systemet til signaler som I/O-kortet forstår D2.2 Manipulering - Bruker kan manipulere posisjonsdata og styreverdier. Yter tjenester til: - Sender vognens og pendelens posisjon til Prosessering og styreverdier til PV. Mottar tjenester fra: - Mottar råsignaler fra subsystemet PV, styreverdi til omforming fra Prosessering og mulig manipulering fra bruker. Krav ID: S-32, S-45 D3 Prosessering Hva gjør subsystemet: - skal sjekke og prosessere innsamlet data og kommandoer Kan kjøre en kjøring ved bruk av defaultverdier eller brukerdefinerte verdier for kjøredata. Starter ikke kjøring før pendelsystemet og kjøreverdiene er sjekket. Alle kjøreverdier skal kunne konfigureres og lagres. Defaultverdier og fysiske verdier skal lagres i to ASCII-filer. Pendelen skal svinge opp fra loddrett ned posisjon til en slik posisjon at pendelen er kontrolèrbar. Vognen skal kun bevege seg innenfor et lovlig område. Hvis pendelen ikke er kontrolérbar eller hvis tidsfristen er utløpt skal pendelen tas kontrollert ned og vognen stoppes. Posisjonsdata skal avleses og styreverdier skal sendes under en kjøring. En ny kjøring kan startes med samme eller nye kjøreverdier. Bruker skal kunne gi star-, slutt- og nødstoppkommando. Arkivering og plotting skal kun gjøres hvis det er gjenværende tid. Yter tjenester til: - Gir fra seg styreverdier til subsystemet I/O-handler, kjøredata til Arkivering, posisjonsdata, balansepunkt og tilbakemeldinger til GUI. Mottar tjenester fra: - Mottar vognens og pendelens posisjon fra subsystemet I/O-handler og kommandoer og kjøreverdier fra GUI. Krav ID: S-4 S-14, S-18 S-21, S-25 S-42, S-49-S-57 D4 Arkivering Hva gjør subsystemet: - Arkiverer data for fremtidig prosessering. Side 6 av 11
Hovedmappen som arkivert data skal ligge i heter pendel. I denne mappen ligger det undermapper som navngis med kjøringens startdato (defaultverdi). Filene over kjøringene skal ligge i disse mappene og deres defaultnavn er kjøringens startklokkeslett. Filene skal være i ASCII format. Arkivert kjøredata skal kunne hentes og slettes. Arkivering skal kun utføres hvis det er gjenværende tid. Yter tjenester til: - Sender arkiverte data til subsystemet GUI. Mottar tjenester fra: - Mottar kjøredata fra subsystemet Prosessering. Krav ID: S-15-S-17, S-23, S-24, S-56 D5 GUI Hva gjør subsystemet: - Er et grensesnitt mot bruker D5.1 Fremvisning - Lage og vise grafer - Vise valgmuligheter, valg og tilbakemeldinger Kunne lage og presentere sanntids- og historiske grafer. GUI skal inneholde grafer for vogn- og pendels-posisjon samt balansepunkt i forhold til tid. Grafer som er tegne i sanntid skal vise siste minuttet kjøringen. I ikke sanntid skal intervallet til grafene bestemmes av bruker. Det skal være mulig å skrive grafene ut på printer. Plotting skal kun utføres hvis det er gjenværende tid. D5.2 Brukervalg - Ta imot og sende kommandoer og parametere Bruker skal kunne velge mellom å kjøre pendelsystemet, behandle kjøredata, slå av PV, og å konfigurere kjøreparametere. Brukeren skal kunne starte, avbryte, slutte, nødstoppe og sjekke gyldighet til kjørverdier for en kjøring med kommandoer fra grensesnittet. Om kjøreverdier ikke er gyldige, skal bruker få tilbakemelding fra systemet. Etter en kjøring kan bruker starte en ny kjøring ved samme kjøreverdier eller velge nye. Yter tjenester til: - Gir kommandoer og sender parametrer til subsystemet Prosessering, forespør Arkivering om arkiverte data og sender mulig manipulasjon til I/O-handler. Mottar tjenester fra: - Får tilbakemeldinger i form av beskjeder fra subsystemet Prosessering samt posisjonsdata og balansepunkt. Mottar lagrede data fra Arkivering. Krav ID: S-2, S-3, S-18-S-22, S-27, S-30, S-41, S-46 S-48, S-53, S-56, G-1-G-3, G-5-G-10 Side 7 av 11
2.3 Kontroll-modell 2.3.1 Call-return modell PV 1 I/O-handler 2 Prosessering 3 GUI 4 Arkivering 1.1 Omforming 1.2 Manipulering 3.1 Fremvisning 3.2 Brukervalg Notasjon: Indikerer hvordan kontrollen blir gitt til de diverse subsystemene. Side 8 av 11
2.4 Sporingstabell 2.4.1 Forward-from Systemkrav Krav Relatert til Krav Relatert til S-1 D1 S-46 D5 S-2 D5 S-47 D5 S-3 D5 S-48 D5 S-4 D3 S-49 D3 S-5 D3 S-50 D3 S-6 D3 S-51 D3 S-7 D3 S-52 D3 S-8 D3 S-53 D3, D5 S-9 D3 S-54 D3 S-10 D3 S-55 D3, S-11 D3 S-56 D3, D4, D5 S-12 D3 S-57 D3 S-13 D3 S-14 D3 S-15 D4 S-16 D4 S-17 D4 S-18 D3, D5 S-19 D3, D5 S-20 D3, D5 S-21 D3, D5 S-22 D5 S-23 D4 S-24 D4 S-25 D3 S-26 D3 S-27 D3, D5 S-28 D3 S-29 D3 S-30 D3,D5 S-31 D3 S-32 D2, D3 S-33 D3 S-34 D3 S-35 D3 S-36 D3 S-37 D3 S-38 D3 S-39 D3 S-40 D3 S-41 D3, D5 S-42 D3 S-45 D2 Side 9 av 11
Grensesnittkrav Krav Relatert til G-1 D5 G-2 D5 G-3 D5 G-5 D5 G-6 D5 G-7 D5 G-8 D5 G-9 D5 G-10 D5 2.4.2 Backward-to Designdokument Kravdokument D1 S-1 D2 S-32, S-45 D3 S-4-S-14, S-18-S-21, S-25-S-42, S-49-S-55, S-56, S-57 D4 S-15-S-17, S-23, S-24, S-56 D5 S-2, S-3, S-18-S-22, S-27, S-30, S-41, S-46-S-48, S-53, S-56, G-1-G3, G-5-G-10 Side 10 av 11
3 Skisser 3.1 Pendelposisjon 3.2 Vognposisjon Side 11 av 11