SIMATIC S7. AWL S7-300/400 Yksiköiden ohjelmointi



Samankaltaiset tiedostot
SIMATIC S7. FUP/FBD S7-300/400 Yksiköiden ohjelmointi toimintakaaviomuodossa. Esipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla

Ohjeita Siemens Step7, Omron CX Programmer käyttöön

TAMPEREEN AMMATTIKORKEAKOULU (21) Kone- ja laiteautomaatio Seppo Mäkelä. SIMATIC STEP S7 Ohjelmointiohjelma.

Muuttujien määrittely

AU Automaatiotekniikka. Toimilohko FB

MITÄ JAVASCRIPT ON?...3

AU Automaatiotekniikka. Funktio FC

Verkkosivuston hallinnan ohjeet. atflow Oy AtFlow Oy, +358 (0)

WCONDES OHJEET ITÄRASTEILLE (tehty Condes versiolle 8)

SYÖTTÖPOHJA LUKUJEN SYÖTTÖÖN ERI TARKOITUKSIIN

Ohjelmoinnin perusteet Y Python

CABAS. Release Notes 5.4. Uusi kuvien ja dokumenttien käsittely

WCONDES OHJEET ITÄRASTEILLE (tehty Condes versiolle 8)

Visma Fivaldi -käsikirja Asiakaskohtaiset hinnat

Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä

Toteumatietojen tiedostolataus sisäiseen laskentaan Käsikirja

Sen jälkeen Microsoft Office ja sen alta löytyy ohjelmat. Ensin käynnistä-valikosta kaikki ohjelmat

Tulorekisteri: Vakuuttamisen poikkeustilanteet Visma Fivaldi

SIMATIC S7. FUP/FBD S7-300/400 Yksiköiden ohjelmointi toimintakaaviomuodossa. Esipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla

TAULUKON TEKEMINEN. Sisällysluettelo

Condes. Quick Start opas. Suunnistuksen ratamestariohjelmisto. Versio 7. Quick Start - opas Condes 7. olfellows 1.

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

Mainosankkuri.fi-palvelun käyttöohjeita

LUKKARIN KÄYTTÖOHJE Sisällys

Internet Explorer 7 & 8 pop-up asetukset

Tehtävä: FIL Tiedostopolut

3M Online Center sivuston käyttöopas

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

Asiointipalvelun ohje

Ohjelmisto on selainpohjaisen käyttöliittymän tarjoava tietokantajärjestelmä merikotkien seurantaan WWF:n Merikotka-työryhmän tarpeisiin.

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.4.0

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

Käyttöliittymän muokkaus

Sisällysluettelo 1 Johdanto Root, koko Opalan pääkäyttäjä

Ohjelmointi 1 / syksy /20: IDE

Käsikirjan paperiversiota ei enää ylläpidetä ohjeen päivämäärän jälkeen. Viimeisimmät versiot ohjeista löydät ohjelman Help-ruudulta.

Aloita uusi kartoitus -painikkeesta käynnistyy uuden kartoituksen tekeminen

Ohjelmoinnin perusteet Y Python

ejuttu ohjeet kuinka sitä käytetään.

Kortinhaltijat joilla on maksukeskeytys Maksuryhmään liitettyjen kortinhaltijoiden lukumäärä, joiden maksut ovat tilapäisesti keskeytetty.

VERKKOVELHO-YLLÄPITOTYÖKALUN KÄYTTÖOHJE

Ohjelmoinnin perusteet Y Python

Huoltajien Daisy. Päivitetty

POP-UP -IKKUNOIDEN SALLIMINEN

4. Lausekielinen ohjelmointi 4.1

2017/11/21 17:28 1/2 Tilitapahtumat. Tilitapahtumat... 1 Käyttö:... 1 Asiakirjan kentät:... 1

Webforum. Version 14.4 uudet ominaisuudet. Viimeisin päivitys:

1 Yleistä Web-editorista Web-editori -dokumentin luominen Pikatoimintopainikkeet Tallenna... 3

Tämä on PicoLog Windows ohjelman suomenkielinen pikaohje.

MICROSOFT EXCEL 2010

BaseMidlet. KÄYTTÖOHJE v. 1.00

Visma Nova. Visma Nova ASP käyttö ja ohjeet

JAKELUPISTE KÄYTTÖOHJE 2/6

Visma Business AddOn Tositteiden tuonti. Käsikirja

Luento 5. Timo Savola. 28. huhtikuuta 2006

Yrjö Määttänen Kokemuksia SuLVInetin käytön aloituksen

Käyttöohje: LAPIO latauspalvelu

Webforum. Version 14.3 uudet ominaisuudet. Viimeisin päivitys:

KAAVAT. Sisällysluettelo

Ohjelmoinnin perusteet Y Python

ACUTE OHJE Riskitietojen kirjaaminen ja tarkastelu

Tietojen syöttäminen ohjelmalle. Tietojen syöttäminen ohjelmalle Scanner-luokan avulla

CSV - XML ohjelman käyttöohje

Käyttäjän käsikirja. LIB 500 ja LIB 510 v Releasettelutyökalu Yleistä. ,NNXQDMRNDLOPRLWWDDHWWlNRKGHRQSlLYLWHWWlYl

Visma Fivaldi -käsikirja MiniCRM

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.3.0

Nuorten hyvinvointi tilastotietokannan käyttöohjeet Tieke

CABAS. Perusominaisuuksien käyttö

Titta-palvelun käyttöohje

Opus Internet ajanvaraus on maksullinen lisäominaisuus. Lue lisää

5. HelloWorld-ohjelma 5.1

Informaatioteknologian laitos Olio-ohjelmoinnin perusteet / Salo

LoCCaM. LoCCaM Cam laitteiston ohjaaminen. Dimag Ky dimag.fi

1 Yleistä Kooste-objektista Käyttöönotto Kooste-objektin luominen Sisällön lisääminen Kooste objektiin Sivut...

3. Muuttujat ja operaatiot 3.1

Onni-oppimispäiväkirjan ohje version 1.2

Liferay CE KÄYTTÖOHJE PÄIVITTÄJÄLLE. Content Manager. Ambientia Oy TM Ambientia

Tekstinkäsittely ja opinnäytetyö I sisällysluettelo ja sivunumerointi. Word 2007

OHJELMOINTILAITE 10/50

Tikon kassamaksujen käsittely

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

ASTERI KIRJANPITO KIELIVERSION OHJE

Muistitikun liittäminen tietokoneeseen

1 KR-Laskut Mallitiliöinnit Kommenttikentän käyttö mallitiliöinneissä Mallitiliöinnin tallennus-sivu...

Harjoitustyö: virtuaalikone

1 Asentaminen. 2 Yleistä ja simuloinnin aloitus 12/

1. Kalenterin omistajan käyttöohje

Microsoft Outlook Web Access. Pikaohje sähköpostin peruskäyttöön

Setup Utility (Tietokoneen asetukset) -apuohjelma. Oppaan osanumero:

Kyvyt.fi eportfolion luominen

Basware Supplier Portal

Tutoriaaliläsnäoloista

etunimi, sukunimi ja opiskelijanumero ja näillä

Windows Server 2012 asentaminen ja käyttöönotto, Serverin pyörittämisen takia tarvitaan

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.

Ohjelmoinnin perusteet Y Python

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

MPCC-työkalua voidaan käyttää yhden laitteen valvontaan ja yhden tai useamman laitteen konfigurointiin (Modbus broadcast, osoite 0).

Transkriptio:

Esipuhe, sisällysluettelo Osa 1: Työskentely inkrementti-awl-editorilla Osa 2: Työskentely AWL-tekstieditorilla SIMATIC S7 Osa 3: Kieliku vau s Yksiköiden ohjelmointi Liitteet Käsikirja

Turvallisuus - määräykset! Tässä käsikirjassa on ohjeita, joita on noudatettava henkilökohtaisen turvallisuuden ja esinevahinkojen välttämiseksi. Ohjeet on merkitty kolmiolla seuraavasti vaarallisuusasteen mukaisesti: Vaara tarkoittaa, että aiheutuu kuolema, vaikea ruumiinvamma tai huomattava esinevahinko, jollei tarpeellisia varotoimenpiteitä suoriteta.! Varoitus tarkoittaa, että kuolema, vaikea ruumiinvamma tai huomattavia esinevahinkoja saattaa aiheutua, jollei tarpeellisia varotoimenpiteitä suoriteta.! Varo tarkoittaa, että lievä ruumiinvamma tai esinevahinko saattaa aiheutua, jollei tarpeellisia, varotoimenpiteitä suoriteta. Huomautus on tärkeä tieto tuotteesta, tuotteen käsittelystä tai käsikirjan siitä osasta, johon tulee kiinnittää erityistä huomiota. Määräysten mukainen käyttö! Huomioitava seuraavaa: Varoitus Laitetta saa käyttää vain katalogissa ja teknisessä selostuksessa mainituissa yksittäistapauksissa ja vain Siemens suosittelemien tai hyväksymien vieraslaitteiden ja -komponenttien yhteydessä. Tavaramerkit SIMATICR ja SINECR ovat SIEMENS AG:n tavaramerkkejä. Muut tällaiset merkinnät voivat olla tavaramerkkejä, joiden käyttö kolmannen osapuolen tarkoituksiin saattaa loukata haltijan oikeuksia. Copyright E Siemens AG 1996 All rights reserved Tämän aineiston edelleenjakelu sekä monistus, sen sisällön hyödyntäminen ja siitä tiedottaminen ei ole sallittua, mikäli siitä ei ole selvästi sovittu. Rikkomukset johtavat vahingonkorvauksiin. Kaikki oikeudet pidätetään, erityisesti jos tuotteella on patentti tai GM-merkintä. Siemens AG Bereich Automatisierungstechnik Geschäftsgebiet Industrie-Automatisierung Postfach 4848,D- 9327 Nürnberg Siemens Aktiengesellschaft Vastuuvapaus Olemme tarkastaneet tämän tuotteen sisällön yhtäpitävyyden kuvattuun laite- ja ohjelmistopuoleen nähden. Poikkeukset eivät kuitenkaan ole poissuljettuja, niin että emme takaa täydellistä yhdenmukaisuutta. Tämän tuotteen tiedot tarkistetaan säännöllisesti ja tarpeelliset korjaukset tehdään seuraaviin painoksiin. Kiitämme etukäteen parannusehdotuksista. E Siemens Osakeyhtiö 1997 Pidätämme oikeudet teknisiin muutoksiin. Buch-Nr. C79-G7-C35 Tämä on käännös vastaavasta alkuperäiskielisestä ohjeesta. Käännöksen jälkeen voi tulla uusia versioita ja ominaisuuksia, joiden suhteen on syytä tukeutua uusimpaan alkuperäispainokseen.

