Testprogram för WoodEye och TrackEye



Relevanta dokument
Introduktion till programmering och Python Grundkurs i programmering med Python

Digitala projekt rapport

HF0010. Introduktionskurs i datateknik 1,5 hp

Digital- och datorteknik

Konstruktion av en radiostyrd legobil. Digitala projekt av Arbon Vata Leonardo Vukmanovic Amid Bhatia

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647

Enchipsdatorer med tillämpningar LABORATION 7, ROBOT

Laboration 5. Temperaturmätning med analog givare. Tekniska gränssnitt 7,5 p. Förutsättningar: Uppgift: Temperatur:+22 C

F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen

Digital- och datorteknik

Digital- och datorteknik

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik

PROGRAMMERING AV MCU LABORATION6. Laborationens syfte

Instruktion till. PigWin PocketPigs. Del 1 - Installation

Föreläsning 2. Operativsystem och programmering

GPIO - General Purpose Input Output

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

Grundläggande A/D- och D/A-omvandling. 1 Inledning. 2 Digital/analog(D/A)-omvandling

Lågnivåprogrammering. Föreläsning 2 Lågnivåprogrammering. Binära tal. En enkel modell av datorns inre

Ansvarig lärare: Olof Andersson, Telefon (besöker skrivsalen)

Användarhandledning Version 1.2

Vop handledning. Användarhandledning till Vop applikationen. UPPGJORD: Mattias Gyllsdorff GODKÄND:Mattias Gyllsdorff REV: A DATUM:

Datorsystemteknik DAV A14 Föreläsning 1

5:3 Datorn och datorns delar

Läsminne Read Only Memory ROM

Datorsystemteknik DAV A14 Föreläsning 1

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

TIS-Web startguide 3.6. TIS-Web Startguide

SNABB-GUIDE FÖR GOOGOL T1 PROGRAMMERING.

Styrteknik distans: Minneselement, register, räknare, AD-omv D4:1

DIGITALA RESURSER MANUAL FÖR. Arbeta med video i imovie

CanCom C721 RadioTransceiver V1.19

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler

Minnet. Minne. Minns Man Minnet? Aktivera Kursens mål: LV3 Fo7. RAM-minnen: ROM PROM FLASH RWM. Primärminnen Sekundärminne Blockminne. Ext 15.

IDE USB kabel Windows XP, Vista 7 löäzxcvbnmqwertyuiopåasdfghjklöäz [Version 1.4, ]

FLEXILAGER Ett hjälpmedel för anpassad lagerhantering. Original -version

Digitala Projekt(EITF40) - Larm

Kristina Grundström Erik Truedsson

Tentamen i. Programmering i språket C

C++ Slumptalsfunktioner + switch-satsen

Sphero SPRK+ Appen som används är Sphero Edu. När appen öppnas kommer man till denna bild.

Den här texten ska förhoppningsvis underlätta en del av anpassningarna. Det kan säkert finnas en del fel och annat tok.

Digital- och datorteknik

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

Användarmanual Onepix Foto SVENSK

Instruktion för I/O-Kort, med USB-anslutning.

Inledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock

System S. Datorarkitektur - en inledning. Organisation av datorsystem: olika abstraktionsnivåer. den mest abstrakta synen på systemet

Manual Demoväska RFID. Manual Demoväska. Sara Svensson/Monika Lindgren/Fredrik Karlsson Version BnearIT AB 1(17)

Cecilia Ingard. Boksidan

IT för personligt arbete F5

TUTORIAL: SAMLING & KONSOLL

Talsystem Teori. Vad är talsystem? Av Johan Johansson

Styrning från telefon. Styrning mellan två Robofonsändare. Styrning via SMS. Styrning via dator

LV6 LV7. Aktivera Kursens mål:

Operativsystem och användargränssnitt

Styrteknik: MELSEC FX och numeriska värden

Temperaturregleringssystem

Pipelining i Intel Pentium II

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

A/D- och D/A- omvandlare

ADAD-net. Användarmanual INDIVIDEN. Råbe och Kobberstad Februari 2010

Objektorienterad programmering Föreläsning 2

F5: Högnivåprogrammering

Enkla datatyper minne

Programmera Avant 5 med PC mjukvara

F5: Högnivåprogrammering

Föreläsning 1: Intro till kursen och programmering

Mattekungen åk 6-9 vers. 1.0

PC-teknik, 5 p LABORATION ASSEMBLERINTRODUKTION

Grafisk Teknik. Rastrering. Övningar med lösningar/svar. Sasan Gooran (HT 2013)

PNSPO! Minneskort till CJ. 14 mars 2012 OMRON Corporation

Analog till Digitalomvandling

Lathund Claro Read Plus

Systemkonstruktion SERIEKOMMUNIKATION

Vanliga frågor för VoiceXpress

Minneselement,. Styrteknik grundkurs. Digitala kursmoment. SR-latch med logiska grindar. Funktionstabell för SR-latchen R S Q Q ?

Systemenhet. Delarna i en dator

Digital- och datorteknik

Manual för Autostart Speed Control

Produktionsstöd har erhållits från Specialpedagogiska skolmyndigheten

Handicom. Symbol for Windows. Encyklopedi. Version 3.4

