• Nie Znaleziono Wyników

TurboMon: Turbocharge Monitoring. Een programma voor conditiebewaking van een drukvulgroepsysteem

N/A
N/A
Protected

Academic year: 2021

Share "TurboMon: Turbocharge Monitoring. Een programma voor conditiebewaking van een drukvulgroepsysteem"

Copied!
59
0
0

Pełen tekst

(1)

TurboMon: Turbocharge Monitoring

een programma voor conditiebeaking van

een drukvulgroepsysteem

W.A. Buwono

Technische Universiteit Delft

Faculteit der Werktuigkunde en Maritieme Techniek

Vakgroep Maritieme Techniek

Sectie OEMO

Van Ommeren Shipping B.V.

Rotterdam

(2)

INHOUDSOPGAVE

1

Inleiding

1

2

lnleiding over Visual Basic

1.1

De opbouw van Visual Basic

7.7

Het scherrnontwerp met Visual Basic

3

2.3

Het programmeren

3

TurboMon, het Turbocharge Monitoringprogramma

9

3.1

De opbouw van het program ma

9

3.1.1

Het monitor] form

11

3.1.2

Het monitor2 form

11

3.1.3

Het frrnGraph form

13

3.1.4

De AboutBox en het HelpForm

14

3.2

De program macode

16

4

Werken met TurboMon

18

4. 1

Het starten

19

4.2

Het invoeren en bewerken van data

19

4.3

De grafiek

5

Conclusies

6

Referenties

Bijlagen:

Belangrijke termen in Visual Basic

II

Varia belen I ijst

Ill

De program macode van TurboMon

.. . a 4 4 U 2

...

.

.. .

....

2

,...

. . . ... . . .. . 5 9.. . . . . . 22

(3)

1.

