Software de control d’un sistema de mesura de L’Eficiència...

92
Software de control d’un sistema de mesura de L’Eficiència Quàntica Externa TITULACIÓ: Enginyeria en Automàtica i Electrònica Industrial AUTORS: Eduard Estrada López DIRECTOR: Josep Ferré Borrull. DATA: Juny/ 2011

Transcript of Software de control d’un sistema de mesura de L’Eficiència...

Page 1: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

Software de control d’un sistema de mesura de

L’Eficiència Quàntica Externa

TITULACIÓ: Enginyeria en Automàtica i Electrònica Industrial

AUTORS: Eduard Estrada López

DIRECTOR: Josep Ferré Borrull.

DATA: Juny/ 2011

Page 2: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

Índex General

1. Introducció ........................................................................................................................ 5

1.1 Antecedents ............................................................................................................... 5

1.2 Objectius ................................................................................................................... 5

1.3 Justificació ................................................................................................................ 5

1.4 Finalitat ..................................................................................................................... 5

2. Experiment........................................................................................................................ 6

2.1 L‟Eficiència Quàntica Externa (EQE) ........................................................................ 6

2.2 Definició de l‟experiment .......................................................................................... 6

2.3 Càlculs teòrics per realitzar l‟experiment ................................................................... 7

2.4 Descripció de les parts que formen l‟experiment ........................................................ 8

2.4.1 Làmpada de Hamamatsu. ................................................................................... 8

2.4.2 Chopper ............................................................................................................. 8

2.4.3 Monocromador. ................................................................................................. 8

2.4.4 Beam Splitter ..................................................................................................... 9

2.4.5 Referència .......................................................................................................... 9

2.4.6 Mostra (Cèl·lula Solar) ....................................................................................... 9

2.4.7 Conversor I-V .................................................................................................. 10

2.4.8 Lock-in ............................................................................................................ 10

2.4.9 Connexió pel port sèrie .................................................................................... 10

2.4.10 Ordinador amb aplicació de control .................................................................. 10

3. Especificacions de l‟aplicació a desenvolupar. ................................................................. 11

3.1 Funcions del programa............................................................................................. 11

3.1.1 Configuració de l‟escaneig ............................................................................... 11

3.1.2 Connexió ......................................................................................................... 11

3.1.3 Escaneig .......................................................................................................... 12

3.1.4 Tractament de les dades ................................................................................... 12

3.1.5 Mode Debug .................................................................................................... 12

3.2 Part Gràfica ............................................................................................................. 13

3.2.1 Menú principal ................................................................................................. 13

3.2.2 Càrrega de mesures .......................................................................................... 13

3.2.3 Gràfiques ......................................................................................................... 13

Page 3: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

3.3 Ergonomia ............................................................................................................... 14

4. Especificacions del Lock-in i Monocromador .................................................................. 15

4.1 Lock-in Amplifier. Model 7265 (Figura 4.1) ............................................................ 15

4.1.1 Paràmetres de configuració del Port Sèrie ......................................................... 15

4.1.2 Estructura de la cadena de caràcters a enviar i rebre. ......................................... 15

4.1.3 Instruccions necessàries per comunicar-nos amb el Lock-in.............................. 16

4.2 Monocromador. Model SpectraPro150 (Figura 4.3).................................................. 17

4.2.1 Paràmetres de configuració del Port Sèrie ......................................................... 18

4.2.2 Estructura de la cadena de caràcters a enviar i rebre. ......................................... 18

4.2.3 Intruccions necessàries per comunicar-nos amb el monocromador. ................... 18

5. Seguiment del projecte .................................................................................................... 19

5.1 Pla d‟accions ........................................................................................................... 19

5.2 Diagrama de Gantt ................................................................................................... 20

6. Funcions que intervenen en el programa .......................................................................... 22

7. Fluxograma de les funcions per cada objecte creat ........................................................... 22

8. Fluxograma de la mesura ................................................................................................. 23

9. Aplicació......................................................................................................................... 25

9.1 Accés als ports ......................................................................................................... 25

9.1.1 Obrir el port sèrie ............................................................................................. 26

9.1.2 Tancar el Port .................................................................................................. 26

9.1.3 Funció per configurar el Port ............................................................................ 27

9.1.4 Funció amb la que llegirem la configuració actual del port ............................... 27

9.1.5 Funció per configurar el port ............................................................................ 27

9.1.6 Función per la configuració i control dels temps de lectura i escriptura. ............ 28

9.1.7 Funció per llegir i escriure del Port. .................................................................. 28

9.1.7.1 Función ReadFile. ........................................................................................ 28

9.1.7.2 Función WriteFile. ....................................................................................... 29

9.2 Treballar en MULTITASCA .................................................................................... 29

9.2.1 La classe TThread ............................................................................................ 30

9.3 Generació de gràfics amb Teechart. ......................................................................... 30

9.4 Programa ................................................................................................................. 31

9.4.1 Finestra Principal ............................................................................................. 31

9.4.1.1 Menú Principal ............................................................................................. 31

9.4.1.2 Browser ....................................................................................................... 32

9.4.1.3 Measure ....................................................................................................... 33

Page 4: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

9.4.2 Finestres secundàries........................................................................................ 34

9.4.2.1 Data Window ............................................................................................... 35

9.4.2.2 Save ............................................................................................................. 35

9.4.2.3 Configuration ............................................................................................... 36

9.4.2.4 Attention ...................................................................................................... 37

9.4.2.5 Error ............................................................................................................ 38

9.4.2.6 Set Axis ....................................................................................................... 38

9.4.2.7 Connexion.................................................................................................... 39

9.4.2.8 Configuration Lock-in .................................................................................. 39

9.4.2.9 Debug Mode ................................................................................................ 39

10. Manual D‟ús ................................................................................................................... 41

10.1 Manual de Referència .............................................................................................. 41

10.1.1 Menú Principal ................................................................................................ 41

10.1.1.1 File........................................................................................................... 41

10.1.1.2 Configuration ........................................................................................... 42

10.1.1.3 Graph ....................................................................................................... 42

10.1.1.4 Connexion ................................................................................................ 43

10.1.1.5 Debug Mode ............................................................................................ 43

10.1.2 Browser ........................................................................................................... 43

10.1.2.1 Llista de mesures ...................................................................................... 43

10.1.2.2 Botó Data Window. .................................................................................. 43

10.1.3 Measure ........................................................................................................... 43

10.1.3.1 Gràfiques ................................................................................................. 43

10.1.3.2 Botons de control ..................................................................................... 44

10.2 Reference Manual .................................................................................................... 45

10.2.1 Main Menu ...................................................................................................... 45

10.2.1.1 File........................................................................................................... 45

10.2.1.2 Configuration ........................................................................................... 46

10.2.1.3 Graph ....................................................................................................... 46

10.2.1.4 Connexion ................................................................................................ 47

Page 5: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

10.2.1.5 Debug Mode ............................................................................................ 47

10.2.2 Browser ........................................................................................................... 47

10.2.2.1 Measurement List ..................................................................................... 47

10.2.2.2 Data Window butoon................................................................................ 47

10.2.3 Measure ........................................................................................................... 47

10.2.3.1 Graphs ..................................................................................................... 47

10.2.3.2 Botons de control ..................................................................................... 48

10.3 Manual de processos ................................................................................................ 49

10.3.1 Mesura estàndard ............................................................................................. 49

10.3.2 Obri fitxer de dades i treballar amb la gràfica. .................................................. 50

10.3.3 Troubleshooting ............................................................................................... 51

10.4 Process Manual........................................................................................................ 52

10.4.1 Standard Measure ............................................................................................ 52

10.4.2 Open data file and work on the graph. .............................................................. 53

10.4.3 Troubleshooting ............................................................................................... 54

11. Bibliografia ..................................................................................................................... 55

11.1 Llibres consultats ..................................................................................................... 55

11.2 Pàgines Web consultades (Juny 2011) ...................................................................... 55

Índex De figures

Figura 2-1 Diagrama Experiment .............................................................................................. 7

Figura 2-2 Mecanisme intern d'un monocromador ..................................................................... 9

Figura 3-1 Taula d‟accessos directes de l‟aplicació. ................................................................. 14

Figura 4-1 Lock-in Amplifier. Model 7265 ............................................................................. 15

Figura 4-2 Taula d‟instruccions del port sèrie del Lock-in ....................................................... 17

Figura 4-3 Monocromador SpectrPro150................................................................................. 18

Figura 4-5 Taula d‟instruccions del port sèrie del Monocromador............................................ 18

Figura 9-1 Finestra principal ................................................................................................... 31

Figura 9-2 Finestra DataWindow ............................................................................................. 35

Figura 9-3 Finestra Save .......................................................................................................... 35

Page 6: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

Figura 9-4 Finestra ShowTextFile ............................................................................................ 36

Figura 9-5 Finestra Configuration ........................................................................................... 36

Figura 9-6 Finestra Attention ................................................................................................... 37

Figura 9-7 Finestra Error ........................................................................................................ 38

Figura 9-8 Finestra Set Axis ..................................................................................................... 38

Figura 9-9 Finestra Connexion ................................................................................................ 39

Figura 9-10 Configuration Lock-in .......................................................................................... 39

Figura 9-11 Finestra Debug Mode ........................................................................................... 39

Índex D’apèndixs

Apèndix 1 Pla d‟accions del Projecte EQE .............................................................................. 56

Apèndix 2 Diagrama de Gantt ................................................................................................. 59

Apèndix 3.1 Taula de funcions de l‟Objecte WinMain............................................................. 60

Apèndix 3. 2 Taula de funcions de l‟Objecte TMainForm........................................................ 61

Apèndix 3.3 Taula de funcions de l‟objecte ScanThread .......................................................... 66

Apèndix 3.4 Taula de funcions de l‟Objecte TAttentionF ........................................................ 67

Apèndix 3.5 Taula de funcions de l‟Objecte TConnexionF ...................................................... 67

Apèndix 3.6 Taula1 de funcions de l‟Objecte TConfigurationF ............................................... 68

Apèndix 3.7 Taula de funcions de l‟Objecte TDataWindowF .................................................. 70

Apèndix 3.8 Taula de funcions de l‟Objecte TDebuggingF ...................................................... 71

Apèndix 3.9 Taula de funcions de l‟Objecte TErrorF ............................................................... 72

Apèndix 3.10 Taula de funcions de l‟Objecte DebuggingThread ............................................. 72

Apèndix 3. 11 Taula de funcions de l‟Objecte TLockinConfigScanF ....................................... 73

Apèndix 3.12 Taula de funcions de l‟Objecte TSaveF ............................................................. 73

Apèndix 3.13 Taula de funcions de l‟objecte TShowTextFileF ................................................ 73

Apèndix 3.14 Taula de funcions de l‟objecte TSetAxisF .......................................................... 74

Page 7: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

Apèndix 4. 1 Fluxograma de funcions de l‟Objete WinMain ................................................... 77

Apèndix 4. 2 Fluxograma de funcions de l‟Objete TMainForm ............................................... 78

Apèndix 4. 3 Fluxograma de funcions de l‟Objete ScanThread ................................................ 79

Apèndix 4. 4 Fluxograma de funcions de l‟Objete TAttentionF ............................................... 80

Apèndix 4. 5 Fluxograma de funcions de l‟Objete TConfigurationF ........................................ 81

Apèndix 4. 6 Fluxograma de funcions de l‟Objete TConfigurationF ........................................ 82

Apèndix 4. 7 Fluxograma de funcions de l‟Objete TDataWindowF ......................................... 83

Apèndix 4. 8 Fluxograma de funcions de l‟Objete TShowTextF .............................................. 83

Apèndix 4. 9 Fluxograma de funcions de l‟Objete TDebugginF ............................................... 84

Apèndix 4. 10 Fluxograma de funcions de l‟Objete DebuggingThread .................................... 85

Apèndix 4. 11 Fluxograma de funcions de l‟TLockinConfigF.................................................. 86

Apèndix 4. 12 Fluxograma de funcions de l‟TSaveF ............................................................... 86

Apèndix 4. 13 Fluxograma de funcions de l‟TSetAxisF ........................................................... 87

Apèndix 4. 14 Fluxograma de funcions de l‟Objete TErrorF .................................................... 88

Apèndix 5. 1 Format de l‟arxiu *.dat de la mesura ................................................................... 89

Apèndix 5. 2 Format de l‟arxiu *.txt de la mesura ................................................................... 89

Page 8: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

5 .

1. Introducció

1.1 Antecedents

Les cèl·lules solars tenen el potencial per contribuir significativament a suplir les

demandes energètiques dels pròxims anys. El creixement sostingut del mercat mundial

de panells fotovoltaics i la necessitat de noves fonts d‟energia renovable, han impulsat

la investigació de diverses tecnologies i materials.

El grups d‟investigació que treballen en el desenvolupament de dispositius d‟estat sòlid

tals com cèl·lules solars, dispositius fotovoltaics entre altres, han d‟avaluar els

dispositius que ells fabriquen per determinar la eficiència al procés de conversió

fotovoltaic. La avaluació es realitza en base a les propietats fotoelèctriques de les

mostres en estudi. Aquestes propietats es poden obtenir experimentalment aplicant

diverses tècniques. Les tècniques impliquen controlar, mesurar i calcular una

determinada resposta de la mesura en funció de la longitud d‟ona λ incident.

1.2 Objectius

L‟objectiu que es va plantejar al inici del projecte va ser realitzar un software de control

que englobes tot el instrumental rellevant per a un experiment de mesura d‟eficiència

quàntica externa, amb la finalitat de millorar i facilitar l‟obtenció de la mesura.

Anteriorment no es disposava d‟un control automatitzat per governar els diferents

dispositius que intervenien en l‟experiment.

1.3 Justificació

Davant l‟augment constant de les necessitats energètiques del planeta, es planteja la

necessitat de trobar energies netes i econòmiques. La energia solar es una font inherent

a l‟existència humana i de la que es pot absorbir part de la energia que emana. D‟aquí

sorgeix el plantejament de l‟experiment i base del nostre projecte. Aconseguir captar la

màxima energia possible i transformar-la en energia útil per l‟ús quotidià.

1.4 Finalitat

El grup d‟investigació NePhoS amb la realització d‟aquest i altres experiment busca

contribuir en base a la ciència a millorar i evolucionar en l‟estudi en diferents camps de

la tecnologia.

Page 9: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

6 .

2. Experiment

2.1 L’Eficiència Quàntica Externa (E.Q.E.)

Tal com s‟ha detallat anteriorment el que busquem és obtenir la màxima captació

d‟energia de les cèl·lules solars. Per mesurar com d‟eficient és una mostra, existeix el

paràmetre de l‟Eficiència Quàntica Externa.

L‟eficiència quàntica externa (E.Q.E.) és la quantitat definida per un dispositiu

fotosensible com el percentatge de fotons que incideixen a la superfície foto reactiva

que produeix un parell electró-forat que contribueix efectivament al corrent generat pel

dispositiu. És una mesura precisa de la sensibilitat del dispositiu.

La eficiència quàntica d‟una cèl·lula solar es una mesura important ja que dona

informació del corrent que produeix la cèl·lula quan és il·luminada per una determinada

longitud d‟ona. Si fem la suma de l‟energia que es produeix per tot l‟espectre solar

obtindrem la quantitat de corrent que produeix la cèl·lula en ser exposada a la llum

solar.

Les cèl·lules solars més corrents són unions PN de grans àrees, on existeix un fort camp

elèctric intern a través de la unió. La radiació incident a la unió produeix parells lliures

electró-forat a les dues bandes de la unió degut a la absorció de fotons. Si la unió es

manté en circuit obert, la acumulació d‟electrons i forats a les dues bandes de la unió

produeix un voltatge en circuit obert. Si la unió es troba en circuit tancat fluirà un

corrent fotogenerat. Aquest corrent és el que nosaltres mesurarem.

2.2 Definició de l’experiment

A la figura 2.1 es mostra esquemàticament l‟experiment que s‟implementarà per

realitzar el càlcul de l‟eficiència quàntica externa de la nostra mostra.

En primer lloc necessitarem una font de llum blanca amb característiques similars a la

llum solar. La font serà una làmpada de Xènon de la marca Hamamatsu (1). La llum

emesa per aquesta font es farà passar per un Chopper (2) que modularà la intensitat del

feix amb el temps a una freqüència que serà la referència que introduirem al Lock-in

(8). La llum entrarà al monocromador (3) qui, controlat pel port sèrie de l‟ordinador (9)

ens proporcionarà a la seva sortida la longitud d‟ona que desitgem. Aquesta llum es

farà incidir al Beam Splitter (4) deixant passar el 50% del raig cap a la mostra (6) i

l‟altra 50% serà reflectida cap a la referència (5). Tan la referència com la mostra ens

proporcionaran un corrent que haurem de passar a tensió i amplificar (7). La tensió

provinent de la mostra la introduirem al Canal A del Lock-in i la de la referència al

Canal B. Amb la mesura captada pel Lock-in podrem calcular la Eficiència Quàntica

Externa mitjançant el software que implementa aquest projecte.

Page 10: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

7 .

Aquest càlcul el podrem realitzar automàticament per un rang de longituds d‟ona que

determinem. El programa de gestió s‟encarregarà de processar i guardar les dades

rebudes.

Figura 2-1 Diagrama Experiment

2.3 Càlculs teòrics per realitzar l’experiment