Digital Projekt EDI 021 Konstruktion av talande nummerpresentatör VT1 2004

Du kan även lyssna på sidorna i läroboken: Teknik direkt s Lyssna gör du på inläsningstjänst.

Innehållsförteckning. Figur- och tabellförteckning. Figure 1 Blockschema över hårdvaran...4 Figure 2 Blockschema över programet...

Ingående delar. I ditt paket av IDEA-SOLO ingår följande delar. Kamerasystem. Väska för att transportera IDEA-SOLO

Datakommunikation med IR-ljus.

Programmera i teknik - kreativa projekt med Arduino

OMRON. PLC till PLC kommunikation (CP1L-E) Ethernet. 22 april 2014 OMRON Corporation

AD-DA-omvandlare. Mätteknik. Ville Jalkanen. 1

Digitala Projekt Konstruktion av Tamagocchi. Av: Oskar Andersson D05 & Danial Rehman D05

Generell säkerhet. Loggning - Hur mycket ska man logga? Inloggningsrutinerna i Unix. Loggning fortsättning

Digitala projekt - Radiostyrd bil

Temperaturmätare med lagringsfunktion DIGITALA PROJEKT EITF11 GRUPP 14, ERIK ENFORS, LUDWIG ROSENDAL, CARL MIKAEL WIDMAN

Programmering, grundkurs, 8.0 hp HI1024, HI1900 etc., Tentamen TEN1. Måndagen den 10 januari 2011,

Färgklövern. Färgklövern är gjord 1998 i samarbete mellan Datateket i Linköping och Hargdata AB i Linköping.

Instruktion för I/O-Kort, med USB-anslutning.

Del 1 Frågor om vad höghastighetsnät är:

PNSPO! CF-korts hantering till NS-serien. 14 mars 2012 OMRON Corporation

Transkript:

Testprogram för WoodEye och TrackEye Examensarbete utfört i ämnet Elautomatik vid Tekniska Högskolan i Linköping av Nils-Johan Wahlgren Reg nr: LiTH-ISY-EX-1370

3 Examinator Olof Roos Linköping 30 september åååå

INNEHÅLLSFÖRTECKNING FÖRKLARINGAR AV FÖRKORTNINGAR OCH FACKTERMER...7 DEL 1 ALLMÄNT 9 1 INLEDNING ------------------------------------------------------------------------10 1.1 Uppgiften...10 1.2 Min lösning av uppgiften...10 1.3 Rapportens uppläggning...10 2 INNOVATIV VISION -------------------------------------------------------------11 2.1 Historia...11 2.2 I dag...12 2.3 IV:s standard för skrifter och program...12 3 WOODEYE --------------------------------------------------------------------------13 3.1 Fysiska delar...13 3.2 Hur systemet arbetar...14 3.3 Kretskort i WoodEye...14 3.4 Tillämpningar...15 4 TRACKEYE--------------------------------------------------------------------------16 4.1 Fysiska delar...16 4.2 IWS uppbyggnad i TrackEye...16 DEL 2 HÅRDVARA 17 5 INKORTET --------------------------------------------------------------------------18 5.1 A/D-omvandling av insignalen...18 5.2 Styrenhet...19 5.3 Minnet på inkortet...20 5.4 D/A-omvandling...20 6 SHADINGKORTET----------------------------------------------------------------21 6.1 Shadingminnet...21 6.2 Mul- och add-signaler...21 6.3 I-kanal...21 6.4 Tröskelnivå...22 6.5 Informationsbyte...22 7 CENTRALPROCESSORKORT---------------------------------------------------23 7.1 Styrning av IWS...23 7.2 I-kanalen på CPU-kortet...23 8 MINNESKORTET------------------------------------------------------------------24 8.1 Styrenhet...24 8.2 Minnesbanker...24 8.3 Datakanaler...25 8.4 Expanderat minne...26 8.5 Kretsnumrering...26 9 PER ROWA UPPSALA PROCESSOR KORTET------------------------------27 DEL 3 TESTPROGRAMMET 28 10 TESTPROGRAMMET ------------------------------------------------------------29 10.1 Kanaler...29 10.2 Image Work Station Software...30 10.3 Filstruktur...30 10.4 Generella strukturer i TWT...31 4

