312
Gestió Remota per Línia Telefònica de Maquines Dispensadores Automàtiques AUTOR: José Antonio Agraz Millat . DIRECTOR: Jesús Brezmes Llecha . DATA: Febrer / 2002.

Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Gestió Remota per Línia Telefònica de MaquinesDispensadores Automàtiques

AUTOR: José Antonio Agraz Millat .DIRECTOR: Jesús Brezmes Llecha .

DATA: Febrer / 2002.

Page 2: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Índex

i

1 Índex

Page 3: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Índex

ii

2 Memòria Descriptiva .................................................................................................... 1

2.1 Introducció .............................................................................................................. 2

2.1.1 Antecedents .................................................................................................. 2

2.1.2 Objectius ....................................................................................................... 2

2.2 Descripció Funcional .............................................................................................. 3

2.2.1 Visió General ................................................................................................ 3

2.2.2 Funcionament ............................................................................................... 4

2.2.3 Placa de Monitoritzacio per Col·locar a la Maquina Dispensadora ............. 4

2.2.4 Placa de Monitoritzacio per PC .................................................................... 6

2.2.5 Placa Interfície Telefònica ............................................................................ 8

2.2.6 Placa d’ Entrades per la Maquina Dispensadora ........................................ 10

2.3 Descripció Circuital .............................................................................................. 12

2.3.1 Placa de monitoritzacio per col·locar a la maquina dispensadora .............. 12

2.3.1.1 El Microcontrolador ........................................................................ 12

2.3.1.2 Latch d’ Adreces ............................................................................. 13

2.3.1.3 Memòria EPROM ........................................................................... 13

2.3.1.4 Entrades .......................................................................................... 14

2.3.1.5 Conversors D/A .............................................................................. 15

2.3.1.6 Etapa Moduladora ........................................................................... 16

2.3.1.7 Amplificador Sumador .................................................................... 18

2.3.1.8 Circuit de Recepció del Senyal Telefònic ....................................... 19

2.3.1.8.1 Etapa amplificadora .................................................................. 20

2.3.1.8.2 Etapa Demoduladora ................................................................ 21

2.3.1.9 Circuit de Visualització ................................................................... 22

2.3.1.10 Regulador de Tensió i Alimentació d’ Emergència ........................ 23

2.3.1.11 Circuit de Control del Mode de Baix Consum del µC .................... 24

2.3.1.12 Connector d’ Entrades ..................................................................... 26

2.3.1.13 Connector Placa Interfície Telefònica ............................................ 26

2.3.2 Placa de Monitoritzacio per PC .................................................................. 28

2.3.2.1 El Microcontrolador ........................................................................ 29

2.3.2.2 Latch d’ Adreces ............................................................................. 29

2.3.2.3 Memòria EPROM ........................................................................... 29

2.3.2.4 Circuit de Decodificacio d’ Adreces ............................................... 29

2.3.2.5 Conversors D/A .............................................................................. 31

2.3.2.6 Etapa Moduladora ........................................................................... 31

Page 4: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Índex

iii

2.3.2.7 Amplificador Sumador .................................................................... 32

2.3.2.8 Circuit de Recepció del Senyal Telefònic ....................................... 33

2.3.2.9 Connector per a la Placa Interfície Telefònica ................................ 34

2.3.3 Placa Interfície Telefònica ...................................................................... 35

2.3.4 Placa d’ Entrades per la Maquina Dispensadora ........................................ 36

2.4 Programa ASM de la Placa de Monitoritzacio ( Maquina Dispensadora ) .......... 37

2.4.1 Funció del Programa .................................................................................. 37

2.4.2 Estructura General del Programa ............................................................... 37

2.4.3 Estructura de la Rutina de Comunicacions Sèrie ....................................... 39

2.5 Programa ASM de la Placa de Monitoritzacio per PC ( Central ) ........................ 40

2.5.1 Funció del Programa .................................................................................. 40

2.5.2 Estructura General del Programa ............................................................... 41

2.5.3 Estructura de la Rutina de Comunicacions Sèrie ....................................... 42

2.6 Programa Visual Basic .......................................................................................... 43

2.6.1 Funció del Programa .................................................................................. 43

2.6.2 Estructura global del programa .................................................................. 44

2.7 Conclusions Finals ................................................................................................ 45

3 Manual d’ Usuari ........................................................................................................ 46

3.1 Introducció ............................................................................................................ 47

3.2 Requeriments del Sistema ..................................................................................... 47

3.3 Visió Global del Sistema ....................................................................................... 48

3.4 Instal·lació de les Plaques ..................................................................................... 50

3.4.1 Instal·lació de les Plaques que van a la Central .......................................... 50

3.4.2 Instal·lació de les Plaques que van a les Maquines Dispensadores ............ 53

3.5 Configuració del Hardware ................................................................................... 56

3.5.1 Configuració de les Plaques que van a la Central ..................................... 56

3.5.2 Configuració de les Plaques que van a les Maquines Dispensadores ........ 56

3.5.2.1 Configuració de la Placa de Monitoritzacio .................................... 56

3.5.2.2 Configuració de la Placa Interfície Telefònica ............................... 57

3.5.2.3 Configuració de la Placa d’ Entrades .............................................. 57

3.5.2.4 Introducció de les Dades a la Memòria del Microcontrolador ....... 58

3.6 Instal·lació del Software ........................................................................................ 60

3.7 Configuració del Software .................................................................................... 60

3.8 Posta en Marxa del Sistema .................................................................................. 61

Page 5: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Índex

iv

3.8.1 Quadre Resum de la Configuració de la Placa de Monitoritzacio ............... 66

3.8.2 Quadre Resum de la Configuració de la Placa de Monitoritzacio per PC .... 67

3.9 Descripció de l’ us del Software ........................................................................... 68

3.9.1 Explicació de l’ Interfície del Programa ..................................................... 68

3.9.1.1 Descripció dels Menús .................................................................... 69

3.9.1.2 Funcionament del Programa ........................................................... 71

3.9.2 Com Realitzar Operacions amb la Base de Dades ..................................... 73

3.9.2.1 Introducció d’ Informació a la Base de Dades ................................ 75

3.9.2.1.1 Introducció d’ un Tipus de Maquina a la Base de Dades ......... 75

3.9.2.1.2 Edició d’ un Tipus de Maquina ................................................ 76

3.9.2.1.3 Esborrar un Tipus de Maquina ................................................. 76

3.9.2.1.4 Introducció de l’ informació d’ una Maquina ........................... 76

3.9.2.1.5 Edició de l’ informació d’ una Maquina .................................. 78

3.9.2.1.6 Esborrar l’ informació d’ una Maquina .................................... 78

3.9.3 Com Comprovar si ha Trucat Alguna Maquina ......................................... 79

3.9.4 Com Interrogar a una o mes Maquines ...................................................... 80

4 Memòria de Càlcul ..................................................................................................... 83

4.1 Placa de Monitoritzacio ( Maquina Dispensadora ) .............................................. 84

4.1.1 Circuit del Regulador de Tensió ................................................................. 84

4.1.2 Circuit de Control del Mode de Baix Consum del µC ............................... 86

4.1.2.1 Càlcul de l’ Histèresi del Comparador ............................................ 86

4.1.2.2 Càlcul de la Polarització del Diode Zener .......................................88

4.1.2.3 Càlcul de la Xarxa de Retard .......................................................... 89

4.1.2.4 Càlcul de la Durada del Reset del Microcontrolador ..................... 90

4.1.3 Circuit de l’ Amplificador Sumador .......................................................... 91

4.1.4 Circuit Modulador ..................................................................................... 94

4.1.4.1 Càlcul de la freqüència del multivibrador ....................................... 94

4.1.4.2 Càlcul del filtre passa-baix .............................................................. 97

4.1.5 Circuit Demodulador .................................................................................. 97

4.2 Placa de Monitoritzacio per PC ............................................................................. 99

4.2.1 Amplificador Sumador ............................................................................... 99

4.2.1.1 Càlcul de la Polarització dels Optoacopladors .............................. 100

4.2.2 Circuit de Recepció del Senyal Telefònic ................................................ 101

Page 6: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Índex

v

4.2.2.1 Càlcul de la Polarització dels Optoacopladors ...................................101

4.3 Placa Interfície Telefònica .................................................................................. 103

4.3.1 Càlcul del Circuit Detector de Trucades .................................................. 103

4.3.2 Circuit de Control del Relé ....................................................................... 104

4.4 Placa d’ Entrades ................................................................................................. 105

4.4.1 Càlcul del Comparador amb Histèresi ...................................................... 105

4.5 Programació ........................................................................................................ 107

4.5.1 Subrutina de Marcacio DTMF ................................................................. 107

4.5.2 Comunicació Sèrie ................................................................................... 108

5 Plànols ........................................................................................................................ 110

5.1 Esquemes ............................................................................................................. 111

5.1.1 Placa de Monitoritzacio ............................................................................ 111

5.1.2 Placa de Monitoritzacio per PC ................................................................ 114

5.1.3 Placa d’ Entrades ...................................................................................... 116

5.1.4 Placa Interfície Telefònica ........................................................................ 117

5.2 Fotolits ................................................................................................................. 118

5.2.1 Placa de Monitoritzacio Cara Components .............................................. 118

5.2.2 Placa de Monitoritzacio Cara Soldadures ................................................ 119

5.2.3 Placa de Monitoritzacio per PC Cara Components .................................. 120

5.2.4 Placa de Monitoritzacio per PC Cara Soldadures .................................... 121

5.2.5 Placa d’ Entrades Cara Components ........................................................ 122

5.2.6 Placa d’ Entrades Cara Soldadures ........................................................... 123

5.2.7 Placa Interfície Telefònica Cara Components .......................................... 124

5.2.8 Placa Interfície Telefònica Cara Soldadures ............................................ 125

5.3 Serigrafia Components ........................................................................................ 126

5.3.1 Placa de Monitoritzacio ............................................................................ 126

5.3.2 Placa de Monitoritzacio per PC ................................................................ 127

5.3.3 Placa d’ Entrades ...................................................................................... 128

5.3.4 Placa Interfície Telefònica ........................................................................ 129

5.4 Cables de Connexió ............................................................................................. 130

5.4.1 Cables de Connexió de les Plaques que van a les Maquines Dispensadores ... 130

5.4.2 Cable de Connexió de les Plaques que van a la Central ........................... 131

Page 7: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Índex

vi

6 Pressupost .................................................................................................................. 132

6.1 Amidaments ........................................................................................................ 133

6.1.1 Amidaments Placa de Monitoritzacio ...................................................... 133

6.1.2 Amidaments Placa de Monitoritzacio per PC .......................................... 136

6.1.3 Amidaments Placa Interfície Telefònica .................................................. 138

6.1.4 Amidaments Placa d’ Entrades ................................................................. 140

6.1.5 Programa ASM per la Placa de Monitoritzacio ........................................ 141

6.1.6 Programa ASM per la Placa de Monitoritzacio per PC ............................ 141

6.1.7 Programa Visual Basic ............................................................................. 141

6.1.8 Disseny de Prototipus ...............................................................................141

6.2 Preus Elementals ................................................................................................. 142

6.2.1 Placa de Monitoritzacio ............................................................................ 142

6.2.2 Placa de Monitoritzacio per PC ................................................................ 144

6.2.3 Placa Interfície Telefònica ........................................................................ 146

6.2.4 Placa d’ Entrades ...................................................................................... 148

6.2.5 Programa ASM per la Placa de Monitoritzacio ........................................ 149

6.2.6 Programa ASM per la Placa de Monitoritzacio per PC ............................ 149

6.2.7 Programa Visual Basic ............................................................................. 149

6.2.8 Disseny de Prototipus ............................................................................... 149

6.3 Aplicació de Preus ............................................................................................... 150

6.3.1 Placa de Monitoritzacio ............................................................................ 150

6.3.2 Placa de Monitoritzacio per PC ................................................................ 153

6.3.3 Placa Interfície Telefònica ........................................................................ 155

6.3.4 Placa d’ Entrades ...................................................................................... 157

6.3.5 Programa ASM per la Placa de Monitoritzacio ........................................ 158

6.3.6 Programa ASM per la Placa de Monitoritzacio per PC ............................ 158

6.3.7 Programa Visual Basic ............................................................................. 158

6.3.8 Disseny de Prototipus ............................................................................... 158

6.4 Resum del Pressupost .......................................................................................... 159

6.4.1 Pressupost d’ Execució ............................................................................. 159

6.4.1.1 Preu Base PC ................................................................................. 159

6.4.1.2 Preu per cada Maquina Dispensadora ........................................... 159

6.4.1.3 Total Pressupost d’ Execució ....................................................... 159

6.4.2 Pressupost d’ Execució per Contracte ...................................................... 160

6.4.3 Pressupost de Licitació ............................................................................. 160

Page 8: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Índex

vii

7 Plec de Condicions .................................................................................................... 161

7.1 Condicions Generals ........................................................................................... 162

7.1.1 Introducció ................................................................................................ 162

7.1.2 Reglament i Normes ................................................................................. 162

7.1.3 Materials ................................................................................................... 162

7.1.4 Execució del Projecte ............................................................................... 163

7.1.5 Interpretació i Desenvolupament .............................................................. 163

7.1.6 Treballs Complementaris ......................................................................... 164

7.1.7 Treballs Complementaris ......................................................................... 164

7.1.8 Realització Defectuosa ............................................................................. 164

7.1.9 Mitjans Auxiliars ...................................................................................... 165

7.1.10 Recepció del Projecte ............................................................................... 165

7.1.11 Responsabilitats ........................................................................................ 165

7.1.12 Fiança ....................................................................................................... 166

7.2 Condicions Tècniques ......................................................................................... 166

7.2.1 Condicions de les Plaques de C.I. ............................................................ 166

7.2.2 Condicions del Components Electrònics .................................................. 167

7.2.3 Condicions del Muntatge de Plaques ....................................................... 167

7.3 Condicions Facultatives ...................................................................................... 168

7.3.1 Normes a Seguir ....................................................................................... 168

7.3.2 Personal .................................................................................................... 168

7.3.3 Reconeixements i Assajos Previs ............................................................. 169

7.3.4 Assajos ...................................................................................................... 169

7.3.5 Assajos d’ Aparellatge .............................................................................. 169

7.4 Condicions Econòmiques .................................................................................... 170

7.4.1 Preus ......................................................................................................... 170

7.4.2 Abonament del Projecte ........................................................................... 170

7.4.3 Revisió de Preus ....................................................................................... 170

7.4.4 Penalitzacions ........................................................................................... 170

7.4.5 Contracte .................................................................................................. 171

7.4.6 Rescissió del Contracte ............................................................................ 171

7.4.7 Liquidació en cas de Rescissió del Contracte .......................................... 172

Page 9: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Índex

viii

8 Resum del Projecte ................................................................................................... 173

9 Annexes ...................................................................................................................... 175

9.1 Llistats de Programes .......................................................................................... 176

9.1.1 Programa ASM Placa Monitoritzacio ...................................................... 176

9.1.2 Programa ASM Placa Monitoritzacio per PC .......................................... 206

9.1.3 Programa Visual Basic ............................................................................. 233

9.1.3.1 Form1 ............................................................................................ 234

9.1.3.2 Formulari1 ..................................................................................... 237

9.1.3.3 Formulari2 ..................................................................................... 254

9.1.3.4 Formulari3 ..................................................................................... 258

9.1.3.5 Formulari4 ..................................................................................... 264

9.1.3.6 Formulari5 ..................................................................................... 269

9.1.3.7 Formulari6 ..................................................................................... 272

9.1.3.8 Formulari7 ..................................................................................... 280

9.1.3.9 Formulari8 ..................................................................................... 280

9.1.3.10 Mòdul Declaracions ...................................................................... 281

9.1.3.11 Mòdul Funcions ............................................................................ 283

9.1.3.12 Mòdul Io32 .................................................................................... 292

9.1.3.13 Mòdul ISA .................................................................................... 294

9.1.3.14 Modul2 .......................................................................................... 300

9.1.3.15 Modul3 .......................................................................................... 301

9.1.3.16 Mòdul WinIO ................................................................................ 302

9.2 Informació Tècnica dels Components ................................................................. 303

Circuit Telefònic TEA 1064

Page 10: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

1

2 Memòria Descriptiva

Page 11: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

2

2 Memòria Descriptiva

2.1 Introducció

2.1.1 Antecedents

Donat el gran numero de maquines dispensadores de diferents productes que cadaempresa té instal·lades, sorgeix la necessitat de trobar una forma barata de realitzar el seumanteniment. El sistema que s’ ha dissenyat podria ser molt útil per tal de resoldre aquestaproblemàtica, cal dir que serveix per reduir els viatges ja que el tècnic només visitarà lesmaquines que ho requereixen i no totes com ho havia de fer abans.

L’ idea d’ aquest projecte va sorgir del professor Jesús Brezmes Llecha que em vaproposar aquesta idea i es va convertir en un Projecte de Final de Carrera amb la datad’ inici 30 d’ abril de 1999.

2.1.2 Objectius

Per tant, l’ objectiu d’ aquest projecte es dissenyar un sistema barat que permeti lamonitoritzacio d’ aquestes maquines dispensadores a traves de la línia telefònica, per tald’ esbrinar el seu estat i actuar en conseqüència.

La vigilància de les maquines dispensadores es farà a traves d’ un P C que es troba ala central de la empresa, el qual disposarà d’ un sistema que permet connectar-se a travesde la línia telefònica amb els circuits electrònics situats a les maquines dispensadores.D’ aquesta forma, amb el programa Gestió Remota, es podrà saber en quin estat es troba lamaquina dispensadora.

El sistema ha de permetre:

• Gestionar amb una base de dades el manteniment

• Interrogar l’ estat d’ una o un conjunt de maquines

• Rebre notificacions o alarmes de les maquines

• Sigui fàcil d’ utilitzar

Page 12: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

3

CENTRAL

PC

2.2 Descripció Funcional

2.2.1 Visió General

El sistema de Gestió Remota de maquines dispensadores disposarà dels següentsmòduls:

• Una placa de monitoritzacio per col·locar a cada maquina dispensadora.

• Una placa de monitoritzacio per PC per col·locar en la central.

• Una placa interfície telefònica per a la central i una altra per a cada maquinadispensadora.

• Una placa d’ entrades per cada maquina dispensadora.

L’ esquema general del sistema de Gestió Remota es el que es mostra a la següentfigura:

Figura 1. Esquema general del sistema de Gestió Remota

Placa deMonitoritzacio

per PC

PlacaInterfície

Telefònica

Maquina Dispensadora 1

PlacaInterfície

Telefònica

Placa deMonitoritzacio

Placad’ Entrades

Líniatelefònica

Maquina Dispensadora 9999

PlacaInterfície

Telefònica

Placa deMonitoritzacio

Placad’ Entrades

Bus ISA

Programa GestióRemota 1.0

Page 13: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

4

2.2.2 Funcionament

Com es pot veure en el esquema general, a cada maquina s’ instal·la uns mòduls pertal que si falta algun producte es posi amb contacte amb la central. A traves de la líniatelefònica, es comuniquen els mòduls que hi ha a la maquina dispensadora amb els que hiha a la central i que estan connectats amb un PC. Cada cop que es genera una alarma, en elordinador que es troba a la central, es mostra l’ estat de la maquina dispensadora en elprograma per a Windows Gestió Remota 1.0. Des d’ aquest programa es pot interrogar unao mes maquines per saber en quin estat es troben.

Sense aquest sistema, el personal que s’ encarrega del manteniment de les maquines,ha de fer revisions periòdiques a totes elles. Hi haurà casos en que hi ha maquines quegairebé no els fa falta cap producte i haurà altres casos en que feia dies que una o mesmaquines s’ havien quedat sense algun producte.

Amb el sistema Gestió Remota, es pot saber quan falta un producte i llavors elstècnics solament hauran d’ anar aquelles maquines que els hi falta alguna cosa, estalviant-seel tenir que mirar totes les maquines i així es millora el servei, perquè es pot tornar a carregarles maquines que els hi falta alguna cosa de forma ràpida. D’ aquesta forma s’ evita alsclients de quedar-se sense el producte que volien perquè s’ ha esgotat i encara no hantornat a ficar.

2.2.3 Placa de Monitoritzacio per Col·locar a la Maquina Dispensadora

Es la placa principal, conte les entrades que s’ encarreguen de vigilar l’ estat de lamaquina dispensadora, de les comunicacions sèrie, d’ introduir les dades ( identificador dela maquina dispensadora i el numero de telèfon de la central ) i de controlar els circuits quegeneren la senyal per marcar el numero de telèfon mitjançant el sistema de tons DTMF.

Les característiques principals d’ aquesta placa son:

• Microcontrolador de 8 bits 80C31 a 12 MHz.

• Memòria EPROM de 32KB.

• Entrades digitals ( 12 línies ).

• Tensió d’ alimentació compresa entre 9 i 20 V

• Connector per la placa d’ entrades.

• Connector per la placa interfície telefònica.

Page 14: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

5

L’ esquema general de la placa es el següent:

Figura 2. Esquema general de la placa

Aquest bloc rep les dades de la maquina dispensadora a traves de la placad’ entrades. El microcontrolador s’ encarrega de llegir les entrades, mira el valor de lesentrades que havia obtingut anteriorment i si una de les entrades experimenta un flancascendent amb relació amb el valor anterior, genera la senyal de marcacio DTMF, pertrucar a la central i comença a transmetre les dades via sèrie gràcies a la placa interfícietelefònica. També vigila si hi ha alguna trucada, si hagués alguna, despenja i comença atransmetre les dades de les entrades via sèrie.

Mitjançant uns polsadors, es pot realitzar el Reset de la placa o introduirl’ identificador i el numero de telèfon de la central a la memòria del microcontrolador.

La placa disposa d’ un display de set segments que mostra les dadesemmagatzemades i com ha anat la comunicació via sèrie amb la central, això últim es moltútil a l’ hora de configurar el sistema.

Page 15: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

6

2.2.4 Placa de Monitoritzacio per PC

Aquesta placa es col·loca en un PC que es troba a la central i es comunica ambl’ aplicació per a Windows Gestió Remota. Per connectar-se amb la línia telefònica utilitzauna placa interfície telefònica.

Les característiques principals d’ aquesta placa son:

• Microcontrolador de 8 bits 80C31 a 12 MHz.

• Memòria EPROM de 32KB.

• Connector per a bus ISA de 8 bits.

• Connector per la placa interfície telefònica.

L’ esquema general de la placa es el següent

Figura 3. Esquema General de la Placa

Page 16: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

7

Aquesta placa esta pendent de si rep el senyal de que hi ha una trucada o si repalguna ordre de l’ aplicació Gestió Remota. Si detecta que hi ha una trucada, despenja iemet un senyal per indicar a la placa que hi ha a la maquina dispensadora que potcomençar a enviar les dades via sèrie. Un cop rebudes les dades, les envia al programaGestió Remota per tal que les mostri. Des de l’ aplicació, es pot enviar el numero detelèfon de la maquina dispensadora que volem interrogar a la placa, llavors aquesta realitzala marcacio del numero i desprès s’ espera a rebre un senyal ( per tal de sincronitzar-se ),abans de passar a rebre les dades de la maquina dispensadora. Com en el cas anterior uncop que ha rebut les dades les envia al programa per que les mostri.

Page 17: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

8

2.2.5 Placa Interfície Telefònica

La placa interfície telefònica es col·loca tant a les maquines dispensadores com a lacentral.

Les característiques principals de la placa son:

• Utilització del circuit integrat TEA 1061 ( circuit de transmissió telefònicaamb interfície de marcacio ).

• Connector per la placa de monitoritzacio.

• Tensió d’ alimentació de 5V per al relé que s’ encarrega de connectar elcircuit a la línia telefònica.

L’esquema de connexió d’ aquesta placa es la següent:

Figura 4. Esquema de Connexió de la Placa Interfície Telefònica

Placa Interfície Telefònica

GND

Placa deMonitoritzacio

LíniaTelefònica

Page 18: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

9

La placa interfície telefònica permet enviar i rebre senyals a traves de la líniatelefònica. Disposa d’ un detector de trucades i amb un relé pot connectar-se a la líniatelefònica per tancar el bucle d’ abonat i així poder rebre una trucada o poder realitzar lamarcacio d’ un numero per realitzar una comunicació.

Page 19: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

10

2.2.6 Placa d’ Entrades per la Maquina Dispensadora

Aquesta placa es opcional, es a dir, si es vol monitoritzar entrades o senyals digitals,es pot connectar directament amb la placa de monitoritzacio que hi ha en la maquinadispensadora. Però si els senyals son analògics, llavors si que es necessària.

Les característiques d’ aquesta placa son:

• Entrades analògiques ( 12 línies ).

• Connector per la placa de monitoritzacio.

• Tensió d’ alimentació de 5V.

L’ esquema general de la placa es el següent:

Figura 5. Esquema General de la Placa d’ Entrades

Comparador ambHistèresi 1

Comparador ambHistèresi 12

1-2+ - 3-4 5-6 7-8 9-10 11-12

Entrades de la Placa

Connector Placa deMonitoritzacio

GND VCC

Page 20: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

11

Aquesta placa s’ encarrega d’ adaptar els senyals analògics de les entrades iconvertir-los a nivells digitals TTL per tal que siguin compatibles amb les entrades de laplaca de monitoritzacio.

Page 21: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

12

2.3 Descripció Circuital

2.3.1 Placa de monitoritzacio per col·locar a la maquina dispensadora

2.3.1.1 El Microcontrolador

El Microcontrolador escollit per realitzar aquesta placa es el 80C31. S’ ha escollitaquest model perquè es molt barat i a mes es disposa de les eines de desenvolupament perpoder depurar tant hardware com software.

Es tracta d’ un microcontrolador de 8 bits i les seves característiques son lessegüents:

• CPU de 8 bits.

• Processador boolea ( operació sobre bits ).

• 128 bytes útils per al usuari i 256 bytes incloent el SFR.

• Espai de memòria de 64K per a programa extern.

• Espai de memòria de 64K per a dades extern.

• Dos timers.

• Comunicació asíncrona full-duplex.

• 5 fonts d’ interrupció amb nivells de prioritat.

• 2 interrupcions externes.

• 2 interrupcions dels timers.

• 1 interrupció de la comunicació sèrie.

• 4 ports d’ entrada/sortida programables.

• Baix consum ( Power Down ) en les versions CMOS.

• Oscil·lador intern.

Page 22: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

13

2.3.1.2 Latch d’ Adreces

En aquest microcontrolador, el bus de dades i la part baixa del bus d’ adrecescomparteixen les mateixes línies. Per tant es necessari separar-los. Per aquesta finalitat esdisposa un Latch que capturi les adreces i deixi les línies disponibles per a les dades. Quanapareixen les adreces, el microcontrolador activa el senyal ALE ( Adress Latch Enable ),aquest senyal s’ utilitza per realitzar el CLK del Latch i capturar així les adreces. A lafigura següent es mostra la connexió d’ aquest Latch.

VCC

A[0..7]

A6A7

A5A4

A0

A3

A1A2

P0_7

P0_0

P0_[0..7]

P0_3P0_4

P0_1

P0_5P0_6

P0_2

U474LS573

D12

D23

D34

D45

D56

D67

D78

D89

C11

OC1

Q119

Q218

Q317

Q416

Q515

Q614

Q713

Q812

VC

C

20

GN

D

10

A0:7P0:7

ALE

Figura 6. Connexió del Latch d’ adreces

2.3.1.3 Memòria EPROM

La memòria EPROM, esta sempre activada i el seu accés es controla amb el piu OE( Output Enable ) .

El senyal PSEN ( Program Store Enable ) solament s’ activa quan s’ ha d’ accedir ala memòria de programa externa. Llavors amb aquest senyal que esta connectat al piu OEde la memòria EPROM, s’ habilita les sortides per tal de poder llegir el codi del programa.

Page 23: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

14

VCC

A[0..7]

A7

A4

A1A2

A0

A6

A3

A5

P2_0

P2_4

P2_1P2_2

P2_[0..7]

P2_5P2_6

P2_3

P0_4

P0_7P0_6P0_5

P0_0

P0_[0..7]

P0_3P0_2P0_1

U527256

A010

A19

A28

A37

A46

A55

A64

A73

A825

A924

A1021

A1123

A122

A1326

A1427

CE20

OE22

VPP1

O011

O112

O213

O315

O416

O517

O618

O719

VC

C

28

GN

D

14

P2[0..6]

A[0..7]

PSEN

P0[0..7]

Figura 7. Connexió de la Memòria EPROM

2.3.1.4 Entrades

Les entrades 0-3, es llegeixen a traves de la part baixa del port 1, en canvi lesentrades 4-11, per llegir-les s’ ha de realitzar una lectura de la memòria externa de dadesper tal que se activi el senyal de lectura per dispositius externs RD del microcontrolador iaixí permetre que el buffer 74LS245 deixi passar les entrades al port 0. Encara que el74LS245 es un buffer bidireccional, en aquest circuit actua com un buffer d’ una soladirecció amb sortida triestat ja que el piu que controla la direcció es troba a nivell baix deforma permanent.

VCC VCC

IN[0..7]

P1_1

IN1

P1_2P1_3

P1_0

IN2

IN6IN5

IN7

IN3IN4

IN0 IN6

IN4

IN0

IN2IN3

IN5

IN7

IN1

P0_5

P0_7

P0_1

P0_4P0_3P0_2

P0_0

P0_6

JP1

PLACA D' ENTRADES

123456789

1011121314

U274LS245

A12

A23

A34

A45

A56

A67

A78

A89

G19

DIR1

B118

B217

B316

B415

B514

B613

B712

B811

VC

C

20

GN

D

10

P1[0..3]

RD

P0[0..7]

Figura 8. Esquema de les Entrades

Page 24: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

15

2.3.1.5 Conversors D/A

Els conversors D/A tenen la funció de generar el parells de tons necessaris perrealitzar la marcacio DTMF.

Amb un Latch 74HC574 i un conjunt de resistències de precisió ( tolerància del 1 % )amb valors de 10 K i 20 K, s’ han realitzat dos conversors D/A R-2R de 3 bits cadascun.

Per tal que el conversors D/A funcionin correctament, es important que el Latchescollit sigui una versió CMOS, ja que les versions bipolars no transmeten el nivell altcorrectament en aquest tipus de muntatge.

Les entrades del Latch estan connectades al port 0 del microcontrolador i el senyal deClock del Latch esta connectat al senyal d’ escriptura en dispositius externs WR. D’ aquestaforma, quan es fa una escriptura a la memòria de dades externa amb l’ instrucció MOVX,s’ accedeix al conversors D/A.

Dels 8 bits que te el Latch, només sis s’ utilitzen per implementar els conversorsD/A, un dels altres bits ( bit 3 ) s’ utilitza per habilitar el senyal que realitza la funció deportadora per a les comunicacions via sèrie i l’ últim bit no s’ utilitza per a res.

Page 25: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

16

L’ esquema dels conversors D/A es el següent:

VCC

P0_4

P0_6P0_7

P0_0

P0_3P0_2

P0_5

P0_1BUS0

BUS4

BUS6

BUS2

BUS2

BUS5

BUS1

BUS3

BUS5

BUS3

BUS6

BUS4

BUS1

BUS0

BUS[0..6]

R3210 K

12

R2020 K

1 2

R3720 K

1 2

R2110 K

12

R1620 K

1 2

R2320 K

1 2

R1810 K

12

R3420 K

1 2

R2610 K

12

R2920 K

1 2

R3610 K

12

R3910 K

12

U674HC574

D12

D23

D34

D45

D56

D67

D78

D89

C11

OC1

Q119

Q218

Q317

Q416

Q515

Q614

Q713

Q812

VC

C

20

GN

D

10

P0[0..7]

PE

Sortida 1

Sortida 2

WR

Figura 9. Esquema dels conversors D/A R-2R

2.3.1.6 Etapa Moduladora

Esta formada per tres portes NAND trigger Schmitt. Amb una d’ aquestes portes esrealitza un multivibrador que genera la senyal portadora amb una freqüència de 2400 Hz.Amb la resta de portes es realitza un circuit que solament deixa passar la portadora si lasortida del port sèrie TXD es troba activa a nivell baix ( es transmeten dades via sèrie ) o elsenyal PE es troba actiu a nivell baix.

Quan es transmeten dades via sèrie, la senyal que s’ obté a la sortida d’ aquestaetapa, es la portadora modulada en amplitud per la sortida del port sèrie delmicrocontrolador. Desprès amb un filtre passa-baix de primer ordre s’ intenta eliminar elsharmònics del senyal i atenuar-la una mica per evitar saturar a la següent etapa.

Page 26: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

17

El senyal PE ( Portadora Enable ), s’ utilitza per generar un pols de senyal queserveix per la sincronització de les plaques de monitoritzacio quan es realitza lacomunicació a traves de la línia telefònica.

L’esquema de l’ etapa moduladora es el següent:

R48

10 K

1 2

R4633 K

1 2

C3033 nF

12

C3122 nF

12

U11D

4093

12

13

11

U11A4093

1

23

U11B

4093

5

64

TXD

PE

Sortida Modulador

Figura 10. Esquema Etapa Moduladora

Page 27: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

18

2.3.1.7 Amplificador Sumador

Aquesta part esta formada per un amplificador operacional quàdruple LM 324. En lafigura següent es pot apreciar l’ esquema d’ aquest muntatge:

VCC

R4310 K

12C36

470 nF1 2

C2015 nF

1 2

R3010 K

1 2

R4210 K

1 2

R4410 K

1 2

R2510 K

1 2

R1710 K

1 2

R384K7

12

C3533 nF

12

R2422 K

12

R4510 K

1 2

C2510 nF

1 2

C27470 nF

1 2

R2710 K

1 2

C34470 nF

12

R286K8

1 2

R1310 K

1 2

C296.8 nF

1 2

R710 K

1 2

C22470 nF

1 2

C2610 nF

1 2

C32470 nF

1 2

+

- U8DLM324

12

1314

+

- U8BLM324

5

67

+

- U8ALM324

3

21

+

- U8CLM324

10

98

Entrada 1

Entrada 2

Entrada Senyal Modulada

Sortida

Figura 11. Esquema de l’ Amplificador Sumador

La funció d’ aquesta part es la de sumar els senyals que provenen dels dos conversorsD/A i de l’ etapa moduladora. Cadascuna dels senyals passa a traves d’ un amplificadorinversor que actua com a filtre passa-baix. Cada senyal te la seva pròpia freqüència de tall.La sortida dels tres filtres van a parar a un amplificador sumador inversor que també actuacom a filtre passa-baix. La sortida d’ aquest amplificador sumador va cap a un filtrepassa-baix de primer ordre i després va cap al connector de la placa interfície telefònica.

Page 28: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

19

El filtres passa-baixos s’ han ficat per reduir els harmònics del senyal generats ambels conversors D/A i també de la senyal que prové de l’ etapa moduladora, per tal que elstres senyals s’ assemblin el màxim possible a un senyal sinusoï dal.

Per aquest circuit, s’ ha escollit el LM 324 perquè es un amplificador operacionalquàdruple d’ us general que a mes funciona correctament amb un tensió simple de 5 V.

2.3.1.8 Circuit de Recepció del Senyal Telefònic

Aquest bloc esta format per un amplificador operacional dual i tres de portes NANDtrigger Schmitt.

Es pot dividir aquest bloc en dues parts funcionals diferents:

• Etapa amplificadora: s’ encarrega d’ amplificar el senyal procedent de laplaca interfície telefònica.

• Etapa demoduladora: agafa com a entrada la senyal de l’ etapa anterior, laconverteix a digital i després realitza la demodulacio per obtindré el senyalsèrie de 128 bps.

Page 29: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

20

2.3.1.8.1 Etapa amplificadora

Esta formada per un seguidor de tensió que te la funció d’ adaptar l’ impedancia,seguit d’ un amplificador inversor de guany variable. El guany es pot ajustar entre 1 i 101,es a dir entre 0 i uns 40 dB.

La sortida d’ aquesta etapa es connectada a l’ etapa demoduladora.

En la figura següent es pot apreciar l’ esquema d’ aquest muntatge:

VCC VCCVCC VCC

R51100 K

13

2

R351 K

1 2

R414K7

12

R504K7

12

R4910 K

12

R4010 K

12

C24100 nF

12

+

-

U12BLM358

5

67

84

R311 K

1 2

C28100 nF

1 2+

-

U12ALM358

3

21

84

EntradaSortida

Figura 12. Esquema Etapa Amplificadora

Page 30: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

21

2.3.1.8.2 Etapa Demoduladora

Té com a entrada el senyal de sortida de l’ etapa amplificadora. El senyal passa a unaporta NAND trigger Schmitt per convertir el senyal analògic a digital abans de realitzar lademodulacio del senyal.

La demodulacio del senyal es realitza mitjançant una bàscula monoestableredisparable. La seva constant de temps RC es igual al període de la senyal portadora.D’ aquesta forma s’ aconsegueix obtindré el senyal sèrie de 128 bps.

En la figura següent es pot apreciar l’ esquema d’ aquest muntatge:

VCC

R472M2

12

U13D4093

12

13

11

U13C4093

891

0

R5210 K

1 2

C33220 pF

12

U11C4093

891

0

D71N4148

1 2

Sortida Demodulador

Entrada Demodulador

Figura 13. Esquema de l’ Etapa Demoduladora

Page 31: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

22

2.3.1.9 Circuit de Visualització

Esta format per un decodificador BCD a 7 segments amb Latch ( 4511 ) i un display7 segments amb càtode comú.

Les quatre entrades del decodificador BCD a 7 segments estan connectades alsquatre bits menys significatius del port 2 i el piu LE esta connectat al senyal d’ escripturaper a dispositius externs WR del microcontrolador.

El piu LE del decodificador BCD a 7 segments, mentre estigui a nivell alt mantél’ informació i quant esta a nivell baix permet que es visualitzi la xifra que hi ha a les sevesentrades. Si la xifra que hi ha a les entrades es superior a 9, no mostra res en el display.

El piu BI del decodificador BCD a 7 segments, s’ activa a nivell baix i provoca queno mostri res en el display. Com aquest piu esta connectat al bit P1.6, controlant el nivelld’ aquest bit, es pot habilitar o deshabilitar la visualització.

Per tant solament es pot actualitzar la xifra del display quan la senyal d’ escriptura enmemòria externa esta activa. La xifra que s’ ha de visualitzar en el display, es carrega alregistre P2 i després es carrega al acumulador el valor inicial que ha de tindré elsconversors D/A i el bit PE. Aleshores es realitza una escriptura a la memòria de dadesexterna amb l’ instrucció MOVX A,@R0 per tal que l’ adreça sigui de 8 bits i el contingutdel registre P2 pugui passar al port 2.

En la figura següent es pot apreciar l’ esquema d’ aquest muntatge:

VCC

P2_0

P2_3

P2_1P2_2

R331 K

12

DISPLAY

1413121110987

654321

U94511

A7

B1

C2

D6

LT3

BI4

LE5

A13

B12

C11

D10

E9

F15

G14

P2[0..3]

WR

P1.6

Figura 14. Esquema del Circuit de Visualització

Page 32: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

23

2.3.1.10 Regulador de Tensió i Alimentació d’ Emergència

Aquest bloc s’ encarrega d’ estabilitzar la tensió d’ alimentació i de separar la tensiód’ alimentació del microcontrolador de la de la resta del circuit. Això es fa perquè en el casque falti la tensió, sigui únicament el microcontrolador el que s’ alimenti amb piles obateries per tal de mantindré el contingut de la seva memòria RAM. A la següent figura esmostra l’ esquema del circuit:

VCC

C13100 nF1

2

R1

220

1 2

JP3

BATERIA

12

JP6

VCC

12

+ C121000 uF

12

R2500

13

2

R22330

12

C14100 nF

12

D21N4148

12

JP4

VCC_MICRO

12

D11N4148

1 2

D31N4004

12

C17100 nF

12

U1LM317

VIN3

AD

J1

VOUT2

+ C161000 uF

12

+ C151000 uF

12

JP5

ALIMENTACIO

12

Tensió de Referència

Vcc Micro

Figura 15. Esquema del Regulador de Tensió i Alimentació d’ Emergència

El regulador de tensió utilitzat es un LM317 amb encapsulat TO220, la seva tensióde sortida s’ ajusta per compensar la caiguda de tensió que provoca el diodes. Per tal deque funcioni correctament i pugui dissipar tota la calor que genera, el regulador de tensióLM 317 ha de portar un dissipador de Rth 4K/W.

Per realitzar la commutació d’ alimentació del microcontrolador quan falli el correntelèctric, s’ utilitza un parell de diodes. Fins que la tensió de sortida del regulador no siguiinferior a la tensió de les piles o bateries, el microcontrolador s’ alimenta de la tensió delregulador però quan aquesta tensió sigui inferior o sigui nul·la, el microcontroladorpassa a alimentar-se de les piles o bateries.

Page 33: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

24

2.3.1.11 Circuit de Control del Mode de Baix Consum del µC

Aquest circuit s’ encarrega de reduir el consum del microcontrolador quan esprodueix una baixada de la tensió d’ alimentació per a que es pugui alimentar amb la tensióde dues piles o bateries i així mantenir l’ informació de la seva memòria RAM quan esprodueix un tall de subministrament elèctric.

La seva funció es la de controlar el piu INT0 i el Reset del microcontrolador, pergenerar una interrupció externa ( al activar el piu INT0 ) i fer que el microcontroladoractivi el Bit PD del registre PCON per passar al mode de baix consum, quan la tensió dereferència baixi per sota del límit prefixat.

En el mode baix consum, es para el oscilador-rellotge del microcontrolador. Amb elrellotge parat, totes les funcions es troben detingudes, però l’ informació de la RAMinterna es manté. En aquest mode, la tensió d’ alimentació VCC pot ser reduï da fins a 2 V.Però s’ ha de tindré en compte de restaurar la tensió abans de que aquest mode finalitziamb un Reset per Hardware.

Després quan la tensió torna i la tensió de referència puja per sobre d’ un cert valorque també es pot fixar, llavors el circuit realitza el Reset del microcontrolador per quepassi al mode normal i torni a executar el programa.

El seu esquema es mostra en la següent figura:

VCC

VCC

VCC

VCCVCC VCC

D51N4148

12

R111 K

13

2

R4120

12

R510 K

12

R910 K

12

R81 K

1 2R610 K

12

R3 470K13

2

R1910 K

12

D41N4148 1

2

+

- U7LM311

2

37

5 64 1

8

C23220 nF

12

D63V3

12

R12100 K

1 2

SW3

RESET

12

R1010 K

12

U13A

4093

1

23

U13B

4093

5

64

C21220 nF

1 2

Tensió de Referència

Reset

P3.2

Figura 16. Circuit de Control del Mode de Baix Consum del Microcontrolador

Page 34: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

25

Aquest circuit es bassa en un comparador amb histèresi i dues portes NAND triggerSchmitt.

La tensió de referència del comparador s’ ha estabilitzat amb un diode zener de 3,3Vi mitjançant una resistència variable es pot variar la tensió que s’ aplica al comparador.L’ altra entrada del comparador esta connectada a la sortida del regulador de tensió abansdels condensadors de filtratge, per tal de detectar mes ràpidament quan hi ha una caigudade tensió.

El comparador amb histèresi disposa d’ una altra resistència variable per modificar lahistèresi.

Quan es connecta l’ alimentació al circuit, al ser la tensió de l’ entrada no inversorames gran que la tensió de referència, la sortida del comparador passa a nivell alt. A travesd’ una xarxa RC, el nivell alt es propaga amb un petit retard a una porta NAND triggerSchmitt, la sortida de la qual passa a nivell baix. Després aquest senyal passa per undiferenciador amb lo qual es genera un pols que s’ aplica a una altra porta NAND triggerSchmitt. Aquesta porta te dues entrades, una esta connectada al polsador de Reset i l’ altraesta connectada al diferenciador. Els pols es invertit per la porta NAND i provoca el Resetdel microcontrolador.

Però quan la tensió d’ alimentació baixa per sota del altre nivell, com la sortida delcomparador esta connectada al piu EXT0 del microcontrolador, al passar a nivell baixprovoca l’ interrupció INT0 la qual fa que el microcontrolador passi al mode de baixconsum.

Page 35: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

26

2.3.1.12 Connector d’ Entrades

Es tracta del connector JP1 i disposa de 14 pius. Aquest s’ uneix al connector( del mateix tamany ) de la placa d’ entrades a traves d’ un cable de cinta pla. El connectorincorpora l’ alimentació i les 12 entrades digitals. La distribució d’ aquests senyals en elconnector es la següent:

VCC

In 2

In 6

In 3In 4

In 1

In 7

In 11In 10

In 12

In 8In 9

In 5

JP1

PLACA D' ENTRADES

123456789

1011121314

P0[0..7]

P1[0..3]

Figura 17. Connector d’ Entrades

2.3.1.13 Connector Placa Interfície Telefònica

Es tracta del connector JP2 i disposa de 6 pius. El connector disposa dels següentssenyals:

1. GND : es un dels cables d’ alimentació.

2. Data In : entrada analògica on s’ obté els senyals que es reben a traves de lalínia telefònica.

3. Data Out : sortida que proporciona els senyals per realitzar la marcacioDTMF i els senyals necessaris per a la comunicació de dades via sèrie.

4. Despenjar : entrada que activa el relé que serveix per connectar el circuit a lalínia telefònica. Aquesta entrada s’ activa a nivell alt.

5. Detecció de trucada : sortida que indica que ha rebut una trucada. Si detectaalguna trucada la sortida passa a nivell baix.

6. VCC : es un altre cable d’ alimentació.

Page 36: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

27

La distribució dels senyals en el connector es la següent:

VCCP3_5

P3_3

JP2

Placa Interfície Telefònica

123456

Despenjar

Deteccio de Trucada

Data In

Data Out

Figura 18. Connector Placa Interfície Telefònica

Page 37: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

28

2.3.2 Placa de Monitoritzacio per PC

Per tal de realitzar una placa d’ aquest estil, les opcions mes factibles son utilitzaruna Gal o un Microcontrolador per tal d’ implementar-la. D’ aquestes opcions es va optarper un Microcontrolador que disposes d’ una UART o port sèrie, ja que facilita molt eltema de les comunicacions sèrie a traves de la línia telefònica.

A l’ hora de dissenyar una targeta per PC, primer s’ ha de triar el tipus de bus queutilitzarà. Com es pretén realitzar una targeta interna, els bussos que es poden seleccionarson el bus ISA i PCI.

El bus PCI presenta un bus de dades de 32 o 64 bits segons la seva versió i el busISA pot tenir un bus de dades de 8 o 16 bits. En aquest cas com l’ objectiu es realitzar unaplaca amb un cost reduï t i a mes com el bus de dades del microcontrolador es de 8 bits,s’ ha escollit com a tipus de bus el ISA.

L’ utilització del bus ISA presenta l’ avantatja que es bastant senzill de dissenyar irealitzar una placa per aquest tipus de bus. Però presenta un inconvenient, aquest tipus debus s’ esta quedant obsolet i en els nous equips informàtics hi ha la tendència de deixar-lode fer servir.

La placa de monitoritzacio per PC, es una placa per bus ISA de 8 bits, que te un busde dades de 8 bits, un bus d’ adreces de 10 bits i que mapeja dos registres en l’ espaid’ entrada/sortida.

L’ adreça de la placa es configurable i es pot seleccionar quatre valors, 300H,310H, 320H i 330H.

Des de el punt de vista del hardware la placa disposa de dos registres :

• Registre d’ Estat: que es solament escriptura per a la placa i solament lecturaper al programa que s’ executa en el PC.

• Registre de Control: que es solament lectura per a la placa i solamentescriptura per al programa.

Però des de el punt de vista del programa o a l’ hora de programar, es com sisolament hi hagués un registre mapejat en l’ adreça que s’ ha escollit.

Page 38: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

29

La placa es pot dividir en els següents blocs:

2.3.2.1 El Microcontrolador

El Microcontrolador escollit, es el mateix que s’ ha utilitzat en la placa demonitoritzacio que es col·loca en les maquines dispensadores. Les seves característiques espoden veure en l’ apartat 2.3.1.1.

2.3.2.2 Latch d’ Adreces

El seu connexionat es idèntic al realitzat en la placa de monitoritzacio, es pot veureen el apartat 2.3.1.2.

2.3.2.3 Memòria EPROM

El chip de memòria EPROM, es connecta de la mateixa forma que en la placa demonitoritzacio. El seu esquema es pot veure en l’ apartat 2.3.1.3.

2.3.2.4 Circuit de Decodificacio d’ Adreces

Aquesta placa per comunicar-se amb el PC utilitza el bus ISA i mapeja dos registresde 8 bits en una adreça de l’ espai d’ entrada/sortida. Mitjançant uns ponts es determinal’ adreça de la placa.

Per realitzar el decodificador d’ adreces, s’ utilitza un decodificador d’ octal adecimal, un comparador de 8 bits i una porta NAND.

Per realitzar la decodificacio d’ adreces s’ utilitza els 10 bits menys significatius delbus d’ adreces i a mes s’ utilitza el següents senyals:

• AEN : senyal activa a nivell alt que indica que hi ha una transferència DMA.

• IOR: senyal de control de lectura/escriptura de la CPU. Senyal activa a nivellbaix que indica a un dispositiu E/S que fiqui les dades al bus.

• IOW: senyal de control de lectura/escriptura de la CPU. Senyal activa a nivellbaix que indica a un dispositiu E/S que pot llegir les dades del bus.

Page 39: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

30

En la següent figura es pot veure l’ esquema del circuit:

VCC

VCC

VCC

VCC

VCC

VCC

VCC

VCC

SA4

SA4

SA7

SA3

SA5

SA6

SA2

SA2

SA1

SA8

SA0

SA0

SA8

SA6

SA1

SA5

SA3

SA9

SA7

SA9

SA[0..9]

P0_4

P0_2P0_3

P0_6P0_5

P0_0P0_1

P0_7

P0[0..7]

P1_3

P1_1

P1_6

P1[0..7]

P1_2

P1_0

P1_7

P1_5P1_4

P3[0..7]P3_2

D6

D6

D3

D7

D3

D7

D5

D0

D1

D0

D5

D6

D2D3

D0

D4

D1

D[0..7]

D4

D2

D7

D1

D2

D5

D4

R11K

12

R21K

12

JP3BUS_ISA

A11

A22

A33

A44

A55

A66

A77

A88

A99

A1010

A1111

A1212

A1313

A1414

A1515

A1616

A1717

A1818

A1919

A2020

A2121

A2222

A2323

A2424

A2525

A2626

A2727

A2828

A2929

A3030

A3131

B132

B233

B334

B435

B536

B637

B738

B839

B940

B1041

B1142

B1243

B1344

B1445

B1546

B1647

B1748

B1849

B1950

B2051

B2152

B2253

B2354

B2455

B2556

B2657

B2758

B2859

B2960

B3061

B3162

U274HC573

D12

D23

D34

D45

D56

D67

D78

D89

C11

OC1

Q119

Q218

Q317

Q416

Q515

Q614

Q713

Q812

VCC20

GND10

U3A4093

1

23

U474HC138

A1B2C3

G16G2A4G2B5

Y015 Y114 Y213 Y312 Y411 Y510 Y6

9 Y77

VC

C

16

GN

D

8

U174HC688

P02P14P26P38P411P513P615P717

Q03Q15Q27Q39Q412Q514Q616Q718

G1

P=Q19

VCC20

GN

D

10

U574HC573

D12D23D34D45D56D67D78D89

C11OC1

Q119 Q218 Q317 Q416 Q515 Q614 Q713 Q812

VCC20

GN

D

10

JP2JUMPER1 2

JP1JUMPER1 2

Reset

P3.2

P1[0..7]

RD

P0[0..7]

Figura 19. Esquema del Circuit de Decodificació d’ Adreces

La senyal AEN es connecta al Chip Select negat del comparador de 8 bits, d’ aquestaforma s’ evita que la placa accedeixi al bus quan es realitza una transferència DMA.

A les entrades Q0 a Q7 del comparador, es connecten les línies d’ adreces A2-A9.Les línies A0, A1, IOR i IOW, es connecten al decodificador octal a decimal. A les altresentrades del comparador ( P0-P7 ), se li assigna el valor corresponent excepte P2 i P3 quees poden modificar mitjançant uns ponts.

El decodificador octal a decimal, te tres senyals d’ habilitació, dos d’ ells son negatsi estan connectats a les línies A0 i A1 del bus d’ adreces, l’ altre no esta negat i estaconnectat a nivell alt. Les entrades del decodificador es tan connectades als senyals IOR iIOW negats i a la sortida negada del comparador de 8 bits. De forma que quan els valorsde A2-A9 siguin igual al valor prefixat en les altres entrades del comparador, la sortida delcomparador passa a nivell baix. Després quan A0 i A1 estan a nivell baix, el decodificadoroctal a decimal esta habilitat i llavors activarà la sortida 1 o la sortida 2 depenen del valorsde IOR i IOW negats.

Page 40: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

31

Aquest circuit de decodificacio controla dos Latch 74HC573. El Latch on es guardales dades del Registre d’ Estat, rep les dades del port 1 del microcontrolador. Quan esdetecta una lectura d’ E/S en l’ adreça de la placa, s’ activa el senyal OC ( Output Controlo Output Enable ) del Latch i es transfereix el contingut del Registre d’ Estat al bus per talque pugui ser llegit per el programa .

El registre de control emmagatzema les seves dades en un Latch que agafa les dadesdels bus. El circuit de decodificacio controla la senyal de Clock d’ aquest Latch i quan esdetecta una escriptura d’ E/S en l’ adreça de la placa, s’ activa el senyal de Clock i el Latchguarda les dades que hi ha en el bus i que ha escrit l’ aplicació.

2.3.2.5 Conversors D/A

La seva connexió es com la de la placa de monitoritzacio, el seu esquema es potveure en l’ apartat 2.3.1.5.

2.3.2.6 Etapa Moduladora

Com gairebé tots els mòduls de la placa de monitoritzacio per PC, el seu disseny esidèntic al de la placa de monitoritzacio que es col·loca a les maquines dispensadores. Elseu esquema es pot veure en l’ apartat 2.3.1.6.

Page 41: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

32

2.3.2.7 Amplificador Sumador

Els seu disseny es idèntic al del mòdul de la placa de monitoritzacio ( apartat 2.3.1.7 ),però aquest té connectat a la sortida, un circuit format per un optoacoplador per aï llarelèctricament la placa de monitoritzacio per PC de la placa interfície telefònica.L’ esquema del circuit del optoacoplador es pot veure a la figura següent:

VCC

C24470 nF

1 2

R396K8

12

ISO1CNY17

12

54

R261 K

1 2

R4610 K

12

R3810 K

12

C27470 nF1 2

Entrada

Sortida

Gnd 2

Vcc 2

Figura 20. Esquema del Circuit del Optoacoplador

La senyal procedent de la sortida del amplificador sumador, s’ aï lla elèctricament dela placa interfície telefònica mitjançant un optoacoplador Led-Fototransistor. Això esrealitza per tal d’ evitar diferencies de potencial entre la massa de la línia telefònica i lamassa de la font commutada del PC. Això provocaria que la placa interfície telefònica nofunciones correctament.

La senyal procedent del amplificador sumador, modula la lluminositat del Led que hiha en l’ optoacoplador, llavors aquestes variacions es transmeten al Fototransistor id’ aquesta forma s’ obté el senyal que va al connector per a la placa interfície telefònica.

Page 42: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

33

2.3.2.8 Circuit de Recepció del Senyal Telefònic

Aquest bloc rep el senyal de la placa interfície telefònica a traves d’ un circuit formatper un optoacoplador, la missió del qual es aï llar elèctricament la placa de monitoritzacioper PC de la línia telefònica. La resta del circuit es igual al que hi ha en la placa demonitoritzacio ( apartat 2.3.1.8 ). En la següent figura es pot veure l’ esquema del circuitformat pel optoacoplador:

VCC

ISO2

CNY171

2

54

C301 uF

12

R344K7

1 2

R301 K

1 2R4310 K

12

C25470 nF1 2

R4710 K

12

Data In

Gnd 2

Vcc 2Etapa Amplificadora

Figura 21. Esquema del Circuit del Optoacoplador

Page 43: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

34

2.3.2.9 Connector per a la Placa Interfície Telefònica

La placa de monitoritzacio per PC disposa d’un connector DB9 femella, amb elqual es connecta amb la placa interfície telefònica a traves d’ un cable bus o de cinta de 8fils.

Aquest connector té els següents senyals:

1. GND : cable d’ alimentació que prové de la placa de monitoritzacio per PC.

2. GND2 : massa de la placa interfície telefònica.

3. Data In : entrada analògica on s’ obté els senyals que es reben a traves de lalínia telefònica.

4. Data Out : sortida analògica que proporciona els senyals per a realitzar lamarcacio DTMF i els senyals necessaris per a realitzar la comunicació sèrie.

5. Despenjar : entrada que activa el relé que serveix per connectar el circuit a lalínia telefònica. Aquesta entrada s’ activa a nivell alt.

6. Detecció de trucada : sortida que indica que ha rebut una trucada. Si detectaalguna trucada la sortida passa a nivell baix.

7. VCC2 : tensió d’ alimentació de la placa interfície telefònica la qual prové dela línia telefònica.

8. VCC : cable d’ alimentació que prové de la placa de monitoritzacio per PC.

La distribució d’ aquests senyals en el connector es la següent:

VCCP1

DB9M

594837261

Deteccio de Trucada

Despenjar

Data In

Vcc 2

Gnd 2

Data Out

Figura 22. Distribució dels Senyals del Connector

Page 44: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

35

2.3.3 Placa Interfície Telefònica

La part principal del disseny es basa en un circuit d’ aplicació del fabricant delcircuit integrat TEA 1061.

També te un petit circuit que s’ encarrega de detectar trucades i disposa d’ un reléper tal de connectar o desconnectar el circuit de la línia telefònica.

Solament hi ha una resistència variable R16, que serveix per modificar l’ amplituddel senyal de marcacio DTMF i del senyal sèrie que s’ envia, per tal d’ assegurar unamarcacio i transmissió correcta.

En aquesta figura es mostra l’ esquema de la placa:

VCC

VCC

VCC

Placa de Monitoritzacio(Maquina Dispensadora o PC)

R18120

12

C14220 nF

12

R1468 K

12

R1310

12

R12100 K

1 2

R93K9

12

R6470

12

C11100 pF

1 2

+

C8 4.7 uF

1 2

R8120 K

1 2

R19100 K

12

C7100 nF

1 2

R151K8

12

JP1

Linía Telefònica

12

+

C5 100 uF

1 2

R5150

1 2

R1710

12

R21820

12

C13220 nF

1 2

C6 2.2 nF1 2

C1610 nF

12

R2010

12

K1RELE

34

5

67

812

C151 nF

12

R11390

1 2

R221K8

12

R710 K

1 2

D31N4004

12

D410V

12

C10100 pF

1 2

C9220 nF

12

C4 2.2 nF1 2

R1647 K

13

2

Q1BDX53 2

1

3

R1010 K

12

- +

D2B250C1000

3

4

2

1

R412

12

JP2

Connector

12345678

R222 K

1 2

R139 K

1 2

C1470 nF

1 2

- +

D1B250C1000

3

4

2

1

R32K2

12

C2470 nF

1 2ISO1

CNY17

12

54

+

C347 uF

12

R2327 K

12

TEA 1061

Figura 23. Esquema de la Placa Interfície Telefònica

Page 45: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

36

2.3.4 Placa d’ Entrades per la Maquina Dispensadora

El seu disseny es bassa en un comparador amb histèresi, on es pot ajustar tant latensió de referència com la histèresi.

Disposa de 12 entrades analògiques amb una impedancia d’ entrada de 10 K Ù iajust de la tensió de referència i de l’ histèresi. A cada entrada s’ ha col·locat unaresistència de 10 KΩ, perquè sinó es connecta, a la sortida de la placa hi hagi un nivellbaix.

El operacional escollit es el quàdruple LM 324, el qual pot funcionar correctamentamb una tensió simple de 5 V i es bastant barat.

Per a cada entrada es disposa de dues resistències variables per tal d’ ajustar latensió de referència i el valor de l’ histèresi. Per saber quines son les resistènciescorresponents s’ ha de mirar l’ esquema de la placa d’ entrades i el diagrama de distribucióde components.

En la següent figura es mostra l’ esquema d’ una secció:

VCC

VCC

IN0

R3722 K

1 2

R40470 K

12

3

R4610 K

12

3

+

-

U1D

LM324

12

1314

41

1

R4910 K

12

R43

10 K

1 2

Sortida 1

Entrada 1

Figura 24. Esquema d’ una Part de la Placa d’ Entrades

Page 46: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

37

2.4 Programa ASM de la Placa de Monitoritzacio ( Maquina Dispensadora )

2.4.1 Funció del Programa

Les funcions principals del programa ASM es la de controlar el hardware de laplaca, generar el tons necessaris per a la marcacio DTMF, encarregar-se de la transmissióde dades sèrie i permetre l’ introducció de l’ identificador de la placa i el numero detelèfon.

2.4.2 Estructura General del Programa

Page 47: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

38

Figura 25. Diagrama General del Programa ASM Maquines Dispensadores

Page 48: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

39

2.4.3 Estructura de la Rutina de Comunicacions Sèrie

Figura 26. Estructura de la Rutina Sèrie

Page 49: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

40

2.5 Programa ASM de la Placa de Monitoritzacio per PC ( Central )

2.5.1 Funció del Programa

Les funcions principals del programa ASM es la de vigilar si hi ha alguna trucada ohi ha alguna ordre de trucar que prové de l’ aplicació Gestió Remota i encarregar-se de lescomunicacions sèrie.

Page 50: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

41

2.5.2 Estructura General del Programa

Figura 27. Diagrama General del Programa ASM Central

Page 51: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

42

2.5.3 Estructura de la Rutina de Comunicacions Sèrie

Figura 28. Estructura de la Rutina Sèrie

Page 52: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

43

2.6 Programa Visual Basic

2.6.1 Funció del Programa

El programa te dues funcions principals :

• Encarregar-se del hardware:

El programa s’ encarrega d’ inicialitzar la placa de monitoritzacio perPC, de realitzar enquestes a la mateixa per saber si hi ha alguna trucada ol’ estat de les comunicacions i per enviar l’ ordre de trucar quan s’ had’ interrogar alguna maquina dispensadora.

• Gestionar l’ informació necessària de les maquines dispensadores:

Les dades necessàries per realitzar les tasques de gestió s’ emmagatzemaen una base de dades Microsoft Access 2000. En aquesta base de dades esguarda l’ informació de cada maquina, es guarda la seva localització, el seunumero de telèfon, el seu identificador, el tipus de maquina que es i a quecorrespon cada una de les seves entrades.

El programa permet introduir noves maquines i nous tipus de maquina, editar lesseves dades o esborrar-les.

Per facilitar la posta en marxa del sistema, incorpora un mode especial anomenatMode Test. Aquest mode opera sense l’ informació continguda a la base de dades, per tantfunciona encara que estigui buida ( situació inicial ) , es molt senzill d’ utilitzar i facilita laconfiguració de les plaques de monitoritzacio.

Page 53: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

44

2.6.2 Estructura global del programa

El programa esta basat en un timer el qual disposa d’ un període de 55 milisegons.Cada 55 milisegons, es realitza una lectura del Registre d’ Estat de la placa demonitoritzacio per PC per tal d’ esbrinar si hi ha alguna trucada o saber en quin estat estroba.

En la subrutina del timer es realitzen les crides a les subrutines que escriuen illegeixen de forma sincronitzada a la placa de monitoritzacio per PC.

La resta del programa respon als diferents events dels components que integrenl’ aplicació.

L’ aplicació mostra l’ informació rebuda en el quadre Dades Rebudes. Mostral’ hora d’ arribada de les dades, el tipus de maquina, l’ identificador, el seu estat i la sevalocalització.

En el quadre Ultimes Dades, es mostra l’ informació que s’ ha rebut de l’ ultimacomunicació realitzada tant si ha trucat la maquina, com si nosaltres la hem interrogat.

L’ aplicació disposa de menús, on es pot seleccionar obrir una nova base de dades,realitzar operacions amb la base de dades, configurar l’ aplicació, veure el fitxer Logd’ aquella sessió, veure les dades de l’ aplicació ( Versió del programa i autor ), minimitzarel programa en la barra de tasques de Windows o sortir del mateix.

Page 54: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria descriptiva

45

2.7 Conclusions Finals

S’ ha obtingut un conjunt de plaques que permeten monitoritzar diversos tipus demaquines dispensadores o dispositius a traves de la línia telefònica. Aquest sistemasimplement implementa les funcions bàsiques de monitoritzacio o consulta d’ una formasenzilla. L’ us del sistema es bastant senzill un cop que s’ ha configurat. L’ aplicaciórealitzada amb Visual Basic funciona en les principals plataformes Windows i utilitza basede dades de Microsoft Accés, una aplicació que el seu us esta bastant estes ja que formapart de la suite ofimatica Microsoft Office.

La selecció del microcontrolador 80C31 ha limitat una mica el disseny ja que en elmercat hi ha altres opcions també molt econòmiques que haurien anat be, com elsmicrocontroladors PIC de la casa Microchip, però el fet de no tindré les eines dedesenvolupament adequades ha fet impossible la seva utilització.

Un aspecte que pot donar uns quants problemes, es de la configuració del sistema. Alintentar realitzar un sistema de baix cost, es va simplificar bastant els dissenys i això fa quela configuració sigui una mica mes complicada i costi una mica mes.

Les possibles millores que es podrien fer al sistema serien, fer que el sistema fosmolt mes fàcil de configurar, que només calgués instal·lar-lo i estes llest per funcionar.Una altra millora, seria l’ utilització de telèfons movils per tal de comunicar-se amb lacentral i així no dependre de les línies fixes de telèfon.

Per tal de que es compleixi un dels objectius que ens havíem proposat, el de realitzarun sistema de baix cost, els numero de targetes que s’ haurien de fabricar hauria de serbastant elevat per tal que es repartissin els costos de disseny. D’ aquesta forma el sistemaGestió Remota tindria un cost mes baix i tindria mes possibilitats de comercialització.

Page 55: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

46

3 MANUAL D’ USUARI

Page 56: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

47

3.1 Introducció

Aquest manual pretén servir com ajuda per tal d’ explicar com s’ ha d’ instal·lar elsistema, explicar el funcionament del programa Gestió Remota per Windows 9x/ME/NT i2000 a més de facilitar l’ ajust i posta en marxa de tot el sistema.

3.2 Requeriments del Sistema

Per tal d’ instal·lar la placa de monitoritzacio per PC i el seu software requereix almenys :

Per a l’ aplicació de Visual Basic es requereix el següent hardware i software :

• Microprocessador Pentium® 90MHz o superior.

• Pantalla VGA de 640x480 o de resolució superior compatible amb MicrosoftWindows.

• Windows 95 amb 32 MB RAM, Windows 98 / ME amb 64 MB RAM,Windows NT 4.0 o superior instal·lat, Windows 2000 amb 128 MB RAM.

• Quan s’ utilitzi Windows NT o Windows 2000 s’ ha de tindré privilegisadministratius per instal·lar el software i executar-lo.

• Unitat de CD-ROM per l’ instal·lació del software

A mes per instal·lar la placa de monitoritzacio per PC es requereix :

• Una ranura ISA disponible.

Page 57: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

48

CENTRAL

PC

3.3 Visió Global del Sistema

El sistema de Gestió Remota de maquines dispensadores disposarà dels següentsmòduls:

• Una placa de monitoritzacio per col·locar a cada maquina dispensadora.

• Una placa de monitoritzacio per PC per col·locar en la central.

• Una placa interfície telefònica per a la central i una altra per a cada maquinadispensadora.

• Una placa d’ entrades per cada maquina dispensadora.

L’ esquema general del sistema de Gestió Remota es el que es mostra a la següentfigura:

Figura 29. Esquema General del Sistema de Gestió Remota

Placa deMonitoritzacio

per PC

PlacaInterfície

Telefònica

Maquina Dispensadora 1

PlacaInterfície

Telefònica

Placa deMonitoritzacio

Placad’ Entrades

Líniatelefònica

Maquina Dispensadora 9999

PlacaInterfície

Telefònica

Placa deMonitoritzacio

Placad’ Entrades

Bus ISA

Programa GestióRemota 1.0

Page 58: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

49

Com es pot veure en el esquema general, a cada maquina s’ instal·la uns mòduls pertal que si falta algun producte es posi amb contacte amb la central. A traves de la líniatelefònica, es comuniquen els mòduls que hi ha a la maquina dispensadora amb els que hiha a la central i que estan connectats amb un PC. Cada cop que es genera una alarma, en elordinador que es troba a la central, es mostra l’ estat de la maquina dispensadora en elprograma per a Windows Gestió Remota 1.0. Des d’ aquest programa es pot interrogar unao mes maquines per saber en quin estat es troben.

Sense aquest sistema, el personal que s’ encarrega del manteniment de les maquines,ha de fer revisions periòdiques a totes elles. Hi haurà casos en que hi ha maquines quegairebé no els fa falta cap producte i haurà altres casos en que feia dies que una o mesmaquines s’ havien quedat sense algun producte.

Amb el sistema Gestió Remota, es pot saber quan falta un producte i llavors elstècnics solament hauran d’ anar aquelles maquines que els hi falta alguna cosa, estalviant-seel tenir que mirar totes les maquines i així es millora el servei, perquè es pot tornar a carregarles maquines que els hi falta alguna cosa de forma ràpida. D’ aquesta forma s’ evita alsclients de quedar-se sense el producte que volien perquè s’ ha esgotat i encara no hantornat a ficar.

Page 59: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

50

3.4 Instal·lació de les Plaques

3.4.1 Instal·lació de les Plaques que van a la Central

Hi ha dues plaques, la placa de monitoritzacio per PC que s’ ha d’ inserir en unaranura del bus ISA i l’ altra es la placa interfície telefònica que va a l’ exterior del PC.

Per tal d’ instal·lar les plaques, s’ han de seguir els següents passos:

1. Abans d’ instal·lar la placa de monitoritzacio per PC, s’ ha de decidir quinaadreça utilitzarà mitjançant els ponts Jp1 i Jp2. Per defecte utilitza l’ adreça330H. Es recomana utilitzar l’ adreça 300H, però si hi hagués algun conflicteamb algun altre dispositiu com una tarja de so o de xarxa, es pot provar acanviar l’ adreça per un altra. En la figura següent es pot veure comseleccionar l’ adreça de la placa de monitoritzacio per PC:

Adreça Ponts

300H

310H Jp1

320H Jp2

330H Jp1 i Jp2

Taula 1. Configuració de l’ Adreça de la Placa

2. Quan ja s’ ha seleccionat quina adreça utilitza la placa de monitoritzacio perPC, s’ insereix en una ranura del bus ISA, però tenint en compte que laresistència variable quedi accessible per tal de poder configurar-la després.

3. Amb el cable que te un connector DB9, s’ uneix la placa de monitoritzacioper PC amb la placa interfície telefònica que es troba a fora del PC. A l’ horade col·locar el connector de la placa interfície telefònica, s’ ha de tindré encompte que el cable de massa que es de diferent color, ha de coincidir ambl’ indicació GND que es pot veure en la figura 31.

4. A la regleta de la placa interfície telefònica, es connecta un cable de longitudadequada per connectar-la a la línia telefònica.

Page 60: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

51

5. Ara només queda configurar el guany del receptor de senyal, per tal de queles dades es rebin correctament.

En aquesta figura es pot veure la disposició dels components de les plaques:

Figura 30. Disposició de Components de la Placa de Monitoritzacio per PC

Resistència R44 queregula el guany del’ etapa receptora

Ponts JP1 i JP2per configurarl’ adreça de laplaca

Page 61: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

52

Figura 31. Disposició de Components de la Placa Interfície Telefònica

Resistència R16que regula elnivell de senyalque s’ injecta a lalínia telefònica

Page 62: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

53

3.4.2 Instal·lació de les Plaques que van a les Maquines Dispensadores

A cada maquina dispensadora s’ han d’ instal·lar tres plaques, la placa demonitoritzacio, la placa interfície telefònica i la placa d’ entrades. En la següent figura espot veure la distribució dels components en cadascuna de les tres plaques:

Figura 32. Serigrafia Components Placa de Monitoritzacio

Resistència R51 que regula el guanyde l’ etapa receptora

Resistència R3 que regulal’ histèresi del sistema debaix consum

Resistència R11del sistema debaix consum

Resistència R2 que modificala tensió d’ alimentació delscircuits i del µC

Display

Page 63: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

54

La serigrafia dels components de la placa interfície telefònica es pot veure enl’ apartat 3.4.1 figura 31.

En aquesta figura es pot veure la distribució del components en la placa d’ entrades:

Figura 33. Serigrafia Components Placa d’ Entrades

Per realitzar l’ instal·lació de les plaques, s’ han de seguir els següents punts:

1. Primer es connecta la placa de monitoritzacio amb la placa interfícietelefònica amb el cable que te un connector de 6 terminals i un altre de 8terminals. A l’ hora de col·locar els connectors, s’ ha de tindré en compte queel cable de massa que es de diferent color, ha de coincidir amb l’ indicacióGND que es pot veure en les figures 31 i 32.

2. A la regleta de la placa interfície telefònica, es connecta el cable amb elconnector telefònic, per tal de connectar-la a la línia telefònica.

3. Per tal d’ unir la placa principal amb el mòdul d’ entrades, s’ utilitza el cableamb els connectors de 14 terminals. Aquí també s’ ha de tindré en compte al’ hora de col·locar els connectors, que la posició del cable de massa ha decoincidir amb l’ indicació GND que es pot veure en les figures 32 i 33

Page 64: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

55

4. Per tal d’ alimentar a les plaques, es requereix una tensió compresa entre 9 i20 V la qual no es necessari que estigui estabilitzada. Aquesta tensiós’ agafarà de la maquina dispensadora si es possible o en cas contrari faràfalta una font d’ alimentació. La tensió d’ alimentació es connecta a la regletaon fica Alimentació i per últim a la regleta que diu Bateria, es connecta duespiles R6 de 1.5 V per tal de mantenir les dades que hi ha en la memòria si esprodueix un tall de corrent. Si les dades s’ han programat a la memòriaEPROM, no farà cap falta les piles.

5. A l’ hora de col·locar les plaques a la maquina dispensadora, s’ ha de tindréen compte que els polsadors, el display set segments i les diferentsresistències variables quedin accessibles per tal de realitzar l’ ajust delconjunt i la programació del identificador de la placa i el numero de telèfonde la central. Si l’ identificador i el numero de telèfon es troba a la memòriaEPROM, no farà falta introduir-los.

Page 65: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

56

3.5 Configuració del Hardware

3.5.1 Configuració de les Plaques que van a la Central

Cal col·locar o ajustar les resistències variables de les dues plaques a la meitat delseu recorregut per començar a fer les proves.

La resistència variable que es troba a la placa de monitoritzacio per PC ( R44 ),s’ encarrega de determinar el guany de l’ etapa receptora que rep el senyal de la placainterfície telefònica.

La resistència variable de la placa interfície telefònica ( R16 ) determina el nivell delsenyal que s’ injecta a la línia telefònica.

3.5.2 Configuració de les Plaques que van a les Maquines Dispensadores

3.5.2.1 Configuració de la Placa de Monitoritzacio

Cal ajustar les quatre resistències variables que té seguint els següents passos:

1. El que s’ ha de fer primer, un cop que s’ ha alimentat a la placa, es ajustar laresistència variable R2 per tal que la tensió d’ alimentació del circuit i delMicrocontrolador sigui de 5V. La tensió d’ alimentació es pot mesurar atraves de la regleta que té el nom VCC.

2. Seguidament s’ ajusta les resistències variables del sistema de control delmode de baix consum del microcontrolador. De forma que si la tensió dereferència baixa per sota dels 2.175 V ( es refereix a una tensió d’ alimentaciódels circuits d’ uns 3.75 V ), el microcontrolador passa al mode de baixapotencia. Per passar al mode normal, s’ ha de fer un Reset almicrocontrolador, això passa quan la tensió de referència puja per sobre dels2.425 V ( tensió d’ alimentació d’ uns 4.25 V ). Per aconseguir aquells valorsde tensió, s’ ha de jugar amb la tensió de referència i l’ histèresi delcomparador. S’ ajusta la resistència variable de l’ histèresi perquè sigui d’ uns0.25 V, desprès s’ ajusta l’ altra resistència variable per obtindré una tensió dereferència de 2.3 V. Així aquest sistema ja es troba configurat.

Page 66: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

57

3. Per últim queda la resistència que determina el guany de l’ etapa receptora, laqual es col·loca a la meitat del seu recorregut com a valor inicial abans derealitzar les proves de comunicació.

3.5.2.2 Configuració de la Placa Interfície Telefònica

A la placa interfície telefònica, solament s’ ha de col·locar la resistència variable ala meitat del seu recorregut com a valor inicial. Mes tard s’ acabarà de configurar.

3.5.2.3 Configuració de la Placa d’ Entrades

Per ajustar la placa d’ entrades, s’ utilitza una font d’ alimentació variable perdeterminar a quina tensió l’ entrada s’ activa. També s’ ajusta l’ histèresi del comparador.Per a la majoria dels casos es recomana una histèresi petita. Si es té una histèresi petita,llavors es comporta gairebé com un comparador normal.

Primer s’ ajusta l’ histèresi, ja que si s’ ajustes primer la tensió de referència, almodificar després l’ histèresi es tornaria a modificar el nivell de tensió que activa al’ entrada. Com s’ ha dit abans amb una petita histèresi ja ni hi ha prou per la majoria delscasos, llavors s’ ajusta la resistència variable que regula l’ histèresi, girant-la en sentit deles agulles del rellotge fins que no es pugui mes per tindré l’ histèresi mínima.

Després s’ ajusta la tensió de la font d’ alimentació, a la tensió que ha d’ activarl’ entrada, llavors es mou la resistència variable que proporciona la tensió de referència alcomparador fins que la sortida passi de 0 a 1. Amb l’ histèresi, es determina quant haurà debaixar la tensió per tal que la sortida torni a ser un nivell lògic baix.

Page 67: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

58

Per saber quina resistència variable correspon a cada entrada i si determina la tensióde referència o l’ histèresi, s’ ha de mirar en l’ esquema de distribució de components i a lasegüent taula:

Entrada Resistència Tensió Referència Resistència Histèresi

1 R46 R40

2 R34 R28

3 R22 R16

4 R10 R4

5 R47 R41

6 R35 R29

7 R23 R17

8 R11 R5

9 R48 R42

10 R36 R30

11 R24 R18

12 R12 R6

Taula 2. Descripció de les Resistències Variables

3.5.2.4 Introducció de les Dades a la Memòria del Microcontrolador

Aquí es pot diferenciar dues situacions:

1. Que l’ identificador de la placa i el numero de telèfon de la central es guardina la memòria RAM del microcontrolador. Aquest cas, es la situació normal.

2. Que l’ identificador de la placa i el numero de telèfon de la central estiguingravats en la memòria de programa EPROM. Per fer això s’ ha d’ afegir unesquantes línies al programa ASM, tornar-lo a enssamblar i programar lamemòria EPROM.

Page 68: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

59

En el primer cas s’ ha d’ introduir les dades mitjançant els polsadors. Hi ha 3 polsadors:

1. Polsador de Reset: realitza el Reset de tota la placa de monitoritzacio.

2. Polsador P1: si es pitja just desprès de fer un Reset o abans de que hagin passat 4segons, serveix per seleccionar que es vol introduir el numero de telèfon. Quan jas’ ha decidit que es el que s’ ha d’ introduir, llavors aquest polsador serveix perincrementar la xifra que es visualitza en el display set segments.

3. Polsador P2: si es pitja just desprès de fer un Reset o abans de que hagin passat 4segons, serveix per seleccionar que es vol introduir l’ identificador. Desprès realitzala funció de validar la xifra que es visualitza al display set segments, guarda la xifraen memòria i inicialitza el display per tal de poder introduir un altra xifra.

L’ identificador de la placa o de la maquina dispensadora, es una xifra de 4 dígitscompresa entre 1 i 9999. Els quatre dígits son obligatoris encara que siguin zeros.

Com a exemple, per introduir l’ identificador 0010, es realitza un Reset i justamentdesprés es pitja el Polsador P2. Així s’ indica que es vol introduir l’ identificador, llavorsper introduir el numero zero ( que es el valor que hi ha per defecte al començar o desprésde validar una xifra ) solament s’ ha de pitjar el Polsador P2 per validar i guardar la xifraen memòria. Per introduir un altre zero es torna a pitjar el Polsador P2 per validar. Perintroduir el numero 1 es pitja el Polsador P1 per incrementar la xifra del display en unaunitat i després es pitja el Polsador P2 per validar. Per introduir el últim zero, solaments’ ha de pitjar un altre cop el Polsador P2 i d’ aquesta forma ja s’ ha introduï tl’ identificador 0010.

Quan s’ ha introduï t l’ identificador, la placa visualitza de forma seqüencial en eldisplay l’ identificador i desprès el numero de telèfon.

Per introduir el numero de telèfon, s’ ha de realitzar un Reset i tot seguit es pitja elPolsador P1 per seleccionar que s’ introdueix el numero de telèfon. D’ aquesta forma eldisplay ens mostra un zero, llavors pitjant el Polsador P1 s’ incrementa la xifra fins ques’ obté la que es vol. Amb el Polsador P1, la xifra es pot incrementar fins arribar a 10 idesprés torna a començar des de 0, però quan la xifra val 10, en el display no es visualitzares. Quan ja tenim la primera xifra, llavors es pitja el Polsador P2 per tal de validar iguardar-la. Tot això es repeteix fins que s’ hagi introduï t totes les xifres i llavors per tald’ indicar que ja s’ ha acabat, s’ introdueix el numero 10 per indicar el final del numero detelèfon. Això es realitza perquè es considera que el numero de xifres del telèfon es variableencara que gairebé sempre son 9 xifres.

Un cop realitzada la configuració de les tres plaques, tot esta preparat per realitzarla posta en marxa del sistema.

Page 69: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

60

3.6 Instal·lació del Software

Es col·loca el CD-ROM en la unitat i llavors el programa d’ instal·lació comença aexecutar-se, a no ser que estigui deshabilitada la reproducció automàtica de CD-ROM dedades. En aquest cas s’ haurà d’ executar el fitxer setup.exe.

Durant l’ instal·lació, es possible que el programa d’ instal·lació vulgui reinicialitzarel PC per tal de poder actualitzar algunes llibreries, accepteu i desprès torneu a executarsetup.exe i aquesta vegada si tot va be l’ instal·lació haurà finalitzat amb èxit.

3.7 Configuració del Software

Un cop s’ ha configurat el hardware, llavors a les opcions del programa s’ ha deseleccionar l’ adreça que utilitza la placa de monitoritzacio per PC.

Les altres opcions no cal modificar-les, ja que els valors per defecte ja serveixen.

Page 70: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

61

3.8 Posta en Marxa del Sistema

Quan ja s’ ha realitzat la configuració inicial de totes les plaques, s’ ha instal·lat iconfigurat el programa Gestió Remota, ja es pot començar la posta en marxa del sistema.

Per tal de realitzar la configuració de tot el sistema, idealment es necessiten duespersones:

• Una que estigui a la central per tal de configurar la placa de monitoritzacioper PC.

• Un altra que s’ encarregui de configurar la placa de monitoritzacio d’ una deles maquina dispensadores.

Després de configurar la placa de monitoritzacio per PC, solament farà falta unapersona que s’ encarregui de configurar o verificar cada una de les plaques instal·lades enles diferents maquines dispensadores.

Primer de tot, s’ ajustaran les plaques interfície telefònica, per tal de que realitzin lamarcacio del numero de telèfon de forma correcta. Els passos a seguir per configurar-lesson els següents:

1. Per configurar la placa que hi ha en la central, primer s’ activa el programaGestió Remota realitzant Doble-click sobre la icona que hi ha en la barra detasques i després s’ activa el mode Test. Per activar aquest mode, s’ had’ anar al menú Opcions i activar l’ opció Mode Test necessària per fer lesproves. Aleshores es pitja el boto Test i apareix una finestra que demana unnumero de telèfon. Aquest numero pot ser el d’ un telèfon movil que tingui oel d’ un altre telèfon que sigui a prop per tal de verificar de forma ràpida queel sistema de marcacio funciona correctament.

2. Si la prova falla, llavors el que s’ ha de fer es modificar el valor de laresistència variable de la placa interfície telefònica. Primer es prova girant laresistència una mica en sentit contrari a les agulles del rellotge i es torna a ferla prova de marcacio, d’ aquesta forma s’ incrementa el nivell de la senyalque s’ introdueix a la línia telefònica.

Page 71: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

62

3. Si la prova tornes a fallar, es torna a provar el mateix fins que s’ arribi almàxim o la prova funcioni i en aquest cas la placa interfície telefònica estariaconfigurada. Si per contra arriba al màxim i encara no funciona, llavors caltornar a ficar la resistència variable al seu valor inicial es a dir a la meitat delseu recorregut i en aquest cas es gira la resistència variable una mica en sentitcontrari del que s’ havia fet abans. D’ aquesta forma es redueix el nivell delsenyal que s’ introdueix a la línia telefònica. Tot això s’ ha de fer fins quefuncioni el sistema de marcacio. Si fen tot això encara no funciona, s’ hauràde comprovar que la placa interfície telefònica estigui ben connectada amb laplaca de monitoritzacio per a PC i amb la línia telefònica.

Quan s’ acabat la configuració de la placa interfície telefònica de la central, espassa a configurar una altra placa interfície telefònica que es troba col·locada en una de lesmaquines dispensadores.

Per fer això, s’ introdueix mitjançant els polsadors el numero de telèfon ques’ utilitzarà per fer les proves. Després s’ activa una de les entrades per tal que la placa demonitoritzacio realitzi una trucada. Un cop fet això es procedirà com en el cas anterior i sino funciona s’ anirà modificant el valor de la resistència variable R16 fins que la marcaciosigui correcta.

Si les dades estan guardades a la memòria EPROM i el numero que s’ utilitza perfer les proves de marcacio es diferent al que te gravat, llavors per introduir el numero detelèfon es farà com s’ ha explicat abans amb els polsadors.

Si estem en els cas en que l’ identificador i el numero de telèfon estan gravats a lamemòria EPROM, per evitar haver d’ introduir el numero de telèfon de prova amb elspolsadors cada cop que es realitza un Reset a la placa de monitoritzacio, llavors abans defer el Reset s’ ha de pitjar i mantenir els polsadors P1 i P2 fins que s’ ha realitzat el Reset.Així s’ evita que es torni a carregar el numero de telèfon que hi ha gravat en la EPROM.

Desprès de comprovar que la placa interfície telefònica que hi ha a la maquinadispensadora funciona correctament i esta ajustada, llavors s’ han de restablir els valors delidentificador de la placa i el numero de telèfon de la central. Per fer ho s’ haurà de fer elsegüent:

• Si estem en el cas per defecte en que les dades no es guarden a la memòriaEPROM, llavors mitjançant els polsadors s’ introduirà l’ identificador i elnumero de telèfon corresponent.

• Si en canvi si que te les dades guardades a la memòria EPROM, llavors enaquest cas solament s’ ha de realitzar el Reset de la placa de monitoritzacioper a que carregui en la memòria del microcontrolador els valors que hi ha enla EPROM.

Page 72: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

63

Un cop que s’ han restablert els valors de l’ identificador i telèfon, es recomanableverificar que l’ identificador i el numero de telèfon siguin els correctes. Fent un Reset de laplaca de monitoritzacio fa que mostri de forma seqüencial l’ identificador ( xifra de 4 dígits )i desprès el telèfon que pot ser de longitud variable.

Quan ja s’ ha verificat el funcionament de les plaques interfície telefònica i la placade monitoritzacio de la maquina dispensadora te les dades correctes, llavors ja es potpassar a finalitzar la configuració de les plaques de monitoritzacio.

La configuració de les plaques de monitoritzacio consisteix en ajustar el guany del’ etapa receptora modificant el valor d’ una resistència variable ( R51 en la maquinadispensadora o R44 en la central ).

Inicialment les resistències variables de les plaques de monitoritzacio es troben a lameitat del seu recorregut. Per incrementar el guany de l’ etapa de recepció, s’ ha de girar laresistència variable en el sentit de les agulles del rellotge i per reduir-lo es gira en el sentitcontrari.

Si la recepció no es correcta s’ incrementa de mica en mica el guany de l’ etapareceptora de la placa corresponent fins que estigui configurada o s’ arribi al màxim. Siencara no esta configurada, es torna a posar la resistència variable a la meitat del seurecorregut i en aquest cas es reduirà el guany de l’ etapa receptora per si la senyal estiguesdistorsionada a causa de la saturació. Això s’ anirà repetint fins que s’ aconsegueixiconfigurar-la o s’ arribi al mínim, en aquest cas s’ haurà de revisar les connexions de totesles plaques tant a la maquina dispensadora com a la central i la connexió amb la líniatelefònica.

Per configurar la placa de monitoritzacio de la maquina dispensadora es seguiran elssegüents passos:

1. Assegurar-se que l’ ordinador de la central esta encès, amb la placa interfícietelefònica connectada a la línia i el programa Gestió Remota esta activat i estroba en Mode Test.

2. On hi ha la maquina dispensadora, s’ activa una de les entrades per fer que laplaca de monitoritzacio realitzi una trucada a la central.

Page 73: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

64

3. S’ ha de controlar l’ estat del display de la placa de monitoritzacio. Pot haverquatre casos:

• Si en el display es mostra la xifra 0, això vol dir que la comunicaciós’ ha realitzat de forma correcta tal com esta configurada. Per seguretat,es torna a repetir la prova diverses vegades i si els resultats son correcteses passa a configurar la placa de monitoritzacio per PC. En el cascontrari es modifica el guany de l’ etapa receptora i es torna a provarper tal d’ obtindré en tots els casos la xifra 0.

• Si en el diplay es mostra un 1, això indica que no rep les dades de formacorrecta i per tal de corregir-ho es modifica el guany de l’ etapareceptora i es segueix provant fins que s’ obtingui un 0 o un 2.

• Si es mostra un 2 en el display, això significa que s’ ha produï t un erroren la comunicació via sèrie. Indica que la placa de monitoritzacio que hiha a la maquina dispensadora ha rebut les dades però en canvi la placaque hi ha a la central no ha rebut les dades correctament. En aquest cas,es torna a repetir la prova unes quantes vegades i si el resultatssegueixen sent un 2, llavors vol dir que la placa que hi ha a la maquinadispensadora es troba configurada. Si en canvi sortís algun 1, esprocedirà com en el cas en que es mostra un 1 al display.

• Si en el display no es mostra res, això indica que la placa demonitoritzacio no ha rebut l’ impuls de sincronització. Per solucionar-hos’ ha d’ incrementar el guany de l’ etapa receptora i tornar a provar-hofins que surti alguna xifra. Després es procedirà segons la xifra que hagisortit. Si s’ ha incrementat el guany fins al màxim i no ha sortit capxifra, llavors s’ haurà de comprovar les connexions de les plaques i laconnexió amb la línia telefònica.

Quan ja s’ ha configurat la placa de monitoritzacio de la maquina dispensadora, espassa a comprovar el funcionament de la placa de monitoritzacio per PC que hi ha a lacentral.

Per configurar la placa de monitoritzacio per PC, el que s’ ha de fer es interrogar unamaquina en que la placa interfície telefònica ha estat configurada. S’ interroga a lamaquina i es fixa en el missatge que surt en el quadre Estat. Si la placa esta correctamentconfigurada, ha d’ haver sortit el missatge “Connexió correcta” i desprès “Recepció dedades” i s’ ha d’ haver visualitzat en el quadre Dades Rebudes l’ informació de la maquinadispensadora que s’ estava interrogant.

Page 74: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

65

Si en canvi es visualitza el missatge “Error de Connexió” o “Error sèrie”, vol dir queno ha rebut les dades de forma correcta, llavors s’ ha de girar la resistència variable R44 dela placa de monitoritzacio per PC en el sentit de les agulles del rellotge per tald’ incrementar el guany de l’ etapa receptora. Desprès es torna a provar fins ques’ aconsegueixi configurar, en cas contrari, es col·loca la resistència variable a la meitatdel seu recorregut i es gira en la direcció contraria . Si amb tot això no funciona, s’ hauràde verificar les connexions entre les plaques.

Pot haver un cas en que es mostra el missatge “Connexió correcta” i desprès“Recepció de dades” però no es visualitza res en el quadre Dades Rebudes, això significaque hi ha un problema de comunicació entre la placa de monitoritzacio per PC il’ aplicació. Per solucionar-ho, cal anar a opcions i incrementar el valor de l’ opcióDelay E/S ( valor compres entre 1 i 99 ) fins que funcioni.

Quan ja s’ ha configurat la placa de monitoritzacio per PC, solament quedaconfigurar tal com s’ ha explicat abans les altres plaques de monitoritzacio que estaninstal·lades en diferents maquines dispensadores.

Per últim, des de la central, es recomanable interrogar a totes les maquinesdispensadores per comprovar que tot funciona correctament.

Page 75: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

66

3.8.1 Quadre Resum de la Configuració de la Placa de Monitoritzacio:

Indicació del display Situació en que ens trobem Possibles solucions

No es mostra res La placa no rep cap senyal Comprovar les connexions de lesdiferents plaques i si estan be,incrementar el guany de l’ etapareceptora fent girar una mica laresistència R51 en el sentit de lesagulles del rellotge

Es mostra un 1 La placa rep algun senyal,però no rep les dades de formacorrecta

En aquest cas, proveu també aincrementar el guany de l’ etapareceptora

Es mostra un 2 La placa rep correctament,però la placa que hi ha a lacentral no rep les dades

En aquest cas, la placa ja es trobaconfigurada i s’ ha de passar aconfigurar la placa que hi ha a lacentral.

Es mostra un 0 El sistema esta configurat No cal fer res mes

Taula 3. Quadre Resum de la Configuració de la Placa de Monitoritzacio

Page 76: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

67

3.8.2 Quadre Resum de la Configuració de la Placa de Monitoritzacio per PC:

Quadre Estat Situació en que ens trobem Possibles solucions

Error de connexió La placa no rep cap senyal Comprovar les connexions deles diferents plaques i si estanbe, incrementar el guany del’ etapa receptora fent giraruna mica la resistència R44 enel sentit de les agulles delrellotge

Error sèrie La placa rep algun senyal,però no rep les dades deforma correcta

En aquest cas, proveu també aincrementar el guany de l’ etapareceptora

Connexió correcta, peròno es mostra res en elquadre Dades Rebudes

La placa rep correctament,però falla la comunicacióentre la placa i l’ aplicacióGestió Remota

En aquest cas, s’ incrementa elvalor de Delay E/S en opcions

Connexió correcta El sistema esta configurat No cal fer res mes

Taula 4. Quadre Resum de la Configuració de la Placa de Monitoritzacio per PC

Page 77: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

68

3.9 Descripció de l’ us del Software

Aquest programa permet rebre dades de maquines dispensadores, interrogar una omes maquines i gestionar l’ informació de la base de dades.

3.9.1 Explicació de l’ Interfície del Programa

El programa Gestió Remota esta format principalment per tres quadres, un quemostra l’ ultima informació rebuda, un altre que mostra totes les dades rebudes per ordred’ arribada i un que mostra l’ estat de l’ aplicació. A mes disposa de diferents menús i undiversos botons. En la següent figura es pot veure una imatge del programa:

Figura 34. Aplicació Gestió Remota

Icona delprograma

Formulariprincipal

Barra detasques deWindows

Page 78: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

69

3.9.1.1 Descripció dels Menús

En l’ aplicació hi ha cinc menús, els quals son:

1. Arxiu: esta format per dos submenus. Aquests son:

• Obrir Base de Dades: mostra el quadre de diàleg obrir base de dades ones pot seleccionar el fitxer que conte l’ informació de les maquinesdispensadores.

• Sortir: oculta el formulari principal però no tanca l’ aplicació.

2. Base de Dades: conte les opcions bàsiques per introduir informació a la base dedades. Aquest menú esta format per dos submenus:

• Maquines: mostra un formulari on es pot introduir les dades d’ unamaquina dispensadora. També permet editar i esborrar l’ informació deles maquines.

• Tipus Maquina: mostra un formulari on es pot introduir les dades d’ untipus de maquina. També permet editar i esborrar l’ informació del tipusde maquina.

3. Opcions: mostra diverses opcions que permeten configurar l’ aplicació. Estaformat per tres submenus:

• Iniciar Minimitzat: si esta activada aquesta opció, l’ aplicació s’ iniciaminimitzada en la barra de tasques mostrant una icona.

• Mode Test: si esta activada aquesta opció, el programa mostra un nouboto anomenat Test. Aquest boto permet interrogar maquinessimplement introduint el seu numero de telèfon encara que no hi hagicap informació a la base de dades. També s’ encarrega de configurar laplaca de monitoritzacio per PC en Mode Test. Aquest mode realitza unpetits canvis en la rutina de comunicacions sèrie de la placa.

• Opcions: mostra un formulari on es poden configurar diversosparàmetres de l’ aplicació. Es pot seleccionar l’ adreça que utilitza laplaca de monitoritzacio per PC, el Delay E/S i la base de dades ques’ utilitza per defecte.

Page 79: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

70

4. Log: mostra diverses opcions relacionades amb el fitxer on es guarda elssuccessos que han passat en aquella sessió. Esta format per dos submenus:

• Veure Log: mostra el fitxer Log.txt amb el programa Notepad deWindows.

• Mode Log: quan esta activada aquesta opció, deshabilita uns quantsmissatges que requereixen l’ atenció per part de l’ usuari i fa que elsmissatges es guardin en el fitxer de Log d’ aquella sessió. Si aquestmode no es troba activat i es produeix algun missatge, si l’ usuari norespon al mateix, llavors l’ aplicació es queda en aquell punt detingudaesperant la confirmació per part de l’ usuari.

5. Ajuda: esta format pel submenu Sobre l’ Aplicació, que mostra un formulari ones pot veure el logotip de l’ ETSE, el títol del projecte, el director i l’ autor.

Page 80: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

71

3.9.1.2 Funcionament del Programa

Quan s’ instal·la el programa, es crea un accés directe en el grup de programes Inici,el qual permet que l’ aplicació Gestió Remota 1.0 es carregui cada vegada que arrancaWindows. El programa per defecte s’ inicia minimitzat en la barra de tasques de Windowson es mostra una icona.

Per poder veure el formulari principal de l’ aplicació, s’ ha de pitjar el boto dret delratolí sobre l’ icona del programa que es troba en la barra de tasques. Aleshores apareix unmenú on es selecciona l’ opció Mostrar Gestió Remota. També es pot fer el mateix fentDoble-click sobre l’ icona del programa Gestió Remota. D’ aquesta forma el formulariprincipal ja es visible i es pot començar a realitzar operacions amb la base de dades( introduir o modificar dades ) o consultar l’ estat d’ una o mes maquines dispensadores.

Si es pitja el boto tancar del formulari principal o es pitgen les tecles Alt+F4, no essortirà de l’ aplicació sinó que simplement el formulari principal s’ ocultarà.

Per sortir de l’ aplicació, s’ ha de pitjar el boto dret del ratolí sobre l’ icona delprograma i seleccionar l’ opció Sortir Programa del menú que ha aparegut.

El programa Gestió Remota solament permet que hi hagi una instància activa, es adir no es pot executar dos o mes programes Gestió Remota a la vegada. Això es realitza perque solament un programa accedeixi a la placa monitoritzacio per PC i evitar que aquestapugui deixar de funcionar correctament.

En el quadre Estat, es mostra alguns missatges que indiquen com ha anat lacomunicació telefònica. Pot indicar error de connexió quan l’ altra maquina no ha resposten el temps prefixat o pot indicar error sèrie quan no s’ han rebut les dades de formacorrecta. També pot mostrar informació sobre el driver, indicant que no s’ ha pogut obrir.Si el driver no s’ ha inicialitzat correctament, l’ aplicació Gestió Remota no podrà rebre resni interrogar cap maquina i solament podrà realitzar operacions amb la base de dades.

Quan ja es té introduï t almenys un tipus de maquina i també com a mínim unamaquina, llavors ja s’ esta preparats per interrogar o rebre dades de les maquinesintroduï des a la base de dades. Si s’ ha oblidat d’ introduir alguna maquina a la base dedades, llavors no es pot interrogar i si es rep alguna transmissió d’ ella, apareix un missatgeindicant que l’ identificador no es troba a la base de dades i no es mostra cap mesinformació.

Page 81: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

72

Per rebre les dades de les maquines que es monitoritzen, s’ ha de tindré l’ aplicaciófuncionant, ja que sinó, la placa de monitoritzacio per PC rebrà l’ informació però desprèses quedarà esperant de forma indefinida a poder transmetre les dades a l’ aplicació, enaquest estat ja no podrà rebre cap mes informació fins que s’ activi l’ aplicació i aquesta escomuniqui amb la placa de monitoritzacio per PC.

Un cop explicat les opcions de l’ aplicació, passarem a explicar com realitzaroperacions amb la base de dades, com funciona quan rep alguna comunicació o quans’ interroga alguna maquina dispensadora.

Page 82: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

73

3.9.2 Com Realitzar Operacions amb la Base de Dades

Primer s’ explicarà com esta organitzada la base de dades i el format d’ aquesta.

L’ aplicació Gestió Remota utilitza una base de dades Microsoft Access 2000, encaraque també suporta versions mes antigues. L’ aplicació es distribueix amb dues base dedades buides. Una es Microsoft Access 2000 i l’ altra es Microsoft Access 97.

Les dades de les maquines dispensadores i del tipus de maquina també es podenintroduir directament des de Microsoft Access 2000 o des de Microsoft Access 97.

Per evitar duplicar certa informació, la base de dades esta organitzada en dues taules.En la primera es guarda l’ informació de la maquina dispensadora i en la segona es guardal’ informació referent al tipus de maquina.

Una taula es una col·lecció de dades sobre un tema específic, com productes oproveï dors. La utilització d’ una taula diferent per cada tema significa que s’ emmagatzemenles dades solament una cop, lo qual fa augmentar l’ eficàcia de la base de dades, i redueixerrors d’ entrada de dades.

Les taules organitzen dades en columnes (denominades camps) i files (denominadesregistres).

Un camp comú relaciona dues taules de manera que la primera pugui accedir ainformació de la segona de forma senzilla.

L’ informació de les maquines dispensadores que es guarda a la taula 1 de la base dedades es la següent:

1. Identificador: xifra compresa entre 1 i 9999 que serveix per diferenciar a cadamaquina dispensadora. S’ utilitza com a índex d’ aquesta taula i no es potrepetir.

2. Tipus Maquina: nom que s’ assigna a un determinada classe de maquines.Aquest camp es comú a les dues taules i serveix per accedir a la segona taula dela base de dades.

3. Situació: on es troba la maquina dispensadora.

4. Telèfon: numero de telèfon que te la maquina dispensadora.

Page 83: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

74

L’ informació sobre el tipus de maquina que es guarda a la taula 2 de la base dedades es la següent:

1. Tipus Maquina: nom que s’ assigna a una determinada classe de maquines.Aquest camp serveix com a índex de la segona taula i permet a la primeraaccedir a les descripcions de les entrades.

2. Descripció de les entrades: indica que representa cada entrada, es pot assignarun producte o event a cada una d’ elles.

Page 84: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

75

3.9.2.1 Introducció d’ Informació a la Base de Dades

Abans d’ introduir qualsevol informació d’ una maquina dispensadora, l’ aplicaciórequereix que hi hagi al menys un tipus de maquina en la base de dades. Per això, el primerque s’ ha de fer a l’ hora d’ introduir dades, es ficar l’ informació d’ un tipus de maquina.

3.9.2.1.1 Introducció d’ un Tipus de Maquina a la Base de Dades

Per introduir el tipus de maquina, el que s’ ha de fer es anar al menú de Base deDades, llavors es desplega un submenu i d’ allí s’ escull l’ opció Tipus de Maquina. Uncop fet això ens sortirà un formulari on es pot introduir el nom del tipus de maquina i unadescripció per a cada entrada. En la següent figura es pot veure el formulari per introduir eltipus de maquina:

Figura 35. Formulari Tipus de Maquina

Page 85: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

76

Per afegir un tipus, es pitja el boto Afegir i s’ introdueix les dades corresponents.S’ ha d’ introduir el nom del tipus de maquina i la descripció de les entrades ques’ utilitzen.

Quan ja s’ ha introduï t les dades, si son correctes i les volem guardar a la base dedades, es pitja el boto Confirmar.

El nom del tipus de maquina ha de ser únic i en el cas que es volgués introduir unnom que ja es troba a la base de dades, l’ aplicació mostrarà un missatge indicant que hi haun índex repetit. En aquest cas només cal canviar el nom del tipus de maquina i tornar apitjar el boto Confirmar. Si no es volgués introduir el nou tipus, solament s’ ha de pitjarqualsevol boto excepte el de Confirmar.

Per exemple si es pitgés el boto acceptar, es tornaria al formulari principal però nohauria guardat les dades a la base de dades.

Amb els botons Primer, Anterior, Següent i Últim, es pot desplaçar per els diferentstipus de maquina que hi ha guardats a la base de dades per ordre d’ introducció.

3.9.2.1.2 Edició d’ un Tipus de Maquina

Per editar un tipus de maquina, primer s’ ha de situar en ell i es pitja el boto Editar.Llavors es realitza les correccions adients i si es vol guardar els canvis, es pitja el botoConfirmar i sinó qualsevol altre.

3.9.2.1.3 Esborrar un Tipus de Maquina

Per esborrar un tipus de maquina, simplement s’ ha de situar en ell i pitjar el botoEsborrar. L’ aplicació donarà un missatge d’ error si en la primera taula hi ha algunregistre ( maquina ) que tingui com a tipus de maquina el que es vol esborrar. D’ aquestaforma s’ evita esborrar un tipus de maquina que encara esta en us.

3.9.2.1.4 Introducció de l’ informació d’ una Maquina

Quan ja s’ ha introduï t com a mínim un tipus de maquina, ja es pot introduirl’ informació d’ una maquina. Per fer això, anirem al menú de Base de Dades, es desplegaun submenu i d’ allí s’ escull l’ opció Maquines. Llavors apareix un formulari amb quatrecamps, els quals s’ han d’ omplir tots de forma obligatòria. Si es deixa algun camp buit,apareix un missatge indicant que hi ha algun camp incorrecte.

Page 86: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

77

En la següent figura es pot veure el formulari per introduir les dades de les maquines:

Figura 36. Formulari Maquines

Per afegir una maquina, es fa com s’ introduíssim un tipus de maquina, es a dir espitja el boto Afegir, llavors s’ introdueix les dades als seus camps corresponents i desprèses pitja el boto Confirmar per guardar-les i sinó qualsevol altre per no guardar res.

Si s’ introdueix un identificador no vàlid, llavors apareix un missatge indicant que“L’ identificador es incorrecte”. Però si es vol introduir un identificador que ja es troba a labase de dades, apareix un missatge indicant que hi ha algun índex duplicat.

Per introduir el Tipus maquina, només s’ ha d’ escollir un mitjançant el ComboBoxque hi ha en el formulari.

Sobre el camp Situació, solament es mira que no estigui buit i no es realitza capcomprovació mes.

El camp Telèfon, perquè es consideri correcte, ha de tenir mes de dues xifres i had’ estar escrit tot seguit sense cap espai ni guio ni cap altre separador, ja que sinó apareix elmissatge que indica que hi ha algun camp incorrecte.

Page 87: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

78

3.9.2.1.5 Edició de l’ informació d’ una Maquina

Per editar l’ informació d’ una maquina, solament cal pitjar el boto Editar i realitzarles correccions adients. Després si es vol guardar els canvis, es pitja el boto Confirmar i enel cas contrari qualsevol altre.

3.9.2.1.6 Esborrar l’ informació d’ una Maquina

Per esborrar l’ informació de la maquina que es visualitza, simplement s’ ha de pitjarel boto Esborrar.

Page 88: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

79

3.9.3 Com Comprovar si ha Trucat Alguna Maquina

Si ha trucat alguna maquina, l’ informació es visualitza tant en el quadre UltimesDades com en el quadre Dades Rebudes. En aquest últim quadre es guarden les dades deles comunicacions que s’ han rebut en aquella sessió en l’ ordre d’ arribada. Quan hi hames de 10 entrades en el quadre de Dades Rebudes, llavors apareix una barra de scroll quepermet desplaçar-se per tal de mostrar totes les dades. En el quadre Ultimes dades, esmostra algunes dades de l’ ultima comunicació.

Si es pitja el boto Mostrar Detalls que hi ha en el formulari principal, apareix un nouformulari. En aquest formulari es mostra totes les dades de l’ ultima comunicació rebuda ode la comunicació que s’ ha seleccionat en el quadre Dades Rebudes amb el ratolí fen clickamb el boto esquerre sobre la fila d’ aquella comunicació.

Page 89: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

80

3.9.4 Com Interrogar a una o mes Maquines

Per interrogar una o mes maquines, s’ ha de pitjar el boto Interrogar Maquines delformulari principal, llavors apareix un altre formulari sempre i quan la base de dades no estrobi buida. Si no hi hagués cap informació, aleshores es mostra un missatge indicant que“No hi ha cap registre a la base de dades”.

En aquesta figura es pot veure el formulari Interrogar Maquines:

Figura 37. Formulari Interrogar Maquines

Page 90: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

81

En aquest formulari, es pot realitzar quatre tipus de consultes:

1. Consulta basada en l’ Identificador: es pot introduir un o diversos identificadorsseparats per comes o intervals d’ identificadors en ordre creixent separats per unguio. Si s’ introdueix alguna expressió incorrecta o algun identificadorincorrecte, apareix el missatge de sintaxis incorrecta. Els valors separats percomes, a part de ser identificadors vàlids, han d’ estar ordenats de formacreixent, ja que sinó ho considera com a error. Es poden barrejar l’ us dediversos identificadors separats per comes i l’ us d’ intervals separats per unguio. Si es repeteix un identificador, ho considerarà un error i mostra elmissatge sintaxis incorrecta. Aquí hi ha alguns exemples :

Exemples Sintaxis Comentari

1 Correcta Introduï m simplement un identificador

1,5,7 Correcta Introduï m diversos Identificadors separatsamb comes

10-20 Correcta Interval ordenat de forma creixent

21-30,32 Correcta Conjunt d’ un interval amb un identificadorseparat amb una coma

0 Incorrecta Identificador no vàlid ha d’ estar compresentre 1 i 9999

4,3 Incorrecta Conjunt d’ identificadors ordenats de formadecreixent

23-21 Incorrecta Interval ordenat de forma decreixent

6, Incorrecta Com hi ha una coma s’ espera un altreidentificador

7- Incorrecta Com hi ha un guio s’ espera un altreidentificador per tal d’ expressar un interval

Taula 5. Exemples d’ Identificadors

2. Consulta basada en el Tipus de maquina: aquí solament s’ haurà de seleccionarel tipus de maquina que interessa del ComboBox.

3. Consulta basada en la Situació de la maquina: aquí s’ ha d’escriure el lloc on estroba la maquina o maquines que ens interessa interrogar.

4. Consulta basada en el numero de Telèfon: aquí solament s’ ha d’ escriure elnumero de telèfon el qual ha de tindré mes de dues xifres i s’ ha d’ escriure totseguit i sense cap mena de separador.

Page 91: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Manual d’ Usuari

82

Un cop feta la consulta, els resultats es mostren al quadre Maquines Seleccionades desota. Si la consulta ha trobat alguna maquina, llavors habilita el boto Interrogar Maquinesd’ aquest formulari. Si es pitja aquest boto, l’ aplicació interroga a totes les maquines quees troben en el quadre Maquines Seleccionades de forma seqüencial.

Quan es pitja el boto Interrogar Maquines, apareix un altre formulari el qual conteuna barra que indica el progrés de les interrogacions i un boto que permet cancel·lar lesinterrogacions pendents, però no la que s’ esta fen en aquell moment.

Si es vol interrogar la maquina dispensadora que té l’ identificador 1000, llavorss’ ha d’ escriure el numero 1000 en el quadre on fica identificador. Desprès es pitja el botoque conte una icona amb forma de lupa per tal de fer la consulta a la base de dades. Si lamaquina amb l’ identificador 1000 es troba a la base de dades, es mostra les seves dades alquadre de sota i llavors s’ habilita el boto Interrogar Maquines. Es pitja aquest boto iapareix un altre formulari indicant que s’ esta fent la consulta de la maquina ambl’ identificador 1000. També es pot veure la barra que indica el progrés de lescomunicacions i el boto Cancel·lar que en aquest cas no serveix per res ja que noméscancel·la les interrogacions pendents.

Page 92: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria de Càlcul

83

4 Memòria de Càlcul

Page 93: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria de Càlcul

84

4.1 Placa de Monitoritzacio ( Maquina Dispensadora )

4.1.1 Circuit del Regulador de Tensió

Serveix per estabilitzar la tensió del circuit i compensar la caiguda de tensió delsdiodes del sistema d’ alimentació d’ emergència.

VCC

C13100 nF1

2

R1

220

1 2

JP3

BATERIA

12

JP6

VCC

12

+ C121000 uF

12

R2500

13

2

R22330

12

C14100 nF

12

D21N4148

12

JP4

VCC_MICRO

12

D11N4148

1 2

D31N4004

12

C17100 nF1

2

U1LM317

VIN3

AD

J1

VOUT2

+ C161000 uF

12

+ C151000 uF

12

JP5

ALIMENTACIO

12

Tensio de Referencia

Vcc Micro

Figura 38. Esquema del Regulador de Tensió

A la sortida del regulador es vol tindré una tensió màxima de 6 V, ja que si li restemla caiguda de tensió que provoca el diode ( uns 0.7 V ), llavors s’ obtindrà uns 5.3 V que esuna mica mes de la tensió que necessita el circuit però que no li pot provocar cap dany.Desprès amb la resistència variable R2 es pot ajustar la tensió de sortida per a que la tensiódel circuit i del microcontrolador sigui de 5 V.

+

+⋅=1

222125.1

RRR

Vsortida ( 1 )

S’ agafa com a valor de la resistència variable R2 500 Ω i després es calcula el valorde la resistència R22 per a obtindré una tensió de sortida en el regulador de 6V.

Page 94: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria de Càlcul

85

Com a valor de R1, s’ agafa un valor típic que es de 220 Ω.

Ω≈−⋅

= 3305002201

25.16

22R ( 2 )

Per tal que el regulador de tensió LM 317 funcioni correctament i pugui dissipar totala calor que genera, es necessari instal·lar-li un dissipador de Rth 4K/W.

Page 95: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria de Càlcul

86

4.1.2 Circuit de Control del Mode de Baix Consum del µµC

4.1.2.1 Càlcul de l’ Histèresi del Comparador

Figura 39. Esquema d’ un Comparador amb Histèresi

El comparador amb histèresi de la figura 39, es pot representar de la següent forma:

Figura 40. Model d’ un Comparador amb Histèresi

Del model anterior s’ obté les següents formules:

( ) 1221

2VVoutVoutV

RRR

Vi −+−⋅+

= ( 3 )

Page 96: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria de Càlcul

87

En aquest circuit existeixen dues zones de funcionament:

1. Zona de saturació negativa, caracteritzada per:

Vout ≈ 0 Vi < 0

2. Zona de saturació positiva, caracteritzada per:

Vout ≈ Vcc Vi > 0

Llavors per calcular l’ histèresi del circuit, s’ ha de calcular les tensions de llindar enles dues zones de funcionament. Les tensions de llindar s’ aconsegueixen quan la tensióVi = 0, llavors s’ aplica les característiques de cada zona de funcionament.

( ) 01221

2=−+−⋅

+VVoutVoutV

RRR

( 4 )

( ) VoutR

RRVoutVV +

+

⋅−=2

2112 ( 5 )

Ω=⋅Ω

=⋅= KVV

KVcc

VHR

R 2055.2

1071 ( 6 )

Càlcul de la tensió de llindar quan ens trobem a la zona 1:

Vout ≈ 0

( )2

1)21(2

011211

RVRR

RRVRR

VL⋅+

=⋅−⋅+

= ( 7 )

Càlcul de la tensió de llindar quan ens trobem a la zona 2:

Vout ≈ Vcc

( )2

11212

RVccRVRR

VL⋅−⋅+

= ( 8 )

Page 97: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria de Càlcul

88

Aleshores el valor de l’ histèresi, es el següent:

( )Vcc

RR

RVccRVRR

RVRR

VLVLVH ⋅=

⋅−⋅+

−⋅+

=−=21

21121

21)21(

21 ( 9 )

4.1.2.2 Càlcul de la Polarització del Diode Zener

VCC

VCC

VCC

R4120

12

R81 K

1 2

R1910 K

12

R610 K

12

R111 K

13

2

D63V3

12

R3 470K13

2

+

- U7LM311

2

37

5 64 1

8

R510 K

1 2 Tensió de Referencia

Sortida Comparador

Figura 41. Esquema de Polarització del Diode Zener

La tensió de referència del comparador amb histèresi, s’ ha estabilitzat amb un diodeZener, per evitar que li afectin petites baixades de tensió del regulador. Ja que aquestcircuit ha de detectar el mes aviat possible quan la tensió d’ alimentació baixa per sota dela tensió mínima que suporten els diversos circuits integrats i el microcontrolador.

S’ ha agafat com a valor de la resistència variable R11 1 KΩ.

Si es considera que el corrent que absorbeix el amplificador operacional es nul·la,llavors el corrent que circula per la resistència variable R11 es de:

mAR

VZenerIR 3.3

1111 == ( 10 )

Page 98: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria de Càlcul

89

Després es selecciona el corrent de polarització del diode Zener que serà de 10 mA illavors amb la següent formula es pot calcular la resistència de polarització R4:

Ω≈+−

=+

−= 120

3.3103.35

114

mAmAIRIzenerVZenerVcc

R ( 11 )

4.1.2.3 Càlcul de la Xarxa de Retard

R12100 K

1 2

C23220 nF

12

U13A

4093

1

23

D51N4148

12

EntradaSortida

Figura 42. Esquema de la xarxa de retard

A la sortida del comparador amb histèresi, es col·loca una xarxa de retard per evitarque es realitzi el Reset del microcontrolador abans que s’ hagi restaurat completament latensió d’ alimentació quan el microcontrolador es trobava en mode de baix consum per talde mantenir les dades de la seva memòria RAM.

S’ ha escollit un temps de retard d’ uns 20 ms i com a valor de R12 s’ agafat100 KΩ.

T = R12·C23 à C23 = T/R12 = 20 ms/100 KΩ ≈ 220 nF (12 )

Page 99: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria de Càlcul

90

4.1.2.4 Càlcul de la Durada del Reset del Microcontrolador

VCC VCCVCC

R9100 K

12

SW3

RESET

12

U13B

4093

5

64

R1010 K

12

C21220 nF

1 2

D41N4148 1

2

ResetEntrada

Figura 43. Esquema del circuit de Reset

El fabricant recomana un temps de 10 ms per tal que permeti al oscil·lador internarrancar i estabilitzar-se. S’ ha optat per implementar un circuit amb una constant de tempsel doble ( 20 ms ), per tal d’ assegurar-se que el Reset es realitzi de forma correcta. Com avalor de R9 s’ ha escollit 100 KΩ i llavors s’ ha calculat el valor de C21:

τ = R9 · C21 à C21 = τ / R9 = 10 ms / 100 KΩ ≈ 220 nF ( 13 )

Page 100: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria de Càlcul

91

4.1.3 Circuit de l’ Amplificador Sumador

VCC

R4310 K

12C36

470 nF1 2

C2015 nF

1 2

R3010 K

1 2

R4210 K

1 2

R4410 K

1 2

R2510 K

1 2

R1710 K

1 2

R384K7

12

C3533 nF

12

R2422 K

12

R4510 K

1 2

C2510 nF

1 2

C27470 nF

1 2

R2710 K

1 2

C34470 nF

12

R286K8

1 2

R1310 K

1 2

C296.8 nF

1 2

R710 K

1 2

C22470 nF

1 2

C2610 nF

1 2

C32470 nF

1 2

+

- U8DLM324

12

1314

+

- U8BLM324

5

67

+

- U8ALM324

3

21

+

- U8CLM324

10

98

Entrada 1

Entrada 2

Entrada Senyal Modulada

Sortida

Figura 44. Esquema del circuit Amplificador Sumador

Abans d’ arribar al amplificador sumador s’ han col·locat tres filtres passa-baix,encara que al ficar els condensadors per desacoblar la continua, tinguin un comportamentde filtre passa-banda. Cada un d’ ells te la seva pròpia freqüència de tall.

El circuit format per l’ amplificador operacional U8A, ha de tindré una freqüència detall de 1000 Hz per tal que puguin passar perfectament senyals de 941 Hz que s’ utilitzenper realitzar la marcacio DTMF.

El circuit format per l’ amplificador operacional U8B, ha de tindré una freqüència detall de 1500 Hz per tal que puguin passar perfectament senyals de 1477 Hz.

Page 101: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria de Càlcul

92

El circuit format per l’ amplificador operacional U8D, ha de tindré una freqüència detall de 2400 Hz per tal que puguin passar perfectament la senyal portadora.

Els tres presenten un guany unitari.

La formula per calcular la freqüència de tall d’ un filtre passa-baix de primer ordre esla següent:

CRf

⋅⋅⋅=

π21

( 14 )

S’ agafa com a valor de la resistència 10 KΩ i després es calcula el condensador ambla formula 14.

fRC

⋅⋅⋅=

π21

( 15 )

Càlcul del condensador del operacional U8A:

Ω=⋅Ω

=⋅= KVV

KVcc

VHR

R 2055.2

1071 ( 16 )

Càlcul del condensador del operacional U8B:

nFHzKfR

C 101500102

1252

125 ≈

⋅Ω⋅⋅=

⋅⋅⋅=

ππ( 17 )

Càlcul del condensador del operacional U8D:

nFHzKfR

C 8.62400102

1422

129 ≈

⋅Ω⋅⋅=

⋅⋅⋅=

ππ( 18 )

Page 102: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria de Càlcul

93

Càlcul del condensador del operacional U8D:

nFHzKfR

C 1024008.62

1282

126 ≈

⋅Ω⋅⋅=

⋅⋅⋅=

ππ( 19 )

Després l’ amplificador sumador realitzat amb el amplificador operacional U8C,s’ ha calculat perquè realitzi una petita atenuació i també actua com a filtre passa-baix ambuna freqüència de tall de 2400 Hz. Aquesta es la freqüència de tall mes gran de les tresetapes anteriors, per tal que les tres senyals passin correctament.

A la sortida de l’ amplificador sumador, se ha connectat un altre filtre passa-baix deprimer ordre amb una freqüència de tall de 2400 Hz.

Càlcul del condensador del filtre connectat a la sortida de l’ amplificador sumador:

S’ ha escollit 4K7 com a valor de la resistència R38 i llavors es calcula elcondensador C35:

nFHzKfR

C 1524007.42

1382

135 ≈

⋅Ω⋅⋅=

⋅⋅⋅=

ππ( 20 )

Per a que els operacionals puguin treballar amb una tensió simple, s’ han depolaritzar les seves entrades no inversores amb una tensió que normalment es la meitat dela tensió d’ alimentació. En aquest cas, degut al marge de tensió de sortida que té eloperacional LM 324 que va des de 0 a uns 3 V, s’ ha polaritzat a uns 1.5 V per tald’ obtenir el màxim de senyal sense distorsió per saturació de la sortida .

Page 103: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria de Càlcul

94

4.1.4 Circuit Modulador

C3122 nF

12

R48

10 K

1 2

R4633 K

1 2

U11D

4093

12

13

11 U11B

4093

5

64

C3033 nF

12U11A

4093

1

23

PE

Sortida Modulador

TXD

Figura 45. Esquema del Circuit Modulador

4.1.4.1 Càlcul de la freqüència del multivibrador

La freqüència d’ aquest multivibrador depèn molt de l’ histèresi de la porta NANDtrigger Schmitt. Variacions d’ aquesta histèresi pot provocar variacions de freqüènciaimportant.

Per calcular la freqüència, s’ ha d’ esbrinar el temps que triga la tensió en anar d’ unatensió llindar a l’ altra i viceversa.

El primer cicle del multivibrador te una duració bastant mes llarga ja que elcondensador es troba descarregat.

La tensió del condensador oscil·larà entre els valors de les tensions llindar.

Amb la següent formula es pot saber quan temps triga un xarxa RC en obtenir un certnivell de tensió:

CRt

eVInicialVFinalVFinalV ⋅−

⋅−−= )( ( 21)

Page 104: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria de Càlcul

95

El primer semiperiode del senyal quadrat que obtenim a la sortida, serà igual altemps que triga el condensador en passar de la tensió de llindar inferior ( VLi ) a la tensióllindar superior ( VLs ). L’ altre semiperiode, serà igual al temps que triga en passar de latensió VLs a la tensió VLi.

De forma experimental s’ ha obtingut els valors de les tensions llindar d’ una portaCMOS NAND trigger Schmitt:

VLi ≈ 2.30 V

VLs ≈ 2.80 V

Per a fer els càlculs es considera que la constant de temps RC es igual a 1.

Llavors el primer semiperiode T1, serà igual a:

teVLiVccVccVLs −⋅−−= )( ( 22 )

te−⋅−−= )30.25(580.2 ( 23)

815.07.22.2

=−−

=−te ( 24)

( ) 205.0815.0 −==− LNt ( 25)

T1 = t = 0.205 segons

El segon semiperiode T2, serà igual a:

te−⋅−−= )80.20(030.2 ( 26)

821.080.230.2

==−te ( 27)

( ) 197.0821.0 −==− LNt (28 )

Page 105: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria de Càlcul

96

T1 = t = 0.197 segons

Ara es pot calcular el període del senyal que s’ obté:

T = T1 + T2 = 0.205+0.197 = 0.402 segons à F = 1/T = 2.491 Hz (29 )

Aquest resultat es per una constant de temps RC = 1, llavors, si s’ expressa lafreqüència obtinguda en funció de la constant de temps RC, obtenim:

F = 2.491 / R·C ( 30)

D’ aquesta forma, la formula per calcular la freqüència d’ aquest multivibrador es lasegüent:

F = 2.491/ R46·C31 ( 31)

Si R46 es igual a 33 KΩ i volem obtindré una freqüència de 2400 Hz, llavors elcondensador C31 valdrà:

C31 = 2.491/ R46·F = 2.491 / 33 KΩ · 2400 Hz ≈ 33 nF ( 32 )

A la practica, amb el valor C31 de 33 nF, el multivibrador donava una freqüènciabastant mes baixa que 2400 Hz, i es va canviar el seu valor per 22 nF.

Page 106: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria de Càlcul

97

4.1.4.2 Càlcul del filtre passa-baix

Aquest filtre s’ ha calculat per atenuar la senyal i disminuir els harmònics. La sevafreqüència de tall es de 400 Hz.

La senyal digital del multivibrador s’ ha de reduir per evitar que saturi a la etapasumadora, i en comptes d’ utilitzar un divisor de tensió i després filtrar, el que s’ ha fet esreduir la freqüència de tall del filtre passa-baix perquè atenuí la senyal a mes delsharmònics.

S’ ha es collit com a valor de la resistència R36, 10 KΩ i després es calcula el valordel condensador C32 amb la formula següent:

nFHzKfR

C 33400102

1362

132 ≈

⋅Ω⋅⋅=

⋅⋅⋅=

ππ( 33 )

4.1.5 Circuit Demodulador

VCC

D71N4148

1 2

U13D4093

12

13

11

R472M2

12

U11C4093

891

0

C33220 pF

12

R5210 K

1 2

U13C4093

891

0

Sortida Demodulador

Entrada Demodulador

Figura 46. Esquema del Circuit Demodulador

Page 107: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria de Càlcul

98

Aquest circuit esta basat en una bàscula monoestable com el de la figura següent:

VCC

12

1311

C33220 pF

12

8

910

R472M2

12

Entrada BasculaSortida Bascula

Figura 47. Esquema de la Bàscula Monoestable

Per tal d’ implementar el demodulador, la bàscula monoestable, ha de serredisparable. Però la bàscula que hi ha en la figura 47 no ho es, llavors es va realitzar unapetita modificació al circuit perquè ho fos.

En una bàscula monoestable no redisparable, la sortida solament pot estar activadurant un temps igual a la constant RC, encara que rebés mes impulsos. Aquestcomportament no permet implementar un demodulador d’ amplitud.

En canvi, una bàscula monoestable redisparable, si que permet integrar els senyals dela portadora i en canvi deixa passar l’ informació amb que ha estat modulada en amplitud.

La sortida de la bàscula monoestable es troba a nivell baix mentre el condensador escarrega, aquest temps es igual a R·C. En el disseny de la figura anterior, un cop que elcondensador es comença a carregar, no hi ha cap forma de fer que s’ aturi i la sortida estaràa nivell baix mentre es carregui. Però fins que no es descarregui, no funcionarà de formanormal, aquest comportament no es el correcte per fer un demodulador d’ amplitud. Ambla modificació que s’ ha fet, encara que s’ estigui carregant el condensador, si rep un nouimpuls a la seva entrada, provoca la descarrega del condensador i llavors la sortida estarà anivell baix durant un temps R47·C33 desprès d’ haver rebut el nou impuls. En canvi laversió original, encara que rebés el nou impuls, la sortida hauria de passar a nivell alt perforça, per descarregar el condensador i així preparar-se per rebre un nou impuls.

El diode D7 te la missió de deixar passar solament la tensió negativa, per evitar quela positiva a traves de la resistència R52 de 10 KΩ, carregues mes ràpid el condensador ifes que la sortida estigui a nivell baix durant un temps R52·C33, quan ho hauria d’ estar untemps R47·C33.

Page 108: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria de Càlcul

99

La resistència R52, te la funció de limitar el corrent que prové de la porta NANDU11C, per evitar pics de corrent quan es descarrega el condensador C33.

La constant de temps R47·C33 ha de ser igual o superior al període de la senyalportadora, però ha de ser inferior al període de la senyal que modula a la portadora.

El període de la senyal portadora es de :

msHz

T 641.02400

1== ( 34 )

Llavors, agafant com a període T = 0.5 ms i el valor de R47 com 2M2, es passa acalcular el condensador C33:

pFM

msRT

C 22022

5.047

33 ≈== ( 35 )

4.2 Placa de Monitoritzacio per PC

4.2.1 Amplificador Sumador

VCC

R4610 K

12

R396K8

12

ISO1CNY17

12

54

R3810 K

12

C24470 nF

1 2 R261 K

1 2

C27470 nF1 2

Entrada

Sortida

Gnd 2

Vcc 2

Figura 48. Esquema del Circuit Optoacoplador

Page 109: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria de Càlcul

100

4.2.1.1 Càlcul de la Polarització dels Optoacopladors

El Led del optoacoplador, es polaritza amb un corrent bastant petit, d’ aquesta formala tensió col·lector emissor del Fototransistor es queda gran part de la tensió. ElFototransistor esta connectat amb una configuració emissor comú on s’ ha connectar unaresistència al emissor per evitar que es saturi.

S’ ha determinat experimentalment que un corrent de 0.5 mA per polaritzar al Led,dona bons resultats.

La senyal procedent de l’ amplificador sumador es injectat a traves d’ una resistènciade valor 1 KΩ i un condensador per desacoblar la tensió continua, modulant la lluminositatdel Led.

La modulació d’ amplitud de l’ intensitat lluminosa del Led, provoca variacions en latensió col·lector-emissor del fototransistor i la senyal passa a la placa interfície telefònica.

Page 110: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria de Càlcul

101

4.2.2 Circuit de Recepció del Senyal Telefònic

VCC

ISO2

CNY17

12

54

R4310 K

12

C301 uF

12

R4710 K

12

R344K7

1 2

R301 K

1 2

C25470 nF1 2

Data In

Vcc 2

Gnd 2

Etapa Amplificadora

Figura 49. Esquema del Circuit Optoacoplador

4.2.2.1 Càlcul de la Polarització dels Optoacopladors

El circuit TEA 1061, extrau l’ alimentació de la línia telefònica i l’ estabilitza,obtenint una tensió d’ uns 3.4 V. Aquesta es la tensió que s’ utilitza per polaritzar al Leddel optoacoplador.

El Led del optoacoplador, es polaritza amb un corrent petit, d’ aquesta forma latensió col·lector emissor del Fototransistor es queda gran part de la tensió. El Fototransistoresta connectat amb una configuració emissor comú on s’ ha connectat una resistència alemissor per evitar que es saturi.

El nivell de tensió que s’ obté a la sortida del optoacoplador, depèn bastant delcorrent de polaritzacio, quan mes gran es el corrent de polaritzacio, menys tensió s’ obté ala sortida. Per això es polaritza al Led amb un corrent d’ uns 0.5 mA.

La senyal procedent del circuit telefònic TEA 1061 es injectat a traves d’ unaresistència de valor 1 KΩ i un condensador per desacoblar la tensió continua, modulant lalluminositat del Led.

Page 111: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria de Càlcul

102

La modulació d’ amplitud de l’ intensitat lluminosa del Led, provoca variacions en latensió col·lector-emissor del fototransistor i la senyal passa a la placa de monitoritzacio perPC.

D’ aquesta forma encara que hi hagi diferencies de tensió entre la massa de la fontcommutada de l’ ordinador i la massa de la línia telefònica, la placa interfície telefònica i laplaca de monitoritzacio per PC, es troben aï llades pels optoacopladors i no afecta alfuncionament de les dues plaques.

Page 112: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria de Càlcul

103

4.3 Placa Interfície Telefònica

4.3.1 Càlcul del Circuit Detector de Trucades

VCC

R139 K

1 2

ISO1

CNY17

12

54

- +

D1B250C1000

3

4

2

1

R2

22 K

12

+

C347 uF

12

C2470 nF

1 2 R32K2

12

C1470 nF

1 2

Detecció de Trucada

L1

L2

Figura 50. Esquema del Circuit Detector de Trucades

La senyal de trucada es caracteritza per ràfegues de senyals sinusoï dals amb unaamplitud de 100 V aproximadament ( pic a pic ) i la seva freqüència es de 50 Hz. Té unaduració de 1.7 s, seguits per una pausa de 3.3 s.

Com la senyal de trucada es alterna i per evitar la tensió continua que es present a lalínia, s’ han ficat dos condensadors en sèrie a les entrades del pont de diodes. D’ aquestamanera es rectifica el senyal de la trucada i s’ obté una tensió continua d’ uns 100 V. Ambl’ ajuda d’ un divisor de tensió format per les resistències R1 i R3, es redueix la tensió finsal 1.2 V que necessita el optoacoplador per activar-se. Amb el condensador C3 es filtra unmica aquesta tensió.

Càlcul de R1 i R3:

Per R3 es farà passar un corrent de 0.5 mA i tenint en compte que la tensió del Leddel optoacoplador es d’ uns 1.2 V, R3 valdrà:

Ω≈== 22005.02.1

33

mAV

IRVLed

R ( 36 )

Després si el Led del optoacoplador absorbeix 2 mA, el valor de R1 valdrà:

Ω≈=+

−= K

mAV

ILedIRVLedctificadaV

R 395.2

8.983

Re1 ( 37 )

Page 113: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria de Càlcul

104

4.3.2 Circuit de Control del Relé

VCC

D31N4004

12

K1RELE

34

5

67

812

JP1

Linía Telefònica

12

R1010 K

12Q1BDX53 2

13

Despenjar

L1

L3

L4

L2

Figura 51. Esquema del Circuit de Control del Relé

Com les sortides del microcontrolador no suporten massa corrent, es va escollir peractivar el relé un transistor darlington amb un guany de corrent mínim de 750.

El relé consumeix uns 0.1 A

L’ intensitat de base serà igual a:

mAAIc

Ib 13.0750

1.0===

β( 38 )

Llavors es calcula la resistència R10 de polarització de la base per a que passi duesvegades Ib per tal d’ assegurar-nos que el transistor treballi en saturació.

Ω=−

=−

= 1425031.0

2.1510

mA

VVIb

VbeVccR ( 39 )

Per mes seguretat, s’ agafa 10KΩ com a valor de R10.

Page 114: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria de Càlcul

105

4.4 Placa d’ Entrades

4.4.1 Càlcul del Comparador amb Histèresi

VCC

VCC

IN0+

-

U1D

LM324

12

1314

41

1

R40470 K

12

3

R3722 K

1 2

R4610 K

12

3

R43

10 K

1 2

R4910 K

12

Sortida 1

Entrada 1

Figura 52. Esquema d’ un dels Comparador amb Histèresi

Per calcular l’ histèresi, s’ utilitza la següent formula ( formula numero 9 ) que s’ hacalculat anteriorment:

VccRR

RVH ⋅

+=

403743

( 40 )

Es pretén aconseguir que l’ histèresi es pugui modificar entre 2.5 V i 0.1 V.

S’ agafa com a valor de R43 10 KΩ i llavors es calcula la resistència R37 i laresistència variable R40 per aconseguir el marge de valors de histèresi seleccionats.

El valor d’ histèresi de 2.5 V, s’ obtindrà quan la resistència variable R40 sigui 0,llavors la formula queda de la següent manera:

VccRR

VH ⋅=3743

( 41 )

Ω=⋅Ω

=⋅= KVV

KVcc

VHR

R 2055.2

104337 ( 42 )

Page 115: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria de Càlcul

106

Llavors com a valor de R37, s’ agafa la resistència immediatament superior a 20 KΩ,que es 22 KΩ.

Ara es calcula la resistència variable R40:

Ω≈Ω−⋅Ω

=−⋅= KKVV

KRVcc

VHR

R 4702251.0

1037

4340 ( 43 )

Page 116: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria de Càlcul

107

4.5 Programació

4.5.1 Subrutina de Marcacio DTMF

Aquesta subrutina genera els dos tons necessaris per realitzar la marcacio d’ unnumero de telèfon.

La marcacio consisteix en generar el parell de tons corresponent a cada xifra quecomposa el numero de telèfon. La duració d’ aquests tons es d’ uns 130 ms i després decada xifra es realitza una pausa que també dura un 130 ms.

El valor típic de la duració dels tons i de la pausa es de 100 ms, però degut a que espretenia obtenir la màxima de freqüència de mostreig possible per generar el tons, no es vapoder realitzar l’ inicialitzacio del timer per aconseguir els 100 ms de duració.

Es va dissenyar una rutina que cada 26 uS, envia les dades al conversors R-2R de 3bits per tal de generar els tons.

A la memòria de programa, es guarda les mostres dels diferents tons. S’ han obtingutal mostrejar un període de la senyal a una freqüència 1/26 uS. També es guarda una taulade 10 posicions, una per cada xifra, que serveix per accedir a les mostres corresponents ique també conte el numero de mostres que te cada freqüència.

Amb l’ informació que hi ha en la taula, la subrutina DTMF que rep com a paràmetrela xifra, accedeix a les mostres corresponents i de forma cíclica les envia als conversorsD/A fins que no ha passat els 130 ms. Quan ja ha passat aquest temps es genera la pausaamb la mateixa duració i llavors es torna a repetir tot el procés fins que s’ arriba alindicador de final del numero de telèfon ( valor 0AH ).

Per obtenir el temps d’ uns 130 ms, s’ utilitza el timer 0 que funciona en mode 1, es adir funciona com un timer de 16 bits. Carregant els registres del timer amb zeros, s’ obtéun temps de 65536 uS i després realitzant dos cicles s’ obté el temps que dura els tons i lapausa.

Page 117: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria de Càlcul

108

4.5.2 Comunicació Sèrie

La comunicació de dades via sèrie es realitza a 128 bps ( 1 bit de Start, 8 bits dedades, un bit de Stop i sense paritat ) i s’ utilitza la modulació per amplitud amb unaportadora d’ uns 2400Hz.

Si no s’ utilitzes cap mena de modulació a l’ hora d’ enviar les dades a traves de lalínia telefònica, degut al soroll o paràsits que hi ha, les dades quedarien molt afectades i al’ hora d’ interpretar-les hi haurien molts errors.

Per determinar la freqüència de la portadora, degut al ample de banda o limitacionsde freqüència que te la línia telefònica ( 400 – 3400 Hz ) s’ ha escollit la freqüència de2400 Hz.

S’ ha escollit la velocitat de 128 bps, perquè havia de ser bastant mes petita que lafreqüència de la senyal portadora i a mes les dades que s’ han d’ enviar son molt poques iamb aquesta velocitat ja ni hi ha prou.

La subrutina que s’ encarrega de les comunicacions, envia les dades en forma detrames. De trames hi ha de dos tipus:

• Les trames de dades tenen una longitud de 8 bytes i estan organitzades de lasegüent forma:

§ El primer byte conte el Header o capçalera, el qual indica el tipus detrama que es i per tant la longitud de la mateixa.

§ El segon byte, es el numero de trama, el qual es molt útil per detectarsi t’ ha arribat la trama que esperaves.

§ El tercer i el quart byte, contenen el valor del identificador.

§ El cinquè i sisè byte, contenen els valors de les entrades. Els primersquatre bits no s’utilitzen ja que solament es tenen 12 entrades.

§ Els dos últims bytes contenen el crc de 16 bits de la resta de bytes.D’ aquesta forma es sap amb seguretat si una trama s’ ha rebutcorrectament o no.

Page 118: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Memòria de Càlcul

109

• Les trames de ACK te una longitud de 5 bytes i estan organitzades de lasegüent forma:

§ El primer byte també conte el Header o capçalera.

§ El segon byte es el numero de trama.

§ El tercer, conte un camp de control, el qual esta reservat per possiblesampliacions del protocol de comunicacions.

§ Els dos últims bytes contenen el crc de 16 bits de la resta de bytes.

Page 119: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Plànols

110

5 Plànols

Page 120: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Plànols

111

5.1 Esquemes

5.1.1 Placa de Monitoritzacio

VCC

VCC

+ C151000 uF

12

+ C161000 uF

12

U1LM317

VIN3

AD

J1

VOUT2

D31N4004

12

D11N4148

1 2

D21N4148

12

R2500

13

2

R1220

1 2

+ C121000 uF

12

JP6

VCC

12

C13100 nF1

2

C14100 nF

12

R22330

12

C17100 nF

12

C5

100 nF

12

C6

100 nF

12

C7

100 nF

12

C8

100 nF

12

C9

100 nF

12

C10

100 nF

12

C11

100 nF

12

C4

100 nF

12

C2

100 nF

12

C3

100 nF

12

C1

100 nF

12

JP5

ALIMENTACIO

12

JP3

BATERIA12

JP4

VCC_MICRO12

Vcc Micro

Tensió de Referència

VCCVCCVCC

VCC

VCCVCC

P3_2

D51N4148

12

R111 K

13

2

R4120

12

R510 K

12

R910 K

12

R81 K

12

R610 K

12

R3 470K13

2

R1910 K

12

D41N4148 1

2

+

- U7LM311

2

37

5 64 1

8

C23220 nF

12

D63V3

12

R12100 K

1 2

C21220 nF

1 2

SW3

RESET

12

R1010 K

12

U13A

4093

1

23

U13B

4093

5

64

Tensió de Referència

Reset

P3.2

Page 121: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Plànols

112

VCC

VCC

VCC

VCC VCC

VCC

VCC

VCC

A7A6A7

A4A5

A1

A4

A2

A0 A0

A3

A6

A3

A5

A1A2

P2_0

P2_2P2_3

P2_1

P2_2

P2_3

P2_0

P2_1

P2_5

P2_0

P2_6

P2_3

P2_2

P2_4

P2_7

P2_6

P2_4

P2_5

P2_1

IN1IN2

IN6IN5

IN7

IN3IN4

IN0

P0_0

P0_5

P0_2

P0_6

P0_3

P0_5

P3_2

P0_2

P3_4

P0_0

P3_0

P0_7P0_6

P3_1

P0_2

P0_2

P0_1

P0_0

P0_4

P0_1

P0_3

P0_3

P3_5

P0_7

P3_6

P3_6

P0_4

P3_7

P0_7

P0_3

P3_7

P0_4

P0_1

P0_5

P0_7P0_6

P0_4

P3_3

P0_6

P0_1

P0_0

P0_5

P0_4P0_3

P0_1

P0_6P0_7

P0_0

P0_2

P0_5IN6

IN4

IN0

IN2IN3

IN5

IN7

IN1

A[0..7]

P2_[0..7]

P0_[0..7]

IN[0..7]

P3_1

P3_[0..7]

P1_4

P1_[0..7]

P1_0

P1_6

P1_3

P1_1

P1_4

P1_0

P1_5

P1_7

P1_2

P1_3

P1_1

P1_6

P1_2

P1_5

BUS[0..6]

BUS5

BUS0

BUS4

BUS6

BUS3

BUS1BUS2

C1822 pF

12 C19

22 pF

12

Y1 12 Mhz12

R141 K

12

R151 K

12

R331 K

12DISPLAY

1413121110

987

654321

JP1

Connector Placa d' Entrades

123456789

1011121314

U527256

A010

A19

A28

A37

A46

A55

A64

A73

A825

A924

A1021

A1123

A122

A1326

A1427

CE20

OE22

VPP1

O011

O112

O213

O315

O416

O517

O618

O719

VC

C

28

GN

D

14

U474LS573

D12

D23

D34

D45

D56

D67

D78

D89

C11

OC1

Q119

Q218

Q317

Q416

Q515

Q614

Q713

Q812

VC

C

20

GN

D

10

U674HC574

D12

D23

D34

D45

D56

D67

D78

D89

C11

OC1

Q119

Q218

Q317

Q416

Q515

Q614

Q713

Q812

VC

C

20

GN

D

10

U274LS245

A12

A23

A34

A45

A56

A67

A78

A89

G19

DIR1

B118

B217

B316

B415

B514

B613

B712

B811

VC

C

20

GN

D

10

U380C31

EA/VP31

X119

X218

RESET9

INT012

INT113

T014

T115

P1.01

P1.12

P1.23

P1.34

P1.45

P1.56

P1.67

P1.78

P0.039

P0.138

P0.237

P0.336

P0.435

P0.534

P0.633

P0.732

P2.021

P2.122

P2.223

P2.324

P2.425

P2.526

P2.627

P2.728

RD17

WR16

PSEN29

ALE/P30

TXD11

RXD10

VC

C

40

VS

S

20

SW1P2

1 2

U94511

A7

B1

C2

D6

LT3

BI4

LE5

A13

B12

C11

D10

E9

F15

G14

VD

D

16

VS

S

8

SW2P1

1 2

Bus P3

Reset

BUS[0..6]

TXD

Vcc Micro

VCC VCCVCC VCC

VCC

VCC

Interfície Telefònica

P3_0 P3_5

P3_[0..7]

P3_3

R504K7

12

R4910 K

12

+

-

U12ALM358

3

21

84

R414K7

12

R4010 K

12

R351 K

1 2

C24100 nF

12

R5110 K

13

2

R311 K

1 2

+

-

U12BLM358

5

67

84

U11C4093

891

0

R5210 K

1 2

C33220 pF1

2

D71N4148

1 2

U13C4093

891

0

U13D4093

12

13

11

R472M2

12

JP2

Connector Placa

123456

C28100 nF

12

Bus P3

Sortida Senyal Analògica

Page 122: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Plànols

113

VCC

VCC

VCC

VCC

VCC

BUS4

BUS2

BUS1

BUS6BUS3

BUS5

BUS0

BUS[0..6]

+

- U8DLM324

12

1314

411

R4310 K

12

R3210 K

12

C36470 nF

1 2

R2020 K

1 2

C2015 nF

1 2

R3010 K

1 2

R4210 K

1 2

R3720 K

1 2

R4410 K

1 2

R2510 K

1 2

R1710 K

1 2

R384K7

12

R48

10 K

1 2

C3533 nF

12

R2110 K

12

R2422 K

12

R4510 K

1 2

C2510 nF

1 2

C27470 nF

1 2

C3033 nF

12

R1620 K

1 2

R2710 K

1 2

R2320 K

1 2

C34470 nF

12

R286K8

1 2

R1310 K

1 2

C296.8 nF

1 2

R1810 K

12

R710 K

1 2

R3420 K

1 2

R2610 K

12

R2920 K

1 2

C22470 nF

1 2

C32470 nF

1 2U11D

4093

121311

U11B4093

5

64

+

- U8ALM324

3

21

411

+

- U8CLM324

10

98

411

+

- U8BLM324

5

67

411

R3610 K

12

R3910 K

12

C2610 nF

1 2

C3122 nF

12 U11A

4093

1

23

R4633 K

1 2

TXD

Bus[0..6]

Sortida Senyal Analògica

Figura 53. Esquema de la Placa de Monitoritzacio

Page 123: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Plànols

114

5.1.2 Placa de Monitoritzacio per PC

VCC

VCC

VCC

VCC

VCC

VCC

VCCVCC

VCC

VCC

VCC

VCC

VCC

BUS[0..6]

BUS6

BUS3

BUS5BUS4

BUS2

BUS0BUS1

SA4

SA4

SA7

SA3

SA[0..9]

SA5

SA6

SA2

SA2

SA1

SA8

SA0

SA0

SA8

SA6

SA1

SA5

SA3

SA9

SA7

D4

D6

D3

D5

D3

D5

D0

D3

D2D1

D4D5

D7

D7

D7

D1

D6

D4

D1

D0

D0

D2

D6

D2

D[0..7]

P2_6

P2_4

P0_4

P2_2

P2_7

P2_5P2_6

P0_6

P0_4

P0_4

P0_6

P0_1

P0_0

P0_0

P0_7

P2_5

P0_0

P0_5

P2_1

P2_0

P0_[0..7]

P0_3

P0_7

P2_0P0_7

P0_0

P2_2

P0_2

P0_2

P0_1

P0_5

P0_7

P0_5

P2_3

P0_6

P2_3

P0_2

P0_0

P0_3

P0_7

P2_[0..7]

P0_6

P0_2

P0_1

P0_3

P0_1

P0_2

P0_4

P0_4

P2_4

P0_5

P0_5

P0_6

P0_3

P0_1

P0_3P2_1

SA9

P1_3

P1_7

P1_1

P1_6P1_7

P1_2

P1_0

P1_4P1_5

P1_2P1_3

P1_[0..7]

P1_5

P1_6

P1_1

P1_0

P1_4

P3_6P3_[0..7]

P3_3

P3_1

P3_2

P3_6

P3_0

P3_1

P3_4

P3_2

P3_7

P3_5

P3_7

A3A4

A1A0

A4A5

A2

A0

A7

A5

A[0..7]

A2

A7A6

A1

A3

A6

C1422 pF

12

Y1 12 Mhz12

C1522 pF

12

R11K

12

R21K

12

R810 K

1 2

JP3BUS_ISA

A11

A22

A33

A44

A55

A66

A77

A88

A99

A1010

A1111

A1212

A1313

A1414

A1515

A1616

A1717

A1818

A1919

A2020

A2121

A2222

A2323

A2424

A2525

A2626

A2727

A2828

A2929

A3030

A3131

B132

B233

B334

B435

B536

B637

B738

B839

B940

B1041

B1142

B1243

B1344

B1445

B1546

B1647

B1748

B1849

B1950

B2051

B2152

B2253

B2354

B2455

B2556

B2657

B2758

B2859

B2960

B3061

B3162

U274HC573

D12

D23

D34

D45

D56

D67

D78

D89

C11

OC1

Q119

Q218

Q317

Q416

Q515

Q614

Q713

Q812

VCC20

GND10

U974HC574

D12

D23

D34

D45

D56

D67

D78

D89

C11

OC1

Q119

Q218

Q317

Q416

Q515

Q614

Q713

Q812

VC

C

20

GND10

U680C31

EA/VP31

X119

X218

RE

SE

T9

INT012

INT113

T014

T115

P1.01

P1.12

P1.23

P1.34

P1.45

P1.56

P1.67

P1.78

P0.039

P0.138

P0.237

P0.336

P0.435

P0.534

P0.633

P0.732

P2.021

P2.122

P2.223

P2.324

P2.425

P2.526

P2.627

P2.728

RD17

WR16

PSEN29

ALE/P30

TXD11

RXD10

VC

C40

VS

S

20

U3A4093

1

23

U474HC138

A1B2C3

G16G2A4G2B5

Y015 Y114 Y213 Y312 Y411 Y510 Y69 Y77

VC

C

16

GN

D

8

U174HC688

P02P14P26P38P4

11P513P615P717

Q03Q15Q27Q39Q4

12Q514Q616Q718

G1

P=Q19

VCC20

GN

D

10

U827256

A010

A19

A28

A37

A46

A55

A64

A73

A825

A924

A1021

A1123

A122

A1326

A1427

CE20

OE22

VPP1

O011

O112

O213

O315

O416

O517

O618

O719

VCC

28

GN

D

14

U774HC573

D12

D23

D34

D45

D56

D67

D78

D89

C11

OC1

Q119

Q218

Q317

Q416

Q515

Q614

Q713

Q812

VCC20

GND10

U574HC573

D12D23D34D45D56D67D78D89

C11OC1

Q119 Q218 Q317 Q416 Q515 Q614 Q713 Q812

VCC20

GN

D

10

C3100 nF

12

C7100 nF

12

C2100 nF

12

C6100 nF

12

C8100 nF

12

C4100 nF

12

C5100 nF

12

C1100 nF

12

JP2JUMPER1 2

JP1JUMPER1 2

BUS P3 TXDBUS[0..6]

VCC

VCC

VCC

VCC VCCVCC

VCC

VCC VCC

P3_[0..7]

P3_5

P3_0P3_3

R4610 K

12

C24470 nF

1 2

R396K8

12

ISO1CNY17

12

54

R3810 K

12

R261 K

12

C9100 nF

12

C10100 nF

12

C11100 nF

12

C33100 nF

12

D11N4148

1 2

R44100 K

13

2

R344K7

12

R402M2

12

R4310 K

12

R221 K

1 2

R4210 K

12

R301 K

12

+

-

U13BLM358

5

67

84

R254K7

12

+

-

U13ALM358

3

21

84

C301 uF

12

U3D4093

12

13

11

R4710 K

12

R111 K

1 2

R4110 K

12

U3C4093

891

0

C26220 pF

12

R184K7

12

U3B4093

564

ISO2

CNY17

12

54

C25470 nF1 2

C17470 nF

12

R4510 K

12

P1

DB9M

594837261

U12C4093

8

910

BUS P3

Sortida Senyal Analògica

Page 124: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Plànols

115

VCC

VCC

VCC

VCC

VCC

VCC

BUS6

BUS[0..6]

BUS5

BUS4

BUS3

BUS1

BUS0

BUS2

+

-U10DLM324

12

1314

411

R3310 K

12

R2110 K

12

C31470 nF

1 2

R920 K

1 2

C1615 nF

1 2

R2010 K

1 2

R3110 K

1 2

R2720 K

1 2

R3510 K

1 2

R1410 K

1 2

R610 K

1 2

R284K7

12

C2933 nF

12

R1010 K

12

R1322 K

12

R3710 K

1 2

C2010 nF

1 2

C22470 nF

1 2

C3233 nF

12

R520 K

1 2

R1610 K

1 2

R1220 K

1 2

C28470 nF

12

R176K8

1 2

R410 K

1 2

C236.8 nF

1 2

R710 K

12

R310 K

1 2

R2320 K

1 2

R1510 K

12

R1920 K

1 2

C18470 nF

1 2

+

-U10ALM324

3

21

411

+

-U10CLM324

10

98

411

+

- U10BLM324

5

67

411

R2410 K

12

R2910 K

12

C2110 nF

1 2

C13100 nF

12

C12100 nF

12

C27470 nF1 2

R3610 K

1 2

C1922 nF

12

R3233 K

1 2

U12D

4093

121311

U12B4093

5

64

U12A4093

1

23

Bus[0..6]

TXD

Sortida Senyal Analògica

Figura 54. Esquema de la Placa de Monitoritzacio per PC

Page 125: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Plànols

116

5.1.3 Placa d’ Entrades

Monitoritzacio

VCC

VCC

VCC

VCC

VCC

VCC VCC

VCC

VCC

VCC

VCC

VCC

VCC VCC

VCC

VCC

VCC

VCC

VCC

VCC

VCC VCC

VCC

VCC

VCC

VCC

VCC

IN[8..11]

IN9

IN8

IN11

IN9

IN10IN10

IN11

IN8IN4

IN3

IN5

IN4

IN2IN3

IN[0..7]

IN5

IN7

IN7

IN1

IN6IN2

IN6

IN0

IN1

IN0

R1322 K

1 2

R44

10 K

1 2

R2010 K

1 2

R1422 K

1 2

R8

10 K

1 2

+

-

U2A

LM324

3

21

41

1

R21

10 K

1 2

R9

10 K

1 2

+

-

U2D

LM324

12

1314

41

1

R16470 K

12

3

R41470 K

12

3

R17470 K

12

3

R1110 K

12

3

R4710 K

12

3

R122 K

1 2

R4470 K

12

3

R28470 K

12

3

R2522 K

1 2

+

-

U2C

LM324

10

98

41

1

R3510 K

12

3

R29470 K

12

3R32

10 K

1 2

R2622 K

1 2

R3822 K

1 2

R1210 K

12

3

R3722 K

1 2

R40470 K

12

3

R2310 K

12

3

+

-

U2B

LM324

5

67

41

1

R5470 K

12

3

R222 K

1 2

+

-

U3A

LM324

3

21

41

1

R6470 K

12

3

R322 K

1 2

R2410 K

12

3

+

-

U3B

LM324

5

67

41

1

R1522 K

1 2

R18470 K

12

3

R4810 K

12

3

R3922 K

1 2

R42470 K

12

3

R33

10 K

1 2

+

-

U3D

LM324

12

1314

41

1

+

-

U3C

LM324

10

98

41

1

R30470 K

12

3

R3610 K

12

3

R45

10 K

1 2

R2722 K

1 2

JP8

Connector Placa

1234567891011121314

C2100 nF

12

C3100 nF

12

JP7

ALIMENTACIO

21

C1100 nF1

2

R5310 K

12

R5410 K

12

R5510 K

12

R5610 K

12

R6010 K

12

R5710 K

12

R5810 K

12

JP3

ENTRADES 7-8

12

JP4

ENTRADES 5-6

12

JP2

ENTRADES 9-10

12

R5910 K

12

JP1

ENTRADES 11-12

12

R4610 K

12

3

+

-

U1C

LM324

10

98

41

1

R5110 K

12

R4910 K

12

+

-

U1A

LM324

3

21

41

1

R5210 K

12 +

-

U1B

LM324

5

67

41

1

R5010 K

12

R3410 K

12

3

R31

10 K

1 2

R2210 K

12

3

R710 K

1 2

JP5

ENTRADES 3-4

12

+

-

U1D

LM324

12

1314

41

1

R19

10 K

1 2

R1010 K

12

3

JP6

ENTRADES 1-2

12

R43

10 K

1 2

Figura 55. Esquema de la Placa d’ Entrades

Page 126: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Plànols

117

5.1.4 Placa Interfície Telefònica

VCC

VCC

VCC

Placa de Monitoritzacio(Maquina Dispensadora o PC)

R18120

12

C14220 nF

12

R1468 K

12

R1310

12

R12100 K

1 2

R93K9

12

R6470

12

C11100 pF

1 2

+

C8 4.7 uF

1 2

R8120 K

1 2

R19100 K

12

C7100 nF

1 2

R151K8

12

JP1

Linía Telefònica

12

+

C5 100 uF

1 2

R5150

1 2

R1710

12

R21820

12

C13220 nF

1 2

C6 2.2 nF1 2

C1610 nF

12

R2010

12

K1RELE

34

5

67

812

C151 nF

12

R11390

1 2

R221K8

12

R710 K

1 2

D31N4004

12

D410V

12

C10100 pF

1 2

C9220 nF

12

C4 2.2 nF1 2

R1647 K

13

2

Q1BDX53 2

1

3

R1010 K

12

- +

D2B250C1000

3

4

2

1

R412

12

JP2

Connector

12345678

R222 K

1 2

R139 K

1 2

C1470 nF

1 2

- +

D1B250C1000

3

4

2

1

R32K2

12

C2470 nF

1 2ISO1

CNY17

12

54

+

C347 uF

12

R2327 K

12

TEA 1061

Figura 56. Esquema de la Placa Interfície Telefònica

Page 127: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Plànols

118

5.2 Fotolits

5.2.1 Placa de Monitoritzacio Cara Components

Figura 57. Placa de Monitoritzacio Cara Components

Page 128: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Plànols

119

5.2.2 Placa de Monitoritzacio Cara Soldadures

Figura 58. Placa de Monitoritzacio Cara Soldadures

Page 129: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Plànols

120

5.2.3 Placa de Monitoritzacio per PC Cara Components

Figura 59. Placa de Monitoritzacio per PC Cara Components

Page 130: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Plànols

121

5.2.4 Placa de Monitoritzacio per PC Cara Soldadures

Figura 60. Placa de Monitoritzacio per PC Cara Soldadures

Page 131: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Plànols

122

5.2.5 Placa d’ Entrades Cara Components

Figura 61. Placa d’ Entrades Cara Components

Page 132: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Plànols

123

5.2.6 Placa d’ Entrades Cara Soldadures

Figura 62. Placa d’ Entrades Cara Soldadures

Page 133: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Plànols

124

5.2.7 Placa Interfície Telefònica Cara Components

Figura 63. Placa Interfície Telefònica Cara Components

Page 134: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Plànols

125

5.2.8 Placa Interfície Telefònica Cara Soldadures

Figura 64. Placa Interfície Telefònica Cara Soldadures

Page 135: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Plànols

126

5.3 Serigrafia Components

5.3.1 Placa de Monitoritzacio

Figura 65. Serigrafia Placa de Monitoritzacio

Page 136: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Plànols

127

5.3.2 Placa de Monitoritzacio per PC

Figura 66. Serigrafia Placa de Monitoritzacio per PC

Page 137: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Plànols

128

5.3.3 Placa d’ Entrades

Figura 67. Serigrafia Placa d’ Entrades

Page 138: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Plànols

129

5.3.4 Placa Interfície Telefònica

Figura 68. Serigrafia Placa Interfície Telefònica

Page 139: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Plànols

130

5.4 Cables de Connexió

5.4.1 Cables de Connexió de les Plaques que van a les Maquines Dispensadores

Figura 69. Cable de Connexió de la Placa Interfície Telefònica a la de Monitoritzacio

Figura 70. Cable de Connexió de la Placa d’ Entrades a la Placa de Monitoritzacio

GNDGND

Connector queva a la Placa

Monitoritzacio

Connector que va ala Placa Interfície

Telefònica

GND GND

Connector queva a la Placa deMonitoritzacio

Connector queva a la Placad’ Entrades

Page 140: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Plànols

131

5.4.2 Cable de Connexió de les Plaques que van a la Central

Figura 71. Cable de Connexió de la Placa Interfície Telefònica a la de Monitoritzacio per PC

Page 141: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Pressupost

132

6 PRESSUPOST

Page 142: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Pressupost

133

6.1 Amidaments

6.1.1 Amidaments Placa de Monitoritzacio

NUM DENOMINACIÓ DESCRIPCIÓ QUANTITAT

1.1 C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C13,C14,C17,C24,C28

Condensador de poliester de 100 nF 63 V 16

1.2 C12,C15,C16 Condensador electrolitic de 1000 uF 25 V 31.3 C18,C19 Condensador ceràmic de 22 pF 21.4 C20,C35 Condensador de poliester de 15 nF 63 V 21.5 C21,C23 Condensador de poliester de 220 nF 63 V 21.6 C22,C27,C32,C34,

C36Condensador de poliester 470 nF 63 V 5

1.7 C25,C26 Condensador de poliester de 10 nF 63 V 21.8 C29 Condensador de poliester de 6.8 nF 63 V 11.9 C30 Condensador de poliester de 33 nF 63V 11.10 C31 Condensador de poliester de 22 nF 63V 11.11 C33 Condensador ceràmic de 220 pF 11.12 D1,D2,D4,D5,D7 Diode 1N4148 51.13 D3 Diode 1N4004 11.14 D6 Diode Zener 3,3V 1/4W 11.15 JP1 Tira connector CI de 14 connexions 11.16 JP2 Tira connector CI de 6 connexions 11.17 JP3, JP4, JP5, JP6 Regleta de 2 terminals per soldar en placa 41.18 R1 Resistència de carbó de 220Ω, ±5 % de

tolerància, 1/4W1

1.19 R2 Resistència variable de 500Ω, ajustvertical, 1/4W

1

1.20 R3 Resistència variable de 470 K, ajustvertical, 1/4W

1

1.21 R4 Resistència de carbó de 120Ω, ±5 % detolerància, 1/4W

1

1.22 R5,R6,R7,R10,R13,R17,R19,R25,R27,R30,R40,R42,R43,R44,R45,R48,R49,R52

Resistència de carbó de 10 K, ±5 % detolerància, 1/4W

18

1.23 R51 Resistència variable de 100 K, ajustvertical, 1/4W

1

1.24 R18,R21,R26,R32,R36,R39

Resistència de carbó de 10 K, ±1 % detolerància, 1/4W

6

1.25 R8,R14,R15,R31,R33,R35

Resistència de carbó de 1 K, ±5 % detolerància, 1/4W

6

Page 143: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Pressupost

134

1.26 R11 Resistència variable de 1 K, ajust vertical,1/4W

1

1.27 R9,R12 Resistència de carbó de 100 K, ±5 % detolerància, 1/4W

2

1.28 R16,R20,R23,R29,R34,R37

Resistència de carbó de 20 K, ±1 % detolerància, 1/4W

6

1.29 R22 Resistència de carbó de 330Ω, ±5 % detolerància, 1/4W

1

1.30 R24 Resistència de carbó de 22 K, ±5 % detolerància, 1/4W

1

1.31 R28 Resistència de carbó de 6K8, ±5 % detolerància, 1/4W

1

1.32 R38,R41,R50 Resistència de carbó de 4K7, ±5 % detolerància, 1/4W

3

1.33 R46 Resistència de carbó de 33 K, ±5 % detolerància, 1/4W

1

1.34 R47 Resistència de carbó de 2M2, ±5 % detolerància, 1/4W

1

1.35 SW1, SW2, SW3 Polsadors miniatura per soldar en placa 31.36 U1 Circuit integrat LM 317 encapsulat TO 220 11.37 U2 Circuit integrat 74LS245 11.38 U3 Circuit integrat 80C31 11.39 U4 Circuit integrat 74LS573 11.40 U5 Circuit integrat 27256 11.41 U6 Circuit integrat 74HC574 11.42 U7 Circuit integrat LM 311 11.43 U8 Circuit integrat LM 324 11.44 U9 Circuit integrat 4511 11.45 U10 Display 7 segments SC03-12HWA 11.46 U11,U13 Circuit integrat 4093 21.47 U12 Circuit integrat LM 358 11.48 Y1 Cristall de quartz de 12 MHz 11.49 Pl1 Placa de fibra de vidre presensibilitzada

positiva238 cm

1.50 SOC1 Sòcol Dip 8 amb pins tornejats 21.51 SOC2 Sòcol Dip 14 amb pins tornejats 41.52 SOC3 Sòcol Dip 16 amb pins tornejats 11.53 SOC4 Sòcol Dip 20 amb pins tornejats 31.54 SOC5 Sòcol Dip 28 amb pins tornejats 11.55 SOC6 Sòcol Dip 40 amb pins tornejats 11.56 CONNECT1 Connector CI 2,54 per a 10 terminals 31.57 CONNECT2 Connector CI 2,54 per a 4 terminals 21.58 CONNECT3 Connector CI 2,54 per a 6 terminals 11.59 CABLEBUS1 Cable de bus amb 14 fils 0,3 m1.60 CABLEBUS2 Cable de bus amb 6 fils 0,3 m1.61 CABLE1 Cable flexible de 0,5 mm2 0,05 m1.62 TERMI1 Terminals connector CI pas 2,54 421.63 DISSIPADOR Dissipador de Rth 4K/W per TO220 1

Page 144: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Pressupost

135

1.64 BATERIA Portapiles R6x2 o UM3x2 11.65 TREBALL1 Hores de muntatge 25 h

Page 145: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Pressupost

136

6.1.2 Amidaments Placa de Monitoritzacio per PC

NUM DENOMINACIÓ DESCRIPCIÓ QUANTITAT

2.1 C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13, C33

Condensador de poliester de 100 nF 63 V 14

2.2 C14,C15 Condensador ceràmic de 22 pF 22.3 C16,C29 Condensador de poliester de 15 nF 63 V 22.4 C17,C18,C22,C24,

C25,C27,C28,C31Condensador de poliester de 470 nF 8

2.5 C21,C20 Condensador de poliester de 10 nF 63 V 22.6 C23 Condensador de poliester de 6,8 nF 63 V 12.7 C32 Condensador de poliester de 33 nF 63V 12.8 C19 Condensador de poliester de 22 nF 63V 12.9 C30 Condensador de poliester de 1 uF 63V 12.10 C26 Condensador ceràmic de 220 pF 12.11 D1 Diode 1N4148 12.12 ISO1,ISO2 Optoacoplador Led Fototransistor CNY17 22.13 JP4 Regleta de 2 terminals per soldar en placa 12.14 P1 Connector DB9 femella per soldar en placa 12.15 R1,R2, R11,R22,

R26,R30Resistència de carbó de 1 K, ±5 % detolerància, 1/4W

6

2.16 R3,R4,R6,R8,R14,R16,R20,R31,R33,R35,R36,R37,R38,R41,R42,R43,R45,R46,R47

Resistència de carbó de 10 K, ±5 % detolerància, 1/4W

19

2.17 R44 Resistència variable de 100 K, ajustvertical, 1/2W

1

2.18 R7,R10,R15,R21,R24,R29

Resistència de carbó de 10 K, ±1 % detolerància, 1/4W

6

2.19 R5,R9,R12,R19,R23,R27

Resistència de carbó de 20 K, ±1 % detolerància, 1/4W

6

2.20 R13 Resistència de carbó de 22 K, ±5 % detolerància, 1/4W

1

2.21 R17,R39 Resistència de carbó de 6K8, ±5 % detolerància, 1/4W

2

2.22 R18,R25,R28,R34 Resistència de carbó de 4K7, ±5 % detolerància, 1/4W

4

2.23 R32 Resistència de carbó de 33 K, ±5 % detolerància, 1/4W

1

2.24 R40 Resistència de carbó de 2M2, ±5 % detolerància, 1/4W

1

2.25 JP1,JP2 Jumper 22.26 U1 Circuit integrat 74HC688 12.27 U2,U5,U7 Circuit integrat 74HC573 3

Page 146: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Pressupost

137

2.28 U3,U12 Circuit integrat 4093 22.29 U4 Circuit integrat 74HC138 12.30 U6 Circuit integrat 80C31 12.31 U8 Circuit integrat 27256 12.32 U9 Circuit integrat 74HC574 12.33 U10 Circuit integrat LM 324 12.34 U11 Circuit integrat LM 358 12.35 Y1 Cristall de quartz de 12 MHz 12.36 Pl1 Placa de fibra de vidre presensibilitzada

positiva190 cm

2.37 SOC1 Sòcol Dip 8 amb pins tornejats 12.38 SOC2 Sòcol Dip 14 amb pins tornejats 32.39 SOC3 Sòcol Dip 16 amb pins tornejats 12.40 SOC4 Sòcol Dip 20 amb pins tornejats 52.41 SOC5 Sòcol Dip 28 amb pins tornejats 12.42 SOC6 Sòcol Dip 40 amb pins tornejats 12.43 CONNECT1 Connector DB9 mascle amb carcassa 12.44 CONNECT2 Connector CI 2,54 per a 10 terminals 12.45 CABLEBUS1 Cable de bus amb 8 fils 0,3 m2.46 TERMI1 Terminals connector CI pas 2,54 82.47 TREBALL1 Hores de muntatge 30 h

Page 147: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Pressupost

138

6.1.3 Amidaments Placa Interfície Telefònica

NUM DENOMINACIÓ DESCRIPCIÓ QUANTITAT

3.1 C1,C2 Condensador de poliester de 470 nF 400 V 23.2 C3 Condensador electrolitic de 47 uF 25 V 13.3 C4,C6 Condensador de poliester de 2,2 nF 63 V 23.4 C5 Condensador electrolitic de 100 uF 25 V 13.5 C7 Condensador de poliester de 100 nF 63 V 13.6 C8 Condensador electrolitic de 4,7 uF 25 V 13.7 C9,C13,C14 Condensador de poliester de 220 nF 63 V 33.8 C10,C11 Condensador ceràmic de 100 pF 23.9 C15 Condensador de poliester de 1 nF 63 V 13.10 C16 Condensador de poliester de 10 nF 63 V 13.11 D1,D2 Pont de diodes B250C1000 23.12 D3 Diode 1N4004 13.13 D4 Diode Zener de 10 V 1/2W 13.14 ISO1 Optoacoplador Led Fototransistor CNY17 13.15 JP1 Regleta de 2 terminals per soldar en placa 13.16 JP2 Tira connector CI de 8 terminals 13.17 K1 Relé de potencia de dos circuits commutats

i amb la resistència de la bobina de 56Ω1

3.18 Q1 Transistor darlington BDX 53 TO220 13.19 R1 Resistència de carbó de 39 K, ±5 % de

tolerància, 1/4W1

3.20 R2 Resistència de carbó de 22 K, ±5 % detolerància, 1/4W

1

3.21 R3 Resistència de carbó de 2K2, ±5 % detolerància, 1/4W

1

3.22 R4 Resistència de carbó de 12Ω, ±5 % detolerància, 1/4W

1

3.23 R5 Resistència de carbó de 150Ω, ±5 % detolerància, 1/4W

1

3.24 R6 Resistència de carbó de 470Ω, ±5 % detolerància, 1/4W

1

3.25 R7,R10 Resistència de carbó de 10 K, ±5 % detolerància, 1/4W

2

3.26 R8 Resistència de carbó de 120 K, ±5 % detolerància, 1/4W

1

3.27 R9 Resistència de carbó de 3K9, ±5 % detolerància, 1/4W

1

3.28 R11 Resistència de carbó de 390Ω, ±5 % detolerància, 1/4W

1

3.29 R12,R19 Resistència de carbó de 100 K, ±5 % detolerància, 1/4W

2

3.30 R13,R17,R20 Resistència de carbó de 10Ω, ±5 % detolerància, 1/4W

3

Page 148: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Pressupost

139

3.31 R14 Resistència de carbó de 68 K, ±5 % detolerància, 1/4W

1

3.32 R15,R22 Resistència de carbó de 1K8, ±5 % detolerància, 1/4W

2

3.33 R16 Resistència variable de 47 K, ajust vertical,1/4W

1

3.34 R18 Resistència de carbó de 120Ω, ±5 % detolerància, 1/4W

1

3.35 R21 Resistència de carbó de 820Ω, ±5 % detolerància, 1/4W

1

3.36 R23 Resistència de carbó de 27 K, ±5 % detolerància, 1/4W

1

3.37 U1 Circuit integrat TEA 1061 13.38 Pl1 Placa de fibra de vidre presensibilitzada

positiva57 cm

3.39 SOC1 Sòcol Dip 6 amb pins tornejats 13.40 SOC2 Sòcol Dip 18 amb pins tornejats 13.41 TREBALL1 Hores de muntatge 3 h

Page 149: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Pressupost

140

6.1.4 Amidaments Placa d’ Entrades

NUM DENOMINACIÓ DESCRIPCIÓ QUANTITAT

4.1 C1,C2,C3 Condensador de poliester de 100 nF 63 V 34.2 JP1, JP2, JP3, JP4

JP5, JP6, JP7Regleta de 2 terminals per soldar en placa 7

4.3 JP8 Tira de connector CI de 14 terminals 14.4 R7,R8,R9, R19,R20,

R21,R31,R32,R33,R43,R44,R45

Resistència de carbó de 10 K, ±5 % detolerància, 1/4W

12

4.5 R10,R22,R34,R46,R11,R23,R35,R47,R12,R24,R36,R48

Resistència variable de 10 K, ajust vertical,1/4W

12

4.6 R1,R2,R3,R13,R14,R15, R25,R26,R27,R37,R38,R39,

Resistència de carbó de 22 K, ±5 % detolerància, 1/4W

12

4.7 R4,R5,R6,R16,R17,R18,R28,R29,R30,R40,R41,R42

Resistència variable de 470 K, ajustvertical, 1/4W

12

4.8 U1,U2,U3 Circuit integrat LM 324 34.9 Pl1 Placa de fibra de vidre presensibilitzada

positiva138 cm

4.10 SOC1 Sòcol Dip 14 amb pins tornejats 34.11 TREBALL1 Hores de muntatge 3 h

Page 150: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Pressupost

141

6.1.5 Programa ASM per la Placa de Monitoritzacio

NUM DENOMINACIÓ DESCRIPCIÓ QUANTITAT

5.1 TREBALL1 Hores de programació 80 h

6.1.6 Programa ASM per la Placa de Monitoritzacio per PC

NUM DENOMINACIÓ DESCRIPCIÓ QUANTITAT

6.1 TREBALL1 Hores de programació 80 h

6.1.7 Programa Visual Basic

NUM DENOMINACIÓ DESCRIPCIÓ QUANTITAT

7.1 TREBALL1 Hores de programació 120 h

6.1.8 Disseny de Prototipus

NUM DENOMINACIÓ DESCRIPCIÓ QUANTITAT

8.1 TREBALL1 Hores d’ investigació 180 h

Page 151: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Pressupost

142

6.2 Preus Elementals

6.2.1 Placa de Monitoritzacio

NUM DESCRIPCIÓ PREU

1.1 Condensador de poliester de 100 nF 63 V 0,121.2 Condensador electrolitic de 1000 uF 25 V 0,211.3 Condensador ceràmic de 22 pF 0,081.4 Condensador de poliester de 15 nF 63 V 0,061.5 Condensador de poliester de 220 nF 63 V 0,121.6 Condensador de poliester 470 nF 63 V 0,121.7 Condensador de poliester de 10 nF 63 V 0,061.8 Condensador de poliester de 6.8 nF 63 V 0,061.9 Condensador de poliester de 33 nF 63V 0,061.10 Condensador de poliester de 22 nF 63V 0,061.11 Condensador ceràmic de 220 pF 0,081.12 Diode 1N4148 0,021.13 Diode 1N4004 0,021.14 Diode Zener 3,3V 1/4W 0,051.15 Tira connector CI de 14 connexions 0,081.16 Tira connector CI de 6 connexions 0,041.17 Regleta de 2 terminals per soldar en placa 0,441.18 Resistència de carbó de 220Ω, ±5 % de

tolerància, 1/4W0,02

1.19 Resistència variable de 500Ω, ajustvertical, 1/4W

0,22

1.20 Resistència variable de 470 K, ajustvertical, 1/4W

0,22

1.21 Resistència de carbó de 120Ω, ±5 % detolerància, 1/4W

0,02

1.22 Resistència de carbó de 10 K, ±5 % detolerància, 1/4W

0,02

1.23 Resistència variable de 100 K, ajustvertical, 1/4W

0,22

1.24 Resistència de carbó de 10 K, ±1 % detolerància, 1/4W

0,03

1.25 Resistència de carbó de 1 K, ±5 % detolerància, 1/4W

0,02

1.26 Resistència variable de 1 K, ajust vertical,1/4W

0,22

1.27 Resistència de carbó de 100 K, ±5 % detolerància, 1/4W

0,02

1.28 Resistència de carbó de 20 K, ±1 % detolerància, 1/4W

0,03

1.29 Resistència de carbó de 330Ω, ±5 % detolerància, 1/4W

0,02

Page 152: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Pressupost

143

1.30 Resistència de carbó de 22 K, ±5 % detolerància, 1/4W

0,02

1.31 Resistència de carbó de 6K8, ±5 % detolerància, 1/4W

0,02

1.32 Resistència de carbó de 4K7, ±5 % detolerància, 1/4W

0,02

1.33 Resistència de carbó de 33 K, ±5 % detolerància, 1/4W

0,02

1.34 Resistència de carbó de 2M2, ±5 % detolerància, 1/4W

0,02

1.35 Polsadors miniatura per soldar en placa 0,901.36 Circuit integrat LM 317 encapsulat TO 220 0,621.37 Circuit integrat 74LS245 0,781.38 Circuit integrat 80C31 2,061.39 Circuit integrat 74LS573 0,761.40 Circuit integrat 27256 3,371.41 Circuit integrat 74HC574 0,671.42 Circuit integrat LM 311 0,501.43 Circuit integrat LM 324 0,351.44 Circuit integrat 4511 0,621.45 Display 7 segments SC03-12HWA 1,051.46 Circuit integrat 4093 0,371.47 Circuit integrat LM 358 0,421.48 Cristall de quartz de 12 MHz 0,931.49 Placa de fibra de vidre presensibilitzada

positiva0,04 €/cm2

1.50 Sòcol Dip 8 amb pins tornejats 0,331.51 Sòcol Dip 14 amb pins tornejats 0,601.52 Sòcol Dip 16 amb pins tornejats 0,661.53 Sòcol Dip 20 amb pins tornejats 0,911.54 Sòcol Dip 28 amb pins tornejats 0,781.55 Sòcol Dip 40 amb pins tornejats 1,801.56 Connector CI 2,54 per a 10 terminals 0,361.57 Connector CI 2,54 per a 4 terminals 0,141.58 Connector CI 2,54 per a 6 terminals 0,291.59 Cable de bus amb 14 fils 0,07 €/m1.60 Cable de bus amb 6 fils 0,03 €/m1.61 Cable flexible de 0,5 mm2 0,10 €/m1.62 Terminals connector CI pas 2,54 0,041.63 Dissipador de Rth 4K/W per TO220 0,151.64 Portapiles R6x2 o UM3x2 0,181.65 Hores de muntatge 12,00 €/h

Page 153: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Pressupost

144

6.2.2 Placa de Monitoritzacio per PC

NUM DESCRIPCIÓ PREU

2.1 Condensador de poliester de 100 nF 63 V 0,062.2 Condensador ceràmic de 22 pF 0,082.3 Condensador de poliester de 15 nF 63 V 0,062.4 Condensador de poliester de 470 nF 0,122.5 Condensador de poliester de 10 nF 63 V 0,062.6 Condensador de poliester de 6,8 nF 63 V 0,062.7 Condensador de poliester de 33 nF 63V 0,062.8 Condensador de poliester de 22 nF 63V 0,062.9 Condensador de poliester de 1 uF 63V 0,212.10 Condensador ceràmic de 220 pF 0,082.11 Diode 1N4148 0,022.12 Optoacoplador Led Fototransistor CNY17 0,722.13 Regleta de 2 terminals per soldar en placa 0,442.14 Connector DB9 femella per soldar en placa 1,462.15 Resistència de carbó de 1 K, ±5 % de

tolerància, 1/4W0,02

2.16 Resistència de carbó de 10 K, ±5 % detolerància, 1/4W

0,02

2.17 Resistència variable de 100 K, ajustvertical, 1/2W

0,22

2.18 Resistència de carbó de 10 K, ±1 % detolerància, 1/4W

0,03

2.19 Resistència de carbó de 20 K, ±1 % detolerància, 1/4W

0,03

2.20 Resistència de carbó de 22 K, ±5 % detolerància, 1/4W

0,02

2.21 Resistència de carbó de 6K8, ±5 % detolerància, 1/4W

0,02

2.22 Resistència de carbó de 4K7, ±5 % detolerància, 1/4W

0,02

2.23 Resistència de carbó de 33 K, ±5 % detolerància, 1/4W

0,02

2.24 Resistència de carbó de 2M2, ±5 % detolerància, 1/4W

0,02

2.25 Jumper 0,012.26 Circuit integrat 74HC688 0,742.27 Circuit integrat 74HC573 0,522.28 Circuit integrat 4093 0,372.29 Circuit integrat 74HC138 0,402.30 Circuit integrat 80C31 2,062.31 Circuit integrat 27256 3,372.32 Circuit integrat 74HC574 0,672.33 Circuit integrat LM 324 0,35

Page 154: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Pressupost

145

2.34 Circuit integrat LM 358 0,422.35 Cristall de quartz de 12 MHz 0,932.36 Placa de fibra de vidre presensibilitzada

positiva0,04 €/cm2

2.37 Sòcol Dip 8 amb pins tornejats 0,332.38 Sòcol Dip 14 amb pins tornejats 0,602.39 Sòcol Dip 16 amb pins tornejats 0,662.40 Sòcol Dip 20 amb pins tornejats 0,912.41 Sòcol Dip 28 amb pins tornejats 0,782.42 Sòcol Dip 40 amb pins tornejats 1,802.43 Connector DB9 mascle amb carcassa 0,882.44 Connector CI 2,54 per a 10 terminals 0,362.45 Cable de bus amb 8 fils 0,04 €/m2.46 Terminals connector CI pas 2,54 0,042.47 Hores de muntatge 12,00 €/h

Page 155: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Pressupost

146

6.2.3 Placa Interfície Telefònica

NUM DESCRIPCIÓ PREU

3.1 Condensador de poliester de 470 nF 400 V 0,333.2 Condensador electrolitic de 47 uF 25 V 0,133.3 Condensador de poliester de 2,2 nF 63 V 0,063.4 Condensador electrolitic de 100 uF 25 V 0,133.5 Condensador de poliester de 100 nF 63 V 0,063.6 Condensador electrolitic de 4,7 uF 25 V 0,133.7 Condensador de poliester de 220 nF 63 V 0,123.8 Condensador ceràmic de 100 pF 0,083.9 Condensador de poliester de 1 nF 63 V 0,063.10 Condensador de poliester de 10 nF 63 V 0,063.11 Pont de diodes B250C1000 1,053.12 Diode 1N4004 0,023.13 Diode Zener de 10 V 1/2W 0,053.14 Optoacoplador Led Fototransistor CNY17 0,723.15 Regleta de 2 terminals per soldar en placa 0,443.16 Tira connector CI de 8 terminals 0,053.17 Relé de potencia de dos circuits commutats

i amb la resistència de la bobina de 56Ω3,46

3.18 Transistor darlington BDX 53 TO220 1,053.19 Resistència de carbó de 39 K, ±5 % de

tolerància, 1/4W0,02

3.20 Resistència de carbó de 22 K, ±5 % detolerància, 1/4W

0,02

3.21 Resistència de carbó de 2K2, ±5 % detolerància, 1/4W

0,02

3.22 Resistència de carbó de 12Ω, ±5 % detolerància, 1/4W

0,02

3.23 Resistència de carbó de 150Ω, ±5 % detolerància, 1/4W

0,02

3.24 Resistència de carbó de 470Ω, ±5 % detolerància, 1/4W

0,02

3.25 Resistència de carbó de 10 K, ±5 % detolerància, 1/4W

0,02

3.26 Resistència de carbó de 120 K, ±5 % detolerància, 1/4W

0,02

3.27 Resistència de carbó de 3K9, ±5 % detolerància, 1/4W

0,02

3.28 Resistència de carbó de 390Ω, ±5 % detolerància, 1/4W

0,02

3.29 Resistència de carbó de 100 K, ±5 % detolerància, 1/4W

0,02

3.30 Resistència de carbó de 10Ω, ±5 % detolerància, 1/4W

0,02

Page 156: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Pressupost

147

3.31 Resistència de carbó de 68 K, ±5 % detolerància, 1/4W

0,02

3.32 Resistència de carbó de 1K8, ±5 % detolerància, 1/4W

0,02

3.33 Resistència variable de 47 K, ajust vertical,1/4W

0,22

3.34 Resistència de carbó de 120Ω, ±5 % detolerància, 1/4W

0,02

3.35 Resistència de carbó de 820Ω, ±5 % detolerància, 1/4W

0,02

3.36 Resistència de carbó de 27 K, ±5 % detolerància, 1/4W

0,02

3.37 Circuit integrat TEA 1061 1,323.38 Placa de fibra de vidre presensibilitzada

positiva0,04 €/cm2

3.39 Sòcol Dip 6 amb pins tornejats 0,153.40 Sòcol Dip 18 amb pins tornejats 0,763.41 Hores de muntatge 12,00 €/h

Page 157: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Pressupost

148

6.2.4 Placa d’ Entrades

NUM DESCRIPCIÓ PREU

4.1 Condensador de poliester de 100 nF 63 V 0,064.2 Regleta de 2 terminals per soldar en placa 0,444.3 Tira connector CI de 14 terminals 0,084.4 Resistència de carbó de 10 K, ±5 % de

tolerància, 1/4W0,02

4.5 Resistència variable de 10 K, ajust vertical,1/4W

0,22

4.6 Resistència de carbó de 22 K, ±5 % detolerància, 1/4W

0,02

4.7 Resistència variable de 470 K, ajustvertical, 1/4W

0,22

4.8 Circuit integrat LM 324 0,354.9 Placa de fibra de vidre presensibilitzada

positiva0,04

4.10 Sòcol Dip 14 amb pins tornejats 0,604.11 Hores de muntatge 12,00 €/h

Page 158: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Pressupost

149

6.2.5 Programa ASM per la Placa de Monitoritzacio

NUM DESCRIPCIÓ PREU

5.1 Hores de programació 16,00 €/h

6.2.6 Programa ASM per la Placa de Monitoritzacio per PC

NUM DESCRIPCIÓ PREU

6.1 Hores de programació 16,00 €/h

6.2.7 Programa Visual Basic

NUM DESCRIPCIÓ PREU

7.1 Hores de programació 16,00 €/h

6.2.8 Disseny de Prototipus

NUM DESCRIPCIÓ PREU

8.1 Hores d’ investigació 20,00 €/h

Page 159: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Pressupost

150

6.3 Aplicació de Preus

6.3.1 Placa de Monitoritzacio

NUM DESCRIPCIÓ UNITATS PREU TOTAL

1.1 Condensador de poliester de 100 nF63 V

16 0,12 1,92

1.2 Condensador electrolitic de 1000 uF25 V

3 0,21 0,63

1.3 Condensador ceràmic de 22 pF 2 0,08 0,161.4 Condensador de poliester de 15 nF

63 V2 0,06 0,12

1.5 Condensador de poliester de 220 nF63 V

2 0,12 0,24

1.6 Condensador de poliester 470 nF 63V

5 0,12 0,60

1.7 Condensador de poliester de 10 nF63 V

2 0,06 0,12

1.8 Condensador de poliester de 6.8 nF63 V

1 0,06 0,06

1.9 Condensador de poliester de 33 nF63V

1 0,06 0,06

1.10 Condensador de poliester de 22 nF63V

1 0,06 0,06

1.11 Condensador ceràmic de 220 pF 1 0,08 0,081.12 Diode 1N4148 5 0,02 0,101.13 Diode 1N4004 1 0,02 0,021.14 Diode Zener 3,3V 1/4W 1 0,05 0,051.15 Tira connector CI de 14 connexions 1 0,08 0,081.16 Tira connector CI de 6 connexions 1 0,04 0,041.17 Regleta de 2 terminals per soldar en

placa4 0,44 1,76

1.18 Resistència de carbó de 220Ω, ±5 %de tolerància, 1/4W

1 0,02 0,02

1.19 Resistència variable de 500Ω, ajustvertical, 1/4W

1 0,22 0,22

1.20 Resistència variable de 470 K, ajustvertical, 1/4W

1 0,22 0,22

1.21 Resistència de carbó de 120Ω, ±5 %de tolerància, 1/4W

1 0,02 0,02

1.22 Resistència de carbó de 10 K, ±5 %de tolerància, 1/4W

18 0,02 0,36

1.23 Resistència variable de 100 K, ajustvertical, 1/4W

1 0,22 0,22

1.24 Resistència de carbó de 10 K, ±1 %de tolerància, 1/4W

6 0,03 0,18

Page 160: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Pressupost

151

1.25 Resistència de carbó de 1 K, ±5 %de tolerància, 1/4W

6 0,02 0,12

1.26 Resistència variable de 1 K, ajustvertical, 1/4W

1 0,22 0,22

1.27 Resistència de carbó de 100 K, ±5% de tolerància, 1/4W

2 0,02 0,04

1.28 Resistència de carbó de 20 K, ±1 %de tolerància, 1/4W

6 0,03 0,18

1.29 Resistència de carbó de 330Ω, ±5% de tolerància, 1/4W

1 0,02 0,02

1.30 Resistència de carbó de 22 K, ±5 %de tolerància, 1/4W

1 0,02 0,02

1.31 Resistència de carbó de 6K8, ±5 %de tolerància, 1/4W

1 0,02 0,02

1.32 Resistència de carbó de 4K7, ±5 %de tolerància, 1/4W

3 0,02 0,06

1.33 Resistència de carbó de 33 K, ±5 %de tolerància, 1/4W

1 0,02 0,02

1.34 Resistència de carbó de 2M2, ±5 %de tolerància, 1/4W

1 0,02 0,02

1.35 Polsadors miniatura per soldar enplaca

3 0,90 2,70

1.36 Circuit integrat LM 317 TO 220 1 0,62 0,621.37 Circuit integrat 74LS245 1 0,78 0,781.38 Circuit integrat 80C31 1 2,06 2,061.39 Circuit integrat 74LS573 1 0,76 0,761.40 Circuit integrat 27256 1 3,37 3,371.41 Circuit integrat 74HC574 1 0,67 0,671.42 Circuit integrat LM 311 1 0,50 0,501.43 Circuit integrat LM 324 1 0,35 0,351.44 Circuit integrat 4511 1 0,62 0,621.45 Display 7 segments SC03-12HWA 1 1,05 1,051.46 Circuit integrat 4093 2 0,37 0,741.47 Circuit integrat LM 358 1 0,42 0,421.48 Cristall de quartz de 12 MHz 1 0,93 0,931.49 Placa de fibra de vidre

presensibilitzada positiva238 cm 0,04 €/cm2 9,52

1.50 Sòcol Dip 8 amb pins tornejats 2 0,33 0,661.51 Sòcol Dip 14 amb pins tornejats 4 0,60 2,401.52 Sòcol Dip 16 amb pins tornejats 1 0,66 0,661.53 Sòcol Dip 20 amb pins tornejats 3 0,91 2,731.54 Sòcol Dip 28 amb pins tornejats 1 0,78 0,781.55 Sòcol Dip 40 amb pins tornejats 1 1,80 1,801.56 Connector CI 2,54 per a 10

terminals3 0,36 1,08

1.57 Connector CI 2,54 per a 4 terminals 2 0,14 0,281.58 Connector CI 2,54 per a 6 terminals 1 0,29 0,291.59 Cable de bus amb 14 fils 0,3 m 0,07 €/m 0,02

Page 161: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Pressupost

152

1.60 Cable de bus amb 6 fils 0,3 m 0,03 €/m 0,011.61 Cable flexible de 0,5 mm2 0,05 m 0,10 €/m 0,011.62 Terminals connector CI pas 2,54 42 0,04 1,681.63 Dissipador de Rth 4K/W per TO220 1 0,15 0,151.64 Portapiles R6x2 o UM3x2 1 0,18 0,181.65 Hores de muntatge 25 h 12,00 €/h 300,00

Total de la Placa de Monitoritzacio 345,88

Page 162: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Pressupost

153

6.3.2 Placa de Monitoritzacio per PC

NUM DESCRIPCIÓ UNITATS PREU TOTAL

2.1 Condensador de poliester de 100 nF63 V

14 0,06 0,84

2.2 Condensador ceràmic de 22 pF 2 0,08 0,162.3 Condensador de poliester de 15 nF

63 V2 0,06 0,12

2.4 Condensador de poliester de 470 nF 8 0,12 0,962.5 Condensador de poliester de 10 nF

63 V2 0,06 0,12

2.6 Condensador de poliester de 6,8 nF63 V

1 0,06 0,06

2.7 Condensador de poliester de 33 nF63V

1 0,06 0,06

2.8 Condensador de poliester de 22 nF63V

1 0,06 0,06

2.9 Condensador de poliester de 1 uF63V

1 0,21 0,21

2.10 Condensador ceràmic de 220 pF 1 0,08 0,082.11 Diode 1N4148 1 0,02 0,022.12 Optoacoplador Led Fototransistor

CNY172 0,72 1,44

2.13 Regleta de 2 terminals per soldar enplaca

1 0,44 0,44

2.14 Connector DB9 femella per soldaren placa

1 1,46 1,46

2.15 Resistència de carbó de 1 K, ±5 %de tolerància, 1/4W

6 0,02 0,12

2.16 Resistència de carbó de 10 K, ±5 %de tolerància, 1/4W

19 0,02 0,38

2.17 Resistència variable de 100 K, ajustvertical, 1/2W

1 0,22 0,22

2.18 Resistència de carbó de 10 K, ±1 %de tolerància, 1/4W

6 0,03 0,18

2.19 Resistència de carbó de 20 K, ±1 %de tolerància, 1/4W

6 0,03 0,18

2.20 Resistència de carbó de 22 K, ±5 %de tolerància, 1/4W

1 0,02 0,02

2.21 Resistència de carbó de 6K8, ±5 %de tolerància, 1/4W

2 0,02 0,04

2.22 Resistència de carbó de 4K7, ±5 %de tolerància, 1/4W

4 0,02 0,08

2.23 Resistència de carbó de 33 K, ±5 %de tolerància, 1/4W

1 0,02 0,02

Page 163: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Pressupost

154

2.24 Resistència de carbó de 2M2, ±5 %de tolerància, 1/4W

1 0,02 0,02

2.25 Jumper 2 0,01 0,022.26 Circuit integrat 74HC688 1 0,74 0,742.27 Circuit integrat 74HC573 3 0,52 1,562.28 Circuit integrat 4093 2 0,37 0,742.29 Circuit integrat 74HC138 1 0,4 0,42.30 Circuit integrat 80C31 1 2,06 2,062.31 Circuit integrat 27256 1 3,37 3,372.32 Circuit integrat 74HC574 1 0,67 0,672.33 Circuit integrat LM 324 1 0,35 0,352.34 Circuit integrat LM 358 1 0,42 0,422.35 Cristall de quartz de 12 MHz 1 0,93 0,932.36 Placa de fibra de vidre

presensibilitzada positiva190 cm 0,04 7,60

2.37 Sòcol Dip 8 amb pins tornejats 1 0,33 0,332.38 Sòcol Dip 14 amb pins tornejats 3 0,6 1,82.39 Sòcol Dip 16 amb pins tornejats 1 0,66 0,662.40 Sòcol Dip 20 amb pins tornejats 5 0,91 4,552.41 Sòcol Dip 28 amb pins tornejats 1 0,78 0,782.42 Sòcol Dip 40 amb pins tornejats 1 1,8 1,82.43 Connector DB9 mascle amb carcassa 1 0,88 0,882.44 Connector CI 2,54 per a 10 terminals 1 0,36 0,362.45 Cable de bus amb 8 fils 0,3 m 0,04 0,012.46 Terminals connector CI pas 2,54 8 0,04 0,322.47 Hores de muntatge 30 h 12,00 €/h 360,00

Total de la Placa de Monitoritzacio per PC 397,64

Page 164: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Pressupost

155

6.3.3 Placa Interfície Telefònica

NUM DESCRIPCIÓ UNITATS PREU TOTAL

3.1 Condensador de poliester de 470 nF400 V

2 0,33 0,66

3.2 Condensador electrolitic de 47 uF25 V

1 0,13 0,13

3.3 Condensador de poliester de 2,2 nF63 V

2 0,06 0,12

3.4 Condensador electrolitic de 100 uF25 V

1 0,13 0,13

3.5 Condensador de poliester de 100 nF63 V

1 0,06 0,06

3.6 Condensador electrolitic de 4,7 uF25 V

1 0,13 0,13

3.7 Condensador de poliester de 220 nF63 V

3 0,12 0,36

3.8 Condensador ceràmic de 100 pF 2 0,08 0,163.9 Condensador de poliester de 1 nF

63 V1 0,06 0,06

3.10 Condensador de poliester de 10 nF63 V

1 0,06 0,06

3.11 Pont de diodes B250C1000 2 1,05 2,103.12 Diode 1N4004 1 0,02 0,023.13 Diode Zener de 10 V 1/2W 1 0,05 0,053.14 Optoacoplador Led Fototransistor

CNY171 0,72 0,72

3.15 Regleta de 2 terminals per soldar enplaca

1 0,44 0,44

3.16 Tira de connector CI de 8 terminals 1 0,05 0,053.17 Relé de potencia de dos circuits

commutats i amb la resistència de labobina de 56Ω

1 3,46 3,46

3.18 Transistor darlington BDX 53 TO220 1 1,05 1,053.19 Resistència de carbó de 39 K, ±5 %

de tolerància, 1/4W1 0,02 0,02

3.20 Resistència de carbó de 22 K, ±5 %de tolerància, 1/4W

1 0,02 0,02

3.21 Resistència de carbó de 2K2, ±5 %de tolerància, 1/4W

1 0,02 0,02

3.22 Resistència de carbó de 12Ω, ±5 %de tolerància, 1/4W

1 0,02 0,02

3.23 Resistència de carbó de 150Ω, ±5 %de tolerància, 1/4W

1 0,02 0,02

3.24 Resistència de carbó de 470Ω, ±5 %de tolerància, 1/4W

1 0,02 0,02

Page 165: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Pressupost

156

3.25 Resistència de carbó de 10 K, ±5 %de tolerància, 1/4W

2 0,02 0,04

3.26 Resistència de carbó de 120 K, ±5 %de tolerància, 1/4W

1 0,02 0,02

3.27 Resistència de carbó de 3K9, ±5 %de tolerància, 1/4W

1 0,02 0,02

3.28 Resistència de carbó de 390Ω, ±5 %de tolerància, 1/4W

1 0,02 0,02

3.29 Resistència de carbó de 100 K, ±5 %de tolerància, 1/4W

2 0,02 0,04

3.30 Resistència de carbó de 10Ω, ±5 %de tolerància, 1/4W

3 0,02 0,06

3.31 Resistència de carbó de 68 K, ±5 %de tolerància, 1/4W

1 0,02 0,02

3.32 Resistència de carbó de 1K8, ±5 %de tolerància, 1/4W

2 0,02 0,04

3.33 Resistència variable de 47 K, ajustvertical, 1/4W

1 0,22 0,22

3.34 Resistència de carbó de 120Ω, ±5 %de tolerància, 1/4W

1 0,02 0,02

3.35 Resistència de carbó de 820Ω, ±5 %de tolerància, 1/4W

1 0,02 0,02

3.36 Resistència de carbó de 27 K, ±5 %de tolerància, 1/4W

1 0,02 0,02

3.37 Circuit integrat TEA 1061 1 1,32 1,323.38 Placa de fibra de vidre

presensibilitzada positiva57 cm 0,04 €/cm2 2,28

3.39 Sòcol Dip 6 amb pins tornejats 1 0,15 0,153.40 Sòcol Dip 18 amb pins tornejats 1 0,76 0,763.41 Hores de muntatge 3 h 12,00 36,00

Total de la Placa Interfície Telefònica 50,93

Page 166: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Pressupost

157

6.3.4 Placa d’ Entrades

NUM DESCRIPCIÓ UNITATS PREU TOTAL

4.1 Condensador de poliester de 100 nF63 V

3 0,06 0,18

4.2 Regleta de 2 terminals per soldar enplaca

7 0,44 3,08

4.3 Tira de connector CI de 14 terminals 1 0,08 0,084.4 Resistència de carbó de 10 K, ±5 %

de tolerància, 1/4W12 0,02 0,24

4.5 Resistència variable de 10 K, ajustvertical, 1/4W

12 0,22 2,64

4.6 Resistència de carbó de 22 K, ±5 %de tolerància, 1/4W

12 0,02 0,24

4.7 Resistència variable de 470 K, ajustvertical, 1/4W

12 0,22 2,64

4.8 Circuit integrat LM 324 3 0,35 1,054.9 Placa de fibra de vidre

presensibilitzada positiva138 cm 0,04 5,52

4.10 Sòcol Dip 14 amb pins tornejats 3 0,60 1,804.11 Hores de muntatge 3 h 12,00 36,00

Total de la Placa d’ Entrades 53,47

Page 167: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Pressupost

158

6.3.5 Programa ASM per la Placa de Monitoritzacio

NUM DESCRIPCIÓ UNITATS PREU TOTAL

5.1 Hores de programació 80 h 16 €/h 1.280,00Total del Programa 1.280,00

6.3.6 Programa ASM per la Placa de Monitoritzacio per PC

NUM DESCRIPCIÓ UNITATS PREU TOTAL

6.1 Hores de programació 80 h 16 €/h 1.280,00Total del Programa 1.280,00

6.3.7 Programa Visual Basic

NUM DESCRIPCIÓ UNITATS PREU TOTAL

7.1 Hores de programació 120 h 16 €/h 1.920,00Total del Programa 1.920,00

6.3.8 Disseny de Prototipus

NUM DESCRIPCIÓ UNITATS PREU TOTAL

8.1 Hores d’ investigació 180 h 20 €/h 3.600,00Total del Programa 3.600,00

Page 168: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Pressupost

159

6.4 Resum del Pressupost

El preu dels diferents components i materials, poden variar el seu preu degut a lescondicions de mercat o segons el proveï dor.

El preu inclou els components i el muntatge. En aquest pressupost no s’ incloul’ ordinador que ha d’ anar a la central, el qual es necessari per fer anar la placa demonitoritzacio per PC i el programa Gestió Remota 1.0.

Tampoc inclou el preu de la font d’ alimentació, en el cas que fos necessari degut aque les plaques que van a la maquina dispensadora no la poden aconseguir de la mateixa.

6.4.1 Pressupost d’ Execució

6.4.1.1 Preu Base PC

DESCRIPCIÓ UNITATS PREU TOTAL

Placa de monitoritzacio per PC 1 397,64 397,64Placa interfície telefònica 1 50,93 50,93Programa ASM per la placa de monitoritzacioper PC

1 1.280,00 1.280,00

Programa Visual Basic 1 1.920,00 1.920,00Total 3.648,57

6.4.1.2 Preu per cada Maquina Dispensadora

DESCRIPCIÓ UNITATS PREU TOTAL

Placa de monitoritzacio 1 345,88 345,88Placa interfície telefònica 1 50,93 50,93Placa d’ entrades 1 53,47 53,47Programa ASM per la placa de monitoritzacio 1 1.280,00 1.280,00

Total 1.730,28

6.4.1.3 Total Pressupost d’ Execució

DESCRIPCIÓ UNITATS PREU TOTAL

Preu base PC 1 3.648,57 3.648,57Preu per cada maquina dispensadora 1 1.730,28 1.730,28Preu disseny prototipus 1 3.600,00 3.600,00

Pressupost d’ Execució Material 8.978,85

Page 169: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Pressupost

160

6.4.2 Pressupost d’ Execució per Contracte

Pressupost d’ execució material: 8.978,85

Despeses generals: 13% 1.167,25

Benefici industrial: 6% 538,73

Pressupost d’execució per contracte: 10.684,83

6.4.3 Pressupost de Licitació

Pressupost d’execució per contracte: 10.684,83

IVA : 16% 1.709,57

Pressupost de licitació: 12.394,40

El Pressupost de licitació ascendeix a DOTZE MIL TRES-CENTESNORANTA-QUATRE AMB QUARANTA CÈNTIMS D’ EURO (12.394,40 €).

Tarragona a 30 de gener de 2.002

José Antonio Agraz MillatEnginyer Tècnic en Electrònica Industrial

Page 170: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Plec de Condicions

161

7 Plec de Condicions

Page 171: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Plec de Condicions

162

7.1 Condicions Generals

7.1.1 Introducció

El present projecte desenvolupa un sistema de gestió remota de maquinesdispensadores via línia telefònica.

Donada la condició de “Final de carrera” del projecte, les consideracions de tipuscontractual posseeixen un caràcter de suposició.

El present plec de Condicions té per objecte definir al contractista l’ abast del treballi de la seva execució quantitativa.

L’ abast del treball del Contractista inclou el disseny i preparació de tots els plànols,diagrames, llista de material i requisits per l’ adquisició i instal·lació del treball.

7.1.2 Reglament i Normes

Totes les unitats d’ obra s’ executaran complint les prescripcions indicades alsReglaments de Seguretat i Normes Tècniques d’ obligat compliment per aquest tipusd’ instal·lació, tant d’ àmbit nacional, autonòmic com municipal, així com totes les altresestablertes al projecte.

S’ adaptaran a mes, a les presents condicions particulars que complementaran lesindicades pels Reglaments i Normes citades.

7.1.3 Materials

Tots els materials emprats seran de primera qualitat, compliran les especificacions itindran les característiques indicades al projecte i a les normes tècniques generals.

Tota especificació o característica de materials que figurin en un sol dels documentsdel Projecte, tot i que no figuri als altres, es igualment obligatòria.

En cas d’ existir contradicció o omissió als documents del projecte, el contractistaobtindrà l’ obligació de posar-ho de manifest al tècnic Director de l’ obra, qui decidiràsobre el particular. En cap cas podrà suplir la falta directament, sense l’ autoritzacióexpressa.

Page 172: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Plec de Condicions

163

No es podran emprar materials que no hagin estat acceptats pel director Tècnic.

7.1.4 Execució del Projecte

Començament. El contractista donarà començament al projecte en el plaç que hifiguri al contracte establert amb la Propietat o , en el seu defecte, als quinze deies del’ adjudicació definitiva de l’ obra.

El contractista esta obligat a notificar per escrit al Tècnic director la data d’ inici delstreballs.

Plaç d’ execució. L’ obra s’ executarà en el plaç que s’ estipuli al contracte subscritamb la propietat o en el seu defecte en el que figuri a les condicions d’ aquest Plec.

Quan el ritme de treball establert pel contractista, no sigui el normal, o be a peticiód’ una de les parts, es podrà convenir una programació d’ inspeccions obligatòries d’ acordamb el pla d’ obra.

Llibre d’ ordres. El contractista disposarà durant la realització del projecte d’ unLlibre d’ Ordres en que s’ escriuran les que el Tècnic Director estimi donar-li a traves del’ encarregat o persona responsable, sense perjudici de les que doni per ofici quan hocregui necessari i que tindrà l’ obligació de signar l’ assabentat.

7.1.5 Interpretació i Desenvolupament

El Director Tècnic es la persona a que li correspon interpretar els documents delprojecte, a ell se li ha de sotmetre qualsevol dubte, aclaració o contradicció que sorgeixidurant l’ execució de l’ obra, sempre amb la suficient antelació en funció de la importànciade l’ assumpte.

El contractista es fa responsable de qualsevol error de l’ execució motivat per la noconsulta i conseqüentment haurà de refer a costa seva els treballs que corresponguin a lacorrecta interpretació del projecte.

El contractista ha de fer tot el necessari per la bona execució de l’ obra, encara queno s’ hagi expressat al projecte.

Page 173: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Plec de Condicions

164

El contractista ha de notificar per escrit o personalment al director d’ obra, les datesen que quedaran preparades per inspecció, cadascuna de les parts del projecte o peraquelles que, totalment o parcialment hagin, posteriorment, de quedar ocultes.

7.1.6 Treballs Complementaris

El contractista ha de realitzar tots els treballs complementaris necessaris per executarel projecte tal i com estava previst, encara que en ell no figurin explícitament aqueststreballs complementaris. Tot això sense variació de l’ import contractat.

7.1.7 Modificacions

El contractista esta obligat a realitzar les variacions ( ampliacions, reduccions omodificacions ) del projecte sempre que aquestes no suposin una variació sobre el globalprojectat superior al 25 %.

Si el contractista, desitja realitzar alguna modificació, ho haurà de notificar per escrital Tècnic Director, si es considera raonable i s’ accepta, serà confirmada per escrit, aixícom les noves condicions econòmiques que mútuament s’ acordin. Si l’ anterior no esdona com s’ especifica, no s’ acceptarà modificació alguna.

La valoració es farà d’ acord amb els valors establerts al pressupost pel Contractista ique ha estat pres com a base del contracte.

7.1.8 Realització Defectuosa

Quan el contractista trobi qualsevol unitat de treball que no s’ ajusti a l’ especificat alprojecte o en aquest Plec de Condicions, el Tècnic Director podrà acceptar-la o refusar-la,en el primer cas, aquest fixarà el preu que cregui just per arreglar les diferencies que hihaguessin, estan obligat el Contractista a acatar aquesta valoració, en l’ altra cas, esreconstruirà a expenses del Contractista la part mal executada sense que sigui motiu dereclamació econòmica o d’ ampliació del plaç d’ execució.

Page 174: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Plec de Condicions

165

7.1.9 Mitjans Auxiliars

Seran de compte del Contractista tots els mitjans i maquines auxiliars que siguinprecises per l’ execució del projecte. En el seu us estarà obligat a fer complir tots elsReglaments de Seguretat en el treball vigents i a utilitzar els mitjans de protecció als seusoperaris.

7.1.10 Recepció del Projecte

Recepció provisional. Un cop acabats els treballs, tindrà lloc la recepció provisionali per això es practicarà en ells un detingut reconeixement pel tècnic Director i la Propietaten presencia del Contractista, aixecant acta i començant a córrer des d’ aquell dia el plaç degarantia si es troben en estat d’ ésser admesos.

De no ser admesos es farà constar a l’ acta i es donaran instruccions al Contractistaper subsanar els defectes observats, fixant-se per tal un plaç, expirat el qual es procedirà aun nou reconeixement a fi de procedir a la recepció provisional.

Plaç de garantia. El plaç de garantia serà com a mínim d’ un any, comptant des dela data de recepció provisional, o be el que s’ estableixi al contracte també comptant desde la mateixa data. Durant aquest període queda a càrrec del Contractista la conservaciódel sistema i reparació dels desperfectes, si be subsistiran les responsabilitats que hi puguitenir per defectes i deficiències de causa dubtosa.

7.1.11 Responsabilitats

El contractista es responsable de l’ execució dels treballs com fixa el projecte i hauràde reconstruir tota part que no s’ ajusti al programa, sense servir d’ excusa la raó de que eldirector d’ obra hagi examinat i reconegut l’ obra.

El contractista es l’ únic responsable de les possibles errades comeses per ell o el seupersonal, així com dels accidents produï ts a la propietat, veï ns o tercers a causa de lainexperiència o mètodes inadequats.

El contractista es l’ únic responsable de l’ incompliment de les disposicions vigentsen matèria laboral respecte del seu personal i, per tant, els accidents que poguessinsobrevindré i els drets que d’ ells se’ n poguessin derivar.

Page 175: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Plec de Condicions

166

7.1.12 Fiança

Al contracte s’ establirà la fiança que el contractista haurà de dipositar en garantiadel seu compliment, o es convindrà una retenció sobre els pagaments realitzats a comptedel treball executat.

De no estipular-se la fiança al contracte s’ entén que s’ adopta com a garantia unaretenció del 5 % sobre els pagaments a compte citats.

En el cas de que el contractista es negues a fer pel seu compte els treballs per ultimarel projecte en les condicions contractades, o a atendre la garantia, la Propietat podràordenat executar-les a un tercer, abonant el seu import amb càrrec a la retenció o fiança,sense perjudici de les accions legals a que tingui dret la Propietat si amb l’ import de lafiança no hi hagués prou.

La fiança retinguda s’ abonarà al contractista en un plaç no superior a trenta dies uncop signada l’ acta de recepció definitiva de l’ obra.

7.2 Condicions Tècniques

7.2.1 Condicions de les Plaques de C.I.

Les plaques del circuit imprès hauran d’ ésser dissenyades pel fabricant sota lessegüents normes:

§ Amplada de les pistes de senyal. 0.5 mm.

§ Amplada de les pistes alimentació: 2 mm.

§ Els condensadors de desacoblament hauran d’ anar situats els mes a proppossible del piu d’ alimentació.

§ Dimensions dels taladres:

• 0.85 mm pels circuits integrats i components discrets.

• 1 mm pels connectors.

• 1.25 mm per les regletes.

• 3 mm pels taladres de subjecció de la placa.

Totes les plaques un cop sortides de producció hauran d’ ésser testades, de tal formaque l’ índex d’ errades en pistes, sigui inferior a l’ 1%.

Page 176: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Plec de Condicions

167

7.2.2 Condicions del Components Electrònics

La premissa bàsica a seguir en la compra dels components electrònics, es buscarcomponents de marques de reconegut prestigi i que posseeixin un índex de rebuig enproducció, inferior al 20 %.

Així per exemple, es recomana la utilització de components de la casa MOTOROLAo qualsevol de les seves subsidiàries ( RCA. AMD ) que fins avui han demostrat un moltalt grau de fiabilitat dels components subministrats.

No es recomana recórrer sota cap concepte a les plèiades de fabricant d’ orient quehan sorgit a Corea, Singapur, Malàisia, etc., ja que en anteriors produccions han posat demanifest un baixíssim grau de fiabilitat, donant-se el cas de trobar partides enceres decomponents que als 6 mesos de funcionament han fallat íntegrament.

7.2.3 Condicions del Muntatge de Plaques

El muntatge de plaques haurà d’ ésser realitzat per inserció automatitzada, ja quel’ índex d’ errors es pràcticament nul, no així quan es recorre al muntatge manual decomponents.

La soldadura del les plaques ha d’ ésser realitzada per onada, amb estany de bonaqualitat i un cop finalitzat el procés, les plaques han d’ estar perfectament netejades ambalgun producte específic basat en fluor, dels molts que hi ha disponibles al mercat.

De cada partida de plaques produï des, al menys 10 d’ elles hauran d’ ésserverificades en un forn a 40 graus centígrads i en funcionament de tal forma que s’ elsproporcioni l’ equivalent a 6 mesos de funcionament ininterromput durant les proves, siguisuperior al 20 %, la partida sencera haurà d’ ésser retirada i substituï da per una de nova.

Page 177: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Plec de Condicions

168

7.3 Condicions Facultatives

7.3.1 Normes a Seguir

El disseny de la instal·lació elèctrica estarà d’ acord amb les exigències orecomanacions exposades a l’ ultima edició dels següents codis:

§ Reglament Electrotècnic de Baixa Tensió i Instruccions complementaries.

§ Normativa UNE.

§ Normativa DIN.

§ Pla nacional i ordenança general de Seguretat i Higiene al treball.

§ Normes de la Companyia Subministradora.

§ Publicacions del Comitè Electrotècnic Internacional ( CEI ).

§ Allò indicat en aquest plec de condicions amb preferència a tots els codis inormes.

7.3.2 Personal

El Contractista tindrà al capdavant de l’ obra un encarregat amb autoritat sobre elsaltres operaris i coneixements acreditats i suficients per l’ execució del projecte.

L’ encarregat rebrà, complirà i transmetrà les instruccions i ordres del TècnicDirector de l’ obra.

El contractista tindrà el nombre i classe d’ operaris que facin falta pel volum inaturalesa dels treballs que es realitzin, els quals seran de reconeguda aptitud iexperimentats en els treballs que es realitzin, els quals seran de reconeguda aptitud iexperimentats en l’ ofici. El Contractista estarà obligat a separar de la realització delprojecte, a aquell personal que, a judici del Tècnic Director, no compleixi amb les sevesobligacions, realitzi el treball defectuosament, be per falta de coneixements o per obrar demala fe.

Page 178: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Plec de Condicions

169

7.3.3 Reconeixements i Assajos Previs

Quan així sigui estimat oportú pel Tècnic director, aquest podrà encarregar i ordenarl’ anàlisi, assaig o comprovació dels materials, elements o instal·lacions, be sigui a lafabrica d’ origen, laboratoris oficials o a la mateixa obra, segons cregui mes convenient,encara que aquests no estiguin indicats en aquest plec.

En els cas de discrepància, els assajos o proves s’ efectuaran al laboratori oficial queel Tècnic Director d’ obra designi.

Les despeses ocasionades per aquestes proves i comprovacions, aniran a compte delContractista.

7.3.4 Assajos

Abans de la posada en servei del sistema elèctric, el Contractista haurà de fer elsassajos adequats per provar, per la sencera satisfacció del Tècnic Director del projecte, quetot l’ equip, aparells i cablejat han estat instal·lats correctament d’ acord amb les normesestablertes i estan en condicions satisfactòries pel seu funcionament.

7.3.5 Assajos d’ Aparellatge

Abans de posar l’ aparellatge sota tensió, es mesura la resistència d’ aï llament decada equip entre fase i terra.

Les mesures han de repetir-se amb els interruptors en posició de funcionament.

Tot relé de protecció que sigui ajustable serà calibrat i assajat, fent servir uncomptador de cicles, caixa de carrega, amperímetre i voltímetre, segons es necessiti.

Es disposarà, en la mesura del possible, d’ un sistema de protecció selectiva. D’acord amb això, els relés de protecció s’ escolliran i coordinaran per aconseguir un sistemaque permeti actuar primer el dispositiu d’ interrupció mes proper a la falta.

Tots els interruptors automàtics es col·locaran en posició de prova i cada interruptorserà tancat i disparat des del seu interruptor de control. Els interruptors hauran d’ ésserdisparats per accionament manual i aplicant corrent als relés de protecció. Es comprovarantots els enclavaments.

Page 179: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Plec de Condicions

170

7.4 Condicions Econòmiques

7.4.1 Preus

El contractista presentarà, al formalitzar-se el contracte, relació dels preus de lesunitats de treball que integren el projecte, els quals d’ ésser acceptats tindran valorcontractual i s’ aplicaran a les possibles variacions que hi puguin haver.

Aquest preus unitaris, s’ entén que comprenen l’ execució total de la unitat delprojecte, incloent tots els treballs fins i tot els complementaris i els materials així com lapart proporcional d’ imposició fiscal, les carregues laborals i altres depeses repercutibles.

En cas d’ haver de realitzar-se unitats de treball no previstes al projecte, es fixarà elseu preu entre el Tècnic Director i el Contractista abans d’ iniciar la obra i es presentarà ala propietat per la seva acceptació o no.

7.4.2 Abonament del Projecte

El contracte s’ haurà de deixar detalladament la forma i plaços en que s’ abonaran lesparts del projecte. Les liquidacions parcials que puguin establir-se tindran caràcter dedocuments provisionals a bon compte, subjecte a les certificacions que resultin de laliquidació final. No suposant, aquestes liquidacions, aprovació ni recepció de les obres quecomprenen.

Acabades les obres es procedirà a la liquidació final que s’ efectuarà d’ acord amb elscriteris establerts al contracte.

7.4.3 Revisió de Preus

Al contracte s’ establirà si el contractista te dret a revisió de preus i la formula aaplicar per calcular-la. En defecte d’ aquesta ultima, s’ aplicarà a judici del Tècnic Directoralgun dels criteris oficials acceptats.

7.4.4 Penalitzacions

Per retràs en els plaços d’ entrega de les obres, es podrà establir taules depenalitzacio i les seves quanties i demores es fixaran al contracte.

Page 180: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Plec de Condicions

171

7.4.5 Contracte

El contracte es formalitzarà mitjançant un document privat, que podrà elevar-se aescriptura a petició de qualsevol de les parts. Comprendrà l’ adquisició de tots elsmaterials, transport, ma d’ obra, mitjans auxiliars per l’ execució de l’ obra projectada en elplaç estipulat, així com la reconstrucció de les unitats defectuoses, la realització de lesobres complementaries i les derivades de les modificacions que s’ introdueixin durant l’execució, aquestes ultimes en els termes previstos.

La totalitat dels documents que componen el Projecte tècnic de l’ obra seranincorporats al contracte i tant el contractista com la Propietat hauran de signar-los entestimoni de qui els coneixen i accepten.

7.4.6 Rescissió del Contracte

Causa de rescissió: Es consideren causes suficients per la rescissió del contracte lessegüents:

1. Mort o incapacitació del Contractista.

2. El trenc del contractista.

3. Modificació del projecte quan es produeixi alteració en mes o menys el 25 % delvalor contractat.

4. Modificació de les unitats d’ obra en nombre superior al 40 % de l’ original.

5. La no iniciació dels treballs en el plaç estipulat quan sigui per causes alienes a lapropietat.

6. La suspensió de les obres ja iniciades sempre que el plaç de suspensió siguisuperior a 6 mesos.

7. Incompliment de les condicions del Contracte quan impliqui mala fe.

8. Acabament del plaç d’ execució d’ obra sense haver arribat a completar aquesta.

9. Actuació de mala fe en l’ execució dels treballs.

10. Delegar o subcontractar la totalitat o part dels treballs a tercers sensel’ autorització del Tècnic Director i de la propietat.

Page 181: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Plec de Condicions

172

7.4.7 Liquidació en cas de Rescissió del Contracte

Sempre que es rescindeixi el contracte per causes anteriors o be per acordd’ ambdues parts, s’ abonarà al Contractista les unitats del projecte executat i els materialsarreplegats que reuneixen les condicions i siguin necessaris pel mateix.

Quan es rescindeixi el contracte portarà implícit la retenció de la fiança per obtenirles possibles despeses de conservació del període de garantia i els derivats delmanteniment fins la data de nova adjudicació.

Tarragona a 30 de Gener de 2002

José Antonio Agraz Millat

Enginyer Tècnic Electrònica Industrial

Page 182: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

173

8 Resum del Projecte

Page 183: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

174

Gestió Remota per Línia Telefònica deMaquines Dispensadores Automàtiques

AUTOR: José Antonio Agraz MillatDIRECTOR: Jesús Brezmes Llecha

Resum. En aquest projecte s’ ha dissenyat un sistema de baix cost per la gestióremota per línia telefònica de maquines dispensadores automàtiques. Esta composatper un equip situat en la central de l’ empresa i un conjunt de maquines dispensadoresautomàtiques que quan falta algun producte ho comuniquen a la central mitjançant lalínia telefònica. Des de la central, amb el programa Gestió Remota, es reben lesalarmes i es pot interrogar a les maquines per saber com es troben i així el tècnic demanteniment pot planificar el seu treball i estalviar-se desplaçaments innecessaris. Lacentral està formada per un PC, el programa Gestió Remota i dos mòduls, una placaper bus ISA i una placa interfície telefònica. En les maquines dispensadores hi ha tresmòduls: una placa de monitorització, una placa d’ entrades i una placa d'interfícietelefònica. Els mòduls de les maquines i el de la central es troben interconnectats atraves de la línia telefònica.

Titulació: Enginyer Tècnic Electrònica Industrial

Data Presentació: ( Febrer – 2002 ).

Page 184: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

175

9 Annexes

Page 185: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

176

9.1 Llistats de Programes

9.1.1 Programa ASM Placa Monitoritzacio

;USES 8031

;FLAGS

FLAG_P14 EQU 0FLAG_P15 EQU 1ID EQU 2POSICIO_PAR EQU 3FINAL EQU 4CRC_OK EQU 5TRAMA_OK EQU 6PAGINA2 EQU 7

;CONSTANTS

SEGON EQU 200MS_5 EQU 139MINUT EQU 60

;TEMPS EN MINUTS, ENTRE INTENTS PER TORNAR A TRUCAR,;DESPRÉS D' UNA CONNEXIÓ ERRÒNIA

MINUTS EQU 1INTENTS_TRUCADA EQU 3TIMEOUTS EQU 1RECEPCIO_OK EQU 0EMISSIO_OK EQU 0NO_DATA EQU 80HNO_TRAMA_END EQU 40HSEGONS_2 EQU 40SEGONS_3 EQU 60SEGONS_10 EQU 200SEGONS_12_8 EQU 0MAX_TIMEOUTS EQU 10L_TRAMA EQU 5L_TRAMA-2 EQU 3L_TRAMA_DATA EQU 8L_TRAMA_D-2 EQU 6HEADER_ACK EQU 3HEADER_DATA EQU 1HEADER_END EQU 4NUM_FINAL EQU 10

Page 186: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

177

;NUMERO DE LECTURES CONSECUTIVES DE LES;ENTRADES QUE S' HAN DE FER PERQUÈ ES;CONSIDERI COM A VALIDA. SI ES FICA 0,;SON 256

NUM_LECTURES EQU 0

;VARIABLES O PUNTERS

ID_EPROM EQU 700HTELEFON_EPROM EQU 702HCONTADOR EQU 31HTIMER1 EQU 32HTIMER2 EQU 33HTIMER3 EQU 34HTIMER4 EQU 35H

;EN AQUESTES POSICIONS DE MEMÒRIA ES GUARDEN;ELS VALORS DE LES ENTRADES

ENTRADES_LSB EQU 36HENTRADES_MSB EQU 37H

;INDICA SI S' HA DE TORNAR A TRUCAR DESPRÉS;D' UNA CONNEXIÓ FALLIDA

ERROR_TRUCADA EQU 38HSTATUS EQU 39H

;EN AQUESTES POSICIONS DE MEMÒRIA ES GUARDA;L' IDENTIFICADOR DE LA PLACA

IDH EQU 59HIDL EQU 5AHBUF_EMISSIO EQU 6DHBUF_RECEPCIO EQU 75HEND_BUFFER EQU 7DHEND_BUFFER_E EQU 7EHEND_BUFFER_R EQU 7FHBUFFER_AUX EQU 40HEND_BUF_R_A EQU 7AH ;BUF_RECEPCIO + L_TRAMAEND_BUF_R_D EQU 7DH ;BUF_RECEPCIO + L_TRAMA_DATAEND_BUF_E_A EQU 70H ;BUF_EMISSIO + L_TRAMA-2END_BUF_E_D EQU 73H ;BUF_EMISSIO + L_TRAMA_D-2NUMTRAMA EQU 76H ;BUF_RECEPCIO + 1BUFFER_ID EQU 59HBUFFER_N_TEL EQU 5BHLIMIT_IDENT EQU 5BHLIMIT_N_TEL EQU 6DH

Page 187: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

178

;INDICA QUIN ES EL NUMERO MES GRAN QUE ES POT ADMETRE;QUAN S' INTRODUEIX L' IDENTIFICADOR ( 9 ) O EL NUMERO;DE TELÈFON ( 10 )

LIMIT_DIGIT EQU 30H

ORG 0000HLJMP INICI

;RSI INTERRUPCIÓ EXTERNA INT0

ORG 0003H;POWERDOWNORL PCON,#02RETI

;TAULA DE DADES NECESSÀRIA PER GENERAR;ELS TONS DTMF

ORG 0020HDB 1CH,0FFH,2AH,1EHDB 1CH,0B2H,38H,21HDB 1CH,0FFH,38H,1EHDB 1CH,0D2H,38H,1BHDB 53H,0B2H,33H,21HDB 53H,0FFH,33H,1EHDB 53H,0D2H,33H,1BHDB 85H,0B2H,2EH,21HDB 85H,0FFH,2EH,1EHDB 85H,0D2H,2EH,1BH

INICI:

;INT0 PER NIVELL BAIXMOV TCON,#00

;HABILITAR INT0MOV IE,#81H

;INICIALITZACIONS

LCALL PENJAR

;INICIALITZACIO CONVERSORS D/A I PIU PORTADORA ( PE )MOV A,#6EHMOVX @R0,A

MOV ERROR_TRUCADA,#0MOV ENTRADES_LSB,#0MOV ENTRADES_MSB,#0

MOV CONTADOR,#NUM_LECTURES

Page 188: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

179

;SI DESPRÉS D' UN RESET, ES POLSA ELS DOS;POLSADORS, LLAVORS NO ES CARREGA EL ID NI;EL NUMERO DE TELÈFON QUE ES TROBA A LA;MEMÒRIA EPROM ( S' UTILITZA PER TAL DE;REALITZAR PROVES )

JNB P1.4,MIRAR_EPROMJNB P1.5,MIRAR_EPROMLJMP FI_COMPROVACIO

;COMPROVA SI L' IDENTIFICADOR O EL;NUMERO DE TELÈFON ES TROBEN A LA;MEMÒRIA EPROM O MEMÒRIA DE PROGRAMA

MIRAR_EPROM:

MOV DPTR,#ID_EPROMMOV A,#0MOVC A,@A+DPTRMOV R0,AMOV A,#1MOVC A,@A+DPTRMOV R1,AORL A,R0JZ COMPROVAR_TELEFONMOV IDH,R0MOV IDL,R1

COMPROVAR_TELEFON:MOV A,#2MOVC A,@A+DPTRCJNE A,#0AH,CARREGAR_TELEFONLJMP FI_COMPROVACIO

CARREGAR_TELEFON:MOV R0,#0MOV R1,#BUFFER_N_TELMOV DPTR,#TELEFON_EPROM

BUCLE_CARREGA_TELEFON:MOV A,R0MOVC A,@A+DPTRMOV @R1,AINC R0INC R1CJNE A,#0AH,BUCLE_CARREGA_TELEFON

FI_COMPROVACIO:

Page 189: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

180

;PROGRAMA PER INTRODUIR EL NUMERO DE TELÈFON EN LA;MEMÒRIA DEL MICROCONTROLADOR. IMPLEMENTA UN;SISTEMA ANTIRREBOT PER SOFTWARE PER ALS POLSADORS;D' ENTRADA.

;PER DETERMINAR QUIN ES L' ÚLTIM NUMERO QUE S'HA;INTRODUÏT, S' UTILITZA EL CODI NUMERO 10 O 0AH;PER INDICAR EL FINAL.

;ELS POLSADORS ES TROBEN CONNECTATS EN ELS BITS P1.4 I P1.5;P1.4 ES EL POLSADOR QUE INCREMENTA EL NUMERO, TAMBÉ ES QUI;INDICA QUE S'HA D'INTRODUIR EL NUMERO DE TELÈFON.;P1.5 ES EL POLSADOR QUE DESPLAÇA ELS DÍGITS, TAMBÉ ES QUI;INDICA QUE S'HA D'INTRODUIR L' IDENTIFICADOR DE LA PLACA.

;DESACTIVA EL DISPLAYLCALL DISABLE_7SEG

;INICIALITZACIO DEL ÍNDEX QUE SERVEIX PER ACCEDIR;ON ES GUARDA EL NUMERO DE TELÈFON

MOV R0,#BUFFER_N_TEL

;REGISTRE ÍNDEX P1.4 = 1MOV R4,#00H

;REGISTRE ÍNDEX P1.4 = 0MOV R5,#00H

;REGISTRE ÍNDEX P1.5 = 1MOV R6,#00H

;REGISTRE ÍNDEX P1.5 = 0MOV R7,#00H

MOV R1,#00HMOV R2,#00HMOV R3,#00HMOV LIMIT_DIGIT,#11

;INICIALITZACIONS

SETB POSICIO_PARCLR ID

Page 190: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

181

;DURANT UN CERT TEMPS, ESPERA L' ORDRE PER INTRODUIR;L' IDENTIFICADOR O EL NUMERO DE TELÈFON

BUCLE_ESP_INTRO:

JB P1.4,INI_DISPLAYJNB P1.5,NO_IDSETB ID

;INICIALITZACIO DEL ÍNDEX QUE SERVEIX PER ACCEDIR;ON ES GUARDA L' IDENTIFICADOR DE LA PLACAMOV R0,#BUFFER_ID

;QUAN S' INTRODUEIX EL ID LLAVORS, HA DE VALDRÉ 10MOV LIMIT_DIGIT,#10

INI_DISPLAY:

CLR ALCALL VISU_7SEGLCALL DELAY_PULSADOR_ACTIVATLJMP P14

NO_ID:NOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOP

Page 191: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

182

NOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPDJNZ R3,BUCLE_ESP_INTROMOV R3,#00HDJNZ R2,BUCLE_ESP_INTROLJMP VISUA_ID

;LECTURA DELS POLSADORS AMB EL SISTEMA ANTIRREBOTS

P14:JNB P1.4,P15

;ESBORRA ÍNDEX P1.4 = 0

MOV R5,#00HJB FLAG_P14,P15

;INCREMENTA ÍNDEX P1.4 = 1

INC R4CJNE R4,#255,P15

;SI ESTA PITJAT EL POLSADOR DE DESPLAÇAMENT;LLAVORS NO S' INCREMENTA ELS DÍGITS

JB FLAG_P15,P15

Page 192: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

183

;ACTIVA EL FLAG_P14 QUE INDICA QUE EL;POLSADOR DEL BIT P1.4 ESTA ACTIVAT

SETB FLAG_P14

;INCREMENTA LA XIFRAINC R1MOV A,R1CJNE A,LIMIT_DIGIT,P15MOV R1,#00H

;QUAN ES TRACTA DEL ID NO S' HA DE PERMETRE;INTRODUIR UN 10 EN R1

P15:MOV A,R1LCALL VISU_7SEG

JNB P1.5,ESBORRA_FLAG_P14

;ESBORRA ÍNDEX P1.5 = 0

MOV R7,#00HJB FLAG_P15,ESBORRA_FLAG_P14

;INCREMENTA ÍNDEX P1.4 = 1

INC R6CJNE R6,#255,ESBORRA_FLAG_P14

;ACTIVA EL FLAG_P15SETB FLAG_P15

CLR ALCALL VISU_7SEG

;DEPENEN DEL FLAG ID, ES REALITZA LA CARREGA DEL ID;O DEL NUMERO DE TELÈFON

JNB ID,NUM_TELEFON

;L' IDENTIFICADOR ( ABCD ) ES GUARDA D' AQUESTA FORMA;EN IDH AB;EN IDL CD

JNB POSICIO_PAR,POS_INPARMOV A,R1SWAP AMOV @R0,ACLR POSICIO_PARLJMP LIMIT_ID

Page 193: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

184

POS_INPAR:

;TRANSFEREIX R1 A LA MEMÒRIA ON ES GUARDA EL ID

MOV A,R1ORL A,@R0MOV @R0,AINC R0SETB POSICIO_PAR

LIMIT_ID:

;FICA A ZERO LA XIFRA QUE ES VISUALITZA

MOV R1,#00H

CJNE R0,#LIMIT_IDENT,ESBORRA_FLAG_P14

;DESACTIVACIO DEL DISPLAY

LCALL DISABLE_7SEGLJMP VISUA_ID

NUM_TELEFON:

;TRANSFEREIX R1 A LA MEMÒRIA ON ES GUARDA EL TELÈFON

MOV @R0,01H

;PASSA AL SEGÜENT DÍGIT

INC R0

;SI ES EL FINAL DEL NUMERO DE TELÈFON, LLAVORS EL VISUALITZA

CJNE R1,#NUM_FINAL,LIMIT_TEL

;DESACTIVAR DISPLAY

LCALL DISABLE_7SEGLJMP VISUA_ID

LIMIT_TEL:

;FICA A ZERO LA XIFRA QUE ES VISUALITZA

MOV R1,#00H

CJNE R0,#LIMIT_N_TEL,ESBORRA_FLAG_P14

;DESACTIVACIO DEL DISPLAY

LCALL DISABLE_7SEG

Page 194: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

185

LJMP VISUA_ID

ESBORRA_FLAG_P14:JB P1.4,ESBORRA_FLAG_P15

;ESBORRA ÍNDEX P1.4 = 1

MOV R4,#00H

;INCREMENTA ÍNDEX P1.4 = 0

INC R5CJNE R5,#255,ESBORRA_FLAG_P15

;ESBORRA FLAG_P14

CLR FLAG_P14

ESBORRA_FLAG_P15:JB P1.5,P14

;ESBORRA ÍNDEX P1.5 = 1

MOV R6,#00H

;INCREMENTA ÍNDEX P1.5 = 0

INC R7CJNE R7,#255,P14

;ESBORRA FLAG_P15

CLR FLAG_P15LJMP P14

VISUA_ID:

;ES CARREGA R0 AMB LA POSICIÓ DE MEMÒRIA;QUE APUNTA AL COMENÇAMENT DEL BUFFER ON;ES GUARDA EL ID

MOV R0,#BUFFER_IDLCALL DELAY

BUCLE_VISU_ID:

MOV A,@R0SWAP A

LCALL VISU_7SEGLCALL DELAY

Page 195: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

186

;DESACTIVACIO DEL DISPLAY

LCALL DISABLE_7SEGLCALL DELAY

MOV A,@R0LCALL VISU_7SEGLCALL DELAY

;DESACTIVACIO DEL DISPLAY

LCALL DISABLE_7SEGLCALL DELAY

INC R0

CJNE R0,#LIMIT_IDENT,BUCLE_VISU_ID

VISUA:

;ES CARREGA R0 AMB LA POSICIÓ DE MEMÒRIA;QUE APUNTA AL COMENÇAMENT DEL BUFFER ON;ES GUARDA EL NUMERO DE TELÈFON

MOV R0,#BUFFER_N_TELLCALL DELAY

BUCLE_VISU:MOV A,@R0INC R0CJNE A,#NUM_FINAL,LIMIT_TEL2LJMP FI_VISU

LIMIT_TEL2:

LCALL VISU_7SEGLCALL DELAY

;DESACTIVACIO DEL DISPLAY

LCALL DISABLE_7SEGLCALL DELAY

CJNE R0,#LIMIT_N_TEL,BUCLE_VISU

FI_VISU:

LJMP BUCLE_CENTRAL

COMPROVAR_ENTRADES:DJNZ CONTADOR,MIRAR_TRUCADAMOV CONTADOR,#NUM_LECTURES

Page 196: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

187

;ACTUALITZACIÓ DELS VALORS DE LES;ENTRADES EN MEMÒRIA

MOV ENTRADES_LSB,R2MOV ENTRADES_MSB,R3LJMP FER_TRUCADA

BUCLE_CENTRAL:

;MIRA SI HA DE TORNAR A TRUCAR A CAUSA;D' UNA CONNEXIÓ ANTERIOR FALLIDA

MOV A,ERROR_TRUCADAJNZ TEMPORITZADOR

LLEGIR_ENTRADES:

;SI NO S' HA DE TORNAR A TRUCAR, LLAVORS;ES LLEGEIXEN LES ENTRADES

LCALL LLEGIR_ENTRADES_0_7MOV R2,A

LCALL LLEGIR_ENTRADES_8_11MOV R3,A

;REALITZA UNA OPERACIÓ AND AMB EL VALOR;NEGAT DE LES ENTRADES ANTERIORS PER;EVITAR QUE UNA ENTRADA QUE ENCARA ESTA;ACTIVADA FACI QUE TORNI A TRUCAR

MOV A,ENTRADES_LSBXRL A,#0FFHANL A,R2MOV B,A

MOV A,ENTRADES_MSBXRL A,#0FFHANL A,R3ORL A,B

JNZ COMPROVAR_ENTRADESMOV CONTADOR,#NUM_LECTURES

MIRAR_TRUCADA:

LCALL HI_HA_TRUCADAJZ BUCLE_CENTRAL

Page 197: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

188

REBRE_TRUCADA:

LCALL DESPENJAR

;S' EMET UN POLS DE PORTADORA PER TAL;DE SINCRONITZAR-SE AMB L' ALTRA UNITAT

LCALL DELAY3

;PORTADORA ONMOV A,#66HMOVX @R0,ALCALL DELAY3

;PORTADORA OFFMOV A,#6EHMOVX @R0,A

LCALL DELAY2

LCALL INI_SERIE

;INICI DE LA TRANSMISSIÓ DE DADES

LCALL SERIELCALL PENJAR

;VISUALITZA LA XIFRA QUE INDICA L' ESTAT;DE LA COMUNICACIÓ SÈRIE

PUSH ACCLCALL VISU_7SEGPOP ACC

;VERIFICACIÓ DEL RESULTAT DE LA TRANSMISSIÓ ( 0 OK )

JNZ BUCLE_CENTRAL

;SI HI HAGUT UN ERROR DE CONNEXIÓ, PERÒ POSTERIORMENT,;HA REBUT UNA TRUCADA CORRECTA, LLAVORS S' ESBORRA EL;FLAG D' ERROR_TRUCADA

MOV ERROR_TRUCADA,#0

LJMP BUCLE_CENTRAL

Page 198: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

189

;DELAY PER OBTINDRÉ EL TEMPS ENTRE TRUCADES;QUAN S' HA PRODUÏT UN ERROR EN LA COMUNICACIÓ;I S' HA DE TORNAR A INTENTAR

TEMPORITZADOR:

INC TIMER1MOV A,TIMER1CJNE A,#MS_5,LLEGIR_ENTRADESMOV TIMER1,#0INC TIMER2MOV A,TIMER2CJNE A,#SEGON,LLEGIR_ENTRADESMOV TIMER2,#0INC TIMER3MOV A,TIMER3CJNE A,#MINUT,LLEGIR_ENTRADESMOV TIMER3,#0INC TIMER4MOV A,TIMER4CJNE A,#MINUTS,LLEGIR_ENTRADESMOV TIMER4,#0

FER_TRUCADA:

;COMPROVACIÓ DEL NUMERO DE TELÈFON

MOV R0,#BUFFER_N_TELCJNE @R0,#NUM_FINAL,HI_HA_TELEFONLJMP MIRAR_TRUCADA

HI_HA_TELEFON:

LCALL DISABLE_7SEGLCALL DESPENJAR

;ES NECESSARI UN PETIT DELAY DESPRÉS DE DESPENJAR,;PER TAL DE PODER TRUCAR

LCALL DELAY

LCALL INI_TRUCADA

LCALL TRUCAR

CLR TR0LCALL INI_TIMER0MOV R7,#0SETB TR0

Page 199: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

190

;BUCLE DE SINCRONISME AMB LA PORTADORA;SI NO REP RES DINTRE DEL TEMPS PREFIXAT,;DONA PER ACABADA LA CONNEXIÓ AMB ERROR

MOV R2,#0MOV R3,#0

NIVELL_ALT:

JNB TF0,COMPROVAR_NIVELL_ALT:CLR TF0LCALL INI_TIMER0INC R7CJNE R7,#SEGONS_12_8,COMPROVAR_NIVELL_ALT:CLR TR0LJMP NOCON

COMPROVAR_NIVELL_ALT:MOV A,P3JB ACC.0,NIVELL_ALT2INC R2CJNE R2,#255,NIVELL_ALTLJMP NIVELL_BAIX

NIVELL_ALT2:MOV R2,#0LJMP NIVELL_ALT

NIVELL_BAIX:

JNB TF0,COMPROVAR_NIVELL_BAIX:CLR TF0LCALL INI_TIMER0INC R7CJNE R7,#SEGONS_12_8,COMPROVAR_NIVELL_BAIX:CLR TR0LJMP NOCON

COMPROVAR_NIVELL_BAIX:MOV A,P3JNB ACC.0,NIVELL_BAIXINC R3CJNE R3,#255,NIVELL_BAIXLJMP FI_SYNC

NIVELL_BAIX2:MOV R3,#0LJMP NIVELL_BAIX

FI_SYNC:

LCALL DELAY2

Page 200: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

191

CLR TR0LCALL INI_SERIE

;INICI DE LA TRANSMISSIÓ DE DADES

LCALL SERIELCALL PENJAR

;VISUALITZA LA XIFRA QUE INDICA L' ESTAT;DE LA COMUNICACIÓ SERIE

PUSH ACCLCALL VISU_7SEGPOP ACC

;VERIFICACIÓ DEL RESULTAT DE LA TRANSMISSIÓ ( 0 OK )

JNZ NOCON

;SI HI HAGUT UN ERROR DE CONNEXIÓ, PERÒ POSTERIORMENT,;HA REBUT UNA TRUCADA CORRECTA, LLAVORS S' ESBORRA EL;FLAG D' ERROR_TRUCADA

MOV ERROR_TRUCADA,#0LJMP BUCLE_CENTRAL

NOCON:

LCALL PENJAR

;INICIALITZACIO DEL DELAY ENTRE TRUCADES

MOV TIMER1,#0MOV TIMER2,#0MOV TIMER3,#0MOV TIMER4,#0

;PER DEFECTE, QUAN ES PRODUEIX UN ERROR;EN LA COMUNICACIÓ, ES DISPOSA DE DOS;INTENTS MES

MOV A,ERROR_TRUCADAJNZ DEC_INTENTSMOV ERROR_TRUCADA,#INTENTS_TRUCADA

DEC_INTENTS:DEC ERROR_TRUCADALJMP BUCLE_CENTRAL

Page 201: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

192

;EN AQUEST BUCLE, S' ESPERA FINS QUE LES ENTRADES;DELS POLSADORS ESTIGUIN A NIVELL BAIX, ABANS DE;PROCEDIR A LA ENTRADA DEL ID O DEL NUMERO DE TELÈFON

DELAY_PULSADOR_ACTIVAT:

;GUARDA ELS REGISTRES R2 I R3 EN LA PILA

PUSH 02HPUSH 03HMOV R2,#00HMOV R3,#00H

MENTRES_PULSADOR_ACTIVAT:

JB P1.4,MENTRES_PULSADOR_ACTIVATJB P1.5,MENTRES_PULSADOR_ACTIVATDJNZ R3,MENTRES_PULSADOR_ACTIVATMOV R3,#00HDJNZ R2,MENTRES_PULSADOR_ACTIVATPOP 03HPOP 02HRET

;DADES NECESSÀRIES PER OBTENIR ELS TONS PER AL SISTEMA DTMFORG 0300H

;1336 HZDB 20H,20H,40H,40H,00H,00H,00H,00H,00H,00H,40HDB 40H,20H,60H,60H,10H,10H,50H,50H,30H,30H,30HDB 30H,30H,50H,50H,10H,10H,60H

;697 HZDB 06H,02H,02H,02H,04H,04H,04H,04H,00H,00H,00HDB 00H,00H,00H,00H,00H,00H,00H,04H,04H,04H,04HDB 02H,02H,02H,06H,06H,06H,01H,01H,01H,01H,05HDB 05H,05H,05H,03H,03H,03H,03H,03H,03H,03H,03HDB 03H,03H,05H,05H,05H,05H,01H,01H,01H,06H,06H

;770 HZDB 06H,02H,02H,02H,04H,04H,04H,00H,00H,00H,00HDB 00H,00H,00H,00H,00H,00H,04H,04H,04H,02H,02HDB 02H,06H,06H,06H,01H,01H,01H,05H,05H,05H,03HDB 03H,03H,03H,03H,03H,03H,03H,03H,03H,05H,05HDB 05H,01H,01H,01H,06H,06H

;852 HZDB 06H,02H,02H,04H,04H,04H,00H,00H,00H,00H,00HDB 00H,00H,00H,00H,04H,04H,04H,02H,02H,02H,06HDB 06H,01H,01H,01H,05H,05H,05H,03H,03H,03H,03HDB 03H,03H,03H,03H,05H,05H,05H,05H,01H,01H,06HDB 06H

Page 202: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

193

;1209 HZDB 60H,20H,40H,40H,40H,00H,00H,00H,00H,00H,00HDB 40H,40H,20H,20H,60H,10H,10H,50H,50H,50H,30HDB 30H,30H,30H,30H,30H,50H,50H,10H,10H,60H

;1477 HZDB 20H,20H,40H,40H,00H,00H,00H,00H,40H,40H,20HDB 20H,60H,10H,10H,50H,50H,30H,30H,30H,30H,50HDB 50H,10H,10H,60H

ORG 0400H

;1336 HZDB 20H,20H,40H,40H,00H,00H,00H,00H,00H,00H,40HDB 40H,20H,60H,60H,10H,10H,50H,50H,30H,30H,30HDB 30H,30H,50H,50H,10H,10H,60H

;941 HZDB 06H,02H,02H,04H,04H,04H,00H,00H,00H,00H,00HDB 00H,00H,00H,04H,04H,04H,02H,02H,06H,06H,01HDB 01H,05H,05H,05H,03H,03H,03H,03H,03H,03H,03HDB 03H,05H,05H,05H,01H,01H,06H,06H

;S' HA DE SELECCIONAR LA PAGINA2 PER TAL DE LLEGIR;L' INFORMACIÓ NECESSÀRIA PER GENERAR ELS TONS DEL;NUMERO ZERO.

DTMF:PUSH 00JNZ NOPAGINA2SETB PAGINA2

NOPAGINA2:RL ARL AADD A,#020HMOV DPH,#00HMOV DPL,ACLR AMOVC A,@A+DPTRMOV R0,AMOV A,#01MOVC A,@A+DPTRMOV R1,AMOV A,#02MOVC A,@A+DPTRMOV R2,AMOV A,#03MOVC A,@A+DPTRMOV R3,AMOV R4,02HDEC R4

Page 203: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

194

MOV R5,03HDEC R5MOV DPH,#03HMOV DPL,#00HJNB PAGINA2,TONSMOV DPH,#04HCLR PAGINA2

TONS:DJNZ R2,BUCLE_DTMF3MOV A,R4MOV R2,A

BUCLE_DTMF:DJNZ R3,BUCLE_DTMF4MOV A,R5MOV R3,A

BUCLE_DTMF2:MOV A,R2ADD A,R0MOVC A,@A+DPTRMOV R6,AMOV A,R3ADD A,R1MOVC A,@A+DPTRORL A,006H

;DESACTIVACIO DE LA PORTADORAORL A,#08H

;TREU LES DADES PEL PORT 0, COM SI ES TRACTES;D' ESCRIURE EN RAM EXTERNA

MOVX @R0,AJNB TF0,BUCLE_DTMF5CLR TF0DJNZ R7,TONSPOP 00RET

BUCLE_DTMF3:LJMP BUCLE_DTMF

BUCLE_DTMF4:LJMP BUCLE_DTMF2

BUCLE_DTMF5:NOPLJMP TONS

Page 204: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

195

PAUSA:

;VALOR QUE HA DE TENIR ELS D/A I EL PIU DE CONTROL;DE LA PORTADORA ( PE )

MOV A,#6EHMOVX @R0,AMOV R7,#02

;DELAY D' UNS 130 MS, BASAT EN EL TIMER 0 ( 65536 uS)

BUCLE_PAUSA:

JNB TF0,BUCLE_PAUSACLR TF0DJNZ R7,BUCLE_PAUSARET

;SUBRUTINA QUE ENVIA UNA TRAMA

ENVIAR:

;DESHABILITA LA RECEPCIÓ DE DADES SÈRIE

CLR RENPUSH 01MOV R1,#BUF_EMISSIO

ENVIAR_BYTE:MOV A,@R1MOV SBUF,AMOV A,R1INC R1JNB TI,$

CLR TIDEC ACJNE A,END_BUFFER_E,ENVIAR_BYTEPOP 01

;HABILITA LA RECEPCIÓ DE DADES SÈRIESETB RENRET

;SUBRUTINA QUE REP UN CARÀCTER

REBRE:JNB RI,RETORNA

;ESBORRA EL FLAG RI

CLR RIMOV A,SBUFMOV @R1,A

Page 205: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

196

;MIRA EL HEADER DE LA TRAMA PER ESPECIFICAR;EL SEU TAMANY ( 8 BYTES TRAMA DE DADES I 5 BYTES;TRAMA DE ACK )

CJNE R1,#BUF_RECEPCIO,INC_INDEXCJNE A,#HEADER_DATA,INC_INDEX

;ESPECIFICA EL TAMANY DE LA TRAMA DE DADES (8 BYTES)

MOV END_BUFFER_R,#END_BUF_R_DINC_INDEX:INC R1MOV A,R1

RETORNA:RET

;INICIALITZACIO DEL PORT SÈRIE

INI_SERIE:

MOV STATUS,#0

;NUMEROTRAMAMOV R2,#00

;INTENTSMOV R3,#00

;TIMER 0 MODE DE 16 BITS (MODE 1);TIMER 1 MODE DE 8 BITS AMB PRECARREGA (MODE 2)MOV TMOD,#21H

;TIMER PER A OBTINDRÉ "128 BPS"MOV TL1,#00CHMOV TH1,#00CH

;BIT SMOD A 0ANL PCON,#7FH

;ACTIVACIÓ DEL TIMER 1 ( GENERADOR DE BAUDS )SETB TR1

;PORT SÈRIE EN MODE 1 (SM2 = 0), HABILITAR RECEPCIÓ (REN = 0);(RI B0) (TI B1)MOV SCON,#40H

;INICIALITZACIO DELS FLAGS RI I TICLR RICLR TI

Page 206: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

197

;HABILITAR LA RECEPCIÓSETB REN

RET

;RUTINA QUE S’ ENCARREGA DE LA COMUNICACIÓ DE DADES VIA SÈRIE.;EN L' ACUMULADOR RETORNA COM HA ANAT LA CONNEXIÓ

SERIE:

;PREPARAR TRAMA DE DADES

MOV BUF_EMISSIO,#HEADER_DATA

;NUMERO DE TRAMAMOV BUF_EMISSIO+1,#00H

;MSB IDENTIFICADOR TARGETAMOV A,IDHMOV BUF_EMISSIO+2,A

;LSB IDENTIFICADOR TARGETAMOV A,IDLMOV BUF_EMISSIO+3,A

;MSB ENTRADESMOV A,ENTRADES_MSBMOV BUF_EMISSIO+4,A

;LSB ENTRADESMOV A,ENTRADES_LSBMOV BUF_EMISSIO+5,A

MOV R0,#BUF_EMISSIOMOV R1,#BUF_EMISSIOMOV END_BUFFER_E,#END_BUF_E_DMOV END_BUFFER,END_BUFFER_E

;CÀLCUL DEL CRC 16 BITS DE LA TRAMA DE DADES

LCALL CRC

ENVIAR_TRAMA:LCALL ENVIAR

LCALL INI_TIMER0MOV R7,#0

;ACTIVA EL TIMER 0 PER CONTROLAR ELS TIMEOUTSSETB TR0

Page 207: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

198

;INICIALITZACIONS DELS BUFFERS

MOV END_BUFFER_R,#END_BUF_R_AMOV R1,#BUF_RECEPCIO

ESP_ACK:JNB TF0,RECEPCIO_ACKCLR TF0LCALL INI_TIMER0INC R7CJNE R7,#SEGONS_3,RECEPCIO_ACKMOV R7,#00

;INTENTS++INC R3

;DONA PER ACABADA CORRECTAMENT LA CONNEXIÓ SI;JA S' HA REBUT EL PRIMER ACK

CJNE R2,#00,CONNEXIO_OK

;TORNAR A ENVIAR LA TRAMACJNE R3,#MAX_TIMEOUTS,ENVIAR_TRAMA

;S' HA SUPERAT EL MÀXIM DE TIMEOUTS I ES DONA;PER ACABADA LA COMUNICACIÓ I ES RETORNA COM;HA ANAT AL ACUMULADOR

MOV A,STATUSADD A,#1LJMP FI_SERIE

RECEPCIO_ACK:LCALL REBRECJNE A,END_BUFFER_R,ESP_ACK

;COMPROVACIÓ DEL CRC DE LA TRAMA REBUDA

MOV R0,#BUF_RECEPCIOMOV END_BUFFER,END_BUFFER_RLCALL CRCJNB CRC_OK,NOACK

MOV STATUS,NUMTRAMAINC STATUS

MOV A,#01ADD A,R2

;COMPROVACIÓ DEL NUMERO DE TRAMA DEL ACK REBUTCJNE A,NUMTRAMA,NOACK

Page 208: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

199

;NUMEROTRAMA++INC R2

;INTENTS = 0MOV R3,#00

;PARAR EL TIMER 0CLR TR0MOV R7,#00

;INICIALITZACIO

MOV END_BUFFER_R,#END_BUF_R_AMOV R1,#BUF_RECEPCIO

;ENVIA LA TRAMA DE PETICIÓ DE FINALITZACIO I DESPRÉS LA;TRAMA QUE INDICA EL FINAL DE LA CONNEXIÓ

MOV BUF_EMISSIO,#HEADER_END

;NUMERO DE TRAMAMOV BUF_EMISSIO+1,02

;CAMP DE CONTROL ( RESERVAT PER AMPLIACIÓ )MOV BUF_EMISSIO+2,#00H

MOV R0,#BUF_EMISSIOMOV END_BUFFER_E,#END_BUF_E_AMOV END_BUFFER,END_BUFFER_ELCALL CRCLCALL ENVIAR

;ACTIVAR EL TIMER 0SETB TR0

CJNE R2,#02,ESP_ACK

CONNEXIO_OK:MOV A,#EMISSIO_OKLJMP FI_SERIE

NOACK:CLR TR0

;INTENTS++INC R3

;DONA PER ACABADA CORRECTAMENT LA CONNEXIÓ SI;JA S' HA REBUT EL PRIMER ACK

CJNE R2,#00,CONNEXIO_OK

Page 209: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

200

CJNE R3,#MAX_TIMEOUTS,ENVIAR_TRAMA

;S' HA SUPERAT EL MÀXIM DE TIMEOUTS I ES DONA;PER ACABADA LA COMUNICACIÓ I ES RETORNA COM;HA ANAT AL ACUMULADOR

MOV A,STATUSADD A,#1

FI_SERIE:CLR RENCLR TR0CLR TR1CLR RICLR TIRET

; LA POSICIÓ DE MEMÒRIA END_BUFFER CONTE LA POSICIÓ FINAL DEL; BUFFER I EL REGISTRE R0 L' INICIAL

CRC:

;ESBORRA EL FLAG QUE INDICA QUE EL CRC ES CORRECTECLR CRC_OK

;ES GUARDA EL CONTINGUT DEL REGISTRE R0, R1, R2 I R3

PUSH 00PUSH 01PUSH 02PUSH 03MOV R2,#00MOV R3,#00

CALCUL_CRC:MOV A,@R0XRL 03H,A

;ÍNDEX PER FER EL RECORREGUT DE TOT EL BYTE

MOV R4,#8RECORRERBYTE:CLR CMOV A,R2RLC AMOV R2,AMOV A,R3RLC AMOV R3,AJNC NOCARRYXRL 02H,#21HXRL 03H,#10h

NOCARRY:

Page 210: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

201

DJNZ R4,RECORRERBYTEINC R0MOV A,R0CJNE A,END_BUFFER,CALCUL_CRCMOV R1,AMOV @R1,03HINC R1MOV @R1,02HCJNE R2,#00,CRC_NO_OKCJNE R3,#00,CRC_NO_OKSETB CRC_OK

CRC_NO_OK:POP 03POP 02POP 01POP 00RET

;FUNCIÓ QUE RETORNA EL RESULTAT EN EL ACC;SI P3.5 ESTA A 0 RETORNA UN 1 AL ACC, EN EL;ALTRE CAS RETORNA UN ZERO

HI_HA_TRUCADA:CLR AJB P3.5,RET_HI_HA_TRUCADAMOV A,#01

RET_HI_HA_TRUCADA:RET

;HABILITA EL DISPLAY

ENABLE_7SEG:SETB P1.6RET

;DESHABILITA EL DISPLAY

DISABLE_7SEG:CLR P1.6RET

DESPENJAR:SETB P3.3RET

PENJAR:CLR P3.3RET

Page 211: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

202

INI_TIMER0:

;TIMER 0 EN MODE 16 BITS PER A UN PERÍODE DE 50 MS

MOV TL0,#0B0HMOV TH0,#03CHRET

;VISUALITZA EL CONTINGUT DELS 4 BITS LSB DEL ACUMULADOR

VISU_7SEG:

;ES CARREGA AL P2 EL VALOR QUE HA D' ANAR AL DECO 7 SEGMOV P2,A

;VALOR QUE HA DE TENIR ELS D/A I EL PIU DE CONTROLMOV A,#6EH

;ESCRIU AL DECO 7 SEGMOVX @R0,ALCALL ENABLE_7SEGRET

INI_TRUCADA:

;TIMER 0 EN MODE 1 (16 BITS);PER A UN PERÍODE DE 65536 USMOV TMOD,#01HMOV TL0,#00HMOV TH0,#00H

;INICIALITZACIO DEL PUNTER A MEMÒRIA DE PROGRAMAMOV DPH,#03HMOV DPL,#00H

SETB TR0MOV R0,#BUFFER_N_TELRET

Page 212: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

203

;RUTINA QUE LLEGEIX EL NUMERO DE MEMÒRIA I;REALITZA LA MARCACIO DTMF

TRUCAR:MOV A,@R0INC R0

;ES MIRA SI S' HA ARRIBAT A L' ULTIMA XIFRA

CJNE A,#NUM_FINAL,LIMIT_NUMLJMP FI_TRUCAR

LIMIT_NUM:

;S' INICIALITZA EL REGISTRE QUE DETERMINA LA;DURACIÓ DELS TONS ( 130 MS )

MOV R7,#02LCALL DTMFLCALL PAUSA

CJNE R0,#LIMIT_N_TEL,TRUCARFI_TRUCAR:RET

; DELAY D' APROXIMADAMENT 1 SEGON DE DURACIÓ

DELAY:PUSH 02HPUSH 03HMOV R2,#0HMOV R3,#0H

BUCLE_DELAY:NOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPDJNZ R3,BUCLE_DELAYDJNZ R2,BUCLE_DELAYPOP 03HPOP 02HRET

Page 213: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

204

; DELAY D' APROXIMADAMENT 0,5 SEGONS DE DURACIÓ

DELAY2:PUSH 02HPUSH 03HMOV R2,#0HMOV R3,#0H

BUCLE_DELAY2:NOPNOPNOPNOPNOPNOPDJNZ R3,BUCLE_DELAY2DJNZ R2,BUCLE_DELAY2POP 03HPOP 02HRET

; DELAY D' APROXIMADAMENT 0,2 SEGONS DE DURACIÓ

DELAY3:PUSH 02HPUSH 03HMOV R2,#0HMOV R3,#0H

BUCLE_DELAY3:NOPDJNZ R3,BUCLE_DELAY3DJNZ R2,BUCLE_DELAY3POP 03HPOP 02HRET

;SUBRUTINA QUE RETORNA AL ACUMULADOR EL;VALOR DE LES 8 ENTRADES LSB

LLEGIR_ENTRADES_0_7:PUSH 02HMOV A,P1ANL A,#0FHMOV R2,AMOVX A,@R0ANL A,#0FHSWAP AORL A,R2POP 02HRET

Page 214: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

205

;SUBRUTINA QUE RETORNA AL ACUMULADOR EL;VALOR DE LES 4 ENTRADES MSB

LLEGIR_ENTRADES_8_11:MOVX A,@R0ANL A,#0F0HSWAP ARET

;INTRODUCCIÓ DEL IDENTIFICADOR I DEL NUMERO DE TELÈFON;A LA MEMÒRIA EPROM

;IDENTIFICADOR, SI NO ES GUARDA A LA MEMÒRIA, PER;DEFECTE S' HA DE FICAR A 0000

;EXEMPLE D' IDENTIFICADOR 1234;DB 12H,34H

ORG 0700HDB 00H,00H

;NUMERO DE TELÈFON, SI NO ES GUARDA A LA MEMÒRIA, PER;DEFECTE AL PRIMER BYTE HA DE TINDRÉ 0AH QUE INDICA QUE;NO HI HA CAP NUMERO DE TELÈFON. SI ES VOL GUARDAR EL;NUMERO DE TELÈFON A MEMÒRIA, PER INDICAR EL SEU FINAL;S' HA DE COL·LOCAR 0AH.

;EXEMPLE DE NUMERO DE TELÈFON 977000000;DB 9,7,7,0,0,0,0,0,0;DB 0AH INDICADOR DE FINAL DE NUMERO

ORG 0702HDB 0AH

Codi 1. Programa ASM Placa Monitoritzacio

Page 215: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

206

9.1.2 Programa ASM Placa Monitoritzacio per PC

;USES 8031

;FLAGS

BSC EQU 0E7H ;ACC.7

BSE EQU 097H ;P1.7

FLAG_P14 EQU 0

FLAG_P15 EQU 1

ID EQU 2

POSICIO_PAR EQU 3

FINAL EQU 4

CRC_OK EQU 5

TRAMA_OK EQU 6

PAGINA2 EQU 7

LLEGIR_DATA EQU 8

;INDICA SI ESTA ACTIVAT EL MODE TEST

TEST EQU 9

;CONSTANTS

DATA EQU 10H

TRUCADA EQU 20H

CONNEXIO_CORRECTA EQU 30H

ERROR_SERIE EQU 40H

ERROR_CONNEXIO EQU 50H

NO_LINIA EQU 60H

MARCAR EQU 70H

;INDICA QUE ES PASSI A MODE TEST

MODE_TEST EQU 11

;INDICA QUE ES PASSI A MODE NORMAL

MODE_NORMAL EQU 12

INTENTS_TRUCADA EQU 3

TIMEOUTS EQU 1

RECEPCIO_OK EQU 0

Page 216: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

207

EMISSIO_OK EQU 0

NO_DATA EQU 80H

NO_TRAMA_END EQU 40H

SEGONS_2 EQU 40

SEGONS_3 EQU 60

SEGONS_10 EQU 200

SEGONS_12_8 EQU 0

MAX_TIMEOUTS EQU 10

L_TRAMA EQU 5

L_TRAMA-2 EQU 3

L_TRAMA_DATA EQU 8

L_TRAMA_D-2 EQU 6

HEADER_ACK EQU 3

HEADER_DATA EQU 1

HEADER_END EQU 4

NUM_FINAL EQU 10

;VARIABLES O PUNTERS

;EN AQUESTES POSICIONS DE MEMÒRIA ES GUARDEN

;ELS VALORS DE LES ENTRADES

ENTRADES_LSB EQU 36H

ENTRADES_MSB EQU 37H

;INDICA SI S' HA DE TORNAR A TRUCAR DESPRÉS

;D' UNA CONNEXIÓ FALLIDA

ERROR_TRUCADA EQU 38H

STATUS EQU 39H

;EN AQUESTES POSICIONS DE MEMÒRIA ES GUARDA

;EL VALOR DE L' IDENTIFICADOR

IDL EQU 59H

IDH EQU 5AH

BUF_EMISSIO EQU 6DH

BUF_RECEPCIO EQU 75H

END_BUFFER EQU 7DH

Page 217: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

208

END_BUFFER_E EQU 7EH

END_BUFFER_R EQU 7FH

BUFFER_AUX EQU 40H

END_BUF_R_A EQU 7AH ;BUF_RECEPCIO + L_TRAMA

END_BUF_R_D EQU 7DH ;BUF_RECEPCIO + L_TRAMA_DATA

END_BUF_E_A EQU 70H ;BUF_EMISSIO + L_TRAMA-2

END_BUF_E_D EQU 73H ;BUF_EMISSIO + L_TRAMA_D-2

NUMTRAMA EQU 76H ;BUF_RECEPCIO + 1

DADES EQU 77H ;BUF_RECEPCIO + 2

BUFFER_ID EQU 59H

BUFFER_N_TEL EQU 5BH

LIMIT_IDENT EQU 5BH

LIMIT_N_TEL EQU 6DH

;INDICA QUIN ES EL NUMERO MES GRAN QUE ES POT ADMETRE

;QUAN S' INTRODUEIX L' IDENTIFICADOR ( 9 ) O EL NUMERO

;DE TELÈFON ( 10 )

LIMIT_DIGIT EQU 30H

ORG 0000H

LJMP INICI

;TAULA DE DADES NECESSÀRIA PER GENERAR

;ELS TONS DTMF

ORG 0020H

DB 1CH,0FFH,2AH,1EH

DB 1CH,0B2H,38H,21H

DB 1CH,0FFH,38H,1EH

DB 1CH,0D2H,38H,1BH

DB 53H,0B2H,33H,21H

DB 53H,0FFH,33H,1EH

DB 53H,0D2H,33H,1BH

DB 85H,0B2H,2EH,21H

DB 85H,0FFH,2EH,1EH

DB 85H,0D2H,2EH,1BH

Page 218: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

209

INICI:

;INICIALITZACIO DEL REGISTRE D' ESTAT

MOV P1,#0

;ORDRE DE LATCH DEL REGISTRE D' ESTAT

SETB P3.2

LCALL PENJAR

;INICIALITZACIO CONVERSORS D/A I PIU PORTADORA

MOV A,#6EH

MOVX @DPTR,A

;FINS QUE EL REGISTRE DE CONTROL NO ESTIGUI A ZERO,

;ES QUEDARÀ AQUÍ ESPERANT-SE

INI_PLACA:

MOVX A,@R0

JNZ INI_PLACA

CLR TEST

LJMP BUCLE_CENTRAL

ACTIVAR_MODE_TEST:

SETB TEST

LJMP BUCLE_CENTRAL

DESACTIVAR_MODE_TEST:

CLR TEST

BUCLE_CENTRAL:

;LLEGEIX EL REGISTRE DE CONTROL DE LA PLACA

MOVX A,@R0

XRL A,#MARCAR

JZ FER_TRUCADA

Page 219: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

210

;COMPROVA SI HA REBUT L' ORDRE DE CANVIAR

;DE MODE DE FUNCIONAMENT

MOVX A,@R0

XRL A,#MODE_TEST

JZ ACTIVAR_MODE_TEST

MOVX A,@R0

XRL A,#MODE_NORMAL

JZ DESACTIVAR_MODE_TEST

;COMPROVA SI HI HA ALGUNA TRUCADA

LCALL HI_HA_TRUCADA

JZ BUCLE_CENTRAL

REBRE_TRUCADA:

LCALL DESPENJAR

;S' HA DE REALITZAR UN PETIT DELAY

;DESPRÉS DE DESPENJAR

LCALL DELAY3

;PORTADORA ON

MOV A,#66H

MOVX @DPTR,A

LCALL DELAY3

;PORTADORA OFF

MOV A,#6EH

MOVX @DPTR,A

LCALL DELAY3

LCALL INI_SERIE

;INICI DE LA RECEPCIÓ DE DADES

LCALL SERIE

LCALL PENJAR

Page 220: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

211

;VERIFICACIÓ DEL RESULTAT DE LA RECEPCIÓ ( 0 OK )

JNZ RECEPCIO_INCORRECTA

;ES COMUNICA AMB L' APLICACIÓ GESTIÓ REMOTA

MOV A,#CONNEXIO_CORRECTA

LCALL ESCRIPTURA_BUS_ISA

;ENVIA LES DADES OBTINGUDES DE LA COMUNICACIÓ

LCALL COPIAR_DADES

LJMP BUCLE_CENTRAL

RECEPCIO_INCORRECTA:

MOV A,#ERROR_SERIE

LCALL ESCRIPTURA_BUS_ISA

LJMP BUCLE_CENTRAL

FER_TRUCADA:

;INICIALITZACIO DEL ÍNDEX QUE SERVEIX PER ACCEDIR

;ON ES GUARDA EL NUMERO DE TELÈFON

MOV R0,#BUFFER_N_TEL

LLEGIR_NUMERO:

LCALL LECTURA_BUS_ISA

INC R0

CJNE A,#NUM_FINAL,COMPROBAR_LIMIT

LJMP MARCAR_NUMERO

COMPROBAR_LIMIT:

CJNE R0,#LIMIT_N_TEL,LLEGIR_NUMERO

MARCAR_NUMERO:

LCALL DESPENJAR

;ES NECESSARI UN PETIT DELAY DESPRÉS DE DESPENJAR, PER

;TAL DE PODER TRUCAR

LCALL DELAY

LCALL INI_TRUCADA

Page 221: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

212

LCALL TRUCAR

LCALL INI_TIMER0

MOV R7,#0

SETB TR0

;BUCLE DE SINCRONISME AMB LA PORTADORA

;SI NO REP RES DINTRE DEL TEMPS PREFIXAT,

;DONA PER ACABADA LA CONNEXIÓ AMB ERROR

MOV R2,#0

MOV R3,#0

NIVELL_ALT:

JNB TF0,COMPROVAR_NIVELL_ALT:

CLR TF0

LCALL INI_TIMER0

INC R7

CJNE R7,#SEGONS_12_8,COMPROVAR_NIVELL_ALT:

CLR TR0

LJMP NOCON1

COMPROVAR_NIVELL_ALT:

MOV A,P3

JB ACC.0,NIVELL_ALT2

INC R2

CJNE R2,#255,NIVELL_ALT

LJMP NIVELL_BAIX

NIVELL_ALT2:

MOV R2,#0

LJMP NIVELL_ALT

NIVELL_BAIX:

JNB TF0,COMPROVAR_NIVELL_BAIX:

CLR TF0

LCALL INI_TIMER0

INC R7

CJNE R7,#SEGONS_12_8,COMPROVAR_NIVELL_BAIX:

CLR TR0

LJMP NOCON1

Page 222: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

213

COMPROVAR_NIVELL_BAIX:

MOV A,P3

JNB ACC.0,NIVELL_BAIX

INC R3

CJNE R3,#255,NIVELL_BAIX

LJMP FI_SYNC

NIVELL_BAIX2:

MOV R3,#0

LJMP NIVELL_BAIX

FI_SYNC:

LCALL DELAY3

CLR TR0

LCALL INI_SERIE

;INICI DE LA RECEPCIÓ DE DADES

LCALL SERIE

LCALL PENJAR

;VERIFICACIÓ DEL RESULTAT DE LA RECEPCIÓ ( 0 OK )

JNZ NOCON2

MOV A,#CONNEXIO_CORRECTA

LCALL ESCRIPTURA_BUS_ISA

LCALL COPIAR_DADES

LJMP BUCLE_CENTRAL

NOCON1:

MOV A,#ERROR_CONNEXIO

LCALL ESCRIPTURA_BUS_ISA

LJMP TORNAR_BUCLE_CENTRAL

NOCON2:

MOV A,#ERROR_SERIE

LCALL ESCRIPTURA_BUS_ISA

TORNAR_BUCLE_CENTRAL:

LCALL PENJAR

LJMP BUCLE_CENTRAL

Page 223: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

214

;DADES NECESSÀRIES PER OBTENIR ELS TONS DTMF

ORG 0300H

;1336 HZ

DB 20H,20H,40H,40H,00H,00H,00H,00H,00H,00H,40H

DB 40H,20H,60H,60H,10H,10H,50H,50H,30H,30H,30H

DB 30H,30H,50H,50H,10H,10H,60H

;697 HZ

DB 06H,02H,02H,02H,04H,04H,04H,04H,00H,00H,00H

DB 00H,00H,00H,00H,00H,00H,00H,04H,04H,04H,04H

DB 02H,02H,02H,06H,06H,06H,01H,01H,01H,01H,05H

DB 05H,05H,05H,03H,03H,03H,03H,03H,03H,03H,03H

DB 03H,03H,05H,05H,05H,05H,01H,01H,01H,06H,06H

;770 HZ

DB 06H,02H,02H,02H,04H,04H,04H,00H,00H,00H,00H

DB 00H,00H,00H,00H,00H,00H,04H,04H,04H,02H,02H

DB 02H,06H,06H,06H,01H,01H,01H,05H,05H,05H,03H

DB 03H,03H,03H,03H,03H,03H,03H,03H,03H,05H,05H

DB 05H,01H,01H,01H,06H,06H

;852 HZ

DB 06H,02H,02H,04H,04H,04H,00H,00H,00H,00H,00H

DB 00H,00H,00H,00H,04H,04H,04H,02H,02H,02H,06H

DB 06H,01H,01H,01H,05H,05H,05H,03H,03H,03H,03H

DB 03H,03H,03H,03H,05H,05H,05H,05H,01H,01H,06H

DB 06H

;1209 HZ

DB 60H,20H,40H,40H,40H,00H,00H,00H,00H,00H,00H

DB 40H,40H,20H,20H,60H,10H,10H,50H,50H,50H,30H

DB 30H,30H,30H,30H,30H,50H,50H,10H,10H,60H

;1477 HZ

DB 20H,20H,40H,40H,00H,00H,00H,00H,40H,40H,20H

DB 20H,60H,10H,10H,50H,50H,30H,30H,30H,30H,50H

DB 50H,10H,10H,60H

Page 224: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

215

ORG 0400H

;1336 HZ

DB 20H,20H,40H,40H,00H,00H,00H,00H,00H,00H,40H

DB 40H,20H,60H,60H,10H,10H,50H,50H,30H,30H,30H

DB 30H,30H,50H,50H,10H,10H,60H

;941 HZ

DB 06H,02H,02H,04H,04H,04H,00H,00H,00H,00H,00H

DB 00H,00H,00H,04H,04H,04H,02H,02H,06H,06H,01H

DB 01H,05H,05H,05H,03H,03H,03H,03H,03H,03H,03H

DB 03H,05H,05H,05H,01H,01H,06H,06H

;S' HA DE SELECCIONAR LA PAGINA2 PER TAL DE LLEGIR L' INFORMACIÓ

;NECESSÀRIA PER GENERAR ELS TONS DEL NUMERO ZERO.

DTMF:

PUSH 00

JNZ NOPAGINA2

SETB PAGINA2

NOPAGINA2:

RL A

RL A

ADD A,#020H

MOV DPH,#00H

MOV DPL,A

CLR A

MOVC A,@A+DPTR

MOV R0,A

MOV A,#01

MOVC A,@A+DPTR

MOV R1,A

MOV A,#02

MOVC A,@A+DPTR

MOV R2,A

MOV A,#03

MOVC A,@A+DPTR

MOV R3,A

MOV R4,02H

DEC R4

Page 225: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

216

MOV R5,03H

DEC R5

MOV DPH,#03H

MOV DPL,#00H

JNB PAGINA2,TONS

MOV DPH,#04H

CLR PAGINA2

TONS:

DJNZ R2,BUCLE_DTMF3

MOV A,R4

MOV R2,A

BUCLE_DTMF:

DJNZ R3,BUCLE_DTMF4

MOV A,R5

MOV R3,A

BUCLE_DTMF2:

MOV A,R2

ADD A,R0

MOVC A,@A+DPTR

MOV R6,A

MOV A,R3

ADD A,R1

MOVC A,@A+DPTR

ORL A,006H

;PORTADORA OFF

ORL A,#08H

;ENVIA LES DADES AL DOS CONVERSORS D/A DE 3 BITS

MOVX @R0,A

JNB TF0,BUCLE_DTMF5

CLR TF0

DJNZ R7,TONS

POP 00

RET

BUCLE_DTMF3:

LJMP BUCLE_DTMF

BUCLE_DTMF4:

LJMP BUCLE_DTMF2

Page 226: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

217

BUCLE_DTMF5:

NOP

LJMP TONS

PAUSA:

;VALOR QUE HA DE TENIR ELS D/A I EL PIU DE CONTROL

;DE LA PORTADORA ( PE )

MOV A,#6EH

MOVX @R0,A

MOV R7,#02

;DELAY D' UNS 130 MS, BASAT EN EL TIMER 0 ( 65536 uS)

BUCLE_PAUSA:

JNB TF0,BUCLE_PAUSA

CLR TF0

DJNZ R7,BUCLE_PAUSA

RET

;SUBRUTINA QUE ENVIA UNA TRAMA

ENVIAR:

;DESHABILITA LA RECEPCIÓ DE DADES SÈRIE

CLR REN

PUSH 01

MOV R1,#BUF_EMISSIO

ENVIAR_BYTE:

MOV A,@R1

MOV SBUF,A

MOV A,R1

INC R1

JNB TI,$

CLR TI

DEC A

CJNE A,END_BUFFER_E,ENVIAR_BYTE

POP 01

;HABILITA LA RECEPCIÓ DE DADES SÈRIE

SETB REN

RET

Page 227: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

218

;SUBRUTINA QUE REP UN CARÀCTER

REBRE:

JNB RI,RETORNA

;ESBORRA EL FLAG RI

CLR RI

MOV A,SBUF

MOV @R1,A

;MIRA EL HEADER DE LA TRAMA PER ESPECIFICAR

;EL SEU TAMANY ( 8 BYTES TRAMA DE DADES 5 BYTES

;TRAMA DE ACK )

CJNE R1,#BUF_RECEPCIO,INC_INDEX

CJNE A,#HEADER_DATA,INC_INDEX

;ESPECIFICA EL TAMANY DE LA TRAMA DE DADES (8 BYTES)

MOV END_BUFFER_R,#END_BUF_R_D

INC_INDEX:

INC R1

MOV A,R1

RETORNA:

RET

INI_TIMER0:

;TIMER 0 EN MODE 16 BITS PER A UN PERÍODE DE 50 MS

MOV TL0,#0B0H

MOV TH0,#03CH

RET

Page 228: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

219

;INICIALITZACIO DEL PORT SÈRIE

INI_SERIE:

;NUMEROTRAMA

MOV R2,#00

;INTENTS

MOV R3,#00

;TIMER 0 EN MODE 1 (16 BITS)

;TIMER 1 EN MODE 2 (8 BITS AMB PRECARREGA)

MOV TMOD,#21H

;TIMER PER A OBTINDRÉ "128 BPS"

MOV TL1,#00CH

MOV TH1,#00CH

;BIT SMOD A 0

ANL PCON,#7FH

;ACTIVACIÓ DEL TIMER 1 ( GENERADOR DE BAUDS )

SETB TR1

;PORT SÈRIE EN MODE 1 (SM2 = 0), HABILITAR RECEPCIÓ (REN = 0)

;(RI B0) (TI B1)

MOV SCON,#40H

;INICIALITZACIO DELS FLAGS RI I TI

CLR RI

CLR TI

;HABILITAR LA RECEPCIÓ

SETB REN

RET

Page 229: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

220

;RUTINA QUE S’ ENCARREGA DE LES COMUNICACIONS DE DADES VIA SÈRIE

;LES DADES SON GUARDADES EN UN BUFFER ( BUFFER AUX )

;EN L' ACUMULADOR ES RETORNA COM HA ANAT LA CONNEXIÓ

SERIE:

;TIMER 0 EN MODE 1 (16 BITS)

;TIMER 1 EN MODE 2 (8 BITS AMB PRECARREGA)

MOV TMOD,#21H

LCALL INI_TIMER0

MOV R7,#00H

;ACTIVA EL TIMER 0

SETB TR0

;INICIALITZACIONS

MOV END_BUFFER_E,#END_BUF_E_D

MOV END_BUFFER_R,#END_BUF_R_A

MOV R0,#BUF_EMISSIO

MOV R1,#BUF_RECEPCIO

CLR LLEGIR_DATA

CLR FINAL

MOV STATUS,#0

CLR TRAMA_OK

ESP_TRAMA:

JNB TF0,RECEPCIO

CLR TF0

LCALL INI_TIMER0

INC R7

;TIMEOUT DE RECEPCIÓ EN 2 SEGONS

;INICIALITZA ELS PUNTERS PER TAL

;DE PODER REBRE UNA ALTRA TRAMA

CJNE R7,#SEGONS_2,RECEPCIO

Page 230: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

221

;SI ES PRODUEIX UN TIMEOUT QUAN S' HA DE

;REBRE LA TRAMA DE FINALITZACIO, LLAVORS

;ES DONA PER FINALITZADA LA CONNEXIÓ I ES

;CONSIDERA QUE HA ESTAT CORRECTA

JNB FINAL,TIMEOUT

MOV A,#RECEPCIO_OK

ORL A,STATUS

LJMP FI_SERIE

TIMEOUT:

MOV R7,#00

;INTENTS++

INC R3

LCALL INI_TIMER0

;INICIALITZACIONS

MOV END_BUFFER_R,#END_BUF_R_A

MOV R1,#BUF_RECEPCIO

;SI ES SUPERA EL NUMERO MÀXIM DE TIMEOUTS, ES FINALITZA

;LES COMUNICACIONS INDICANT ERROR DE CONNEXIÓ

CJNE R3,#MAX_TIMEOUTS,MIRAR_MODE

MOV A,#TIMEOUTS

ORL A,STATUS

LJMP FI_SERIE

MIRAR_MODE:

;SI ES TROBA EN MODE TEST, SEMPRE QUE ES PRODUEIX

;UN TIMEOUT ENVIA UN ACK

JB TEST,PREPARAR_ACK

LJMP ESP_TRAMA

Page 231: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

222

RECEPCIÓ:

LCALL REBRE

;COMPROVA SI JA HA REBUT UNA TRAMA COMPLETA

CJNE A,END_BUFFER_R,ESP_TRAMA

MOV R1,#BUF_RECEPCIO

TRAMA_DADES:

CLR TRAMA_OK

MOV R0,#BUF_RECEPCIO

MOV END_BUFFER,END_BUFFER_R

LCALL CRC

;SI EL CRC NO ES CORRECTE, LLAVORS ESPERA

;A REBRE UN ALTRE TRAMA SENSE ENVIAR ACK

JNB CRC_OK,ESP_TRAMA

;PARAR EL TIMER 0

CLR TR0

MOV R7,#00

;INICIALITZACIO

MOV END_BUFFER_R,#END_BUF_R_A

MOV R1,#BUF_RECEPCIO

MOV A,NUMTRAMA

;COMPROVACIÓ DEL NUMERO DE TRAMA REBUT

CJNE A,02,PREPARAR_ACK

SETB TRAMA_OK

;NUMEROTRAMA++

INC R2

;INTENTS = 0

MOV R3,#00

Page 232: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

223

PREPARAR_ACK:

MOV BUF_EMISSIO,#HEADER_ACK

;NUMERO DE TRAMA

MOV BUF_EMISSIO+1,R2

;CAMP DE CONTROL ( RESERVAT PER A UNA POSSIBLE

;MODIFICACIÓ DEL PROTOCOL DE COMUNICACIONS )

MOV BUF_EMISSIO+2,#00H

MOV R0,#BUF_EMISSIO

MOV END_BUFFER_E,#END_BUF_E_A

MOV END_BUFFER,END_BUFFER_E

;CÀLCUL DEL CRC DE LA TRAMA DE ACK

LCALL CRC

ENVIAR_ACK:

LCALL ENVIAR

;ACTIVACIÓ DEL TIMER 0

SETB TR0

JNB TRAMA_OK,ESP_TRAMA

CLR TRAMA_OK

JNB FINAL,NO_FINAL

MOV A,#RECEPCIO_OK

ORL A,STATUS

LJMP FI_SERIE

NO_FINAL:

JNB LLEGIR_DATA,LLEGIR_DADES

SETB FINAL

LJMP ESP_TRAMA

LLEGIR_DADES:

SETB LLEGIR_DATA

MOV A,BUF_RECEPCIO

CJNE A,#HEADER_DATA,NO_HEADER_DATA

PUSH 00

PUSH 01

MOV R0,#BUFFER_AUX

Page 233: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

224

;R1 APUNTA ALS 4 BYTES DE

;DADES ( 2 ID + 2 DATA )

MOV R1,#DADES

MOV R4,#04H

;TRANSFERÈNCIA DE LES DADES AL BUFFER AUX (4 BYTES )

COPIAR:

MOV A,@R1

MOV @R0,A

INC R0

INC R1

DJNZ R4,COPIAR

POP 01

POP 00

ESP_DADES:

LJMP ESP_TRAMA

NO_HEADER_DATA:

ORL STATUS,#NO_DATA

LJMP ESP_TRAMA

FI_SERIE:

;SI S' HA REBUT LA TRAMA DE DADES, LLAVORS

;ES CONSIDERA QUE LA COMUNICACIÓ HA FINALITZAT

;DE FORMA CORRECTA

JNB LLEGIR_DATA,SALT_NO_OK

MOV A,#RECEPCIO_OK

SALT_NO_OK:

CLR REN

CLR TR0

CLR TR1

CLR RI

CLR TI

RET

Page 234: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

225

; LA POSICIÓ DE MEMÒRIA END_BUFFER CONTE LA POSICIÓ FINAL DEL

; BUFFER I EL REGISTRE R0 L' INICIAL

CRC:

;ESBORRA EL FLAG QUE INDICA QUE EL CRC ES CORRECTE

CLR CRC_OK

;ES GUARDA EL CONTINGUT DEL REGISTRE R0, R1, R2 I R3

PUSH 00

PUSH 01

PUSH 02

PUSH 03

MOV R2,#00

MOV R3,#00

CALCUL_CRC:

MOV A,@R0

XRL 03H,A

;ÍNDEX PER FER EL RECORREGUT DE TOT EL BYTE

MOV R4,#8

RECORRERBYTE:

CLR C

MOV A,R2

RLC A

MOV R2,A

MOV A,R3

RLC A

MOV R3,A

JNC NOCARRY

XRL 02H,#21H

XRL 03H,#10h

NOCARRY:

DJNZ R4,RECORRERBYTE

INC R0

MOV A,R0

CJNE A,END_BUFFER,CALCUL_CRC

MOV R1,A

MOV @R1,03H

Page 235: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

226

INC R1

MOV @R1,02H

CJNE R2,#00,CRC_NO_OK

CJNE R3,#00,CRC_NO_OK

SETB CRC_OK

CRC_NO_OK:

POP 03

POP 02

POP 01

POP 00

RET

;RETORNA EN EL ACC, ELS 4 BITS LSB QUE HA LLEGIT

;DEL REGISTRE DE CONTROL I QUE TAMBÉ HA GUARDAT EN

;MEMÒRIA

LECTURA_BUS_ISA:

;LECTURA DEL REGISTRE DE CONTROL, ESPERA A QUE L' APLICACIÓ GESTIÓ;REMOTA INDIQUI QUE VOL ESCRIURE

MOVX A,@R0

JNB BSC,LECTURA_BUS_ISA

;INDICA A L' APLICACIÓ GESTIÓ REMOTA QUE ESTA APUNT

;PER LLEGIR LES DADES DEL REGISTRE DE CONTROL

SETB BSE

;ORDRE DE LATCH DEL REGISTRE D' ESTAT

SETB P3.2

FI_LECTURA:

;LECTURA DEL REGISTRE DE CONTROL PER SABER SI POT

;AGAFAR LES DADES

MOVX A,@R0

JB BSC,FI_LECTURA

ANL A,#0FH

MOV @R0,A

;ESBORRA EL REGISTRE D' ESTAT

MOV P1,#0

;ORDRE DE LATCH DEL REGISTRE D' ESTAT

Page 236: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

227

SETB P3.2

RET

;RUTINA D' ESCRIPTURA, ESCRIU AL REGISTRE D' ESTAT

;EL CONTINGUT DEL ACUMULADOR

ESCRIPTURA_BUS_ISA:

MOV P1,A

;ORDRE DE LATCH DEL REGISTRE D' ESTAT

SETB P3.2

;INDICA INICI D' ESCRIPTURA

SETB BSE

;ORDRE DE LATCH DEL REGISTRE D' ESTAT

SETB P3.2

ESPERA_LECTURA:

;LECTURA DEL REGISTRE DE CONTROL, ESPERA A QUE L' APLICACIÓ GESTIÓ;REMOTA HAGI LLEGIT L' INFORMACIÓ

MOVX A,@R0

ANL A,#0F0H

CJNE A,#80H,ESPERA_LECTURA

;ESBORRA EL REGISTRE D' ESTAT

MOV P1,#0

;ORDRE DE LATCH DEL REGISTRE D' ESTAT

SETB P3.2

;S' ESPERA FINS QUE L' APLICACIÓ ESBORRA EL BIT

;BSC ( BIT DE MES PES DEL REGISTRE DE CONTROL )

FI_ESCRIPTURA:

MOVX A,@R0

JB BSC,FI_ESCRIPTURA

RET

Page 237: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

228

;RUTINA QUE ESCRIU EL BYTE INDICAT

;PEL PUNTER R0

ESCRIURE_BYTE_ISA:

;ESCRIU ELS 4 BITS MSB

MOV A,@R0

SWAP A

ANL A,#0FH

ORL A,#DATA

LCALL ESCRIPTURA_BUS_ISA

;ESCRIU ELS 4 BITS LSB

MOV A,@R0

ANL A,#0FH

ORL A,#DATA

LCALL ESCRIPTURA_BUS_ISA

RET

; DELAY D' APROXIMADAMENT 1 SEGON DE DURACIÓ

DELAY:

PUSH 02H

PUSH 03H

MOV R2,#0H

MOV R3,#0H

BUCLE_DELAY:

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

Page 238: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

229

NOP

NOP

NOP

DJNZ R3,BUCLE_DELAY

DJNZ R2,BUCLE_DELAY

POP 03H

POP 02H

RET

; DELAY D' APROXIMADAMENT 0,5 SEGONS DE DURACIÓ

DELAY2:

PUSH 02H

PUSH 03H

MOV R2,#0H

MOV R3,#0H

BUCLE_DELAY2:

NOP

NOP

NOP

NOP

NOP

NOP

DJNZ R3,BUCLE_DELAY2

DJNZ R2,BUCLE_DELAY2

POP 03H

POP 02H

RET

Page 239: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

230

; DELAY D' APROXIMADAMENT 0,2 SEGONS DE DURACIÓ

DELAY3:

PUSH 02H

PUSH 03H

MOV R2,#0H

MOV R3,#0H

BUCLE_DELAY3:

NOP

DJNZ R3,BUCLE_DELAY3

DJNZ R2,BUCLE_DELAY3

POP 03H

POP 02H

RET

;FUNCIÓ QUE RETORNA EL RESULTAT EN EL ACC.

;SI HI HA UNA TRUCADA RETORNA UN 1 AL ACC

;I EN EL ALTRE CAS RETORNA UN ZERO

HI_HA_TRUCADA:

CLR A

JNB P3.5,RET_HI_HA_TRUCADA

MOV A,#01

RET_HI_HA_TRUCADA:

RET

DESPENJAR:

SETB P3.3

RET

PENJAR:

CLR P3.3

RET

Page 240: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

231

INI_TRUCADA:

;TIMER 0 EN MODE 1 (16 BITS)

;PER A UN PERÍODE DE 65536 US

MOV TMOD,#01H

MOV TL0,#00H

MOV TH0,#00H

;INICIALITZACIO DEL PUNTER A MEMÒRIA DE PROGRAMA

MOV DPH,#03H

MOV DPL,#00H

SETB TR0

MOV R0,#BUFFER_N_TEL

RET

;RUTINA QUE LLEGEIX EL NUMERO DE TELÈFON

;DE MEMÒRIA I REALITZA LA MARCACIO DTMF

TRUCAR:

MOV A,@R0

INC R0

;MIRA SI HA ARRIBAT A L' ULTIMA XIFRA

CJNE A,#NUM_FINAL,LIMIT_NUM

LJMP FI_TRUCAR

LIMIT_NUM:

;S' INICIALITZA EL REGISTRE QUE DETERMINA LA

;DURACIÓ DELS TONS ( 130 MS )

MOV R7,#02

LCALL DTMF

LCALL PAUSA

CJNE R0,#LIMIT_N_TEL,TRUCAR

FI_TRUCAR:

RET

Page 241: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

232

;RUTINA QUE TRANSFEREIX LES DADES (4 BYTES ) A

;L' APLICACIÓ GESTIÓ REMOTA

COPIAR_DADES:

MOV R0,#BUFFER_AUX

MOV R4,#04H

BUCLE_COPIAR:

LCALL ESCRIURE_BYTE_ISA

INC R0

DJNZ R4,BUCLE_COPIAR

RET

Codi 2. Programa ASM Placa Monitoritzacio per PC

Page 242: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

233

9.1.3 Programa Visual Basic

El programa ha estat realitzat amb Visual Basic 6 amb el Service Pack 5 deMicrosoft Visual Studio 6.0. Esta composat pels següents formularis i mòduls:

• Form1: es el primer que es carrega en memòria i es el que s’ encarrega del’ icona del programa en la barra de tasques de Windows.

• Formulari1: es el formulari principal de l’ aplicació Gestió Remota 1.0. Desde aquest formulari es realitza la major part de les accions i també es el ques’ encarrega de mostrar als altres formularis.

• Formulari2: es el que mostra els detalls de les dades que s’ han rebut de lesmaquines dispensadores.

• Formulari3: es el formulari que permet l’ entrada de l’ informació de lesmaquines dispensadores per guardar-la a la base de dades.

• Formulari4: es el formulari que permet l’ entrada de l’ informació dels tipusde maquina per guardar-la a la base de dades.

• Formulari5: es el que mostra diferents opcions per configurar l’ aplicació.

• Formulari6: aquest formulari permet interrogar a les diferents maquinesdispensadores que es troben a la base de dades.

• Formulari7: s’ encarrega de mostrar el progrés de les interrogacions.

• Formulari8: mostra l’ informació sobre l’ aplicació Gestió Remota 1.0.

• Mòdul Declaracions: en aquest mòdul es fiquen les declaracions i els tipusnecessaris per a diferents funcions de l’ API de Windows.

• Mòdul Funcions: conte varies funcions que s’ utilitzen en diversos formularis.

• Mòdul Io32: en aquest mòdul es poden trobar les funcions mes bàsiques queutilitzen la llibreria WinIO.

• Mòdul ISA: aquí es troben les funcions que s’ encarreguen d’ accedir a laPlaca de Monitoritzacio per PC.

• Modul2: es troben diverses funcions publiques que manipulen elements delformulari principal.

• Modul3: hi ha varies funcions que utilitzen les funcions de l’ API deWindows.

• Mòdul WinIO: conte les declaracions de les diverses funcions de la llibreriaWinIO, que permet accedir directament al Hardware en Windows 9x,ME,NTi 2000.

Page 243: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

234

9.1.3.1 Form1

Dim Torn As BooleanDim t As NOTIFYICONDATA

Private Sub Form_Load()

'Comprova que no hagi en memòria un altra instància del programa

If App.PrevInstance ThenVisualitzarMissatge "Solament pot haver una instància activa.",vbInformation, "", NoLog

End End If

PathStr = App.Path

If Len(PathStr) > 3 Then PathStr = PathStr & "\" End If

Call GenerarLog("Inici aplicació", True) Call CarregarConfiguracio(PathStr & FitxerConfiguracio)

'Col·loca l’ icona de l’ aplicació en la barra de tasques

t.cbSize = Len(t) t.hwnd = pichook.hwnd t.uId = 1& t.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE t.ucallbackMessage = WM_MOUSEMOVE t.hIcon = Me.Icon t.szTip = "Gestió Remota 1.0" & vbNullChar Shell_NotifyIcon NIM_ADD, t Me.Hide App.TaskVisible = False

'Es carrega el formulari principal en memòria, però no es mostra

Load Formulari

'Si no esta activada l’ opció Inici Minimitzat, mostra elformulari 'principal

If (Not IniciMinimitzat) Then Formulari.Show End If

End Sub

Page 244: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

235

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)

'Treu l’ icona del programa de la barra de tasques

t.cbSize = Len(t) t.hwnd = pichook.hwnd t.uId = 1& Shell_NotifyIcon NIM_DELETE, t

End Sub

Private Sub Mostrar_Click()

'Mostra el formulari principal Formulari.Show

End Sub

'Subrutina que vigila el ratolí quan es troba damunt de l’ icona de'l’ aplicació

Private Sub pichook_MouseMove(Button As Integer, Shift As Integer, xAs Single, y As Single)Static rec As Boolean, msg As Long

msg = x / Screen.TwipsPerPixelX

If rec = False Then rec = True Select Case msg Case WM_LBUTTONDBLCLK: Formulari.WindowState = vbNormal Formulari.Show Case WM_LBUTTONDOWN: Case WM_LBUTTONUP: Case WM_RBUTTONDBLCLK: Case WM_RBUTTONDOWN: Case WM_RBUTTONUP: Me.PopupMenu Menu End Select rec = False End If

End Sub

Page 245: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

236

'Subrutina que finalitza l' aplicació

Private Sub Sortir_Click()

SortirPrograma = True Unload Formulari Unload Me

End Sub

Private Sub Timer1_Timer()

'Mostra durant un moment la barra de tasques si es troba oculta

MostrarSystemTray

Torn = Not Torn

t.cbSize = Len(t) t.hwnd = pichook.hwnd t.uId = 1& t.uFlags = NIF_ICON

If Torn Then t.hIcon = Me.Icon Else t.hIcon = pichook.Picture End If

'Modifica l' icona de la barra de tasques

t.szTip = "Gestió Remota 1.0" & vbNullChar Shell_NotifyIcon NIM_MODIFY, t

End Sub

Codi 3. Form1

Page 246: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

237

9.1.3.2 Formulari1

Dim t As NOTIFYICONDATADim Indicador As IntegerDim Contador As IntegerDim Final As BooleanDim Fil As IntegerDim Colum As IntegerDim NumElements As LongDim ColorCaselles As LongDim ShowDialog As Boolean

'Constants que determinen el tamany del Grid

Const AmpladaGrid As Integer = 4070 + 10Const AmpladaCol0 As Integer = 700Const AmpladaCol1 As Integer = 1000Const AmpladaCol2 As Integer = 600Const AmpladaCol3 As Integer = 800Const AmpladaCol4 As Integer = 965

Const MaxFiles As Integer = 10Const MaxColumnes As Integer = 5Const TamanyFiles As Integer = 250

Private Sub BotoDetalls_Click()

'Mostra el formulari on es mostra tota l' informació sobre la'maquina seleccionada o l' ultima maquina

Formulari2.Show

End Sub

Page 247: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

238

Private Sub BotoInterrogar_Click()

If Not Consulta Then

Consulta = True

Set Taula(1) = Base.OpenRecordset("Tabla2")

'Es mira que la taula de la base de dades no estigui buida

If Not Taula(1).EOF Then

Call DeshabilitarMenus Call DeshabilitarBotons

'Mostra el formulari per interroga maquines dispensadores

Formulari6.Show

Else VisualitzarMissatge "No hi ha cap registre en la base de dades"

, vbInformation, "", ForçarLog End If

Consulta = False

End If

End Sub

'Subrutina utilitzada per realitzar la configuració del sistema, la'qual permet interrogar a una maquina dispensadora encara que no es'trobi a la base de dades

Private Sub BotoTest_Click()Dim StrTelefon As StringDim Missatge As StringDim r As Integer

StrTelefon = InputBox("Introduir un numero de telèfon","Mode Test")

If StrTelefon <> "" Then

Text1.Text = "Realitzant Consulta " Text1.Refresh

'Interroga a la maquina dispensadora, retorna un 0 si ha 'finalitzat la comunicació correctament

r = RealitzarConsulta(StrTelefon)

Page 248: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

239

If r <> 0 Then

If (r = NoEscriptura) Or (r = EscripturaIncompleta) Or(r = EscripturaPlaca) Then

Missatge = " (Error de E/S)" End If

VisualitzarMissatge "Error de marcacio " & Missatge,vbInformation, "", ModeLog + ForçarLog

End If End IfEnd Sub

Private Sub Form_Initialize()

'Evita que es pugui redimensionar el formulari principal

RemoveMenuItem Me

ShowDialog = True

MenuModeLog.Checked = (ModeLog <> 0) Menu3_1.Checked = IniciMinimitzat

ResultatIniDriver = Open_Driver()

If ResultatIniDriver = ObrirDriverOk Then

'Inicialitza la targeta de monitoritzacio per PC Call WriteToPort(Direcció, 0)

'Habilitació del timer que realitza l' enquesta del bus ISA Timer1.Enabled = True Else Text1.Text = "Error al obrir el driver"

'Es deshabilita el boto Interrogar Maquines i menú Mode Test BotoInterrogar.Enabled = False Menu3_3.Enabled = False

End If

'Fa que la matriu dinàmica, Maquines de dues dimensions tingui un element

NumElements = 0 ReDim Maquines(1, 0) As Integer

Call Inicialitzar

Page 249: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

240

'Control d’ errors, si es produeix un error al obrir la base de'dades, mostra el missatge d’ error corresponent. Després'mostra el quadre de diàleg Obrir Base de Dades un sol cop.'Si la primera base de dades que es selecciona no es correcta'llavors, ho indica i finalitza l’ aplicació

On Error GoTo NoDataBase

Set Base = OpenDatabase(DataBaseString)

Exit Sub

NoDataBase:

VisualitzarMissatge Err.Description, vbInformation, "", ForçarLog

If ShowDialog Then ShowDialog = False Call ShowOpenDialog(True) Resume End If

Unload Form1 Unload Me End

End Sub

'Modifica el tamany de les columnes i files del Grids. També'modifica l’alineació de les celes

Private Sub Inicialitzar()

With Grid1(0)

.ColWidth(0) = AmpladaCol0 .ColWidth(1) = AmpladaCol1 .ColWidth(2) = AmpladaCol2 .ColWidth(3) = AmpladaCol3 .ColWidth(4) = AmpladaCol4

.ColAlignment(0) = flexAlignCenterCenter .ColAlignment(1) = flexAlignLeftCenter .ColAlignment(2) = flexAlignRightCenter .ColAlignment(3) = flexAlignCenterCenter .ColAlignment(4) = flexAlignLeftCenter

.Height = 1 * (TamanyFiles + 2) + 100 .Width = AmpladaGrid + (MaxColumnes * 5) + 75

End WithWith Grid1(1)

Page 250: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

241

.Clear .Visible = False

.Height = MaxFiles * (TamanyFiles + 2) + 100 .Width = AmpladaGrid + (MaxColumnes * 5) + 75

Call RedimensionarGrid

.Visible = True

End With

End Sub

'Subrutina que redimensiona el segon Grid i ajusta l' alineació de'les celes

Private Sub RedimensionarGrid()Dim i As Integer

With Grid1(1)

.ColWidth(0) = AmpladaCol0 .ColWidth(1) = AmpladaCol1 .ColWidth(2) = AmpladaCol2 .ColWidth(3) = AmpladaCol3 .ColWidth(4) = AmpladaCol4

.ColAlignment(0) = flexAlignCenterCenter .ColAlignment(1) = flexAlignLeftCenter .ColAlignment(2) = flexAlignRightCenter .ColAlignment(3) = flexAlignCenterCenter .ColAlignment(4) = flexAlignLeftCenter

If .Rows > MaxFiles Then .Width = AmpladaGrid + (MaxColumnes * 5) + 75 + 240 Else .Width = AmpladaGrid + (MaxColumnes * 5) + 75 End If

For i = 0 To .Rows - 1 .RowHeight(i) = TamanyFiles Next i

End With

End Sub

Page 251: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

242

'Subrutina que introdueix l' identificador i el valor de les entrades'en una matriu dinàmica, on es guarda totes les dades rebudes en la'sessió

Private Sub Insertar(Ident As Integer, Inputs As Integer)

ReDim Preserve Maquines(1, NumElements) As Integer

Maquines(0, NumElements) = Ident Maquines(1, NumElements) = Inputs

NumElements = NumElements + 1

End Sub

'Subrutina que afegeix una fila mes al segon Grid o quadre Dades Rebudes

Private Sub InsertarFilaGrid()

If NumElements > MaxFiles Then Grid1(1).Rows = NumElements End If

End Sub

'Introdueix l' informació rebuda als dos Grids

Private Function InsertarGrid() As BooleanDim camps As Integer

If ModeTest Then Id = 0 End If

If Interrogacio Then MatDades(Identificador) = Id End If

'Comprova si l' identificador rebut es troba a la base de dades'i llavors en recupera l’ informació

camps = ConsultaSql(1, "Identificador", MatDades(Identificador), 0)

Page 252: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

243

'Si ha trobat l' identificador, mostra les dades als Grids

If camps > 0 Then

With Grid1(1)

.Visible = False

Id = MatDades(Identificador) Fila = NumElements Call Insertar(MatDades(Identificador), MatDades(Entrades)) Call InsertarFilaGrid Call RedimensionarGrid

.Row = NumElements - 1

'Hora en que es rep l' informació .Col = 0 Hora = Time .Text = Hora

'Tipus de maquina .Col = 1 .Text = Taula(0).Fields(1)

'Identificador de la placa .Col = 2 .Text = Taula(0).Fields(0)

'Localització de la maquina dispensadora .Col = 4 .Text = Taula(0).Fields(2)

'Estat de la maquina dispensadora .Col = 3 If MatDades(Entrades) = 0 Then .Text = "Correcte" Else .Text = "Incorrecte" End If

.Visible = True

'Envia un missatge al MsflexGrid per que realitzi un scroll 'cap a baix per mostrar l' ultima línia

SendMessage Grid1(1).hwnd, WM_VSCROLL, SB_BOTTOM, 0

End With

Page 253: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

244

With Grid1(0)

.Visible = False

.Row = 0

'Hora en que es rep l' informació .Col = 0 Hora = Time .Text = Hora

'Tipus de maquina .Col = 1 .Text = Taula(0).Fields(1)

'Identificador de la placa .Col = 2 .Text = Taula(0).Fields(0)

'Localització de la maquina dispensadora .Col = 4 .Text = Taula(0).Fields(2)

'Estat de la maquina dispensadora .Col = 3 If MatDades(Entrades) = 0 Then .Text = "Correcte" .CellBackColor = &HFFFF00 Else .Text = "Incorrecte" .CellBackColor = &HFF& End If

.Visible = True

End With

End If

InsertarGrid = (camps > 0)

End Function

Page 254: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

245

'Si rep el missatge de finalitzacio, però la variable SortirPrograma esta'a fals, el formulari principal s' oculta però no es surt del'programa. Els altres formularis son descarregats de memòria

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)

Unload Formulari2 Unload Formulari3 Unload Formulari4 Unload Formulari5 Unload Formulari6 Unload Formulari7 Unload Formulari8

If Not SortirPrograma Then Cancel = True Me.Hide End If

End Sub

'Quan el formulari principal es descarrega de memòria, es guarda la'configuració al fitxer, actualitza el fitxer de Log i tanca el driver.

Private Sub Form_Unload(Cancel As Integer)

GuardarConfiguracio (PathStr & FitxerConfiguracio) GenerarLog "Finalitzacio de l' aplicació"

If ResultatIniDriver = ObrirDriverOk Then Call Close_Driver End If

End Sub

Page 255: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

246

'Quan es produeix un click en el segon Grid amb el boto esquerre del'mouse, llavors guarda l' informació de la maquina que hi havia en'aquella fila, per consultar-la després amb el boto Detalls.

Private Sub Grid1_MouseDown(Index As Integer, Button As Integer,Shift As Integer, x As Single, y As Single)

With Grid1(1)

If Index = 1 Then

If Button = vbLeftButton Then

.Col = 2

If .Text <> "" Then Id = Val(.Text) .Col = 0 Hora = .Text Fila = .Row End If

.Col = 0

End If End IfEnd With

End Sub

'Menú IniciMinimitzat

Private Sub Menu3_1_Click() IniciMinimitzat = Not IniciMinimitzat Menu3_1.Checked = IniciMinimitzatEnd Sub

'Menú Opcions

Private Sub Menu3_2_Click() Call DeshabilitarMenus Call DeshabilitarBotons Formulari5.ShowEnd Sub

Page 256: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

247

'Menú Mode Test

Private Sub Menu3_3_Click()

'Aquí s' activa el Mode Test

If Not ModeTest Then

If ObrirBaseDeDadesTest Then

GenerarLog ("Inici Mode Test")

BotoTest.Visible = True BotoInterrogar.Enabled = False Menu2.Enabled = False MenuObrir.Enabled = False

'Amb aquesta variable s' indica que a l' hora de mostrar 'les dades, no s' utilitzi l' identificador que s' ha rebut

Interrogacio = True

'Canvia el mode de funcionament del programa de la placa de 'monitoritzacio per PC

CanviarMode Test

ModeTest = True

ElseVisualitzarMissatge "No es pot iniciar el Mode Test" &Chr(13) & Chr(10) & "(Error al obrir " & BaseDeDadesTest& ").", vbExclamation, "", ForçarLog

End If

Else

GenerarLog ("Retorn al Mode Normal") BotoTest.Visible = False BotoInterrogar.Enabled = True Menu2.Enabled = True MenuObrir.Enabled = True Interrogacio = False CanviarMode Normal Set Base = OpenDatabase(DataBaseString) ModeTest = False

End If

Menu3_3.Checked = ModeTest

End Sub

Page 257: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

248

'Menú Sobre l' Aplicació

Private Sub Menu4_0_Click() Call DeshabilitarMenus Call DeshabilitarBotons Formulari8.ShowEnd Sub

'Menú Maquines

Private Sub MenuMaquines_Click()Dim i As Integer

On Error GoTo DatabaseIncorrect

'Primer mira si hi ha algun Tipus de Maquina en la base de dades,'realitzant una consulta SQL, si no hi ha cap o indica i no mostra el'formulari per introduir l' informació de les maquines dispensadores

Sql = "SELECT Tabla2.TipusMaquina From Tabla2 WHERE(((Tabla2.TipusMaquina) Like '" & "*" & "'));"

Set Taula(0) = Base.OpenRecordset(Sql)

If Not Taula(0).EOF Then Taula(0).MoveLast i = Taula(0).RecordCount Taula(0).MoveFirst End If

If i > 0 Then Call DeshabilitarMenus Call DeshabilitarBotons Formulari3.Show Else

VisualitzarMissatge "S' ha d' introduir primer el tipus de maquina",vbInformation

End If

Exit Sub

DatabaseIncorrect:

VisualitzarMissatge Err.Description, vbInformation, "", ForçarLog

End Sub

Page 258: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

249

'Menú Sortir ( solament oculta el formulari principal )

Private Sub Menu1_1_Click() Unload MeEnd Sub

'Menú ModeLog

Private Sub MenuModeLog_Click() MenuModeLog.Checked = Not MenuModeLog.Checked

If MenuModeLog.Checked Then ModeLog = 1 Else ModeLog = 0 End IfEnd Sub

'Menú Obrir Base de Dades

Private Sub MenuObrir_Click() Call ShowOpenDialog(True)End Sub

'Menú Tipus Maquina

Private Sub MenuTipusMaquines_Click() Call DeshabilitarMenus Call DeshabilitarBotons Formulari4.ShowEnd Sub

'Menú Veure Log

Private Sub MenuVeureLog_Click()Dim DescripcioError As String

On Error GoTo FaltaNotepad Shell "notepad " & PathStr & FitxerLog, vbNormalFocusExit Sub

FaltaNotepad: DescripcioError = Err.Description If Err.Number = 53 Then DescripcioError = DescripcioError & " Notepad.exe" End If VisualitzarMissatge DescripcioError, vbCritical, ""End Sub

Page 259: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

250

'Subrutina on periòdicament es llegeix una direcció de l' espai E/S on'es troben mapejats el registres de la placa de monitoritzacio per PC

Private Sub Timer1_Timer()Dim aux2 As IntegerDim aux As ByteDim a As Byte

'Llegeix el registre d' Estat de la Placa de Monitoritzacio per PC

aux = ReadFromPort(Direcció)

'Si la placa es vol comunicar amb el programa, llavors activa el'bit BSE del registre d' Estat ( bit de mes pes del registre )

If (aux And BSE) Then

'El bits 6,5 i 4 del registre d' Estat, serveixen per indicar'com han anat les comunicacions. Si els 3 bits es troben a'zero, podria indicar que la placa esta enmig d' un procés'de lectura

If ((aux And &H70) <> 0) Then

Select Case (aux And &H70)

Case &H70 If (aux And &HF) = 0 Then Text1.Text = MostrarMissatges(&H70) End If

'Si la comunicació es correcta, llavors es llegeix les 'dades ( identificador i el valor de les entrades ). 'Tant l'identificador com els valors de les entrades, 'es tracta de 16 bits, encara que en les entrades 'solament s' utilitzen 12

Case &H10 aux2 = LlegirDades() Text1.Text = MostrarMissatges(&H10)

'Si les dades s' han llegit correctament de la placa, 'es procedeix a mostrar les dades en els Grids

Page 260: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

251

If aux2 >= 0 Then If InsertarGrid Then

'Codi de la Sistray Timer2.Enabled = True

ElseVisualitzarMissatge "S' ha rebut el Id " &Str(MatDades(Identificador)) & " que no es trobaa la base de dades", vbExclamation, "", ModeLog+ ForçarLog

End If Else 'Visualitzar error E/S

VisualitzarMissatge "Error de comunicació amb latargeta per PC", vbCritical, "", ModeLog +ForçarLog

End If

Case Else Text1.Text = MostrarMissatges(aux And &H70) aux2 = Llegir_Bus_Isa(Direcció)

If aux2 < 0 Then 'Visualitzar error E/S

VisualitzarMissatge "Error de comunicació amb latargeta per PC", vbCritical, "", ModeLog +ForçarLog

End If

End Select

a = aux And &H70

'Aquí es comprova si ha finalitzat la consulta de la 'maquina dispensadora

If (a = &H10) Or (a = &H40) Or (a = &H50) Then FinalConnexio = True End If

End If

End If

End Sub

Page 261: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

252

'Subrutina que mostra el quadre de diàleg Obrir Bases de Dades.'Mitjançant el seu paràmetre SaveDataBase, se li pot indicar si'aquesta base de dades es guarda com la base de dades per defecte

Private Sub ShowOpenDialog(SaveDataBase As Boolean)

On Error GoTo Cancel

With CommonDialog1 .FileName = "" .Filter = "Base de dades Access |*.mdb" .ShowOpen Set Base = OpenDatabase(.FileName)

If SaveDataBase Then DataBaseString = .FileName End If End WithExit Sub

Cancel:

'Si no es tracta del boto cancel·lar, es mostra la descripció de l' error

If Err.Number <> 32755 Then VisualitzarMissatge Err.Description, vbExclamation, "" End If

End Sub

Page 262: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

253

'Aquesta subrutina, canvia l' icona del programa quan l' aplicació'esta minimitzada en la barra de tasques

Private Sub Timer2_Timer()

If Me.WindowState = vbMinimized Then

Indicador = 3 Contador = Contador + 1

If Contador <= 4 Then

MostrarSystemTray t.cbSize = Len(t) t.hwnd = Form1.pichook.hwnd t.uId = 1& t.uFlags = NIF_ICON Or NIF_TIP

If (Contador Mod 2) = 0 Then t.hIcon = Form1.Icon Else t.hIcon = Form1.Picture1(Indicador) End If

t.szTip = "Gestió Remota 1.0" & vbNullChar Shell_NotifyIcon NIM_MODIFY, t Else Contador = 0 Timer2.Enabled = False End If Else Contador = 0 Timer2.Enabled = False End If

End Sub

Codi 4. Formulari

Page 263: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

254

9.1.3.3 Formulari2

Private Sub BotoAcceptar_Click()

'Descarrega el Formulari2 de memòria Unload Formulari2

End Sub

Private Sub Form_Load()Dim camps As Integer

'Evita que es pugui modificar el tamany del formulari

RemoveCancelMenuItem Me

Call DeshabilitarMenus Call DeshabilitarBotons

'L’ identificador 0, esta reservat per a realitzar proves en el'Mode Test. Quan es troba en aquest mode, l’ aplicació utilitza'la base de dades Test.mdb la qual sol conte una maquina amb'l’ identificador 0.

'Llavors depenen en el mode que es troba l’ aplicació, haurà de'canviar de base de dades per mostrar l’ informació d’ una'determinada maquina segons el seu identificador

If (Id > 0) And (Id < 10000) Then

If ModeTest Then Set Base = OpenDatabase(DataBaseString) End If

'Busca a la base de dades el registre que te com a 'identicador el valor de Id

camps = ConsultaSql(1, "Identificador", Id, 1)

If camps > 0 Then MostrarDades End If

If ModeTest Then Set Base = OpenDatabase(PathStr & BaseDeDadesTest) End If

Page 264: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

255

Else

If (Id = 0) And (Hora <> "") Then

If Not ModeTest Then Set Base = OpenDatabase(PathStr & BaseDeDadesTest) End If

'Busca a la base de dades el registre que te com a 'identicador el valor de Id

camps = ConsultaSql(1, "Identificador", Id, 1)

If camps > 0 Then MostrarDades End If

If Not ModeTest Then Set Base = OpenDatabase(DataBaseString) End If

End If

End IfEnd Sub

'Quan es descarrega el formulari, habilita els menús i els botons

Private Sub Form_Unload(Cancel As Integer) Call HabilitarMenus Call HabilitarBotons Formulari.BotoDetalls.SetFocusEnd Sub

Page 265: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

256

'Subrutina que mostra totes les dades de la maquina que s' ha rebut'en l' ultima comunicació o de la maquina que s' ha seleccionat en'el segon Grid ( quadre Dades Rebudes ) amb el ratolí al fer click'amb el boto esquerre sobre una fila del mateix

Private Sub MostrarDades()Dim camps As IntegerDim IdStr As StringDim aux As IntegerDim i As Integer

With Grid1

.Visible = False .ColAlignment(0) = flexAlignCenterCenter .ColAlignment(1) = flexAlignLeftCenter .ColAlignment(2) = flexAlignLeftCenter .ColAlignment(3) = flexAlignLeftCenter .Row = 0

'Hora .Col = 0 .Text = Hora

'Identificador .Col = 1 IdStr = LTrim(Str(Id))

Select Case (Len(IdStr)) Case 1 IdStr = "000" & IdStr Case 2 IdStr = "00" & IdStr Case 3 IdStr = "0" & IdStr End Select

.Text = "Id: " & IdStr

'Tipus de maquina .Col = 2 .Text = "Tipus:" .Col = 3 .Text = Taula(1).Fields(1)

.Row = 1 'Situació .Col = 0 .Text = "Situació:" .Col = 1 .Text = Taula(1).Fields(2) 'Telèfon

Page 266: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

257

.Col = 2 .Text = "Telèfon:" .Col = 3 .Text = Taula(1).Fields(3) .Visible = True

End With

'Accedeix a la segona taula per obtenir les descripcions 'de les entrades corresponents al Tipus de Maquina

camps = ConsultaSql(2, "TipusMaquina", Taula(1).Fields(1), 1)

If camps > 0 Then

With Grid2

.Visible = False aux = 1

'Aquí comprova quines entrades estan actives i 'mostra la seva descripció si es present a la 'base de dades

For i = 0 To camps - 2

If Maquines(Entrades, Fila) And aux Then

.Row = Int(i / 4) .Col = i Mod 4 .Text = ""

If Not IsNull(Taula(1).Fields(1 + i)) Then .Text = Taula(1).Fields(1 + i) End If

End If

aux = aux * 2

Next i

.Visible = True

End With

End If

End Sub

Codi 5. Formulari2

Page 267: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

258

9.1.3.4 Formulari3

Dim ComboStr As String

'Els botons que s' utilitzen per desplaçar-se pels registres de la'base de dades, formen una matriu de controls i sols tenen un event'i mitjançant la variable Index es pot saber quin es el boto que's’ ha pitjat

Private Sub Boto_Click(Index As Integer)

BotoEsborrar.Enabled = True BotoEdit.Enabled = True BotoAfegir.Enabled = True BotoConfirmar.Enabled = False

Select Case Index

'Primer Case 0 'Comprova que la base de dades no estigui buida

If Not Taula(2).EOF Or Not Taula(2).BOF Then Taula(2).MoveFirst End If

'Anterior Case 1 If Not Taula(2).BOF Then Taula(2).MovePrevious End If

'Següent Case 2 If Not Taula(2).EOF Then Taula(2).MoveNext End If

'Últim Case 3 'Comprova que la base de dades no estigui buida

If Not Taula(2).EOF Or Not Taula(2).BOF Then Taula(2).MoveLast End If

End Select

Call MostrarCampsEnd SubPrivate Sub BotoAcceptar_Click() 'Descarrega el Formulari3 de memòria

Page 268: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

259

Unload Formulari3End Sub

'En aquesta subrutina, s' esborren tots els TextBox i s' executa el'mètode AddNew del RecordSet

Private Sub BotoAfegir_Click()

Text1(4).Text = "" ComboStr = Combo1.List(0) Combo1.Text = ComboStr Text1(5).Text = "" Text1(6).Text = "" Text1(4).SetFocus Taula(2).AddNew

BotoAfegir.Enabled = False BotoEsborrar.Enabled = False BotoEdit.Enabled = False BotoConfirmar.Enabled = True

End Sub

'Subrutina que esborra un registre de la base de dades sinó es troba'buida. Utilitza el mètode Delete del RecordSet

Private Sub BotoEsborrar_Click()

If Not Taula(2).BOF And Not Taula(2).EOF Then Taula(2).Delete Taula(2).MoveFirst Call MostrarCamps Else Text1(4).Text = "" ComboStr = Combo1.List(0) Combo1.Text = ComboStr Text1(5).Text = "" Text1(6).Text = "" End If

End Sub

Private Sub BotoCancel_Click() Unload Formulari3End Sub

Page 269: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

260

'Aquesta subrutina confirma l' entrada de dades, quan s’ han'introduït de nous o simplement s' han editat. Utilitza el mètode'Update del RecordSet. Si hi ha algun camp que no es vàlid, ho'indica amb un MsgBox

Private Sub BotoConfirmar_Click()Dim i As Integer

On Error GoTo ErrorEntradaDades

If ComprobarCamps Then

Call AfegirCamps Taula(2).Update

Call MostrarCamps

BotoEsborrar.Enabled = True BotoEdit.Enabled = True BotoAfegir.Enabled = True BotoConfirmar.Enabled = False

ElseVisualitzarMissatge "Hi ha algun camp incorrecte.",vbInformation

End If

Exit Sub

ErrorEntradaDades:

VisualitzarMissatge Err.Description, vbCritical

End Sub

Page 270: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

261

'Subrutina que permet editar l' informació d' un registre de la base'de dades. Utilitza el mètode Edit del RecordSet

Private Sub BotoEdit_Click()

If Not Taula(2).BOF And Not Taula(2).EOF Then

Taula(2).Edit

BotoEsborrar.Enabled = False BotoAfegir.Enabled = False BotoConfirmar.Enabled = True BotoEdit.Enabled = False

Text1(4).SetFocus

End If

End Sub

Private Sub Combo1_Change()

Combo1.Text = ComboStr

End Sub

Private Sub Combo1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then KeyAscii = 0 SendKeys "tab" End IfEnd Sub

'Quan el Formulari3 s' activa, llavors passa'el focus al BotoAfegir

Private Sub Form_Activate() BotoAfegir.SetFocusEnd Sub

Page 271: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

262

'Inicialitza el formulari i carrega els Tipus de Maquina en el'ComboBox. També obre la primera taula i mostra el primer registre

Private Sub Form_Load()

RemoveCancelMenuItem Me

Do While Not Taula(0).EOF Combo1.AddItem Taula(0).Fields(0) Taula(0).MoveNext Loop

ComboStr = Combo1.List(0) Combo1.Text = ComboStr

Set Taula(2) = Base.OpenRecordset("Tabla1")

Call MostrarCamps

End Sub

Private Sub AfegirCamps()

Taula(2).Fields(0) = Text1(4).Text Taula(2).Fields(1) = Combo1.Text Taula(2).Fields(2) = Text1(5).Text Taula(2).Fields(3) = Text1(6).Text

End Sub

'Subrutina que comprova que no hi hagi cap camp buit i que en el'numero de telèfon, s' escrigui un numero amb la longitud adequada

Private Function ComprobarCamps() As BooleanDim Resultat As Boolean

Resultat = TrueResultat = EsNumero(Text1(6).Text) And (Len(Text1(6).Text) > 2)And ResultatComprobarCamps = (Text1(4).Text <> "") And (Text1(5).Text <> "")And Resultat

End Function

Page 272: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

263

'Mostra a traves dels TextBox i del ComboBox un registre de la base'de dades

Private Sub MostrarCamps()

If Not Taula(2).BOF And Not Taula(2).EOF Then Text1(4).Text = Taula(2).Fields(0) ComboStr = Taula(2).Fields(1) Combo1.Text = ComboStr Text1(5).Text = Taula(2).Fields(2) Text1(6).Text = Taula(2).Fields(3) Else Text1(4).Text = "" ComboStr = Combo1.List(0) Combo1.Text = ComboStr Text1(5).Text = "" Text1(6).Text = "" End If

End Sub

Private Sub Form_Unload(Cancel As Integer) Call HabilitarMenus Call HabilitarBotonsEnd Sub

Private Sub Text1_GotFocus(Index As Integer) Text1(Index).SelStart = 0 Text1(Index).SelLength = Len(Text1(Index).Text)End Sub

Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer) If KeyAscii = 13 Then KeyAscii = 0 SendKeys "tab" End IfEnd Sub

Codi 6. Formulari3

Page 273: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

264

9.1.3.5 Formulari4

Private Sub BotoAcceptar_Click() Unload Formulari4End Sub

Private Sub Form_Activate() BotoAfegir.SetFocusEnd Sub

Private Sub Form_Unload(Cancel As Integer) Call HabilitarMenus Call HabilitarBotonsEnd Sub

'Els botons que s' utilitzen per desplaçar-se pels registres de la'base de dades, formen una matriu de controls i sols tenen un event'i mitjançant la variable Index es pot saber quin es el boto que's’ ha pitjat. Després es visualitza el registre seleccionat

Private Sub Boto_Click(Index As Integer) BotoEsborrar.Enabled = True BotoEdit.Enabled = True BotoAfegir.Enabled = True BotoConfirmar.Enabled = False

Select Case Index Case 0 If Not Taula(3).EOF Or Not Taula(3).BOF Then Taula(3).MoveFirst End If

Case 1 If Not Taula(3).BOF Then Taula(3).MovePrevious End If

Case 2 If Not Taula(3).EOF Then Taula(3).MoveNext End If

Case 3 If Not Taula(3).EOF Or Not Taula(3).BOF Then Taula(3).MoveLast End If

End Select Call MostrarCampsEnd Sub

Page 274: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

265

'En aquesta subrutina, s’ esborren tots els TextBox i s’ executa el'mètode AddNew del RecordSet per començar a introduir l' informació'd’ un nou registre

Private Sub BotoAfegir_Click()Dim i As Integer

For i = 0 To 12 Text2(i).Text = "" Next i

Text2(0).SetFocus Taula(3).AddNew BotoAfegir.Enabled = False BotoEsborrar.Enabled = False BotoEdit.Enabled = False BotoConfirmar.Enabled = True

End Sub

'Subrutina que esborra un registre de la base de dades, sinó es'troba buida. Utilitza el mètode Delete del RecordSet

Private Sub BotoEsborrar_Click()Dim i As Integer

If Not Taula(3).BOF And Not Taula(3).EOF ThenSql = "SELECT Tabla1.* From Tabla1 WHERE (((Tabla1.TipusMaquina)='"& Taula(3).Fields(0) & "'));"

Set Taula(5) = Base.OpenRecordset(Sql)

If Not Taula(5).EOF Then Taula(5).MoveLast i = Taula(5).RecordCount Taula(5).MoveFirst End If

If i = 0 Then Taula(3).Delete Taula(3).MoveFirst Call MostrarCamps Else

VisualitzarMissatge "No es pot esborrar perquè encara esta en us",vbCritical, "Tipus de Maquina"

End If Else For i = 0 To 12 Text2(i).Text = "" Next i End IfEnd Sub

Page 275: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

266

'Aquesta subrutina confirma l’ entrada de dades, quan s’ han'introduït de nous o simplement s’ han editat. Utilitza el mètode'Update del RecordSet. Si hi ha algun camp que no es vàlid, ho'indica amb un MsgBox

Private Sub BotoConfirmar_Click()

On Error GoTo ErrorEntradaDades

If ComprobarCamps Then Call AfegirCamps Taula(3).Update Call MostrarCamps BotoEsborrar.Enabled = True BotoEdit.Enabled = True BotoAfegir.Enabled = True BotoConfirmar.Enabled = False End If

Exit Sub

ErrorEntradaDades:

VisualitzarMissatge Err.Description, vbExclamation

End Sub

'Subrutina que permet editar l' informació d' un registre de la base'de dades. Utilitza el mètode Edit del RecordSet

Private Sub BotoEdit_Click()

If Not Taula(3).BOF And Not Taula(3).EOF Then

Taula(3).Edit

BotoEsborrar.Enabled = False BotoAfegir.Enabled = False BotoConfirmar.Enabled = True BotoEdit.Enabled = False

Text2(0).SetFocus

End If

End Sub

Page 276: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

267

'Inicialitza el formulari i obre la segona taula per mostrar el'primer registre

Private Sub Form_Load()

RemoveCancelMenuItem Me

Set Taula(3) = Base.OpenRecordset("Tabla2") Call MostrarCamps

End Sub

Private Sub AfegirCamps()Dim i As Integer

For i = 0 To 12 If Text2(i).Text <> "" Then Taula(3).Fields(i) = Text2(i).Text End If Next i

End Sub

'Subrutina que comprova que no hi hagi cap camp buit

Private Function ComprobarCamps() As Boolean ComprobarCamps = (Text2(0).Text <> "")End Function

'Mostra a traves dels TextBox un registre de la base de dades

Private Sub MostrarCamps()Dim i As Integer

If Not Taula(3).BOF And Not Taula(3).EOF Then For i = 0 To 12 If Not IsNull(Taula(3).Fields(i)) Then Text2(i).Text = Taula(3).Fields(i) Else Text2(i).Text = "" End If Next i Else For i = 0 To 12 Text2(i).Text = "" Next i End IfEnd Sub

Page 277: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

268

Private Sub Text2_GotFocus(Index As Integer) Text2(Index).SelStart = 0 Text2(Index).SelLength = Len(Text2(Index).Text)End Sub

Private Sub Text2_KeyPress(Index As Integer, KeyAscii As Integer) If KeyAscii = 13 Then KeyAscii = 0 SendKeys "tab" End IfEnd Sub

Codi 7. Formulari4

Page 278: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

269

9.1.3.6 Formulari5

'Subrutina que actualitza varies de les opcions del programa

Private Sub BotoAcceptar_Click()Dim StrDelay As StringDim aux As Integer

If (Len(Text2.Text) > 0) And (Len(Text2.Text) < 3) Then

aux = Val(Text2.Text)

If (aux > 0) Then Delay = aux End If

End If

DataBaseString = Text3.Text

Select Case IndexOption Case 0 Direccio = &H300 Case 1 Direccio = &H310 Case 2 Direccio = &H320 Case 3 Direccio = &H330 End Select

Unload Formulari5

End Sub

Private Sub BotoCancel_Click() Unload Formulari5End Sub

Page 279: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

270

'Subrutina que mostra el quadre diàleg Obrir Base de Dades, per tal'de seleccionar quina es la que utilitzarà l’ aplicació. Si es'produeix algun error al obrir la nova base de dades, es mostra un'missatge que indica la causa del error.

Private Sub BotoObrir_Click()

On Error GoTo Cancel

With CommonDialog1

.Filter = "Base de Dades Access |*.mdb" .ShowOpen Set Base = OpenDatabase(.FileName) Text3.Text = .FileName DataBaseString = .FileName

End With

Exit Sub

Cancel:

'Si no es tracta del boto cancel·lar, es mostra la descripció de l’ error

If Err.Number <> 32755 Then VisualitzarMissatge Err.Description, vbExclamation, "" End If

End Sub

Page 280: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

271

Private Sub Form_Load()

RemoveCancelMenuItem Me

If ModeTest Then BotoObrir.Enabled = False End If

Text2.Text = Delay

Select Case Direccio Case &H300 Option1(0).Value = True Case &H310 Option1(1).Value = True Case &H320 Option1(2).Value = True Case &H330 Option1(3).Value = True End Select

Text3.Text = DataBaseString

End Sub

Private Sub Form_Unload(Cancel As Integer) Call HabilitarMenus Call HabilitarBotonsEnd Sub

Private Sub Option1_Click(Index As Integer) IndexOption = IndexEnd Sub

Private Sub Text2_GotFocus() Text2.SelStart = 0 Text2.SelLength = Len(Text2.Text)End Sub

Private Sub Text3_GotFocus() Text3.SelStart = 0 Text3.SelLength = Len(Text3.Text)End Sub

Codi 8. Formulari5

Page 281: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

272

9.1.3.7 Formulari6

Dim ComboStr As StringDim NumElements As Long

Const AmpladaGrid As Integer = 4070 + 10 + 200Const AmpladaCol0 As Integer = 450Const AmpladaCol1 As Integer = 1250 + 100Const AmpladaCol2 As Integer = 1250 + 100Const AmpladaCol3 As Integer = 1110Const MaxFiles As Integer = 10Const MaxColumnes As Integer = 4Const TamanyFiles As Integer = 250

Private Sub IniGrid()

With Formulari6.Grid1

.Visible = False .Clear .Height = MaxFiles * (TamanyFiles + 2) + 100 .Width = AmpladaGrid + (MaxColumnes * 5) + 75 Call RedimensionarGrid .Visible = True

End With

End Sub

'Subrutina que redimensiona el Grid del formulari

Private Sub RedimensionarGrid()Dim i As Integer

With Formulari6.Grid1

.ColWidth(0) = AmpladaCol0 .ColWidth(1) = AmpladaCol1 .ColWidth(2) = AmpladaCol2 .ColWidth(3) = AmpladaCol3

.ColAlignment(0) = flexAlignRightCenter .ColAlignment(1) = flexAlignLeftCenter .ColAlignment(2) = flexAlignLeftCenter .ColAlignment(3) = flexAlignCenterCenter

Page 282: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

273

If .Rows > MaxFiles Then .Width = AmpladaGrid + (MaxColumnes * 5) + 75 + 240 Else .Width = AmpladaGrid + (MaxColumnes * 5) + 75 End If

For i = 0 To .Rows - 1 .RowHeight(i) = TamanyFiles Next i

End With

End Sub

'Subrutina que s' encarrega de realitzar les consultes de Tipus de'Maquina, segons l’ adreça i segons el numero de telèfon. El'resultats son mostrats gràcies al Grid.

Private Sub Boto1_Click(Index As Integer)Dim camps As Integer

With Grid1

.Visible = False .Clear NumElements = 0 .Rows = MaxFiles Call RedimensionarGrid

Select Case (Index) Case 0 camps = ConsultaSql(1, "TipusMaquina", Combo1.Text, 5)

Case 1 camps = ConsultaSql(1, "Adreça", Text2(1).Text, 5)

Case 2 camps = ConsultaSql(1, "Telèfon", Text2(2).Text, 5)

End Select

Do While Not Taula(5).EOF InsertarRegistre (5) Taula(5).MoveNext Loop

.Visible = True

Page 283: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

274

If NumElements > 0 Then BotoIntMaquines.Enabled = True BotoIntMaquines.SetFocus Else BotoIntMaquines.Enabled = False End If

End With

End Sub

'Subrutina que realitza les consultes basades en l’ identificador.'També mostra els resultats en el Grid

Private Sub Boto2_Click()

With Grid1

.Visible = False .Clear NumElements = 0 .Rows = 10 Call RedimensionarGrid

If (Len(Text2(0).Text) > 0) Then

If SeleccionarMaquines(Text2(0).Text) Then Call InsertarRegistres Else .Visible = True

VisualitzarMissatge "Sintaxis incorrecta", vbInformation,"Interrogar Maquines"

End If

End If

.Visible = True

If NumElements > 0 Then BotoIntMaquines.Enabled = True BotoIntMaquines.SetFocus Else BotoIntMaquines.Enabled = False End If

End With

End Sub

Page 284: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

275

Private Sub BotoAcceptar_Click() Unload Formulari6End Sub

Private Sub BotoIntMaquines_Click() Me.Hide Formulari.Refresh Timer2.Enabled = TrueEnd Sub

Private Sub Combo1_Click() ComboStr = Combo1.TextEnd Sub

'Inicialitza el formulari i omple el ComboBox amb els diferents'Tipus de Maquina

Private Sub Form_Load()

RemoveCancelMenuItem Me

Call IniGrid

Sql = "SELECT Tabla2.TipusMaquina From Tabla2 WHERE(((Tabla2.TipusMaquina) Like '" & "*" & "'));"

Set Taula(5) = Base.OpenRecordset(Sql)

Do While Not Taula(5).EOF Combo1.AddItem Taula(5).Fields(0) Taula(5).MoveNext Loop

ComboStr = Combo1.List(0) Combo1.Text = Combo1.List(0)

End Sub

'Incrementa el numero de files del Grid si es necessari

Private Sub InsertarFilaGrid() If NumElements > MaxFiles Then Grid1.Rows = NumElements End IfEnd Sub

Page 285: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

276

Private Sub Form_Unload(Cancel As Integer) Call HabilitarMenus Call HabilitarBotonsEnd Sub

'Subrutina que mostra en el Grid totes les maquines que han estat'seleccionades per la consulta basada en l' identificador, si es'troben a la base de dades

Private Sub InsertarRegistres()Dim camps As IntegerDim i As IntegerDim j As Integer

Do While MatInt(0, i) <> 0

If MatInt(1, i) = 0 Then camps = ConsultaSql(1, "Identificador", MatInt(0, i), 5)

If camps <> 0 Then InsertarRegistre (5) End If

Else For j = MatInt(0, i) To MatInt(1, i) camps = ConsultaSql(1, "Identificador", j, 5)

If camps <> 0 Then InsertarRegistre (5) End If

Next j End If

i = i + 1

Loop

End Sub

Page 286: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

277

'Mostra en el Grid la maquina que s' ha obtingut de fer una consulta'i que es troba en el RecordSet

Private Sub InsertarRegistre(NumTaula As Integer)Dim i As Integer

With Grid1

NumElements = NumElements + 1

Call InsertarFilaGrid Call RedimensionarGrid

.Row = NumElements - 1

For i = 0 To 3 .Col = i .Text = Taula(NumTaula).Fields(i) Next i

End With

End Sub

'Subrutina que selecciona tot el que hi ha en un TextBox quan rep el'focus

Private Sub Text2_GotFocus(Index As Integer)

Text2(Index).SelStart = 0 Text2(Index).SelLength = Len(Text2(Index).Text)

End Sub

Page 287: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

278

'Subrutina que s' encarrega d' interrogar a les maquines que es'troben en el Grid

Private Sub RealitzarConsultes()Dim Missatge As StringDim r As IntegerDim i As Integer

With Grid1

Cancel = False

Do While (i <= (NumElements - 1) And Not Cancel)

.Row = i .Col = 0 Formulari.Text1.Text = "Realitzant consulta Id " & .Text Formulari.Text1.Refresh Formulari7.Label1.Caption = "Realitzant consulta Id " & .Text Formulari7.Label1.Refresh Call ActualitzarProgressBar(i) .Col = 3

r = RealitzarConsulta(.Text)

If r <> 0 Then .Col = 0

If (r = NoEscriptura) Or (r = EscripturaIncompleta) Or(r = EscripturaPlaca) Then

Missatge = " (Error de E/S)" End If

VisualitzarMissatge "Error de marcacio Id " & .Text &Missatge, vbInformation, "", ModeLog + ForçarLog

End If

i = i + 1

Loop

End With

End Sub

Private Sub Combo1_Change()

Combo1.Text = ComboStr

End Sub

Page 288: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

279

Private Sub ActualitzarProgressBar(Optional Valor As Integer)

With Formulari6.Grid1

If Valor = 0 Then Formulari7.ProgressBar1.Min = 0 Formulari7.ProgressBar1.Max = NumElements End If

Formulari7.ProgressBar1.Value = 1 + Valor Formulari7.ProgressBar1.Refresh

End With

End Sub

'Després d' un segon de pitjar el boto Interrogar Maquines, comença'la consulta i mostra el formulari7 que indica el progrés i la'maquina que s’ esta interrogant en aquell moment

Private Sub Timer2_Timer()

Timer2.Enabled = False

Formulari7.Show Formulari7.Refresh

Call RealitzarConsultes Formulari7.Label1.Refresh

Sleep (1000)

Unload Formulari7 Unload Me

End Sub

Codi 9. Formulari6

Page 289: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

280

9.1.3.8 Formulari7

Private Sub Command1_Click()

Cancel = True Formulari.Text1.Text = "Interrogació cancel·lada per l' usuari" Formulari.Text1.Refresh

End Sub

Codi 10. Formulari7

9.1.3.9 Formulari8

Private Sub Boto1_Click() Unload Formulari8End Sub

Private Sub Form_Load() RemoveCancelMenuItem Me

' Projecte Final de Carrera :' Gestió Remota per Línia Telefònica de' Maquines Dispensadores Automàtiques.' Autor: José Antonio Agraz Millat' Director: Jesús Brezmes Llecha

Label1.Caption = "Gestió Remota 32 Bits per" & Chr(13) & Chr(10)& "WinNT, Win9x i Win2000"

Label3.Caption = "Projecte Final de Carrera :" & Chr(13) &Chr(10) & "" & Chr(13) & Chr(10) & "Gestió Remota per LíniaTelefònica de" & Chr(13) & Chr(10) & "Maquines DispensadoresAutomàtiques." & Chr(13) & Chr(10) & "" & Chr(13) & Chr(10) &"Autor: José Antonio Agraz Millat" & Chr(13) & Chr(10) &"Director: Jesús Brezmes Llecha"

End Sub

Private Sub Form_Unload(Cancel As Integer) Call HabilitarMenus Call HabilitarBotonsEnd Sub

Codi 11. Formulari8

Page 290: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

281

9.1.3.10 Mòdul Declaracions

'Declaracions i funcions del API de Windows

Public Type NOTIFYICONDATA

cbSize As Long

hwnd As Long

uId As Long

uFlags As Long

ucallbackMessage As Long

hIcon As Long

szTip As String * 64

End Type

Public Const NIM_ADD = &H0

Public Const NIM_MODIFY = &H1

Public Const NIM_DELETE = &H2

Public Const WM_MOUSEMOVE = &H200

Public Const NIF_MESSAGE = &H1

Public Const NIF_ICON = &H2

Public Const NIF_TIP = &H4

Public Const WM_LBUTTONDBLCLK = &H203

Public Const WM_LBUTTONDOWN = &H201

Public Const WM_LBUTTONUP = &H202

Public Const WM_RBUTTONDBLCLK = &H206

Public Const WM_RBUTTONDOWN = &H204

Public Const WM_RBUTTONUP = &H205

Public Declare Function Shell_NotifyIcon Lib "shell32" Alias"Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA)As Boolean

Public Const WM_VSCROLL As Long = &H115

Public Const SB_BOTTOM As Long = 7

Public Const WM_SETFOCUS = &H7

Public Const WM_ACTIVATE = &H6

Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" _

Page 291: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

282

(ByVal hwnd As Long, ByVal wMsg As Long, _

ByVal wParam As Long, lParam As Any) As Long

Public Declare Function FindWindow Lib "user32" Alias "FindWindowA"(ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Public Const MF_BYPOSITION = &H400&

Public Const MF_REMOVE = &H1000&

Public Declare Function GetSystemMenu Lib "user32" (ByVal hwnd AsLong, ByVal bRevert As Long) As Long

Public Declare Function RemoveMenu Lib "user32" (ByVal hMenu AsLong, ByVal nPosition As Long, _

ByVal wFlags As Long) As Long

Codi 12. Mòdul Declaracions

Page 292: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

283

9.1.3.11 Mòdul Funcions

'Variables utilitzades per accedir a la base de dades

Global Base As DatabaseGlobal Taula(6) As RecordsetGlobal Sql As String

Global SortirPrograma As BooleanGlobal FinalConnexio As BooleanGlobal Interrogacio As BooleanGlobal Consulta As BooleanGlobal Cancel As Boolean

'Matrius de dues dimensions dinàmica

Global Maquines() As IntegerGlobal MatInt() As Integer

Global ResultatIniDriver As IntegerGlobal ModeLog As IntegerGlobal IniciMinimitzat As BooleanGlobal ModeTest As BooleanGlobal Id As IntegerGlobal Fila As IntegerGlobal Hora As StringGlobal PathStr As StringGlobal IndexOption As IntegerGlobal DataBaseString As String

'Constants

Public Const NoLog As Byte = 0Public Const ForçarLog As Byte = 2

'Nom de la base de dades que s' usa per defecte

Public Const BaseDeDades As String = "bd2000.mdb"Public Const BaseDeDadesTest As String = "Test.mdb"

Public Const FitxerLog As String = "Log.txt"Public Const FitxerConfiguracio As String = "GestioRemota.ini"

Page 293: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

284

'Funció que realitza una consulta SQL. Mitjançant els paràmetres, se'li pot especificar quina taula ha d’ utilitzar, el camp que ha'd’ utilitzar per realitzar la cerca, quin RecordSet utilitza i el'que es busca

Public Function ConsultaSql(NumTabla As Integer, Camp As String,IndexBusqueda As Variant, NumTaula As Integer) As LongDim camps As Integer

If VarType(IndexBusqueda) <> vbString ThenSql = "SELECT Tabla" & NumTabla & ".* From Tabla" & NumTabla & "WHERE (((Tabla" & NumTabla & "." & Camp & ")=" &IndexBusqueda & "));"

ElseSql = "SELECT Tabla" & NumTabla & ".* From Tabla" & NumTabla & "WHERE (((Tabla" & NumTabla & "." & Camp & ")=" & Chr(34) &IndexBusqueda & Chr(34) & "));"

End If

Set Taula(NumTaula) = Base.OpenRecordset(Sql)

If Not Taula(NumTaula).EOF Then Taula(NumTaula).MoveFirst camps = Taula(NumTaula).Fields.Count End If

ConsultaSql = camps

End Function

'Funció que retorna la descripció del codi Status

Public Function MostrarMissatges(Status As Integer) As StringDim m As String

Select Case Status Case -1 m = "Error al Obrir el Driver" Case 0 m = "Operació Ok" Case &H10 m = "Recepció de Dades" Case &H20 m = "Trucada" Case &H30 m = "Connexió Correcta" Case &H40 m = "Error Sèrie" Case &H50 m = "Error de Connexió" Case &H70 m = "Marcar"

Page 294: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

285

Case Else m = "Error " & Status End Select

MostrarMissatges = m

End Function

'Funció que mira si el contingut del String es numero

Public Function EsNumero(Num As String) As BooleanDim Resultat As BooleanDim Longitud As IntegerDim i As Integer

Longitud = Len(Num) Resultat = True

For i = 1 To LongitudResultat = ((Asc(Mid(Num, i, 1)) >= 48) And (Asc(Mid(Num, i, 1)) <= 57))And Resultat

Next i

EsNumero = Resultat

End Function

'Funció que comprova si existeix un fitxer, el nom del qual es passa'com a paràmetre

Public Function ExisteixFitxer(Fitxer As String) As Boolean

On Error GoTo NoFitxer

Open Fitxer For Input As #1 Close #1 ExisteixFitxer = True

Exit Function

NoFitxer:

ExisteixFitxer = False

End Function

Page 295: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

286

'Funció que carrega la configuració, si llegeix algun valor'incorrecte o es produeix algun error al llegir el fitxer on es'guarda la configuració, llavors carrega la configuració per defecte

Public Sub CarregarConfiguracio(NomFitxer As String)Dim Longitud As IntegerDim Str1 As StringDim Str2 As StringDim Str3 As StringDim Str4 As StringDim error As Boolean

'Control d' errors

On Error GoTo ConfigError

If ExisteixFitxer(NomFitxer) Then Open NomFitxer For Input As #1

If Not EOF(1) Then Input #1, Str1, Str2, Str3, Str4, IniciMinimitzat

Else error = True

End If

Close #1 Else

error = True End If

If not error then Str1 = Trim(Str1) Longitud = Len(Str1)

If (Longitud > 0) And (Longitud < 3) And (Val(Str1) > 0) Then Delay = Val(Str1) Else Delay = 10 End If

Str2 = Trim(Str2) Longitud = Len(Str2)

If Longitud = 1 Then IndexOption = Val(Str2)

Select Case IndexOption Case 0 Direccio = &H300 Case 1 Direccio = &H310

Page 296: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

287

Case 2 Direccio = &H320 Case 3 Direccio = &H330 End Select

Else IndexOption = 0 Direccio = &H300 End If

DataBaseString = Str3

Str4 = Trim(Str4) Longitud = Len(Str4)

If (Longitud = 1) Then ModeLog = Val(Str4) Else ModeLog = 0 End If

Else Delay = 10 Direccio = &H300 IndexOption = 0 DataBaseString = PathStr & BaseDeDades IniciMinimitzat = True End If

Exit Sub

ConfigError:

'Si s’ ha produït un error quan es llegia el fitxer, 'llavors es tanca i es carrega la configuració per defecte

If (Err.Number = 62) Or (Err.Number = 13) Then Close #1 End If

Delay = 10 Direccio = &H300 IndexOption = 0 DataBaseString = PathStr & BaseDeDades IniciMinimitzat = True

End Sub

Page 297: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

288

'Subrutina que guarda la configuració en un fitxer

Public Sub GuardarConfiguracio(NomFitxer As String)

Open NomFitxer For Output As #1Write #1, Str(Delay), Str(IndexOption), DataBaseString,Str(ModeLog), IniciMinimitzatClose #1

End Sub

'Subrutina que pot mostrar un missatge amb un MsgBox o be el pot'escriure al fitxer de Log. El missatge es passa a la variable del'mateix nom, després el paràmetre ConstanVb, defineix l’ icona que'apareixerà al MsgBox i els dos últims paràmetres son opcionals. Amb'el paràmetre Log, es pot fer que solament ho visualitzi amb un'MsgBox, o que el visualitzi i també el guardi al fitxer de Log o'que solament ho guardi al fitxer.

Public Sub VisualitzarMissatge(Missatge As String, ConstantVb As Integer,Optional Titol As String, Optional Log As Integer)

If (Log And 1) = 0 Then If (Titol <> "") Then MsgBox Missatge, ConstantVb, Titol Else MsgBox Missatge, ConstantVb End If End If

If Log > 0 Then Call GenerarLog(Missatge, False) End If

End Sub

'Subrutina que escriu en el fitxer de Log. Amb el paràmetre IniLog,'se l’ indica que també escrigui la capçalera amb la data

Public Sub GenerarLog(Missatge As String, Optional IniLog As Boolean) If IniLog Then Open PathStr & FitxerLog For Output As #2 Print #2, " Data " & Date Print #2, "" Else Open PathStr & FitxerLog For Append As #2 End If

Print #2, Time & " " & Missatge Close #2End Sub

Page 298: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

289

'Funció que interpreta un string que pot contenir diversos'identificadors separats per comes o intervals expressats amb guions.'Si es detecta algun error de sintaxis, retorna fals. En canvi si la'sintaxis es correcta, llavors guarda els identificadors i els'intervals en una matriu dinàmica de dues dimensions.

Public Function SeleccionarMaquines(S1 As String) As BooleanDim Interval As BooleanDim Fi As BooleanDim Longitud As IntegerDim aux As IntegerDim i As IntegerDim j As IntegerDim Char As StringDim Num As Long

ReDim MatInt(1, 0) As Integer Longitud = Len(S1)

If Longitud > 0 Then

i = 1 Char = Mid(S1, i, 1)

Do While ((Char <> " ") And (i <= Longitud) And Not Fi)

If LlegirNumero(S1, i, Num) Then

Char = Mid(S1, i, 1)

Fi = ((Char <> ",") And (Char <> "-") And (Char <> "")) Fi = Fi Or ((Char = "-") And Interval) Or (Num = 0)

Or (Num > 9999) Fi = Fi Or ((Not EsNumero(Char)) And (i = Longitud))

If (Char = "") Or (Char = ",") Then

ReDim Preserve MatInt(1, j) As Integer

If Interval Then MatInt(0, j) = aux MatInt(1, j) = Num Fi = Fi Or (aux >= Num) If j > 0 Then Fi = Fi Or (MatInt(0, j - 1) >= aux)

Fi = Fi Or (MatInt(1, j - 1) >= aux) End If Interval = False Else MatInt(0, j) = Num

Page 299: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

290

If j > 0 Then Fi = Fi Or (MatInt(0, j - 1) >= Num)

Fi = Fi Or (MatInt(1, j - 1) >= Num) End If End If

j = j + 1 End If

If (Char = "-") Then aux = Num Interval = True End If Else Fi = True End If

i = i + 1 Char = Mid(S1, i, 1)

Loop

ReDim Preserve MatInt(1, j) As Integer

End If

SeleccionarMaquines = Not ((i <= Longitud) Or Fi)

End Function

'Funció que llegeix un numero d’ un string. Comença a buscar un'numero en la posició que li indica el paràmetre i. Si no el troba'retorna fals. El paràmetre i es actualitzat i apunta al següent'caràcter. El valor del numero es retornat amb el paràmetre Num.

Public Function LlegirNumero(S1 As String, ByRef i As Integer, Num As Long)As BooleanDim Longitud As IntegerDim NumStr As String

Longitud = Len(S1)

Do While (EsNumero(Mid(S1, i, 1)) And (i <= Longitud) And(Longitud <> 0))

NumStr = NumStr & Mid(S1, i, 1) i = i + 1 Loop

Num = Val(NumStr) LlegirNumero = (Len(NumStr) <> 0)

End Function

Page 300: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

291

'Funció que realitza l’ interrogació d’ una maquina dispensadora.'Rep com a paràmetre un string que conte el numero de telèfon.'Retorna un 0 si la operació ha anat correctament i un numero'negatiu en el cas contrari.

Public Function RealitzarConsulta(StrTelefon As String) As IntegerDim Resultat As Integer

Resultat = MarcarNumero(StrTelefon)

If Resultat = 0 Then

FinalConnexio = False

'Bucle d' espera que permet executar altres events del programa

Do While (Not FinalConnexio) Sleep (10) DoEvents Loop

End If

RealitzarConsulta = Resultat

End Function

'Funció que obre la base de dades que s’ utilitza en el Mode Test,'si es produeix algun error al obrir-la, retorna fals.

Public Function ObrirBaseDeDadesTest() As Boolean

On Error GoTo NoDataBaseTest

Set Base = OpenDatabase(PathStr & BaseDeDadesTest)

ObrirBaseDeDadesTest = True

Exit Function

NoDataBaseTest:

ObrirBaseDeDadesTest = False

End Function

Codi 13. Mòdul Funcions

Page 301: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

292

9.1.3.12 Mòdul Io32

Global Const ErrorObrirDriver As Integer = -1Global Const ObrirDriverOk As Integer = 0

'Subrutina que escriu un byte (ValPort) en l' adreça de E/S que li'indica el paràmetre Addr

Public Sub WriteToPort(Addr As Long, ValPort As Byte)Dim Result As Boolean

Result = SetPortVal(Addr, ValPort, 1)

If (Result = False) Then MsgBox "Error ! amb WriteToPort.", vbOKOnly + vbCritical, "Warning!" End If

End Sub

'Funció que llegeix un byte (ValPort) en l' adreça de E/S que li'indica el paràmetre Addr

Public Function ReadFromPort(Addr As Long) As ByteDim Result As BooleanDim PortVal As Long

Result = GetPortVal(Addr, PortVal, 1)

If (Result = False) Then MsgBox "Error ! amb ReadFromPort.", vbOKOnly + vbCritical, "Warning!" End If

ReadFromPort = PortVal

End Function

'Tanca el driver. s' ha de cridar quan es finalitza l’ aplicació

Public Sub Close_Driver() Call ShutdownWinIoEnd Sub

Page 302: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

293

'Funció que obre el driver, s' ha de cridar abans de cridar cap de'les funcions anteriors

Public Function Open_Driver() As IntegerDim Result As BooleanDim PortVal As Long

On Error GoTo DriverError

If InitializeWinIo Then

Result = GetPortVal(0, PortVal, 1)

If (Result = False) Then MsgBox "No es pot obrir el driver!", 0, "Warning!" Open_Driver = ErrorObrirDriver Else Open_Driver = ObrirDriverOk End If

Else Open_Driver = ErrorObrirDriver MsgBox "No es pot obrir el driver!", 0, "Warning!" End If

Exit Function

DriverError:

VisualitzarMissatge Err.Description, vbExclamation, "", ForçarLog Open_Driver = ErrorObrirDriver

End Function

Codi 14. Mòdul Io32

Page 303: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

294

9.1.3.13 Mòdul ISA

Global Direccio As LongGlobal Delay As ByteGlobal MatDades(1) As Integer

Public Const Test As Byte = 11Public Const Normal As Byte = 12

Public Const BSE As Byte = &H80Public Const BSC As Byte = &H80Public Const NO_BSC As Byte = &H7FPublic Const NUM_FINAL As Byte = 10Public Const MARCAR As Byte = &H70Public Const Identificador As Byte = 0Public Const Entrades As Byte = 1Public Const Temps As Integer = 100

Public Const NoLectura As Integer = -1Public Const LecturaIncompleta As Integer = -2Public Const EscripturaCorrecta As Integer = 0Public Const NoEscriptura As Integer = -3Public Const EscripturaIncompleta As Integer = -4Public Const EscripturaPlaca As Integer = -5Public Const TelefonIncorrecte As Integer = -6

'Funció que llegeix 4 bits en el registre d' Estat de la placa de'Monitoritzacio per PC. Retorna un valor negatiu si s' ha produït'algun error.

Public Function Llegir_Bus_Isa(Addr As Long) As IntegerDim Data As IntegerDim i As IntegerDim aux As Byte

Data = NoLectura aux = ReadFromPort(Direccio)

'Comprova si la Placa de Monitoritzacio per PC vol escriure

If (aux And &HF0) > BSE Then

'Llegeix l' informació del Registre d' Estat

Data = ReadFromPort(Direccio)

'Indica a la placa, que ja ha realitzat la lectura

Call WriteToPort(Direccio, BSC)

Page 304: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

295

For i = 1 To Delay aux = ReadFromPort(Direccio) Next

'Comprova que la placa hagi esborrat el bit BSE

If (aux And BSE) = 0 Then

'Esborra el Registre de Control, per acabar el 'procés de lectura

Call WriteToPort(Direccio, 0) Else Data = LecturaIncompleta End If

End If

'Espera a que la placa hagi finalitzat tot el procés 'd’ escriptura

For i = 1 To Delay aux = ReadFromPort(Direccio) Next

Llegir_Bus_Isa = Data

End Function

'Funció que escriu 8 bits en el registre d' Estat de la placa de'Monitoritzacio per PC. Retorna un valor negatiu si s' ha produït'algun error.

Public Function Escriure_Bus_Isa(Valor As Byte, Addr As Long) As IntegerDim Status As IntegerDim i As IntegerDim aux As Byte

Status = NoEscriptura

'Abans d' escriure, s' ha de comprovar el Registre d' Estat

aux = ReadFromPort(Direccio)

If (aux And BSE) = 0 Then

'Indica a la placa de monitoritzacio que vol escriure 'en el Registre de Control

Call WriteToPort(Direccio, Valor Or BSC)

Page 305: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

296

'S’ espera perquè la placa tingui temps a preparar-se 'per llegir l’ informació

For i = 1 To Delay aux = ReadFromPort(Direccio) Next

'Comprova si la placa esta a punt per llegir les dades 'del Registre de Control

If (aux And BSE) Then

'Comprova que la placa de monitoritzacio no vulgui escriure

If ((aux And &H70) = 0) Then

'Escriu l' informació i també indica a la placa 'que ja la pot llegir

Call WriteToPort(Direccio, Valor And NO_BSC) Status = EscripturaCorrecta Else Status = EscripturaPlaca End If

Else Status = EscripturaIncompleta End If

End If

'Espera perquè la placa de monitoritzacio per PC acabi la lectura

For i = 1 To Delay aux = ReadFromPort(Direccio) Next

Escriure_Bus_Isa = Status

End Function

Page 306: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

297

'Funció que llegeix 16 bits en el registre d' Estat de la placa de'Monitoritzacio per PC. Retorna un valor negatiu si s' ha produït'algun error.

Public Function Llegir16Bits()Dim Error As BooleanDim Index As IntegerDim Data As IntegerDim aux As Integer

Index = 3

Do While ((Index >= 0) And (Not Error))

aux = Llegir_Bus_Isa(Direccio)

If aux >= 0 Then aux = aux And &HF Data = Data Or (aux * (16 ^ Index)) Index = Index - 1 Else Error = True Data = aux End If

Loop

Llegir16Bits = Data

End Function

'Subrutina que realitza la lectura de l' identificador i dels valors'de les entrades. Les dades les guarda en una matriu dinàmica de'dues dimensions. Retorna un valor negatiu si s' ha produït algun'error.

Public Function LlegirDades() As IntegerDim Error As BooleanDim Index As IntegerDim aux As Integer

Do While ((Index < 2) And (Not Error))

aux = Llegir16Bits()

If aux >= 0 Then If Index = Identificador Then MatDades(Index) = Hex(aux) Else MatDades(Index) = aux End If Else

Page 307: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

298

Error = True End If

Index = Index + 1

Loop

LlegirDades = aux

End Function

'Funció que te com a paràmetre d’ entrada un string que conte el'numero de telèfon que s’ ha d’ enviar a la Placa de Monitoritzacio'per PC per realitzar la marcacio. Retorna un valor negatiu si s’ ha'produït algun error.

Public Function MarcarNumero(StrTelefon As String) As IntegerDim Longitud As IntegerDim Resultat As IntegerDim aux As IntegerDim i As IntegerDim j As IntegerDim Digit As Byte

i = 1 Resultat = TelefonIncorrecte Longitud = Len(StrTelefon)

If (Longitud > 0) And (Longitud < 19) Then

Resultat = EscripturaCorrecta

If Not EsNumero(StrTelefon) Then Resultat = TelefonIncorrecte Else

'Marcar Call WriteToPort(Direccio, MARCAR)

For j = 1 To Delay aux = ReadFromPort(Direccio) Next j

End If

Do While ((Resultat = EscripturaCorrecta) And (i <= Longitud)) Digit = Val(Mid(StrTelefon, i, 1)) Resultat = Escriure_Bus_Isa(Digit, Direccio) i = i + 1 Loop

Page 308: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

299

If Resultat = EscripturaCorrecta Then If (Longitud < 18) Then Resultat = Escriure_Bus_Isa(NUM_FINAL, Direccio) End If End If

End If

MarcarNumero = Resultat

End Function

'Subrutina que modifica el mode de la rutina Sèrie de la Placa de'Monitoritzacio per PC per tal de facilitar la posta en marxa del'sistema.

Public Sub CanviarMode(Mode As Byte)Dim i As Integer

Call WriteToPort(Direccio, Mode)

For i = 1 To Delay * 2 ReadFromPort Direccio Next i

Call WriteToPort(Direccio, 0)

End Sub

Codi 15. Mòdul ISA

Page 309: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

300

9.1.3.14 Modul2

Public Sub HabilitarMenus()

Formulari.Menu1.Enabled = True

If Not ModeTest Then Formulari.Menu2.Enabled = True End If

Formulari.Menu3.Enabled = True Formulari.Menu4.Enabled = True Formulari.Menu5.Enabled = True

End Sub

Public Sub DeshabilitarMenus()

Formulari.Menu1.Enabled = False Formulari.Menu2.Enabled = False Formulari.Menu3.Enabled = False Formulari.Menu4.Enabled = False Formulari.Menu5.Enabled = False

End Sub

Public Sub HabilitarBotons()

Formulari.BotoDetalls.Enabled = True

If (ResultatIniDriver = ObrirDriverOk) And (Not ModeTest) Then Formulari.BotoInterrogar.Enabled = True End If

Formulari.BotoTest.Enabled = True

End Sub

Public Sub DeshabilitarBotons()

Formulari.BotoDetalls.Enabled = False Formulari.BotoInterrogar.Enabled = False Formulari.BotoTest.Enabled = False

End Sub

Codi 16. Modul2

Page 310: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

301

9.1.3.15 Modul3

'Subrutina que impedeix que es modifiqui el tamany d’ un formulari,'s’ ha de cridar en l’ event Load o Initialize d' un formulari

Public Sub RemoveMenuItem(frm As Form)Dim hSysMenu As Long

hSysMenu = GetSystemMenu(frm.hwnd, 0)

' Elimina el segon element del menú ( Tamany ) Call RemoveMenu(hSysMenu, 2, MF_BYPOSITION Or MF_REMOVE)

End Sub

'Subrutina que a part d’impedir que es modifiqui el tamany d’ un'formulari, també deshabilita el boto tancar del formulari. S’ ha de'cridar en l’ event Load o Initialize d’ un formulari

Public Sub RemoveCancelMenuItem(frm As Form)Dim hSysMenu As Long

hSysMenu = GetSystemMenu(frm.hwnd, 0)

' Elimina del menú el últim element (Tancar) Call RemoveMenu(hSysMenu, 6, MF_BYPOSITION Or MF_REMOVE)

' Elimina el penúltim element (Separador) Call RemoveMenu(hSysMenu, 5, MF_BYPOSITION Or MF_REMOVE)

' Elimina el segon element del menú ( Tamany ) Call RemoveMenu(hSysMenu, 2, MF_BYPOSITION Or MF_REMOVE)

End Sub

'Subrutina que passa el focus a la barra de tasques de Windows

Public Sub MostrarSystemTray()Dim Finestra As Long

Finestra = FindWindow("Shell_traywnd", "") SendMessage Finestra, WM_ACTIVATE, WM_SETFOCUS, 0

End Sub

Codi 17. Modul3

Page 311: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

302

9.1.3.16 Mòdul WinIO

'Declaracions de les funcions de la llibreria WinIO per accedir a la'placa de Monitoritzacio per PC

Declare Function GetPortVal Lib "WinIo.dll" (ByVal PortAddr AsInteger, ByRef PortVal As Long, ByVal bSize As Byte) As Boolean

Declare Function SetPortVal Lib "WinIo.dll" (ByVal PortAddr AsInteger, ByVal PortVal As Long, ByVal bSize As Byte) As Boolean

Declare Function InitializeWinIo Lib "WinIo.dll" () As BooleanDeclare Function ShutdownWinIo Lib "WinIo.dll" () As Boolean

Codi 18. Mòdul WinIO

Page 312: Gestió Remota per Línia Telefònica de Maquines Dispensadores …deeea.urv.cat/public/PROPOSTES/pub/pdf/166pub.pdf · 2009. 9. 22. · Gestió Remota per Línia Telefònica de Maquines

Annexes

303

9.2 Informació Tècnica dels Components

Encara que no s’ ha utilitzat el circuit TEA 1064, si que s’ ha usat el TEA 1061 quees de la mateixa família encara que mes antic. La seva informació donarà una idea de comfunciona el circuit telefònic TEA 1061.