Esipuhe Käsikirjan tarkoitus Tämä käsikirja antaa tukea laadittaessa käyttäjäohjelmia AWL-ohjelmointikielellä. Siksi tässä selitetään ohjelman laadinnan periaatteelliset menettelytavat inkrementti-awl-editorissa ja tekstieditorissa. Käsittelyvaiheiden yksityiskohdat löytyvät Online-avusta. Sen ohella käsikirja sisältää AWL-ohjelmointikielen kielielementtien referenssiosan syntaksissa ja siinä kuvataan myös yksittäisten kielielementtien toimintatapoja. Käyttäjät Tämä käsikirja on tarkoitettu S7-ohjelmoijille, käyttöönottajille ja huoltohenkilöstölle. Tämä edellyttää kyseisen alueen automaatiotekniikan yleistä tuntemusta. Käsikirja voimassaolo IEC 1131-3:n mukaiset normit Tämä käsikirja pätee STEP 7 -ohjelmiston versiolle 2.. AWL vastaa normissa DIN EN-61131-3 ( int. IEC 1131-3) määriteltyä kieltä käskylista (engl. Instruction List), jolloin operaatioiden suhteen syntyy huomattavia eroja. STEP 7:n NORM.TAB-tiedoston normitaulukossa on tarkka kuvaus normien täyttymisestä. Muutokset edellisen version suhteen Tässä käsikirjassa on yhdistetty STEP 7-käyttäjäkäsikirjan käyttöohje ja AWL -referenssikäsikirja versioksi 1.. Tämä suomenkielinen käsikirja perustuu englanninkieliseen ohjelmavalikkoon ja SIMATIC -kielikantaan. iii

Esipuhe Sijoitus S7 3/4 informaatiodokumentoinnissa S7-automaatiojärjestelmän tueksi ja konfiguroimiseksi on olemassa laaja käyttäjädokumentointi, joka on tarkoitettu valikoivaan käyttöön. Seuraavien selvitysten tulisi kuvan 1-1 ohella helpottaa käyttäjädokumentoinnin käyttöä. Annettu järjestys on ehdotus S7:n ensikäyttäjälle. Symboli Merkitys Dokumentointi johtaa metodiikkaan. Hakuteokset ja siksi vain valikoidusti käytettävissä. Dokumentointia täydennetään Online-avulla. Aapinen /3/ Automaatiojärjestelmä S7-3 Yksinkertainen rakenne ja ohjelmointi Käsikirja M7-3/4-käsikirjat Laitteisto Referenssikäsikirja Ohjelmointikäsikirja /234/ Järjestelmäohjelmisto S7-3/4 Ohjelmasuunnittelu Online-apu Käyttäjäkäsikirja PerusohjelmistoS7jaM7 STEP 7 Käyttäjäkäsikirja Perusohjelmisto S7-3/4 S5-ohjelmien konvertointi /231/ /23/ KOP AWL SCL C/S7 * /233/ /232/ /25/ /253/ Järjestelmäohjelmisto S7-3/4 Järjestelmä- ja standarditoiminnat GRAPH 7 HiGraph CFC / S7 * /235/ /251/ /252/ /254/ Kielipaketit * valmisteilla /xxx/: kirjallisuusluettelon kirjanumero Kuva 1-1 Informaatiodokumentointi iv

Esipuhe Taulukko 1-1 Informaatiosisältö Nimi *) Aapinen S7-3 Yksinkertainen rakenne ja ohjelmointi Ohjelmointikäsikirja Ohjelmasuunnittelu S7-3/4 Referenssikäsikirja Järjestelmä- ja standarditoiminnat S7-3/4 Käyttäjäkäsikirja STEP 7 Käyttäjäkäsikirja S5-ohjelmien konvertointi Käsikirjat AWL, KOP, SCL 1 Käsikirjat GRAPH 1,HiGraph 1, CFC 1 1 S7-3/4:n optiopaketit järjestelmäohjelmistolle *) käsikirjat englannin - ja saksankielisinä Sisältö Aapinen perehdyttää hyvin yksinkertaisesti S7-3/4:n ohjelmoinnin ja rakenteen metodiikkaan. Se sopii erinomaisesti S7-automaatiojärjestelmän ensikäyttäjälle. Ohjelmointikäsikirja Ohjelmasuunnittelu S7-3/4 antaa perustavaa laatua olevaa tietoa S7-CPU:n käyttäjäohjelman ja käyttöjärjestelmän rakenteesta. S7-3/4:n ensikäyttäjän tulisi käyttää sitä hankkiakseen yleiskuvan ohjelmointimetodiikasta ja rakentaakseen käyttäjäohjelman suunnitelunsa sen varaan. S7-CPUt sisältävät käyttöjärjestelmäään integroituja järjestelmätoimintoja ja organisaatioyksiköitä, joita voidaan käyttää ohjelmoinnissa. Käsikirja antaa yleiskuvan S7:ssä käytettävistä järjestelmätoiminnoista, organisaatioyksiköistä ja ladattavista standarditoiminnoista sekä - hakutietona - yksityiskohtaisia liitäntäpistekuvauksia käyttäjäohjelmaan soveltamiseksi. STEP 7 -käyttäjäkäsikirjassa selitetään STEP 7 -automaatio-ohjelmiston periaatteellista käyttöä ja toimintoja. STEP 7:n ensikäyttäjälle sekä myös STEP 5:n tuntijalle antaa käsikirja yleiskuvan S7-3/4:n menettelytavoista konfiguroinnissa, ohjelmoinnissa ja käyttöönotossa. SW:llä työskenneltäessä voidaan päästä valikoiden Online-apuun, josta saa tukea SW-käytön yksityiskohtaisiin kysymyksiin. Käyttäjäkäsikirjaa S5-ohjelmien konvertointi tarvitaan, mikäli halutaan konvertoida jo olemassa olevia S5-ohjelmia, jotta nämä saataisiin toimimaan S7-CPU:ssa. Käsikirja antaa yleiskuvan menettelytavoista ja konvertterin käytöstä; konvertteritoimintojen yksityiskohtainen käyttö selviää Online-avusta. Online-avustaa saa myös käytettävien konvertoitujen S7-toimintojen liitäntäpistekuvauksen. Kielipakettien AWL, KOP ja SCL -käsikirjoissa on sekä käyttöohjeet että kielikuvaus. S7-3/4:n ohjelmointiin tarvitaan vain yhtä näistä kielistä, mutta tarvittaessa voidaan projektissa yhdistää kieliä. Käytettäessä kieliä ensimmäistä kertaa suositellaan perehtymistä ohjelman laadintamenetelmiin käsikirjan avulla. SW:llä työskenneltäessä voidaan käyttää Online-apua, joka vastaa kaikkiin yksityiskohtaisiin kysymyksiin koskien asianomaisten editorien/käännösohjelmien käyttöä. GRAPH, HiGraph, CFC -kielet tarjoavat lisäksi mahdollisuuksiaaskelohjausten,tilaohjausten tai graafisten yksikkökytkentöjen toteuttamiseen. Käsikirjoissa on sekä käyttöohje että kielikuvaus. Käytettäessä kieliä ensimmäistä kertaa suositellaan perehtymistä ohjelman laadintamenetelmiin käsikirjan avulla. SW:llä työskenneltäessä voidaan käyttää lisäksi Online-apua (poikkeuksena HiGraph), joka vastaa kaikkiin yksityiskohtaisiin kysymyksiin koskien asianomaisten editorien/käännösohjelmien käyttöä. v