10.5 Bild definitioner...31 11 MENYHANTERING-------------------------------------------------------------32 11.1 Huvudfilen...32 11.2 Fil för utskrift på datorskärm...33 11.3 Fil för utskrift av hjälptext...33 12 HJÄLPFUNKTIONER -----------------------------------------------------------34 12.1 Fil för allmänna funktioner...34 12.2 Fil med IWSS-liknande funktioner...35 12.3 Fil som programmerar IWS...35 12.4 Fil som skapar logfil...35 13 TEST AV INKORT----------------------------------------------------------------36 13.1 Fil som testar inkort...36 13.2 Lokalisering av fel på inkortet...38 14 TEST AV SHADINGKORT -----------------------------------------------------39 14.1 Fil som testar shadingkortet...39 14.2 Lokalisering av fel på shadingkortet...41 15 TEST AV CENTRALPROCESSORKORT-------------------------------------43 15.1 Fil som testar centralprocessorkortet...43 15.2 Lokalisering av fel på centralprocessorkortet...45 16 TEST AV MINNESKORT -------------------------------------------------------46 16.1 Fil som testar minneskortet...46 16.2 Lokalisering av fel på minnskortet...49 17 ÖVRIGA FILER I TWT-----------------------------------------------------------52 17.1 Fil som tar emot funktionsanrop som ej är implementerade...52 DEL 4 ÖVRIGT MATERIAL 53 18 ANVÄNDARMANUAL --------------------------------------------------------54 18.1 Installation från diskett...54 18.2 Installation från nät (endast IV)...54 18.3 Installation av TWT i Windows...54 18.4 Filer i TWT...55 18.4 Växlar för TWT...55 18.5 Start av TWT från DOS...55 18.6 Start av TWT med BAT-fil...56 18.7 Start av TWT från Windows...56 18.8 Menynivåer i TWT...56 18.9 Tangentfunktioner i TWT...57 18.10 Testning av hårdvaran på IWS...58 18.11 Testning med felsökning...60 18.12 Loggfilen...66 18.12 Felmeddelande i loggfilen för inkortet...70 18.13 Felmeddelande i loggfilen för shadingkortet...72 18.14 Felmeddelande i loggfilen för centralprocessorkortet...75 18.15 Felmeddelande i loggfilen för minneskortet...76 18.16 Lokalisering av fel i loggfilen...80 18.17 ISU-filer...81 18.17 Prestanda...84 19 MANUAL FÖR IWSS------------------------------------------------------------86 19.1 Öppna arbetsstationen...86 19.2 Stänga arbetsstationen...86 19.3 Sätta add- och mul-signalen för inkortet...86 19.4 Sätta inkortet i testmode...86 5

19.5 Definiera bilder på inkortet...87 19.6 Definiera bilder på höghastighetsskärmen...87 19.7 Definiera bilder på minneskortet...87 19.8 Definiera fil på hårddiskarna till IWS...87 19.9 Definiera bilder på hårddiskarna till IWS...88 19.10 Definiera bilder på värddatorn...88 19.11 Frigörande av minne som använts till bilddefinitioner...88 19.12 Fördröjning av förbindelser...88 19.13 Förfrågan om bildstorlek...88 19.14 Kopiera bilder...89 19.15 Förbindelser mellan kort...89 19.16 Avslutning av förbindelser...89 19.17 Reset av inkortet...89 19.18 Programmering av IWS gränssnittkort...89 19.19 Direkt kommunikation till Host-kanalen...90 19.20 Direkt avlyssning av Host-kanalen...90 19.21 Egentillverkat IWSS-kommando...90 20 DATASÄKERHET----------------------------------------------------------------91 21 SLUTSATSER----------------------------------------------------------------------92 REFERENSER -------------------------------------------------------------------------93 BILAGOR BILAGA KRETSKORTSLAYOUT FÖR INKORTET---------------------------------------1 KRETSKORTSLAYOUT FÖR SHADINGKORTET ----------------------------2 KRETSKORTSLAYOUT FÖR CENTRALPROCESSORKORTET -----------3 KRETSKORTSLAYOUT FÖR MINNESKORTET ------------------------------4 TWT_MAIN ---------------------------------------------------------------------------5 TWT_MENY.C ------------------------------------------------------------------------6 TWT_MENY.H------------------------------------------------------------------------7 TWT_HJAL.C -------------------------------------------------------------------------8 TWT_HJAL.H -------------------------------------------------------------------------9 TWT_FUNK.C ------------------------------------------------------------------------10 TWT_FUNK.H ------------------------------------------------------------------------11 TWT_IWS.C ---------------------------------------------------------------------------12 TWT_IWS.H ---------------------------------------------------------------------------13 TWT_PR_I.C---------------------------------------------------------------------------14 TWT_PR_I.H --------------------------------------------------------------------------15 TWT_LOG.C---------------------------------------------------------------------------16 TWT_LOG.H --------------------------------------------------------------------------17 TWT_IN.C -----------------------------------------------------------------------------18 TWT_IN.H -----------------------------------------------------------------------------19 TWT_FM_I.C --------------------------------------------------------------------------20 TWT_FM_I.H--------------------------------------------------------------------------21 TWT_SC.C -----------------------------------------------------------------------------22 TWT_SC.H-----------------------------------------------------------------------------23 TWT_FM_S.C--------------------------------------------------------------------------24 TWT_FM_S.H -------------------------------------------------------------------------25 TWT_CPU.C---------------------------------------------------------------------------26 TWT_CPU.H --------------------------------------------------------------------------27 TWT_FM_C.C -------------------------------------------------------------------------28 6

