53
Metropolia Ammattikorkeakoulu Automaatiotekniikan koulutusohjelma Jani Havulehto Rakennusautomaation kytkentäpiirustuksen generointi Excel-tietokannasta Insinöörityö 06.03.2009 Työn ohjaaja: tekninen johtaja Jarkko Turunen Työn valvojat: yliopettaja Kaj Backman lehtori Jaana Wuorila-Stenberg

Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

Embed Size (px)

Citation preview

Page 1: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

Metropolia Ammattikorkeakoulu

Automaatiotekniikan koulutusohjelma Jani Havulehto

Rakennusautomaation kytkentäpiirustuksen

generointi Excel-tietokannasta

Insinöörityö 06.03.2009

Työn ohjaaja: tekninen johtaja Jarkko Turunen

Työn valvojat: yliopettaja Kaj Backman

lehtori Jaana Wuorila-Stenberg

Page 2: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

Metropolia Ammattikorkeakoulu Insinöörityön tiivistelmä Tekijä

Otsikko

Sivumäärä

Aika

Jani Havulehto

Rakennusautomaation kytkentäpiirustuksen generointi Excel-tietokannasta

79 sivua

06.03.2009

Koulutusohjelma automaatiotekniikan koulutusohjelma

Tutkinto insinööri (AMK)

Ohjaaja

Ohjaavat opettajat

tekninen johtaja Jarkko Turunen

yliopettaja Kaj Backman

lehtori Jaana Wuorila-Stenberg

Insinöörityön aiheena on rakennusautomaation kenttälaitteiden uudis- ja sanee-rausurakointiin sekä huoltoon liittyvien kytkentäpiirustusten muodostaminen laadi-tun tietokannan pohjalta.

Työn aihe oli ollut rakennusautomaatiota urakoivan Arealtec Oy:n tehtävälistalla jo useita kuukausia. Uuden alakeskussukupolven myötä suunnittelua ja piirustusten laadintaa voitiin siirtää entistä enemmän standardisoituun muotoon. Toimintojen standardisoinnilla tähdättiin suunnittelutyötuntien säästöön ja suunnitelmien ja to-teutusten yhdenmukaistamiseen. Standardoinnin perustaksi otettiin tietokantapoh-jaiseen suunnitteluun siirtyminen.

Insinöörityössä määriteltiin suunnitteluprosessin kuvaus ja laadittiin määrittelyt tie-tokantapohjaiselle suunnittelulle. Määrittelyn perustana oli AutoCAD LT -pohjainen piirtäminen, ja toteutuksessa päädyttiin laatimaan tietokantatoiminnot Visual Basic for Applications -ohjelmoinnilla ja suorittamaan piirtäminen AutoCAD-skriptillä.

Työn valmistuttua voitiin arvioida saavutetun hyvän perustan suunnittelun standar-disoinnille ja tehtyjen ratkaisujen mahdollistavan muidenkin suunnitteluvaiheiden standardoinnin.

Hakusanat kytkentäpiirustus, rakennusautomaatio, alakeskus,

AutoCAD

Page 3: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

Metropolia University of Applied Sciences Abstract

Author

Title

Number of Pages

Date

Jani Havulehto

Generating building automation installation drawings from Excel-database

79

06 March 2009

Degree Programme

automation technology

Degree Bachelor of Engineering

Instructor

Supervisor

Jarkko Turunen, technical Manager

Kaj Backman, principal Lecturer

Jaana Wuorila-Stenberg, lecturer

The main aim of this final year project was to determine and create process for composing building automation electrical connection diagrams on basis of database. Installation drawings shall be used in both new buildings and restructurings. The idea of this project had been on the “to do” list of building automation contractor company, Arealtec Oy for several months prior start of this project. After the establishment of new era substation called IQ3, the design work of system and connection diagrams were able to move towards more standardized manners. Standardization of design work aimed to cost savings on labor work and harmonizing of designs. The basis of standardization was taken when it was decided to move forward to database oriented designing. In this project there was determined the whole design process and created definitions for database based electrical connection diagrams designs. Basis for defining the process steps was creating the database functions with Visual Basic for Applications and the final creation of drawings with AutoCAD LT script. The aims of this project where evaluated fulfilled and possibilities for further development of standardization and design automatization found worthwhile. Keywords electrical connection diagrams, building automation, substation,

AutoCAD

Page 4: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

SISÄLLYSLUETTELO

Tiivistelmä

Abstract

Lyhenteet, käsitteet ja määritelmät

1 Johdanto................................................................................. 7

2 Insinöörityön tarkoitus .......................................................... 8

2.1 Laajuuden rajaus............................................................................... 8

2.2 Työn suoritustapa.............................................................................. 9

3 Rakennusautomaatio ........................................................... 11

3.1 Yleinen rakenne .............................................................................. 11

3.1.1 Kenttälaitteet.................................................................................... 12 3.1.2 Valvomolaitteet ................................................................................ 12

3.2 Signaalit .......................................................................................... 13

4 Kytkentäpiirustus................................................................. 14

4.1 Piirustuksen tarkoitus ...................................................................... 14

4.2 Piirustuksen sisältö.......................................................................... 15

5 Tietokoneavusteinen suunnittelu........................................ 16

5.1 Toimintojen automatisointi ............................................................... 16

5.2 AutoCAD ......................................................................................... 16

5.3 AutoCADin historia .......................................................................... 17

5.4 AutoCAD LT .................................................................................... 17

5.5 AutoCADin käyttö ............................................................................ 18 5.5.1 Template.......................................................................................... 18 5.5.2 Blokki ja Wblokki.............................................................................. 18

5.6 AutoCAD-skripti............................................................................... 19

5.7 Excel-AutoCAD -linkitys................................................................... 19

6 Visual Basic for Applications .............................................. 20

6.1 VBA:sta yleisesti.............................................................................. 20

6.2 VBA -projektin rakenne.................................................................... 20 6.2.1 Proseduuri ....................................................................................... 21 6.2.2 Funktio ............................................................................................. 21 6.2.3 Käyttäjälomakkeet ........................................................................... 21 6.2.4 Moduulit ........................................................................................... 21

6.3 Muuttujat ......................................................................................... 22

6.4 Makron ja VBA:n välinen ero ........................................................... 22

7 Lähtötilanne.......................................................................... 23

7.1 Piirustuspohjan luonti ...................................................................... 24

7.2 Kytkentäpisteiden lisäys kytkentäpiirustuspohjaan .......................... 25

7.3 Piirtämisessä käytetyt blokit............................................................. 26

7.4 Ylläpito ............................................................................................ 27

Page 5: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

8 Tavoiteprosessin kuvaus .................................................... 28

8.1 Toteutussuunnitelma ....................................................................... 29

8.2 Testauksen tuomia muutostarpeita.................................................. 29

8.3 Alakeskusmoduulien tunnistaminen................................................. 30

8.4 Käytettävät blokit ............................................................................. 31 8.4.1 Uusi blokki ....................................................................................... 31 8.4.2 Blokin poistaminen .......................................................................... 32 8.4.3 Blokin muokkaaminen ..................................................................... 32

8.5 Blokin geometria.............................................................................. 32

8.6 Kytkentäpisteiden attribuutit............................................................. 33

9 Excel-tietokannan toteutus.................................................. 35

9.1 Pistetietokannan perusrakenne ....................................................... 35

9.2 Projektikohtaisen tietokannan muodostus........................................ 36

9.3 Laitetietokannat ............................................................................... 36 9.3.1 Laitteen lisäys tietokantaan ............................................................. 36 9.3.2 Laitteen poisto tietokannasta........................................................... 37 9.3.3 Laitteen attribuuttien muutos tietokannassa.................................... 37

9.4 Alakeskusmoduulien lisääminen...................................................... 37

9.5 Kytkentäpisteen lisäys ..................................................................... 39 9.5.1 Attribuuttitietosolujen sijoittelu ......................................................... 40 9.5.2 Attribuuttitietosolujen muotoilu ........................................................ 40

9.6 Tyhjä kytkentäpiste eli ”varalla”-blokki ............................................. 40

9.7 Käyttöliittymä................................................................................... 41 9.7.1 Käyttöliittymän toteutus ................................................................... 41 9.7.2 Käyttöliittymän toiminnot.................................................................. 41

9.8 Kytkentäpisteen poistaminen ohjelmallisesti .................................... 42

10 AutoCAD-skriptin muodostaminen..................................... 44

10.1 Moduulipohjan luonti........................................................................ 45

10.2 Kytkentäpisteen lisäys ..................................................................... 47

10.3 Sijoitusmääritykset........................................................................... 47

10.4 Havaitut virheet skriptin muodostuksessa........................................ 48

10.5 Välilyöntien eliminointi attribuuttidatassa ......................................... 48

10.6 Numeron esittäminen tekstinä Excel-solussa................................... 49

11 Käyttöohjeet ......................................................................... 50

12 Tulokset ................................................................................ 51

13 Jatkokehitys ......................................................................... 52

14 Lähteet .................................................................................. 53

Liitteet

Liite 1 Pisteluettelosovelluksen käyttöohje

Liite 2 Blokin määrittelyt

Page 6: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

LYHENTEET, KÄSITTEET JA MÄÄRITELMÄT

AutoCAD Suunnittelu- ja piirto-ohjelma

Rakennusautomaatio Talotekniikan teknisten laitteiden ohjaus

VBA Visual Basic for Applications, Microsoftin sovellusoh-

jelmissa makrokielenä käytetty ohjelmointikieli

Kytkentäpiirustus Piirikaaviomuotoinen dokumentti alakeskusten ja kent-

tälaitteiden välisen kytkennän kuvaamiseen

Kytkentäpiste Alakeskukseen liitetty kenttälaite

Alakeskus Digitaalisesti ohjattu rakennusautomaation logiikkayk-

sikkö, joka koostuu 1 - 15 moduulista

Valvontakeskus Alakeskusten muodostama ohjauskeskus

Moduuli ( IQ3 ) Alakeskuksen pienin yksikkö, alakeskus koostuu yh-

destä tai useammasta moduulista

Skripti Eräajotiedosto, komentosarja

Moduuli ( VBA ) Ryhmä yhdessä tiedostossa olevia VBA-proseduureja

Pääohjelma Ohjelma, jonka lisäksi ohjelmointiprojektissa on myös

apuohjelmia

Aliohjelma Itsenäinen ohjelman osa, joka suorittaa tietyn toimin-

non ja jota voidaan kutsua eri puolilta pääohjelmaa tai

muista aliohjelmista

Funktio Aliohjelma, joka palauttaa vastauksen kutsuvalle oh-

jelmalle

Makro Kokoelma komentoja, jotka voidaan suorittaa yksittäi-