Esipuhe Hakuapu käsikirjaan Tämä AWL -käsikirja edellyttää teoreettista tietoa S7-ohjelmista, jota saa ohjelmointikäsikirjasta /234/. Koska kielipaketit perustuvat STEP 7 -perusohjelmistoon, tulisi käyttäjällä olla jo tietoa perusohjelmiston käsittelystä, jota löytyy käyttäjäkäsikirjasta /231/. Käsikirja on jaoteltu seuraavien aihepiirien mukaisesti. S Osassa 1 selitetään inkrementti-awl-editorin käsittelyä. S Osassa 2 selitetään lähdetiedostojen luontia tekstieditorissa. S Osa 3 on referenssiosa kaikista AWL-operaatioista ja se on ajateltu hakuteokseksi. Sopimukset Viitteet lisädokumentointiin on annettu kirjanumerointia apuna käyttäen /.../. Näiden numeroiden avulla löytyy dokumentin tarkka nimi tämän käsikirjan lopussa olevasta kirjallisuusluettelosta. Muu tuki Kuvatun ohjelmiston käyttöä koskevissa kysymyksissä, joihin ei löydy vastausta paperidokumentoinnista eikä Online-avusta, tulee kääntyä Siemensin puoleen. Helpottaaksemme SIMATIC S7 -automaatiojärjestelmään tutustumista, pidämme kursseja tästä aiheesta, puh. 9-5151 / Simatic -kurssit. Erityisviittaus Tämän käsikirjan käyttäjäosassa ei ole mitään yksityiskohtaisia ohjeita yksittäisine vaiheineen, vaan sen tulee selventää periaatteellisia menettelytapoja. Tarkempaa tietoa ohjelmistodialogeista ja niiden käsittelystä löytyy aina Onlineavusta. vi

Sisällysluettelo Esipuhe... iii Osa 1: Työskentely inkrementti-awl-editorilla 1 Yleiskuva tuotteesta... 1-1 2 Johdanto... 2-1 2.1 Käyttäjäohjelmien rakenne... 2-2 2.2 Käyttäjäohjelmien laadinta -- yleiskuva... 2-4 2.3 Huomioon otettavat säännöt... 2-7 3 Koodiyksiköiden laadinta... 3-1 3.1 Koodiyksiköiden laadinta -- yleiskuva... 3-2 3.2 Koodiyksiköt editorissa... 3-3 3.3 Muuttujien selitystaulukon rakenne... 3-5 3.4 Muuttujien selitystaulukoiden käsittely... 3-7 3.5 Multi-instanssien selitys... 3-9 3.6 Käskyosan käsittely -- yleiskuva... 3-1 3.7 Käskyjen anto... 3-12 3.8 Symbolinen osoitteen anto... 3-14 3.9 Otsikkojen ja kommenttien anto... 3-16 4 Tiedostoyksiköiden ja käyttäjämääritteisten tiedostotyyppien anto... 4-1 4.1 Tiedostoyksiköiden laadinta -- yleiskuva... 4-2 4.2 Laadintamenetelmän valinta... 4-4 4.3 Selitystaulukon käsittely... 4-5 4.4 Aktuellien data-arvojen käsittely... 4-6 4.5 Käyttäjämääritteisten tiedostotyyppien laadinta... 4-8 5 Yksikön ominaisuuksien ja ohjelmatestin käsittely... 5-1 5.1 Yksikön ominaisuuksien käsittely... 5-2 5.2 AWL-ohjelman testaus - yleiskuva... 5-4 5.3 Ohjelmatilan näytön asetus... 5-5 5.4 Triggeriehtojen asetus... 5-6 5.5 Testausympäristön valinta ja ohjelman tilan käynnistys/pysäytys... 5-7 vii

Sisällysluettelo Osa 2: AWL-tekstieditorilla työskentely 6 Käyttäjäohjelman lähdetiedostojen luonti... 6-1 6.1 Käyttäjäohjelmien laadinta... 6-2 6.2 Ohjelmointi tekstieditorissa... 6-5 6.3 Yksikkömallien, yksiköiden tai lähdetiedostojen lisäys... 6-6 6.4 Symbolisen osoitteenannon käyttö... 6-7 6.5 Tallennus, konsistenssikoe ja lähdetiedostojen kääntäminen... 6-8 7 Syntaksi ja lähdetiedostojen säännöt... 7-1 7.1 Yleiset syöttösäännöt ja rakenne... 7-2 7.2 Koodiyksiköiden yleinen muotorakenne... 7-4 7.3 Tiedostoyksiköiden yleinen muotorakenne... 7-6 7.4 Käyttäjämääritteisten tiedostotyyppien yleinen muotorakenne... 7-8 7.5 Muuttujaselitysten säännöt... 7-9 7.6 Yksikön ominaisuuksien anto... 7-11 Osa 3: Kielikuvaus 8 AWL:n rakenne ja elementit... 8-1 8.1 Käskyn rakenne... 8-2 8.2 CPU-rekisterin merkitys käskyissä... 8-1 9 Osoitteen anto... 9-1 9.1 Suora arvon anto... 9-2 9.2 Suora osoiteanto... 9-2 9.3 Epäsuora osoiteanto (muistialue)... 9-3 9.4 Osoiterekisteri... 9-6 9.5 Epäsuora (rekisteri) osoiteanto, alueen sisältävä osoiteanto... 9-7 9.6 Epäsuora (rekisteri) osoiteanto, alueen hakeva osoiteanto... 9-11 1 Akkuoperaatiot ja osoiterekisterikäskyt... 1-1 1.1 Yleiskuva... 1-2 1.2 ENT ja LEAVE... 1-3 1.3 Inkrementointi ja dekrementointi... 1-6 1.4 +AR1 ja +AR2: vakion lisääminen osoiterekisteriin 1 tai 2... 1-7 11 Bittilukitusoperaatiot... 11-1 11.1 Lukitusoperaatiot bittioperandeilla... 11-2 11.2 Bittilukitusoperaatiot ja relekytkentäpiirit... 11-6 11.3 Ehtojen tulkinta JA-, TAI- ja EHDOTON TAI-käskyllä... 11-1 11.4 Sulkulausekkeiden ja JA -käsky ennen TAI -käskyä lukitusoperaatiot... 11-14 viii

Sisällysluettelo 11.5 Reunaoperaatiot (pulssinmuodostus): FP, FN... 11-16 11.6 Lukitusketjun päättäminen... 11-2 11.7 Operaatiot aseta ja nollaa: S ja R... 11-21 11.8 Operaatio osoitus (=)... 11-24 11.9 LUK:n kääntö, asetus, nollaus ja varmistus... 11-26 12 Aikaoperaatiot... 12-1 12.1 Yleiskuva... 12-2 12.2 Ajan muistialueet ja komponentit... 12-3 12.3 Ajan lataus, käynnistys, nollaus ja vapautus... 12-5 12.4 Esimerkkejä ajoista... 12-7 12.5 Aikaoperaatioiden operandit ja alueet... 12-17 12.6 Oikean ajan valinta... 12-18 13 Laskentaoperaatiot... 13-1 13.1 Yleiskuva... 13-2 13.2 Laskurin asetus, nollaus ja vapautus... 13-3 13.3 Eteenpäin- ja taaksepäinlaskenta... 13-5 13.4 Laskenta-arvon lataus kokonaislukuna... 13-6 13.5 Laskenta-arvon lataus BCD-muodossa... 13-7 13.6 Esimerkki laskurista... 13-8 13.7 Laskentaoperaatioiden operandit ja alueet... 13-1 14 Lataus- ja siirto-operaatiot... 14-1 14.1 Yleiskuva... 14-2 14.2 Lataus ja siirto... 14-3 14.3 Tilasanan luku tai siirto... 14-6 14.4 Aika- ja laskenta-arvojen lataus kokonaislukuina... 14-7 14.5 Aika- ja laskenta-arvojen lataus BCD-muodossa... 14-9 14.6 Osoiterekisterien välinen lataus ja siirto... 14-11 14.7 Tietojen lataus tiedostoyksiköstä... 14-12 15 Kokonaislukuaritmetiikka... 15-1 15.1 Peruslaskentaoperaatiot... 15-2 15.2 Kokonaisluvun lisääminen AKKU 1:een... 15-6 16 Liukulukuaritmetiikka... 16-1 16.1 Peruslaskentaoperaatiot... 16-2 16.2 Liukuluvun summan muodostus... 16-6 16.3 Laajennetut laskentaoperaatiot... 16-7 16.4 Liukuluvun neliön tai neliöjuuren muodostus... 16-9 ix

Sisällysluettelo 16.5 Liukuluvun luonnollisen logaritmin muodostus... 16-11 16.6 Liukuluvun eksponenttiarvon muodostus... 16-12 16.7 Kulmien trigonometristen funktioiden laskenta liukulukuina... 16-13 17 Vertailuoperaatiot... 17-1 17.1 Yleiskuva... 17-2 17.2 Kahden kokonaisluvun vertailu... 17-3 17.3 Kahden liukuluvun vertailu... 17-5 18 Muunnosoperaatiot... 18-1 18.1 Binäärikoodattujen desimaali- ja kokonaislukujen muunto... 18-2 18.2 Liukulukujen (32 bittiä) muunto kokonaisluvuiksi (32 bittiä)... 18-8 18.3 AKKU 1:n tavujen järjestyksen muuttaminen... 18-13 18.4 Kokonaislukujen komplementtien muodostus ja liukuluvun etumerkin vaihto... 18-14 19 Sanalukitusoperaatiot... 19-1 19.1 Yleiskuva... 19-2 19.2 Sanalukitusoperaatiot (16 bittiä)... 19-3 19.3 Sanalukitukset (32 bittiä)... 19-6 2 Siirto- ja pyöritys(rotaatio)operaatiot... 2-1 2.1 Siirto-operaatiot... 2-2 2.2 Pyöritysoperaatiot... 2-6 21 Tiedostoyksikköoperaatiot... 21-1 21.1 Tiedostoyksiköiden avaus... 21-2 21.2 Tiedostoyksikkörekisterin vaihto... 21-2 21.3 Tiedostoyksiköiden numeroiden ja pituuksien lataus... 21-3 22 Hyppyoperaatiot... 22-1 22.1 Yleiskuva... 22-2 22.2 Ehdottomat hyppyoperaatiot... 22-3 22.3 Lukitustuloksesta riippuvat hyppyoperaatiot... 22-4 22.4 Tilasanan biteistä BIE, OV tai OS riippuvat hyppyoperaatiot... 22-5 22.5 Tilasanan bittien A1 ja A sisällöstä riippuvat hyppyoperaatiot... 22-6 22.6 Ohjelmasilmukka... 22-8 23 Ohjelmanohjausoperaatiot... 23-1 23.1 Parametrointi FC:eitä ja FB:eitä kutsuttaessa... 23-2 23.2 Toimintojen ja toimintayksiköiden kutsuminen CALL:illa... 23-3 x