TWT_FM_C.H-------------------------------------------------------------------------29 TWT_M.C ------------------------------------------------------------------------------30 TWT_M.H------------------------------------------------------------------------------31 TWT_FM_M.C ------------------------------------------------------------------------32 TWT_FM_M.H ------------------------------------------------------------------------33 TWT_TMP.C---------------------------------------------------------------------------34 TWT_TMP.H --------------------------------------------------------------------------35 TESTRESULTAT 1--------------------------------------------------------------------36 TESTRESULTAT 2--------------------------------------------------------------------37 TESTRESULTAT 3--------------------------------------------------------------------38 TESTRESULTAT 4--------------------------------------------------------------------39 TESTRESULTAT 5--------------------------------------------------------------------40 TESTRESULTAT 6--------------------------------------------------------------------41 TESTRESULTAT 7--------------------------------------------------------------------42 TESTRESULTAT 8--------------------------------------------------------------------43 TESTRESULTAT 9--------------------------------------------------------------------44 TESTRESULTAT 10 ------------------------------------------------------------------45 WOODY.ISU --------------------------------------------------------------------------46 WOODY2.ISU-------------------------------------------------------------------------47 WOODY3.ISU-------------------------------------------------------------------------48 WOODY4.ISU-------------------------------------------------------------------------49 WOODY5.ISU-------------------------------------------------------------------------50 WOODY6.ISU-------------------------------------------------------------------------51 TRACK.ISU----------------------------------------------------------------------------52 TRACK2.ISU --------------------------------------------------------------------------53 TWT_SIGN.ASM ---------------------------------------------------------------------54 7

Fel! Bokmärket är inte definierat.förklaringar AV FÖRKORTNINGAR OCH FACKTERMER add Additiv. Signal som läggs additivt till insignalen. ABUS Adressbuss A. Adressbuss som adresserar i minnesbank 0 och minnesbank 2. ASC-kod Amerikansk Standard Kod för Informationsutväxling (ASCII). Numerisk kodning av siffror, bokstäver och tecken. A/D-omvandling Analog till Digital omvandling. Omvandlar en analogsignal till en digitalsignal. BBUS Adressbuss B. Adressbuss som adresserar i minnesbank 1 och minnesbank 3. CPU-kort Centralprocessorkort. Kort i IWS som styr IWS. D/A-omvandling Digital till Analog omvandling. Omvandlar en digitalsignal till en analogsignal. D-kanal fifo fig EPROM IC-krets IV IWS IWSS I-kanal systemet. Skärmkanal (fritt översatt). Databuss för kommunikation med höghastighetsskärmen. Först in, först ut. Minnestyp som sänder först iväg det som först kom in. Figur. Figurer i rapporten. Erasable Programmable Read Only Memory. Minne som innehåller data som bestäms av hårdvarukonstuktören. Integrerad krets. Komplex elektronisk komponent gjord i kisel. Innovativ Vision. Företaget på vilken examensarbetet i den här rapporten gjordes. Image Work Station. En dator som enbart är gjord för bildbehandling. Image Work Station Software. Samlingsnamn för funktioner som kan exekveras på IWS. Fel! Bokmärket är inte definierat.inkanal (fritt översatt). Databuss som transporterar ljusvärdena från kamerorna genom 8

I-kort Handtag Host-kanal H-synk mul M-kort offs pixel PRUP-kort P-kanal SC-kort skönsvärde testkil VDM-kort V-synk W-kanal Inkort. Kort i IWS som omvandlar en analog insignal till en datasignal. Handtag. Snabbreferens i mjukvara till omfattande funktioner. Hostkanal. Data och adressbuss för kommunikation mellan värddatorn och IWS. Horisontalsynkroniseringssignal. Signal som bestämmer radslut. Multiplikator. Signal som multipliceras med insignalen. Minneskort. Kort i IWS som innehåller IWS huvudminne. Offset. Signal som läggs additivt till enbart en av insignals kanalerna. Punkt i en bild (frit översatt). Punkt i en bild som består av ett numeriskt värde som anger ljusstyrkan på punkten. Det numeriska värdet är mellan 0 och 255. Per Rowa Uppsala Processorkort. Kort i IWS som innehåller IWS processor. PRUP-kanal (fritt översatt). Databuss för kommunikation mellan PRUP-kortet och M-kortet. Shadingkort. Kort i IWS som kompenserar för ojämnhet i bildens belysning. Den svenska motsvarigheten till det engelska ordet defaultvärde. Värde som används när inget annat värde anges. Testbild i form av en kil. Testsignal som genereras av inkortet. Videodiskminneskort. Kort på IWS som hanterar hårddiskarna. Vertikalsynkroniseringssignal. signal som bestämmer bildslut. Videodiskkanal (fritt översatt). Databuss för kommunikation med hårddiskarna. 9

10

DEL 1 ALLMÄNT 11