sen napsautuksen avulla

Page 7: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

7

1 JOHDANTO

Arealtec Oy on Uudellamaalla toimiva rakennusautomaatiourakoitsija, joka urakoi

Trend-merkkisillä automaatiojärjestelmillä. Sen liikeideana on tuottaa asiakkaiden tar-

peiden mukaisia rakennusautomaatiojärjestelmiä rakennusten talotekniikan hallintaan

kustannustehokkaasti. Tarjottaviin palveluihin kuuluvat suunnittelu, projektinhoito,

asennus, käyttöönotto, koulutus, huolto, tekninen tuki ja etäseurantapalvelut.

Arealtec Oy on toteuttanut yli 800 kpl uudisrakennuskohteiden automatisointia, joissa

kytkentäpisteitä on kokonaisuudessaan yli 400 000. Uudisrakennuskohteiden lisäksi

Arealtec Oy on toteuttanut useita kymmeniä saneerauskohteita.

Insinöörityön raportin rakenne on laadittu siten, että luvuissa 2-6 kuvataan työn tarkoi-

tusta ja käytettyjä välineitä. Luvussa 7 kuvataan suunnittelun lähtötilannetta insinööri-

työtä aloitettaessa. Luvussa 8 kuvataan insinöörityön tavoitteita ja luvuissa 9-10, kuinka

insinöörityön tavoitteet saavutettiin. Lopuksi arvioidaan saavutettuja tuloksia ja jatko-

kehitysmahdollisuuksia.

Page 8: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

8

2 INSINÖÖRITYÖN TARKOITUS

Insinöörityön tarkoituksena oli kehittää yrityksen käytössä olevia automaattisia suunnit-

telu- ja piirustustoimintoja, joilla luodaan kytkentäkuvat asentajien ja huollon käyttöön.

Nykyisellään kytkentäkuvat piirretään automaattisesti luodun alakeskuskuvan pohjalta,

lisäämällä kytkentäpisteet manuaalisesti. Insinöörityön tavoitteena oli automatisoida

myös kytkentäpisteiden lisääminen.

Insinöörityöstä sovittaessa määriteltiin, että ohjelman laadinnassa huomioitaisiin sen

jatkokehitysmahdollisuudet. Tämän takia piti erityisesti kiinnittää huomiota modulaari-

suuteen ja koodin ylläpidettävyyteen.

Tämän insinöörityön lisäämällä automaatioasteella tavoitellaan aikasäästön lisäksi seu-

raavia merkittäviä etuja:

• vakiomuotoiset kuvat - vähemmän tilaa yksilöllisille ratkaisuille

• koulutustarpeen väheneminen, jolloin ei ole tarvetta osata spesifisia ohjelmia

• virheriskin merkittävä väheneminen.

Automatisoinnilla siis pyritään antamaan suunnittelijalle aikaa sellaisten työvaiheiden

toteuttamiseen, joihin kone ei pysty. Tällöin alakohtaisen ammattitaidon merkitys ko-

rostuu.

2.1 Laajuuden rajaus

Insinöörityössä oli tarkoitus kehittää ohjelma, jolla IQ3 -alakeskusten kytkentäpiirus-

tukset saadaan automaattisesti generoitua Excel-taulukko-ohjelmalla luodun pisteluette-

lon datan perusteella. Kytkentäpiirustuksissa esitetään moduulipohja sekä kytkentäpis-

teet.

Page 9: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

9

Muiden alakeskustyyppien kytkentäpiirustusten generoiminen jätettiin työn ulkopuolel-

le, koska IQ3-alakeskukset ovat nyt ja tulevaisuudessa yleisin käytetty alakeskustyyppi.

Työssä ei uudistettu niitä piirtämisen ja suunnittelun vaiheita, joihin oli valmiina sovel-

tuva automatisoinnin ohjelmisto. Näitä olivat mm. riviliitinnumerointi, pisteluettelotu-

losteen luonti ja kaapelivetoluettelon luonti.

Insinöörityön vaiheiksi määriteltiin tutustuminen nykyiseen käytäntöön ja käytettyihin

ohjelmistoihin, uuden suunnittelu- ja piirtotavan suunnittelu sekä tähän liittyvän ohjel-

miston toteutus ja testaus. Insinöörityön edetessä lisättiin suunnitteluympäristön käyttö-

ohje suunnittelijan käyttöön sekä ylläpito-ohje suunnitteluympäristön ylläpitäjälle. So-

vittiin, että käyttöohjeista laaditaan ensin perusversio, jota on mahdollista täydentää

myöhemmin. Insinöörityön ulkopuolelle rajattiin käyttöönotto sekä ylläpito. Käyttöön-

otto oli ajateltu suoritettavan toisen opiskelijan insinöörityönä.

2.2 Työn suoritustapa

Insinöörityö tehtiin Arealtec Oy:n käyttöön jo käytössä olevien suunnittelun ja piirtämi-

sen automatisoinnin ohjelmistojen pohjalta.

Työssä tutustuttiin käytössä olleeseen piirtämis- ja suunnittelutapaan, laadittiin viiteke-

hys uudelle toimintatavalle sekä luotiin uuden toimintatavan työkalut. Alussa tutustut-

tiin käytettyjen ohjelmistojen ja ohjelmointikielen rakenteeseen. Tutustuttaessa Auto-

CAD-ympäristöön ja erityisesti AutoCAD-skriptin käyttöön saatiin lähtökohta, kuinka

kokonaisuuden rakentamiseksi. Visual Basic for Applications-ympäristöön tutustumi-

nen antoi perustaa ohjelmoinnin toteutuksesta.

Suurempi painotus työn suorituksessa oli kuitenkin viitekehyksen luomisessa siten, että

tavoiteltu toimintamalli olisi alusta asti käyttöön sopiva. Viitekehyksen ja yksityiskoh-

Page 10: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

10

taisten määrittelyjen muodostamiseen käytettiin useiden lyhyiden keskustelujen kautta

saavutettua tietoa suunnittelun etenemisestä. Kokonaiskuvan muodostamisessa oli suu-

rena apuna kirjoittajan aiempi kokemus rakennusautomaation kenttälaitteiden asennus-

työstä.

Insinöörityötä varten tutustuttiin rakennusautomaatioon kokonaisuutena sekä erityisesti

kytkentäpiirustusten laadintaan sekä käyttöön. Sen aikana syntyi selkeä kuva rakennus-

automaatioprojektin toteutuksesta tarjouspyyntövaiheesta aina valmiin rakennuksen yl-

läpitoon saakka. Työ tehtiin tiiviissä yhteistyössä yrityksen suunnittelijoiden ja teknisen

johtajan kanssa.

Page 11: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

11

3 RAKENNUSAUTOMAATIO

Rakennusautomaatio on talotekniikan osa-alue, jolla vaikutetaan rakennusten sisäilmas-

toon ja valaistukseen sekä laajasti tulkiten myös rakennusten turvallisuuteen. Rakennus-

automaatiolla ohjataan rakennuksen teknisiä laitteita ja pyritään minimoimaan energi-

ankulutus, laitteiden kuluminen ja melu sekä saamaan laitteiden käytöstä paras mahdol-

linen hyöty.

3.1 Yleinen rakenne

Rakennusautomaation toimintoja ovat erilaisten suureiden mittaukset, energian ja vesi-

määrän laskenta, laitteiden toimintojen ohjaukset ja säädöt, valvonta- ja hälytystoimin-

not, raportointi ja tilastojen kokoaminen sekä keskitetty kiinteistöjen valvonta. Keskite-

tyn valvonnan avulla voidaan hallita suurtenkin rakennusryhmien automaatiotoiminnot.

[9, s.5]

Tavallisimmin asuintalojen automaatiojärjestelmä valvoo ja hoitaa lämmityskattilan,

kaukolämmön lämmönvaihtimen, pumppujen ja lämmitysverkoston tai sähkölämmitti-

mien toimintoja. Automaatiolaitteisto mittaa ja säätää talon lämpötiloja sekä valvoo

muita laitteita. Jos automaatiolaitteisto havaitsee laitteiden toiminnoissa jotakin vikaa,

se hälyttää valvomossa tai etävalvonnassa kiinteistönhoitajan päätelaitteessa, esim. mat-

kapuhelimessa.

Automaatiolaitteet säätävät myös käyttöveden lämpötilaa ja mittaavat veden määrää

laskutusta varten. Kerrostaloissa on yleensä automatisoitu koneellinen ilmanvaihto tai

ilmastointi. Automaatiojärjestelmä ohjaa myös ulko-ovien sähkölukitusta, porrasvaloja

sekä saunojen lämmitystä. [9, s.6]

Page 12: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

12

Toimistoissa, kouluissa ja teollisuuslaitoksissa on samat automaatiotoiminnot kuin

asuinrakennuksissakin, mutta niissä lisäksi säädetään jäähdytystä, poistoilman lämmön-

talteenottoa ja joissakin tapauksissa kostutusta, esim. museoissa.

Jokaisessa rakennuksessa on digitaalinen valvonta-alakeskus, joka itsenäisesti hoitaa

rakennuksen mittaukset, ohjaukset, säädöt, valvonnat, hälytykset ym. rakennusautomaa-

tiotoiminnot. Valvonta-alakeskus on liitetty valvomoon, jonka kautta rakennusautomaa-

tiojärjestelmään saadaan yhteys ja voidaan tarvittaessa puuttua automaation toimintaan.

3.1.1 Kenttälaitteet

Rakennusautomaatiossa kuten muussakin automaatiossa kenttälaitteet ovat automaation

alin taso, ja ne sijaitsevat prosessin lattiatasossa eli toteuttavat prosessin ohjauksen vaa-

tivan raa’an työn. Kenttälaitteina rakennusautomaatiossa ovat mittaavat anturit, laskurit,

kytkimet ja hälyttävät laitteet sekä toimilaitteina erilaiset venttiilit ja pellit moottorei-

neen, releet, pumput ja magneettiventtiilit.

3.1.2 Valvomolaitteet

Keskittämällä useiden rakennuksen valvonta-alakeskuksen ohjaus ja seuranta yhteen

valvomoon saadaan nopeasti tietoa häiriötilanteista ja pystytään joustavasti muuttamaan

automaatiotoimintoja ja näin säästämään käyttökustannuksissa.

Kuvassa 1 on esitetty alakeskusten ja valvomon liittäminen Trend-järjestelmissä.

Page 13: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

13

Kuva 1. Alakeskusten ja valvomon liitäntä

3.2 Signaalit

Rakennusautomaation signaloinnissa käytetään passiivielementtiä (kuten Pt100, Pt1000

NTC10 antureilla), 0..10 voltin jänniteviestiä tai 4..20 mA standardivirtaviestiä. Signa-