Partim de l‟equació de l‟E.Q.E:

)(

)(..

sphotons

selectrons

EQE

Page 11: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

8 .

Per cada longitud d‟ona el fabricant de la referència ens proporciona l‟REFEQE .. i per

tant els càlculs segueixen:

s

photonsEQEqq

selectronsI REFeeREF )(..

s

photonsEQEqI MOSTRAeMOSTRA )(..

REF

MOSTRA

REF

MOSTRA

REF

MOSTRA

V

V

I

I

EQE

EQE

)(..

)(..

MOSTRAV = mesurada pel Lock-in

REFV =mesurada p

)(..)(.. REF

REF

MOSTRAMOSTRA EQE

V

VEQE

MOSTRAV i REFV els mesurem amb el Lock-in. )(.. REFEQE ens la proporciona el

fabricant. Per tant podem calcular )(.. MOSTRAEQE .

2.4 Descripció de les parts que formen l’experiment

En aquest apartat explicarem breument el funcionament i/o característiques de cada part

de l‟experiment.

2.4.1 Làmpada de Hamamatsu.

Font de llum blanca amb un espectre ampli des de l‟Ultraviolat fins l‟Infraroig. Es tracta

d‟una làmpada d‟arc en una barreja de Xe-Hg a baixa pressió.

2.4.2 Chopper

L‟ús del Chopper i del Lock-in són molt importants en aquest tipus d‟experiment on els

senyals que es volen mesurar són petits en comparació amb el soroll que puguem tenir.

D‟aquesta manera el Chopper sincronitza, la lectura del Lock-in amb el pas de llum que

prové de la font lluminosa. Amb aquest procediment de mesura eliminem el soroll i

s‟obtenen mesures molt precises.

2.4.3 Monocromador.

És un aparell que permet, per mitjà d‟una combinació de miralls i una xarxa de

difracció, seleccionar i transmetre una determinada longitud d‟ona (λ) a partir d‟una

font emissora que produeixi un rang de longituds d‟ona. Figura 2.2

Page 12: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

9 .

El monocromador que disposem al laboratori de recerca funciona amb el fenomen de

difreacció utilitzant una reixa de difracció (Grating). Posseeix d‟un mecanisme que

permet dirigir la longitud d‟ona seleccionada cap a una ranura de sortida

Figura 2-2 Mecanisme intern d'un monocromador

El feix de llum (A) entra per l‟obertura del monocromador (B) i és reflectit per un mirall

amb curvatura (C). El feix es dispersat mitjançant la xarxa de difracció (Grating) en les

diferents longituds d‟ona. A més a més la xarxa de difracció està subjectada per un

motor pas a pas que pot moure la seva orientació (D). Les diferents Longituds d‟ona són

reflectides pel mirall (E). En funció de l‟angle del Grating només aconseguirà passar

per l‟obertura (F) la longitud d‟ona seleccionada (G).

2.4.4 Beam Splitter

És un instrument òptic que divideix un feix de llum en dos. El disseny del Beam Splitter

que tenim al laboratori consisteix en l‟ús de miralls semitransparents. Per un raig que

incideixi amb un angle de 45 º, la meitat de la intensitat és es transmesa mentre que

l‟altra meitat és reflectida.

2.4.5 Referència

La referència es un dispositiu fotosensible del que coneixem la seva E.Q.E. per cada

longitud que mesurem. Ha de venir calibrada pel fabricant amb la taula d‟equivalències

de longitud d‟ona i E.Q.E.

2.4.6 Mostra (Cèl·lula Solar)

És la cèl·lula solar fabricada de la que volem conèixer la seva E.Q.E. En base a la

realització repetidament de l‟experiment en funció de diferent cèl·lules solar fabricades,

podrem aconseguir millorar les característiques de fabricació.

Page 13: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

10 .

2.4.7 Conversor I-V

La resposta obtinguda per part de la referència i la mostra és un corrent. A nosaltres ens

interessa tenir tensió, per tant necessitarem convertir la mesura. Aprofitant això també la

amplificarem.

2.4.8 Lock-in

El principi de funcionament de l‟amplificador Lock-in és el de tractar la senyal de

manera que sigui fàcilment diferenciada del soroll. Això significa que la component del

soroll pugui ser filtrada tot i que sigui vàries vegades més intensa que la pròpia senyal a

mesurar. Per definició, el soroll consisteix en oscil·lacions aleatòries irregulars en un

ampli rang de freqüències que canvien constantment. Si el senyal d‟interès està acoblat

a una portadora (funció del Chopper) de freqüència i fase definides, es possible separar

el senyal de la component del soroll. Això requereix d‟una freqüència de referència per

la senyal portadora.

2.4.9 Connexió pel port sèrie

El monocromador i el Lock-in permeten ser controlats per mitjà d‟una sèrie de

instruccions enviades a través del port sèrie de l‟ordinador. Per tant l‟aplicació que s‟ha

desenvolupat farà ús d‟aquest port per enviar les ordres segons les especificacions de

cada aparell.

2.4.10 Ordinador amb aplicació de control

La finalitat d‟aquest projecte ha estat el desenvolupament d‟una aplicació que permeti

calcular la E.Q.E. per un rang de longituds d‟ona. Aquesta aplicació s‟ha desenvolupat

amb l‟entorn de desenvolupament Borland C++ i sota el sistema operatiu de Windows.

Page 14: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

11 .

3. Especificacions de l’aplicació a desenvolupar.

Per part del grup de recerca NePhoS del departament d‟Enginyeria Electrònica,

Elèctrica i Automàtica es proposa la realització d‟aquest software de control i adquisició

de dades.

En aquest apartat s‟explica l‟experiment que es vol desenvolupar i les especificacions

que el software ha de tenir ja sigui en la distribució de finestres, ergonomia etc.

3.1 Funcions del programa

3.1.1 Configuració de l’escaneig

A l‟obrir l‟aplicació, aquesta haurà de ser capaç de carregar la última

configuració i fitxer de referència que s‟hagués fet servir en la última

mesura.

Al tancar l‟aplicació haurà de guardar la configuració i referència que en

aquell moment existís.

L‟usuari podrà guardar la configuració de la mesura amb el nom d‟arxiu que

desitgi i extensió *.ini

Es podrà carregar una configuració que s‟hagi guardat amb anterioritat.

S‟hauran de poder configurar manualment els següents paràmetres de

l‟escaneig:

Espectròmetre

- Longitud d‟ona inicial

- Longitud d‟ona final

- Interval entre les Longituds d‟ona

Lock-in

- Constant de temps

- Sensibilitat

Referència

- S‟haurà de poder carregar l‟arxiu de dades associat a la referència. On

detallarà quina E.Q.E. es té per cada longitud d‟ona.

3.1.2 Connexió

La connexió amb el Lock-in i monocromador haurà de ser automàticament en

arrencar la aplicació. Això vol dir que el programa haurà de fer una recerca

dels ports on estan connectats els instruments.

Page 15: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

12 .

Si falla la connexió amb el Lock-in o monocromador haurà d‟existir algun

botó que ens permeti connectar manualment l‟aparell en qüestió.

3.1.3 Escaneig

S‟ha de poder iniciar l‟escaneig només quan els paràmetres de configuració

del mateix siguin correctes i els dos aparells estiguin connectats.

Es podrà aturar l‟escaneig en qualsevol moment. Al parar l‟escaneig es

deixarà que agafi la última mesura en curs.

3.1.4 Tractament de les dades

Les dades de l‟escaneig es podran guardar en un fitxer amb el nom que

defineixi l‟usuari o amb el nom per defecte “dia-mes-hora-any”. A més a

més es permetrà a l‟usuari afegir un comentari que s‟inclourà en les dades

emmagatzemades.

Al guardar les dades s‟hauran de crear dos arxius.

- Un arxiu *.dat que contingui per cada longitud d‟ona el valor del canal A

i B extret del Lock-in i l‟Eficiència Quàntica associada.

- Un arxiu *.txt amb la següent informació:

Nom del fitxer

Data i hora en que es va guardar

Paràmetres de l‟espectròmetre

Paràmetres del Lock-in

Carregar una mesura guardada amb anterioritat i mostrar-la a la part gràfica.

Una vegada carregada podrem:

Esborrar la mesura

Amagar-la de la part gràfica però deixar-la carregada

Tornar a mostrar una mesura amagada

Carregar per pantalla el fitxer *.txt associat a la mesura

Canviar el color de la gràfica de la mesura carregada.

3.1.5 Mode Debug

Com a petició de cara al futur es demana que existeixi una espècie

d‟hyperterminal on puguem enviar manualment instruccions als aparells.

Page 16: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

13 .

3.2 Part Gràfica

La pantalla principal s‟haurà d‟estructurar en 3 parts:

Menú principal

Càrrega de mesures.

Gràfiques

3.2.1 Menú principal

El menú principal s‟haurà d‟estructurar de tal manera que puguem accedir a qualsevol

de les següents opcions:

Carregar mesura guardada

Guardar mesura realitzada

Carregar configuració

Guardar la configuració existent

Definir la configuració de paràmetres de la mesura

Connexió/Desconnexió del Lock-in i Monocromador

Definir els Eixos de les gràfiques

Posar els eixos de les gràfiques en automàtic

3.2.2 Càrrega de mesures

Existiran les següents opcions

Carregar mesura

Esborrar totes les mesures

Llistat de les mesures carregades

Opció de visualització de les dades de la mesura en temps real (numèricament)

3.2.3 Gràfiques

Amb els components:

Gràfica de dades del Canal A del Lock-in en funció de la longitud d‟ona (λ)

Gràfica de dades del Canal B del Lock-in en funció de la longitud d‟ona (λ)

Gràfica de l‟Eficiència Quàntica Externa en funció de la longitud d‟ona (λ)

Terminal que vagi donant informació de l‟estat de la connexió i de la mesura en

curs.

Una barra d‟estat que ens informi de l‟estat de la connexió del Lock-in i

Monocromador, un component visual amb el percentatge d‟escaneig realitzat

sobre el total i uns indicadors que ens diguin en quines coordenades de la gràfica

ens trobem al passar amb el ratolí per sobre.

Page 17: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

14 .

3.3 Ergonomia

L‟ergonomia ha estat un dels objectius més importants pel client. S‟intenta que

l‟aplicació sigui el més amigable i intuïtiva possible. Amb una interfície gràfica

còmode d‟usar i intentant automatitzar al màxim la realització d‟una mesura.

D‟aquesta manera la comunicació i configuració dels paràmetres per defecte amb els

diferents aparells es farà automàticament.

La finestra principal serà el més minimalista possible per centrar l‟atenció en les

mesures que s‟estan realitzant.

Per millorar la visualització al ampliar la finestra principal, les gràfiques s‟expandiran

per ocupar el màxim d‟espai possible. Es podran definir els eixos de les gràfiques

individualment, fer zooms o posar-les en automàtic.

Les mesures s‟hauran de poder carregar, eliminar, amagar i canviar de color. Així com

mostrar l‟arxiu de text associat a la mesura.

Es crearà una finestra on es mostrarà la dada actual que anem rebent del Canal A i

Canal B del Lock-in així com l‟E.Q.E. Aquesta finestra es podrà ampliar i com a

conseqüència la mida de les dades mostrades s‟expandirà proporcionalment. D‟aquesta

manera es podrà veure des de una certa distància si l‟escaneig s‟ha acabat.

Quan es desi una mesura es crearan dos arxius diferents : un arxiu de dades i un arxiu de

text on es mostraran diferents paràmetres relacionats amb la mesura. El format d‟arxius

serà compatible amb altres programes informàtics com poden ser Matlab o Microsoft

Excel, d‟aquesta forma es facilita a l‟usuari la possibilitat d‟exportar els arxius de dades.

Es crearan dreceres per obrir les diferents opcions del programa (Figura 3).

Ctrl+Alt+L

Ctrl+Alt+S

Ctrl+L

Ctrl+S

Ctrl+E

F2 Obri finestra del mode debug

Accesos directes

Ctrl+M

Ctrl+A

Ctrl+X

F1

Posar els eixos de les gràfiques en

automàtic

Obrir la finestra de configuració dels eixos

de les gràfiques

Obrir finestra de connexió manual dels

instruments

Obrir la finestra deconfiguració dels

paràmetres de la mesura

Enmagatzemar Configuració

Carregar Configuració

Enmagatzemar Mesura

Carregar Mesura

Sortir de l'aplicació

Figura 3-1 Taula d’accessos directes de l’aplicació.

Page 18: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

15 .

4. Especificacions del Lock-in i Monocromador

4.1 Lock-in Amplifier. Model 7265 (Figura 4.1)

Tal com hem definit amb anterioritat aquest instrument ens permet obtenir la mesura de

la mostra i referència aïllant el soroll. Això ho aconseguirem introduint freqüència de

modulació de la llum, que s‟utilitza com a referència de freqüència de l‟instrument. ( no

confondre amb la referència patró calibrada per cada λ) que la obtindrem del Chopper.

Podem comunicar-nos amb el instrument per obtindre dades o configurar-lo a través del

port sèrie. També existeix la possibilitat de connectar-nos per GPIB.

Figura 4-1 Lock-in Amplifier. Model 7265

4.1.1 Paràmetres de configuració del Port Sèrie

Els paràmetres de configuració del port sèrie del Lock-in són modificables. En canvi pel

monocromador són fixes. D‟aquesta manera el que farem és configurar el port sèrie del

Lock-in amb el mateixos paràmetres del monocromador.

Velocitat de transferència: 9600 bps

Paritat: Sense paritat

Bits de dades: 8

Bits d‟ Stop: 1

4.1.2 Estructura de la cadena de caràcters a enviar i rebre.

Per enviar qualsevol instrucció al Lock-in ho haurem de fer seguint un patró definit pel

mateix.

Enviarem caràcter a caràcter la instrucció. Cada caràcter que rebi el Lock-in el tornarà

com a resposta fent un echo (podrem comprovar que està rebent la informació

correctament). Quan hàgim enviat tota la instrucció caldrà enviar el caràcter “\r” que

indicarà al Lock-in que s‟ha enviat tota la cadena de caràcters de la instrucció. Si la

instrucció la ha processat bé ens respondrà o bé amb les dades sol·licitades seguit de

“\r\n*” o només amb la cadena “\r\n*” sinó ha de donar cap informació.

Page 19: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

16 .

4.1.3 Instruccions necessàries per comunicar-nos amb el Lock-in

El manual d‟usuari defineix com s‟han d‟enviar les diferent instruccions pel port sèrie al Lock-

in. Hi ha un gran número de instruccions, nosaltres ens centrarem en les que necessitem per

l‟experiment.

Intrucció Port Sèrie n

0

2

0

1

0

1

2

34

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

50ks

100ks

El valor d'n selecciona la constant de

tempsTC[n]

500s

1ks

2ks

5ks

10ks

20ks

5s

10s

20s

50s

100s

200s

50ms

100ms

200ms

500ms

1s

2s

160μs

320μs

640μs

5ms

10ms

20ms

10μs

20μs

40μs

80μs

EXT LOGIC. Externa amb connexió posterior del

tipus TTL1

CP[n]El valor d'n selecciona el tipus

d'acoblament de l'entrada

AC

DC

El gunay en AC es controla manualment, fent servir

el panell frontal o bé la intrucció ACGAIN.

IE[n]El valor d'n Selecciona el tipus de

Referència que es fa servir

Externa amb connexió davantera de tipus analógica

Interna

Definició Tipus

AUTOMATIC[n]El valor d'n selecciona l'estat del

control de guany en AC

0

1

El control de guany en AC en automatic s'activa, el

guany s'ajusta d'acord a la configuració del

paràmetre full-scale sensitivity

FET, Impedància d'entrada de 10 MΩ, 5 nV/√Hz,

Soroll de 5 nV/√Hz a 1 kHz

El valor d'n selecciona el tipus de

conbtrol d'entrada de l'instrumentFET[n]

0

1

Instrument bipolar, Impedància d'entrada de 10 kΩ

, Soroll de 2 nV/√Hz at 1 kHz

Page 20: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

17 .

Paràmetre n

0

1

2

0

1

2

3

IMODE=0 IMODE=1

1 2nV 2fA

2 5nV 5fA

3 10nV 10fA

4 20nV 20fA

5 50nV 50fA

6 100nV 100fA

7 200nV 200fA

8 500nV 500fA

9 1μV 1pA

10 2μV 2pA

11 5μV 5pA

12 10μV 10pA

13 20μV 20pA

14 50μV 50pA

15 100μV 100pA

16 200μV 200pA

17 500μV 500pA

18 1mV 1nA

19 2mV 2nA

20 5mV 5nA

21 10mV 10nA

22 20mV 20nA

23 50mV 50nA

24 100mV 100nA

25 200mV 200nA

26 500mV 500nA

27 1V 1μA

REFMODE[n]El valor d'n selecciona el tipus de

referènciaDual Referencemode

Single Reference/Virtual Reference mode

Dual Harmonic mode

VMODE[n]El valor d'n selecciona el tipus

d'entrada del instrument

Les dues entrades a terra. Test mode

Entrada A

Entrada -B

A-B mode diferencial

X[.]Selecciona el tipus de sortida del

instrumentX.

El Lock-in respond amb la mesura demodulada del

canal seleccionat en volts.

SEN[n] El valor d'n selecciona la sensibilitat

100pA

20fA

50fA

100fA

200fA

5fA

10fA

IMODE=2

n/a

200pA

500pA

1nA

2nA

50pA

20pA

n/a

n/a

n/a

n/a

n/a

2fA

5nA

10nA

Definició Tipus

500fA

1pA

2pA

5pA

10pA

Figura 4-2 Taula d’instruccions del port sèrie del Lock-in

4.2 Monocromador. Model SpectraPro150 (Figura 4.3)

Aparell que, per mitjà d‟un dispositiu òptic, permet seleccionar i transmetre una

determinada longitud d‟ona (λ).

Podrem comunicar-nos amb el instrument per obtindre dades o configurar-lo a través

del port sèrie. També existeix la possibilitat de connectar-nos per GPIB.

Page 21: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

18 .

Figura 4-3 Monocromador SpectrPro150

4.2.1 Paràmetres de configuració del Port Sèrie

Per comunicar-nos pel port sèrie aquest haurà d‟estar configurat tal com segueix:

Velocitat de transferència: 9600 bps

Paritat: Sense paritat

Bits de dades: 8

Bits d‟ Stop: 1

4.2.2 Estructura de la cadena de caràcters a enviar i rebre.

Així com amb el Lock-in hem d‟enviar caràcter a caràcter la instrucció, amb el

monocromador enviarem la cadena sencera de la instrucció seguida de “\r”. Per exemple

“100.0 GOTO\r”. Amb l‟últim caràcter el monocromador entén que hem enviat una

instrucció i respon amb l‟echo de la instrucció enviada seguit de “__ok\r\n”. On “_” és

un espai.

Un aspecte molt important a tenir en compte és la definició del buffer de dades a enviar.

Al monocromador s‟ha de definir un buffer d‟igual mida a la instrucció a enviar. En cas

contrari pot produir que l‟aparell es quedi bloquejat.

4.2.3 Intruccions necessàries per comunicar-nos amb el monocromador.

La única instrucció que fem servir per comunicar-nos amb el monocromador és per seleccionar

la longitud d‟ona que indiquem.

Paràmetre TipusDefinició

λ GOTOES mou a la longitud d'ona indicada

a màxima i presicció de 0,01nm

On λ vindrà dinida pel número de la longitud d'ona

amb un decimal de precissió. Així una una

intrstucció quedaria com 500.0 GOTO.

Figura 4-4 Taula d’instruccions del port sèrie del Monocromador

Page 22: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

19 .

5. Seguiment del projecte

Per fer un seguiment del projecte s‟han emprat dues eines:

Pla d‟accions (Apèndix 1)

Diagrama de Gantt (Apèndix 2)

5.1 Pla d’accions

El pla d‟accions serà l‟eina que ens permetrà fer un seguiment dels diferents problemes

que vagin sorgint al projecte i les accions a prendre fins solucionar-los.

Contindrà els següents camps:

Ítem: Aquest número serà únic per cada problema trobat.

Prioritat: Prioritat que se li dona en funció de la importància del problema

Problema: On trobem el problema.

Descripció: Detall clar de quin problema tenim amb una bona descripció del

mateix

Persona Responsable: Persona responsable que es duguin a terme les

modificacions en el temps establert

Data del Problema: Data en on es defineix el problema i l'acció a prendre i

aquesta s'introdueix al pla d'accions.

Data de Tancament: Data on es compromet a tancar el problema trobat. La data

pot canviar. Si la data canvia, s'ha de modificar l'historial de l'acció amb el color

corresponent a l'acció passada i omplir la nova acció. S'haurà d'explicar a la

columna de comentaris perquè s'ha modificat la data

Data actual de Tancament: La data en que es tanca el problema. El client o

l'empresa contractada pel projecte han de validar que l'acció s'ha efectuat i el

problema està resolt.

Última Actualització:Última Data on s'ha revisat el pla d'accions.

Historial: Les cel·les s'omplen conforme els estat va canviant.

COLOR:BLAU: L'acció s'està portant a terme.

GROC: L'acció té problemes i afecta a la data de finalització.

VERMELL: No hi ha data per finalització del problema. S'està estudiant com

solucionar-lo

VERD: L'acció s'ha efectuat amb èxit i el problema està tancat.

Comentari/Notes/Tancament de l’acció: En aquesta columna omplirem les

accions a prendre i l'estat de les mateixes

Page 23: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

20 .

5.2 Diagrama de Gantt

Mitjançant el programa de gestió de projectes s‟ha realitzat un seguiment del mateix

durant el període que ha durat. Apèndix 2

S‟ha especificat:

Persones que han intervingut al projecte. Am les possibilitats de Eduard Estrada

(Alumne que realitza el projecte) i Josep Ferré Borrull (Tutor que ha fet el

seguiment del projecte).

Preu/hora de cada participant. 30 euros/hora (Enginyer Eduard Estrada)

S‟ha establert el calendari. Amb períodes de vacances d‟Estiu, Nadal i Setmana

Santa. Per defecte a Josep Borrull se li ha atribuït una participació de 30 minuts

diaris de dilluns a divendres. A Eduard Estrada en funció dels períodes 3,2 o 1

hora de dilluns a diumenge.

Per definir les diferents hores de dedicació d‟Eduard Estrada s‟han creat tres

usuaris. Eduard Estrada (3 hores), Eduard Estrada 66% (2 hores) i Eduard

Estrada 33% (1 hora).

Els períodes es defineixen en funció de la feina a realitzar. A vegades hi ha

solapament de períodes ja que es realitzen feines en paral·lel.

Amb totes aquestes dades podem extreure molta informació del projecte.

Costos del projecte per trimestre Figura 5.1.

Calendari d‟hores de feina realitzades diàriament. Figura 5.2

Detall de la feina que s‟ha realitzat en un període concret

Hores invertides en cada feina i el seu cost etc.

Figura 5. 1 Costos trimestrals del projecte

Page 24: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

21 .

Figura 5.2 Taula amb calendari i hores en realitzar el projecte per persona

Page 25: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

22 .

6. Funcions que intervenen en el programa

Com a documentació annexa al projecte s‟han realitzat unes taules que defineixen

clarament els següents aspectes:

Objecte de la classe que estem definint

Funció: Nom de la funció que definim

Cridada per: Per qui es cridada la funció.

Comentari: Definició del que fa la funció

Funcions que intervenen al programa:

- EQE. Apèndix 3.1

- MainFrame . Apèndix 3.2

- SpectraScan. Apèndix 3.3

- AttentionForm Apèndix 3.4

- ConnexionForm Apèndix 3.5

- ConfigurationF Apèndix 3.6

- DataWindowForm Apèndix 3.7

- DebuggingForm Apèndix 3.8

- ErrorForm Apèndix 3.9

- Debugging Apèndix 3.10

- LockinConfigScanForm Apèndix 3.11

- SaveForm Apèndix 3.12

- ShowTextFile Apèndix 3.13

- SetAxisForm Apèndix 3.14

7. Fluxograma de les funcions per cada objecte creat

S‟han definit una sèrie de diagrames de blocs amb les connexions de les diferents funcions entre

elles. El programa que s‟ha fet servir és el Microsoft Visió. A les figures corresponents de la

memòria no es veuen els comentaris de cada bloc. Per poder-los veure s‟haurà d‟obrir el fitxer

amb el programa visió o bé executar el Link següent amb l‟internet explorer ja que necessita un

control Activex.`

Fluxograma de Funcions per classe.htm

Fluxogrames que intervenen al programa:

- WinMain Apèndix 4.1 - TShowTextF Apèndix 4.8

- TMainForm . Apèndix 4.2 - TDebuggingF Apèndix 4.9

- ScanThread. Apèndix 4.3 - TErrorF Apèndix 4.10

- TAttentionF Apèndix 4.4 - TLockinConfigF Apèndix 4.11

- TConfigurationF Apèndix 4.5 - TSaveF Apèndix 4.12

- TConnexionF Apèndix 4.6 - ShowTextFile Apèndix 4.13

- TDataWindowF Apèndix 4.7 - TSetAxisF Apèndix 4.14

Page 26: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

23 .

8. Fluxograma de la mesura

Per tal de tenir una idea més clara de la seqüència del programa alhora de fer un escaneig,

presentem el següent diagrama de flux. Figura7:

Figura 8 Fluxograma del programa

2

22

3

22 4

22 5

22 6

22 7

22 8

22 9

22 10

22 11

22 12

22 13

22

14

22 15

22

16

22

1

22

17

22

Page 27: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

24 .

1- Inici de l‟Aplicació.

2- Recerca del Lock-in i monocromador.

3- Càrrega de paràmetres de configuració i referència.

4- Tant si falla la càrrega de la configuració com la connexió, no es podrà fer cap escaneig

però si càrrega de mesures guardades. Per poder escanejar s‟haurà de realitzar

manualment la configuració o connexió dels instruments.

5- Si tant la connexió com la configuració són correctes , l‟aplicació podrà realitzar una

mesura o carregar-ne una de prèviament guardada.

6- Inici de L‟Scan

7- S‟envien al Lock-in els paràmetres configurats i els que tenim configurats per defecte.

8- Si la configuració del Lock-in falla es que hi ha un problema de connexió. S‟haurà de

reconnectar el instrument manualment.

9- Es realitza un bucle igual al número de mesures a realitzar.

10- Mentre no hàgim fet totes les mesures el bucle continua i segueix agafant dades. En cas

contrari l‟aplicació s‟atura i resta a la espera de noves ordres de l‟usuari.

11- Per cada longitud d‟ona s‟envia l‟ordre al monocromador perquè es mogui. En cas

d‟error de comunicacions procedirem com en el supòsit (8).

12- Entre mesura i mesura ens haurem d‟esperar el temps definit a “Filter time constant

control”.

13- Llegim la dada del canal A del Lock-in. En cas d‟error seguir com en el punt (8).

14- Entre mesura i mesura ens haurem d‟esperar el temps definit a “Filter time constant

control”.

15- Llegim la dada del canal B del Lock-in. En cas d‟error seguir com en el punt (8).

16- Fer càlcul de l‟Eficiència Quàntica Externa.

17- Mostrar dades per pantalla i seguir amb la següent longitud d‟ona sinó s‟ha acabat

l‟escaneig

Page 28: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

25 .

9. Aplicació

L‟entorn integrat de desenvolupament (IDE) escollit ha estat el C++ Builder 6 propietat

de l‟empresa Borland. Aquest entorn ofereix al programador la possibilitat

d‟implementar interfícies gràfiques de forma senzilla gràcies a la llibreria interna VCL

(Visual Component Library). Aquesta llibreria permet usar al programador un conjunt

d‟eines predefinides (botons, menús, etiquetes, quadres de text, etc) que poden ser

afegides directament sobre la finestra que s‟està programant de forma que el

desenvolupament visual és més dinàmic. La pantalla principal està organitzada en

diferents blocs que faciliten al programador la implementació del programa.

La pantalla principal del C++ Builder 6 consta de quatre parts diferenciades :

Menú d‟opcions i barra d‟eines.

Object TreeView: Ens permet navegar per les diferents finestres que s‟han

implementat i dins d‟elles observar els objectes associats a aquestes.

Object Inspector: Permet configurar els paràmetres associats al objecte

seleccionat, fet interessant a l‟hora de fer alguna modificació, ja que no és

necessari fer-ho per mitjà de codi.

Codi i interfície gràfica: Es mostra el codi del programa. Prement F12 canvia la

pantalla a mode interfície gràfica, de forma que es pot observar la part gràfica de

la finestra que s‟està programant

Disposa també d‟un manual d‟ajuda intern en el qual es pot cercar informació sobre

funcions, cosa que facilita molt la tasca quan sorgeixen dubtes.

9.1 Accés als ports

Les aplicacions de Windows es comuniquen amb els dispositius a través de les funcions

de l‟API. Aquestes funcions accedeixen als ports mitjançant el controlador, que és una

capa de software entre el hardware i el sistema operatiu.

Hi ha dues solucions per tenir accés als ports:

- Utilitzant l‟API. Aquesta tècnica és la més aconsellable si desitgem que els

programes siguin estables i portables.

- Accés mitjançant controlador. Requereix d‟un controlador del dispositiu. S‟ha de

crear un controlador en format DLL. En principi el fabricant del monocromador

tenia llibreries però no pel llenguatge C++

La opció escollida per tant ha estat la d‟utilitzar les funcions de l‟API de Windows. L‟accés al

port sèrie és similar a treballar amb fitxers.

Per treballa amb el port amb les funcions de l‟API, es distingeixen quatre fases:

1. Operació d’obertura: S‟obté un Handle comprovant si el sistema operatiu pot accedir

al port.

2. Configuració: S‟estableixen els paràmetres de comunicació.

Page 29: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

26 .

3. Accés al port: Accedim al port per llegir o escriure.

4. Tancar el port: Es tanca el port perquè altres aplicacions puguin accedir al port

9.1.1 Obrir el port sèrie

Per obrir el port sèrie s‟utilitza la funció CreateFile(). Aquesta funció és genèrica i

permet accedir a diferents recursos: Ports de comunicacions, fitxers, discos...

HANDLE CreateFile (LPCTSTR lpFileName,

DWORD dwDesiredAccess,

DWORD dwShareMode,

LPSECURITY_ATTRIBUTE lpSecurityAttribute

DWORD dwcreationDistribution,

DWORD dwFlagsAndAttributes,

HANDLE htemplateFile );

- Arguments d’Entrada

LpFileName: Indiquem el nom del port a obir

DwShareMode: Mode per compartir el port. En el nostre cas serà „0‟ ja

que el port sèrie serà compartit per dues aplicacions simultàniament.

LpSecurityAttribute: Descriptor de seguretat es recomana que sigui „0‟.

DwcreationDistribution: S‟especifica quina acció es realitzarà si el

fitxer existeix o no. Per nosaltres el port sempre haurà d‟existir per tant

ficarem OPEN_EXISTING.

DwFlagsAndAttributes: Especifica el tipus d‟atribut del fitxer. Pel port

ha de ser FILE_ATRIBUTE_NORMAL.

HtemplateFile: Handle del fitxer amb atributs per copiar. Nosaltres el

ficarem a NULL

- Argument de Sortida

La funció CreateFile() torna un Handle del port. Aquest punter és necessari

per accedir al port.

9.1.2 Tancar el Port

En acabar de treballar amb el port, s‟ha de tancar. Tancarem el Handle i d‟aquesta

manera el sistema operatiu allibera els recursos que estem fent servir.

Page 30: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

27 .

La funció que s‟utilitza és CloseHandle. S‟ha de tenir molt en compte que es pot fer

servir un Handle no vàlid, es a dir, un Handle que no s‟hagi inicialitzat correctament per

CreateFile().

BOOL CloseHandle (HANDLE hObject)

- Argument d’entrada

HObject: Handle obtingut per CreateFile().

- Argument de sortida

BOOL: Si és TRUE ens indica que la funció „ha executat correctamente.

9.1.3 Funció per configurar el Port

Per llegir i escriure la configuració del port es fan servir les funcions

GetCommState ( ) i SetCommState ( ), ambdues funcions utilitzen com argument una

estructura del tipus DCB. Als membres d‟aquesta estructura trobarem els camp a

configurar. Nosaltres configurarem els següents camps (la configuració ve donada pel

monocromador ja que la del Lock-in és variable):

- BaudRate = 9600 ; Indiquem el Baud Rate de 9600

- ByteSize =8 ; Determinem el número de bits de dades a „8‟

- Parity = NOPARITY ; No volem bit de paritat

- StopBits = 1 ; Un bit de STOP

9.1.4 Funció amb la que llegirem la configuració actual del port

Amb aquesta funció llegirem la configuració del Port prèvia a la nostra modificació.

BOOL GetCommState ( HANDLE hFile, LPDCB lpDCB )

- Arguments d’entrada.

Hfile: Handle del port que ens dona CreateFile().

LpDCB: Punter a l‟estructura del tipus DCB on es rebrà la configuració

actual del port.

- Arguments de sortida.

BOOL: True si la funció s‟executa correctament.

9.1.5 Funció per configurar el port

Aquesta funció ens permetrà configurar el port prèviament obert.

BOOL SetCommState ( HANDLE hFile, LPDCB lpDCB )

Page 31: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

28 .

- Arguments d’entrada.

HFile: Handle del port tornat per CreateFile( ).

LpDCB: Punter a una estructura del tipus DCB que s‟utilitzarà per

configurar el port.

- Arguments de sortida.

BOOL: TRUE si la funció s‟executa correctament.

9.1.6 Función per la configuració i control dels temps de lectura i escriptura.

Les funcions SetCommTimeout() permeten configurar com es realitzaran les operacions

de lectura i escriptura.

Treballa a sobre d‟una estructura COMMTIMEOUTS que defineix el temps màxim

(TIMEOUT) que durarà una operació de lectura i escriptura. Els camps els

configurarem tal com segueix:

- ReadTotalTimeoutMultiplier =0; Multiplicador (ms) per calcular el

TIMEOUT total en operacions de

- ReadTotalTimeoutConstant = 0; Constant (ms) per calcular el

TIMEOUT total en operacions de lectura.

- WriteTotalTimeoutConstant = 0; Constant (ms) per calcular el

TIMEOUT total en operacions de escriptura.

Posem tots els camp a zero per a que les operacions de lectura no finalitzin fins que es

llegeixin tots els bytes demanats.

9.1.7 Funció per llegir i escriure del Port.

Per llegir i escriure del port es fan servir les funcions genèriques ReadFile() i

WriteFile(), ambdues són funcions genèriques que permeten llegir i escriure sobre

fitxers, ports etc. En el nostre cas ens permetrà llegir i escriure al port sèrie obert.

9.1.7.1 Función ReadFile.

BOOL ReadFile(HANDLE hFile, LPVOID IpBuffer,

DWORD nNumberOfBytesToRead,

LPDWORD lpNumberofBytesRead,

LPOVERLAPPED lpoverlapped )

- Arguments d’entrada.

hFile: Handle del port tornat per CreateFile().

Page 32: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

29 .

IpBuffer: Punter al buffer on la funció depositarà els bytes llegits.

NnumberOfByteRead: Número de bytes que es volen llegir.

IpNumberOfByteRead: Punter a una DWORD on la funció ens indicarà

els bytes que veritablement s‟ha llegit.

IpOverlapped: Punter a una estructura OVERLAPPED per a un tipus

d‟accés al port especial. No l‟utilitzem

- Argument de sortida.

BOOL: True si la funció s‟executa correctament.

9.1.7.2 Función WriteFile.

BOOL WriteFile ( HANDLE hFile, LPVOID IpBuffer,

DWORD nNumberOfBytesToWrite,

LPDWORD lpNumberofBytesWrite,

LPOVERLAPPED lpoverlapped)

- Arguments d’entrada.

HFile: Handle del port retornat per CreateFile( ).

IpBuffer: Punter al buffer on la funció llegirà les dades que escriurà al

port

NnumberOfByteRead: Número de bytes que s‟escriuran al port.

IpNumberOfByteRead: Punter a una DWORD on la funció indicarà les

dades que realment s‟ha escrit.

IpOverlapped: Punter a una estructura OVERLAPPED per un tipus

d‟accés especial al port. No l‟utilitzem.

- Argumento de salida

BOOL: True si la funció s‟executa correctament.

9.2 Treballar en MULTITASCA

Windows té la propietat de realitzar diferents tasques alhora, amb aquesta caracterítica

es poden crear subprocessos que treballen independentment. En la nostra aplicació és de

gran utilitat treballar amb subprocessos.

Page 33: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

30 .

En el supòsit de no treballar en multi tasca, la aplicació es quedaria en un bucle infinit

de recepció de dades, que causaria el bloqueig del programa.

Per crear una multi tasca, Builder C++ defineix un objecte Thread de la classe Tthread.

9.2.1 La classe TThread

L‟API WIN32 disposa d‟una varietat de funcions que treballen amb subprocessos.

Builder C++ facilita l‟ús dels subprocessos mitjançant la classe TThread. A continuació

s‟explica resumidament la interfície d‟aquesta classe.

- TThread(): Constructor de la classe. Indiquem si volem que el subprocés

es trobi actiu o en suspens una vegada creat.

- Execute ( ) : Zona on posarem el codi que volem que s‟executi en

paral·lel a l‟aplicació principal. El constructor de la classe TThread crida

automàticament aquest mètode.

- Suspend(): Suspenem de forma temporal la execució del subprocés. En

aquest estat no es fa ús de la CPU.

- Resume(): Reiniciem la execució d‟un procés que es trobava en

suspenció.

- Terminate(): Finalitzem el subprocés i alliberem de forma automàtica

tots els recursos asignats.

9.3 Generació de gràfics amb Teechart.

Teechart és una aplicació de Borland C++ que permet el disseny de gràfiques.

Per crear una gràfica amb Teechart seleccionarem el component TChart i l‟inclourem al

nostre formulari. Per definir les característiques podrem anar a l‟Inspector d‟Objectes, o

bé pitjar amb el botó dret del ratolí a sobre del component i seleccionar Edit Chart.

Per afegir dades a la gràfica (una sèrie) anirem a Edit Chart, serà l‟eina principal on

treballarem, i afegirem una sèrie pitjant el botó Add. Ens apareixerà una galeria amb els

diferents tipus de sèries (Line, Fast Line, Bar etc.). A la nostra aplicació hem afegit

sèries del tipus line a les gràfiques. Aquestes contindran dues variables (X,Y) per fer la

representació.

Amb l‟Edit Chart podrem definir multitud de característiques. El nom de la gràfica i

dels eixos, colors etc.

Finalment una vegada tenim definida la gràfica podrem afegir valors amb la funció

AddXY(valor X, valor Y, color).

Page 34: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

31 .

9.4 Programa

9.4.1 Finestra Principal

La finestra principal permetrà representar l‟escaneig actual i carregar mesures realitzades

prèviament. La finestra principal consta de tres parts, el “Menú Principal”, el “Browser” i la

“Measure”.

Figura 9-1 Finestra principal

9.4.1.1 Menú Principal

El menú principal es compon de submenús desplegables per tal d‟accedir a totes les

opcions del programa.

File. Inclou les opcions relacionades amb l‟ús de fitxers més l‟opció de sortir del

programa.

- Load Measure. Carrega la mesura que seleccionem.

- Save Measure Ens permet guardar una mesura realitzada. Al guardar una

mesura es crearan dos fitxers. Un fitxer amb extensió *.dat i un altre amb

*.txt. El primer contindrà les dades de la mesura Annex 5.1 i el segon

informació de la mesura (Nom del fitxer, Data, Comentari, Paràmetres

del monocromador i paràmetres del Lock-in) Annex 5.2

- Load Configuration. Opció per carregar una configuració de paràmetres

de l‟escaneig. S‟obrirà una finestra on podrem seleccionar el fitxer

desitjat amb l‟extensió *.ini.

- Save Configuration. Permet emmagatzemar en un fitxer *.ini. els

paràmetres de configuració que en aquell moment tinguem definits

Page 35: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

32 .

- Exit. Tanca l‟aplicació. Guarda la configuració de paràmetres de

l‟escaneig i el fitxer de referència a la carpeta de programa. Quan tornem

a engegar la aplicació aquests paràmetres i referència es carregaran per

defecte.

Configuration

- Define Measure. Obre la finestra Configuration per definir els paràmetres

i fitxer de referència de la mesura

Graph

- Auto. Es realitza un autoescalat de les dades representades a cada gràfica.

- Set Axis. Mostra la finestra Set Axis la qual permet a l‟usuari canviar el

valors dels límits dels eixos de la gràfica.

Connection

- SpectraPro and Lock-in connexion. Obre la finestra de connexió. Ens

permet connectar/desconnectar manualment el instrument seleccionat

Debug Mode

- Debug. Obre la finestra del mode Debug.

9.4.1.2 Browser

Al “Browser” carregarem mesures anteriorment guardades i accedirem a la finestra

“Data Window”. Conforme anem carregant mesures, aquestes s‟aniran afegint a la llista

i es mostraran a les gràfiques. Per carregar una mesura ho podrem fer de la següent

manera:

- Al Menú principal->File->Load Measure.

- Pitjant a sobre del botó d‟accés ràpid

- Amb la drecera Ctrl + L

S‟obrirà una finestra on podrem fer una recerca del fitxer per les carpetes de Windows.

Només ens mostrarà els fitxers que continguin la extensió *.dat (és el format amb que es

guarden les dades).

Per esborrar totes les mesures carregades només caldrà prémer el botó

A sobre del nom de cada mesura carregada, si, pitgem amb el botó dret del ratolí ens

apareixerà un menú amb les següents opcions:

- Hide Graph: Amb aquesta opció l‟usuari pot deshabilitar la vista d‟una

mesura a les gràfiques. La mesura no s‟esborra de la llista i resta per si es

vol tornar a visualitzar.

Page 36: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

33 .

- Delete Graph: Borrem la gràfica seleccionada de la llista.

- Show Graph: Aquesta opció és complementaria a l‟opció Hide Graph , ja

que un cop s‟ha ocultat la representació de la mesura, si es desitja tornar

a representar la mesura l‟usuari haurà d‟escollir aquesta opció.

- Change Color: Per tal de visualitzar millor les gràfiques s‟ha creat

aquesta opció. L‟usuari pot escollir sobre una paleta de colors el que

desitgi per la mesura seleccionada.

- Show Text File: Carrega el fitxer de text associat a la mesura

seleccionada. Aquest fitxer es guarda automàticament quan guardem una

mesura.

A la part de sota del Browser trobem un botó “Data Window”. Al prémer a sobre ens

apareixerà la finestra “DataWindow” . Al punt de 8.4.2.1 trobem el detall d‟aquesta

finestra

9.4.1.3 Measure

Subdividim aquesta part en el bloc de controls, la part gràfica i la barra d‟estat.

El bloc de controls està format per quatre botons:

- Define Measure. Obre la finestra per definir la mesura

- Start Scan. Iinicia l‟escaneig

- Stop Scan. Atura un escaneig que s‟estigui realitzant

- Save Measure. Una vegada acabat un escaneig ens permet guardar la

mesura.

A la part gràfica hi trobarem:

- Gràfica del Canal A. Ens mostrarà les dades del Canal A del Lock-in

per cada longitud d‟ona (λ)

- Gràfica del Canal B. Ens mostrarà les dades del Canal B del Lock-in

per cada longitud d‟ona (λ).

- Gràfica de l’External Quantum Efficiency. Per cada longitud d‟ona en

funció de les dades del Canal A i B del Lock-in i la referència ens

mostrarà la corresponent Eficiència Quàntica Externa.

Pitjant amb el botó dret del ratolí a sobre de qualsevol de les tres gràfiques

apareix un menú contextual amb diferents opcions:

Page 37: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

34 .

AutoScale : Es realitza un autoescalat de les dades representades a

la gràfica que estem tractant.

Set Axis: Mostra la finestra Set Axis la qual permet a l‟usuari

canviar el valors dels límits dels eixos de la gràfica.

Undo Zoom: Si hem realitzat un zoom a una zona concreta de la

gràfica, ens redefineix els eixos a l‟estat original.

- Consola d’informació. Ens mostra informació relacionada amb la

mesura, connexió dels instruments etc.

Barra d‟estat:

A la barra d‟estat hi trobem sis camps d‟informació addicional que tenen una

importància especial.

- Els tres primers camps ens mostren permeten visualitzar la posició del

cursor respecte els eixos. El primer valor correspon a la longitud d‟ona

en nm i el segon ,depenen de la gràfica, al canal A del Lock-in (V), al

canal B del Lcok-in (V) o a la Eficiència quàntica Externa.

- El quart camp és una barra de progrés. Ens mostra en quin estat de

l‟escaneig sobre el total ens trobem.

- El cinquè camp indica si el instrument Lock-in està connectat. Amb els

següents missatges:

Lock-in Connected (amb fons gris) si el instrument està

connectat.

Lock-in not Connected (amb fons vermell) si el instrument no es

troba connectat.

- El sisè camp indica si el instrument mocromador està connectat. Amb els

següents missatges:

SpectraPro Connected (amb fons gris) si el instrument està

connectat.

SpectraPro not Connected (amb fons vermell) si el instrument no

es troba connectat.

9.4.2 Finestres secundàries

S‟han implementat finestres secundàries per tal de no carregar la finestra principal amb massa

informació. D‟aquesta manera centrarem la finestra principal en les mesures i la seva

representació gràfica.

Page 38: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

35 .

Les finestres secundàries serviran per configurar, depurar (debugging) o donar informació de

l‟escaneig.

Així doncs en els següents punts detallarem la funcionalitat de cada finestra.

9.4.2.1 Data Window

S‟hi accedeix pitjant el botó de la finestra principal “Data Window”

Figura 9-2 Finestra DataWindow

Quan estem realitzant una mesura ens mostrarà en temps real les dades obtingudes de

l‟experiment. Aquesta finestra es pot ampliar amb el corresponent canvi de mida de les

dades que en ella s‟ensenyen . Això permetrà visualitzar la mesura des de una certa

distància i indicar quan s‟ha acabat l‟escaneig. Les dades que es mostren són:

- La Longitud d‟ona que estem mesurant.

- La dada que s‟obté per aquesta longitud d‟ona del canal A del Lock-in

- La dada del canal B del Lock-in

- La Eficiència Quàntica Externa associada a la longitud d‟ona.

9.4.2.2 Save

S‟hi pot accedir pel Menú Principal o amb la drecera de Ctrl+S

Figura 9-3 Finestra Save

Definirem el nom (Name File) i directori on volem guardar la mesura (Path). A més a

més tenim l‟opció d‟afegir un comentari que es guardarà el fitxer *.txt associat. Al pitjar

“OK” confirmem que guardi les dades de la mesura.

Page 39: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

36 .

El camp “Name of File”, quan es crea per primer cop la finestra, s‟omple amb un nom

de fitxer predeterminat. S‟ha fet així pel fet que si l‟usuari no canvia el nom de mesura,

aquest tingui un format específic, on aparegui el dia i hora en que s‟ha iniciat la sessió

de programa.

S‟hi accedeix pitjant amb el botó dret del ratolí a sobre d‟una mesura de la llista del

“Browser” i seleccionant del desplegable “Show Text File”

Figura 9-4 Finestra ShowTextFile

Carrega la informació guardada de la mesura que hem seleccionat. Aquesta informació

es mostra per pantalla en aquesta finestra.

9.4.2.3 Configuration

S‟hi pot accedir pel Menú Principal o amb la drecera de Ctrl+M

Figura 9-5 Finestra Configuration

Aquesta finestra es divideix en quatre parts “Spectrometre Settings”, Lock-in Settings”,

Reference Setttings” i botons addicionals.

Page 40: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

37 .

Spectrometer Settings. Introduïrem la longitud d‟ona inicial per començar

l‟escaneig “Initial WaveLength”, la longitud d‟ona final “Final WaveLength” i

l‟interval entre una longitud d‟ona i una altra “Interval”. La longitud d‟ona

inicial i final hauran d‟estar compreses entre els valors 1-1100 nm. En cas

contrari no podrem inicial l‟escaneig.

Lock-in Settings. Podrem definir la constant de temps “Filter time constant

control” i la sensibilitat “Full-scale sensitivity control” segons uns valors

predefinits que ens dona el Lock-in.

Reference Settings. Per carregar una nova referència clicarem al botó “Choose” i

seleccionarem el fitxer que contingui la referència amb l‟extenció *.conf. Si la

referència és correcta es carregarà al camp “Reference Selected. To check click

OK”. Aleshores premem a “OK” i la referència quedarà predefinida a la carpeta

de programa.

És possible que ja tinguem un fitxer de referència a la carpeta de programa amb

el mateix nom. Si es així apareixerà la finestra “Attention” per assegurar que

volem sobreescriure la referència amb l‟actual. En cas afirmatiu es

sobreescriurà. Si existeix algun problema ens apareixerà la finestra “Error”

comunicant que ha estat impossible sobreescriure la referència a la carpeta de

programa, però s‟ha carregat a l‟aplicació per realitzar l‟escaneig.

Botons addicionals.

- Load Configuration. Permet carregar una configuració de paràmetres i

referència prèviament guardada. El fitxer seleccionat tindrà l‟extensió

*.conf

- Save Configuration. Emmagatzema la configuració de paràmetres i

referència que tenim definida. El fitxer guardat tindrà l‟extensió *.ini

- Stop Scan. Atura l‟escaneig que s‟estigui realitzant. Abans d‟aturar-lo

finalitza la longitud d‟ona que en aquell moment s‟estigui mesurant.

9.4.2.4 Attention

Finestra que apareix quan s‟ha de sobreescriure el fitxer de referència de la carpeta de

programa perquè s‟ha seleccionat un fitxer amb el mateix nom.

Figura 9-6 Finestra Attention

Page 41: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

38 .

9.4.2.5 Error

Sinó es pot sobreescriure la referència ens ho comunica amb aquesta finestra. Per tant la

referència seleccionada no s‟haurà guardat a la carpeta de programa però si que estarà

carregada per fer l‟escaneig.

Figura 9-7 Finestra Error

9.4.2.6 Set Axis

S‟hi pot accedir pel Menú Principal o amb la drecera de Ctrl+X

Figura 9-8 Finestra Set Axis

Podrem definir els marges dels eixos de les gràfiques segons convingui. Cada gràfica

podrà tenir uns paràmetres d‟eixos diferents. Per tal de modificar els eixos haurem de

passar a manual, canviar els eixos i confirmar mitjançant el botó “Change”.

El botó “Change” no s‟habilitarà si les dades introduïdes no tenen valors coherents i

entre els límits [-100000-100000].

Si volem passar a automàtic de nou la gràfica, només caldrà pitjar a sobre ”d‟Auto”

Cal diferenciar del botó “Auto” que trobem en aquesta finestra del Menú Principal. Al

Menú Principal fem un auto escalat de totes les gràfiques alhora. En aquesta finestra

l‟auto escalat només el farà de la gràfica seleccionada.

Page 42: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

39 .

9.4.2.7 Connexion

S‟hi pot accedir pel Menú Principal o amb la drecera de Ctrl+F1

Figura 9-9 Finestra Connexion

Trobem quatre botons per tal de connectar/desconnectar el Lock-in i Monocromador

(SpectraPro150). Només hi hauran habilitats dos botons alhora en funció de l‟estat de la

connexió dels aparells.

Si en algun moment veiem que la connexió falla, podrem desconnectar i connectar

denou els instruments manualment.

9.4.2.8 Configuration Lock-in

Al iniciar l‟escaneig s‟envia la configuració del Lock-in al instrument. Durant aquest temps

s‟informa a l‟usuari d‟aquest fet. La finestra es configura com a “ShowModal” bloquejant

l‟aplicació fins a la finalització de la configuració.

Figura 9-10 Configuration Lock-in

9.4.2.9 Debug Mode

S‟hi pot accedir pel Menú Principal o amb la drecera de F2

Figura 9-11 Finestra Debug Mode

Page 43: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

40 .

Aquesta finestra no és 100% funcional. En principi serà una espècie d‟Hiperterminal

que permetrà enviar una instrucció al instrument que seleccionem.

Seleccionarem el instrument a la zona de “Machine”.

Escriurem la instrucció al camp “Instruction to send” i pitjant a “Send Instruction”

enviarem la instrucció a l‟aparell escollit

Podrem veure la instrucció que s‟ha enviat al camp “Instruction Sent” i la resposta de

l‟aparell al “Reply”.

Permetrà netejar els camps prement a “Clear Screen”

Page 44: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

41 .

10. Manual D’ús

Els manuals d‟ús s‟ha definit en català i anglès per tal que puguin ser entesos per tots els

usuaris de l‟aplicació

10.1 Manual de Referència

El manual de referència explica detalladament les funcions, des del punt de vista de

l‟usuari, de cada bloc del programa (Menú Principal, Browser i Measure).

10.1.1 Menú Principal

El menú principal té com a funció principal mostrar les diferents opcions de programa

en forma de pestanyes. Consta de les diferents opcions:

10.1.1.1 File

Load Measure (Ctrl+L). Obre un diàleg per buscar l‟arxiu *.dat de mesures a

carregar. Quan s‟obre l‟arxiu es carreguen les dades a la gràfica i es mostra el

nom al navegador de mesures. Aquesta opció també s‟executa per mitjà del botó

d‟accés ràpid

Save Measure (Ctrl+S). Guarda les dades de la mesura representada a les

gràfiques en un arxiu amb extensió *.dat. La ruta i nom de l‟arxiu es defineix en

la finestra Define Measure. Juntament amb l‟arxiu de dades es crea un arxiu de

text on apareixen les característiques amb que ha estat feta la mesura. Aquesta

opció també s‟executa des del botó del Browser

Load Configuration (Ctrt+Alt+L). Obre un Diàleg per buscar l‟arxiu *.ini de

configuració a carregar. Quan s‟obre l‟arxiu es carrega la configuració a la

finestra Configuration. Aquesta opció també s‟executa des del botó de la finestra

Configuration

Save Configuration (Ctrl+Alt+S). Defineix el nom, ruta i comentari de la

mesura a guardar Quan es guarda la mesura, es crea un arxiu ( *.dat) de la

mesura i un altre arxiu de text (*.txt) que disposa de la següent informació

(Aquesta opció també s‟executa des del botó de la finestra Configuration.):

-

- File Name : Nom de l‟arxiu.

- Time : Data i hora en que s‟ha realitzat la mesura.

- Comments: Comentari opcional introduït per l‟usuari.

- Spectrometre parameters: Els paràmetres de configuració de del

monocromador:

Initial WaveLength: Longitud d‟ona amb la que iniciarem l‟Scan

Final WaveLength: Longitud d‟ona final de l‟escaneig

Page 45: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

42 .

Interval: Interval entre dues longituds d‟ona consegutives.

- Lock-in parameters: Els paràmetres de configuració del Lock-in

Filter timer constant control: Definim la constant de temps de la

mesura

Full-scale sensitivity control: Definim la sensibilitat en la mesura

Exit (Ctrl+E). Tanca l‟aplicació, la comunicació amb el dispositiu i guarda la

configuració de la mesura que tenim actualment definida a la carpeta de

programa. Aquesta configuració serà la que es carregarà per defecte a l‟iniciar

l‟aplicació.

10.1.1.2 Configuration

Define Measure (Ctrl+M). Obre la finestra de configuració de l‟escaneig.

Podrem definir:

Spectrometer Settings

- Initial WaveLength.

- Final WaveLength.

- Interval.

Lock-in Settings

- Filter timer constant control.

- Full-scale sensitivity control.

Reference Settings

- Choose-> Escollim el fitxer de referència que volem que tingui en

compte l‟aplicació per calcular la Eficiència Quàntica Externa

- OK->Guardem la referència a la carpeta de programa.

Botons addicionals

- Load Configuration. Mirar punt 9.1.1.1 d‟aquest manual.

- Save Configuration. Mirar punt 9.1.1.1 d‟aquest manual.

- Stop Scan. Atura l‟escaneig actual.

10.1.1.3 Graph

Auto (Ctrl+A). Defineix els límits dels eixos de manera que les dades de la

mesura en temps real i de les mesures carregades es mostrin completament.

Set Axis (Ctrl+X). Permet definir els límits dels eixos de la gràfica.

Page 46: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

43 .

- Auto. Es fa un auto escalat conforme obtenim dades de la mesura.

- Manual. Podem definir els eixos de cada gràfica individualment. El botó

Change només s‟activarà si definim els eixos correctament

10.1.1.4 Connexion

SpectraPro and Lock-in connexion (F1). Permet connectar/desconnectar

manualment els instruments.

10.1.1.5 Debug Mode

Debug (F2). Hyperterminal per enviar i rebre informació al Lock-in o

monocromador. En fase de proves.

10.1.2 Browser

10.1.2.1 Llista de mesures

El navegador de mesures permet carregar mesures prèviament guardades per tal

de ser representades en la gràfica. Per carregar les mesures anar a (FileLoad

Measure) o bé per mitjà del botó d‟accés ràpid (mirar punt 9.1.1.1 d‟aquest

manual) . Prement el boto dret del ratolí es desplega un menú contextual que

permet realitzar diferents operacions amb les mesures:

- Hide Graph: Oculta la mesura de la gràfica, mantenint la mesura

carregada en el navegador.

- Delete Graph: Elimina la mesura del navegador i de la grafica.

- Show Graph: Mostra una mesura que prèviament ha estat ocultada

- Change color: Canvia el color de mesura representada en la gràfica.

- Show Text File : Mostra una finestra on es pot observar el fitxer de text

associat a la mesura.

Podrem esborrar totes les mesures de la llista amb el botó d‟accés ràpid

10.1.2.2 Botó Data Window.

Ens mostra les dades de la mesura de la longitud d‟ona actual.

10.1.3 Measure

10.1.3.1 Gràfiques

Les gràfiques mostren la representació de les dades rebudes del Lock-in en i la

representació de dades de l‟Eficiència Quàntica Externa temps real. Prement el

botó dret del ratolí es desplega un menú contextual amb les opcions:

- AutoScale. Defineix a la gràfica seleccionada els límits dels eixos de

manera que les dades de la mesura en temps real i de les mesures

carregades es mostrin completament.

Page 47: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

44 .

- Set Axis. Mateixa opció que la disponible al MenuGraph.

- Undo Zoom. Representa la mesura a la gràfica seleccionada amb els

límits dels eixos predefinits anteriors al zoom.

10.1.3.2 Botons de control

Define Measure : Obre la finestra Define Measure.

Start Scan: Comença l‟escaneig

Stop Scan: Atura l‟Escaneig

Save Measure : Guarda la mesura en l‟arxiu especificat en la finestra Define

Measure.

Page 48: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

45 .

10.2 Reference Manual

The reference manual explains with detail all the functions from each part of the

program (Main Menu, Browser and Measure).

10.2.1 Main Menu

The main menu has as its principal purpose to show the different options of the program

using tags:

10.2.1.1 File

Load Measure (Ctrl+L). It shows a dialog window to search the file *.dat in

order to upload the chosen measure. Once the file is opened the data is shown

with a graph and the name appears on the browser. It can be accessed by the

button

Save Measure (Ctrl+S). ): It saves the data measurement shown on the graph in

a *.dat file. The path and the name of the file will be defined on the window

Define Measure. Along with the data file, a text file will be created which

contains the following information (It can be accessed by the button Save

Measure from the Configuration form)

- File Name : Name of the file

- Time: Date and time when the measure was carried out.

- Comments: Optional comment.

- Spectrometer parameters:

Initial Wavelength: Wavelength to start the Scan

Final Wavelength: Wavelength to finish the Scan

Interval: Interval between two consecutives measurements

- Lock-in parameters:

Filter timer constant control: Timer constant defined

Full-scale sensitivity control: Sensitivity defined

Load Configuration (Ctrt+Alt+L). It shows a dialog window to search the file

*.ini in order to upload the chosen configuration measurement. When the

archive is uploaded the configuration associated appears in the Configuration

form It can be accessed by the button Load Configuration from the

Configuration form

Save Configuration (Ctrl+Alt+S). It saves the measurement configuration in a

*.ini file. The path and the name of the file will be defined on the window

shown. It can be accessed by the button Save Configuration from the

Configuration form

Page 49: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

46 .

Exit (Ctrl+E). It closes the application as well as the communication with the

device. It saves the actual measurement configuration in the program

This configuration will be the default charge at the start of the application

10.2.1.2 Configuration

Define Measure (Ctrl+M). The Configuration Window is shown. It will

defined:

Spectrometer Settings

- Initial Wavelength.

- Final Wavelength.

- Interval.

Lock-in Settings

- Filter timer constant control.

- Full-scale sensitivity control.

Reference Settings

- Choose-> It upload the Reference archive selected by this option.

- OK->It saves the Reference archive in the program path

Additional Buttons

- Load Configuration. Look at 9.1.1.1 section.

- Save Configuration. Look at 9.1.1.1 section.

- Stop Scan. It stop the actual Scan

10.2.1.3 Graph

Auto (Ctrl+A). It defines the axis automatically, auto scaling the measures

represented by the graph.

Set Axis (Ctrl+X). ): It allows to define the limit of the axis of the graph

- Auto. It defines the axis automatically, auto scaling the measures

represented by the graph.

- Manual. It sets the limit of the Axis. The Change button will only be

enabled if the axis is right defined.

Page 50: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

47 .

10.2.1.4 Connexion

SpectraPro and Lock-in connexion (F1). Allows the user to

connect/disconnect the Lock-in and monochromator

10.2.1.5 Debug Mode

Debug (F2). HyperTerminal to send and receive information from Lock-in and

monochromator. It‟s under construction.

10.2.2 Browser

10.2.2.1 Measurement List

The measures browser enables to load a measure saved previously in order to

show it on the graph. To load the measures we have to press (MenuOpen or

the speed button like in section 9.1.1.1) . By pressing the right button of your

mouse a contextual menu will show up, which allows to carry out several

options regarding the measures, such as:

- Hide Graph: It hides the measure from the graph, keeping the measure

loaded on the browser.

- Delete Graph: It deletes the measure from the browser and from the

graph

- Show Graph: It shows a measure which had been hidden previously

using the Hide Graph option.

- Change colour: It changes the colour of the measure represented on the

graph.

- Show Text File: It shows a window where we can find the text file related

to the measure.

To delete all listed measurements it will pressed the speed button

10.2.2.2 Data Window butoon

It shows the actual wavelength measurement data

10.2.3 Measure

10.2.3.1 Graphs

The graph shows the plot of the data received from the Lock-in as well as the

plot of the data for the External Quantum Efficiency in real time. By pressing

the right button of your mouse a contextual menu will show up:

- AutoScale. It defines the axis automatically, auto scaling the measures

represented by the graph. It auto scale each graph separately

- Set Axis. Same option as the available in MenuGraph.

Page 51: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

48 .

- Undo Zoom. It represents the measure using the limit of the axis set

before the zoom.

10.2.3.2 Botons de control

Define Measure: It opens the window Define Measure.

Start Scan: It starts the actual Scan

Stop Scan: It stops the actual Scan

Save Measure: It saves the measure onto the file determined on the window

Define Measure.

Page 52: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

49 .

10.3 Manual de processos

10.3.1 Mesura estàndard

1. Comprovar que els interruptors d‟alimentació de la part posterior dels

instruments estan connectats.

2. Connectar els instruments als ports sèrie del PC

3. Obrir el programa de control EQE.exe

4. Automàticament el programa busca si hi ha algun dispositiu connectat en algun

dels ports USB. En cas que hi hagi algun dispositiu connectat, apareixerà en la

part inferior de la pantalla el missatge. “Lock-in connected” i/o “SprectraPro

connected”.

5. Si algun dispositiu no està connectat al PC es mostrarà el missatge “Open Lock-

in not connected” i/o “SpectrPro not connected” amb fons de color vermell.

Anirem a la finestra de connexió de la aplicació (Menu Connexión

SpectrPro and Lock-in connexion) i connectarem manualment el instrument que

ha fallat.

6. Si existeix un fitxer de configuració a la carpeta del programa es carregarà per

defecte i les dades es mostraran a (Menu Configuration Define Measure).

7. Per configurar els paràmetres manualment anar a (Menu Configuration

Define Measure) , prement el botó “Define Measure” o amb la drecera Ctrl+M.

També podem carregar un fitxer de configuració (Menu ConfigurationLoad

Configuration), (Menu FileLoad Configuration) o amb la drecera

Ctrl+Alt+L.

8. Per començar a visualitzar les dades, prémer el botó Start Scan,.

9. En cas que es desitgi parar la captura prémer el botó Stop Scan.

10. Per capturar la mesura representada anirem a (Menu File Save Measure)

pitjarem el botó Save Measure, o amb la drecera Ctrl+S.

11. Per guardar la configuració anirem a (Menu File Save Configuration),

(Menu FileSave Configuration) o amb la drecera Ctrl+Alt+S.

12. Per sortir del programa i tancar communicació amb l‟instrument anar a (Menu

File Exit), amb la drecera Ctrl+X o bé el botó Tancar (part superior

esquerra pantalla).

Page 53: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

50 .

10.3.2 Obri fitxer de dades i treballar amb la gràfica.

1. Per representar una mesura guardada prèviament, anar a (Menu File Load

Measure), Crtl+L o bé prémer botó d‟accés ràpid

2. Buscar arxius *.dat de les dades de la mesura a carregar en el directori pertinent,

i obrir fitxer. Per a ser oberts, els fitxers de dades han de tenir un format concret

(veure Apèndix 5.1).

3. Si la mesura s‟ha carregat correctament, es representaran les dades a les

gràfiques i es mostrarà el nom del fitxer en el Browser.

4. En el Browser, prement amb el botó dret del ratolí sobre el nom del fitxer es

desplega un menú contextual que permet :

Hide Graph : Desapareix la captura de la gràfica però no del

requadre.

Delete Graph : Desapareix la mesura de la gràfica i del Browser.

Show Graph : Reapareix la mesura que prèviament s‟ha ocultat.

Change Color : Permet canviar el color, de les dades representades a

la gràfica, de la mesura.

Show Text File: Obre el fitxer de text associat a la mesura, on es

mostren paràmetres de configuració amb que ha estat realitzada.

Per eliminar totes les mesures del requadre així com les representacions de la

gràfica, prémer el botó Clear List.

5. Prement amb el botó dret del ratolí sobre una gràfica, s‟obre un menú contextual

que permet :

Auto Scale: Defineix els límits dels eixos de manera que les dades de

la mesura en temps real i de les mesures carregades es mostrin

completament.

Set Axis: Definició dels límits dels eixos de la gràfica.

Undo Zoom: Representa les mesures amb els límits del eixos definits

anterior al zoom.

6. Per sortir del programa i tancar comunicació amb l‟instrument anar a (Menu

File Exit), Ctrl+E o bé botó Tancar (part superior esquerra pantalla).

Page 54: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

51 .

10.3.3 Troubleshooting

1. Si un instrument no respon. Intentar desconnectar i connectar des de (Menu

Connexión SpectrPro and Lock-in connexion).

2. Apagar els instruments.

3. Tancar el programa i la comunicació amb els instruments anant a (Menu File

Exi)t, Ctrl+E o bé el botó Tancar (part superior esquerra pantalla). En cas

que aquest no respongui forçar l‟aturada.

4. Tornar a encendre els instruments.

5. Reiniciar el programa i comprovar que s‟ha establert comunicació correctament

amb el instrument. Si la comunicació s‟ha realitzat apareixeran els missatges

“Lock-in connected” i “SpectraPro connected”

6. En cas que no s‟estableixi comunicació, tancar programa i tornar al punt 2.

Page 55: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

52 .

10.4 Process Manual

10.4.1 Standard Measure

1. Check if the power switch instruments are in right position.

2. Connect the devices to the Serial port.

3. Open the control program of the EQE.exe.

4. Automatically the program will search whether there are devices connected to

any of the Serial ports or not. If so, at the bottom of the screen the message

“Lock-in connected “and/or “SpectrPro connected “ will show up.

5. If any device is not connected to the computer the message “Lock-in not

connected”and/or “SpectraPro not connected” will appear on the message bar

at the bottom of the program window with red background. Go to the connexion

window (Menu Connexion SpectraPro and Lock-in connexion) and try to

connect the device manually.

6. If there is a configuration file in the program folder it will be loaded by default

and the data will be displayed in (MenuConfiguration Measure Define

Measure)

7. In order to configure the parameters of the devices we will need either to use

(Menu Configuration Define Measure) , the button “Define Measure” or

the shortcut Ctrl+M.

It‟s possible to upload the configuration from an archive. (Menu

ConfigurationLoad Configuration), (Menu FileLoad Configuration) or

with the shortcut Ctrl+Alt+L.

8. In order to start to see the data, we have to press Start Scan button.

9. If we want to stop the capture we have to press the Stop Scan button

10. In order to capture the measure represented on the graph, by pressing the Save

Measure button from Controls, (Menu File Save Measure or Ctrl+S we

will save the capture of the measure.

11. To switch off the program and close the communication we will either use

(Menu File Exit), Ctrl+E or press Exit button, (on the top of the screen).

Page 56: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

53 .

10.4.2 Open data file and work on the graph.

1. To represent a measure saved previously, (Menu File Load Measure) ,

Crtl+L or also by pressing the button.

2. Once the dialog window is open, search files *.dat, on the certain directory,

regarding the data of the measure that we want to load. Files must have a

specific format to be opened (see Apèndix 5.1).

3. If the measure has been properly loaded, the data will be represented on the

graphs and the name of the file will be written on the Browser.

4. When using the browser, by clicking the right button of the mouse on the name

of the file, a contextual menu will appear, which will enable to:

Hide Graph: It hides the capture from the graph, but does not remove it from

the panel.

Delete Graph: The measure will be deleted from the graph and from the

Browser.

Show Graph: The measure beforehand hidden will turn up.

Change Colour: It enables to change the colour of the data represented on

the graph.

Show Text File: It shows the text file (*.txt) related to the measure.

In order to delete all the measures from the panel, as well as the representations

from the graph we have to click on the Clear List button .

5. By clicking the right button of the mouse on one graph, a contextual menu will

turn up, which will enable:

Auto Scale: It automatically defines the axis, auto scaling the represented

measures on the graph.

Set Axis: It defines the limit of the axis of the graph.

Undo Zoom: It represents the measures with the axis defined before the

zoom.

6. To exit the program and close the communication with the device we either have

to use (Menu File Exit), Ctrl+E or to press Exit button (at the top of the

screen).

Page 57: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

54 .

10.4.3 Troubleshooting

1. If any device does not respond try to connect/disconnect the device by (Menu

Connexión SpectrPro and Lock-in connexion).

2. Switch off the devices.

3. Close the program and the communication with the decive by using either (Menu

File Exit), Ctrl+E or pressing the Exit button (at the top of the screen).

4. Switch on the devices

5. Start the program again and check that there is proper communication with the

device. If the communication is correct, the following message will be on the

screen: “Lock-in conneted” and “SpectraPro connected”.

6. If the communication is not correct, we have to turn the program off and go back

to number 2.

Page 58: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

55 .

11. Bibliografia

11.1 Llibres consultats

[1] Instruction Manual DSP Lock-in Amplifier Model 7265

[2] Operating Instructions Acton Research Corporation SpectraPro-150

[3] Tesis: Automatización de la caracterización de celdas solares

Autor: Edgard Moreno García Any:2001

[4] Tesis: Silicon Heterojunction solar cells obtained by Hot-Wire CVD.

Autor: Cristóbal Voz Sánchez Any: 2008

[5] Teach yourself Borland C++ Builder in 14 days

Autor: Kent Reisdorph Editorial: Sams Publishing

[6] PFC: Sistema de adquisición y transmisión de datos mediante el MSP430F169

de Ti.

Autor: Jordi Ruiz Baeza

Directores: José Luis Ramírez Falo, Eduard Llobet Valero.

11.2 Pàgines Web consultades (Juny 2011)

[7] http://www.functionx.com/bcb/index.htm (Informació sobre programació en

Borland C++ Builder)

[8] http://www.functionx.com/bcb/index.htm (Informació sobre programació en

Borland C++)

[9] http://msdn.microsoft.com/en-us/library/ms810467.aspx (Ajuda de Microsoft

per programar el port sèrie en Win32)

[10] www.acton-research.com (Pàgina oficial de de l‟empresa Acton.Research on

trobarem informació del monocromador)

[11] http://www.signalrecovery.com/. (Pàgina oficial de l‟empresa Signal Recovery

on trobarem informació del Lock-in)

Page 59: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

56 .

Apèndix 1 Pla d’accions del Projecte EQE

1 2 3 4 5 6Dampers meet t

1 1Llibreries

SpectraSense

Segons els exemples de l'intrument existeixen

llibreries per treballar amb el llenguatge de

programació C++. Al manual no es troben definides

aquestes llibreries i no existeix cap documentació.

E:Estrada 09-07-10 16-07-10 23-07-10 23-07-10 1B 2Y 3G

1- Tornar a Revisar el manual. En cas de no trobar la

informació es provaran de fer servir les llibreries de Visual

Basic. El Client (URV) intentarà contactar amb el proveïdor

de l'Espectròmetre. OK

2-No existeixen Llibreries. Les de VB no funcionen i el

proveïdor ens comenta que no existeixen aquestes llibreries.

Només uns exemples il·lustratius. La solució és programar a

un nivell més baix i establir nosaltres les comunicacions. OK

3- Es tanca l'acció i no es faran servir llibreries OK

2 1

Comunicació pel

Port Sèrie

Espectròmetre

Establir comunicació amb Espectròmetre.

Dificultats per trobar la seqüència correcta de

caràcters a enviar per cada instrucció que fem

servir.

E.Estrada 03-09-10 10-09-10 10-09-10 1B 2G

1- A la documentació no especifica quina seqüència de

caràcters exacta s'ha d'enviar per cada instrucció. Es

realitzarà una aplicació senzilla per tal de comprovar quina és

la seqüència. OK

2- Es troba la seqüència correcta de caràcters OK

3 1

Comunicació pel

Port Sèrie

Espectròmetre

La comunicació dona errors i l'aparell

SpectraSense sembla que a vegades es que

bloquejat.

E.Estrada 16-09-10 22-09-10 28-10-10 28-10-10 1R 2R 3R 4R 5G

1- Comprovar que s'està enviant la seqüència de caràcters

correcta .OK

2- Comprovar a la documentació de Microsoft que la

configuració del port, buffers entrad/sortida s'està realitzant

correctament. OK

3- Comprovar que els paràmetres de comunicació del port

sèrie són els mateixos que especifica l'instrument

SpectraSense. OK

4- Veure si l'nstrument no pot fer canvis de longitud d'ona

molt petits per les limitacions mecàniques del mateix. OK

5- Assegurar que només tenim un Thread de comunicacions

en marxa. OK

4 1

Comunicació pel

Port Sèrie

Lock-in

La comunicació amb el Lock-in no respon sempre

béE.Estrada 12-11-10 19-11-10 17-12-10 17-12-10 1R 2R 3R 4G

1- Comprovar que s'està enviant la seqüència de caràcters

correcta. OK

2- Comprovar a la documentació del fabricant que no s'està

configurant malament cap paràmetre del port. OK

3- Comprovar amb l'hiperterminal si funciona i si és així veure

diferències. OK

4- Amb l'hiperterminal si funciona però tot sembla igual que

amb la nostra aplicació. Intentar enviar caràcter a caràcter la

instrucció. OK

5 1

Comunicació pel

Port Sèrie

Espectròmetre

Tornen a existir problemes de comunicació amb

L'Espectròmetre. Sembla que a vegades no respon

i torna a quedar-se bloquejat.

E.Estrada 14-01-11 22-01-11 29-01-11 29-01-11 1R 2R

1- Revisar de nou documentació de l'aparell i de Microsoft.

OK

2- Provar de crear el buffer per enviar i rebre dades

exactament del mateix tamany que la trama que necessitem.

OK

COMENTARIS/NOTES/TANCAMENTHistroial de l'estat de l'acció

Més Antic Més nouITEM Descripció

Persona

responsable

Data del

problema

Data de

Tancament

Data Actual per

Tancar l'Acció

Última

actualitzacióPrioritat Problema

Page 60: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

57 .

1 2 3 4 5 6Dampers meet t

6 2

Detecció

de ports

ordinador

Windows no dona cap eina per fer un escaneig de

ports de l'ordinador.E.Estrada 05-02-11 12-02-11 12-02-11 1B 2R

1- Revisar documentació de Windows. Fer recerca de

possibles solucions.OK

2- Provar d'enviar una trama a l'espectròmetre sabent la

resposta que ha de donar. Si es rep resposta correcte el port

existeix. Fer-ho per un rang de 30 ports. OK

7 1 Error de softwareAl tancar l'aplicació ens dona un error genèric de

WindowsE.Estrada 11-02-11 18-02-11 25-02-11 25-02-11 1B 2Y 3G

1- Revisar accions que prenen al tancar l'aplicació. OK

2-Comprobar que netegem buffers i tanquem bé els ports.

OK

3- Comprovar que es tanca el thread de comunicacions. OK

8 1Millora de

Disseny

Al expandir la finestra del programa no

s'expandeixen totes les subfinestres i l'aplicació es

veu pobre visualment

E.Estrada 11-02-11 18-02-11 18-02-11 1B 2R

1- Buscar atributs de finestra que permeti adaptar-se a la

finestra principal. OK

2- Programar l'adaptabilitat de les finestres al frame principal.

OK

9 1

Error

de

disseny

Alhora de entrar els paràmetres de l'espectròmetre i

del Lock-in es poden introduir dades incorrectes

(Rang erroni, Caràcters en comptes de números

etc.). Encara que apareix un error interessaria que

de bon principi no fos possible ficar dades

incorrectes

E.Estrada 19-02-11 25-02-11 25-02-11 1R

1- Modificació del software per impedir l'entrada de qualsevol

caràcter que no sigui un número. A més a més es comprova

cada vegada que es tecleja a sobre d'una casella totesl

lescondicions establertes per la configuració (Lambda

inicial<final etc.) OK

10 2Millores

de programa

Es demana que existeixi una finestra per poder

visualitzar les dades de l'escaneig numèricament.

Aquesta a més a més s'ha de poder ampliar i per

tant les lletres augmentar proporcionalment per tal

de cobrir tota la finestra

E.Estrada 19-02-11 04-03-11 04-03-11 1R

1- Crear Finestra amb les següents dades:

- WaveLEngth

- ChannelA and ChannelB

- Qeff

OK

11 1

Error

de

disseny

El client vol que els paràmetres "Filter Time

Constant" y el "Full-Scale sensivity control" es

seleccionin amb un control "UpDown" i no

introduint un número segons la taula

d'especificacions del l'aparell

E.Estrada 04-03-11 11-03-11 11-03-11 1R 1- Modificar Software segons requeriments del client. OK

12 2Millores

de programa

El client demana alguna ajuda visual per saber en

quin estat de progrés està l'escaneigE.Estrada 04-03-11 11-03-11 11-03-11 1R

1- S'afegeix a la finestra principal de l'aplicació un element

"ProgressBar" . OK

13 2Millores

de programa

El client demana alguna ajuda visual molt clara que

ens indiqui l'estat de connexió dels aparellsE.Estrada 11-03-11 18-03-11 18-03-11 1R

1- S'afegeixen dues caselles al costat del "PogressBar" que

indicaran en vermell si l'aparell està desconnectat

14 1Millores

de programa

Es demana que es guardi la última configuració

d'escaneig, juntament amb la taula de la referència i

que aquestes dades es carreguin a l'iniciar de nou

el programa per defecte.

E.Estrada 11-03-11 18-03-11 01-04-11 01-04-11 1R 2R

1-Problemes a l'hora de crear una carpeta dins de Windows.

Mirar documentació de Microsoft. OK

2-Identificar quines unitats té Windows. Mirar documentació.

Provar de crear una carpeta de configuració a les unitats "c:\

,d: \, e:\, o f:\" sinó es pot, enviar missatge d'error. OK

15 2Millores

de programa

Alhora de carregar una mesura escurçar el nom de

la mateixa que es mostra a la gràfica. Per tal que la

gràfica sigui el més gran possible.

E.Estrada 01-04-11 08-04-11 08-04-11 1R 1- S'estableix que només es mostrarà el "dia-mes-any" OK

COMENTARIS/NOTES/TANCAMENTHistroial de l'estat de l'acció

Més Antic Més nouITEM Descripció

Persona

responsable

Data del

problema

Data de

Tancament

Data Actual per

Tancar l'Acció

Última

actualitzacióPrioritat Problema

Page 61: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

58 .

1 2 3 4 5 6Dampers meet t

16 2Millores

de programa

Client demana que a cada gràfica es puguin

canviar els eixos. En principi la definició dels eixos

era una per tota les gràfiques. A més a més per

defecte els eixos han d'estar en automàtic i només

modificar-los si l'usuari ho creu convenient. Al

menú principal ha d'existir la possibilitat de posar

totes les gràfiques de cop en auto i així ajustar-se a

les mesures que tinguem

E.Estrada 08-04-11 15-04-11 15-04-11 1R 1- Es modifica segons requeriments. OK

17 1 Error de softwareProblemes en l'auto configuració del Lock-in.

Concretament en el "REFMODE"E.Estrada 15-04-11 22-04-11 06-05-11 06-05-11 1B 2Y 3G

1- Revisar seqüència del programa. OK

2- Comprovar que rebem l'OK per part del Lock-in. OK

3- L'OK triga 5s en rebre's per això dona error. Augmentar

temps d'espera. OK

18 2Annexes del

Projectes

El Client demana de cara al Setembre de 2011 una

opció al menú principal de "Debug"E.Estrada 06-05-11 01-09-11 1R

1- S'està realitzant un Hyperterminal adaptat al projecte. Està

en fase de Debugging.

19 2Annexes del

Projectes

El client demana que alhora de guardar les dades

d'un escaneig existeixi alguna manera de guardar

l'usuari que l'ha fet.

E.Estrada 06-05-11 01-09-11 1R 1- En estudi

COMENTARIS/NOTES/TANCAMENTHistroial de l'estat de l'acció

Més Antic Més nouITEM Descripció

Persona

responsable

Data del

problema

Data de

Tancament

Data Actual per

Tancar l'Acció

Última

actualitzacióPrioritat Problema

Page 62: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

59 .

Apèndix 2 Diagrama de Gantt

Page 63: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

60 .

Apèndix 3.1 Taula de funcions de l’Objecte WinMain

Funció Cridada per: Comentari

WinMain(HINSTANCE, HINSTANCE,

LPSTR, int))

Primera funció cridada pel sistema per una

aplicació Windows

Application() Per defecte C++ builder crea un objecte del

tipus Application amb el que podrem cridar

diferent mètodes i obtenir informació de la

aplicació.

Crea un Objecte del tipus TForm i és assignat

al MainForm.

CreateForm(__classid(TConfigurationF),

&ConfigurationF)

Crea un Objecte del tipus TForm i és assignat

al ConfigurationF.

CreateForm(__classid(TDataWindowF),

&DataWindowF)

Crea un Objecte del tipus TForm i és assignat

al DataWindowF.

Application

Application

Crea un Objecte del tipus TForm i és assignat

al SetAxisF.

CreateForm(__classid(TSaveF), &SaveF) Crea un Objecte del tipus TForm i és assignat

al SaveF.

CreateForm(__classid(TConnexionF),

&ConnexionF)

Crea un Objecte del tipus TForm i és assignat

al ConnexionF.

EQE

CreateForm(__classid(TMainForm),

&MainForm)

Application

WinMain

WINAPI

CreateForm(__classid(TAttentionF),

&AttentionF)

Crea un Objecte del tipus TForm i és assignat

al AttentionF.

CreateForm(__classid(TErrorF), &ErrorF) Crea un Objecte del tipus TForm i és assignat

al ErrorF.

CreateForm(__classid(TDebuggingF),

&DebuggingF)

Application Crea un Objecte del tipus TForm i és assignat

al DebuggingF.

CreateForm(__classid(TShowTextFileF),

&ShowTextFileF)

Crea un Objecte del tipus TForm i és assignat

al ShowTextF.

CreateForm(__classid(TSetAxisF),

&SetAxisF)

CreateForm(__classid(TLockinConfigurati

onScanF),&LockinConfigurationScanF)

Crea un Objecte del tipus TForm i és assignat

al LockinConfigurationScanF.

Run() Aquesta funció fa que corri el programa.

Application

Application

Application

Application

Application

Application

Application

Application

Page 64: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

61 .

Apèndix 3. 2 Taula de funcions de l’Objecte TMainForm

TMainForm TErrorF

TConfigurationF ScanThread

TConnexionF TSetAxisF

TSaveF Application

TLockinConfigScanF

Funció Cridada per:

WinMain->Application

MainForm->OnCreate

FormCreate

OpenBtClick

FormCreate

OpenBtClick

Button2Click

FormCreate

FormCreate

FormResize

Connexion

SpectraConnectBtClick

Connexion

LockinConnectBtClick

ComSpectraConnexion

ComLockinConnexion

LockinDisconnectBtClick

SpectraDisconnectBtClick

TConnexionF

ComSpectraConnexion

ComLockinConnexion

TConnexionF

DebuggingThread

Comentari

TMainFormTAttentionF

Al executar el programa crea l'objecte de la

classe Tform. Finestra principal del

programa amb els menus associats

TMainForm(TComponent* Owner)

TDebuggingF

TShowTextFileF

TDataWindowF

Funció que intenta llegir el arxiu

Configuration.ini per tal de carregar els

paràmetres de configuració de l'escaneig.La

carpeta per defecte on es guarden els arxius

de programa és: "c:\\Program

Files\\URVQeff". En cas de no existir la

carpeta es crearà. Si la unitat c:\ no es

accessible s'intentarà crear la mateixa ruta

per les unitats d:\, e:\ o f:\. En cas de no

trobar el fitxer, ens mostra per pantalla un

missatge requerint que introduïm els

paràmetres de la mesura manualment

ConfigurationApp()

Funció que busca en un rang de 1-30 ports

sèries si el monocromador està conenctat.

ComLockinConnexion()

ScreenDisabled()

ScreenEnabled()

Funció que s'executa al iniciar el programa

per tal de crear tota la part gràfica. A més a

més executa una sèrie de funcions.

Un dels paràmetres que carrega la funció

"ConfigurationApp" és l'adreça de la

referència. Si l'adreça es correcte i l'arxiu té

el format correcte es carrega la referència. En

cas contrari donarà un missatge d'error i

s'haurà d'introduïr a la finestra de

configuració. A aquesta funció se li passa

com a paràmetre l'adreça de de la Referència.

Al iniciar-se el programa intenta trobar en

quin port estan conectats el Monocromador i

el Lock-in

La barra d'estat s'auto ajusta a la finestra

principal del programa

Funció que busca en un rang de 1-30 ports

sèries si el Lock-in està conenctat.

Si el monocromador o Lock-in no estan

conectats desactiva la possibilitat de realitzar

un scaneig

Si el monocromador o Lock-in estan

conectats activa la possibilitat de realitzar un

scaneig

FormCreate(TObject *Sender)

LoadDataRef(char *filename)

Connexion()

StatusBarResize()

ComSpectraConnexion()

Page 65: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

62 .

ComSpectraConnexion

ComLockinConnexion

FormClose

ReceiveComm

ComLockinConnexion

ComSpectraConnexion

LockinDisconnectBtClick

SpectraDisconnectBtClick

ComLockinConnexion

ComSpectraConnexion

ComLockinConnexion

ComSpectraConnexion

ComLockinConnexion

ComSpectraConnexion

CloseComm

ComLockinConnexion

ComSpectraConnexion

MainForm->OnClose

Exit1->OnClick

MainForm->OnResize

StartStopScan->OnClick

StopScanBt->OnClick

StopScanBt->Onclick

SaveMeasure1->Onclick

SaveButton->OnClick

SpectraSense1->OnClick

OkButtonClick

SpeedButton1->OnClick

Cada vegada que modifiquem el tamany de la

Finestra principal es realitzaran una sèrie de

càlculs per modificar el tamany de la resta de

components d'aquesta finestra i adaptar-los a

la mateixa.

FormResize(TObject *Sender)

Al clicar a "Stop Scan" parem l'Scan que

s'està realitzant. Abans de parar acaba de

realitzar la lectura en curs. Tanquem el

Thread de comunicacions i s'habiliten els

botons corresponents.

StopScanBtClick(TObject *Sender)

ActionSaveMeasureExecute()

Al clicar a sobre de "Save Measure" s'obre la

finestra per guardar la mesura.

Al clicar a sobre de "Define Measure" mostra

la finestra de configuració dels paràmetres de

l'escaneig

ActionMeasureConfigExecute(TObjec

t *Sender) DefineMeasureButton-

>OnClick

SpeedButton1Click(TObject *Sender) Al clicar a sobre de "Clear List" borrarà tota

la llista de mesures carregades

Si s'ha realitzat algun scaneig i per tant hem

rebut dades. Clican a sobre "OK" de la

finestra "SaveF" es guardaran les dades en un

arxiu *.dat amb el nom equivalent a la data i

hora que es guarda. A més a més es guardarà

un altre arxiu *.txt amb el mateix nom.

Aquest últim arxiu contindrà la configuració

que es va donar alhora de fer l'escaneig

Redibuixa la barra d'estat en funció de la

connexió de cada aparell. Se li passen com a

paràmetres la barra d'estat a la que ens

referim, el panell, i la posició d'aquest.

Al clicar al menú principal a sobre de "Exit".

Tancarem la aplicació.

Al clicar a "Start" inicialitzem el progresbar i

cridem a la funció "ConfigurationF-

>SendData"

SaveMeasureExecute(TObject

*Sender)

StartScanClick(TObject *Sender)

ConfigComm()

SendComm()

ReceiveComm()

StatusBar1DrawPanel(TStatusBar

*StatusBar,TStatusPanel *Panel,

const TRect &Rect)

Exit1Click(TObject *Sender)

Obre el port sèrie corresponent

Tanca el port sèrie corresponent. Es passa

com a paràmetre la màquina a la que està

connectat. (1) Monocromador. (2) Lock-in

OpenComm()

CloseComm(int machine)

Configura el port sèrie segons el paràmetres

dels nostres instruments.

Envia una cadena de caràcters definida a

cada instrument en espera de rebre

confirmació de rebuda correcta del mateixos

Compara la resposta de cada instrument amb

la esperada.

FormClose(TObject *Sender,

TCloseAction &Action)

Tanca els Threads de comunicacions oberts i

la aplicació.

Page 66: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

63 .

DataWindowBt->OnClick

Define1->OnClick

Define1Click

RadioButton1Click

RadioButton3Click

RadioButton5Click

Debug1->OnClick

SetAxis1->OnClick

LoadMeasure->OnClick

LoadMeasureClick

ActionOpenDialogExecute

SpectraDisconnectBtClick

LockinDisconnectBtClick

DebuggThreadTerminate

SendInstructionBtClick

FormClose

LoadConfigurationClick(TObject

*Sender)

SaveConfiguration1Click(TObject

*Sender)

LoaConfiguration-

>OnClick

Al clicar a al menú principal a "File->Save

Configuration" executarem l'acció del botó

"ConfigurationF->SaveBtClick". S'obrirà una

finestra per escollir l'ubicació on guardar-lo

SaveConfiguration1-

>OnClick

SpectraProLockinConnexin

1->OnClick

Al clicar a al menú principal a "File->Load

Configuration" executarem l'acció del botó

"ConfigurationF->OpenBtClick". S'obrirà

una finestra per escollir l'arxiu de

configuració a carregar

Al clicar a l'opció "Connexion->SpectraPro

and Lock-in Connexion" del menú principal

mostra la finestra de connexió manual del

Monocromador i Lock-in

DataWindowBtClick(TObject

*Sender)

Mostra la finestra de dades de l'escaneig.

Timer1Timer(TObject *Sender)

Si cliquem a "Graph->Set Axis" o bé amb el

botó dret a sobre de les gràfiques a "Set Axis"

es mostra la finestra per modificar els eixos.

Per defecte estan en automàtic

Al clicar sobre la opció "Debug Mode-

>Debug" del Menú principal mostra la

finestra de DebugMode. Segons es trobi la

connexió amb els aparells habilitarà o no els

botons

Debug1Click(TObject *Sender)

Si cliquem al menú principal a "Graph-

>Auto" pasem a automàtic tota la definició

dels eixos i borrem les dades que s'hagùessin

introduït manualment. Cridem a la funció

"AutoScale"

Define1Click(TObject *Sender)

SetAxis1Click(TObject *Sender)

Si existeixen dades a les gràfiques es fa un

autoscale.

Al Menú principal si cliquem a sbre de la

opció "Load Measure" ens permetrà carrega

una mesura.

LoadMeasureClick(TObject *Sender)

Al clickar sobre la opció de càrrega de dades,

s'executa aquesta funció. Ens obre una

finestra per escollir l'arxiu de dades a obrir.

Una vegada seleccionat executarà la funció

"LoadData"

ActionOpenDialogExecute(TObject

*Sender)

Inspecciona que l'arxiu seleccionat tingui el

format correcte i carrega les dades de la

mesura correspontents a la part gràfica. Si no

és pot carregar donarà un missatge d'error.

LoadData(char * filename)

SpectraProLockinConnexin1Click(TO

bject *Sender)

Quan s'està comunicant amb el DebugMode i

aquests temps expira s'enten que la

comunicació a lfallat. Tanca el Thread

corresponent i habilita els botons

corresponents

AutoScale()

Page 67: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

64 .

SpectraDisconnectBtClick

LockinDisconnectBtClick

ScanIni

ThreadTerminate

FormClose

SpectraDisconnectBtClick

LockinDisconnectBtClick

WriteSpectraPro

WriteReadLockin

FormClose

WriteSpectraPro

WriteLockin

WriteLockByte

ThreadTerminate

SpectraDisconnectBtClick

LockinDisconnectBtClick

FormClose

WriteLockin

ThreadTerminate

SpectraDisconnectBtClick

LockinDisconnectBtClick

FormClose

WriteLockin

ThreadTerminate

Chart1->OnMouseMove

Chart2->OnMouseMove

Chart3->OnMouseMove

UndoZoom1->OnClick

UndoZoom2->OnClick

UndoZoom3->OnClick

Al moure el ratolí per sobre de la gràfica

"ChannelB" ens apareixerà a " l'StatusBar"

una casella amb les coordenades X i Y.

Chart2MouseMove(TObject

*Sender,TShiftState Shift, int X, int

Y)

Al moure el ratolí per sobre de la gràfica

"ChannelB" ens apareixerà a " l'StatusBar"

una casella amb les coordenades X i Y.

Chart3MouseMove(TObject

*Sender,TShiftState Shift, int X, int

Y)

UndoZoom2Click(TObject *Sender) Al clicar amb el botó dret a sobre de la

gràfica "Channel2" i seleccionar la opció

"UndoZoom" posa els eixos tal com estan

definits manualment o si estan en automàtic

crida a la funció "AutoScale1Click"

UndoZoom3Click(TObject *Sender) Al clicar amb el botó dret a sobre de la

gràfica "Q.Efficiency" i seleccionar la opció

"UndoZoom" posa els eixos tal com estan

definits manualment o si estan en automàtic

crida a la funció "AutoScale3Click"

Al moure el ratolí per sobre de la gràfica

"ChannelA" ens apareixerà a " l'StatusBar"

una casella amb les coordenades X i Y.

Chart1MouseMove(TObject

*Sender,TShiftState Shift, int X, int

Y)

Temps d'espera que es dona quan enviem

l'ordre de lectura del canal 2. Aquest temps

és igual al "Time Constant" dels paràmetres

del Lock-in

Timer5Timer(TObject *Sender)

Quan s'està realitzant un escaneig i aquest

temps expira s'enten que la conexió ha fallat.

Es tanca el Thread de comunicacions i

s'habiliten els botons corresponents

Timer2Timer(TObject *Sender)

Espera de temps que es dona una vegada

enviem una ordre pel port abans de llegir del

mateix.

Timer3Timer(TObject *Sender)

Temps d'espera que es dona quan enviem

l'ordre de lectura del canal 1. Aquest temps

és igual al "Time Constant" dels paràmetres

del Lock-in

Timer4Timer(TObject *Sender)

Al clicar amb el botó dret a sobre de la

gràfica "Channel1" i seleccionar la opció

"UndoZoom" posa els eixos tal com estan

definits manualment o si estan en automàtic

crida a la funció "AutoScale1Click"

UndoZoom1Click(TObject *Sender)

Page 68: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

65 .

UndoZoom1Click

UndoZoom2Click

UndoZoom3Click

ShowTextFile1->OnClick

HideGraph->OnClick

DeleteGraph->OnClick

ShowGraph1->OnClick

ChangeColor1->OnClick Si cliquem amb el botó dret del ratolí a sobre

duna mesura apareix un menu. Al clicar a

"Change Colour" ens permet escollir el color

que volem donar-li a les gràfiques associades.

ChangeColor1Click(TObject *Sender)

AutoScale3Click(TObject *Sender)

Si cliquem amb el botó dret del ratolí a sobre

duna mesura apareix un menu. Al clicar a

"Delete Graph" esborra la mesura

seleccionada de llista.

DeleteGraphClick(TObject *Sender)

Mira si hi ha alguna mesura a la gràfica

"Channel1". S'autoescala en funció de les

dades que tingui.

AutoScale1Click(TObject *Sender)

Si cliquem amb el botó dret del ratolí a sobre

d'una mesura apareix un menu. Al clicar a

sobre de "Hide Graph" les gràfiques

associades a la mesura despareixen. La

mesura no s'esborra de la llista.

Si cliquem amb el botó dret del ratolí a sobre

duna mesura apareix un menu. Al clicar a

"Show Graph" si la mesura no apareixia a les

gràfiques aquesta s'inclou

ShowGraph1Click(TObject *Sender)

AutoScale2Click(TObject *Sender)

Mira si hi ha alguna mesura a la gràfica

"Q.Efficiency". S'autoescala en funció de les

dades que tingui.

Si cliquem amb el botó dre del ratolí a sobre

duna mesura apareix un menu. Al clicar a

sobre de "ShowTextFile1Click" mostra el text

associat a la gràfica. Sinó existeix o està mal

definit mostra un error.

ShowTextFile1Click(TObject

*Sender)

Mira si hi ha alguna mesura a la gràfica

"ChannelB". S'autoescala en funció de les

dades que tingui.

HideGraphClick(TObject *Sender)

Page 69: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

66 .

Apèndix 3.3 Taula de funcions de l’objecte ScanThread

TMainForm TErrorF

TConfigurationF ScanThread

TConnexionF TSetAxisF

TSaveF Application

TLockinConfigScanF

Funció Cridada per:

ConfigurationF->SendData

ScanThread

Execute()

ScanIni()

LockinConfig

WriteLockin

ScanIni

ScanIni

ScanIni

ScanIni

ScanIni

ScanIni

VisualComponentsDraw

ScanIni

MainForm->Timer2

En el moment que cliquem al botó "Start" del

"MainForm" es crida a la funció

"ConfigurationF.SendData". Si els

paràmetres de configuració són correctes es

crea una instancia del Thread de

comunicacions

ScanThread(bool

CreateSuspended)

Configura els paràmetre del Lock-in per la

mesura. Crida a la funció "WriteLockByte" i

obre la finestra "LockinConfigScan" durant

la configuració del Lock-in.

LockinConfig()

VisualComponentsDraw()

Qefficiency()

ThreadTerminate()

Llegeix pel port sèrie la mesura del canal

sol·licitat. Esperant rebre un string finalitzat

en "\r\n*". Mostra per pantalla la dada

rebuda.

Canvia de canal de lectura perquè es vagin

alternant les lectures del canalA i CanalB.

Conforme es van realitzant mesures va

afegint les dades a les gràfiques. A més a més

mostra les dades en el "DataWindowF".

Realitza el càlcul de la E.Q.E. segons la

fórmula: E.Q.E.=

(ChannelA/ChannelB)xReferència

Finalitza el Thread de comunicacions.

Deshabilita els Timers i habilita els botons i

camps corresponents

WriteLockin()

ReadLockin()

FLIP()

Enviar al monocromador la longitud d'ona a

la que s'ha de moure. Defineix el temps

d'espera de lectura "Timer3" del "MainForm"

WriteSpectraPro()

Llegeix del port sèrie la resposat del

monocromador. En espera de rebre l'echo i

un "ok".

ReadSpectraPro()

Execute() Funció que s'executa al iniciar-se el Thread.

Aquesta funció crida a "ScanIni"

ScanIni() Funció principal on es realitza l'escaneig i

tanca el Thread a l'acabar. A més a més

defineix el Timer2 del MainForm.

ScanThread

Envia al Lock-in el canal que vol llegir. Una

vegada seleccionat es llegeix el valor. Per

realitzar aquestes operacions crida a la funció

"WriteLockByte"

TShowTextFileF

TDebuggingF

TDataWindowF

DebuggingThread

Comentari

TAttentionF

Funció per enviar els paràmetres del Lock-in.

S'envia caràcter a caràcter esperant rebre

l'Echo i la cadena "\r\n*" al final. Se li pasa

com a paràmetre l'String a enviar. Defineix el

temps d'espera de lectura "Timer3" del

"MainForm"

WriteLockByte(String send)

Page 70: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

67 .

Apèndix 3.4 Taula de funcions de l’Objecte TAttentionF

TMainForm TErrorF

TConfigurationF ScanThread

TConnexionF TSetAxisF

TSaveF Application

TLockinConfigScanF

Funció Cridada per:

WinMain->Application

Button1->OnClick

Button2->OnClick

Button1Click

ErrorF->FormClose

Al clicar a sobre de "NO" borrarem de la

finestra de "ConfigurationF->Edit2" la

referència seleccionada i tancarem la finestra.

Button1Click(TObject *Sender)

FormClose(TObject *Sender,

TCloseAction &Action)

Tanca la finestra "TAttentionF".

Al executar el programa crea l'objecte de la

classe Tform. Finestra d'atenció a l'usuari per

preguntar-li si vol sobreescriure la Referència

existent amb la que ha seleccionat.

TAttentionForm(TComponent* Owner)

Comentari

Al clicar a sobre del botó "YES" intentarà

sobreescriure la Referència que hagim

seleccionat. A més a més cridarà a

ConfigurationF->Attention

Button1Click(TObject *Sender)

TAttentionF

TShowTextFileF

TDebuggingF

TDataWindowF

DebuggingThread

TAttentionF

Apèndix 3.5 Taula de funcions de l’Objecte TConnexionF

TMainForm TErrorF

TConfigurationF ScanThread

TConnexionF TSetAxisF

TSaveF Application

TLockinConfigScanF

Funció Cridada per:

WinMain->Application

SpectraDisconnectBtClick(TObject *Sender)

LockinConnectBt-

>OnClick

Al clicar al botó "ConnectLockin" crida a la

funció MainForm->ComLockinConnexion.

Per intentar connectar-se al Lock-in

LockinConnectBtClick(TObject *Sender)

LockinDisconnectBt-

>OnClick

Al clicar en " "DisconnectLockin" Mira si hi

ha algun Thread de comunicacions obert i el

tanca. Deshabilita els Timers. Crida a les

funcions MainForm->CloseComm i

MainForm->ScreenDisabled per tal de tancar

la comunicació del port sèrie amb l'aparell i .

Habilita/Deshabilita els botons correspoents

LockinDisconnectBtClick(TObject *Sender)

SpectraConnectBt-

>OnClick

SpectraDisconnectBt-

>OnClick

Al clicar en " "DisconnectSpetraPro150"

Mira si hi ha algun Thread de comunicacions

obert i el tanca. Deshabilita els Timers. Crida

a les funcions MainForm->CloseComm i

MainForm->ScreenDisabled per tal de tancar

la comunicació del port sèrie amb l'aparell i .

Habilita/Deshabilita els botons correspoents

Comentari

TConnexionForm(TComponent* Owner) Al executar el programa crea l'objecte de la

classe Tform. Finestra de connexió manual

dels aparells.

SpectraConnectBtClick(TObject *Sender) Al clicar al botó "ConnectSpetraPro150"

crida a la funció MainForm->MainForm-

>ComSpectraConnexion. Per intentar

connectar-se al mocromodador

TConnexionF

TShowTextFileF

TDebuggingF

TDataWindowF

DebuggingThread

TAttentionF

Page 71: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

68 .

Apèndix 3.6 Taula1 de funcions de l’Objecte TConfigurationF

TMainForm TErrorF

TConfigurationF ScanThread

TConnexionF TSetAxisF

TSaveF Application

TLockinConfigScanF

Funció Cridada per:

WinMain->Application

ConfigurationF->OnCreate

InitialWaveLengthEdChange

FinalWaveLengthEdChange

IntervalEdChange

TimeConstantEdChange

FullScaleSensitivityEdChange

MainForm->StartScanClick

OpenBt->OnClick

SaveBt->OnClick

StopScanBt->OnClick Al clicar al botó "ConfigurationF-

>StopScanBt" activarem la funció

"MainForm->StopScanBtClick" per parar

la mesura en curs.

StopScanBtClick(TObject *Sender)

MainForm-

>SaveConfiguration1Click

SaveBtClick(TObject *Sender) Executarà la funció "SaveConfiguration"

Al crear-se la finestra de configuració de la

mesura mira si s'han carregat els

paràmetres de configuració guardats. En

cas contrari als camps "Filter timer

constant control" i "Full-scale Sensitivity

control" carrega els valors 2µs i 2nV

respectivament. La resta de paràmetres els

deixa en blanc a la espera de ser introduïts

per l'usuari. Per últim en funció dels

paràmetres carregats activarà els botons

correspoents.

FormCreate(TObject *Sender)

Cada vegada que pitgem una tecla a sobre

d'un camp dins els paràmetres de

configuració de la mesura compara amb la

resta de camps si la dada es coherent. En

cas que tots els camps tinguin dades

compreses dins els límits i que siguin

coherents per la mesura habilitarà el botó

"MainForm->StartScan". A més a més si

pitgem el botó "MainForm->StartScan"

crearà una instància de l'ScanThread per

realitzar la mesura.

Habilitarà/deshabilitarà els botons

corresponents.

SendData()

MainForm-

>LoadConfigurationClick

Al clicar al botó "Load Configuration" de

TConfigurationF o al Menu principal del

MainForm s'executarà aquesta funció.

Intentarà llegir els paràmetres de

configuració i guardar-los a la carpeta de

configuració del programa "MainForm-

>ConfigurationApp". Sinó la pot guardar

donarà un missatge d'error. Amb l'adreça

de la Referència intenta carregar-la, sinó

pot dona un missatge d'error "MainForm-

>LoadDataRef".

OpenBtClick(TObject *Sender)

Comentari

Al executar el programa crea l'objecte de la

classe Tform. Finestra on l'usuari pot

carregar la Referència i paràmetres de la

mesura.

TConfigurationForm(TComponent*

Owner)

TConfigurationF

TShowTextFileF

TDebuggingF

TDataWindowF

DebuggingThread

TAttentionF

Page 72: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

69 .

SaveBtClick

InitialWaveLengthEd-

>OnChange

TimeConstantEd->OnChange

SaveConfiguration()

FormClose(TObject *Sender,

TCloseAction &Action)

TimeConstantEdChange(TObject *Sender)

IntervalEdKeyPress(TObject *Sender, char

&Key)

IntervalEd->OnCKeyPress Cada vegada que modifiquem el camp

"IntervalEd" s'executarà aquesta funció.

Comprobarà que introduïm números. No

permetrà qualsevol altre paràmetre

InitialWaveLengthEd-

>OnKeyPress

Cada vegada que modifiquem el camp

"InitialWaveLengthEd" s'executarà

aquesta funció. Comprobarà que introduïm

números. No permetrà qualsevol altre

paràmetre

InitialWaveLengthEdKeyPress(TObject

*Sender, char &Key)

FinalWaveLengthEd-

>OnKeyPress

Cada vegada que modifiquem el camp

"FinalWaveLengthEd" s'executarà aquesta

funció. Comprobarà que introduïm

números. No permetrà qualsevol altre

paràmetre

FinalWaveLengthEdKeyPress(TObject

*Sender, char &Key)

Cada vegada que modifiquem el camp

"FinalWaveLengthEd" s'executarà aquesta

funció. Comprobarà que el valor que

introduïm sigui correcte i en cas que tots

els parametres de configuració siguin

coherents per fer l'escaneig habilitarà el

botó "MainForm->StartScan".

IntervalEd->OnChangeIntervalEdChange(TObject *Sender)

Si s'executa la funció per "MainForm-

>FormClose" aleshores es guarda la

configuració a la capeta de programa amb

el nom "Configuration.ini" (Aquesta serà

la configuració que es carregarà quan

tornem a executar el programa). Si

s'executa la funció per "SaveBtClick"

aleshores s'obre una finestra perquè

l'usuari guardi la configuració actual on

Cada vegada que modifiquem el camp

"InitialWaveLengthEd" s'executarà

aquesta funció. Comprobarà que el valor

que introduïm sigui correcte i en cas que

tots els parametres de configuració siguin

coherents per fer l'escaneig habilitarà el

botó "MainForm->StartScan".

InitialWaveLengthEdChange(TObject

*Sender)

Cada vegada que modifiquem el camp

"TimeConstantEd" s'executarà aquesta

funció. Comprobarà que el valor que

introduïm sigui correcte i en cas que tots

els parametres de configuració siguin

coherents per fer l'escaneig habilitarà el

botó "MainForm->StartScan".

FinalWaveLengthEd-

>OnChange

Cada vegada que modifiquem el camp

"FinalWaveLengthEd" s'executarà aquesta

funció. Comprobarà que el valor que

introduïm sigui correcte i en cas que tots

els parametres de configuració siguin

coherents per fer l'escaneig habilitarà el

botó "MainForm->StartScan".

FinalWaveLengthEdChange(TObject

*Sender)

Cada vegada que modifiquem el camp

"FullScaleSensitivityEd" s'executarà

aquesta funció. Comprobarà que el valor

que introduïm sigui correcte i en cas que

tots els parametres de configuració siguin

coherents per fer l'escaneig habilitarà el

botó "MainForm->StartScan".

FullScaleSensitivityEdChange(TObject

*Sender)

FullScaleSensitivityEd-

>OnChange

Page 73: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

70 .

Button2->OnClick

Button1->OnClick

UpDown1->OnClick

UpDown1->OnClick

Una vegada carregada la referència l'hem

de valida amb "OK". Al clicar intenta

guardar la refererència a la carpeta de

programa. Si existeix una referència amb

el mateix nom cridarà a la funció

"Attention". S'obrirà una finestra que ens

dirà si volem sobreescriure la referència

existent. Si cliquem "Yes" la sobreescriurà

i si cliquem "No" tancarà la finestra sense

guardar la nova referència carregada. Si hi

h algún error aquest es mostrarà per

pantalla sinó borrarà el camp "Reference

Selected. To check click OK" i escriurà al

camp "Reference Selected. To check click

OK" l'adreça de la nova

referència.Habilita/deshabilita els botons

corresponents.

En clicar a sobre de "UpDown1" (Filter

timer constant control) ens carregarà el

valor que pertoqui.

Al clicar al botó"choose" ens obrirà una

finestra per escollir la referència.

Executarà la funció "MainForm-

>LoadDataRef" carregant la referència i

ens mostrarà la ubicació a la casella

"Reference Selected. To check click OK".

Si no es carrega bé dona un missatge

d'error.

Button2Click(TObject *Sender)

En clicar a sobre de "UpDown2" (Full-

scale sensitivity control) ens carregarà el

valor que pertoqui.

UpDown2Click(TObject

*Sender,TUDBtnType Button)

UpDown1Click(TObject

*Sender,TUDBtnType Button)

Button1Click(TObject *Sender)

TimeConstantEdKeyPress(TObject

*Sender,char &Key)

FullScaleSensitivityEdKeyPress(TObject

*Sender, char &Key)

Cada vegada que modifiquem el camp

"TimeConstantEd" s'executarà aquesta

funció. Comprobarà que introduïm

números. No permetrà qualsevol altre

paràmetre

TimeConstantEd-

>OnCKeyPress

FullScaleSensitivityEd-

>OnKeyPress

Cada vegada que modifiquem el camp

"FullScaleSensitivityEd" s'executarà

aquesta funció. Comprobarà que introduïm

números. No permetrà qualsevol altre

paràmetre

Apèndix 3.7 Taula de funcions de l’Objecte TDataWindowF

Page 74: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

71 .

TMainForm TErrorF

TConfigurationF ScanThread

TConnexionF TSetAxisF

TSaveF Application

TLockinConfigScanF

Funció Cridada per:

WinMain->Application

resize(TObject *Sender) DataWindowF->OnResize Al modificar la grandaria de la finestra, tots

els camps de dades s'apaten a la mateixa.

Comentari

TDataWindowF(TComponent* Owner) Al executar el programa crea l'objecte de la

classe Tform. Finestra que mostrarà les dades

de la mesura que s'estigui realitzant.

FormCreate(TObject *Sender) DataWindowF->OnCreate Estableix el tamany de la finestra. Per defete

serà de 220mm d'alçada i 430 d'amplada

TDataWindowF

TShowTextFileF

TDebuggingF

TDataWindowF

DebuggingThread

TAttentionF

Apèndix 3.8 Taula de funcions de l’Objecte TDebuggingF

TMainForm TErrorF

TConfigurationF ScanThread

TConnexionF TSetAxisF

TSaveF Application

TLockinConfigScanF

Funció Cridada per:

WinMain->Application

DebuggingF->OnCreate

SendInstructionBt->OnClick

Lockin->OnCkick

Spectrometre->OnClick

ClearScreenBt->OnClick

DebuggingF->OnClose

Esborra les dades dels camps "Instruction

Sent" i "Reply".

FormClose(TObject *Sender,TCloseAction

&Action)

ClearScreenBtClick(TObject *Sender)

Tanca la finestra de Debug i en cas que

estigui el "DebugThread" corrent el tanca.

Borra tots els camps i habilita el botó "Send

Intruction" si la màquina que està

seleccionada està connectada i no s'està

executant cap escaneig

Comproba que no s'estigui executant cap

escaneig. Borra la intrucció del camp

"Instruction to Send" i la còpia al camp

"Instruction sent". Crea una instància del

thread de debug "DebuggingThread" per

enviar les dades a l'aparell seleccionat. I

configura el "MainForm->Timer1" donant un

temps màxim en rebre resposta

Al clicar a sobre del "RadioButton" del

spectrometre, mira si l'aparell està connectat

pel port sèrie i que no s'estigui fent un

escaneig. Si això es compleix habilita el botó

"Send Instruction" sinó el deshabilita.

SpectrometreClick(TObject *Sender)

TDebuggingF

TDataWindowF

DebuggingThread

Al executar el programa crea l'objecte de la

classe Tform. Finestra que mostrarà

hiperterminal adaptat a la aplicació. Podrem

enviar i rebre dades de cada intrument

individualment

TDebuggingF(TComponent* Owner)

TAttentionF

SendInstructionBtClick(TObject *Sender)

Comentari

FormCreate(TObject *Sender)

Al clicar a sobre del "RadioButton" del Lock-

in, mira si l'aparell està connectat pel port

sèrie i que no s'estigui fent un escaneig. Si

això es compleix habilita el botó "Send

Instruction" sinó el deshabilita.

LockinClick(TObject *Sender)

TDebuggingF

TShowTextFileF

Page 75: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

72 .

Apèndix 3.9 Taula de funcions de l’Objecte TErrorF

TMainForm TErrorF

TConfigurationF ScanThread

TConnexionF TSetAxisF

TSaveF Application

TLockinConfigScanF

Funció Cridada per:

WinMain->Application

ErrorF->OnClose

Al executar el programa crea l'objecte de la

classe Tform. Finestra d'error d'escitura de la

referència a la carpeta de programa. És una

finestra d'informació.

TErrorF(TComponent* Owner)

Comentari

FormClose(TObject *Sender,

TCloseAction &Action)

Al tancar la fiinestra habilita els botons

corresponents de la finestra "AttentionF".

Tanca les finestres "ErrorF" i "AttentionF"

TErrorF

TShowTextFileF

TDebuggingF

TDataWindowF

DebuggingThread

TAttentionF

Apèndix 3.10 Taula de funcions de l’Objecte DebuggingThread

TMainForm TErrorF

TConfigurationF ScanThread

TConnexionF TSetAxisF

TSaveF Application

TLockinConfigScanF

Funció Cridada per:

DebuggingThread

Execute()

DebuggingIni

DebuggingIni

DebuggingIni

ReadSpectraPro

WriteReadLockin

MainForm->Timer1

Espera rebre l'Echo de tots els caràcters

enviats, rebre les dades i la cadena "\r\n*".

Al rebre aquesta cadena indicarà que la s'ha

acabat la transmissió i per tant tancarem el

Thread de Debug

"DebuggThreadTerminate". Mostrarà al

camp "Reply" el que vagi rebent.

WriteReadLockin()

Finalitza el Thread de Debug. Deshabilita el

Timer i habilita els botons i camps

corresponents

DebuggThreadTerminate()

Execute()

Llegeix les dades rebudes del port sèries.

Espera rebre un "ok" que indicarà que la

instrucció s'ha enviat correctament. Tot el

que vagi rebent pel port ho mostrarà al camp

"Reply" . Quan rebem "l'ok" tanca el el

Thread de Debug "DebuggThreadTerminate"

ReadSpectraPro()

WriteSpectraPro() Envía la intrucció pel port sèrie. Defineix el

"MainForm->Timer3" per donal un temps

d'espera abans de la lectura.

En funció del de quin aparell estigui

seleccionat:

a) Spectrometre: Enviarà la instrucció pel

port sèrie "WriteSpectraPro" en espera de

rebre l'Echo i l'ok "ReadSpectraPro".

b) Lock-in: Enviarà caràcter a caràcter la

instrucció "WriteReadLockin" en espera de

rebre l'echo i la cadena "\r\n*"

DebuggingIni()

Comentari

DebuggingThread(bool CreateSuspended) En el moment de clicar "Sent Instruction" es

crea una instància del Thread de Debug per

comunicar-nos amb l'aparell seleccionat

DebuggingF-

>SendInstructionBt

Comproba que el Thread està actiu (No l'ha

aturat algun esdeveniment). En cas afirmatiu

crida a la funció "DebuggingIni" per tal

d'enviar la instrucció seleccionada.

Deshabilita els RadioButtons "Lock-in" i

·Spectrometre" i el camp

"SendInstructionEd"

DebuggingThread

TShowTextFileF

TDebuggingF

TDataWindowF

DebuggingThread

TAttentionF

Page 76: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

73 .

Apèndix 3. 11 Taula de funcions de l’Objecte TLockinConfigScanF

TMainForm TErrorF

TConfigurationF ScanThread

TConnexionF TSetAxisF

TSaveF Application

TLockinConfigScanF

Funció Cridada per:

WinMain->Application

TLockinConfigScanF

MainForm-Timer2

Comentari

Al executar el programa crea l'objecte de la

classe Tform. Finestra que ens dius que s'està

configurant el Lock-in. Durant la

configuració del Lock-in l'aplicació quedarà

bloquejada. Si passa el temp "Timer2" i per

tant la comunicació no respond donarà un

missatge d'error

TLockinConfigurationScanF(TComponent* Owner)

FormClose(TObject *Sender,TCloseAction &Action) Tanca la finestra "TLockinConfigScanF".

TLockinConfigScanF

TShowTextFileF

TDebuggingF

TDataWindowF

DebuggingThread

TAttentionF

Apèndix 3.12 Taula de funcions de l’Objecte TSaveF

TMainForm TErrorF

TConfigurationF ScanThread

TConnexionF TSetAxisF

TSaveF Application

TLockinConfigScanF

Funció Cridada per:

WinMain->Application

SaveF->OnCreate

OkButton->OnClick Cridarà a la funció "MainForm-

>ActionSaveMeasureExecute" per tal de

guardar la mesura. A més a més tancarà la

finestra "TSaveF"

OkButtonClick(TObject *Sender)

Comentari

TSaveF(TComponent* Owner) Al executar el programa crea l'objecte de la

classe Tform. Finestra que ens permetrà

guardar la mesura realitzada amb el nom que

vulguem. A més a més podrem introduïr un

comentari.

Al camp "Name of file (without extension")

posarà per defecte el nom de l'arxiu com (dia-

mes-hora-any).

FormCreate(TObject *Sender)

TSaveF

TShowTextFileF

TDebuggingF

TDataWindowF

DebuggingThread

TAttentionF

Apèndix 3.13 Taula de funcions de l’objecte TShowTextFileF

TMainForm TErrorF

TConfigurationF ScanThread

TConnexionF TSetAxisF

TSaveF Application

TLockinConfigScanF

Funció Cridada per:

WinMain->Application

MainForm-

>ShowTextFile1Click

Comentari

TSaveF(TComponent* Owner) Al executar el programa crea l'objecte de la

classe Tform. Finestra que ens permetrà

visualitzar al informació de la gràfica

associada

Show() Mostra la finestra "ShowTextFileF" amb el

text associat a la gràfica que s'havia guardat.

TShowTextFileF

TShowTextFileF

TDebuggingF

TDataWindowF

DebuggingThread

TAttentionF

Page 77: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

74 .

Apèndix 3.14 Taula de funcions de l’objecte TSetAxisF

TMainForm TErrorF

TConfigurationF ScanThread

TConnexionF TSetAxisF

TSaveF Application

TLockinConfigScanF

Funció Cridada per:

WinMain->Application

ChangeButton1->OnClick

ChangeButton2->OnClick

ChangeButton3->OnClick

RadioButton1->OnClick

RadioButton2->OnClick

RadioButton1->OnClick

RadioButton2->OnClick

RadioButton1->OnClick

RadioButton2->OnClick

RadioButton5Click(TObject *Sender) Al clicar a sobre del RadioButton

"Auto"Passem a automàtic la definició

d'eixos de la gràfica "Q.Efficiency"

RadioButton6Click(TObject *Sender) Al clicar a sobre del RadioButton "Manual"

de la gràfica "Q.Efficiency" deshabilitem la

opció dels esixos en automàtic. Introcuïm per

defecte uns valors dels eixos de "0"

RadioButton3Click(TObject *Sender) Al clicar a sobre del RadioButton

"Auto"Passem a automàtic la definició

d'eixos de la gràfica "Channel B"

RadioButton4Click(TObject *Sender) Al clicar a sobre del RadioButton "Manual"

de la gràfica "ChannelB" deshabilitem la

opció dels esixos en automàtic. Introcuïm per

defecte uns valors dels eixos de "0"

Al clicar a sobre del RadioButton "Manual"

de la gràfica "ChannelA" deshabilitem la

opció dels esixos en automàtic. Introcuïm per

defecte uns valors dels eixos de "0"

RadioButton2Click(TObject *Sender)

ChangeButton3Click(TObject *Sender) Mira que tinguem la gràfica del

"Q.Efficiency" en manual. Si tots els eixos

introduïts són correctes i cliquem a sobre de

"ChangeButton3" es canviaran

automàticament els eixos de la gràfica

"Q.Efficiency" als definits.

Al clicar a sobre del RadioButton

"Auto"Passem a automàtic la definició

d'eixos de la gràfica "Channel A"

RadioButton1Click(TObject *Sender)

Mira que tinguem la gràfica del "Channel A"

en manual. Si tots els eixos introduïts són

correctes i cliquem a sobre de

"ChangeButton1" es canviaran

automàticament els eixos de la gràfica

"ChannelA" als definits.

ChangeButton1Click(TObject *Sender)

ChangeButton2Click(TObject *Sender) Mira que tinguem la gràfica del "Channel B"

en manual. Si tots els eixos introduïts són

correctes i cliquem a sobre de

"ChangeButton2" es canviaran

automàticament els eixos de la gràfica

"ChannelB" als definits.

TSetAxisF

TShowTextFileF

TDebuggingF

TDataWindowF

DebuggingThread

TAttentionF

Comentari

TSetAxisF(TComponent* Owner) Al executar el programa crea l'objecte de la

classe Tform. Finestra que ens permetrà

definir els eixos manualment per a cada

gràfica.

Page 78: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

75 .

Edit1->OnKeyPress

Edit2->OnKeyPress

Edit3->OnKeyPress

Edit4->OnKeyPress

Edit5->OnKeyPress

Edit6->OnKeyPress

Edit8->OnKeyPress

Edit9->OnKeyPress

Edit10->OnKeyPress

Edit11->OnKeyPress

Edit12->OnKeyPress

Edit1KeyPress

Edit2KeyPress

Edit3KeyPress

Edi4KeyPress

Edit5KeyPress

Edit6KeyPress

Edit7KeyPress

Edit8KeyPress

Edit9KeyPress

Edit10KeyPress

Edit11KeyPress

Edit12KeyPress

Edit1->OnChange

Edit2->OnChange

Edit3->OnChange

Edit4->OnChange

Edit12KeyPress(TObject *Sender, char

&Key)

Al introduïr dades als eixos, només permet

introduïr números.

Edit11KeyPress(TObject *Sender, char

&Key)

Al introduïr dades als eixos, només permet

introduïr números.

Edit10KeyPress(TObject *Sender, char

&Key)

Al introduïr dades als eixos, només permet

introduïr números.

Comprova que els eixos estiguin compressos

entre els valors eix x=10000 i eix x=0, eix

y=10000 i eix y=-10000. A més a més mira

que els valors siguin coherents. Si tot això es

compleix activa el botó "Change" de la

gràfica corresponent.

ActiveButtonChange()

Al introduïr dades als eixos, només permet

introduïr números.

Edit3KeyPress(TObject *Sender, char

&Key)

Al introduïr dades als eixos, només permet

introduïr números. Crida a la funció

Edit5KeyPress(TObject *Sender, char

&Key)

Al introduïr dades als eixos, només permet

introduïr números.

Edit7KeyPress(TObject *Sender, char

&Key)

Al introduïr dades als eixos, només permet

introduïr números.

Edit6KeyPress(TObject *Sender, char

&Key)

Al introduïr dades als eixos, només permet

introduïr números.

Edit4KeyPress(TObject *Sender, char

&Key)

Edit2Change(TObject *Sender) Crida a la funció "ActiveButtonChange" que

comprobará que els eixos són correctes

Edit3Change(TObject *Sender) Crida a la funció "ActiveButtonChange" que

comprobará que els eixos són correctes

Crida a la funció "ActiveButtonChange" que

comprobará que els eixos són correctes

Edit1Change(TObject *Sender)

Edit9KeyPress(TObject *Sender, char

&Key)

Edit4Change(TObject *Sender) Crida a la funció "ActiveButtonChange" que

comprobará que els eixos són correctes

Al introduïr dades als eixos, només permet

introduïr números.

Edit1KeyPress(TObject *Sender, char

&Key)

Al introduïr dades als eixos, només permet

introduïr números.

Edit2KeyPress(TObject *Sender, char

&Key)

Al introduïr dades als eixos, només permet

introduïr números.

Page 79: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

76 .

Edit5->OnChange

Edit6->OnChange

Edit7->OnChange

Edit8->OnChange

Edit9->OnChange

Edit10->OnChange

Edit11->OnChange

Edit12->OnChangeEdit12Change(TObject *Sender) Crida a la funció "ActiveButtonChange" que

comprobará que els eixos són correctes

Edit9Change(TObject *Sender) Crida a la funció "ActiveButtonChange" que

comprobará que els eixos són correctes

Edit10Change(TObject *Sender) Crida a la funció "ActiveButtonChange" que

comprobará que els eixos són correctes

Edit11Change(TObject *Sender) Crida a la funció "ActiveButtonChange" que

comprobará que els eixos són correctes

Edit6Change(TObject *Sender) Crida a la funció "ActiveButtonChange" que

comprobará que els eixos són correctes

Edit7Change(TObject *Sender) Crida a la funció "ActiveButtonChange" que

comprobará que els eixos són correctes

Edit8Change(TObject *Sender) Crida a la funció "ActiveButtonChange" que

comprobará que els eixos són correctes

Edit5Change(TObject *Sender) Crida a la funció "ActiveButtonChange" que

comprobará que els eixos són correctes

Page 80: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

77 .

Apèndix 4. 1 Fluxograma de funcions de l’Objete WinMain

Page 81: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

78 .

Apèndix 4. 2 Fluxograma de funcions de l’Objete TMainForm

Page 82: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

79 .

Apèndix 4. 3 Fluxograma de funcions de l’Objete ScanThread

Page 83: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

80 .

Apèndix 4. 4 Fluxograma de funcions de l’Objete TAttentionF

Page 84: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

81 .

Apèndix 4. 5 Fluxograma de funcions de l’Objete TConfigurationF

Page 85: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

82 .

Apèndix 4. 6 Fluxograma de funcions de l’Objete TConfigurationF

Page 86: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

83 .

Apèndix 4. 7 Fluxograma de funcions de l’Objete TDataWindowF

Apèndix 4. 8 Fluxograma de funcions de l’Objete TShowTextF

Page 87: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

84 .

Apèndix 4. 9 Fluxograma de funcions de l’Objete TDebugginF

Page 88: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

85 .

Apèndix 4. 10 Fluxograma de funcions de l’Objete DebuggingThread

Page 89: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

86 .

Apèndix 4. 11 Fluxograma de funcions de l’TLockinConfigF

Apèndix 4. 12 Fluxograma de funcions de l’TSaveF

Page 90: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

87 .

Apèndix 4. 13 Fluxograma de funcions de l’TSetAxisF

Page 91: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

88 .

Apèndix 4. 14 Fluxograma de funcions de l’Objete TErrorF

Page 92: Software de control d’un sistema de mesura de L’Eficiència ...deeea.urv.cat/public/PROPOSTES/pub/pdf/1784pub.pdfSoftware de control d’un sistema de mesura de L’Eficiència

89 .

Apèndix 5. 1 Format de l’arxiu *.dat de la mesura

Canal A Lock-in (V) Canal B Lock-in (V) E.Q.E

-0.170150 0.170150 0.800000

-0.170250 0.170250 0.500000

-0.170100 0.169700 0.700000

-0.169700 0.169650 0.600000

-0.169950 0.170250 0.900000

-0.170100 0.170050 0.600000

-0.169700 0.169650 0.400000

1000

1050

1100

Longitud d'ona (λ)

200

250

300

400

Apèndix 5. 2 Format de l’arxiu *.txt de la mesura

File name: Thu_Apr_21_22_36_51_2011_00.dat

Time: Thu Apr 21 22:38:14 2011

Comments: Pr ova de Mesura

Spectrometer Parameters:

Initial Wavelength: 200

Final Wavelength: 900

Interval: 1

Lock-in Parameters:

Filter Timer Constant Control: 2 s

Full-scaled sensitivity control: 500 mV