1 INLEDNING Innovativ Vision (IV) är ett företag som arbetar med datoriserad bildbehandling. Två av huvudprodukterna är WoodEye och TrackEye. Produkterna använder sig av i stort sett samma hårdvara. Hårdvaran kallas Image Work Station. Den kan betraktas som en snabb dator som är speciellt gjord för bildbehandling. Innovativ Vision har konstruerat hårdvaran, men de producerar den inte. Tyvärr har vissa av kretskorten defekter när de kommer till IV. För att förbättra produktionsutfallet har IV behov av ett testprogram som detekterar och i viss mån lokaliserar fel. Det finns också ett behov hos kunden att se om IV:s produkt fungerar. Image Work Station är en del i ett stort system. Kunden vill kunna konstatera om felet uppkommit på grund av Innovativ Visions produkt eller inte. Det är meningslöst att åka till företag i ett annat land och där konstatera att felet inte beror på någon del som producerats av IV. För att kunder och produktionsfolk ska kunna använda testprogrammet måste det vara användarvänligt och självgående. Det ställer höga krav på menyhantering och presentationer av slutsatser. Programmet ska också kunna tillgodose personer med stora kunskaper om systemet inom företaget. Dvs testprogrammet måste ha viss flexibilitet. Jag har skrivit kommentarer och ledtext i programmet på svenska. På grund av att IV har kunder i många länder finns det ett behov av att testprogrammet översätts till flera språk. Att översätta programmet faller utanför mitt examensarbete. 1.1 Uppgiften Uppgiften är att skriva ett testprogram i C. Programmet ska testa samtliga kretskort på IWS som används i WoodEye. Testprogrammet ska detektera samtliga fel på hårdvaran, samt i viss mån lokalisera felen. Programmet ska kunna användas av kunden, producenten samt anställda på IV. 1.2 Min lösning av uppgiften Testprogrammet testar ett kretskort i taget. När det testar ett kort förutsätter det att de övriga korten är felfria. När programmet startas testar det först en minimal kärna av kretsar på kortet. Testprogrammet utökar sedan successivt de antal kretsar på kretskortet som testas. Då testprogrammet detekterar ett fel avbryts testet. När fel detekteras försöker programmet att lokalisera felet. Felmönster som programmet kan känna igen har i förväg lagts in i programmet. Olika fel kan ge upphov till samma felmönster. Programmet kommer i de fallen att peka ut en grupp av kretsar. När det gäller fel som ger unika felmönster kan programmet peka ut exakt var felet ligger. Under utvecklingen av testprogrammet har bilden av vad som är möjligt att göra och vad som är intressant att testa klarnat. Eftersom det var en uppgift som jag arbetat med och inte en specifikation har det gett mig möjlighet att kreativt hitta på nya tillvägagångssätt att lösa uppgiften. Jag har fått positiv feed-back från företagets anställda efterhand som jag släppt olika versioner av testprogrammet. Den kritik som jag fått har jag använt för att göra förbättringar i mitt program. 1.3 Rapportens uppläggning Rapporten består av fyra delar. Första delen består av inledning och bakgrund. Den andra delen av rapporten beskriver hur IWS fungerar. I den tredje delen förklaras testprogrammet. Den sista delen innehåller övrigt material, till exempel: användarmanual och beskrivning av använda IWSS kommandon m.m. Språket i användarmanualen skiljer 12

sig något mot övriga rapporten, eftersom manualen ska användas i praktiskt bruk. För att förstå övriga bitar av rapporten krävs kunskaper i programspråket C och allmäna kunskaper om elektronik. 13

2 INNOVATIV VISION Redan på mitten på 70-talet hade idén om datoriserad bildbehandling väckts på Tekniska Högskolan i Linköping. 1982 började idéerna omsättas i praktiken på en sektor i Teknikcentrum, LiTH. Ur sektionen bildades 1983 IV. Innovativ Vision AB, eller IV som de kallar sig i dagligt tal, är specialister inom området bildbehandling och bildanalys. IV:s affärside är att tillhandahålla kunden färdiga lösningar i stället för generella bildbehandlingssystem. Det finns sju stycken färdiga lösningar som marknadsförs: -WoodEye, automatisk avsyning av trä. -TrackEye, analys av bilder, tagna via video eller höghastighetskamera. -DocEye, dokumenthantering och bildfångst för stora mängder dokument i hög hastighet. -LabEye, bildmätsystem för medicinska och industriella laboratorier. -TS4000, system för kartografi och fjärranalys. -Data Optics, on-line inspektion för kabelindustrin. -IV Service, serviceorganisation med 7 kontor som avhjälper fel på IV:s produkter. Det fyra huvudprodukterna i Linköping, är WoodEye, TrackEye, DocEye och LabEye. DocEyeavdelningen bildar IV DocEye AB. Övriga avdelningar bildar IV Industry AB. IV DocEye AB och IV Industry AB bildar tillsammans Innovativ Vision AB dvs IV. 2.1 Historia * 1983. Fyra forskare från Tekniska Högskolan i Linköping skapade IV. IV:s första stora kund var AB Tipstjänst. Uppgiften var att automatiskt läsa av tipskuponger. Lösningen blev så lyckad att avdelningen den gav upphov till finns kvar än idag (DocEye). 1984. IV konstruerade bl.a. en färg-tv, som var lika hög som ett fyravåningshus. Den visade reklamfilmer och hästarnas upplopp på Köpenhamns travbana. 1985. Gamla kontakter med Saab-Scania medförde att TrackEye och LabEye grundades. 1987. Det första WoodEye systemet sattes i drift. 1988. WoodEye och TrackEye släpptes på marknaden. Företaget började expandera på allvar. 1989. IV började på allvar att marknadsföra sig utomlands. Ett dotterbolag startades i Norge. 1990. Servicesidan byggdes ut. IV övertog Teragon Systems serviceorganisation. Per Rowa, dåvarande utvecklingschef på IV, erhöll STU:s uppfinnarpris. Priset var en belöning för insatser som resulterat i tekniska innovationer som är av betydelse för svenskt näringsliv. 1992. DocEye förvärvade Capture Technology från Stockholm. För DocEye var det ett sätt att expandera in i Sveriges huvudstad. Marknaden för elektronisk dokumenthandlingar ökade snabbt i Sverige och utomlands. 1993. IV blev utsedd till årets dataföretag av tidningen Datavärlden, tack vare IV:s förmåga "att med svenskutvecklade hightech produkter åstadkomma en imponerande expansion med bibehållen god vinst". 14