Sisällysluettelo 23.3 Toimintojen ja toimintayksiköiden kutsuminen CC:llä ja UC:llä... 23-7 23.4 Master Control Relayn toiminnat... 23-1 23.5 Master Control Relayn operaatiot... 23-11 23.6 Yksikön loppu... 23-15 Liitteet A Aakkosellinen operaatiolista... A-1 A.1 IEC -mnemoniikka ja SIMATIC-mnemoniikka... A-2 B Ohjelmointiesimerkkejä... B-1 B.1 Yleiskuva... B-2 B.2 Bittilukitusoperaatiot... B-3 B.3 Aikaoperaatiot... B-7 B.4 Laskenta- ja vertailuoperaatiot... B-1 B.5 Aritmeettiset operaatiot kokonaisluvuilla... B-12 B.6 Sanalukitusoperaatiot... B-14 C Lähdetiedostot - esimerkit ja varatut avainsanat... C-1 C.1 Esimerkkejä lähdetiedostosta... C-2 C.2 Varatut avainsanat... C-6 D Lukujen esitys... D-1 D.1 Lukujen esitys... D-2 xi

Sisällysluettelo xii

Osa 1: Inkrementti-AWL-editorilla työskentely Yleiskuva tuotteesta 1 Johdanto 2 Koodiyksiköiden laadinta 3 Tiedostoyksiköiden ja käyttäjämääritt. tiedostotyyppien anto 4 Yksikön ominaisuuksien ja ohjelmatestin käsittely 5

1-2

Yleiskuva tuotteesta 1 Mitä AWL tarkoittaa? AWL tarkoittaa käskylistaa. AWL on tekstiohjelmointikieli, jota käytetään koodiyksiköiden käskyosan laadintaan. Käskyjen syntaksi muistuttaa Assembler-kieltä: käskyjä tai operaatioita seuraavat operandit. AWL ohjelmointikieli AWL on niistä ohjelmointikielistä, joilla S7-ohjaukset voidaan ohjelmoida, se, joka on lähimpänä S7-CPU:iden konekoodia MC7. Sen vuoksi sillä voidaan ohjelmoida ohjaustehtäviä erittäin muistipaikka- ja kulkuaikaoptimaalisesti. AWL -ohjelmointikielessä on käytettävissä kaikki elementit, joita tarvitaan täydellisen käyttäjäohjelman laadintaan. AWL:llä on mahtava käskykanta. Käytettävissä on yli 13 erilaista perusoperaatiota sekä laaja valikoima operandeja ja niiden parametrointeja. Sama pätee toimintayksiköiden ja toimintojen konseptille, joiden avulla AWL-ohjelma voidaan havainnollisesti rakentaa. Ohjelmointipaketti AWL-ohjelmistopaketti on STEP 7 -perusohjelmiston integroitu osa. STEP 7-ohjelmiston asennuksen jälkeen on käytettävissä kaikki AWL:n editori-, käännösohjelma- ja testitoiminnat. AWL:n avulla voidaan laatia käyttäjäohjelma S inkrementtieditorilla. Tässä on ratkaistu yksikön paikallinen tiedostorakenne mukavasi taulukkoeditoreilla. S lähdetiedostona tekstieditorilla. Mukana seuraavassa editorissa on tekstinsyöttöä yksinkertaistettu yksikkömallien avulla. Koska AWL:n ohella myös KOP- ja FUP-ohjelmointikielet on integroitu perusohjelmistoon, voidaan muutamia rajoituksia huomioiden vaihdella kaikkien kolmen kielen välillä ja valita siten sopiva esitys yksikköohjelmointia varten. 1-1

1-2

Johdanto 2 Mitä tämä kappale sisältää? Tässä kappaleessa selitetään lyhyesti yksiköistä muodostuvan käyttäjäohjelman rakenne. Inkrementti-AWL-editori asettaa SIMATIC managerissa pohjan kaikille STEP 7-sovelluksille. Tässä selviää, miten SIMATIC managerista päästään inkrementti-awl-editoriin ja mihin laaditut yksiköt on järjestetty projektirakenteessa. Yleiskuva kappaleesta Kappale Sisältö Sivu 2.1 Käyttäjäohjelmien rakenne 2-2 2.2 Käyttäjäohjelmien laadinta - yleiskuva 2-4 2.3 Huomioon otettavat säännöt 2-7 2-1

Johdanto 2.1 Käyttäjäohjelmien rakenne 2 Koodiyksiköt ja tiedostoyksiköt Käyttäjäohjelma koostuu koodiyksiköistä ja tiedostoyksiköistä. Koodiyksiköihin kuuluvat kaikki yksiköt, joissa on käskyosa, siis organisaatioyksiköt, toimintayksiköt ja toiminnat. Organisaatio - yksiköt Organisaatioyksiköt (OBt) esittävät käyttöjärjestelmän ja käyttäjäohjelman välistä liitäntäpistettä. Eri organisaatioyksiköillä on tällöin ihan määrättyjä tehtäviä. S7-CPU:n AWL-käyttäjäohjelma kootaan organisaatioyksiköistä (OBt), joita automaatioratkaisussa tarvitaan. Yksinkertaisimmassa tapauksessa siihen kuuluvat S käynnistyksen (OB 1, OB 11) S syklisen pääohjelman (OB1) ja S virheenkäsittelyn (OB 8... OB 87, OB 121, OB 122), mikäli CPU:n ei tule vikatapauksessa mennä STOP-tilaan, organisaatioyksiköt. Sen lisäksi on vielä muita organisaatioyksiköitä, joiden avulla voidaan käsitellä CPU:n tai prosessin keskeytyksiä. Mitä tehtäviä kullakin organaisaatioyksiköllä on ja minkä aloitusinfon CPUkäyttöjärjestelmä antaa, selviää referenssikäsikirjasta /235/. Toiminnat/ toimintayksiköt Jokainen organisaatioyksikkö voidaan ohjelmoida rakenteellisena ohjelmana, laatimalla toiminnat (FC) ja toimintayksiköt (FB) ja kutsumalla niitä käskyosassa. Yksikköä kutsuttaessa tulee selvitetyt parametrit varustaa vastaavasti tiedoilla. S S Toimintayksikkö (FB) on koodiyksikkö muistilla. Muistina toimii tällöin FB:lle varattu oheis-tiedostoyksikkö, johon todelliset parametrit ja toimintayksikön staattiset tiedot tallennetaan. Toiminta (FC) on koodiyksikkö ilman muistia. Lähtöparametrit sisältävät FC:n käsittelyn jälkeen lasketut toiminta-arvot. Todellisten parametrien muu käyttö ja tallennus FC:n kutsun jälkeen on käyttäjän oma asia. Tiedot Käyttöjärjestelmä asettaa valmiiksi seuraavat tiedot: S Periferiatulot- ja lähdöt S Tulojen ja lähtöjen prosessikuva S Merkkerit S Ajat S Laskurit 2-2

Johdanto Lisäksi voidaan määritellä omia tietoja: S Globaalidata, joka pätee koko käyttäjäohjelmalle, määritellään tiedostoyksiköissä. S Staattiset muuttujat pätevät aina siinä FB:ssä, jossa ne on määritelty. Joka kerran FB:tä kutsuttaessa annetaan oheis-db, joka sisältää kaikkien parametrien ohella staattiset tiedot. Mikäli moni-instanssit on määritelty, on niiden instanssitiedot, staattiset tiedot mukaanlukien upotettu oheis-db:hen. S Väliaikaiset tiedot määritellään koodiyksiköitä laadittaessa. Ne varaavat muistipaikan pinossa vain koodiyksikön käsittelyn ajan. 2 Tiedostoyksiköt Käyttäjäohjelman tiedot tallennetaan tiedostoyksiköihin. Tiedostoyksiköitä on kahta lajia, globaali-tiedostoyksiköt ja oheis-tiedostoyksiköt. S Globaali-tiedostoyksiköihin pääsee käyttäjäohjelman joka kohdasta. S Oheis-tiedostoyksiköt on varattu toimintayksikölle ja ne sisältävät FB:n tietojen ohella myös mahdollisesti määriteltyjen moni-instanssien tiedot. Siksi vain kyseisten toimintayksiköiden yhteydessä tulee käsitellä instanssi-tiedostoyksiköitä. Muuta tietoa Johdanto ohjelmointimetodiikkaan löytyy käsikirjasta /234/. 2-3