loinnin kaapelointina käytetään rakennusautomaatioon kehitettyjä kaapeleita. Kaape-

leissa on haluttu määrä johdinpareja punottuna yhdeksi kaapeliksi. Näitä kaapeleita

myydään mm. Redak- ja Nomak-tuotemerkeillä.

Page 14: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

14

4 KYTKENTÄPIIRUSTUS

Kytkentäpiirustuksella tarkoitetaan piirikaaviomuotoista dokumenttia, jossa on kuvattu

alakeskusten, apulaitteiden (kuten apureleet, jäätymissuojatermostaatit, virtausvahtikyt-

kimet) ja kenttälaitteiden välinen kytkentä.

4.1 Piirustuksen tarkoitus

Kytkentäpiirustukset toimivat ensimmäisenä ja tärkeimpänä vaiheena projektin toteu-

tusketjua. Tärkeimpänä siksi, että vaaditut IO-pisteet tulevat huomioitua jo ennen laite-

tilausten tekemistä. Virhe kytkentäpiirustuksissa voi pahimmillaan johtaa koko toteu-

tusketjun uudelleen muokkaamiseen. Ketjuun kuuluvat kytkentäpiirustukset, laitetilauk-

set, asennukset, alakeskusten ohjelmat, valvomografiikka. Kotelon valmistaja valmistaa

kotelon kytkentäpiirustusten mukaisesti. Myös työselostuksessa on usein vaadittu kyt-

kentäkuvat piirikaaviomuodossa.

Ensiasennustilanteessa kytkentäpiirustuksessa annetaan asentajalle kaapeli- ja kenttälai-

tekytkentätiedot. Näitä tietoja tarvitaan myös myöhemmin, esimerkiksi huollon tai sa-

neerauksen yhteydessä kytkentäpiirustuksista voidaan lukea, kuinka kaapelit on kytket-

ty. Tästä syystä kytkentäpiirustusten noudattaminen on ehdottoman tärkeää. Lisäksi

mahdolliset kytkentävaiheen aikaiset muutokset tulee päivittää myös kytkentäkuviin,

jotta vältytään virheellisiltä tulkinnoilta.

Nykyisin lisääntyneet saneeraustyöt ovat selkeästi osoittaneet todellisia kytkentöjä vas-

taavien kytkentäpiirustusten tarpeellisuuden. Kytkentäpiirustusten puutteet ja virheet

voivat aiheuttaa jopa useiden kymmenien prosenttien lisätyön.

Page 15: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

15

4.2 Piirustuksen sisältö

Kytkentäpiirustuksen sisällölle on asetettu minimivaatimukset, jotta tarvittava tieto saa-

taisiin välitettyä. Kytkentäpiirustuksesta tulee ilmetä otsikkotietoina mm.

• mistä kohteesta / projektista on kyse

• kohteen sijainti

• piirustuksen laatija

• milloin piirustus on laadittu

• muutoshistoria.

Otsikkotietojen lisäksi projektikohtaisista toteutuspiirustuksista tulee ilmetä mitoitustie-

toa valvontakeskuksen toteutusta varten seuraavasti:

• Kotelon koko, jotta osataan varata riittävä seinätila ja antaa tietoa kotelonvalmista-jalle.

• Laitemäärät (alakeskukset, apulaitteet). Tilaukset kotelonvalmistajalle.

• Vahvavirran kytkentäliittimet sähköurakoitsijaa varten.

• Kaapelointitiedot sähköurakoitsijalle.

Tarvittaessa kytkentäpiirustuksessa voidaan esittää muitakin tietoja.

Page 16: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

16

5 TIETOKONEAVUSTEINEN SUUNNITTELU

Tietokoneavusteinen suunnittelu eli CAD (Computer Aided Design) on muuttanut tek-

nistä suunnittelua ja piirtämistä siten, että lähes kaikki työt tehdään eri ohjelmistotalojen

valmistamilla suunnittelu- ja piirto-ohjelmistoilla. Tietokoneavusteinen suunnittelu kä-

sitteenä on melko laaja. Sillä voidaan tarkoittaa piirtämistä kevyellä piirto-ohjelmalla,

monimutkaisia 3D-mallinnuksia tai työvaiheiden automatisointia. Valmiiden suunnitel-

mien helppo ja nopea muokattavuus on yksi kiistaton hyöty, joka CAD-ohjelmistoilla

saavutetaan. [2, s.2-5]

5.1 Toimintojen automatisointi

Piirustusten tuottamiselle on tyypillistä, että tietyt toimenpiteet toistuvat samanlaisina

useissa kohteissa. Tällaisten usein toistuvien rutiinien suorittamiseen CAD-ohjelmien

makrot, komentojonot ja apuohjelmat ovat oiva apu. Esimerkkinä toimintojen automa-

tisoinnista voidaan mainita blokit eli piirustusalkioista koostuvat kokonaisuudet.

5.2 AutoCAD

AutoCAD on yleiskäyttöinen tietokoneavusteinen suunnittelu, eli CAD-ohjelmisto, jota

kehittää ja julkaisee Autodesk Inc. AutoCAD on yleissuunnitteluohjelma, joka on laa-

jennettavissa erilaisilla Autodesk Inc:n ja muiden yritysten valmistamilla sovellusala-

kohtaisilla laajennuksilla. Kehitystyö on tehtävissä useampien ohjelmointikielien ja ra-

japintojen kautta. Valmiita tuotteita on tuhansia, ja yritykset voivat tilata tai kehittää

myös itse omia räätälöityjä laajennusohjelmistoja. Ohjelmasta on kymmeniä kieliversi-

oita.

Page 17: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

17

AutoCAD on vektorigrafiikkaohjelma, jossa tiedon käsittely perustuu graafisiin olioi-

hin, kuten viivoihin, murtoviivoihin, ympyröihin, kaariin, teksteihin jne. Ohjelmassa on

valmiina joitakin tilavuusmallinnukseen ja pintamallinnukseen perustuvia 3D-

työvälineitä. Siitä puuttuu kuitenkin monipuolisempia toimintoja, joita monissa uu-

demmissa mallinnusohjelmissa on.

5.3 AutoCADin historia

Ensimmäinen versio julkaistiin vuonna 1982. 1990-luvun alussa AutoCAD nousi johta-

vaksi CAD-ohjelmistoksi PC-ympäristössä, ja samalla se toi CAD-ohjelmistojen hinta-

tason myös pienyritysten ulottuville. Sen menestys oli niin merkittävä, että ohjelman

dwg-tiedostotyypistä ja dxf-siirtoformaatista tuli suunnittelualalla de facto-standardeja,

jotka ovat 2D-suunnittelussa osin yhä samassa asemassa. 2000-luvulla ovat monipuoli-

semmat 3D-ohjelmistot vallanneet CAD-markkinoita. AutoCAD kehitettiin alun perin

DOS-alustalle. Aikoinaan siitä on ollut olemassa myös UNIX-versio, mutta nykyisin se

toimii vain Windows-alustalla.

5.4 AutoCAD LT

AutoCAD LT on ominaisuuksiltaan rajoitetumpi ja edullisemmaksi hinnoiteltu versio

samasta ohjelmasta. Varsinkin 3D- ja sovelluskehitysominaisuuksia on karsittu. Auto-

CAD LT:ssä ei ole luvussa 6 kuvattavaa ”Visual Basic for applications”-tukea, joten

tiedon siirtäminen Excelin ja AutoCAD:n välillä on tapahduttava kohdassa 5.6 kuvatta-

van skriptitiedoston kautta.

Page 18: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

18

5.5 AutoCADin käyttö

AutoCAD:n käyttöliittymän muodostavat ohjelmaikkunan eri osat. Käyttäjän kannalta

tärkeimpiä ovat ohjelman toimintaan ja käskyjen syöttämiseen liittyvät osat. Käskyjä

voi syöttää kolmella eri tavalla: valikoiden kautta, työkalupainikkeilla tai käskyikkunal-

la. AutoCAD:ssä on useita toimintoja, jotka helpottavat ohjelman käyttöä toistuvissa

tilanteissa. Näitä ovat mm. oletuspohjat (templates) ja blokit, joita molempia käytettiin

tässä insinöörityössä.

5.5.1 Template

Template eli mallipiirustus on aivan normaali AutoCAD-piirustus, jonka perusasetukset

on ”viritetty” omaan käyttöön sopivaksi. Tyypillisiä mallipiirustukseen tehtäviä asetuk-

sia ovat mm. kuvatasot, tekstityylit, viivatyypit ja mitoitustyylit. Räätälöidyn mallipii-

rustuksen avulla saadaan nopeasti hyvät alkuasetukset uuteen piirustukseen.

5.5.2 Blokki ja Wblokki

Piirustustyön nopeuttamiseksi usein toistuvat kuviot voidaan määritellä blokiksi. Blokki

voi olla yksittäisen piirustuksen sisäinen blokki, joka ei ole käytettävissä muissa piirus-

tuksissa tai ulkoinen Wblokki, joka on käytettävissä tavallisen dwg-piirustuksen tapaan

kaikissa piirustuksissa.

Blokkiin voidaan näkyvän geometriatiedon lisäksi lisätä attribuutteja eli tekstitietoa.

Attribuutti voi olla näkyvä tai näkymätön. Attribuuttitietoa voidaan hyödyntää mm.

määrälaskennassa tai kuten kohdassa 2.1 mainituissa sovelluksissa.

Page 19: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

19

Lisättäessä blokki AutoCAD kyselee attribuuttitiedot blokkiin määritellyssä järjestyk-

sessä. Attribuuttien kyselyjärjestys määritellään blokkia luodessa siten, että valitaan

blokkiin liitettävät attribuutit siinä järjestyksessä kuin halutaan kyselyjärjestykseksi.

Blokkien geometriaa ja attribuuttien kyselyjärjestystä on mahdollista jälkeenpäin muut-

taa blokkieditorissa.

5.6 AutoCAD-skripti

Skripti eli komentojono on sarja AutoCADin käskyjä. Komentojonoilla voidaan tehdä

tiettyjä töitä automaattisesti etenkin silloin, kun kyseessä on suurten tietomäärien käsit-

tely.

Komentojonot toimivat siten, että ascii-muotoiseen tiedostoon kirjoitetaan AutoCAD-

käskyjä ja tarvittaessa niiden optiot. Komentojono-tiedoston tarkennin on aina .scr. Eri-

tyistä huomiota skriptin käytössä tulee kiinnittää ”tyhjään” välilyöntiin, sillä välilyönti

tarkoittaa skriptissä samaa kuin Enter-näppäimen painallus. Mikäli skriptissä on ylimää-