[Welding

Dit afstudeerverslag borduurt voort op het

verslag OEMO 95/14

'Condit lebewaking van een

drukvulgroep

bit

een tweetula clieselmotor

Uit het verslag, waarin een aantal

bewakingsmetho-den aan de orde kwamen, wordt een geschikte methode gekozen: de

Componentbewakings-methode. Vervolgens wordt deze methode in het

verslag uitgebreid beschreven en getuned.

De afstudeeropdracht omvat:

Het ontwikkelen van een programma dat geschikt is om op een personal computer

off-line een diagnose van het drukvulgroepsysteem uit te voeren.

Dit programma dient bij voorkeur onder het Windows-besturingssysteem te kunnen

werken.

Tot dit doe wordt Visual Basic Professional Edition versie 3.0 van Microsoft als

program-meertaal gekozen. De reden daarvan is dat Visual Basic een

vrij eenvoudige programmeertaal

is, terwijl het toch veel mogelijkheden biedt. De Professional Edition kent een g,root aantal tools

(hulpmiddelen) waarmee men met weinig programmeer-ervaring op eenvoudige wijze grote

applicaties kan ontwikkelen.

De opbouw van dit verslag is als volgt:

Hoofdstuk 2 bevat een korte inleiding over Visual Basic; een aantal termen die in Visual Basic

worden gebruikt, worden uitgelegd en de werkwijze bij het programmeren

wordt beschreven.

Degenen die nog nooit met Visual Basic hebben gewerkt, wordt aangeraden om eerst dit

hoofd-stuk en bijlage 1 te lezen.

In hoofdstuk 3 wordt de opbouw van het ontwikkelde computerprogramma TurboMon

beschre-ven, dat in staat is om

off-line een diagnose van de drukvulgroep uit te voeren. In dit hoofdstuk

worden ook voorbeelden van de programmacode gegeven.

De complete programmacode van

TurboMon is in bijlage 3 te vinden.

Vervolgens wordt in hoofdstuk 4 beschreven hoe men met TurboMon kan werken.

Tot slot volgen in hoofdstuk 5 de conclusies en aanbevelingen van dit verslag.

(4)

2.

!aiding over Visual Basic

Visual Basic

is een programmeertaal van Microsoft waarmee

onder het besturingsprogramma

Windows programma's kunnen worden geschreven. Het is een zogenoemde object-georienteerde programmeertaal. Onder een object verstaan we in dit verband alle onderdelen die op het scherm binnen een venster te zien zijn. Dit is de

eenvoudigste opvatting van de term object. Zo kan een

OK-knop, die met behulp van de muis `ingedruke kan worden, worden opgevat als object.

Een object bezit properties oftewel eigenschappen.

Deze eigenschappen lopen uiteen van de

,kleur en de vorm van het object tot de naamgeving.

De naam die we aan een object geven, de

Name, wordt in het programma dat we schrijven gebruikt als referentie naar het object.

De programmacode wordt pas uitgevoerd als op het scherm een handeling met het object

uitgevoerd wordt. Onder een handeling verstaan we bijvoorbeeldbet aankliklcen met de muis,

het indrukken van een toets of het verslepen.

In bijlage 1 worden een, paar belangrijke objectenc, opdrachtenc, events en properties gegevern

2.1

De opbouw van Visual Basic

Visual] Basic wordt opgestart in de Windows-orngeving. Na het opstarten laat Visual Basic

een

aantaa vensters zien (figuur 1).

rWHur1rrr 01111111111013

a

th

rued Tads Of anhc s ;ever

TurboMon : Turbocharge Monitoring

Microsoft VisilaBasirrerisignr

Vest Run Oebug Options Window help

Figuur 1

De interface van Visual Basic Profrssional Edition.

ftl.

clq9.1-100 nnakmillo

Vim Foos Yaw Cot

1111

Pro eel cte AMIBUT011.VBX 41,171dDIAL06.VOX

et

cmTs TN VIC< .fttIAUGE vex GFIAPH.VBX Ian G 1110.VBX KEYS TAT .VEX

Properties

AuloR **at. Fate 13 acIEColo; te180001)005/ GotdetStyle 2. Svabie

er

Ji

- I

6101:0r1I1014 Trim,

Cortoillox 'flue

DeenoMode 13 Cow Pe"

D awS - Sold DravAddidth 1 EnVied T we U1000000006 IASI* 1 Iran:patent Fn. m/ Fm IFO.rwt ,1

(5)

TurboMon : Turbocharge Monitoring.

In bet midden van bet scherm is eenibrm, genaamd 'Form V, aangegeven. DR is de Visual

Basic-imam voor een venster. Het is een soon formulier waarop tijdens het prog,ramma-ontwerp een

Windows-venster gedefinieerd wordt.

Links in beeld is de toolbox zichtbaar. Hierin staan 'knoppen weergegeven waarmee allerlei

controls op de form geplaatst kunnen worden.

Voorbeelden van controls zijn knoppen, plaatjes,

teksten, etc.

De forms en de controls zijn beide objecten.

Dat wil zeggen dat zij beschouwd kunnen worden

,als zelfstandige, manipuleerbare entiteiten die bepaalde eigenschappen

hebben en

naar bepaalde

commando's luisteren.

kechts van de form zijn nog twee vensters zichtbaar, bet project- en het properties-

(eigenschap-pen) venster. In het projectvenster komen alle bestanden te staan die deel uitmaken van een

programma. leder form dat men maakt voor een bepaald programma komt er in te staan. Tevens

staan hierin enkele bestanden met ciefinities van schermobjecten en, soms, bestanden met

verzamelingen van procedures.

In het propertiesvenster, itenslotte, worth een

overzicht gegeven van ark objecten ,en bun

eigenschappen.

In hetkort is de werkwijze van het programmeren in Visual Basic

als

111. Project:

Maakt een nieuw project met ,daarin de benodigde iobjeeten, venSters

(forms) en

venstersobjecten (controls).

Properties:

Geeft de objecten de gewenste.eigenschappen

(properties).

Programming:

Creder de gewenste functionalkiteit met behulp 'van edit programmacode in

event-procedures en eventuele modules.

2.2'

Het schermontwerp met Visual Basic

De grootste eenheid in Visual Basic is het 'project. Een project bevat aille vensters

programmeercodes die bij een applicatie horen. Naast de forms bevat een project soms ook een

of meerdere code-modules. Dit zijn verzamelingen van programmeercodes die niet in een form

thuishoren, bijvoorbeeld omdat ze voor meerdere vensters gebruikt kunnen worden. Met name

declaraties van globale constanten en variabelen komen in aanmerking voor opname in een

module. Hiervoor is de extensie '.BAS' gereserveerd.

volgt:

(6)

De form is het eigenlijk ontwerp-blad waarop alle elennenten van de interface geplaatst worden. Een form heeft, net als al le objecten, bepaalde

eigenschappen, zoals BackColor

(achtergrond-kleur) en Caption (Titel van het venster).

Per project lumen meerdere forms worden ontworpen.

Deze kunnen elkaar aanroepen of

zich-zelf onzichtbaar maken en de volgende zichtbaar maken, etc. In figuur 2 wordt een voorbeeld

gegeven van een project, in design time, met een aantal forms waarvan er twee zichtbaar zijn.

In de bovenste form zijn er enkele labels te zien, een viertal text boxes, een combo box, twee

check boxes, twee command buttons en een frame waarop acht option buttons worden getekend.

Alle onderdelen die in een venster aanwezig kunnen zijn,

worden in het Form-venster getekend

met behulp van gereedschap dat in de

toolbox te vinden is.

Elk object, dus alle controls en het form, heeft

eigenschappen of properties. De eigenschappen

die aan een object toegekend kunnen worden, hangen

af van het type object. Bijvoorbeeld een

commandbutton heeft een Caption-eigenschap, terwij1 een object as een

scrollbar geen

Caption-eigenschap kent. Edit

apt

ciro

P4131

rta

MEI

nCxna Ovi F:;131, Manage.

TurboMon : Turbochurge Monitoring

Microsoft Visual Basic [design]

Void Bun Debug pinions Window help

r% Attachment Mum Databaso . COWL CloraSourOa: Coronae Sasso: Table to Artach:. L

...

.. ..

0

Saws Password 1

....

Been Eaalarsilra Canoed 13 Data Type 0 MS Access 0 'Maze /II 0 Maser IV o Fold.ro Z 0 o FoxPro 2.5 Patatkat 3.X Bereave °DOC

About Visual Data

Microsoft Visual Basra Pro Visual Dote Semple Apple:eh...

Version 100

Figuur 2

Een project, met hoar twee liirms, in design; ime.

Pro trues tAttach Form

Tr

HeIpC0ntes110 0 Icon ..eyPreaaa False Lea 1200 Linklaocle 0 None

LinkT opc Foal

Mao:04ton

IvID$Chal Fake

lain0ullon DUG ousePoInter 0 Dean

VISDATA.MAK Visa Fees View Cade I

ADDFIF.1.0 F lAddE roll

tnABDO DOX AtoulBox

EaATTACH F Ft CPYST HU FI tcpystru DA IABOX El 'Unlearn;

r, DA T AFOH14 rOalaFoim DYNAGRID.1 fGnccqn DYNASE IF' 1Dynasta

FIND URN End

b

Elie

Due

0

(7)

urboMon :

Turbocharge

Monitoring

Er zijn twee manieren om properties toe te

kennen aan een object:

Tijdens het ontwerp van een form (design time).

Hiervoor vebruikt men het properties window waarin alle properties van een object onder

elkaar worden weergegeven.

Tijdens de uitvoeriniz van de applicatie (run time).

lliervoor schrijft men code die tijdens de run time

de gewenste waarde toekent aan de

properties van een object. Deze code ziet er als volgt

<ControlName>.<property> = value

Bijvoorbeeld:

form 1.Caption

= "Turbo Monitoring"

(forrnulierl zal een title Turbo Monitoring hebben)

of

Graphl.visible = False

(Graph I zal niet zichtbaar zijn)

2:.3

Het programmeren

Programmeren in Visual Basic is in principe simpel: men schrijft

(kleine) stukjes code om de

acties van de gebruiker (de events) af te handelen.

Events zijn acties die een gebruiker uitvoert met een object. Het

belanuijkste event is de click

met een muispointer op het object. Dit start een event procedure met de naam: <Name>_Click_

Bijvoorbeeld:

button click, of form3

click. Ook Dbiclick (dubbelklik) is een event: twee keer

klikken op de muisknop.

De event procedure is een g,ewone subroutine die er bijvoorbeeld zo uitziet:

Sub btnGraph_cliek()

frmMonitor2.visible = False

frmGraph.visible = True

End Sub

In dit voorbeeld zal eon keer de command button genaamd btnGraph aanklikken een

form

genaamd frmMonitor2 onzichtbaar maken en frmGraph zichtbaar: het ene window wordt voor

het andere verwisselt.

De eerste regel bestaat uit het keyword Sub gevolgd door de procedurenaam en de parameters

( tussen haakjes). Hieronder komt de code voor deze event. Vervolgens wordt de procedure

afi2esloten met End Sub.

(8)

leder object heeft een vaste aantal

events die dat object 'kunnen

overkomen. Voor een object

form is bijvoorbeeld het load event

belangrijk: hierin kan men code specificeren die moet

worden uitgevoerd als een form wordt geladen. Bijvoorbeeld: de grootte en

de plaats van de

form, de properties van de ,objecten

die op het form worden geplaatst, etc.

De event code 'kan op een aantal manieren ingetikt worden. De imakkelijkste

manier is een

dubbelklik op het gewenste object: dan

verschijnt automatisch het codevenster met

de gewenste event procedure waarin de eerste en laatste regel al gegeven zijn. Figuur 3 laat een

voorbeeld van

ihet codevenster zien. In de figuur is tevens. het venster met procedures (Proc)

geopend.

:t1 1440.1203 676, MCP

111

.'

103G1 C719

ED

MITI 4

OEM

MINIM

Rai=

EGQ1

MEE

PIMA

MID

EEC

a

El I

II

Ca

441

Ede Edit View Bun Debug

!ea

InConnol 1o4, GtaphicsSevef

Figu u r 3, Het iicodevenster

Naast de events en de hierdoor opgestarte procedures

zijn er Methods. Methods iijn mogelijke

gedragingen van een object die niet door de gebruiker, via een event, worden geroepen, maar die door programmacode moeten worden gestart. Ze

kunnen ook niet in design time worden

gedeft-nieerd, maar uitsluitend in run time gebruikt worden. De syntax luidt:

<object>.<methotl>

fin

ra ratters

T urboMon Turbocharge Monitoring

Microsoft Visual Basic idtsignj

Options Window Help

'RID VBX LeSTAT.VBX. Properties Form in g nail

ti

ea C False sHeoococest.

o

.tSlyle 2 Sizable il roi 'Artois irolBmoodex dh

Toli 7Plas.Cops, Pen 1

I

oil,.

E true FilCot AHODOCOX0 8. la FNSiyb I Pompeian e.Li

Obrect I Form tJ Pint Load orm/ mai

nit Foresead r( LosiFoaa

MouseDown

IBUTON.VBX wDiALOG.V/DC

End Sub MouseMove

1,1 ousel; d HYSTAL vBX Pnt QuereUnleed 11AUGE.VBX RAPH VEX Reitz° Forint

CICI View Cada

imbed

3

Proicctl

(9)

urhoMon :

urbocharge Monitoring

Bijvoorbeeld:

(.3; rid LAddltem nieuw_row, nieuw_col

Deze code voegt aan de grid (een soon

kieine spreadsheet) een nieuwe rij en koiom toe.

in de programmacode gebruikt men ook vaak variabeien. Visual Basic kent vele soorten

datatypen van variabelen. De belangrijkste

datatypen zijn de String en de Integer.

hen String

is een reeks letters en cijfers (maximaal

64.000). ledere tekstuele invoer wordt in

een stringvariabele bewaard.

Een Integer bevat een geheel getal tussen -32768 en +32768. Een speciaal gebruik van Integers

is als Boolean variabelen, dat wii zeggen variabeien die de waarde True of False bevatten.

Variabeien die men opneemt in een event procedure zijn alleen geidig

&Mien

die procedure: het

zijn lokale variabelen. Een declaratie in een

procedure ziet er zo uit:

Dim username As String, Password As

String

heist

wordt het codewoord Dim (van dimensie) vermeld, vervolgens een vanabele, dan het

codewoord As en clan het datatype.

Men kan ook variabeien op form ntveau deciareren. ledere form heeft een ruimte voor

decia-raties in het 'general' gebied: kies general in de objectlijst van het codevenster. De vorm van de

declaratie is identiek aan de zojuist genoemde. Deze declaraties hebben nu gelditzheid voor alle

events van de form, en de variabeien kunnen in aile procedures in de form gebruikt worden.

,Men ikan

ook variabelen declareren op 'global' nivo. Olobale vanabelen

hebben geldigheid

groter dan een procedure en ook groter dan een form, dat wil zeggen geldig voor alle forms in

het project. De variabelen kan men in een code module declareren. De definitie van de

variabe-len vindt op andere wijze piaats dan op form niveau:

Globate username As String

Zoais in iedere prog-rammeertaai, konnen er ook in Visual Basic conditioneie expressies en

herhaalopdrachten voor die dienen als hulpmiddelen om het programma te sturen.

De belangrijkste conditionele expressie is het ft-statement. De meest

algemene vorm hiervan

is:

if <conditie> Then <opdracht>

Ms er meer opdrachten moeten worden uitgevoerd:

if

conciitie> Then

(10)

of

If <conditie> Then

<opdrachten als conditie waar is>.

Else

<opdrachten als conditie Met waar is>

End If

Tijdens het ontwerp van een programma zal men vaak stukjes programma wil len testen door het

programma te laten uitvoeren. Dit

is binnen de omgeving (environment) van Visual

Basic

mogelijk. Het voordeel hiervan is dat men steeds opmerkzaam gemaalct wordt op eventuele

fouten in het programma. Ook kan men een programma op deze manier debuggen of ondutzen. Na het volledig testen van een programma is

het mogelijk om een onafhankelijk programma te

maken. Visual Basic voegt clan bij de programmacode verwijzingen naar een run time module

die alle noodzakefijke programmaonderdelen bevat. Hierdoor vangt Visual Basic zo makkelijk

vensterwisselingenc, muishandelingen en udwisselingen met

de schijf op.

TurboMon Turboduirge Monitoring

(11)

TurboMon : turbocharge Monituring

3

TurboMon, het Turbocharge Mon itoringprogramma

TurboMon is een in Visual Basic geschreven computerprogramma voor het bewaken van een

drukvulgroepsvsteem. Dit programma kan worden gebaseerd op de gegeven inputwaarden en kan

de conditie-parameters van elke component van

het drukvulgroepsysteem berekenen. De

methode van de berekening is reeds uitgebreid

beschreven in het verslag 'Condniehewaking van

een drukvulgroep bij een

tweeiakt dieselmolor

'[rapport OEMO 95/14].

3.1

De opbouw van het program ma

Het programma TurboMon bestaat uit 5 forms (vensters).

Elk form en de daar bijbehorende

pro-grammacode wordt bewaard in files met een frm-extentie (*.frm). Daarnaast heeft dit

programma een module die wordt opgeslagen in een file textedit.bas. In tabel

1

is een lust

opgenomen van de belangrijkste files binnen TurboMon.

Tabel 1

De helangrijkste files van het progamma TurboMon.

Twee forms worden automatisch na het starten van het programma

opgeladen. Eerst verschijnt

het eerste form (monitor] . fl-m) met de naam van het programma en daarna

verschijnt het tweede

form (monitor2.frm) dat het hoofdforrn van het programma is. De andere forms kunnen vanuit

her hoofdform worden opgeroepen. Het form HelpForm kan ook wt het t'rmGraph form worden

opgeroepen.

Figuur 4 beschrijft het structuur van de forms binnen het TurboMon-programma.

Filenaam Objectnaam

MONITOR I .FRM

Monitor I (een form)

MONITOR2.FRM

Momtor2 (een form)

FR.MGRAPH.FRM

IrmGraph (een form)

ABOUTBOX. FRM

AboutBox (een form)

HELPFORM FRM

HelpForrn (een form)

(12)

Figuur 4

Het struktuur varrhet programma TurboMoo..

4ifittri

;;Fat4L;

...

; : . .

...

. :tt 1'; :';": I;

...

.

urboMon: Turbocharge Monitoring

start titel'

venster

c;ct

3;t7

1 ,...:g

serike tie

:

...

... . : .

StrinirP,Oirge

'h '

...

...

-"-I , ,

V1

one

!t f .

Fat:albeit Werktnigkurido chi Margit-es Ttisiggihbk

1

-it

Teceiniseine tinniersiantDawn "

Vat' OrnmereinShipping O.W.

....

Rotterdam

Figuur 5

De moriliorl Jbrm in designame

t. r' .' . help

venster

hoofd

venster about

venster

graph

venster

V A

(13)

3.1

Het monitor' form

Dit form verschijnt direct na het starten van het programma. Op het form staan eenaantal labels waarop de titel van het programma en andere informatie staat vet-meld. Daamaast is er ook een

timer control, die in design time

zichtbaar is, maar onzichtbaar wordt in run time. Door de

interval-property van de timer control in te stellen, kan de tijd van het opladen van

monitor2

worden geregeld. De interval-property is 2500. De eenheid is milliseconden, dat

wil zeggen na

2.5 seconden verschijnt het

monitor2-form Figuur 5 geeft het monitorl form

grafisch weer.

3.4.2

/let monitor2 form

Het monitor2-form is het meest belangrijke form, het hoofdform.'Figuur 6 geeft het monitor2

form grafisch weer. Op het form istaan onder

andere de volgende objecten:

29 labels. De tekst hiervan verduidelijIct het programma voorde gebruiker.

Bijvoorbeeld:

Het label met een itekst "RPM main engine" geeft aan dat de gebruiker in de

naast het label gelegen text box de waarde van

het motortoerental moet

24

text boxes.

Deze kunnen functioneren als een invoer- of uitvoerruimte.

Bijvoorbeeld:

De text box naast het label 'Delta P inlet

filter functioneert-als een invoerruimte

voor de variabele `drukval over

het filter'.

De text box naast het label 'Heat Transfer' functioneert als een ultvoerruimte van

de conditieparameter van de luchtkoeier, gebaseerd op

de warmteoverdracht.

3 command buttons (knoppen). Door het met een muis indrukken van eenodergelijke

knop, kan de gebruiker een ihandeling in gang zetten., Bijvoorbee Id:

Door de 'Compute' knop un te dnikken, geeft de gebruiker ten opdracht am-1.W

programma om alle conditieparameters te

berekenen.

Door het indrukken van de 'Store Data' knop verplaatst

het programma _able invoervariabelen en de berekende conditieparameters naar de tabel.

Door het drukken van de 'Graph' knop verschijnt de

grafiekvenster.

grid Dit is een tabel die functioneen als een mini-spreadsheed De grid worth

in dit

programma gebruikt als een database.

Alle in- en' uitvoerdata worden door het indrukken

van 'Store Data' in de grid

opgeslagen.

Aan dc bovenkant van het monitor2-form bevindt zich ook een

menubalk waarop een aantall

menu's verschijnen. Een menu kan worden geopend door

het aan te klikken of door de Alt-toets

vast te houden terwijI de onderstreepte

letter van het menu ingedrukt wordt op het toetsenbord.

In dit form zijn er 4 menu's. Elk menu bevat nog ten aantal items. In tabel 2 wordt een lijst van

menu's opeesomd met de bijbehorende items.

TurboMon : Turbocharge Monitoring

invullen.

(14)

FIPe lobo Duds sew anthou. variabals Dar Furl/ mellow WV loam es.gpow tusboalgo

RIR PRESSURE PM OAR

rain row OMR P MIR Mot

P ardor ilseme. burl .

...

. &MI TEMPERATURE c &pm mom 0111.0 cooler :410s molar PRESSURE RI BAR .41RIRP Nibs

TurhoAlmi : Turhochurge Monitoring

ar..1

Lft

MS TEMPERATUREalC { Defeo* mt. An= raw . . . .

Figuur 6

De monitor2 form in designiime

Tabel 2

De menu

op he!

monitor2 form

-COOLMOWATER TOWERATURE

Mom wan. mar Atm sew, cads

Menu's

Items Omschrijving

_

File New

!mak een nieuw file

Open open een file

Save As bewaar een tile als

Close

sluit de invoer van teksten af

Exit verlaat een file

Tabel Delete wis een1.,,esclecteerde lijn in de tabel

Insert voeg eenlijn in de tube!tussen

Print

druk de tabel af

Tools Compute bereken de conditieparameters van de mgevoerde geuevens Store sla de gegevens uit de tabel op

Graph open het u,raph-venster

Help Help open het help-venster

About... open het about-venster

1

OUNDITIEUI P METERS

Compels AI I asbesc

fiako

loom.= I I

Slurs Daft Al Row

T.

Rao

Conspresser Al liter

Gnsph

Pure. RAO. Al Flow

(15)

3,1.3

net

frmGraph form

Door de 'Graph' knop in te drukken,

verschijnt het frmGraph form. Op frmGraph staan een

grafiek, twee command buttons en een aantal option buttons. Bovenaan het

form is er ook eerE

imenubalk. Figuur 7 geeft de frrnGraph

grafisch weer.

Er zijni zeven soorten condideparameterS:

1, De condideparameter van de luchtkoeler, gebaseerd - de

warmteoverdracht (Heat Transfer)

- de

luchtstroming (Air Flow)

De conditieparameter van de compressor,

gebaseerd ow

- de

drukverhouding (Press. Ratio)

de temperatuurverhouding (Temp. Ratio)

De conditieparameter van de turbine,

gebaseerd 'op:

- de

drukverhouding (Press. Ratio)

de temperatuurverhouding (Temp. Ratio)

4 De condifieparaiiieter van het

Ituchtfiliter, gebaseerd op de hiehtsftoming.

:ph

Help!.

,.,.ertnl0

ral we Ir

CP caloalaked meth GbAA

0 Yet 4/ Na

Graphics of Condition Parameter r0 Ilea Fronde, in AnCoreer

0 AA Pew 6. Air Cooks.

Olio... Rae of Com1xutiii4

0 compressal

0

Peas flare, of twine

0

leap R aho alTubers

0 AlF1, Ae Faun

furboMon : furhocharge Monitoring

Print Graph I

' Close

FigOur 7

De lrmUraph.fortmin designinime

46

It'

to -Yaus Proven Y Y ereerbe S ticks op: -1 99 M.

(16)

TurboMon :

Turbocharge Monitoring

Afhankelijk van de gekozen optie, zal de grafiek het verloop laten zien van de

conditieparame-ters die zijn opgeslagen in de tabel op het monitor2 form. De gebruiker kan ook kiezen hoe het

verloop van de conditieparameters wordt berekend, met of zonder de GMA-methode. In totaal

kunnen er dus 14 gratieken worden getekend.

In tabel 3 wordt een aantal properties van de grafiek gegeven.

Tabel 3

Enkele belangrijke properties van de grafiek.

De eigenschappen van de y-as kunnen via text boxes in de frame 'Y-axis Properties'worden

ingesteld. 'Y Min' en 'Y Max' zijn respectievelijk de minimum en de maximum waarde van de

y-as. 'Number of ticks' geeft een aantal ticks in de y-as aan.

De x-as geeft het aantal meetdata aan dat in de grafiek wordt getekend. De x-as begint met 0,

dat wil zeggen de eerste meetdata (data in de eerste rij van de grid) als de 0-de meetdata in de

grafiek wordt getekend.

De gebruiker kan yang het frmGraph form teruggaan naar het monitor2 form door de 'Close'

knop in te drukken. Wanneer de 'Print Graph' knop wordt ingedrukt, wordt de grafiek afgedrukt.

De onder windows ingestelde printer wordt automatisch gekozen.

3.1.4

De AboutBox en het HelpForm

De AboutBox kan vanuit het monitor2 form worden aangeroepen, terwijI het HelpForm form

zowel vanuit het monitor2 form als vanuit het IrmGraph form kan worden aangeroepen.

De AboutBox bevat informatie over het programma TurboMon, terwijl het HelpForm form

informatie bevat over de wijze waarop men met dit program ma kan werken.

In titzuur 8 en 9 worden respectievelijk het AboutBox tbrrn en het HelpForm form weergegeven.

Object

Property

Setting

Graph

Name

Graph I

Background

White

Foreground

Auto Black/White

GridStyle

Horizontal

(17)

Figuur 8

De AboutBox form in runtime

TurboMon :

Turbocharge

Monitoring

About 1 orbobA on

1-14

rbo M on

Vet. ti ern

Piot-pain Ion Condition Monitcning of Tiorbochante

Wollen by WitnoAn.o Burvono

OK 1

CI Close

To compute the condition parameters you must followthe next steps Fill all text boxes with measurement data

Pros the 'Compute' button

To store the computed condition parameters press the 'Store Data' button

To Show Graphs, press the 'Graph' button

In the healty condition de condition parameters have een value as next: Heat Transfer in Air Cooler between 0.98 and1.02

Air Flow in Air Cooler between 0 85 and 1.1

Pressure Ratio of Compressor between 0 98 and1 02

Temperature Ratio of Compressor between 0.99 and 1.01 Pressure Ratio of Turbine between 0 96 and 1.04 Temperature Ratio of Turbine between 0.99 and 1 01 AI( Flow in Air Filter between 0.96 and 1./

I Close

Figuur 9

Helpl'Orm tortn in c/e.lgnhlrni'

1.

(18)

,3.2

De programmacode

Om alle objecten met elkaar te kunnen verbinden of een bepaalde lhandeling tekurtnen uitvoeren,

moeten de objecten worden geprogrammeerd. Men kan dit doen door

bepaalde codes aan de

venstercode toe te voegen.

In het programma TurboMon kan men

de conditieparameters, die gebaseerd

zijn op de

ingevoerde gegevens, laten berekenen door

de 'Compute' button in te drukken. Urn de handeling

te kunnen uitvoeren, moet de

'Compute' button geprogrammeerd worden ten

opzichte de

event. De programma ziet als volgt emit:

Sub cmdCompute_Click 0

CP_Cooler

CP_Compressor

CP_Turbine

CP_Filter

End Sub

De teksten achter (4) is een commentaar ter

verduidetijking

van de

programmacode.

Na het aanIclikken van de 'Compute' button zal het programma achtereenvolgens de conditiepa-rameters van de luchtkoeler, de compressor,

de turbine en het luchtfilter berekenen. De

bereke-ningsmethoden zijn beschreven in respectievelijk de procedures CP_Cooler,

CP Compressor,

CP_Turbine en CP_Fi ker. Ms een voorbeeld words de procedure 'CP_Filter hieronder gegeven.. Deze procedure is gelijk aan het datallow-diagram in

hoofdstuk 5.4 van

'Conditiebewalang van

een drukvulgroep bij een

tweetakt

diesel motor

'[rapport OEMO 95/14]L

Sub CF Filter 0

'AIR NITER

ronstanten

Cl= 10.390346

C2 = -37383275.184379

C3 = 3.4311387039267 * WA ,3

'Bereken de referentie weerstandcoefficient

Re = ReynoldAir_Filter()

'Reynoldsgetal wordt door de subroutine

ReynoldAir Filter berekend

PsiFiltref = .21

"De rejerenciewaarde van weerstandcoefficient

'Bereken de vartabelen van de input waarden

Tern p1 n =

Val( txtTem pAirRoom.Text)

'Temperatuur voor het luchtfilter:

PresAirRoom = Val(txtPresAirRoom.Text)* 100000

'Druk in tie machine kamer

PresAirFilt = Val(txtPresAirFilt.Text)* 100000

'Druk voor het luchtfiher

"Bereken de uctuele weerstandscoefficient

PsiFiltact = 2 * PresAirFilt * PresAirRoom /(287 * (273 + Ternp1n);* AirFlow() A 2)

TurboMon : Turbocharge Monitoring

'Na click op de 'Compute knop words subroutine gestart

Were ken de conditieparameters van de luchtkoeler

'Bereken de conditieparameters van de compressor

'Bereken de conditieparameters van de turbine,

'Bereken de conditieparameter van het luchtfilter

(19)

klik-'Bereken de condtteparameter van het luchtfilter

CoParFilt

= PsiFiltact / PsiFiltref

Display de coruhtteparameter op het

scherm

txtCP Flow Filter.Text = CoParFilt(&

End Sub

Na het berekenen van de conditieparameters kunnen de invoervariabelen en de

conditiepara-meters in het grid bewaard worden door de 'Store Data' command button aan te

klikken. In

figgur I I wordt het grid met bewaarde data weergegeven.

De programmacode ziet er als volgt

uit:

Sub Store_Data

0

73ewaar data in

de label

gridl.Col = 0

grid 1.Text = txtday

txtday = ""

gridl.Col = 1

grid 1.Text = CoPa r_H eat*

txtCP_ Heat_ Cooler

= ""

grid 1.Col = 2

grid 1.Text = CoPar_Flow*

txtCP_Flow_Cooler =

End Sub

Door het aanklikken van de 'Graph' command button verschijnt het frmGraph form. Op dit form

zijn twee frames met een aantal 'option' buttons te zien. De optic buttons bepalen welke

condi-tieparameters er in de grafiek zullen worden getekend. Hieronder is een voorbeeld van de

proerammacode van de optic button.

Sub

Flow_Firter 'Graph

0

'Procedure voor het tekenen van de conditieparameters van het I

uchtfi lter in de irsafiek

'zet de eigenschappen van de grafiek

Graphl.DrawMode = 1

'Hits de eerder getekende grafiek

Graph 1.Data Reset = 9

'Reset ulle data van de grufiek

Graph l.SymbolData = 3 'Bepaul de symbol voor data

Graphl.NumSets = 1

'Het cranial data set is I

TurhoMon :

Turbocharge

Monitoring

'Bewaar data van de 'txtDay' text box in de nulde

kolom

'Muakt de 'txtDay' text box leeg

'Bewaar CoPar Heat@ in de eerste kolom

'Maakt de `txtCP Heat _Cooler 'text box leeg

'Bewaar CoPur Flow@ in de eerste kolom

'Maakt de 'txtCP Flow _Cooler' text box leeg

(20)

Graphl.NumPoints = monitor2.Gridl.Row

'Het auntul data is gehjk aan het uuntal

rijen in grid

monitor2.Gridl.Col = 7

'Verwys 'war kolom 7, de conditiepurameter van het luchtjiher

TurhoMon : Turbochurge Monitoring

'Teken de conditieparameters in de grafiek

For a = 1 To monitor2.Gridl.Row

monitor2.Gridl.Row = a

'Verwijs naur rij a

Graph 1 .G raphData = Val( mon itor2.Grid 1 .Text)

Next

Neem de waarde van de verwijsde

eel van de grid (rij u, kolom7) als

de a-de data voor de grafiek

'Geef de grafiek tales

Graphl.GraphTitle = "Air Flow in Air Filter"

`Geef de grafiek

een tile!

Graphl.BottomTitle = "Number of Data"

'Gee/. de gruliek een Mel

vow.

de x-as

Graph 1.DrawMode = 2

'Teken de grafiek

Graphl.Visible = True

'Maak de grafiek :ichibaar

End Sub

De complete programmacode van TurboMon wordt weergegeven in bijlage 3.

4

Werken met TurboMon

TurboMon is een bewakingsprogramma dat alleen kan worden gebruikt voor het onderzochte

drukvulgroepsysteem. Na het uitvoeren van enkele aanpassingen kan het echter ook op andere drukvulgr, oepsystemen worden toegepast. In dit verband wordt verwezen naar het rapport OEMO 95/14.

TurboMon is een programma dat werkt in een Windows-omgeving. Het bestaat uit een aantal

files, waaronder:

- textedit.bas

- gswdll.d11*

- vbrun300.d11* ver. dl 1 * - ctsw.exe *

mon i tor4 exe

aboutbox.frrn

- frmgraph.frm

helpforrn frm

monitor I.

frm

mon itor2. frm

mon i tor4. mak

cmdialog. vbx*

- graph.vbx *

- grid.vbx *

threed.vbx *

(21)

-Om het programma soepel te laten draaien, wordt aanbevolen om de files zonder s' in een

subdirectory (by. TURBOMON) onder te brengen en de files met * te bewaren in een

subdi-rectory WINDOWS\SYSTEM. Hiema kunnen

door middel van standaard Windows-handelingen

voor het programma een nieuwe groep

worden gemaakt. Voor de -command line' wordt

moni-font exe gebruikt.

4. I

Bet starten

Het starten van het programma kan gebeuren

door het aankl'ikken van het icoon van TurboMon

of door het aanklikken van het file monitor4.exe in de File Manager van Windows.!

Direct na het starten verschijnt er een venster met de titel van het programma (figuur [10). Na 2.5

seconden verdwijnt dit venster en verschijnt er een

nieuw venster, de hoofdvenster.

I nolmlAmp. jLliqmpu M.7111. ,,,,, 'Our lip;'.,,, 1:11,4C.A..44.:41/10

trIge4,34;;P.V57;"

r

1

..;. 14:24:1.,..ly-5st."CO'CrYS'el.>..

nAtfty kel> lb 4

i.6:421-11";rdAti,.

%.fett,,W .94

..

WI 1.11:4ti:;/* %(.fAtX....e '7,4e tee., Nig.111.

Figuur 10

Dc ritlevenster (monitor! limn) (nide runt tme

42

Bet invoeren, en bewerken van data

het hoofdvenster (figuur II) bevinden zich een paar text boxes waarin de gebruiker de

gemeten variabelen kan invoeren. Alle temperaturen worden aangegeven in graden Celsius,

terwijI de druk uitgedrukt wordt in bar. Alle variabelen dienen correct te worden ingevuld,

aangezien het programma anders een foutmelding geeft.

TurboMon : Turbocharge Monitoring

e :46Abriiiiik:4,;.H4Sri-

thif.1.0Mit

netiniscwa's.i.t.ttheaeato'

101n,:ommecen Stalinine

Condition

VakgrooP

Factined

B.V.

In

(22)

[lie babel jools deIg

All as these relabels _ . .. ... . . ... .

TurboMon : rurbocharge Monitoring

Als alle invoervariabelen zijn, ingevoerd kunnen de conditieparameters van de componenten

worden berekend. Dit gebeurt door het indrukken van

de 'Compute' knop of via het Tools-menu,

optic

Compute. De berekende conditieparameters

verschijnen in de text boxes van het

Conditionparametee frame.

muinivnipu: r7.1

Figuur ii

De hoofdvenster (monitor2 form)

de runiimer

Wanneer de 'Store Data' knop wordt ingedrukt, verplaatst het programma

alle invoervariabelen,

en de berekende conditieparameters naar de tabel. Op het scherm zijn ableen 8 kolommen en 91

rijen van de tabel te zien. Om alle bewaarde data it kunnen bekijken, gebruikt men de

horizontale en verticale scrollbars. Ms men alleen den rij data wit bekijken, kan men Mk data

van de rij in de text boxes terugzetten door de gewenste rij dubbeli aan it klikken.

Om alle data in de tabel te bewaren, is

de optic

Save As in het File-menu beschikbaar. De data

worden dan in een ASCII-file met de extensie *.TXT bewaard. Later ,kan dit file weer geopend

worden via de optic Open van het File-menu. Voor het maken van een nieuwe file, kiest men

de optie Nieuw in het File-menu.

De optic

Close dient voor het leegmaken van de text boxes en

dc optic Exit voor het verlaten van het TurboMomprogramma..

Wil men de tabel bewerken, dan wordt Table-menu gebruilct.

De optic

Delete is voor het vvissent van een geselecteerde rij en de optic

Insert is voor het tussenvoegen van een rij. De optic Print

worth gebruikt voor het afdrukken van de iinhoud van de label

P t. (kap Compate: Al Al Flow

iVas

ca

I012

Ileenscm Ins& Poem.

Tows Rat aMie odk Data t 9995 fimom] r II 9 TEMPERATURE NI Ens! I CD. Cad

Heal CP CatFlow

CP Cassia"

Tow

ail

Taw. CP Film

Upon teen 130 liss 149 9925 8494 1.0157 1.0013 1.0329 I 0035 9911 1.0403 1,0143 1.0051 1.0114 .9981

nfl

1.0011 18201 1.0456 1 0495 1 0226 1 0098 1.0418 1 0029 1.0099 100 9166 9252 MAll I 0037 liggiPRESSUREJIM

r, Ritmo Nebo (102

MIN

1.0021 1.0402 99196 9967 1 0148

1

'Mire Mean jam 100251.002 1,04361 0482 .1971.01815 .9912.9982

T 0097 OMNI 1 017 t7 C , CUOUNGWATER TEMINFIATURE IN CTh GAS TEMPERATURE IN C :-Ilay ITAs mom 1 II Belem babe IQ° 1

Rabe ma. ;mew 131 1

1 6 2 MIA gumbo I 2E8 1 IAles maw. cook/ 1

I flP114 suit tosts 190 19703 CONDITIOMPARAMETERS Canis: campU MIN PRESSURE IN Oa Steno Date RAM Tinier AIR.. Press Rads Tem, Pahl. kmenot RPM

l8

fi 01 1 g9i4 110473I 19943 1

RAM. P Wet Alter

I clon C in CP. CP. 2613 4022 1/4 9964 001 .9935 9991 9934 9962 6/4

(23)

4.3

De gratiek

Door op de 'Graph knop te drukken verschijnt er een nieuwe venster, het grafiekvenster

(figuur

12). In dit venster staat een graph, waarbij men kan kiezen uit een aantal opties. Zodoende kan

men selecteren welke conditieparameters er getekend worden en op welke wijze dit dient te

geschieden. Als wordt de conditieparameter getekend van de luchtkoeler, gebaseerd op de warmteoverdracht.

TurhoMon : Turhocharge

Monitoring

,.1114111. I 0111100,

Edit Kelp

0 TOWS Reba of Tunes o Ay Floor Aft [am

rYamo Plopalues Y Min Y Nay Ilikmolbor al Ticks [P.m! Grew*/ I Close

Figuur 12

De grufiekvenster

mOraph

Petra

in de runtime

De eigenschappen van de v-as kunnen via de text boxes in de frame 'Y-axis Properties' worden

ingesteld De default waarde voor 'Y Min' is 0.8, voor 'Y Max' is 1.2 en voor Number of

Ticks' is 8.

Het verloop van de conditieparameters, berekend door middel van de GMA-rnethode, kan

vvorden getekend door de optic 'Yes' te kiezen in het frame 'CP calculated with GMA's Alvorens

de gewenste conditieparameter aan te klikken, diem eerst de 'Yes' optie te worden eekozen.

Door het Help-menu' op te roepen, verschijnt het helpvenster, waarin men inforrnatie

ndt

voor de beoordeline van de conditieparameters.

De opdracht om de grafiek af te drukken met een printer wordt geeeven door de 'Print Graph'

knop in te drukken. Be 'Close' knop maakt het mogelijk om terug te keren naar het

hoofd-,enster.

CP calta.haled Au& GINA --i

*Y..

Quo

[

Air Flow in Air Cooler with GIVIA

1 10

-Graphics ofCondition Parameter

OS

0

Nem trends ANCOOMI

I- loos in A. Look.

o MIMI nano of Comprento

1 00

limp Rano of COMpframi 0 95

Pm,. Hobo of I orb..., 0 90

I-

I 1 O 85 0 80 4 4 0 2 3 4 5 6 7 Number of Data

Default

0-0

(24)

5

Conclusies

TurboMon is een gebruikersvriendelijk prommma voor het conditiebel,vakingssysteem van een

drukvulgroepsysteem.

Dat wit

zeggen dat men met weinig computerkennis moeiteloos met dit

programma

kan werken en eenvoudig een diagnose kan stellen met betrekking tot het

drukvul-groepsysteem.

TurboMon geldt alleen voor het onderzochte drukvulgoepsysteem,

dat wit

zeggen het

drukvul-groepsvteem aan boord van M.V. Monterey van Van Ommeren

Shipping

B.V. Men kan

wet

dit

programma evenwel op andere drukvulg,roepsystemen toepassen, maar dan dient eerst een aantal

parameters worden aangepast door middel van het tunen van meetdata. De methode die hierbij

gebruikt kan worden is reeds beschreven in

'onditiebewaking van een drukvulgroepsysteem

by een tweetakt these/motor

'(Rapport OEMO 95/14).

Belangijke aanbevelingen die hier kunnen worden ilenoemd om het programma in de toekomst

te verbeteren o.a.:

Het automatisch uitrekenen van de referentieswaarden via by. een referentie form

waarmee de gebruiker eenvoudig met gebruik van nauwkeurige nieuwe data een beter

model kan maken of het programma aan een andere drukvuluoepsysteem kan toepassen.

Het toevoegen van trendanalyse/predictie om te voorspellen

wanneer een

conditiepara-meter ontoelaatbaar wordt.

(25)

6

Referenties

Buwono, 1996

W.A. Buwono: "Conditiebewaking van een drukvulgroepsysteem bij een twee-takt dieselmotor",

Rapport OEMO 95/14; Technische Universiteit Delft.

Gerrit Bruijnes, 1995

G. Bruijnes: "Basiscursus Visual Basic 3 voor Windows", Academic Service, Schoonhoven,

Gerrit Bruijnes, 1995

G. Bruijnes: "Visual Basic 3 voor Windows voor gevorderden"Academic Service. Schoonhoven.

(26)

BIJLAGE I: BELANGRIJKE TERMEN IN VISUAL BASIC

1.1

Controls

De toolbox van de Professional Edition van Visual Basic telt 39 gereedschappen, een aanwijzer

en 38 tekengereedschappen, de

controls.

Hieronder worden een paar belangrijke controls beschreven:

Command button

Command 3D

Common dialog

control

De pointer

Frame

Frame 3D

Graph

control

Grid

control

Label

l'urboition

Turbocharge

Monitoring

Een command button is een knop die in een venster afgebeeld

!kali

worden en waar tekst (caption) in geplaatst kan worden. Door

met de muis de knop in te drukken, kan een gebruiker van het

programma een handeling in gang zetten.

De driedimensionale versie van een commmand

button(

knop).

Met common dialog control wordt voorzien in een aantal

stan-daard dialoog,vensters die gebruikt kunnen worden

voor

handelin-gen zoals het openen, het bewaren of het afdrukken van

be-staanden of voor het instellen van het lettertype of kleuren.

Voor het aanvvijzen van het form ulier of een object in het

formu-lier om het te kunnen manipuleren.

Een frame is een omkadering waarbinnen een aantal andere

knoppen, buttons, zou kunnen worden geplaatst.

De driedimensionale versie van een frame

Met behulp van de Graph control koppelt men in een ommezien

een grafiek aan een programma. Er zijn ruim tien verschillende

typen gsafieken in allerlei stijlen beschikbaar.

Met grid control kan een soon mini-spreadsheet in

een

form tiller

geplaatst worden. Men kan zelf bepalen hoeveel rijen en

kolom-men dit raster moet hebben. Waar een rij en eenkolom elkaar

snijden, is sprake van een eel. Dc inhoud van een eel kan door het

programma bepaald worden. Dit gereedschap wordt gebruikt om

groepen gegevens onder elkaar te plaatsen.

Dit gereedschap heeft een functie als een label

van een koffer.

Binnen een labelruimte kan tekst worden

aangegeven. De tekst

diem als verduidelijking voor de gebruiker van een programma.

(27)

TurhoNfon

Turbocharge

Monitoring

Option box

Keuzerondjes worden binnen Windows-applicaties gebruikt om

bijvoorbeeld uit een rijtje een onderdeel te kiezen.

Option 3D

De driedimensionale versie van een keuzerondje.

Panel 3D

In een panel kan men een heel regelpaneel onderbrengen.

Text box

Een tekst box is een ruimte waarin de gebruiker van het

program-ma dat worth geprogram-maakt, tekst kan typen. Een text box wordt dus

gebruikt voor invoer vanaf het toetsenbord. Ook kan tekst,

bij-voorbeeld uitkomsten van berekeningen, in een text box

afge-drukt.

Timer control

1.2

Opdrachten

Visual Basic kent verschillende opdrachten. In het volgende overzicht wordten de opdrachten

kort beschreven:

Addltem,

Het beheren van de inhoud van een lust of een combo box.

RemoveItem

ChrS,Chr

Geeft de ASCII-waarde van een teken of van het eerste teken uit een tekenreeks.

Close, Reset Voor bet afsluiten van een bestand.

Dim, Global

Voor het declareren van variabelen,

Do...Loop, For...Next

Voor het herhalen van bewerkingen.

End, Unload

Voor het verlaten van een programma.

EOF, FreeFile

Geven nadere informatie over een bestand.

Exit Function, Exit Sub

Om voortijdiv, een functie of procedure te verlaten.

,Fu nction...End Function

\Thor het definieren van een functie of procedure.

Sub...End Sub

De timer kan wet getekend worden, maar is in

runtime-omstan-diOeden, dus als het program ma werkt, onzichtbaar. Via proper-ties-venster bar kan ervoor gezorgd worden dat na een bepaalde tijdsduur de timer afloopt en dat er dan een stuk programmacode

uitgevoerd wordt.

(28)

TurhoMon

Turbocharge Monitoring

Voor het nemen van beslissinp,

Select Case

Input, InputS,

Urn gegevens uit een bestand te lezen.

Input, Line Input#

Load, Unload

1-Jet in het geheugen laden of verwijderen van objecten.

Move

Voor het verplaatsen van een object.

MsgBox

Voor het

toner(

van dialog boxes.

OnError

Afvangen van een foutmelding.

Open

Voor het benaderen of creeren van een bestand.

Print

Voor het afdrukken naar de printer.

Print#

Om naar een bestand te schrijven.

Refresh

Inhoud bijhouden van een lijst binnen een object.

Show,

'Tom!

van objecten.

1.3

Events

De objecten in Visual Basic kennen verschillende events (gebeurtenissen). Elke event kan

aanleiding geven tot een tak die door het program ma moet worden uitgevoerd. Niet elk object

heeft dezelfde events, omdat alle objecten verschillende, specifieke eigenschappen hebben.

De volgende lijst geeft enkele events:

Activate

Activate komt voor als een formulier het actieve formulier

worth.

Change

De inhoud van een object is veranderd.

Click

Het

object wordy

aangeklikt.

DbIClick

Op het object wordt dubbelgeklikt.

Key Press

Er wordt een toets ingedrukt I.,,ehouden terwijl het betreffende

object in focus is.

(29)

Paint

Een 'dee!

van de form of de picture box wordt zichtbaar

teni4evolge van een sleepactie.

Resize

Timer

Unload

1.4

Properties

De verschillende objecten bezitten een diversiteit aan eigenschappen ( properties). Welke

eigen-schappen een

object heat,

wordt bepaald door het type object. Niet alle eigenschappen gelden

dus voor elk object.

Daar komt nog bij, dat bepaalde eigenschappen alleen onder runtime-omstandigheden

voorhan-den zijn.

Hieronder wordt een verklaring van een paar eigenschappen, die in TURBOMON

worden

gebruikt, gegeven:

ActiveControl

Het in focus zijn van een object.

ActiveForm

Het in focus zijn van een form.

Align nent

Het aanlijnen of centeren van tekst binnen een label.

BackColor

De achtergrondkleur van een form

BorderStyle

De begrenzing rond een form, label, picture box of text box.

Cancel

Toekennen van de annuleereigenschap aan een command button.

Cancel Error

Het indrukken van de

Annul eer-knop

geeft een foutmelding.

Caption

Het opschrift van een object.

Col

Bepaalt met Row de active cel in een Grid.

Cols

Geeft aantal kolommen in een Grid.

ColWidth

Bepaalt de kolombreedte (in twips).

Default

Standaardeigenschap van een commmand button.

Turbo Mon : Turbochurge A4enttaring

De grootte van een form wordt veranderd. Deze event komt ook

voor wanneer een form voor het eerst zichtbaar wordt gemaakt.

Het ingestelde tijdsinterval is bereikt. Deze event komt alleen

voor bij het object Timer.

(30)

Filter

Izirholion : Turbochurge Monitoring

Geeft een tekenreeks die in een titlebalk van een dialogvenster

getoond wordt.

Bepaalt de verschijning van de uitvoer van de grail

opdracht

of de verschijning van een form of lijn.

Geeft de lijnstijI voor grafische uitvoer.

Beschikbaar zijn van toets- en muis-event aan een object.

Selectie van een bestand binnen de filr list box.

Geeft de naam van het bestand dat geopend of opgeslagen mod

worden.

Een Filter bepaalt het type bestanden dat in een bestandlijst van

een dialoogvenster zichtbaar moet zijn worden, bijvoorbeeld

*.TXT.

Filterindex

Geeft een standaard Filter aan.

FixedCols

Bepaalt samen met FixedRows het totaal aantal kolommen en

rijen dat Qebruikt wordt voor titles.

FixeRows

Zie FixedCols

FontName

Kiezen van een lettertype

FontSize

Lettergrootte

ForeColor

Voorgrondkleur van een object.

GridLines

Geeft aan of de lijnen tussen cellen in een Grid zichtbaar zijn.

Height

Hoogte van een object.

Interval

Tijdsinterval van het object Timer.

Left

Horizontale plaats, vanaf links gerekend, van een object.

MultiLine

Weergeven van tekst over meer dan een regel binnen een text

box.

Name

Unieke naam van een object, een groep objecten of een forrnulier.

DialogTitle

DrawMode

DrawStyle

Enabled

FileName

FileTitle

(31)

TurboMon : Turbocharge Monitoring

Row

Zie Col.

Row Height

Bepaalt de hoogte van een rij cel len in een Grid.

Rows

Zie Cols.

ScaleHeight

Bepaalt samen met scaleWidth de eenheid voor horizontale en

verticale meting van objecten.

ScaleWidth

Zie ScaleHeight.

Tablndex

De tab-volgorde van objecten.

Text

Toekennen van tekst aan een combo box, list box of text box.

Value

Toekennen van een waarde aan een object.

(32)

BIJLAGE II:

VARIABELENLIJST

Hieronder is een lijst van variabelen die in de programmacode van TurboMon worden

gebruikt en de benaming daarvan in het vierdejaarverslag.

CoPar_Heat

CoPar Flow

CoParCP

Turbo Mon

Tiirhochurge Monitoring

Luchtdichtheid in luchtkoeler

Luchtdichtheid in luchtfilter

Luchtdichtheid in luchtreceiver

Massastroom lucht

Warmtegeleidingscoeff. van lucht in

luchtkoeler

Soortelijke warmte van lucht

Gemiddelde luchttemperatuur in de

I uchtkoeler

Dynamische viscositeit van lucht in

de II

uchtkoeler

Dynamische viscositeit van lucht in

luchtfilter

Warmtedoorgangsgetal van lucht *

warmteoverdragendoppevlak in de

luchtzijde van koeler

Warmtedoorgangsgetal van water *

warmteoverdragendoppevlak in de

waterzijde van koeler

Conditieparameter van luchtkoeler,

gebaseerd op warmteoverdracht

Conditieparameter van luchtkoeler_

gebaseerd op stroming

Conditieparameter van compressor.

gebaseerd op drukverhoudirw

In de programmacode van

In het

Omschrijving

TurboMon

ierdejaarverslag

AirDensity_Cooler

Pl.k

AirDensity_Filter

PIS

AirDensity Receiver

pin

AirFlow

niLl

AirHeatCond_Cooler

Al.k

AirSpecHeat_Cooler

Cpt

AirTempi Cooler

TI.k

AirVisco Cooler

Air ViscoJil ter

Tbr

AlphaA Air

k*A,k

(33)

hirhoMon : Turbocharge Monitoring

Conditieparameter van compressor,

gebaseerd op temperatuurverhouding

Conditieparameter van turbine,

gebaseerd op drukverhouding

Conditieparameter van turbine,

gebaseerd op temperatuurverhouding

Conditieparameter van luchtfilter,

De actuele drukverhouding van

compressor

De referentie drukverhouding van

compressor

De actuele temperatuurverhouchng van

compressor

De referentie temperatuurverhouding

van compressor

De actuele drukverhouding van turbine

De referentie drukverhouding van

turbine

De actuele temperatuurverhoudint; van

turbine

De referentie temperatuurverhoudint;

van turbine

De drukval van lucht over luchtfilter

Luchtdruk in de machinekamer

De actuele gemodificeerde

weerstand-coefficient van luchtfilter

De referentie tlemodificeerde

weer-standcoefficiC:nt van luchtfilter

Revnoldseetal van

I uc ht

Reynoldsgetal van water

De actuele temperatuur lucht na koeler

CoParCT

CoParTP

CoParTT

CoParFi It

PiCPact

TCc.p. actueel

PiCPref

rte.'''. relen.-nhe

PiCTact

nc.T. actued

PiCTref

Ttc.T. relerenne

PiTPact

nt.p. aciuml

PiTPref

nt.p. refercnne

PiTTact

actucel

PiTTref

I relerentie

PressAirFilter

6,131.!

PressAirRoom

Phnk

PsiFiltact

Cr.:wooled

Psi Fl ltref 41'f. relcrentie

Re _Air

Re

Re Water

Re

(34)

Temp_ ACooler _ref

WaterDensity_Cooler

WaterFlow

WaterHeatCond_Cooler

TurboMon : Turhochurge Monitoring

De referentie temperatuur lucht na

koeler

Warmtegeleidingscoeff van water in

luchtkoeler

Massastroom water

Warmtegeleidingscoeff van water in

luchtkoeler

WaterSpecHeat_Cooler

Cp,

Soortelijke warmte van water

WaterTemp_Cooler

c

k

Gemiddelde watertemperatuur in de

luchtkoeler

Dynamische viscositeit van water in de

luchtkoeler

De actuele gemodificeerde

weerstand-coefficient van luchtkoeler

De referentie gemodificeerde

weer-standcoefficient van luchtkoeler

WaterVisco Cooler

1.1% k

weerstand_act

L.Actucel

(35)

TurboMon : Turhocharge Monitoring

BIJLAGE ELM

DE PROGRAMMACODE VAN TURBOMON

MONtTOR1.FRM

Sub Timerl_Timer H

If Monitorl.Visible = True Then If Timerl.Interval = 2500 Then Monitorl.Visible = False Monitor2.Show Modal End If End If End Sub 440NITOR2.FRM 'Defineer de variabelen

Dim CoPar_Heat@ 'Conditieparameter van de luchtkoeler gebaseerd op de warmetoverdracht

Dim CoPar_Flow@ 'Conditieparameter van de luchtkoeler gebaseerd op de stroming

Dim CoParCP@ 'Conditieparameter van de compressor gebaseerd op de

drukverhouding

Dim CoParCT@ 'Conditieparameter vary de compressor gebaseerd op de

temperatuurverhouding

Dim CoParTP@ 'Conditieparameter van de turbine gebaseerd op de.

drukverhouding

Dim CoParTT@ 'Conditieparameter van de turbine gebaseerd op de

tempera tuurverhouding

Dim CoParFilt@ 'Conditieparameter van de luchtfilter gebaseerd op de

stroming

Function AirDensity_Cooler (4

'Bereken de luchtdichtheid in de luchtkoeler

PresIn = (Val(txtPresAirTrun.Text) + Val(txtPresAirCool.Text4 + Val(txtPresAirRoom.Text)) * 10 5

TempIn = Val(txtTempAirBCool.Text)

AirDensity_Cooler = PresIn / (287 * 1273 + TempInfi

End Function

Function AirDensity_Filter (4

"Bereken de luchtdichtheid in de iuchtfilter

DrukIn = (Val(txtPresAirRoom.Text) - Val(txtPresAirFilW * nm000

TempIn Val(txtTempAirRoom.Text)

AirDensity_Filter = DrukIn / (287 ' (273 -- TempIn))

End Function

Function AirDensity_Receiver ()

'Bereken de luchtdichtheid in de luchtreceiver

= OialitxtPresAirirun.Text) + Val(tXtPresAirRoom.Text)/ * 101 5

T - Val(txtTempAirACool.Text)

AirDensity Receiver = P / (267 + 273H

.End Function

(36)

EurboAlon : Turbochurge Monitoring

Function AirFlow () 'Massastroomlucht schatter 'Constanten Cl - -180.3909881277 C2 = 3.3248567926177E-03 C3 = -4.7085346560598 10 A =9

'Bereken de druk in de receiver

Pr = (Val(txtPresAirRoom.Text) + ValCtxtPresAirTrun.Text)) * 100000 'Bereken de massastroomlucht Li - AirDensity_Receiver0 12 = Cl + C2 * Pr + 0 * Pr A 2 L3 - Li * 12 Airflow = Sqr(L3) End Function Function AirHeatCond_Cooler

"Bereken de warmtegeleidingscoefficient an de lucht in de luchtkoeler

T AirTemp_Cooler0

AirHeatCond Cooler = 2.423 * 10 A -2 + C7.637 * 10 A -5 * TA - (14583 *Z

TO A -7 * TA 2) + (1.115 * 10 A * T 3)7

End Function

Function AirSpecHeat_Cooler 0

"Bereken de soortelijke warmte van de lucht in de luchtkoeler

T = AirTemp_Cooler()

AirSpecHeat_Cooler = 1005 + 6.106 10 A -3 * T + 5.073 * 10 A -4

4: TA

2

2.213 10 A -7 * T A 3

End Function

Function AirTemp_Cooler ()

"Bereken de gemiddelde 1uchttemperatuur in de luchtkoeler

AirTemp_Cooler = (Val(txtTempAirBCool.Text) + Val(txtTempAirAfool_Textil

/2

End Function

Function AirVisco_Cooler

'Bereken de viscositeit van de lucht in de luchtkoeler T = AirTemp_Cooler()

AirVisco_Cooler = + 4_41 * 101 A -2 * T) 10. A -6

End Function

Function AirVisco_Filter 41

'Bereken de viscositeit van de lucht in de luchtfilter TempIn = Val(txtTempAirRoom.Text)

AirVisco_Filter = (17.42 + 4.41 10 A -2 * Temp/n4 * 10 A =6 End Function

Sub cmdCompute_Click ()

'Bereken de conditieparameters

On Error GoTo errhand1r3 'Als er een tout optreedt go near errhand1r3

CF Cooler 'Doe procedure C? Cooler

CP_Compressor 'Doe procedure CP_Compressor CP_Turbine 'Doe procedure C? Turbine CP_Filter "Doe procedure C? Filter

errhand1r3:

Exit Sub "Als er een fout optreedt worth niks gedaan End Sub * () = -9 * - * (17.42 *

(37)

Sub cmdGraph_click ()

INaakt de frmgraph form verschijnen

frmgraph. Show

End Sub

Sub cmdStore_Click ()

'Bewaar de gegeven in de tabel menFileItem(3).Enabled = True gridl.Row = 1 gridl.Col = 1 For a = 1 To 50 If gridl.Text = "'" Then Store Data Exit Sub Else gridl.Row = gridl.Row + I End If Next End Sub Sub C? Compressor 'COMPRESSOR

'Conditieparameter van Compressor gebaseerd op de drukverhouding

'"Calculate variables from the input values

TempIn = Val(txtTempAirRoom.Text) 4 273 Temperatuur voor de Compressor

TempOut = Val(txtTempAir8Cool.Text) + 273 "Temperatuur na de Compressor

nTurbo = Val(txtRpmTurbo.Text / 60) 'Turbo

rotatie per second

PresIn = Val(txtPresAirRoom.Text) - Val(txtPreSAirFilt.Text1 "*Druk voor

de Compressor

PresOut = Val(txtPresAirTrun.Text) + Val(txtPresAirRoom.Text1 + Val(txtPresAirCool.Text) 'Druk na de Compressor

IGemodificeerde toerental van de turbocharge

4 n300 = nTurbo * (300 / TempIn) A (1 / 24

'Contanten

Cl = 8.2000262 C2 = -.107247 C3 = .0004605

\Bereken de actuele en de referentie drukverhouding

PiCPref = Cl

t

C2 ' n300 + C3 w n300, A 2 'the reference pressure ratio, PiCPacc. = PresOut / PresIn 'the actual pressure ratio "Conditieparameter, gebaseerd op de drukverhouding

CoParCP@ = PiCPact / PiCPref

"CondiLieparameter van de Compressor gebaseerd op de temperatuurverhouding

Cons tans

'TurboMon

Turbocharge Monitoring

"Bereken de actuele en de referentie temperatuurverhouding

PiCTref = C4 + Ch * n300 + C6 * n300 * n300 PiCTact = TempOut / TempIn

C4 C5 C6 = = = .96638 -.00011 1.956 ' 10 ' =5 ()

(38)

'Conditieparameter, gebaseerd op de temperatuurverhouding CoParCT@ = PiCTact / PiCTref

'Display Conditieparameters op de scherm txtCP_Press_Comp.Text = CoParCP@ txtCP_Temp_Comp.Text = CoParCT@ End Sub Sub CP_Cooler IN 'AIR COOLER 'Constants D = 02 'Koelwaterpijpdiameter = 1 'Koelwaterpijplengte n = 500 'aantal koelwaterpijpen a = 2 laantal koelwaterpijpdoorgangen 'Bereken de referentie warmtedoorgangsgetal

re water = WaterFlow() / WaterVisco_Cooler0 * 4 * a / )(3.14 * D n)

Pr = WaterVisco_Cooler() * WaterSpecHeat_Cooler1) / WaterHeatCond_Cooler0

AlphaA_Water = WaterHeatCond)Cooler01 / D * _012 * (re water .187 - 2801

* Pr ' .4 * (3.14 * D * L * n)

re Air = AirFlow() / AirVisco_Cooler()

AlphaA_Air = AirHeatCond_Cooler() * (-209806.13182073 + 1.5448997846664 *

re_Air - 6.1729197752124 * 10 ' -9 * re Air ' 2) IC_ref = 1 / (1 / AlphaA_Water + 1 / AlphaA_Air)

'tees de temperaturen uit de invoer ti = Val(txtTempAirBCool.Text)

t2 Val(txtTempAirACool.Text) t3 = Val(txtTempWaterBCool.Text)

t4 = Val(txtTempWaterACool.Text)

'Bereken de referentie luchttempetuur na de koeler

Temp_ACooler_ref = ti + (2 * (t3 - ti)) / (1 + (AirFlow() *

AirSpecHeat_Cooler()) / (WaterFlow() * WaterSpecHeat_Cooler()) + (2 4,

AirFlow() * AirSpecHeat_Cooler()) / K_ref)

'Conditleparameter van de luchtkoeler gebaseerd op de warmteoverdracht CoPar_Heat@ = t2 / Temp ACooler_ref

'Air Flow

Lees de variabelen uit de invoer delta = Val(txtPresAirCool.Text)

P air = (Val(txtPresAirRoom.Text) + vali(txtPresAirCool_Text) + Val (txtPresAirTrun) ) * 10 ^ 5

weerstand ref - 5

'13ereken de referentke weerstandcoefficient

weerstand_act = 4 * delta * 10 ' 5 * Pair ; / (287 * 046. +)tc:1 t2,1 *

(AirFlow()) ' 2)

CoPar_Flow@ = weerstand act / weerstand_ref "Display Ccnditieparameters op de sonerm

txtCP_Heat Cooler.Text = CoPar Heat@

tztCP_Flow_nr)r1Pr.Te:ct CoPar_Flow@ End Sub

ThrboMon : Turhochurattlonitorin

L * = + =

(39)

Sub CP_Filter i() 'AIR FILTER 'Constanten Cl = 10.390346 C2 = -37383275.184379 Ca = 3.4311387039267 * 10 A 13

"Bereken de referentie weerstandcoeffcient

Re = ReynoldAir_Filter() 'Reynoldsgetal of air PsiFiltref = .21

'Bereken de variabelen uit de invoer

TempIn Val(txtTempAirRoom.Text) *the temperature before the air

filter

PresAirRoom = Val(txtPresAirRoom.Text@ * 100000 "the pressure

before the air filter

PresAirFilt = Val(txtPresAirFilt.Text4 * 10000.0

*Bereken de actuele weerstandcoefficient

PsiFiltact = 2 * PresAirFilt " PresAirRoom / (287 ,t (273 , empIn)( 4

AirFlow() " 2)

Bereken de conditieparameter van de luchtfil er CoParFilt@ = PsiFiltact / PsiFiltref

'Display de conditionparameter

txtCP_Flow_Filter.Text = CoParFilt@ End Sub

Sub CP_Turbine

'TURBINE

"Conditieparameter van de Turbine gebaseerd op de drukverhouding "Bereken de variabelen uit de invoer

TempIn = Val(txtTempGas8Turb.Text) + 273 'Temperatuur voor de turbine'

TempOut = Val(txtTempGasATurb.Text) + 273 'Temperatuur na de turbine nTurbo = Val(txtRpmTurbo.Text / 60) 'Drukvulgroeptoerental

PresIn = (Val(txtPresGas8Turb.Text) + Val(txtPresAirRoom.Text)) 'Druk

voor de turbine

PresOut = (Vall(txtPresGasATurb.Text) + Val(txtPresAirRoom.Texrn 'Druk

na de turbine 'Gemodificeerde drukvulgroeptoerental ndvg = nTurbo / Sgr(TempIn 'Content en Cl = 19.596861830107 C2 = -6.8009025329041 C3 = .65713422556165

"Bereken de referentie en de actuele drukverhouding

PiTPref - Cl + C2 ndvg + C3 * ndvg " 2 'de referentie

drukverhouding

PiTPact = PresIn / PresOut 'de actuele druverhouding Bereken de conditieparameter van de Turbine gebaseerd op de drukverhouding

CoParTP@ = PiTPact / PiTPref

TurboMon : Turhocharge Monitoring

=

(40)

'Conditiepardmeter van de turbine gebaseerd op de temperatuur

'Constanten

C4 = 1.2283592017627 C5 = -.096116030058397 C6 = .016491807644444

'Bereken de referentie en actuele temperatuurverhouding

PiTTref = C4 + C5 * ndvg + C6 * ndvg " 2 'de referentie

temperatuurverhouding

PiTTact = Tenpin / TempOut 'de actuele

temperatuurverhouding

'Bereken de conditieparameter van de Turbine gebaseerd op de temperatuurverhouding

CoParTT@ PiTTact / PiTTref

'Display de conditieparameters op de scherm txtCP_Press_Turb.Text = CoParTP@

txtCP_Temp_Turb.Text = CoParTT@

End Sub

Sub Form Load ()

'Definieerd de eigenschappen van de tabel

gridl.Cols = 24 'bepaal het aantal kolommen gridl.Rows = 50 'bepaal het aantal rijen

gridl.RowHeight(0) = 500 'bepaal de hoogte van de eerste rij

number = 0

For number = 0 To 23

gridl.ColWidth(number) = 850 'bepaal de kolombreedte

Next

'Schrijf een koptekst in de eerste rij gridl.Row = 0

gridl.Col = 0

gridl.Text = "Date" gridl.Col = 1

gridl.Text - "CP. Cool. Heat" gridl.Col = 2

gridl.Text = "CP. Cool. Flow" gridl.Col - 3

gridl.Text = "CP. Corn. Press"

gridl.Col - 4

gridl.Text = "CP. Corn. Temp"

gridl.Col = 5

gridl.Text = "CP. Tur. Press" gridl.Col = 6

grial.Text = "CP. Tur. Temp" gridl.Col = 7

gridl.Text = "CP. Filter"

grid1.1 =

gridl.Text = "Fuel index"

rurboMon

Turhocharge Monitoring

Cytaty

Powiązane dokumenty

essentiel qui permet la mise en emprise de la violence, car « l’enjeu de la violence,.. Arrivée en France et installée dans l’appartement qu’Y. a préparé pour elle, Marie se

Mogą to być również mapy lub kartogramy dotyczące pro- blematyki wprawdzie pominiętej na mapie głównej, lecz treściowo z nią łączącej się; ich celem jest dopełnienie

Przeznaczanie znacznych kwot pieniędzy publicznych na inwestycje, in­ frastrukturę, edukację czy tworzenie oraz wdrażanie nowych technologii może pobudzać

Wojnowo 62-095 Murowana Goślina p_frankowski@afirma.com.pl Łukasz Kaczmarek.. Muzeum Początków Państwa Polskiego w

Jako historyk literatury wierny jest także głoszonemu przez siebie hasłu, że badacz nie powinien się izolować od bieżącego życia literackiego; że - co więcej -

Trzydzieści lat temu, 26 marca 1947 r., odbyło się pierwsze, konstytucyjne z e ­ branie Oddziału Gdańskiego Towarzystwa Literackiego im. Towarzystwo prowadziło

Analiza nekrologu zdaje się potwierdzać hipotezę Pigonia sugerującą, że Mickiewicz mógł być jego współautorem. Do wniosku takiego upoważnia nas szereg

Odtąd w całym utworze nurt liryczny staje się niepodzielną, logicznie zwartą dominantą treści wtórnych utworu, zaś w-arstwa prymarna, to jest warstwa