Esipuhe, sisällysluettelo Osa 1: Työskentely FUP-editorilla IMATIC 7 Osa 2: Kielikuvaus Liitteet FUP/FBD 7-300/400 Yksiköiden ohjelmointi toimintakaaviomuodossa Käsikirja C79000-G7000-C508-02
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 tuleekiinnittää 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 iemens suosittelemien tai hyväksymien vieraslaitteiden ja -komponenttien yhteydessä. Tavaramerkit IMATICR ja INECR ovat IEMEN AG:n tavaramerkkejä. Muut tällaiset merkinnät voivat olla tavaramerkkejä, joiden käyttö kolmannen osapuolen tarkoituksiin saattaa loukata haltijan oikeuksia. Copyright E iemens 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ä. iemens AG Bereich Automatisierungstechnik Geschäftsgebiet Industrie-Automatisierung Postfach 4848, D-90327 Nürnberg iemens 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 iemens AG 1996 Pidätämme oikeudet teknisiin muutoksiin. C79000-G7000-C508 Tämä suomenkielinen versio on käännös vastaavasta alkuperäiskielisestä käsikirjasta. Tämän tuotteen julkaisun jälkeen on voinut tulla uusia komponentteja, tai niiden ominaisuudet ovat voineet muuttua. Tässä tapauksessa on syytä lisäksi tukeutua viimeisimpään saksan/englanninkieliseen laitekäsikirjaan.
Esipuhe Käsikirjan tarkoitus Tämä käsikirja tukee käyttäjäohjelmien laadintaa FUP/FBD - ohjelmointikielellä. iksi tässä selitetään ohjelman laadinnan periaatteelliset menettelytavat. Käsittelyvaiheiden yksityiskohdat löytyvät Online-avusta. en ohella käsikirja sisältää FUP-ohjelmointikielen kielielementtien referenssiosan, jossa kuvataan yksittäisten kielielementtien syntaksia ja toimintatapaa. FUP = FBD = toimintakaaviomuoto. Käsikirjasta käytetään tästä lyhennystä FUP. Käyttäjät Tämä käsikrija on tarkoitettu 7-ohjelmoijille, käyttöönottajille ja huoltohenkilökunnalle. Tämä edellyttää kyseisen alueen automaatiotekniikan yleistä tuntemusta. Käsikirjan voimassaolo IEC 1131-3:n mukaiset normit Tämä käsikirja pätee TEP 7 -ohjelmiston versiolle 3.0. FUP vastaa normissa DIN EN-61131-3 ( int. IEC 1131-3) määriteltyä kieltä toimintakaavio. TEP 7:n NORM.TAB-tiedoston normitaulukossa on tarkka kuvaus normien täyttymisestä. (aksa) (Englanti) FUP = FBD = Toimintakaaviomuoto KOP = LAD = Relekaaviomuoto AWL = TL = Käskylistamuoto Ohjelmaesimerkeissä käytetään IMATIC -lyhennekielivalintaa. iii
Esipuhe ijoitus 7 300/400 informaatiodokumentoinnissa 7-automaatiojärjestelmän tueksi ja konfiguroimiseksi on olemassa laaja käyttäjädokumentointi, joka on tarkoitettu valikoivaan käyttöön. euraavien selvitysten tulisi helpottaa käyttäjädokumentoinnin käyttöä. Annettu järjestys on ehdotus 7:n ensikäyttäjälle. ymboli Merkitys Dokumentointi johtaa metodiikkaan. Hakuteokset ja siksi vain valikoidusti käytettävissä. Dokumentointia täydennetään Online-avulla. Aapi - nen /30/ Automaatiojärjestelmä 7-300 Yksinkertainen rakenne ja ohjelmointi Käsikirja M7-300/400 -käsikirjat Laitteisto Ohjel - mointi - käsikirja /234/ Järjestelmäohjelmisto 7-300/400 Ohjelmasuunnittelu Online-apu Käyttäjä - käsikirja Perusohjelmisto7jaM7 TEP 7 Käyttäjä - käsikirja Perusohjelmisto 7-300/400 5-ohjelmien konvertointi /231/ /230/ AWL KOP FUP CL /232/ /233/ /236/ /250/ GRAPH 7 HiGraph CFC / 7 Refere - renssi - käsikirja /235/ Järjestelmäohjelmisto 7-300/400 Järjestelmä- ja standarditoiminnat /251/ /252/ /254/ Kielipaketit /xxx/: kirjallisuusluettelon kirjanumero Kuva A-1 Informaatiodokumentointi iv
Esipuhe Taulukko A-1 Informaatiosisältö Nimi Aapinen 7-300 Yksinkertainen rakenne ja ohjelmointi Ohjelmointikäsikirja Ohjelmasuunnittelu 7-300/400 Referenssikäsikirja Järjestelmä- ja standarditoiminnat 7-300/400 Käyttäjäkäsikirja TEP 7 Käyttäjäkäsikirja 5-ohjelmien konvertointi Käsikirjat AWL, KOP, FUP, CL 1 Käsikirjat GRAPH 1,HiGraph 1, CFC 1 1 7-300/400:n optiopaketit järjestelmäohjelmistolle isältö Aapinen perehdyttää hyvin yksinkertaisesti 7-300/400:n ohjelmoinnin ja rakenteen metodiikkaan. e sopii erinomaisesti 7-automaatiojärjestelmän ensikäyttäjälle. Ohjelmointikäsikirja Ohjelmasuunnittelu 7-300/400 antaa perustavaa laatua olevaa tietoa 7-CPU:n käyttäjäohjelman ja käyttöjärjestelmän rakenteesta. 7-300/400:n ensikäyttäjän tulisi käyttää sitä hankkiakseen yleiskuvan ohjelmointimetodiikasta ja rakentaakseen käyttäjäohjelmansa suunnitelun sen varaan. 7-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 7:ssä käytettävistä järjestelmätoiminnoista, organisaatioyksiköistä ja ladattavista standarditoiminnoista sekä - hakutietona - yksityiskohtaisia liitäntäpistekuvauksia käyttäjäohjelmaan soveltamiseksi. TEP 7 -käyttäjäkäsikirjassa selitetään TEP 7 -automaatio-ohjelmiston periaatteellista käyttöä ja toimintoja. TEP 7:n ensikäyttäjälle sekä myös TEP 5:n tuntijalle antaa käsikirja yleiskuvan 7-300/400:n menettelytavoista konfiguroitaessa, ohjelmoitaessa ja käyttöönotettaessa. W:llä työskenneltäessä voidaan päästä valikoiden Online-apuun, josta saa tukea W-käytön yksityiskohtaisissa kysymyksissä. Käyttäjäkäsikirjaa 5-ohjelmien konvertointi tarvitaan, mikäli halutaan konvertoida jo olemassa olevia 5-ohjelmia, jotta nämä saataisiin toimimaan 7-CPU:ssa. Käsikirja antaa yleiskuvan menettelytavoista ja konvertterin käytöstä; konvertteritoimintojen yksityiskohtainen käyttö selviää Online-avusta. Online-avusta saa myös käytettävien konvertoitujen 7-toimintojen liitäntäpistekuvauksen. Kielipakettien AWL, KOP FUP ja CL -käsikirjoissa on sekä käyttöohjeet että kielikuvaus. 7-300/400: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. W: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. W: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öä. Oheiset käsikirjat ovat englannin- ja saksankielisiä. v
Esipuhe Hakuapu käsikirjaan Tämä FUP -käsikirja edellyttää teoreettista tietoa 7-ohjelmista, jota saa ohjelmointikäsikirjasta /234/. Koska kielipaketit perustuvat TEP 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. Osassa 1 selitetään editorin käyttöä. Osassa 2 referenssiosa kaikista FUP-operaatioista ja se on ajalteltu hakuteokseksi. Muu tuki Kuvatun ohjelmiston käyttöä koskevissa kysymyksissä, joihin ei löydy vastausta paperidokumentoinnista eikä Online-avusta, tulee kääntyä iemensin puoleen. Lisäksi on käytettävissä Hotline -puhelinpalvelu: Puh. (09) 5105 3888 Helpottaaksemme IMATIC 7 -automaatiojärjestelmään tutustumista, pidämme kursseja tästä aiheesta. Puh. 09 -- 51051 / imatic--kurssit. Eritysiviittaus Tämän käsikirjan käyttäjäosassa ei ole mitään yksityiskohtaisia ohjeita yksittäisine vaiheineen, vaan se selventää periaatteellisia menettelytapoja. Tarkempaa tietoa ohjelmistodialogeista ja niiden käsittelystä löytyy aina Online-avusta. vi
Ohjelmointiesimerkkejä 2 Yleiskuva kappaleesta Kappale isältö ivu 2.1 Yleiskuva 2-2 2.2 Bittilukitusoperaatiot 2-3 2.3 Aikaoperaatiot 2-7 2.4 Laskenta- ja vertailuoperaatiot 2-11 2.5 Aritmeettiset operaatiot kokonaisluvuilla 2-13 2.6 analukitusoperaatiot 2-14 2-1
Ohjelmointiesimerkkejä 2.1 Yleiskuva Käytännön sovellukset Jokainen tässä käsikirjassa kuvattu FBD/FUP-operaatio suorittaa määrätyn toiminnan. Näitä operaatioita yhdistelemällä voidaan ohjelmassa suorittaa mitä erilaisimpia automatisointitehtäviä. Tässä kappaleessa on muutamia esimerkkejä FUP-operaatioiden käytännön sovelluksista: Kuljetinhihnan ohjaus bittilukitusoperaatioilla. Kuljetinhihnan kulkusuunnan toteaminen bittilukitusoperaatioilla. Tahti-impulssin generointi aikaoperaatioilla. Varastoalueen valvonta laskenta- ja vertailuoperaatioilla. Laskenta kokonaislukujen aritmeettisilla operaatioilla. Ajan asetus uunin lämmitystä varten. Käytetyt operaatiot Tämän kappaleen esimerkeissä käytetään seuraavia operaatioita: 16 bitin JA- lukitus (WAND_W) 16 bitin TAI- lukitus (WOR_W) Taaksepäinlaskenta (Z_RUECK) Eteenpäinlaskenta ( Z_VORW ) Lähdön nollaus (R) Lähdön asetus () Reunan 0 1 kysely (P) (pulssin muodostus) Kokonaislukujen yhteenlasku (16 bittiä) (ADD_I) Kokonaislukujen jakolasku (16 bittiä) (DIV_I) Kokonaislukujen kertolasku (16 bittiä) (MUL_I) Kokonaislukujen vertailu (16 bittiä) (CMP_I>=) Kokonaislukujen vertailu (16 bittiä) (CMP_I<=) JA-lukitus Osoitus (=) TAI-lukitus Hyppy, kun 0 (JMPN) Hyppy takaisin (RET) Arvon siirto (MOVE) Ajan käynnistys pidennettynä impulssina (V) 2-2
Ohjelmointiesimerkkejä 2.2 Bittilukitusoperaatiot Kuljetinhihnan ohjaus Kuva 2-1 esittää sähköisesti käynnistettävää kuljetinhihnaa. Hihnan alkupäässä on kaksi painiketta, 1 TART ia ja 2 TOP ia varten. Hihnan loppupäässä on myös kaksi kytkintä, 3 TART ia ja 4 TOP ia varten. Hihna voidaan käynnistää tai pysäyttää molemmista päistä. Lisäksi 5-anturi pysäyttää hihnan, kun jokin esine on tullut hihnan päähän. ymbolinen ohjelmointi Kuljetinhihnan ohjaamiseksi voidaan kirjoittaa ohjelma kuvan 2-1 perusteella esittämällä kuljetinhihnajärjestelmän eri komponentit symbolien avulla. Mikäli päädytään tähän menetelmään, on laadittava signaalilista ja määriteltävä valitut symbolit suhteessa asetettuihin arvoihin (katso taulukko 2-1). ymbolit määritellään symbolitaulukossa (katso käyttäjäkäsikirja /231/). Taulukko 2-1 Kuljetinhihnajärjestelmän symbolisen ohjelmoinnin elementit Järjestelmäkomponentit Absoluuttinen nimike ymboli Käynnistyskytkin E1.1 1 E1.1 1 Pysäytyskytkin E1.2 2 E1.2 2 Käynnistyskytkin E1.3 3 E1.3 3 Pysäytyskytkin E1.4 4 E1.4 4 Anturi E1.5 5 E1.5 5 ymbolitaulukko Moottori A4.0 MOOT_ON A 4.0 MOOT_ON Anturi 5 MOOT_ON 1 2 ` tart ` top 3 4 ` tart ` top Kuva 2-1 Kuljetinhihnajärjestelmä 2-3
Ohjelmointiesimerkkejä Absoluuttinen ohjelmointi Kuljetinhihnan ohjaamiseksi voidaan kirjoittaa ohjelma kuvan 2-1 perusteella esittämällä kuljetinhihnajärjestelmän eri komponentit absoluuttisten arvojen avulla (katso taulukko 2-2). Kuvassa 2-2 on FUP-ohjelma liukuhihnan ohjaamiseksi. Taulukko 2-2 Kuljetinhihnajärjestelmän absoluuttisen ohjelmoinnin elementit Järjestelmäkomponentit Absoluuttinen nimike Käynnistyskytkin E1.1 Pysäytykytkin E1.2 Käynnistyskytkin E1.3 Pysäytyskytkin E1.4 Anturi E1.5 Moottori A4.0 Virtapiiri 1: Moottori käynnistetään painamalla jompaakumpaa käynnistyskytkintä. E1.1 E1.3 >=1 A4.0 Virtapiiri 2: Moottori pysäytetään painamalla jompaakumpaa pysäytyskytkintä tai kysymällä hihnan päässä olevaa anturia. E1.2 >=1 E1.4 E1.5 A4.0 R Kuva 2-2 Kuljetinhihnan ohjauksen toimintakaavio 2-4
Ohjelmointiesimerkkejä Kuljetinhihnan suunnan havaitseminen Kuvassa 2-3 on kuljetinhihna, joka on varustettu kahdella valokennolla (L 1 und L 2). Valokennojen tulee havaita, mihin suuntaan hihnalla oleva paketti liikkuu. ymbolinen ohjelmointi Kuvassa 2-3 esitetyn kuljetinhihnajärjestelmän suuntailmoituksen aktivoimiseksi voidaan kirjoittaa ohjelma esittämällä kuljetusjärjestelmän eri komponentit - mukaanlukien suunnan havaitsemiseen tarkoitetut valokennot - symbolien avulla. Mikäli päädytään tähän menetelmään, on laadittava symbolilista määrittämällä valitut symbolit suhteessa absoluuttisiin arvoihin (katso taulukko 2-3). ymbolit määritellään symbolitaulukossa (katso käyttäjäkäsikirja /231/). Taulukko 2-3 ymbolisen ohjelmoinnin suunnanhavainnointielementit Absoluutt. Järjestelmäkomponentit ymboli ymbolitaulukko nimike Valokenno 1 E0.0 VK1 E 0.0 VK1 Valokenno 2 E0.1 VK2 E 0.1 VK2 Ilmoitus liikkeestä oikealle A4.0 OIKEA A4.0 OIKEA Ilmoitus liikkeestä vasemmalle A4.1 VAEN A4.1 VAEN Tahtimerkkeri 1 M0.0 TM1 M0.0 TM1 Tahtimerkkeri 2 M0.1 TM2 M0.1 TM2 Absoluuttinen ohjelmointi Kuvassa 2-3 esitetyn kuljetinhihnajärjestelmän suuntailmoituksen ohjaamiseksi voidaan kirjoittaa ohjelma esittämällä suunnan havaitsemiseen tarkoitetut valokennot absoluuttisilla arvoilla (katso taulukko 2-4). Kuva 2-4 esittää kuljetinhihnajärjestelmän suuntailmoituksen ohjaamiseksi tarkoitettua FUP-ohjelmaa. A4.0 VK2 VK1 A4.1 Kuva 2-3 Valokennoilla varustettu kuljetinhihnajärjestelmä suunnan havainnointia varten 2-5
Ohjelmointiesimerkkejä Taulukko 2-4 Abaoluuttisen ohjelmoinnin suunnanhavaintoelementit Järjestelmäkomponentit Absoluuttinen nimike Valokenno 1 E0.0 Valokenno 2 E0.1 Ilmoitus liikkeestä oikealle A4.0 Ilmoitus liikkeestä vasemmalle A4.1 Tahtimerkkeri 1 M0.0 Tahtimerkkeri 2 M0.1 Virtapiiri 1: Mikäli tulon E 0.0 signaalitila vaihtuu 0 :sta 1 :ksi (positiivinen reuna) tulon E 0.1 signaalitilan ollessa samanaikaisesti 0, liikkuu hihnalla oleva paketti silloin vasemmalle. E0.0 M0.0 P E0.1 & A4.1 Virtapiiri 2: Mikäli tulon E 0.1 signaalitila vaihtuu 0 :sta 1 :ksi (positiivinen reuna) tulon E 0.0 signaalitilan ollessa samanaikaisesti 0, liikkuu hihnalla oleva paketti silloin oikealle. E0.1 M0.1 P E0.0 & A4.0 Virtapiiri 3: Mikäli toinen valokennosignaali on poikki, on paketti valokennojen välissä. uunnanilmaisin kytketään pois päältä. E0.0 E0.1 & A4.0 R A4.1 R Kuva 2-4 Toimintakaavio kuljetinhihnan suunnan havaitsemiseksi 2-6
Ohjelmointiesimerkkejä 2.3 Aikaoperaatiot Tahtianturi Jaksottain toistuvan signaalin tuottamiseksi voidaan käyttää tahtianturia tai vilkkurelettä. Tahtiantureita käytetään usein hälytysjärjestelmissä, jotka ohjaavat näyttövalojen vilkkumista. Mikäli käytetään 7-300:aa, voidaan tahtianturitoiminta toteuttaa käyttämällä aikaohjattua käsittelyä erityisissä organisaatioyksiköissä. euraavassa FUP-ohjelmassa oleva esimerkki selvittää aikatoimintojen käyttöä tahdin generoimiseksi. euraavassa esimerkissä on selitetty, miten vapaasti toimiva tahtianturi toteutetaan ajan avulla (pulssin kestosuhde 1:1). Taajuus on jaettu arvoihin, jotka on esitetty taulukossa 2-5. 2-7
Ohjelmointiesimerkkejä Virtapiiri 1: Kun ajan T1 signaalitila on 0, ladataan 250 ms:n aika--arvo T1:een ja käynnistetään T1 pidennettynä impulssina. M0.2 & T1 V 5T#250M TW Virtapiiri 2: Timerin tila välitallennetaan apumerkkeriin. M0.2 T1 & = Virtapiiri 3: Mikäli ajan T1 signaalitila on yhtäsuuri kuin 1, hyppää silloin hyppymerkkiin M001. M001 M0.2 & JMP Virtapiiri 4: Timerin T1 jokaisen ajan jälkeen lisätään merkkerisanaa 100 1 :llä.??.? ADD_I EN MW100 IN1 OUT MW100 1 IN2 ENO Virtapiiri 5: Lähtöjen A 12.0... A 13.7 eri tahtitaajuudet voidaan näyttää operaatiolla MOVE. M001??.? MOVE EN OUT AW12 MW100 IN ENO Kuva 2-5 Tahdin muodostamisen toimintakaavio 2-8
Ohjelmointiesimerkkejä Ajan T1 signaalitilakysely antaa kuvassa 2-6 lukitustuloksen (LUK: katso kappale 6.3). 1 0 250 ms Kuva 2-6 Käännetyn tuloparametrin UN T1 LUK tahtiaikaesimerkissä Aika käynnistetään uudelleen heti ajan kuluttua. iksi käskyn UN M0.2 suorittama signaalitilakysely näyttää vain lyhyesti signaalitilan 1. Kuvassa 2-7 on esitetty käännetty (nollattu) LUK-bitti. 1 0 250 ms Kuva 2-7 Ajan T1 käännetty LUK-bitti tahtiaikaesimerkissä LUK-bitti on 0 joka 250 ms. Hyppyä ei huomioida ja merkkerisanan MW100 sisältöä lisätään 1 :llä. Tietyn taajuuden saaminen Taulukossa 2-5 on merkkeritavujen MB101 ja MB 100 yksittäisillä biteillä saatavat taajuudet. Kuvan 2-5 FUP-kaavion virtapiiristä 5 nähdään, miten lähtöjen A 12.0... A 13.7 eri tahtitaajuudet voidaan näyttää operaatiolla MOVE. Taulukko 2-5 Tahtiaikaesimerkin taajuudet MB101:n/ MB100:n bitit Taajuus hertseinä Kesto M 101.0 2.0 0.5 s (250 ms päällä/250 ms pois) M 101.1 1.0 1 s (0.5 s päällä/0.5 s pois) M 101.2 0.5 2 s (1 s päällä/1 s pois) M 101.3 0.25 4 s (2 s päällä/2 s pois) M 101.4 0.125 8 s (4 s päällä/4 s pois) M 101.5 0.0625 16 s (8 s päällä/8 s pois) M 101.6 0.03125 32 s (16 s päällä/16 s pois) M 101.7 0.015625 64 s (32 s päällä/32 s pois) M 100.0 0.0078125 128 s (64 s päällä/64 s pois) M 100.1 0.0039062 256 s (128 s päällä/128 s pois) M 100.2 0.0019531 512 s (256 s päällä/256 s pois) M 100.3 0.0009765 1024 s (512 s päällä/512 s pois) 2-9
Ohjelmointiesimerkkejä Taulukko 2-5 Tahtiaikaesimerkin taajuudet MB101:n/ MB100:n bitit Taajuus hertseinä Kesto M 100.4 0.0004882 2048 s (1024 s päällä/1024 s pois) M 100.5 0.0002441 4096 s (2048 s päällä/2048 s pois) M 100.6 0.000122 8192 s (4096 s päällä/4096 s pois) M 100.7 0.000061 16384 s (8192 s päällä/8192 s pois) Taulukossa 2-6 on merkkeritavun MB101 bittien signaalitilat. Kuva 2-8 esittää merkkeribitin M 101.1 signaalitilaa. Taulukko 2-6 Merkkeritavun MB101 bittien signaalitilat Merkkeritavun MB101 bittien signaalitilat Aika - ykli arvo 7 6 5 4 3 2 1 0 ms:na 0 0 0 0 0 0 0 0 0 250 1 0 0 0 0 0 0 0 1 250 2 0 0 0 0 0 0 1 0 250 3 0 0 0 0 0 0 1 1 250 4 0 0 0 0 0 1 0 0 250 5 0 0 0 0 0 1 0 1 250 6 0 0 0 0 0 1 1 0 250 7 0 0 0 0 0 1 1 1 250 8 0 0 0 0 1 0 0 0 250 9 0 0 0 0 1 0 0 1 250 10 0 0 0 0 1 0 1 0 250 11 0 0 0 0 1 0 1 1 250 12 0 0 0 0 1 1 0 0 250 T M 101.1 1 0 0 250 ms 0.5 s 0.75 s 1 s 1.25 s 1.5 s Zeit Taajuus = 1 T = 1 1s = 1Hz Kuva 2-8 MB101:n (M 101.1) bitin 1 signaalitila 2-10
Ohjelmointiesimerkkejä 2.4 Laskenta- ja vertailuoperaatiot Varaston laskurit ja vertailijat Kuva 2-9 esittää järjestelmää, jossa on kaksi kuljetinhihnaa ja niiden välissä väliaikainen varastoalue. Kuljetinhihna 1 kuljettaa paketit varastoalueelle. Kuljetinhihnan 1 päässä oleva varastoalueen viereinen valokenno ilmoittaa, kuinka monta pakettia varastoalueelle tulee. Kuljetinhihna 2 kuljettaa paketit kyseiseltä väliaikaiselta varastoalueelta lastausrampille, mistä ne lastataan rekkaan kuljetettavaksi asiakkaalle. Kuljetinhihnan 2 päässä oleva varastoalueen viereinen valokenno ilmoittaa, kuinka monta pakettia varastoalueelta on tulossa lastausrampille. Näyttökonsoli, jossa on viisi lamppua ilmoittaa, kuinka täynnä väliaikainen varastoalue on. Kuva 2-10 esittää FUP-ohjelmaa, joka aktivoi näyttökonsolin näyttölamput. Näyttökonsoli Varastoalue tyhjä Varastoalue ei tyhjä Varastoalue 50%:sti täynnä Varastoalue 90%:sti täynnä Varastoalue täynnä (A 12.0) (A 12.1) (A 15.2) (A 15.3) (A 15.4) tulevat paketit E 12.0 Väliaikainen E 12.1 varastoalue 100:lle paketille lähtevät paketit Kuljetinhihna 1 Valokenno 1 Valokenno 2 Kuljetinhihna 2 Kuva 2-9 Varastoalueen laskurit ja vertailijat 2-11
Ohjelmointiesimerkkejä Virtapiiri1: Laskuri Z1 laskee eteenpäin tulon ZV signaalireunan muuttuessa 0 :sta 1 :ksi ja taaksepäin tulon ZR signaalireunan muuttuessa 0 :sta 1 :ksi. Tulon signaalireunan muuttuessa 0 :sta 1 :ksi asetetaan laskenta--arvo ZW:n arvoon. Tulon R signaalireunan muuttuessa 0 :sta 1 :ksi asetetaan laskenta--arvo 0 :ksi. Z1:n aktuelli laskenta--arvo on aina tallennettuna MW200:ssa. A12.1 näyttää varastoalue ei ole tyhjä. Z1 LAKURI E12.0 ZV E12.1 ZR E12.2 DUAL MW210 C#10 ZW DEZ MW200 A12.1 E12.3 R Q = Virtapiiri 2: A12.0 näyttää varastoalue ei ole tyhjä. A 12.1 & A12.0 = Virtapiiri 3: Jos 50 on pienempi tai yhtäsuuri kuin laskenta--arvo (tai jos aktuelli laskurilukema on suurempi tai yhtäsuuri kuin 50), kytketyy ilmoituksen varastoalue 50 %:sti täynnä näyttölamppu päälle. 50 MW200 IN1 IN2 CMP <= I A15.2 = Virtapiiri 4: Jos laskenta--arvo on suurempi tai yhtäsuuri kuin 90, kytkeytyy ilmoituksen varastoalue 90 %:sti täynnä näyttölamppu päälle. MW200 90 CMP >= I IN1 IN2 A15.3 = Virtapiiri 5: Laskenta--arvon ollessa suurempi tai yhtäsuuri kuin 100, kytkeytyy ilmoituksen varastoalue täynnä näyttölamppu päälle. CMP >= I MW200 IN1 A15.4 100 IN2 = Kuva 2-10 Toimintakaavio näyttölamppujen aktivoimiseksi näyttökonsolissa 2-12
Ohjelmointiesimerkkejä 2.5 Aritmeettiset operaatiot kokonaisluvuilla Yhtälön laskeminen euraavassa ohjelmaesimerkissä selitetään, miten kokonaislukujen kolmella aritmeettisella operaatiolla ja operaatioilla L ja T toteutetaan seuraava yhtälö: MW4 = (EW0 + DBW3) 15 MW0 Virtapiiri 1: Tiedostoyksikön DB1 avaus DB1 AUKI Virtapiiri 2: Laske yhteen tulosana EW0 ja globaalidatasana DBW3 (tiedostolohkon on oltava määritelty ja avattu). Lataa summa merkkerisanaan MW100. Kerro MW100 15:llä. Tulos tallennetaan merkkerikaksoissanaan MW102. Jaa MW102 MW0:lla. Tulos tallennetaan MW4:ään. Niin kauan kuin kaikki tulokset ovat kyseisen operaation sallitulla alueella, siirtää ENO signaalitilan 1 seuraavaan kehykseen.??.? ADD_I EN EW0 IN1 OUT MW100 MUL_I DBW3 IN2 ENO EN MW100 IN1 OUT MW102 DIV_I 15 IN2 ENO EN MW102 IN1 OUT MW4 MW0 IN2 ENO Kuva 2-11 Toimintakaavio aritmeettiset operaatiot kokonaisluvuilla 2-13
Ohjelmointiesimerkkejä 2.6 analukitusoperaatiot Uunin lämmitys Kuvassa 2-12 esitetyn uunin käyttäjä käynnistää uunin lämmityksen painamalla käynnistyskytkintä. Lämmitysajan keston hän voi päättää kuvassa näkyvillä digitaalisilla esivalintakytmimillä. Arvo, jonka hän asettaa, ilmoittaa sekunnit binäärikoodatussa desimaalimuodossa (BCD). Taulukossa 2-7 on lämmitysjärjestelmän komponentit sekä vastaavat absoluuttiset osoitteet, joita on käytetty kuvan 2-12 liitteenä olevassa ohjelmaesimerkissä. Taulukko 2-7 Lämmitysjärjestelmäkomponentit ja niiden vastaavat absoluuttiset osoitteet Järjestelmäkomponentit FUP-ohjelman absoluuttinen osoite Käynnistyskytkin E0.7 Digit. esivalintakytkin ykkösille E 1.0... E 1.3 Digit. esivalintakytkin kymmenille E 1.4... E 1.7 Digit. esivalintakytkin sadoille E 0.0... E 0.3 Lämmitystapahtuman aloitus A4.0 Digitaalinen esivalintakytkin BCD-lukujen asettamiseksi Uuni 4 4 4 Lämpö A4.0 7... XXXX 0001...0 7......0 1001 0001 Bitit EW0 EB0 Käynnistyskytkin E 0.7 EB1 Tavut Kuva 2-12 Tulojen ja lähtöjen käyttö aikarajoitetussa lämmityksessä 2-14
Ohjelmointiesimerkkejä Virtapiiri 1: Aloita lämmitys ajan juostessa. Operaatio hyppy takaisin päättää käsittelyn tähän ajan juostessa. T1 & A4.0 = Virtapiiri 2: Operaatio hyppy takaisin päättää käsittelyn tähän ajan juostessa. T1 & RET Virtapiiri 3: Maskaa tulobitit E 0.4... E 0.7 (ts. aseta ne takaisin 0 :ksi). Näitä esivalintakytkitulojen bittejä ei käytetä. Esivalintakytkitulojen 16 bittiä lukitaan W#16#0FFF:llä 16 bitin JA--lukitusoperaation jälkeen. Tulos ladataan merkkerisanaan MW1. Aika--arvon asettamiseksi sekunneittain, lukitaan esivalinta W#16#2000:lla 16 bitin TAI--lukitusoperaation jälkeen. Bitti 13 asetetaan 1 :ksi, bitti 12 takaisin 0 :ksi.??.? WAND_W EN EW0 W#16#FFF IN1 IN2 OUT ENO MW1 WOR_W EN MW1 IN1 OUT MW2 W#16#2000 IN2 ENO Virtapiiri 4: Käynnistä aika T1 pidennettynä impulssina, kun kytkintä painetaan. Merkkerisana MW2 ladataan esiasetuksena (ym. lukitusoperaation johtamana). E0.7 & T1 V MW2 TW Kuva 2-13 Uunin lämmityksen toimintakaavio 2-15
Ohjelmointiesimerkkejä 2-16
Aakkosellinen operaatiolista 1 Yleiskuva kappaleesta Kappale isältö ivu A.1 Englanninkielinen selityslista A-1 A.2 Kansainvälinen (englanninkielinen) selityslista vastaavin saksankielisin selityksin A-6 1-1
Aakkosellinen operaatiolista 1.1 Englanninkielinen selityslista Taulukossa A-1 on aakkosellinen FBD/FUP-operaatiolista kansainvälisine (IEC) (englanninkielisine) selityksineen, siihen kuuluvine mnemoniikkoineen ja sivu, jolla kyseinen operaatio selitetään (IMATIC-muotoisena). Taulukko 1-1 FBD/FUP-operaatiot aakkosjärjestyksessä kansainvälisine (IEC) (englanninkielisine) selityksineen, mnemoniikalla elitys Kansainvälinen mnemoniikka Add Double Integer ADD_DI 11-3 Add Integer ADD_I 11-2 Add Real ADD_R 12-3 Address Negative Edge Detection NEG 8-31 Address Positive Edge Detection PO 8-30 AND & 8-3 Assign = 8-9 Assign a Value MOVE 14-2 BCD to Double Integer BCD_DI 14-6 BCD to Integer BCD_I 14-3 Call FB from Box CALL_FB 20-4 Call FC from Box CALL_FC 20-4 Call FC FC (without parameters) CALL 20-2 Call ystem FB from Box CALL_FB 20-4 Call ystem FC from Box CALL_FC 20-4 Ceiling CEIL 14-16 Compare Double Integer (>, <, ==, <>, <=, >=) CMP >=D 13-3 Compare Integer (>, <, ==, <>, <=, >=) CMP >=I 13-2 Compare Real (>, <, ==, <>, <=, >=) CMP >=R 13-4 Divide Double Integer DIV_DI 11-9 Divide Integer DIV_I 11-8 Divide Real DIV_R 12-6 Double Integer to BCD DI_BCD 14-7 Double Integer to Real DI_R 14-8 Down Counter (laskentaoperaatio) _CD 10-7 Down Counter (bittilukitusoperaatio) CD 8-17 Exception Bit BR Memory BR 19-3 Exception Bit Overflow OV 19-7 Exception Bit Overflow tored O 19-8 Exception Bit Unordered UO 19-6 Exclusive OR XOR 8-6 Extended Pulse 5 Timer (aikaoperaatio) _PEXT 9-7 ivu 1-2
Aakkosellinen operaatiolista Taulukko 1-1 FBD/FUP-operaatiot aakkosjärjestyksessä kansainvälisine (IEC) (englanninkielisine) selityksineen, mnemoniikalla, jatkoa elitys Kansainvälinen mnemoniikka Extended Pulse Timer (bittilukitusoperaatio) E 8-20 Floor FLOOR 14-17 Form the Absolute Value of a Floatingpoint Number AB 12-8 Form the Arc Cosine of a Floatingpoint Number ACO 12-13 Form the Arc ine of a Floatingpoint Number AIN 12-13 Form the Arc Tangent of a Floatingpoint Number ATAN 12-13 Form the Cosine of a Floatingpoint Number CO 12-13 Form the Exponential Value of a Floatingpoint Number EXP 12-12 Form the Natural Logarithm of a Floatingpoint Number LN 12-11 Form the ine of a Floatingpoint Number IN 12-13 Form the quare of a Floatingpoint Number QR 12-9 Form the quare Root of a Floatingpoint Number QRT 12-10 Form the Tangent of a Floatingpoint Number TAN 12-13 Insert Binary Input - - - 8-7 Integer to BCD I_BCD 14-4 Integer to Double Integer I_DI 14-5 Jump JMP 18-3 Jump-If-Not JMPN 18-5 Master Control Relay Activate MCRA 20-10 Master Control Relay Deactivate MCRD 20-10 Master Control Relay Off MCR> 20-13 Master Control Relay On MCR< 20-13 Midline Output # 8-10 Multiply Double Integer MUL_DI 11-7 Multiply Integer MUL_I 11-6 Multiply Real MUL_R 12-5 Negate Binary Input - - - o 8-8 Negate Real Number NEG_R 14-13 Negative RLO Edge Detection N 8-29 Off-Delay 5 Timer (aikaoperaatio) _OFFDT 9-13 Off-Delay Timer (bittilukitusoperaatio) F 8-26 On-Delay 5 Timer (aikaoperaatio) _ODT 9-9 On-Delay Timer (bittilukitusoperaatio) D 8-22 ONEs Complement Double Integer INV_DI 14-10 ONEs Complement Integer INV_I 14-9 Open Data Block: DB or DI OPN 17-2 OR >=1 8-4 ivu 1-3
Aakkosellinen operaatiolista Taulukko 1-1 FBD/FUP-operaatiot aakkosjärjestyksessä kansainvälisine (IEC) (englanninkielisine) selityksineen, mnemoniikalla, jatkoa elitys Kansainvälinen mnemoniikka Positive RLO Edge Detection P 8-28 Pulse 5 Timer (aikaoperaatio) _PULE 9-5 Pulse Timer (bittilukitusoperaatio) P 8-18 Reset Output R 8-13 Reset_et Flip Flop R 8-33 Result Bit Equal 0 ==0 1-6 Result Bit Greater Equal 0 >=0 19-4 Result Bit Greater Than 0 >0 19-4 Result Bit Less Equal 0 <=0 19-4 Result Bit Less Than 0 <0 19-4 Result Bit Not Equal 0 <>0 19-4 Retentive On-Delay 5 Timer (aikaoperaatio) _ODT 9-11 Retentive On-Delay Timer (bittilukitusoperaatio) 8-24 Return RET 20-8 Return Fraction Double Integer MOD_DI 11-10 Rotate Left Double Word ROL_DW 16-11 Rotate Right Double Word ROR_DW 16-12 Round to Double Integer ROUND 14-14 ave RLO to BR Memory AVE 8-11 et Output 8-12 et Counter Value C 8-14 et_reset Flip Flop R 8-32 hift Left Double Word HL_DW 16-4 hiftleftword HL_W 16-3 hift Right Double Integer HR_DI 16-9 hift Right Double Word HR_DW 16-6 hift Right Integer HR_I 16-8 hift Right Word HR_W 16-5 ubtract Double Integer UB_DI 11-5 ubtract Integer UB_I 11-4 ubtract Real UB_R 12-4 Truncate Double Integer Part TRUNC 14-15 TWOs Complement Double Integer NEG_DI 14-12 TWOs Complement Integer NEG_I 14-11 Up Counter (laskentaoperaatio) _CU 10-5 Up Counter (bittilukitusoperaatio) CU 8-16 Up-Down Counter _CUD 10-3 ivu 1-4
Aakkosellinen operaatiolista Taulukko 1-1 FBD/FUP-operaatiot aakkosjärjestyksessä kansainvälisine (IEC) (englanninkielisine) selityksineen, mnemoniikalla, jatkoa elitys Kansainvälinen mnemoniikka (Word) And Double Word WAND_DW 15-4 (Word) And Word WAND_W 15-3 (Word) Exclusive Or Double Word WXOR_DW 15-8 (Word) Exclusive Or Word WXOR_W 15-7 (Word) Or Double Word WOR_DW 15-6 (Word) Or Word WOR_W 15-5 ivu 1-5
Aakkosellinen operaatiolista 1.2 Kansainvälinen IEC (englanninkielinen) selityslista vastaavin (imatic) saksankielisin selityksin Taulukossa A-1 on aakkosellinen FBD/FUP-operaatiolista kansainvälisine (IEC) (englanninkielisine) selityksineen ja saksankielisine IMATIC-vastaavuuksineen ja sivu, jolla kyseinen operaatio selitetään. Taulukko 1-2 FBD/FUP-operaatiot aakkosjärjestyksessä kansainvälisine (IEC) (englanninkielisine) selityksineen ja (IMATIC) saksankielisine vastaavuuksinen IMATIC-mnemoniikka suomeksi ivu Add Double Integer Kokonaislukujen yhteenlasku (32 bittiä) 11-3 Add Integer Kokonaislukujen yhteenlasku (16 bittiä) 11-2 Add Real Liukulukujen yhteenlasku 12-3 Address Negative Edge Detection ignaalireunan 1 0 kysely (pulssin teko) 8-31 Address Positive Edge Detection ignaalireunan 0 1 kysely (pulssin teko) 8-30 AND JA-lukitus 8-3 Assign Osoitus 8-9 Assign a Value Arvon siirto 14-2 BCD to Double Integer BCD-luvun muunto kokonaisluvuksi (32 bittiä) 14-6 BCD to Integer BCD-luvun muunto kokonaisluvuksi (16 bittiä) 14-3 Call FB from Box FB:n kutsu 20-4 Call FC from Box FC :n kutsu 20-4 Call FC FC (without parameters) FC/FC:n kutsu ilman parametrejä 20-2 Call ystem FB from Box Järjestelmä FB:n kutsu 20-4 Call ystem FC from Box Järjestelmä FC-kehyksen kutsu 20-4 Ceiling euraavaksi suuremman kokonaisluvun 14-16 muodostus liukuluvusta Compare Double Integer (>, <, ==, <>, <=, >=) Kokonaislukujen vertailu (32 bittiä) 13-3 Compare Integer (>, <, ==, <>, <=, >=) Kokonaislukujen vertailu (16 bittiä) 13-2 Compare Real (>, <, ==, <>, <=, >=) Liukulukujen vertailu 13-4 Divide Double Integer Kokonaislukujen jakolasku (32 bittiä) 11-9 Divide Integer Kokonaislukujen jakolasku (16 bittiä) 11-8 Divide Real Liukulukujen jakolasku 12-6 Double Integer to BCD Kokonaisluvun (32 bittiä) muunto BCD-luvuksi 14-7 Double Integer to Real Kokonaisluvun (32 bittiä) muunto liukuluvuksi 14-8 Down Counter (laskentaoperaatio) Taaksepäinlaskenta 10-7 Down Counter (bittilukitusoperaatio) Taaksepäinlaskenta 8-17 Exception Bit BR Memory BIE-rekisterin bitti 19-3 Exception Bit Overflow Ylivuodon virhebitti 19-7 Exception Bit Overflow tored Tallennetun ylivuodon virhebitti 19-8 Exception Bit Unordered Väärän operaation virhebitti 19-6 Exclusive OR EHDOTON-TAI-lukitus 8-6 1-6