räisiä välilyöntejä, on hyvin todennäköistä, että skriptin suoritukseen tulee virheitä tai

suoritus keskeytyy. Esimerkiksi attribuutin määrittelyssä ylimääräinen välilyönti aiheut-

taa sen, että AutoCAD olettaa ylimääräisen tyhjän tarkoittavan attribuutin syöttöä, jol-

loin AutoCAD siirtyy käsittelemään seuraavaa attribuuttia tai käskyä. [2, s.331]

5.7 Excel-AutoCAD -linkitys

Tiedon siirtäminen Excelin ja AutoCAD:n välillä on mahdollista kohdassa 5.6 kuvatun

skriptitiedoston kautta. Skriptitiedoston muodostamiseen käytettyjä Visual Basic for

Applications-käskyjä ja vaiheita käsitellään luvussa 10.

Page 20: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

20

6 VISUAL BASIC FOR APPLICATIONS

Visual Basic (VB) ja Visual Basic for Applications (VBA) ovat yleisnimityksiä Mic-

rosoftin kehittämälle ohjelmointikielelle. Visual Basic for Applications-komponentit

toimivat lisäominaisuuksina Office-sovellusten päällä. Yleinen syy Visual Basic for

Applications-ohjelmointiprojektin tekemiseen on se, että esim. Excel itsessään ei osaa

tehdä haluttua toimintoa, mutta Visual Basic for Applications-koodilla haluttu toiminto

on mahdollista suorittaa. Tässä luvussa moduulilla tarkoitetaan kohdan 6.2.4 mukaista

ohjelmamoduulia.

6.1 VBA:sta yleisesti

Ohjelmakoodia käsitellään erillisessä Visual Basic-editorissa. Kun editori-ikkuna on

avattu, se on avattuna omana ikkunanaan, kuten muutkin sovellukset. Editori voi olla

auki samanaikaisesti Excelin kanssa. Niiden välillä voi siirtyä mm. Alt+Tab -

näppäinyhdistelmällä. Excel Visual Basic for Applications-ympäristö on todella moni-

puolinen. Voidaan sanoa, että kaiken mitä käyttäjä voi tehdä taulukkosivuilla, koodaaja

voi kirjoittaa tehtäväksi Visual Basic-ohjelmointikielellä. [1, s 7]

6.2 VBA -projektin rakenne

Excel Visual Basic for Applications -projektiin kuuluvia osia ovat työkirja, editorissa

määritellyt moduulit ja käyttäjälomakkeet. Projektille voidaan määritellä myös muita

ominaisuuksia, kuten nimi ja salasana. [1, s 50]

Page 21: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

21

6.2.1 Proseduuri

Proseduuri on toimintosarja, jossa määritellään suoritettava tapahtumaketju. Proseduu-

rilla ei ole lopputulosta, vaan se tekee pyydetyt toiminnot ja valmistuu. Kun proseduuri

valmistuu, palaa kontrolli proseduuria kutsuneeseen ohjelmaan tai työkirjaan. Proseduu-

ri on joko julkinen tai yksityinen. Tällä tarkoitetaan ohjelman näkyvyyttä sekä muihin

moduuleihin että Excel-työkirjaan nähden. Julkinen ohjelma on käytettävissä kaikissa

projektin moduuleissa ja yksityinen ainoastaan saman moduulin sisällä.

6.2.2 Funktio

Funktio on ohjelma, jonka suoritus palauttaa kutsuvalle ohjelmalle arvon. Kun funktion

toiminnot ovat valmistuneet, funktion palauttama lopputulos tallennetaan funktion ni-

melle. Funktio on proseduurin tapaan joko julkinen tai yksityinen.

6.2.3 Käyttäjälomakkeet

Käyttäjälomakkeilla toteutetaan käyttöliittymä, joka sisältää mm. tiedonsyöttökontrollit,

valintalistat, halutut toiminnot sekä toimintojen mukaisen ohjauskoodin.

6.2.4 Moduulit

Moduuliin määritellään aliohjelmia haluttujen toimintojen suorittamiseksi. Moduuleihin

tallennetut aliohjelmat toimivat rajapintana työkirjan ja Visual Basic for Applications-

koodin välillä. Yhteen moduuliin kannatta tallentaa samaan asiaan liittyviä aliohjelmia.

Page 22: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

22

Moduuli koostuu määrittelyalueesta ja koodialueesta. Ylimmille riveille kirjoitetut

muuttujat asetetaan automaattisesti globaaleiksi. Editori luo erotinviivan yhteisten

muuttujien ja aliohjelman väliin.

6.3 Muuttujat

Muuttujiin tallennetaan väliaikaista informaatiota koodin suorituksen aikana. Muuttujaa

voisi ajatella vaikka tallelokerona, joka vuokrataan käyttöön aliohjelman suorittamisen

ajaksi. Muuttujan arvoksi voidaan antaa jotain ja käydä lukemassa sen sisältö. Nämä

toiminnot ovat koodissa muuttujan arvon asettaminen sekä viittaaminen muuttujan ni-

meen ja informaation käyttö halutulla tavalla. [1, s.65]

6.4 Makron ja VBA:n välinen ero

Suurimmat erot nauhoitetun makron ja Visual Basic for Applications-koodin välillä

ovat Visual Basic for Applicationsin mahdollistamat silmukka- ja ehtorakenteet. Mo-

nesti kuitenkin myös Visual Basic for Applications-sovellusta nimitetään makroksi.

Page 23: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

23

7 LÄHTÖTILANNE

Työtä aloitettaessa kytkentäpiirustusten muodostamisprosessiin sisältyi automatisoituja

vaiheita sekä kytkentäpisteiden lisääminen käsin blokkeina. Eri vaiheiden erityyppiset

toteutukset sekä jatkokäsittelyyn liittyvät irralliset sovellukset aiheuttivat prosessiin ha-

janaisuutta. Suurimman rasituksen aiheutti juuri kytkentäpisteiden lisääminen käsin

blokkeina.

Kytkentäpiirustusten muodostamisprosessin automatisoituja toimintoja olivat alakeskus-

laitteiden määrälaskenta ja sen perusteella piirustuspohjan luominen hinnoittelun yhtey-

dessä. Käytännössä piirustuspohjan luominen oli moduulia kuvaavan blokin lisääminen

uuteen piirustukseen ja attribuuttitiedon kirjoitus blokkiin.

Attribuuttitietona kirjoitettiin mm.

• SiteName eli kohde (työmaa)

• SiteAddress eli kohteen osoite

• Designer eli suunnittelija

• boxNumber eli valvontakeskuksen numero

• DateOfDesing eli päiväys

• ProjNumber eli projektinumero

Manuaalisesti tehtäväksi jäi kytkentäpisteiden lisääminen automaattisesti luotuun Au-

toCAD-piirustuspohjaan. Kytkentäpisteiden lisäämiseen sisältyi sekä mekaanista Auto-

CAD-blokin sijoittamista että suunnittelijan ammattitaitoa vaativaa kykyä hahmottaa,

mihin alakeskuksen kanavaan kukin kytkentäpiste oli kokonaisuuden kannalta paras

kytkeä.

Page 24: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

24

7.1 Piirustuspohjan luonti

Piirustuspohjan luominen toteutettiin Excel Visual Basic for Applications-sovelluksella.

Säätökaavioista laskettiin kytkentäpisteet tyypeittäin ja määriteltiin Excel-taulukkoon

”Lasketut pisteet”-osioon. Tästä laskettiin tarvittavat alakeskuslaitteet Excel-taulukkoon

tehdyllä Visual Basic for Applications-sovelluksella ”Laske AK-laitteet”. Tässä sovel-

luksessa määritellyt tiedot on esitetty kuvassa 2.

Kuva 2. Määritellyt lähtötiedot

Sovellus lisäsi laitetiedot Excel-soluihin alkaen rivin 21, sarakkeesta B. Piirustuspohjat

muodostava sovellus luki soluista tiedon tarvittavista alakeskuslaitteista. Tämän tiedon

pohjalta kirjoitettiin AutoCAD-skriptitiedosto, jolla piirustuspohjat muodostettiin. Esi-

merkki piirustuspohjasta on esitetty kuvassa 3.

Page 25: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

25

Kuva 3, kytkentäpiirustuspohja

7.2 Kytkentäpisteiden lisäys kytkentäpiirustuspohjaan

Kytkentäpiirustusten suunnittelun lähtökohtina toimivista säätökaavioista luetaan kyt-

kentäpisteet ja sijoitetaan kenttälaitteen blokki suunnittelijan valitseman moduulin tiet-

tyyn kanavaan. Haasteena tässä oli, että kerralla näkyvissä oli vain yksi kahdeksan ka-

navaa sisältävä moduulipohja. 16-kanavaiset moduulit oli jaettu kahdelle eri kytkentä-

piirustukselle. Suunnittelijan tuli hallita joko toisessa ikkunassa tai omassa muistissaan

kaikki käytettävissä olevat moduulit.

Toisaalta joustavuus kytkentäpisteiden lisäämisessä oli hyvä. Esimerkiksi suunnittelijan

havaitessa kytkentäpisteen sopivan johonkin toiseen kanavaan paremmin oli hänen

helppo poistaa kytkentäpiste ja liittää se uudelleen haluttuun kohtaan.

Page 26: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

26

Kytkentäpisteiden lisäys oli toteutettu määrittelemällä jokaiselle kenttälaitteelle spesifi-

oitu blokki tarvittavine attribuutteineen. Nämä blokit oli sisällytetty AutoCAD:n menu-

valikkoon, josta ne voitiin valita hiirellä. Valmis kytkentäpiirustus on esitetty kuvassa 4

7.3 Piirtämisessä käytetyt blokit

Suurimmalle osalle toimilaitteita ja antureita oli määritelty omat blokkinsa. Näin toteu-

tettuna blokin valitseminen oli helppoa, koska blokki voitiin valita AutoCAD:n menusta

valmistajan ja tyypin perusteella. Toisaalta suuren blokkimäärän hallinnointi oli työläs-

tä, ja tutkittaessa mm. blokkien attribuutteja havaittiin niiden määritysten olevan varsin

epäyhdenmukaiset.

Kuva 4. Valmis kytkentäpiirustus

Page 27: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

27

7.4 Ylläpito

Rakennusaikaiset muutokset, yleensä lisäyksiä, tehtiin manuaalisesti piirustuksiin. Va-

litettavan usein kenttälaiteasentajien ja projektinhoitajien tekemät muutokset jätettiin

päivittämättä piirustuksiin.

Kenttälaitteiden lisäys kenttälaitetietokantaan tehtiin määrittelemällä ko. laitteelle uusi