Johdanto 2.2 Käyttäjäohjelmien laadinta - yleiskuva 2 Käyttäjäohjelma Käyttäjäohjelma, jonka tulee toimia S7-CPU:ssa, muodostuu pääasiassa yksiköistä. Lisäksi se sisältää muuta informaatiota kuten esim. järjestelmän konfigurointitiedot tai järjestelmän verkotustiedot. Käyttötapauksesta riippuen tulee käyttäjäohjelmassa olla seuraavat yksiköt: S Organisaaatioyksiköt (OBt) S Toimintayksiköt (FBt) S Toiminnat (FCt) S Tiedostoyksiköt (DBt). Lisäksi voidaan yksinkertaistamista varten asettaa määriteltyjä tiedostotyyppejä (UDTt), joita voidaan käyttää omana tiedostotyyppinä tai DB:iden laadintamallina. Muutamat usein käytetyistä yksiköistä kuten järjestelmätoimintayksiköt (SFBt) ja järjestelmätoiminnat (SFCt) on integroitu CPU:hun. Muut yksiköt (esim. IEC-toimintoja tai säätäjäyksiköitä varten) ovat ladattavissa pakettina. Nämä, ei ohjelmoidut yksiköt, voidaan liittää yksinkertaisella tavalla käyttäjäohjelmaan. Huomautus Mitkä SFBt ja SFCt CPU:hun on integroitu, voidaan näyttää online Accessible Nodes " Blocks kautta. Inkrementti-AWLeditori Yksiköiden ohjelmoimiseksi on STEP 7:n perusohjelmiston ohella käytettävissä vastaava editori. Koodiyksiköiden ohjelmoimiseksi (OBt, FBt, FCt) voidaan asettaa ohjelmointikieli AWL. AWL-editori työskentelee differentiaalisesti, se tarkoittaa, jokaisen syötön jälkeen suoritetaan siihen viittaava syntaksikoe. Syntaksivirheet näytetään, kielletyt operaatiot torjutaan heti. Aloitus SIMATIC järjestelmänhallinnasta Inkrementti-AWL-editori käynnistetään SIMATIC managerista. Edellytyksenä on, että siellä on S7-ohjelmalla varustettu projekti. Ohjelma voidaan laatia laitteistosta riippuen tai siitä riippumatta. Sitä varten liitetään S7-ohjelma suoraan projektiin tai käsitellään ohjelmoidulle yksikölle varattua S7-ohjelmaa. Ohjelmassa itsessään voi olla mm. käyttäjäohjelma-alueita (yksiköt), lähteitä tai suunnitelmia. Inkrementti-AWL-editorilla käsitellään yksinomaan yksiköitä, jotka on tallennettu käyttäjäohjelman alueelle. Editori mahdollistaa kuitenkin lisäksi vastaavien lähdetiedostojen generoimisen yksiköistä ja päinvastoin. 2-4

Johdanto Liikenne - SIMATIC Manager File View PLC Options Window Help verkehr - <Offline> (Projekt) verkehr Ampel Käyttäjäohjelma lähteet SIMATIC 3-Station1 OB1 DB5 FB6 DB6 2 Press F1, for help NUM Kuva 2-1 Inkrementti-EAWL-editorin käynnistys SIMATIC managerista Yksikön luonti Mikäli halutaan laatia yksikkö ensimmäisen kerran, tulee ensin luoda tyhjä yksikkö SIMATIC managerissa, jonka kautta editori avataan. Kun inkrementti-awl-editori on avattu, voidaan siellä luoda uusia yksiköitä. S S SIMATIC managerissa merkitään käyttäjäohjelma ja lisätään halutun yksikkölajin yksikkö valikkokäskyllä Insert S7-Block.... Uusi yksikkö ilmestyy oikealla olevaan projekti-ikkunaan. Inkrementtieditorissa uusi yksikkö voidaan luoda yksinkertaisesti valikkokäskyllä File New. Seurantadialogissa annetaan myös yksikkölaji ja yksikkönumero. Ohjelmointikielen valitseminen Yksikköä luotaessa määritellään, millä ohjelmointikielellä yksikkö halutaan laatia. Tämän tiedon mukaisesti käynnistetään vastaava editori yksikköä avattaessa. AWL:ssä tapahtuvaa ohjelmointia varten valitaan AWL -ohjelmointikieli. Yksikön avaaminen Yksikkö avataan SIMATIC managerissa kaksoisklikkaamalla yksikköä. Vaihtoehtoisesti voidaan tämä tehdä myös valikkokäskyllä Open Object tai menemällä toimintaliittimen vastaavaan symboliin. Yksiköiden tallennus ja lataus Talletettaessa yksikköä inkrementtieditoriin on huomioitava seuraavaa: S File Save tallentaa yksikön ohjelmassa aina PG:n tai PC:n kovalevylle. S PLC Download lataa avatun yksikön CPU:hun. 2-5

Johdanto 2 Kun käyttäjäohjelman yksiköt on laadittu, ladataan tämä SIMATIC managerissa täydellisenä S7-CPU:hun. Lisää käyttäjäohjelmien latausta koskevaa tietoa löytyy käyttäjäkäsikirjasta /231. Huomautus Aina ei riitä, että kaikki luodut yksiköt ladataan yksitellen CPU:hun, koska järjestelmäkonfigurointitietoja tarvitaan mahdollisesti. Ohjelma ladataan siksi aina kokonaisena SIMATIC managerissa. Tukitoimintojen kutsu Inkrementtieditorissa voidaan suorittaa suoraan seuraavat toiminnat, jotka ovat avuksi ohjelmaa laadittaessa ja käyttöönotossa: Taulukko 2-1 AWL-editorin tukitoiminnat Toiminnat Käyttäjäohjelmien referenssitietojen kutsu Symbolitaulukon tai yksittäisten symbolien käsittely Muuttujien seuranta /ohjaus Käyttötilan näyttö/vaihto sekä CPU:n perusnollaus CPUN:n yksikön tilan näyttö CPU:n päiväyksen ja kellonajan muutos Valikkokäsky Options " Reference Data Options " Symbols tai Insert " Symbol Table PLC " Monitor/Modify Variables PLC " Operating Mode tai PLC " Clear/Reset PLC " Module Information PLC " Set Time and Date Nämä toiminnat on kuvattu perusteellisesti käyttäjäkäsikirjassa /231/. 2-6

Johdanto 2.3 Huomioon otettavat säännöt Yksikön laadintajärjestys Käyttäjäohjelman koodiyksiköitä ja tiedostoyksiköitä laadittaessa on yksiköiden laadintajärjestys ratkaiseva. Periaatteessa pätee: Yksiköiden, joita kutsutaan toisesta yksiköstä käsin, tulee kutsua ohjelmoitaessa olla jo olemassa - siis aiemmin ohjelmoituja. Muussa tapauksessa tulee syötettäessä tai tallennettaessa virheilmoitus. 2 Käsittely ohjelman kulun aikana CPU:n ollessa käyttötilassa RUN, voidaan CPU:hun tallennettua käyttäjäohjelmaa käsitellä STEP 7:llä online.! Varoitus Meneillään olevan ohjelman Online-käsittely voi johtaa laitteen virhetoimintoihin tai ennennäkemättömiin häiriöihin ja siten loukkaantumisiin ja/tai esinevahinkoihin. Jos CPU on kytketty online ja on käyttötilassa RUN, voidaan CPU:hun tallennettua käyttäjäohjelmaa käsiteltäessä aiheuttaa erehdyksessä tilanteita, joissa laitteistot yhtäkkiä kytketään päälle ja pois päältä ja aiheutetaan näin esine- tai henkilövahinkoja. Prosessin kulku tulisi siksi aina suunnitella voimassa olevia turvallisuusmääräyksiä noudattaen. Meneillään olevaa ohjelmaa ei tulisi koskaan yrittää muuttaa Online-tilassa, ilman että sitä ennen on varmistuttu riittävistä turvallisuustoimenpiteistä. Huomautus Online- ja Offline-kytkennästä löytyy tietoa käyttäjäkäsikirjasta /231/. 2-7

Johdanto 2 2-8

Koodiyksiköiden laadinta 3 Mitä tämä kappale sisältää? Käyttäjäohjelma ei selviä ilman koodiyksiköitä. Monissa ongelmissa voidaan tosin turvautua keskusyksikön integroituihin yksiköihin tai tarjottuihin standarditoimintayksiköihin. Vähimmäismäärä koodiyksiköitä on joka tapauksessa kuitenkin laadittava itse. Tässä kappaleessa kerrotaan, miten inkrementti- AWL-editorissa tällöin menetellään. Yleiskuva kappaleesta Kappale Sisältö Sivu 3.1 Koodiyksiköiden laadinta - yleiskuva 3-2 3.2 Koodiyksiköt editorissa 3-3 3.3 Muuttujien selitystaulukon rakenne 3-5 3.4 Muuttujien selitystaulukon käsittely 3-7 3.5 Multi-instanssien selitys 3-9 3.6 Käskyosan käsittely - yleiskuva 3-1 3.7 Käskyjen anto 3-12 3.8 Symbolinen osoitteenanto 3-14 3.9 Otsikoiden ja kommenttien anto 3-16 3-1