*Uppgifter hämtade ur IV:s pressklipp 1983-1993 15

2.2 I dag * 1992 hade IV en omsättning på 75 miljoner och hade ett operativt resultat på 7.0 miljoner kronor. Företaget hade 1992 63 stycken anställda (idag ca 100) placerade framför allt i Linköping, Stockholm och Oslo. Ägarbilden är uppdelad på tre delar: -anställda grundare, -privata investerare och -statligt riskkapital. IV är i dag ett expanderande företag som verkar i många länder. 60 % av produktionen exporteras. Det avspeglar sig också i IV:s manualer och dokumentation. Det mesta är dokumenterat på engelska, men det finns även texter på tyska, norska och svenska. 2.3 IV:s standard för skrifter och program Nästan all programvara som konstrueras på IV skrivs i programspråket C. Alla program skrivs och används på persondatorer. Program som görs på IV innehåller ofta färdiga menypaket (motto, man ska inte uppfinna hjulet två gånger). IV har ett antal menypaket som lätt kan implementeras i egna program. Inget av menypaketen är Windows-baserat. Testprogrammet i den här rapporten använder ett av IV:s menypaket. Skrifter som produceras på IV skrivs med teckensnitten Palatino och Helv Condensed. Helv Condensed används i rubriker och Palatino i löptext. Den här rapporten är skriven enligt IV:s standard typsnitt. 16

* Uppgifterna hämtad ur IV:s årsredovisning 1992 17

3 WOODEYE WoodEye är ett system som med kameror avsynar en planka, behandlar informationen med hjälp av databearbetning och ger slutsatser om vad som ska göras med plankan. Slutsatsen kan t.ex. vara hur plankan ska kapas för att få ut den bästa vinsten. Det är först när WoodEye kombineras med efterföljande maskinutrustning som avsyningen får en konkret användning. I de flesta fall anpassas WoodEye direkt efter kundens behov. Ibland utvecklas hela system i nära samarbete med tillverkare av maskinutrustning till kapsågar, hyvlar och sorteringsverk. I de fallen får kunden en färdig lösning och slipper samordningsproblem. WoodEye-programmet ger användaren möjlighet att ta fram exakt vad som produceras, vad som finns på lager och vad som beställts av kunderna. 3.1 Fysiska delar Fysiskt består ett WoodEye-system av tre huvuddelar: mätram, datorskåp och en yttre enhet (se fig 3.1). De olika delarna innehåller följande: -Mätram: Den kan till exempel bestå av fyra kameror och någon typ av belysning som är uppsatt på en ram. En transportör används för att transportera brädan genom mätramen. Brädorna transporteras på längden igenom mätramen. -Datorskåp: Skåpet innehåller den elektronik som kontrollerar avsyningen. Förutom kretskorten (se del 2 hårdvaran) finns det en dator med tangentbord och skärm. För att kyla elektroniken används en värmeväxlare, som står i förbindelse mellan luften i skåpet och luften utanför skåpet. Elektroniken behöver därför inte utsättas för den hårda miljön som finnas i en träindustri. -Den yttre enheten: Enheten är beroende av applikationen. Det kan t.ex. var ett kapsystem eller ett sorteringsverk. Figur 3.1 Fysiska delar i WoodEye-systemet (bilden är hämtad ur instruktionsboken för WoodEye). KAMERA LAMPA BRÄDA TRANS- PORTÖR 18

Testprogrammet är helt inriktat på de komponenter IV konstruerat som finns i datorskåpet. Testprogrammet gör inga tester på persondatorn eller bildskärmen som också finns i datorskåpet. 3.2 Hur systemet arbetar Datorskåpet i figur 3.1 innehåller en PC, ett tangentbord, en monitor och en IWS. Persondatorn fungerar som värddator åt IWS. Från tangentbordet kan operatören styra systemet. På skärmen presenteras resultat från processen. IWS är den enhet som utför det mesta av processorarbetet. Den kan betraktas som en dator med programmerbara gränssnittskort. Det är två saker som styr IWS. Det första är inkortsprogrammering. Med inkortprogrammeringsfiler (ISU-filer) kan man programmera IWS gränssnittskort. Källkoden i ISU-filen översätts av värddatorn och sänds därefter som bitmönster till IWS. Bitmönstret läggs i minnen och register på IWS. De bitmönstret bestämmer sedan IWS uppförande (se kap 5.2 Styrenhet och kap 19 MANUAL FÖR IWSS). Om ingen inkortsprogrammering sker från värddatorn kommer register och minnen att innehålla skönsvärden. Det andra sättet att styra IWS är att från värddatorn anropa IWSS funktioner (se även kap 19 MANUAL FÖR IWSS). IWSS-kommandon kan ses som IWS operativsystem. Programmen finns lagrade i värddatorn. De startar ofta genom att programmera IWS med en inkortprogrammeringsfil. Programmet innehåller alltid en serie IWSS kommandon som utförs av IWS. Övrig kod i programmet är till största delen presentation och behandling av data från IWS på värddatorn. 3.3 Kretskort i WoodEye Persondatorn är utrustad med ett extra kort. Det är ett gränssnittskort som kallas hostkort. I figur 3.2 är inte hostkortet markerat. Testprogrammet TWT Fel! Bokmärket är inte definierat.testar inte hostkort. I WoodEye-systemet består IWS av fem kretskort (se fig. 3.2). CPU-kort kontrollerar IWS. Kommunikationen mellan IWS och värddatorn sker via kortet. I-kort är ett gränssnittskort som omvandlar analoga kamerasignaler till digitala signaler. Funktionen på kortet kan programmeras med ISU-filer. SC-kort är ett gränssnittskort som kompenserar för fel som uppkommer på grund av ojämn belysning. Funktionerna på kortet kan programmeras med ISU-filer. M-kort fungerar som arbetsyta för PRUP-kortet och fifo-minne på I-kanalen. PRUP-kort innehåller IWS processor. Två centrala kanaler (databussar) finns också i WoodEye, nämligen: I-kanal transporterar data från kameran genom IWS. Host-kanal sköter all kommunikation mellan värddatorn och IWS. Figur 3.2 Principskiss över WoodEye 19