blokki ja liittämällä tämä blokki AutoCAD:n menu-valikkoon. Ylläpidon ohjeeksi oli

laadittu blokkimäärittely, mutta käytännössä blokit olivat toisistaan poikkeavia joko

geometrialtaan tai attribuuteiltaan/attribuuttijärjestykseltään.

Page 28: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

28

8 TAVOITEPROSESSIN KUVAUS

Koska kokonaisuus muodostui useasta eri tarjouskäsittelyn ja suunnittelun vaiheesta,

kuvattiin tavoiteprosessi kaaviomuodossa. Prosessin lopullinen määrittely on esitettynä

kuvassa 5. Prosessin määrittelyssä pyrittiin säilyttämään soveltuvin osin ne aiemmin

käytössä olleet toiminnot sellaisenaan, joita voitiin käyttää myös uudessa mallissa. Täl-

lainen oli mm. pohjien muodostaminen, joka siirrettiin lähes sellaisenaan tietokannan

yhteyteen.

Kuva 5. Suunnitteluprosessi kokonaisuudessaan.

Page 29: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

29

8.1 Toteutussuunnitelma

Kun työn tavoitteisiin ja nykykäytäntöön oli perehdytty lähemmin, päädyttiin muutta-

maan käytössä ollut toimintatapa seuraavasti. Jokainen kytkentäpiste kirjataan Excel-

taulukkoon ja tästä tietokannasta laadittaisiin AutoCAD-skripti, jolla kytkentäpiirustuk-

set muodostetaan.

Uuden toimintamallin viitekehyksessä päädyttiin muokkaamaan jo käytössä ollutta

Excel-sovellusta ”IQ3Laskenta” ja erityisesti sen osiota, jolla AutoCAD-piirustuspohjat

generoitiin. Tämän sovelluksen oli tehnyt työn ohjaaja.

Ensimmäisessä toteutettavassa sovelluksessa päädyttiin luomaan sekä tietokanta että

tietokannassa olevia alakeskusmoduuleja kuvaavat kytkentäpiirustuspohjat samanaikai-

sesti. Ensimmäisen ohjelmistoversion valmistuttua koekäyttöasteelle olisi määrä tehdä

koesuunnittelu, jotta muutostarpeet löytyisivät.

8.2 Testauksen tuomia muutostarpeita

Kun koodi oli saatu kirjoitettua siten, että voitiin muodostaa sekä piirustuspohjat että

siirtää kytkentäpisteet tietokannasta piirustuspohjiin, aloitettiin täsmäytys todellisiin

projekteihin.

Aluksi huomattiin, että projektiin tulee usein muutoksia, joissa moduuleja poistuu tai

muuttuu toisen tyyppiseksi välillä laskenta- ja toteutusvaiheiden välillä. Tässä kohtaa

pysähdyttiin miettimään prosessin kulkua ja keskustelemaan suunnittelijoiden kanssa.

Työn ohjaajan kanssa käydyissä keskusteluissa päädyttiin siihen, että säilytettäisiin ai-

emmin käytössä ollut, luvussa 7 mainittu piirustuspohjien automaattinen luominen, mut-

ta siirrettään tämä prosessi vasta siihen vaiheeseen, jossa pistetietokanta olisi valmiina

ja täytettynä.

Page 30: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

30

Prosessi kuvattiin uudestaan, ja rakenne muodostui siten, että tilauksen saapuessa muo-

dostetaan vain tietokantapohja. Kun säätökaaviosta on siirretty kaikki kytkentäpisteet

tietokantaan, muodostetaan yhdellä ohjelmalla AutoCAD-skripti, jolla luodaan pohjat

sekä lisätään kytkentäpisteet.

AutoCAD-piirustuspohjien generointiin käytetty Excel Visual Basic-osio päätettiin siir-

tää lähes sellaisenaan pistetietokanta-taulukkoon. ”IQ3Laskenta”-tiedostoon kirjoitettiin

uusi ohjelma, jolla laskennassa saadut moduulit ”kopioitiin” tietokantapohjaan ja lopul-

ta tallennettiin muodostettu tietokanta projektin nimellä. Näin muodostettuun pistetieto-

kantaan kytkentäpisteet lisättäisiin manuaalisesti säätökaavion perusteella.

Kytkentäpiirustusten lopullisessa muodostusprosessissa päädyttiin muodostamaan sekä

piirustuspohjat että lisäämään niihin kytkentäpisteet samalla ajolla sen jälkeen, kun tie-

tokanta oli kokonaisuudessaan täytetty. Tätä varten kirjoitettiin tietokantapohjaan oh-

jelmakoodit, joilla voitiin lisätä kytkentäpisteet kohdan 9.2 mukaisesti sekä muodostaa

AutoCAD-skripti luvun 10 mukaisesti.

8.3 Alakeskusmoduulien tunnistaminen

Eri moduulien erottamiseen toisistaan päädyttiin käyttämään Select Case-

lauserakennetta. Rakenteessa tekstin tulee olla kirjoitettuna täsmälleen samoin sekä tie-

tolähteessä että valintarakenteessa, joten oikeinkirjoitukseen on kiinnitettävä huomioita,

mikäli moduulien nimityksiä lisätään tai muutetaan.

Moduulien erottaminen on siksi oleellinen osa käsittelyä, että eri moduuleilla on eri

määrä kanavia, 2- 16 kanavaa per moduuli. Lisäksi eri moduulien kanavilla on erilainen

kytkentämahdollisuus ja toiminto.

Page 31: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

31

8.4 Käytettävät blokit

Kohdan 7.2 todetuista valmistaja- ja mallikohtaisista blokeista päätettiin siirtyä yleis-

käyttöisiin blokkeihin. Käytetyt blokit kartoitettiin ja selvitettiin minimimäärä attribuut-

teja, joilla voitaisiin kattaa kaikki tarvittava tiedonvälitys.

Päädyttiin luomaan kymmenen erillistä blokkia, joilla kaikilla olisi 28 attribuuttia.

Blokkien geometria valittiin mukailemaan aiempaa käytäntöä, jossa anturi kuvataan pie-

nemmällä ruudulla ja toimilaite isommalla. Blokkien yhtenäisyyden säilyttämiseksi laa-

dittiin määrittelyt blokin geometrialle ja attribuuttitiedolle. Nämä on esitetty käyttöoh-

jeen muodossa liitteessä 2.

Blokkien määrittelyn yhteydessä oli kiinnitettävä erityistä huomiota kohdassa 2.1 mai-

nittuihin sovelluksiin. Attribuuttien sijainin ja mm. riviliitintyypin merkinnän attribuu-

tissa tuli vastata sovelluksen lukualueen määrittelyjä. Blokkien geometriasta ja käytet-

tävistä attribuuteista laadittiin määrittelyohje, liite 2.

8.4.1 Uusi blokki

Käytönaikaista blokkien lisäämistä varten laadittiin em. käyttöohje- ja määrittelydoku-

mentti. Uusi blokki luodaan noudattaen niitä määrittelyjä, joita käyttöohjeessa on mai-

nittu. Blokkimäärittelyistä poikkeaminen on sallittua vain, mikäli varmistetaan yhteen-

sopivuus ”Pisteluettelo”-sovelluksen kanssa. Yksityiskohtaisen käyttöohje- ja määritte-

lydokumentin luonnilla pyrittiin estämään käytön aikana tapahtuvat toimintavirheet.

Page 32: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

32

8.4.2 Blokin poistaminen

Koska eniten työtä blokkien suhteen aiheutti blokkien toteuttaminen halutulla kymme-

nen blokin määrällä, ei katsottu tarpeelliseksi määritellä blokkien poistamista. Todennä-

köiseksi nähtiin ennemminkin blokkien määrän lisääminen.

8.4.3 Blokin muokkaaminen

Blokkien muokkaamista helpotti AutoCAD LT 2009 -ohjelmaversioon sisältynyt blok-

ki-editori, jolla geometriaobjekteja ja attribuuttien syöttöjärjestystä voitiin muokata

blokkia räjäyttämättä. Aiemmissa versioissa, joissa blokkieditoria ei ollut, jouduttiin

aina blokin luonnin yhteydessä valitsemaan halutut attribuutit jokaisen blokin kohdalla

erikseen. Samoin, jos blokkia haluttiin muokata, tapahtui tallentaminen kuten uutta

blokkia luonnissa. Tässä riskitekijänä oli aiemminkin mainittu attribuuttien kyselyjärjes-

tyksen muodostuminen vastaamaan valintajärjestystä blokkia luotaessa, jolloin virhe-

mahdollisuus on korkea.

8.5 Blokin geometria

Blokin geometriassa päädyttiin säilyttämään käytössä ollut määrittely, jossa anturia ku-

vaavan blokin koko on pienempi kuin toimilaitetta kuvaavan blokin. Näin saatiin erote-

tuksi jo ensisilmäyksellä kenttälaitteen tyyppi. Poikkeuksen tästä säännöstä tekevät

yleiskäyttöiset mittaus-, hälytys-, säätö- ja indikointiblokit. Näillä on samankokoinen

geometria toimilaitteen kanssa.

Page 33: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

33

8.6 Kytkentäpisteiden attribuutit

Kytkentäpistettä kuvaavat uudet blokit määriteltiin monikäyttöisiksi aiempien laitekoh-

taisten blokkien sijasta. Näissä laitteen tiedot annetaan attribuutteina, joita määriteltiin

tarvittavan 28 kpl tarvittavan välttämättömän tiedon välittämiseksi.

Attribuutit voitiin jakaa kahteen ryhmään, kytkentäpistettä lisättäessä määriteltäviin att-

ribuutteihin sekä kiinteisiin tai muulla sovelluksella täytettäviin attribuuteihin. Attribuu-

tit on lueteltu taulukossa 1.

Suunnitteluvaiheessa määriteltäviksi attribuuteiksi valittiin ”Tunnus”, ”Kuvaus”, ”Vai-

kutusalue”, ”Valmistaja” ja ”Laitemalli”. Nämä tiedot annetaan kytkentäpisteen lisäyk-

sen yhteydessä avautuvassa dialogissa. Muut attribuutit määritellään pisteluettelotieto-

kannan kenttälaitetietokantaan. Yleiskäyttöisille blokeille ei määritellä kenttälaitetieto-

kantaan attribuutteja, vaan ne syötetään joko pisteluettelotietokantaan Excel-

sovelluksessa tai vasta viimeistelemättömään kytkentäpiirustukseen.

Page 34: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

34

Taulukko 1, Kenttälaiteblokin attribuutit

1 TUNNUS Kytkentäpisteen positio 2 KUVAUS Kytkentäpisteen kuvaus, esim. TULOILMA 3 VAIKUTUSALUE Vaikutusalue, esim. TOIMISTOT 1-2.KERROS