Koodiyksiköiden laadinta 3.1 Koodiyksiköiden laadinta - yleiskuva 3 Koodiyksiköt Koodiyksiköt (OBt, FBt, FCt) muodostuvat muuttujien selitysosasta, käskyosasta ja niillä on lisäominaisuuksia. Ohjelmoitaessa tulee käsitellä seuraavia kolmea osaa: S S S Muuttujien selitystaulukko. Muuttujien selitystaulukossa määritellään yksikön parametrit ja paikalliset muuttujat. Käskyosa: Käskyosassa ohjelmoidaan yksikkökoodi, jota automaatiojärjestelmän tulee käsitellä. Se muodostuu yhdestä tai useammasta virtapiiristä, joissa AWL-käsky. Yksikön ominaisuudet: Yksikön ominaisuuksissa on lisätietoa kuten aikamäärite tai polkutieto, jotka järjestelmä kirjoittaa. Sen ohella voi itse antaa nimiä, ryhmän, version ja tekijän. Koodiyksikön käsittely Periaatteessa on sama, missä järjestyksessä näitä kolmea koodiyksikön osaa käsitellään. Yksikköä voi jälkeenpäin myös korjata ja täydentää. Mikäli halutaan takaisin symbolitaulukon symboleihin, tulee ensin tarkistaa, että nämä ovat täydellisiä ja tarpeen vaatiessa mahdollisesti täydentää niitä. SIMATIC managerissa luodaan koodiyksikkö (FB, FC tai OB) inkrementti AWL-editori Käsitellään yksikön muttujien selitystaulukkoa. Käsitellään käskyosaa. Käsitellään yksikön ominaisuuksia. Tallennetaan yksikkö. Kuva 3-1 Menettelytapa ohjelmoitaessa koodiyksiköitä AWL:ssä 3-2

Koodiyksiköiden laadinta 3.2 Koodiyksiköt editorissa Yleiskuva Editorin asetukset Ennenkuin aloitetaan ohjelmointi inkrementti-awl-editorissa, tulisi tutustua asetusmahdollisuuksiin, jotta voitaisiin työskennellä mahdollisimman mukavasti ja tottumuksia vastaten. Valikkokäskyn Options Customize kautta avataan rekisteridialogi. Rekisterissä Editori voidaan asettaa esiasetukset yksiköiden ohjelmointia varten seuraavasti: S kirjoitus (laji, tyyli ja koko) tekstinä ja taulukkoina S valittu kieli (KOP tai AWL tai ). Kielivalinnasta riippuen KOP:ssa, FUP:ssa tai AWL:ssä avataan muodostettu uusi yksikkö. Siitä huolimatta voidaan - rajoitukset huomioiden - yksikköä katsella myöhemmin myös muulla kyseeseen tulevalla kielellä. S halutaanko uudessa yksikössä saada näyttöön lähinnä symboliikka ja kommentit. Kielen, kommentin ja symboliikan asetuksia voidaan aina muuttaa käsitelyn aikana View... -valikon käskyillä. Väri, jolla esim. virtapiirien tai käskyosien merkinnät esitetään, muutetaan rekisterissä KOP. 3 Mnemoniikan asetus Mnemoniikassa voidaan valita toinen kahdesta asetuksesta: S SIMATIC (esim. UE1.) tai S kansainvälinen (esim. A31.). Mnemoniikka asetetaan ennen yksikön avaamista SIMATIC managerissa valikkokäskyllä Options Customize. Yksikön käsittelyn aikana ei mnemoniikkaa voida muuttaa. AWL-ohjelma inkrementti - editorissa Koodiyksikön avaamisen jälkeen ilmestyy ikkuna, jonka S yläosassa on yksikön muuttujien selitystaulukko S alaosassa on käskyosa, jossa varsinasta yksikkökoodia käsitellään. Yksikön ominaisuuksia käsitellään dialogin kautta (katso kappale 5). Editorissa voi olla avattuna useampia yksiköitä joita voidaan käsitellä vuorotellen toiveiden mukaan. 3-3

Koodiyksiköiden laadinta FB6-<Offline>-KOP/AWL: Module Programming File Edit Insert PLC Debug View Options Window Help FB6-<Offline> 3 Address Decl. Name Type Initial Value Comment. 2. 4. in in in dur_g_p del_r_p starter S5TIME S5TIME BOOL S5T#MS S5T#MS FALSE 6. 8. 1. in in in t_dur_y_car t_dur_y_car t_delay_y_car FB6: Ampel Network 1 :??? U( U #starter U #t_next_red_car O #condition ) UN #t_dur_r_car = #condition TIMER TIMER TIMER Network 2 :??? UN #condition = #g_car Kuva 3-2 AWL:n muuttujien selitystaulukko ja käskyosa Yhteisvaikutus muuttujien selitys - käskyosa Muuttujien selitystaulukko ja koodiyksiköiden käskyosa ovat tiiviisti sidoksissa keskenään, koska käskyosassa käytetään muuttujien selitystaulukon nimiä. Muuttujien selityksessä tapahtuvat muutokset vaikuttavat sentähden koko käskyosaan. Taulukko 3-1 Muuttujien selityksen ja käskyosan yhteisvaikutus Muuttujien selitystoiminta virheetön uudelleensyöttö virheetön nimenmuutos ilman tyyppimuutosta virheetön nimi muutet. mitättömäksi Mitätön nimi muutetaan virheettömäksi Tyyppimuutos Muuttujan nollaus (symboli), jota käytetään koodissa. Reaktio käskyosassa Jos on mitätön koodi, tulee tätä ennen määrit tämättömästä muuttujasta nyt voim. oleva Symboli esitetään heti kaikkialla uudella nimellä. voimassa olevasta koodista tulee mitätön Mikäli on olemassa mitätön koodi, tulee tämä voimaan. Mikäli on olemassa mitätön koodi, tulee tämä voimaan, ja mikäli on olemassa voimassa oleva koodi, tulee tästä mitätön. voimassa olevasta koodista tulee mitätön Kommenttimuutoksilla, uuden muuttujan virheellisellä syötöllä, aloitusarvon muutoksella tai käyttämättömän muuttujan nollauksella ei ole vaikutusta käskyosaan. 3-4

Koodiyksiköiden laadinta 3.3 Muuttujien selitystaulukon rakenne Yleiskuva Muuttujien selitystaulukossa määritelläään paikalliset muuttujat yksikön muodolliset parametrit mukaanlukien. Sillä on mm. seuraavat vaikutukset: S S S Selityksen avulla varataan vastaavasti muistitilaa väliaikaisille muuttujille paikallisdatapinossa, toimintayksikköjen ollessa kyseessä, staattisille muuttujille myöhemmin järjestetyssä oheis-db:ssä. Määrittelemällä tulo-, lähtö- ja läpikulkuparametrit määritellään ohjelmassa yksikön kutsua varten myös liitäntäpiste. Mikäli muuttujat selitetään toimintayksikössä, määräävät nämä muuttujat (väliaikaisia lukuunottamatta) myös jokaisen FB:lle varatun oheis-db:n tiedostorakenteen. 3 Muuttujien selitystaulukon rakenne Kun on avattu uudelleenasetettu koodiyksikkö, on näytössä esiasetettu muuttujien selitystaulukko. Kyseisessä taulukossa on vain valitulle yksikkölajille sallitut selitystyypit (in, out, in_out, stat, temp) ja nekin määrätyssä järjestyksessä. OB:tä uudelleen asetettaessa näytössä on standardi-muutujienselitys, jonka arvoja voidaan muuttaa. Muuttujien selitystaulukossa on merkintöjä osoitteista, selitystyypistä, nimestä, tiedostotyypistä, aloitusarvosta ja muuttujien kommentti. Jokainen taulukkorivi on muuttujien selitystä varten. Tiedostotyypin, kentän tai rakenteen muuttujat tarvitsevat useampia rivejä. FB4 - <Offline> Address Decl. Name Type Initial Value Comment..1 2. in in out paalla kaynnistys moottori BOOL BOOL BOOL FALSE FALSE FALSE Valo päälle Kytkin Moottori 2.1 out ilmoitus BOOL FALSE Moottori 4. in_out tulo_lahto1 INT 6. in_out tulo_lahto2 INT Kuva 3-3 Esimerkki muuttujien selitystaulukosta Palstan leveyden vaihtelu Taulukon palstojen leveyttä voidaan muunnella. Sitä varten asetetaan hiiren nuoli kahden palstan väliin ja liikutetaan sitä vaakasuoraan hiiren vasemman korvan ollessa alaspainettu. Vaihtoehtoisesti voidaan palstan leveyttä muuttaa valikkokäskyllä Options Customize Size. Mikäli halutaan luopua kokonaan kommenttien tai aloitusarvojen optionaalisesta syötöstä, voidaan nämä palstat määritellä tällä tavalla, jotta voitaisiin keskittyä kokonaan muihin palstoihin. 3-5

Koodiyksiköiden laadinta Palstojen merkitys Muuttujien selitystaulukon palstoilla (suomannettuna) on seuraava merkitys: Taulukko 3-2 Muuttujien selitystaulukko 3 Palsta Merkitys Huomautukset Käsittely Osoite Osoite muodossa BYTE.BIT. Tiedostotyypeillä, jotka tarvitsevat enemmän kuin yhden tavun, näyttää osoite järjestyksen hyppäämällä seuraavaan tavuosoitteeseen. Merkkien selitys: * : tavun kenttäelementin koko. + : aloitusosoite, suht. rakenteen alkuun = : rakenteen koko muistitarve Muuttuja Muuttujien symbolinen nimi Nimen tulee alkaa kirjaimella. Varattuja avainsanoja ei sallita. Selitys Tiedostotyyppi Aloitusarvo Selitystyyppi, muuttujien käyttötarkoitus Muuttujan tiedostotyyppi (BOOL, INT, WORD, ARRAY jne.). Aloitusarvo, kun ohjelmiston ei tule hyväksyä Default-arvoa. Yksikkölajista riippuen mahdollisia ovat: Tuloparametri in Lähtöparametri out Läpimenoparametri in_out Staattiset muuttujat stat Hetkelliset muuttujat temp Perustiedostotyypit voidaan valita hiiren oikean korvan valikolla. Tulee olla tiedostotyypin kanssa yhteensopiva. Aloitusarvo vastaanotetaan DB:tä ensimmäisen kerran tallennettaessa muuttujan aktuellina arvona, jos aktuellia arvoa ei selvästi vahvisteta. Järjestelmämerkintä: Järjestelmä antaa osoitteen ja se näytetään, kun selityksen syöttö on loppu. vaaditaan Järjestelmän anto yksikkölajin mukaisesti vaaditaan valinnainen Kommentti Dokumentoinnin kommentti valinnainen 3-6