HOST-KANAL I-KANAL VÄRDDATOR IWS CPU KAMERA IN SC M PRUP. 20

3.4 Tillämpningar WoodEye kan tillämpas på många olika sätt. I kapsystemet används WoodEye för att dela upp brädan i olika kvalitetzoner. Zonerna används sedan för att få ett maximalt utbyte av ingående material. Systemet avgör hur plankan ska kapas för att få ut maximal kvalitet, maximalt materialutnyttjande och maximal lönsamhet. Sortering av halvfabrikat är en annan tillämpning. T.ex. kvalitesbestäms brädan beroende på hur mycket brädans dimension varierar. Här används ofta speciella metoder t.ex. laser för att mäta ådringens struktur, skillnader i nyans eller exaktare mått på tjocklek m.m. 21

4 TRACKEYE TrackEye-systemet utvärderar information som finns i rörliga bilder. Systemet följer markerade punkter på filmen och utvärderar rörelsen i bilden. Användningsområdet för systemet är till exempel: utvärdering av krockprov med personbilar, utvärdering av hästars rörelsemönster m.m. TrackEye-systemet är ett självständigt system. Som indata används videofilm, åttamillimetersfilm eller sextonmillimeters film. 4.1 Fysiska delar TrackEye-systemets uppbyggnad påminner om WoodEye-systemets. Till skillnad från WoodEye kommer insignalen från en video eller scaner. En annan skillnad är att TrackEyesystemet har en höghastighetsskärm (se fig 4.1). Delar i TrackEye-systemet: Videon är en standardvideo med hög prestanda. Scanern är konstruerad av IV. Scanern läser av 8 millimetersfilm eller 16 millimetersfilm. Insignalen delas upp på jämna pixel och udda pixel som i WoodEyes kameror. IWS är konstruerad av IV. IWS är i TrackEye-systemet utrustad med hårddiskar. Värddatorn är en standard persondator bestyckad med ett Host-kort. Höghastighetsskärmen presenterar data från IWS. Skärmen är ovanlig men finns att köpa på marknaden. Figur 4.1 Fysiska delar i TrackEye-systemet. VÄRDDATOR VIDEO HÖGHASTIGHETSSKÄRM SCANER IWS 4.2 IWS uppbyggnad i TrackEye För att kunna lagra informationen i bilderna har IWS i TrackEye-systemet hårddiskar. Hårddiskarna styrs av sex stycken kretskort som kallas VDM-kort. VDM-korten testas ej av testprogrammet TWTFel! Bokmärket är inte definierat.. IWS i TrackEye-systemet saknar SC-kort. Shadingen i systemet sker innan signalen kommer till IWS. För övrigt fungerar TrackEyes IWS som WoodEyes IWS (se även 22

förklaring av hårdvaran i kap 3.3 Kretskort i WoodEye). Skillnader finns på kretskorten med det kommer jag att återkomma till i DEL 2 HÅRDVARA. 23

DEL 2 HÅRDVARA 24