4 PISTETYYPPI Kytkentäpisteen tyyppi MIT, IND, HÄL, PULSSI, SÄÄTÖ, OHJAUS

5 VALMISTAJA Laitteen valmistaja 6 MALLI Laitteen malli 7 LAITETYYPPI Laitteen tyyppi, esim. SUODATINVAHTI 8 KENTTÄLIITIN_1 Laitteessa käytettävät kytkentäliittimet 9 KENTTÄLIITIN_2 Laitteessa käytettävät kytkentäliittimet 10 KENTTÄLIITIN_3 Laitteessa käytettävät kytkentäliittimet 11 KENTTÄLIITIN_4 Laitteessa käytettävät kytkentäliittimet 12 JOHDIN_X2_1 Johtimen kuvaus, esim. 1a, 1b, 1, 2 13 JOHDIN_X2_2 Johtimen kuvaus, esim. 1a, 1b, 1, 2 14 JOHDIN_X2_3 Johtimen kuvaus, esim. 1a, 1b, 1, 2 15 JOHDIN_X2_4 Johtimen kuvaus, esim. 1a, 1b, 1, 2 16 KAAPELI_TYYPPI_X2 Kaapelityyppi, esim. NOMAK, KLMA 17 KAAPELI_PARIMAARA_X2 Kaapelin parimäärä, esim. 2x2x0.5+0.5 18 KAAPELINUMERO_X2 19 JOHDIN_X2_1 Johtimen kuvaus, esim. 1a, 1b, 1, 2 20 JOHDIN_X2_2 Johtimen kuvaus, esim. 1a, 1b, 1, 2 21 JOHDIN_X2_3 Johtimen kuvaus, esim. 1a, 1b, 1, 2 22 JOHDIN_X2_4 Johtimen kuvaus, esim. 1a, 1b, 1, 2 23 RIVILIITIN_X2_1 VAKin riviliittimet, huom. automaattinumerointi 24 RIVILIITIN_X2_2 VAKin riviliittimet, huom. automaattinumerointi 25 RIVILIITIN_G VAKin riviliittimet, huom. automaattinumerointi 26 RIVILIITIN_G0 VAKin riviliittimet, huom. automaattinumerointi

27 LAITELUETTELO Jos laite on meidän toimituksessa, niin merkitään L

28 KILPITILAUS

K = määrittelemätön (aikaisemmin ollut)

T = tarrakilpi

R = reikäkilpi

tyhjänä ei tule mukaan kilpitilaukseen

Page 35: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

35

9 EXCEL-TIETOKANNAN TOTEUTUS

Tavoiteprosessin määrittelyn jälkeen seuraavana vaiheena määriteltiin, mihin, kuka ja

miten pisteluettelon tietokanta luotaisiin. Koska sovelluskehitysalustaksi oli määritelty

Excel ja Visual Basic for Applications, päädyttiin käyttämään Excel-työkirjaa.

Tietokanta olisi voitu luoda myös esim. Access-tietokantaohjelmalla, jossa Visual Basic

for Applications olisi ollut samoin kuin Excel-ohjelmassa. Koska yrityksessä eikä työn

tekijällä ollut kokemusta Access-ohjelman käytöstä eikä yrityksellä ollut valmiina oh-

jelman lisenssiä, kartoitettiin Excel-ohjelman toimivuus tietokannan alustana. Käytän-

nössä kytkentäpisteiden lukumäärä jää aina alle tuhannen, joten koko ei rajoittaisi Exce-

lin käyttöä. Lisäksi kaikissa yrityksen tietokoneissa oli valmiina asennettuna Excel-

ohjelma.

Ennen tietokantarakenteen määrittelyä tutustuttiin useisiin ratkaisuihin, joilla Excel-

tietokanta oli toteutettu. Tutkituista sovelluksista valittiin tarvittavat toiminnallisuuden

siten, että rakenne olisi mahdollisimman yksinkertainen.

9.1 Pistetietokannan perusrakenne

Toteutussuunnitelmassa määritellyn mukaisesti laadittiin tietokantamalli, jota käytetään

uuden tietokannan muodostamiseen. Tietokantamalli nimettiin ”Pistetietokan-

ta_pohja.xls”. Tietokantamalli sisältää skriptin muodostamisen Visual Basic-koodin.

Pistetietokannan perussivuna toimii ”tietokanta”-välilehti. Tällä välilehdellä esitetään

projektin perustiedot sekä valvontakeskuksen alakeskus moduuleineen. Työkirjan muita

välilehtiä ovat blokin attribuuttien määrittelyyn käytettävät sivut sekä laitetietokannan

valmistajakohtaisten sekä yleiskäyttöisten laitemallien tietokannat. Laitetietokannat on

esitelty kohdassa 9.6. Peruskäyttäjälle näistä välilehdistä on näkyvissä vain ”tietokan-

ta”-välilehti.

Page 36: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

36

9.2 Projektikohtaisen tietokannan muodostus

Projektikohtaisten pisteluettelotietokantojen pohjana tulisi olemaan Excel-työkirja. Tä-

mä Excel-työkirja sisältää sekä tietokannan visuaalisen ja muodollisen rakenteen että

piilotettuina kenttälaitetietokannan. Projektia muodostettaessa tämä pistetietokanta.xls-

tiedosto kopiotuine alakeskusmoduulitietoineen tallennetaan projektin nimellä. Projek-

tikohtaisen pistetietokannan luonnin yhteydessä pistetietokanta pohja avattiin alla ole-

valla Visual Basic -koodilla:

9.3 Laitetietokannat

Pistetietokanta_pohja.xls-työkirjan sisälle määriteltiin erilliset laitetietokannat omille

valmistajakohtaisille välilehdilleen. Kytkentäpistettä lisättäessä laitteen spesifiset tiedot

kopioidaan tästä laitetietokannasta. Jatkokehitystä silmälläpitäen tietokantojen rakenne

sekä tiedon kopiointi sekvenssi tehtiin sellaiseen muotoon, että laitetietokanta voidaan

haluttaessa erottaa omaksi tiedostokseen.

9.3.1 Laitteen lisäys tietokantaan

Lisättäessä uusi kenttälaite tietokantaan lisätään sen tiedot välittömästi edellisen kenttä-

laitteen jälkeiselle riville. Näin varmistetaan ComboBox-kontrolleihin luettavien laite-

tietojen siirtyminen suunnittelijan käyttöön. Mikäli erillisten laitteiden välissä olisi tyhjä

rivi, ei ComboBox-kontrollin Do While-silmukka lukisi tyhjän rivin jälkeisiä kenttälait-

teita.

'-------------------------------------------------------------------------------------------------------- ' tietokantapohjan sijainti '-------------------------------------------------------------------------------------------------------- Workbooks.Open Filename:="C:\TS4\Pistetietokanta_pohja.xls" Windows("Pistetietokanta_pohja.xls").Activate

Page 37: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

37

ComboBox-kontrollin AddItem-alustusrakenne on esitetty seuraavassa:

9.3.2 Laitteen poisto tietokannasta

Poistettaessa jokin kenttälaite tietokannasta esim. valmistuksen päättyessä on huolehdit-

tava siitä, ettei tietokantaan jää tyhjiä välirivejä. Mikäli tietokantaan jää tyhjiä rivejä,

pysähtyisi AddItem-toiminnon Do while-silmukka tyhjälle riville, eivätkä sitä seuraavat

laitteet päivittyisi käyttöliittymän lomakkeelle.

9.3.3 Laitteen attribuuttien muutos tietokannassa

Muutettaessa jonkin kenttälaitteen oletusattribuutteja tehdään muutos suoraan kenttälai-

te tietokannan soluihin. Muutoksen yhteydessä on varmistuttava siitä, että numeromuo-

toinen tieto esitetään ”as text”-muodossa. Attribuuttitietojen määrämuotoisuuden vuoksi

muutokset määriteltiin ylläpitäjän tehtäviksi eikä niitä sisällytetty suunnittelijan käyttö-

ohjeisiin.

9.4 Alakeskusmoduulien lisääminen

Alakeskusmoduulien lisääminen pisteluettelon tietokantaan IQ3 Laskenta -sovelluksesta

sijoitettiin IQ3 Laskenta -taulukkoon. Toiminto rakennettiin ActiveCell-osoituksella ja

muuttujilla. Ensimmäiseksi luettavaksi soluksi valitaan B21, jossa on ensimmäisen

päämoduulin tiedot. Moduulin ollessa apurele SRMV ei tätä lisätä tietokantaan.

Do While Worksheets("attr_vaihtoehdot").Cells(10, sarake).Value <> "" Me.VALMISTAJA.AddItem Worksheets("attr_vaihtoehdot").Cells(10, sarake).Value sarake = sarake + 1 Loop

Page 38: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

38

Tietokannan osoitus ja moduulitypin valinta on esitetty seuraavassa:

Moduulin lisäyksen yhteydessä varataan moduulin kanavamäärää vastaava määrä rivejä

Select Case- ja For Next –rakenteilla:

Jokaisen apumoduulin lisäyksen yhteydessä kasvatetaan moduulin järjestysnumeroa yh-

dellä. Mikäli valvontakeskuksessa on useita alakeskuksia, nollataan apumoduulien jär-

Worksheets("Laskenta").Range("B21").Select Do While ActiveCell.Value <> Empty ' Loop viimeisella sivulla modulitype = ActiveCell.Value For k = 0 To ActiveCell.Offset(0, 1).Value - 1 Windows("Pistetietokanta_pohja.xls").Activate ' siirrytaan kohde tiedost If modulitype <> Srmv Then ActiveSheet.Cells(R, S).Value = modulitype ' "paste" End If

'--------------------------------------------------------------------------------------------------------------- ' varataan riveja moduulin mukaisesti '--------------------------------------------------------------------------------------------------------------- Select Case modulitype Case "IQ3XCITE/16/UK/100-240", "IQ3XCITE/16/LAN/UK/100-240", _ "IQ3XCITE/96/UK/100-240", "IQ3XCITE/96/LAN/UK/100-240", _ "IQ3XCITE/128/UK/100-240", "IQ3XCITE/128/LAN/UK/100-240" mnro = 0 ' paamoduuli on aina 0 For e = 0 To 15 ActiveSheet.Cells(R + e, S + 1).Value = mnro ' lisää modulinro ActiveSheet.Cells(R + e, S + 2).Value = e + 1 ' lisää kanavanro Next mnro = mnro + 1

Page 39: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

39

jestysnumerolaskenta moduulin ollessa jälleen päämoduuli. Samalla alakeskuksen nu-