Koodiyksiköiden laadinta 3.4 Muuttujien selitystaulukon käsittely Menettelytavat Uutta selitystä annettaessa syötetään halutun selitystyypin jälkeen peräkkäin muuttujan nimi, tiedostotyyppi, aloitusarvo (valinnainen) ja kommentti (valinnainen). Kursori viedään tällöin TAB-painikkeella viereiseen kenttään. Rivin päätyttyä osoitetaan muuttujalle osoite. Joka kerran kun taulukkokenttää käsitellään, seuraa syntaksitesti, joka näyttää mahdolliset virheet punaisena. Kyseisiä kenttiä ei tule heti korjata, vaan muu käsittely voi jatkua ja korjaukset voidaan tehdä myöhemmin. 3 Käsittelytoiminnat Taulukon käsittelyyn on käytettävissä käsittely -valikosta tutut toiminnat. Jotta käsittely olisi yksinkertaista, voidaan hiiren oikean korvan alta hakea tyyppivalikko. Tiedostotyyppiä syötettäessäkin on hiiren oikean korvan alainen valikko apuna. Valikossa Yhdistetyt tiedostotyypit ovat kaikki perustiedostotyypit. Yksittäiset rivit merkitään klikkaamalla asianomaista, kirjoitussuojattua osoitekenttää. Saman selitystyypin lisärivit merkitään pitämällä SHIFT-näppäintä alhaalla. Merkityt rivit tallennetaan mustana. Selitystyypin muuttaminen Decl. -palsta on kirjoitussuojattu. Selitystyypin määrää selityksen positio taulukon sisällä. Täten varmistetaan, että muuttujat voidaan syöttää vain selitystyyppien oikeassa järjestyksessä. Mikäli jonkin selityksen tyyppiä halutaan muuttaa, leikataan selitys ensin pois ja liitetään sen jälkeen takaisin uudella selitystyypillä. Rakenteiden syöttö Mikäli rakenne halutaan syöttää muuttujana, syötetään tiedostotyyppipalstaan avainsana STRUCT/RAKENNE. Rakennetta varten (END_STRUCT) väliinkirjoitetaan TAB-näppäintä tai RETURN-näppäintä painamalla kaksi tyhjää riviä ja päätösrivi. Tyhjillä riveillä ilmoitetaan rakenteen elementit vahvistamalla niiden nimet, tiedostotyyppi ja valinnaisesti aloitusarvot. Muut elementit (rivit) lisätään valikkokäskyllä tai RETURN-näppäintä painamalla. Mikäli halutaan merkitä rakenne, klikataan hiirellä ensimmäisen tai viimeisen rivin osoitekentässä (jossa siis avainsana STRUCT tai END_STRUCT on). Yksittäiset selitykset rakenteen sisällä merkitään klikkaamalla rivin vastaavassa osoitekentässä. Mikäli rakenteita syötetään toisten rakenteiden sisällä, näkyy hierarkia muuttujien nimien vastaavana sisennyksenä. 3-7

Koodiyksiköiden laadinta Kenttien syöttö Mikäli kenttä halutaan syöttää tiedostotyyppinä, syötetään avainsana ARRAY ilmoittamalla kentän koko, siis esim. array[1..2,3..24] kaksiulotteiselle kentälle. TAB-näppäintä painamalla lisätään yksi rivi, johon kentän tiedostotyyppi syötetään. Mikäli halutaan merkitä kenttä, klikataan kyseisen rivin osoitekentässä. 3 Yksittäisten kenttäelementtien aloitusarvot voidaan määritellä joko yksitellen tain toistokertoimella (katso kuva 3-4): S Yksittäissyöttö: Yksittäisille elementeille annetaan aloitusarvo. Arvot listataan pilkulla erotettuna. S Toistokerroin: Useammalle elementille annetaan sama aloitusarvo. Arvon anto tapahtuu kaarisuluissa, elementtien lukumäärää varten on esiasetettu toistokerroin. Esimerkki Kuvassa 3-4 on esimerkki muuttujien selitystaulukosta: FB5 - <Offline> Address Decl. Symbol Data Type Initial Value Comment. +. +2. in in in Rakenne1 muutt1 muutt2 STRUCT BOOL INT FALSE +4. =6. in in muutt3 WORD END_STRUCT W#16# 6. in Kentta1 ARRAY[1..2,1..4] 1(5),2(6) *2. in BOOL Kuva 3-4 Muutujien selitystaulukon rakenteet ja kentät Huomautus Mikäli yksiköiden, joiden kutsu on ohjelmoitu jo aiemmin, muuttujien selitystä muutetaan jälkikäteen voi siitä seurata aikamerkintäristiriita. Siksi kaikki kutsuttavat yksiköt ohjelmoidaan mikäli mahdollista ensisijaisesti ja sen jälkeen yksiköt, joista näitä kutsutaan. Toimintayksiköissä tulee silloin mahdollisesti laatia vastaavat oheis-dbt uudelleen. Mikäli jälkikäteen muutetaan UDT:tä, joka muuttujien selityksessä on annettu tiedostotyyppinä, tulee yksikön muuttujien selitys tarkistaa ja tallentaa yksikkö uudelleen. 3-8

Koodiyksiköiden laadinta 3.5 Multi -instanssien selitys Multi -instanssit Multi-instanssi muodostuu toimintayksikön tiedostotyypistä staattista muuttujaa selittämällä. Käskyosassa instanssia kutsutaan vain sen muuttujanimellä. Lisää tietoa multi-instanssien roolista löytyy ohjelmointikäsikirjasta /234/. Multi-instanssien kutsun syntaksia selitetään tämän käsikrjan osassa 3. 3 Säännöt Multi-instanssien selitystä koskevat seuraavat säännöt: S Multi-instanssien selitys on mahdollista vain toimintayksiköissä, jotka on laadittu STEP 7:n versiolla 2 (katso FB:n ominaisuudet, yksikköattribuutti). S Myös toimintayksikölle, jossa multi-instanssia selitetään, on varattava oheis-db. S Multi-instanssi voidaan selittää vain staattisena muuttujana (selitystyyppi stat ). On itsestään selvää, että myös multi-instansseja voidaan laatia järjestelmätoimintayksiköitä varten. Multi -instanssien syöttö Jotta multi-instansi voitaisiin selittää, syötetään selitystyypin stat jälkeen muuttujan nimi. Tiedostotyypiksi ilmoitetaan toimintayksikkö. Toimintayksikkö voidaan antaa ehdottomana tai symbolisella nimellään. Valinnaisesti voidaan merkitä kommentti. FB6-<Offline> Address Decl. Symbol D type Init.value Comment. in sisaan BYTE B#16# 2. out ulos BYTE B#16# 4. in_out lapi BYTE B#16# stat staat FB 6 paikallinen instanssi. temp hetkel REAL Kuva3-5 Multi-instanssit (esimerkki) 3-9

Koodiyksiköiden laadinta 3.6 Käskyosan käsittely - yleiskuva 3 Käskyosa Käskyosassa kuvataan koodiyksikön ohjelmankulkua. Virtapiireissä annetaan sitä varten AWL-käskyjä. Editori suorittaa heti AWL-käskyn syötön jälkeen syntaksitestin ja näyttää virheet punaisella ja kursiivilla. Koodiyksikön käskyosa muodostuu useimmissa tapauksissa useammasta virtapiiristä, jotka puolestaan muodostuvat joukosta käskyjä. Käskyosan editoitavat osat Käskyosassa voidaan käsitellä virtapiirien sisällä yksikön otsikkoa, yksikkökommentteja, virtapiirin otsikkoa, virtapiirikommentteja ja käskyrivejä. Yksikön otsikko Yksikkö-- kommentti Virtapiiri-- kommentti Käskyt Virtapiirin otsikko FB7 - <Offline> FB7 : Motorensteuerung Anweisungsliste Motorensteuerung (Generator1) PID-Regler Netzwerk 1 : Anlaufphase Netzwerk Anlaufsteuerung U E 1.1 //Kommentar U A 4.1 UN E 2.6 = A.4 Netzwerk 2 :?????? Kuva 3-6 Käskyosan rakenne Uusien yksiköiden syöttö Käskyosan osia voidaan periaatteessa käsitellä halutussa järjestyksessä. Kun yksikkö ohjelmoidaan ensimmäistä kertaa, suositellaan seuraavaa: 3-1