5 INKORTET Inkortet (I-kortet) tolkar en signal som har genererats av en video eller en kamera. Kortet omvandlar kamerans analoga signal till en digital signal. Kortet genererar också systemets klockpulser, radsynkronisering (ofta kallad horisontalsynkroniseringssignal dvs h-synk) och bildsynkronisering (ofta kallad vertikal-sykroniseringssignal dvs v-synk). Bilddata kommer in till inkortet i linjär form, men tolkas som en bild. För att kunna göra det krävs synkroniser-ingssignaler. H- och v-synk är signaler som talar om för systemet när en rad har kommit till slutet och när raderna har kommit till sista raden i bilden. Systemet bestyckas med ett eller två inkort. Varje inkort tolkar signaler från fyra kameror eller en video. Inkortet är det samma för TrackEye och WoodEye-systemet. Delar av kretskortet är inaktivt i WoodEye-systemet. Fysiskt sett är inkortet det kort som innehåller flest analoga komponenter i systemet. Trots att det finns många analoga och digitala komponenter är kortet förhållandevis litet (22 cm * 23 cm). Det gör kortet kompakt och svårt att felsöka. I testprogrammet har jag koncentrerat mig på IC-kretsarna på kortet. För att underlätta för användaren har jag i programpaketet lagt med en fil med layoutritning över inkortets IC-kretsar. Filen finns som bilaga 1 i den här rapporten och i programpaketet (IN-KORT.TWTFel! Bokmärket är inte definierat.). 5.1 A/D-omvandling av insignalen Inkortet kan tolka signaler från en eller flera kameror eller en video. I WoodEye-systemet används flera kameror till skillnad från TrackEye där endast en kamera eller en video används som insignal. Linjekamerorna består av fotodiodarrayer. Fotodiodarrayerna töms med jämna mellanrum. Den fotonmängd som varje bildpunkt (fotodiod) i arrayen erhållit omvandlas till en spänning. För att åstadkomma en snabb tömning av arrayerna har kameratillverkaren valt att låta pixlarna delas upp på två register. Från de registren sänds signalen som en tidsdiskret- och amplitudkontinuerlig-signal på två kanaler. En kanal för alla jämna pixlar och en kanal för alla udda pixlar. Det första som sker på inkortet är en analog fixering av nollnivån (clamping). Strax efter linje-synkroniseringen sänder kameror och video ut en nollnivå. Clampingens uppgift är att synkronisera systemet med nollnivån. Clampingsignalen är en signal som är hög när synkroniseringen skall ske (se fig 5.1). Clampingsignalen genereras av inkortets minne (se kap 5.3). Figur 5.1 Jämförelse mellan bildsignalen och clampingsignalen. A INSIGNAL NOLL- NIVÅ h-synk BILD INFO h-synk BILD INFO t A CLAMPSIGNAL t 25

Efter clampingen avgör systemet vilken kamera som ska läsas in. I WoodEye-systemet kommer valet att växla mellan olika kameror. I TrackEye systemet kommer valet att vara konstant dvs en kamera eller en video. Valet styrs av styrsignaler (se fig 5.3), som påverkar multiplexenheten (se fig 5.2). Figur 5.2 Blockschema över A/D-omvandlingen av insignalen. KAMERA 0 JÄMNA KAMERA 1 PIXEL KAMERA 2 KAMERA 3 UDDA PIXEL KAMERA 0 KAMERA 1 KAMERA 2 KAMERA 3 CLAMPING VIDEO OFFS ADD CLAMP +5V MUL ref A/D OMV ref A/D OMV ref A/D OMV LÄGGER PIXELN I RÄTT ORDNING BUFFERT ELLER TESTMODE I-KANAL Insignalen förstärks före A/D-omvandlingen. Eftersom udda- och jämnkanalen har olika vägar och förstärkningar fram till förstärkarsteget, förstärks kanalerna olika. För att kompensera för förstärkningsfelet finns två vridpotentiometrar (se fig 5.2). De trimmas vid installationen av kretskortet. För kontinuerlig korrektion av skillnaden mellan udda- och jämnkanal finns OFFS-signalen. OFFS-signalen är en additiv- och programmerbarsignal som adderas till en av kanalerna. ADD- och MUL-signal läggs även till innan A/D-omvandlingen. ADD-signalen adderar en likspänningsnivå till insignalen och MUL-signalen bestämmer förstärkning. ADD- och MUL-signalen är identiska för bägge kanalerna. Signalernas skönsvärde ges av CPUkortet. Under drift kan också shadingkortet kontinuerligt förändra ADD- och MULsignalen hos WoodEye-systemet (se fig 5.3). Efter A/D-omvandlingen erhålls en digitalsignal. De digitala signalerna läggs sedan i ordning, dvs udda- och jämna-pixlar kombineras. Med video som insignal slipper I-kortet kombinera udda- och jämna-pixlar, och kan då köra signalen rakt igenom blocket (se fig 5.2). På inkortets utgång finns en buffert (blocket BUFFERT ELLER TESTMODE i fig 5.2).Inbyggt i bufferten finns en räknare som kan generera en testsignal. Testsignalen går oavbrutet från 0 till 255 och kallas testkil. Vid test utan kamera kan man sätta inkortet i testmode och få test-signal från inkortet. 5.2 Styrenhet Inkortet har ett antal register som styr hårdvaran. I figur 5.3 ingår registren i blocket STYR-SIGNALER. Registerna laddas av CPU-kortet. Genom att programmera CPU-kortet kan man påverka innehållet i registerna och funktionen hos inkortet. Om inga värden anges till registren av inkortsprogrammet kommer CPU-kortet att lägga in skönsvärden i registrena. De viktigare registren är: - TEST : Ett enbitsregister som sätts till ett när bufferten på inkortet ska sättas i testmode. Testmode innebär att buffertarna som också är räknare sänder ut värden från 0 tom 255. - V-LOCK : Med v-lock angiven synkroniseras v-synk från en yttre enhet t.ex. från perforeringen som finns på filmkanten. - H-LOCK : Samma som v-lock men för h-synk-signalen. 26