meroa kasvatetaan yhdellä.

9.5 Kytkentäpisteen lisäys

Kytkentäpisteen lisäys rakennettiin siten, että kaksoisnapsautettaessa (doubleclick)

Tunnus-sarakkeen (sarake H eli 8) haluttua riviä (eli haluttu kanava) käynnistyy ensim-

mäinen lomake (UusiPiste). Kytkentäpisteen lisäyksen suorittamiseksi harkittiin myös

pikanäppäimen käyttöä. Päädyttiin kuitenkin käyttämään ainoastaan tuplaklikkausta.

Näin on aina tietoisesti valittava rivi, jolle kytkentäpiste lisätään.

Tuplaklikkauksen tunnistava aliohjelma sijoitettiin työkirjaan ”Tietokanta”-sivulle, jol-

loin muilla työkirjan sivuilla, sarakkeessa 8 (H) suoritettava tuplaklikkaus ei aiheuta

”UusiPiste”-lomakkeen lataamista.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Column = 8 Then Range("A1000").Value = ActiveCell.Row If ActiveCell.Value = Empty Then UusiPiste.Show Else VARMISTUS.Show End If End If End Sub

Page 40: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

40

9.5.1 Attribuuttitietosolujen sijoittelu

Solujen sijoittelu määriteltiin siten, että ensimmäisenä näkyvänä tietona oli pisteen yksi-

löivä tieto. Tällainen oli kytkentäpisteen tunnus. Oikealta vasemmalle järjestyksessä

seuraaviksi aseteltiin yleensä muutettava tieto, ja loput solut sisälsivät muuttumattoman

attribuuttitiedon. Sijoittelu ja attribuuttien kyselyjärjestys blokkia lisättäessä sovitettiin

samaan järjestykseen. Näin voitiin käyttää attribuuttitiedon lukemiseen For Next-

silmukkaa.

9.5.2 Attribuuttitietosolujen muotoilu

AutoCAD-skriptin tulee olla ascii-muotoista tekstiä, eikä tekstissä saa olla ylimääräisiä

välilyöntejä. Tästä syystä oli kiinnitettävä huomiota soluissa olevan tiedon muotoiluun,

kohdan 5.6 mukaisesti. Tekstinä soluun syötetty tieto siirtyi skriptiin sellaisenaan, eikä

sille tarvinnut tehdä erityisiä muotoiluja.

Numeerisessa muodossa esitetty tieto aiheutti AutoCAD-skriptiin siirrettäessä välilyön-

nin tulostuksen ennen merkkejä. Excel-solujen asetus määriteltiin siten, että kaikki att-

ribuuttisoluissa oleva data on ”as text” -muodossa.

9.6 Tyhjä kytkentäpiste eli ”varalla”-blokki

Koska moduuleihin useimmiten jää yksi tai useampia kanavia kytkemättä, oli kiinnitet-

tävä huomiota myös tällaisen kohdan käsittelyyn. Moduuleissa voi olla myös tarkoituk-

sella lisättyjä tyhjiä kanavia tulevaisuuden laajennusta varten. AutoCAD:lle on annetta-

va insert-käskyn yhteydessä lisättävän blokin nimi, muutoin skriptin suoritus keskeytyy.

Siksi luotiin ”varalla”-blokki. Kaikkiin pistetietokannan soluihin aina riville 999 saakka

asetettiin oletusarvoksi tämän blokin nimi.

Page 41: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

41

9.7 Käyttöliittymä

Koska perusmuotoisen Excel-taulukon täyttäminen ja lukeminen on suuren tietomäärän

vuoksi aikaa vievää ja virhealtista, päädyttiin luomaan erillinen käyttöliittymä tiedon

lisäämiseksi. Käyttöliittymän toteutussuunnittelussa kiinnitettiin huomiota erilaisten

blokkien eroihin. Tällä pyrittiin mahdollisimman pienen tiedon käsittelyyn ja syöttämi-

seen suunnitteluvaiheessa. Sellainen attribuuttitieto, joka käytännössä on 95 % samaa

kaikissa blokeissa, päätettiin jättää käsittelemättä käyttöliittymässä ja näin yksinkertais-

taa käyttöliittymää.

9.7.1 Käyttöliittymän toteutus

Käyttöliittymävaihtoehtoina oli erillisen Excel-taulukko sivun käyttäminen tai käyttäjä-

lomakkeen (Forms) luominen. Valinnassa päädyttiin käyttäjälomake-pohjaiseen ratkai-

suun. Valitussa toteutuksessa tiedot annetaan käyttäjälomakkeisiin kaksivaiheisesti, jol-

loin laitemallin valintaa ohjaa sitä edeltävä laitevalmistajan valinta.

9.7.2 Käyttöliittymän toiminnot

Ensimmäinen lomake (UusiPiste) käynnistyy kaksoisnapsautettaessa (doubleclick)

”Tunnus”-sarakkeen haluttua riviä (eli valitaan haluttu kanava). Tällöin avautuu loma-

ke, jossa syötetään TUNNUS, KUVAUS, VAIKUTUSALUE sekä VALMISTAJA.

Valmistajan kohdalla valittiin ComboBox-kontrolli, jotta annettava tieto olisi ennalta

määritellyn mukaista. Annettua tietoa käytetään laitteen mallin valinnassa. UusiPiste-

lomake on esitettynä kuvassa 6.

Page 42: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

42

Kuva 6. UusiPiste-lomake

Kun käyttäjä on valinnut valmistajan tai kytkentäpisteen tyypin, ohjelma päivittää lai-

temallin ComboBox-kontrolliin laitteet valmistaja-/tyyppikohtaiselta Excel-

taulukkosivulta. Mallin valinnan jälkeen ohjelman lukee mallikohtaisen AutoCAD-

blokin attribuuttitiedon Excel-taulukosta ja kopioi sen pistetietokantaan.

ComboBox:in etuina havaittiin syötettävän tiedon määrämuotoisuus, kun vaihtoehdot

luetaan valmiista tietokannasta. Näin syötetyn tiedon jatkokäsittely mm. valmistajan tai

laitetyypin tunnistamiseen helpottuu. Samoin luettaessa vaihtoehdot tietokannasta laite-

tiedon ylläpito on yksinkertaista eikä lisäyksen tai muokkauksen yhteydessä tarvitse

tehdä muutoksia ohjelmakoodiin.

9.8 Kytkentäpisteen poistaminen ohjelmallisesti

Tarpeettoman kytkentäpisteen poistamiseksi kirjoitettiin lomake ja sille ohjelmakoodi,

joka palauttaa kanavalle oletusarvon ”VARALLA”. Lomakkeen käynnistys linkitettiin

hiiren oikean näppäimen klikkaukseen tunnus-sarakkeessa halutun kanavan rivillä:

Page 43: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

43

Kytkentäpisteen poiston jälkeen kyseinen kanava näkyy tietokannassa tyhjänä.

lahtorivi = Range("A1000").Value ' luetaan lähtorivin arvo Range(Cells(lahtorivi, 8), Cells(lahtorivi, 39)).Select Selection.ClearContents Cells(lahtorivi, 38).Value = "VARALLA" Unload RivinTyhjennys Cells(lahtorivi, 8).Select

Page 44: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

44

10 AUTOCAD-SKRIPTIN MUODOSTAMINEN

Skriptin muodostamisen määrittely kuvattiin kaaviomuodossa, jotta voitiin varmistua

kaikkien tarvittavien tietojen siirtyminen tietokannasta skriptiin.

Page 45: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

45

Suurin haaste oli kirjoittaa teksti skripti-tiedostoon juuri AutoCAD:n edellyttämässä

järjestyksessä. Koska skripti on peru-ascii-tekstiä, muodostettiin se käyttämällä Visual

Basicin Print- ja Write-komentoja.

10.1 Moduulipohjan luonti

Lisättävän blokin määrittelyssä moduulipohjan kohdalla käytettiin Select Case-

rakennetta. Alakeskusmoduulin blokkeihin attribuuttitieto kirjoitettiin antamalla jokai-

nen kirjoituskomento erillisenä ja attribuutin merkkijono muuttujasta. Aliohjelman ra-

kenne ja syntaksin muoto pidettiin aiemmin käytössä olleen moduulipohjan muodosta-

neen ohjelmakoodin mukaisena. Kaikilla moduuleilla alku tehtiin samanlaiseksi, poik-

keuksena päämoduulin kohdalla oleva kierroslaskuri, jolla kasvatetaan alakeskuksen

numerointia toisen tai useamman päämoduulin ollessa kyseessä:

Select Case DeviceType 'jos paamoduli, kirjoitetaan nama Case "IQ3XCITE/16/UK/100-240", "IQ3XCITE/16/LAN/UK/100-240", _ "IQ3XCITE/96/UK/100-240", "IQ3XCITE/96/LAN/UK/100-240", _ "IQ3XCITE/128/UK/100-240", "IQ3XCITE/128/LAN/UK/100-240" If kierroslaskuri > 0 Then OS = OS + 1 End If kierroslaskuri = kierroslaskuri + 1 PS = 3 Print #1, "QNew" Print #1, "-Insert IQ3_IO1" Print #1, "7,0" Print #1, "1" Print #1, "1" Print #1, "0" Print #1, SiteName Print #1, SiteAddress Print #1, Designer Print #1, DateOfDesign Print #1, "IQ3xcite tulot 1-8" Print #1, boxNumber Write #1, OS Print #1, ProjNumber & "-" & OS & "01"

Page 46: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

46

16-kanavaisten moduulien kohdalla kytkentäpiirustukset jaettiin kahteen kahdeksan ka-

navan osaan. Alla ensimmäinen osa:

Seuraavassa toinen osa päämoduulin luontirakenteesta:

Samaa kaksivaiheista rakennetta käytettiin myös 16-kanavaisissa apumoduuleissa. Apu-

moduuleissa joissa on 2 - 8 kanavaa, käytettiin ainoastaan ensimmäistä osaa.

Select Case DeviceType Case "IQ3XCITE/16/UK/100-240", "IQ3XCITE/16/LAN/UK/100-240" Print #1, "IQ3xcite/16" Print #1, "1X2" Print #1, "0" '------------------------------------------------------------------------------------------- 'tahan valiin paamoduulin ensimmaiset 8 kanavaa '------------------------------------------------------------------------------------------- Kirjoita_1to8_Pisteet_IO16 Print #1, "Saveas" Print #1, "2004(LT2004)" Write #1, Destination & ProjNumber & "-" & OS & "01 IQ3_16MOD 0_1.dwg"