Koodiyksiköiden laadinta Yksikön otsikon anto (valinnainen) Yksikkökommentin anto (valinnainen) 3 Virtapiirien käsittely Virtapiiriotsikon anto (valinnainen) Virtapiirikommentin anto (valinnainen) Käskyjen anto Käskykommenttien anto (valinnainen) Kuva 3-7 Käskyosan käsittely Muutoksia voidaan väliinkirjoitusmuodon lisäksi tehdä myös ylikirjoitusmuodossa. Muodosta toiseen vaihdetaan INSERT-näppäimellä. 3-11

Koodiyksiköiden laadinta 3.7 Käskyjen anto 3 Virtapiirien käsittely Uuuden virtapiirin laatimiseksi valitaan valikkokäsky Insert Network tai klikataan toimintalistan vastaavassa symbolissa. Uusi virtapiiri lisätään/väliinkirjoitetaan merkityn virtapiirin alapuolelle. Virtapiirin merkitsemiseksi klikataan virtapiirimerkinnässä (esim. virtapiiri 1 ). Näin merkitty virtapiiri voidaan esim. leikata, liittää jälleen ja kopioida. Käskyjen syöttö Virtapiiriin pääsee klikkaamalla hiirellä asianomaisella rivillä. Yksittäisten virtapiirien sisäiset käskyt syötetään yksinkertaisesti rivi riviltä näppäimistöllä. Jokaisen rivin lopussa tutkitaan rivi muodostussäännöiltään. Virheelliset rivit näytetään punaisina. Editointia varten on käytettävissä kaikki tavalliset käsittelytoiminnat. Rivien merkitseminen Virtapiirin sisällä voidaan merkitä vain kokonaisia rivejä. Asetetaan kursori riville ja liikutetaan hiirtä hieman pystysuorassa suunnassa sen vasemman korvan ollessa alaspainettuna. Hiiren korvan ollessa yhä alaspainettuna, voidaan useampia käskyrivejä merkitä yhtäaikaa liikuttamalla hiirtä vaakasuorassa suunnassa. Vaihtoehtoisesti voidaan rivejä merkitä suuntanuolinäppäimillä ylös- tai alaspäin SHIFT-näppäimen ollessa alaspainettu. Merkintöjen väristä voidaan päättää itse. Sitä varten avataan rekisteri KOP valikkokäskyllä Options Customize ja valitaan valitun elementin väri. Säännöt AWL-käskyjä syötettäessä tulee huomioida seuraavat perussäännöt. S S S S S Käsky muodostuu hyppymerkistä (valinnainen), operaatiosta, operandista ja kommentista (valinnainen). Esimerkki: M1: U E1. //Kommentti Jokainen käsky on omalla rivillä. Yksikköä kohti voidaan antaa enintään 999 virtapiiriä. Virtapiiriä kohti voidaan syöttää noin 2 riviä. Suurennetussa tai pienennetyssä kuvassa on mahdollista näyttää vastaavasti enemmän tai vähemmän rivejä. Operaatioita tai absoluuttusia osoitteita annettaessa ei tehdä eroa isojen ja pienten kirjainten välillä. Virheiden etsintä ja korjaus Virheet tunnistaa käskyosassa helposti, koska ne näkyvät punaisena. Jotta juuri näkyvän alueen ulkopuolella olevat virheet löytyisivät helpommin, on editorissa sitä varten kaksi etsintätoimintaa Edit Go To Previous/Next Error. 3-12

Koodiyksiköiden laadinta Virheen etsintä ulottuu yli virtapiirin. Se tarkoittaa, että etsitään koko käskyosasta, ei vain virtapiiristä tai juuri näkyvissä olevalta alueelta. Jos tilarivi kytketään valikkokäskyllä Edit Go To Line näkyy siellä viittauksia virheisiin. Virheiden korjaukset ja muutokset voidaan tehdä myös ylikirjoitusmuodossa. Väliinkirjoitusmuodosta vaihdetaan ylikirjoitusmuotoon INSERT-näppäimellä. 3 3-13

Koodiyksiköiden laadinta 3.8 Symbolinen osoitteenanto 3 Symbolisen osoitteenannon käyttö Symbolien valinta AWL -ohjelmointikielessä voidaan osoitteita, parametrejä ja yksikkönimiä antaa absoluuttisena tai symbolisena. Valikkokäskyllä View Symbolic vaihdetaan ehdottoman ja symbolisen esityksen välillä. Mikäli halutaan käyttää globaaleja symboleja, on nämä merkittävä symbolitaulukkoon. Sitä varten S avataan symbolitaulukko valikkokäskyllä Options Symbol Table. S avataan valikkokäskyllä Insert Symbol dialogikenttä, jossa yksittäinen symboli voidaan määritellä uudelleen tai muuttaa. Lisätietoa symbolien käsittelystä löytyy käyttäjäkäsikirjasta /231/. Esitys Useimmissa tapauksissa ei tarvitse merkitä, onko kyseessä yksikön sisäinen vai globaali symboli. Mikäli sekaannukset kuitenkin ovat mahdollisia, koska esim. symbolitaulukossa ja muuttujien selityksessä on käytetty samoja symboleja, voidaan symbolit erotella seuraavalla tavalla: S Symbolitaulukon symbolit esitetään lainausmerkeissä... S Yksikön muuttujien selitystaulukon symbolit esitetään eteen liitetyllä merkillä #. Tunnusta.. tai # ei tarvitse syöttää. Jos symbolinen osoite on muuttujien selitystaulukossa tai symbolitaulukossa, täydentyy tunnus syntaksitestin jälkeen. Mukava symboli -info Jotta ohjelmointi olisi helpompaa symbolisella osoitteenannolla, voidaan olemasssa oleville symboleille näyttää asianomainen ehdoton osoite symbolikommentilla. Tämä tehdään valikkokäskyllä Options Edit Symbols. Sillä korvataan rivikommentti vastaavasti jokaisen AWL-käskyn jälkeen. Näyttöä ei voida käsitellä; muutokset tulee tehdä symbolitaulukossa tai muuttujien selitystaulukossa. 3-14

Koodiyksiköiden laadinta FB34 - <Offline> FB13 : Keskeytyksen suoritus Network 1 :??? Kuva 3-8 U sensori1 E1. lämpötilan ylitys UN painike2 E1.2 häiriökuittaus = valopaalla A4. keskeytyssignaali AWL:n symboli-info 3 Yksikköä näytettäessä toistetaan aktuelli kuvaruutuesitys käskykommentteineen tai symbolikommentteineen. Huomautus Ladattaessa ohjelmaa CPU:hun ei symbolitaulukkoa siirretä mukana. Jos sen tähden halutaan käsitellä käyttäjäohjelmaa, jossa alkuperäinen ohjelma ei ole käytettävissä laadintajärjestelmässä, ei käytössä myöskään ole alkuperäistä symboliikkaa. 3-15

Koodiyksiköiden laadinta 3.9 Otsikoiden ja kommenttien anto 3 Yleiskuva Yksikön otsikoiden ja virtapiirin otsikoiden syöttö Koodiyksikön käskyosassa voidaan syöttää yksikön otsikko ja virtapiirin otsikko sekä yksikkökommentit tai virtapiirikommentit. Syötöt ovat valinnaisia eikä niillä ole merkitystä ohjelmankululle. Yksikön tai virtapiirin otsikon syöttmiseksi sijoitetaan kursori yksikkönimen tai virtapiirinimen oikealla puolella olevien kolmen kysymysmerkin päälle (esim. virtapiiri 1 :???). Silloin avautuu tekstikenttä, johon otsikko syötetään. Siinä voi olla enintään 64 merkkiä. 1. Virtapiiri 2:??? Klikkaus hiirellä 2. Virtapiiri 2: Tässä on virtapiirin otsikko Kuva 3-9 Otsikoiden anto Kommenttien syöttö Harmaiden kommenttikenttien näyttö voidaan ottaa käyttöön tai pois käytöstä valikkokäskyllä näkymä kommentti. Kaksoisklikkaamalla sellaisessa kentässä avautuu tekstikenttä, johon nyt voidaan syöttää selitykset. Yksikköä kohti on yksikkö- ja virtapiirikommentteja varten käytettävissä 64 KByte. 1.??? 2. Virtapiiri-- tai yksikkökommentti Klikkaus hiirellä Kuva 3-1 Kommenttien anto Huomautus Ladattaessa yksikkö CPU:hun ei kommentteja siirretä mukana. Jos sen tähden halutaan ladata yksikkö CPU:sta, jossa alkuperäinen yksikkö ei ole käytettävissä laadintajärjestelmässä, ei alkuperäisiä kommentteja voi nähdä eikä käsitellä. 3-16

Tiedostoyksiköiden ja käyttäjämääritteisten tiedostotyyppien anto 4 Mitä tämä kappale sisältää? Tiedostoyksiköt ovat tärkeä käyttäjäohjelman osa, koska niissä pidetään käyttäjäohjelman tiedot. Tässä kappaleessa kerrotaan, miten niitä laaditaan. Käyttäjämääritteisiä tiedostotyyppejä ei välttämättä tarvita ohjelmointiin. Mikäli kuitenkin laaditaan usein ohjelmia samankaltaisiin tehtäviin, on niistä pian hyötyä. Omien tiedostoyyppien avulla säästetään reilusti aikaa. Yleiskuva kappaleesta Kappale Sisältö Sivu 4.1 Tiedostoyksiköiden laadinta - yleiskuva 4-2 4.2 Laadintamenetelmän valinta 4-4 4.3 Selitystaulukon käsittely 4-5 4.4 Aktuellien data -arvojen käsittely 4-6 4.5 Käyttäjämääritteisten tiedostotyyppien laadinta 4-8 4-1