Select Case DeviceType Case "IQ3XCITE/16/UK/100-240", "IQ3XCITE/16/LAN/UK/100-240" Print #1, "IQ3xcite/16" Print #1, "1X2" Print #1, "Lähdöt 1-6" Print #1, "1X2" Print #1, "0" '------------------------------------------------------------------------------------------- 'tahan valiin paamoduulin loput 8 kanavaa '------------------------------------------------------------------------------------------- Kirjoita_9to16_Pisteet Print #1, "Saveas" Print #1, "2004(LT2004)" Write #1, Destination & ProjNumber & "-" & OS & "02 IQ3_16 MOD 0_2.dwg"

Page 47: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

47

10.2 Kytkentäpisteen lisäys

Kytkentäpisteen lisäys piirustukseen toteutettiin erillisellä apuohjelmalla, jota kutsutaan

aina moduulin lisäyksen yhteydessä.

Blokin nimi luettiin ActiveCell.Offset(C1,R1).value -osoituksella ja tulostettiin skripti-

tiedostoon Print-komennolla.

Attribuuttidata luettiin Excel-solusta ActiveCell.Offset(C1,R1).value-osoituksella ja tu-

lostettiin skripti-tiedostoon Print-komennolla .

10.3 Sijoitusmääritykset

Moduulipohjan blokin sijoituksen yhteydessä x- ja y-koordinaatit ovat aina samat 7 ja 0.

Attribuutit käsitellään Print-komennolla muuttujista luettuna. Kytkentäpisteen blokin

BasePointin sijainnin määrittelyt tehtiin blokkien sisällä siten, että jokainen blokki voi-

tiin sijoittaa y-akselin koordinaatille 76 ja x-akselilla ensimmäinen koordinaatille 28,

seuraavat +32 edellisestä.

Sub Kirjoita_1to8_Pisteet_IO16() y = 28 Do Print #1, "-Insert" Print #1, ActiveCell.Offset(0, 33).Value Print #1, y & ",76 1 1 0" For i = 0 To 27 Print #1, ActiveCell.Offset(0, 3 + i).Value Next y = y + 32 ActiveCell.Offset(1, 0).Activate Loop Until ActiveCell.Value = 9

Page 48: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

48

10.4 Havaitut virheet skriptin muodostuksessa

Kuten oli ollut jo alusta asti selvää, oli AutoCAD-skriptin muodostaminen haastavaa

tarkan määrämuotoisuusvaatimuksen vuoksi. Skriptin muodostuksen opiskelussa oli jo

kiinnitetty huomiota attribuuttitiedon välitykseen, joten koeajojen yhteydessä syntyneet

virhetilanteet oli helposti löydettävissä tutkimalla skripti-tiedostoa tekstieditorilla.

Useimmat ilmenneet virheet liittyivät juuri välilyönnin tulostumiseen skripti-tiedostoon.

Tämä aiheutti suorituksen sekaantumisen ja pysähtymisen viimeistään skriptin suorituk-

sen edettyä piirustuksen tallennuksen kohdalle.

10.5 Välilyöntien eliminointi attribuuttidatassa

Koska käyttäjä voi suorittaa attribuutti -solun näkyvän tiedon tyhjennyksen myös väli-

lyöntinäppäimellä, oli varmistuttava siitä, ettei välilyöntiä tulostuisi AutoCAD-skriptiin.

Tämä toteutettiin suorittamalla jokaiselle attribuutille Ltrim-komento.

Tämä ohjelman osa sijoitettiin kaikkiin kolmeen kytkentäpisteiden kirjoitusaliohjelmiin.

Käyttöohjeeseen sisällytettiin maininta tästä toiminnosta.

Attribuutti = ActiveCell.Offset(0, 4 + i).Value Print #1, LTrim(Attribuutti)

Page 49: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

49

10.6 Numeron esittäminen tekstinä Excel-solussa

Mikäli jokin attribuutti oli numeromuodossa, kuten esim. kenttäliitin, aiheutti tämä väli-

lyönnin tulostumisen skriptiin ennen numeroa. AutoCAD tulkitsee skriptin tulkinnan

yhteydessä rivin ensimmäisenä merkkinä olevan välilyönnin Enter-näppäimeksi ja aset-

taa attribuutin arvoksi (value) oletusarvon tai edellisellä Insert-komennolla samaan att-

ribuuttiin annetun arvon. Tämän jälkeen suoritus siirtyy seuraavaan attribuuttiin, ja käy-

tännössä suoritus keskeytyy. Virhe estettiin määrittelemällä sekä kenttälaitetietokannas-

sa että pisteluettelotietokannassa kaikki attribuuttitietoa sisältävät solut tekstimuotoisik-

si (as text).

Page 50: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

50

11 KÄYTTÖOHJEET

Sovelluksen käyttöön laadittiin kaksi erillistä käyttöohjetta. Käyttöohjeet on tarkoitettu

pisteluettelon ja kytkentäpiirustusten luomiseen osallistuvien suunnittelijoiden käyttöön.

Ensimmäisessä käyttöohjeessa kuvataan sovelluksen toiminta ja käyttö. Toisessa käyt-

töohjeessa kuvataan AutoCAD-sovelluksessa käytettävien blokkien määrittelyt ja käyt-

tö. Käyttöohjeiden laadinnassa käytettiin ohjeena Tampereen Teknillisen Yliopiston oh-

jeita ohjelmistoprojektin aikana syntyvän dokumentaation sisällöstä.

Laadituissa käyttöohjeissa kuvataan sovelluksen toiminta käyttäjän kannalta mahdolli-

simman tarkasti ja yksityiskohtaisesti. Käyttöohjeisiin sisällytettiin erillisiin osioihin

käyttäjälle tarkoitetut toiminnot sekä ylläpitäjän huomioonotettavat seikat. Kun sovel-

luksen rakentaminen edistyy, täydennetään käyttöohjetta tarvittaessa.

Page 51: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

51

12 TULOKSET

Laaditun suunnitteluympäristön testauksen yhteydessä voitiin arvioida primääritavoit-

teen eli kytkentäpisteiden automaattisen lisäyksen piirustuspohjaan onnistuneen odote-

tulla tavalla. Lisäksi voitiin todeta havainnollisuuden ja sen myötä hallittavuuden ole-

van huomattavasti parempi kytkentäpisteiden lisäysvaiheessa Excel-taulukossa yhtäai-

kaisesti näkyvien moduulien ja kanavien johdosta.

Insinöörityön tuloksena syntyneen suunnitteluympäristön rungon todettiin antavan mo-

nia mahdollisuuksia tietokantaan kertyvän tiedon käyttämiseen rakennusautomaation

muissa sovelluksissa. Näitä sovelluksia ovat mm. valvomosuunnittelu, logiikka-

ohjelmisto ja etävalvomon liitynnät. Suunnittelijoiden kanssa käydyissä keskusteluissa

esille tulleet tietokannan kanssa yhteensopivat jatkokehitysmahdollisuudet on tarkem-

min listattu luvussa 13. Suunnitteluympäristön käyttöönottamisen arvioitiin olevan esi-

merkiksi toisen insinöörityön laajuinen tehtävä.

Toteutettujen toiminnallisuuksien jälkeen suunnitteluympäristön arvioitiin olevan nope-

ampi kuin nykyisin käytössä oleva suunnitteluympäristö. Tästä syntyvät työaikasäästöt

voidaan suoraan kohdentaa esim. uusien asiakasprojektien vastaanottamiseen. Jatkoke-

hitysmahdollisuudet huomioonotettuna voitiin arvioida projektikohtaisen ajansäästön

olevan useista tunneista kymmeniin tunteihin projektia kohden.

Page 52: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

52

13 JATKOKEHITYS

Sovellusten kehitys- ja testaustyön yhteydessä nousi esille runsaasti ehdotuksia toimin-

tojen lisäämiseksi pistetietokantaan. Toteuttamiskelpoisiksi arvioidut ehdotukset on ku-

vattu seuraavassa:

• Lisättäessä moduuli tietokantaan kanavalle generoitaisiin merkintä, minkä tyyppiset

laitteet voidaan kytkeä kanavaan.

• ComboBoxiin valittavat laitteet olisi voitava poimia useista tietokannoista.

• Pisteluettelotulosteen generointi suoraan Excel-tietokannasta.

• Ryhmäkeskusriviliittimien numerointi Excel-tietokannassa.

• Osoitteen generointi Excel-tietokantaan (OS-muuttuja piirustuksen luonnissa).

• Ohjelma-osoitteen generointi Excel-tietokantaan (Sxx, Dxx, Ixx).

• Kytkentäluettelon laatiminen kaapeleittain.

Kaikki mainitut jatkokehitysehdotukset otettiin huomioon tietokannan rakennetta kehi-

tettäessä, jotta ehdotettujen jatkokehitysten toteutus olisi mahdollista muuttamatta pe-

rusrakennetta.

Page 53: Jani Havulehto Rakennusautomaation …havulehto.net/Jani/ins_opinnayte.pdf · Generating building automation installation drawings from Excel-database ... 5.7 Excel-AutoCAD -linkitys

53

14 LÄHTEET

[1] Merensalmi, Jussi. Excel VBA yrityskäytössä. Porvoo: WS Bookwell, 2007

[2] Illikainen, Kimmo. AutoCAD 2006. Porvoo: WS Bookwell, 2006

[3] Haanpalo, Hannu. Projektipäällikkö, Digia Oy, Helsinki. Keskustelu 08.10.2008

[4] Ek, J., Erikson, U., & Isanovic, S. VBA-ohjelmointi Office 2000:ssa. Vantaa:

Schildts Kustannus Oy, 2000

[5] Puuskari, Ari. AutoCAD, Perusteet, AutoCAD 2006 ja AutoCAD LT 2006. Lu-

entomoniste. Helsingin ammattikorkeakoulu Stadia, 2006

[6] Puuskari, Ari. AutoCAD, Jatkokurssi, AutoCAD 2006 ja AutoCAD LT 2006.

Luentomoniste. Helsingin ammattikorkeakoulu Stadia, 2006

[7] Dokumenttirunko Käyttöohje (WWW-Dokumentti.) Tampereen teknillinen yli-

opisto.

www.cs.tut.fi/ohj/dokumenttipohjat/pohjat/kayttoohje/hytt_drkayttoohje.doc

Päivitetty 12.10.2005 Luettu 20.11.2008

[8] HYTT Laatukäsikirja. (WWW-Dokumentti.) Tampereen teknillinen yliopisto

http://www.cs.tut.fi/cgi-bin/run/hytt/sivuhaku.py?view_id=0&header_id=0

päivitetty 27.8.1998 Luettu 20.11.2008

[9] Värjä, Pertti ja Mikkola, Jukka-Matti. Uusi kiintistöautomaatio. Elimäki: Korian

kirjapaino Ky, 1999