TAMPEREEN AMMATTIKORKEAKOULU 07.10.01 1 (21) SIMATIC STEP S7 Ohjelmointiohjelma Ohjelmointi osa1
TAMPEREEN AMMATTIKORKEAKOULU 07.10.01 2 (21) 1 Projektin muodostus 1.1 Ohjelman avaus Ohjelman avaus suoritetaan Windows perustilasta klikkaamalla SIEMENS Manager kuvaketta. Kuva 1 1.2 Wizard ikkuna Nyt näyttöön aukeaa STEP 7 Wizard ikkuna, josta valitaan klikkaamalla Next> painike. Kuva 2 1.3 CPU-tyypin valinta Seuraavasta Wizard ikkunassa suoritetaan CPU-tyypin valinta: - jos valitaan CPU315-2DP siirrytään ohjeissa sivulle xx (Profibus laitteisto) jos valitaan CPU314 IFM jatkamme tästä eteenpäin. Opettaja kertoo kumpaa CPU:ta käytetään.
TAMPEREEN AMMATTIKORKEAKOULU 07.10.01 3 (21) MPI adress numeroksi valitsemme 2 ja tämän jälkeen klikkaamme Next> painiketta. Kuva 3 1.4 Organisaatioblokit CPU valinnan jälkeen Wizart ikkunasta valitaan OB:t (organisaatioblokit). Peruskurssilla käytetään ainoastaan OB1:stä, mikäli on tarpeellista ottaa muita OB blokkeja käyttöön opettaja antaa siitä erillisohjeet. OB1 on valittu oletusarvona Esitysmuodoksi (Language) valitaan FBD (logiikkakaavio). Tästä edetään jälleen Next> painikkeella seuraavaan ikkunaan (kuva5).
TAMPEREEN AMMATTIKORKEAKOULU 07.10.01 4 (21) Kuva 4 1.5 Projektin nimi Viimeisessä Wizart ikkunassa määritellään projektille nimi. Harjoitusohjelmissa käytetään nimenä henkilön etunimeä. Mikäli samalla nimellä on määritelty useampia projekteja, annetaan nimelle lisäksi järjestysnumero esim. Kalle_4. Pakolliset esiasetukset on nyt suoritettu ja voidaan klikata Make painiketta. Kuva 5 1.6 Projektin rakenne Projektin muodostuksen jälkeen avautuu näkymä, jossa on projektin rakenne. Ensimmäisellä tasolla sijaitsee projektin nimi Harjoitus1. Projektiin valittu Station on meidän tapauksessa SIMATIC 300. CPU:ta jota käytämme on CPU314 IFM. Alimmalle tasolle muodostuu S7 Program kansio, jossa PLC:n ohjelmablokit, ja lähdekoodikansio sijaitsevat.
TAMPEREEN AMMATTIKORKEAKOULU 07.10.01 5 (21) Kuva 6 2 Ohjelman kirjoitus. 2.1 OB1 blokki Ohjelman kirjoitus aloitetaan OB1 blokista. OB1 on organisaatioblokki, joka on oltava jokaisessa ohjelmassa. Kaksois- klikkaamalla oikeanpuoleisessa kehikossa oleva OB1 kuvaketta avautuu kuvan 7 mukainen näkymä..
TAMPEREEN AMMATTIKORKEAKOULU 07.10.01 6 (21) Kuva 7 Vasemmalla oleva valikko saadaan näkyviin klikaamalla Program Elements pikakuvaketta työkaluriviltä. Program Elements valikossa on STEP 7 operaatiot jaoteltu ryhmittäin omiin kansioihin (kuva 8) : Bit Logic kansiossa on perusoperaatiot binaariohjelmointia varten (kuva 8a). Compare kansiossa on vertailuoperaatiot biteille ja bittisanoille Convert kansiosta löytyy datatyyppien muunto-operaatiot Counters kansioon on kerätty laskureita joita voidaan liittää yhteen ohjelmaan 256 kpl. Timer kansiossa on aika ja viiveoperaatioita Kuva 8 Kuva 8a Valikossa on vielä lukuisa määrä muita toimintoja mutta niihin palataan jatkokurssin puitteissa. Tarkemmat kuvaukset käytettävistä operaatioista sisältyy kurssimateriaaliin.
TAMPEREEN AMMATTIKORKEAKOULU 07.10.01 7 (21) Binaariohjelmoinnissa yleisimmin käytetyt operaatiot löytyvät myös työkalurivin oikeasta reunasta esim. AND-, OR-, ja lähtö-operaatio (kuva 9). Kuva 9 Sekä OB1:lle että Network 1:lle voidaan kirjoittaa kommentteja niille varatuille riveille. Kommenttikehikot ovat harmaita pohjaväriltään (kuva 10). Kuva 10
TAMPEREEN AMMATTIKORKEAKOULU 07.10.01 8 (21) Kuva 11 Ohjelmointikehikko saadaan auki klikkaamalla hiirtä ohjelmoitavan Network kommenttikehikon alapuolella. Ohjelmointikehikkoon voidaan hakea haluttu operaatio joko työkaluriviltä tai Program Elements valikosta. 3 Esimerkkiohjelma 3.1 Tehtävän asettelu Kuva 12 esittää sähköisesti käynnistettävää kuljetinhihnaa. Hihnan alkupäässä on kaksi painiketta, S1 käynnistystä ja S2 pysäytystä varten. Hihnan loppupäässä on myös kaksi kytkintä S3 käynnistystä ja S4 pysäytystä varten. Hihna voidaan käynnistää tai pysäyttää molemmista päistä. Lisäksi anturi S5-anturi pysäyttää hihnan kun jokin esine tulee päälle. 3.2 Symbolinen ohjelmointi Kuljetinhihnan ohjaamiseksi voidaan kirjoittaa kuvan 12 perusteella ohjelma 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 1).
TAMPEREEN AMMATTIKORKEAKOULU 07.10.01 9 (21) Kuva 12 Taulukko 1 Järjestelmäkompo Absoluuttinen Symboli Symbolitaulukko nentit Nimike Käynnistyskytkin E124.1 S1 E124.1 S1 Pysäytyskytkin E124.2 S2 E124.2 S2 Käynnistyskytkin E124.3 S3 E124.3 S3 Pysäytyskytkin E124.4 S4 E124.4 S4 Anturi E124.5 S5 E124.5 S5 Moottori A124.0 Moot_on A124.0 Moot_on 3.3 Absoluuttinen ohjelmointi Kuljetinhihnan ohjaamiseksi voidaan kirjoittaa kuvan 12 perusteella ohjelma esittämällä kuljetinhihnajärjestelmän eri komponentit absoluuttisten arvojen avulla (katso taulukko 2). Kuvassa 13 on FUP-ohjelma liukuhihnan ohjaamiseksi.
TAMPEREEN AMMATTIKORKEAKOULU 07.10.01 10 (21) Kuva 13 Taulukko2 Järjestelmäkomponentti Absoluuttinen nimike Käynnistyskytkin E124.1 Pysäytyskytkin E124.2 Käynnistyskytkin E124.3 Pysäytyskytkin E124.4 Anturi E124.5 Moottori A124.0 3.4 Network 1 Aktivoidaan ohjelmointikehikko Network 1:seen. Valitaan TAI-operaatio kaksoisklikkauksella työkaluriviltä (kuva 14) tai Program Elements valikon Bit Logic kansiosta.
TAMPEREEN AMMATTIKORKEAKOULU 07.10.01 11 (21) Kuva 14 Kun TAI-operaatio on saatu otettua ohjelmointikehikkoon aktivoidaan sen oikeassa reunassa oleva viiva (lähtö) kaksoisklikkauksella, tämän jälkeen lähtö muuttuu vahvemmaksi ja väriltään vihreäksi (kuva 15a ja 15b) Kuva 15a Kuva 15b TAI-operaation aktivoituun lähtöön haetaan Program Elements valikon Bit Logic- kansiosta Set operaatio (lähdön asetus). Lähdön asetusoperaatio kiinnittyy automaattisesti TAI-operaatioon (kuva16). Kuva 16 Nyt on ensimmäiseen virtapiiriin ohjelmoitu tarvittavat operaatiot. Seuraava vaihe on antaa osoitteet operaatioille. Käytämme absoluuttisia osoitteita, jotka määrittelimme taulukkoon 2 Kuva 17
TAMPEREEN AMMATTIKORKEAKOULU 07.10.01 12 (21) Operandiosuus (E tai A) voidaan kirjoitta isolla tai pienellä kirjaimella, tavu- ja bittiosoitteen välissä on oltava ehdottomasti. (piste). Virtapiirin ohjelmoinnin jälkeen kirjoitetaan virtapiirin kommenttikenttään tarvittava selvitys ohjelman toiminnasta. 3.5 Uusi virtapiiri Uusi virtapiiri aloitetaan valitsemalla työkaluriviltä painike (New Network) AND-operaation vasemmalta puolen tai Program Elements valikon ylin painike (kuva 18a ja 18b). Kuva 18a Kuva 18b Virtapiiri 2:een haetaan tarvittavat ohjelma-operaatiot kappaleen 3.4 mukaisesti. TAI-operaatioon joudutaan lisään yksi tulo (binaaritulon väliinkirjoitus) ja suorittamaan invertointi (binaaritulon kääntö). Nämä toiminnot saadaan helpoimmin työkaluriviltä perusoperaatioiden oikealtapuoleta (kuva 19a ja 19b). Kuva 19 a Kuva 19 b Kuva 19 c
TAMPEREEN AMMATTIKORKEAKOULU 07.10.01 13 (21) 4 Esimerkkiohjelma 2 4.1 Kuljetinhihnan suunnan havaitseminen Kuvassa 14 on kuljetinhihna, joka on varustettu kahdella valokennolla LS 1 ja LS 2. Valokennojen tulee havaita, mihin suuntaan hihnalla oleva paketti liikkuu. 4.2 Symbolinen ohjelmointi Kuvassa 20 esitetyn kuljetinhihnajärjestelmän suuntailmoituksen aktivoimiseksi voidaan kirjoittaa ohjelma esittämällä kuljetusjärjestelmä symbolien avulla eri komponentit mukaan lukien suunnan havaitsemiseen tarkoitetut valokennot. Mikäli päädytään tähän menetelmään, on laadittava symbolilista määrittämällä valitut symbolit suhteessa absoluuttisiin arvoihin (katso taulukko 3). Taulukko 3 Järjestelmäkomponenti Absoluuttinen Symboli Symbolitaulukko t Nimike Valokenno 1 E125.0 VK 1 E125.0 VK1 Valokenno 2 E125.1 VK 2 E125.1 VK2 Ilmoitus liikkeestä A125.0 OIKEA A125.0 OIKEA oikealle Ilmoitus liikkeestä vasemmalle A125.1 VASEN A125.1 VASEN Tahtimerkkeri 1 M0.0 TM1 M0.0 TM1 Tahtimerkkeri 2 M0.1 TM2 M0.1 TM2 Kuvassa 20 esitetyn kuljetinhihnajärjestelmän suuntailmoituksen ohjaamiseksi voidaan kirjoittaa ohjelma siten että esittämällä suunnan havaitsemiseen tarkoitetut valokennot absoluuttisilla arvoilla (katso taulukko 4). Kuva 21 esittää kuljetinhihnajärjestelmän suuntailmoituksen ohjaamiseksi tarkoitettua FUP-ohjelmaa.
TAMPEREEN AMMATTIKORKEAKOULU 07.10.01 14 (21) Taulukko4 Järjestelmäkomponen Absoluuttinennimike tit Valokenno 1 E125.0 Valokenno 2 E125.1 Ilmoitus liikkeestä A125.0 oikealle Ilmoitus liikkeestä A125.1 vasemmalle Tahtimerkkeri 1 M0.0 Tahtimerkkeri 2 M0.1 Kuva 20
TAMPEREEN AMMATTIKORKEAKOULU 07.10.01 15 (21) Kuva 21 4.3 Lähdön haaroittaminen JA-operaation lähdön haaroittaminen virtapiirissä 3 kahteen ulostuloosoitteeseen saadaan valitsemalla työkalurivin oikeasta reunasta painike T Branch (kuva 19c) 5 Osoitteet 5.1 Tulot ja lähdöt Jotta signaaliantureita ja toimilaitteita voidaan puhutella, tulee niille antaa automaatiojärjestelmässä osoitteet. Jotta ymmärretään, miten automaatiolaite käsittelee ohjausohjelmaa, on syytä osata käsitteet bitti, tavu, sana ja kaksoissana Bitti on yhden binääripaikan tai binäärimerkin yksikkö. Se on pienin informaatioyksikkö, jolla voi olla vain tila 0 tai 1. Useammat bitit voivat yhdessä muodostaa suurempia kokonaisuuksia. Bittien numerointi tapahtuu aina oikealta vasemmalle eli bitti nolla sijaitsee oikealla ja seitsemäs vasemmalla. Tavu (Byte) muodostuu 8 bitistä. Sitä käytetään esim. 8 tulon- tai 8 lähdön kokonaisuutena, esim. kahden luvun esittämiseen. Sana (Wort/Word) muodostuu 2 tavusta tai 16 bitistä. Sitä käytetään esim. 16 tulon tai 16 lähdön kokonaisuutena, jolloin voidaan esim. esittää neljä lukua Kaksoissana muodostuu 2 sanasta tai 4 tavusta tai 32 bitistä, kaksoissana on suurin kokonaisuus mikä voi automaatiolaitteella olla. 1 Byte (tavu) = 8 bittiä 1 sana = 2 tavua = 16 bittiä 1 kaksoissana = 2 sanaa = 4 tavua = 32 bitiä Jokaisella tulolla ja lähdöllä on automaatiolaitteessa numero, ns. bittiosoite. Se on 0 7.
TAMPEREEN AMMATTIKORKEAKOULU 07.10.01 16 (21) Yksittäisellä tavulla on myöskin ns. tavuosoite. Numero riippuu siitä, missä korttiyksikkö sijaitsee. Tavuosoitteet määritellään lisäksi nimellä tulo tai lähtö, niiden tehtävien mukaisesti. Kun kyseessä on tulo, nimen tunnuksena on E ja lähdön tunnuksena on A. Tavun tunnuksena käytetään B:tä, sanan tunnus on W ja tuplasanassa D tunnus. Kun puhutaan tulotavusta (EB), tarkoitetaan kahdeksaa signaalia (0 7), tavun sisällä. Tavu- ja bittiosoite erotetaan toisistaan pisteellä. Tällöin tulolla ja lähdöllä on selvästi niiden tavu- ja bittiosoite Esimerkki: E 1. 4 Bittiosoite Tavuosoite Tulon tunnus Kyseessä on Siemens STEP-7 järjestelmän toisen tulotavun viides bitti eli toisen ryhmän viides liitäntä. Joissakin tilanteissa käytetään englanninkielistä merkintää, jolloin I = tulo ja Q = lähtö Kun kahta tavua käsitellään yhtenä kokonaisuutena, niin puhutaan sanaosoitteesta. Tulo / lähtötavujen nimityksinä ovat EB, AB Kaksi tulotavua ovat esim. tulosana (EW). Tulosana 2 (EW2) sisältää 2 tulotavua (EB2) ja (EB3). Käytettäessä sanaosoitteita käytetään nimityksenä aina sen pienempinumeroista tavua. EW2 = EB2 EB3
TAMPEREEN AMMATTIKORKEAKOULU 07.10.01 17 (21) Kaksoissanaosoitteena käsitellään 2 sanaa eli 4 tavua. Kaksoissanaosoitteessa on 32 signaalia. Tulojen / lähtöjen nimityksinä ovat ED, AD ED0 EB0 EB1 = EB2 EB3 ED0 EW0 EW2 Tulokaksoissana 0 (ED0) muodostuu tulotavuista EB0, EB1, EB2 ja EB3. 6 Toimintayksiköt 6.1 Organisaatioyksikkö (OB) OB1 on yksikkö, joka muodostuu automaattisesti projektia muodostettaessa. OB 1 on liitäntäpiste käyttäjäohjelman ja käyttöjärjestelmän välillä. Tässä yksikössä voi olla sen oman käsittelyohjelman lisäksi osuus, jossa kutsutaan muita yksiköitä. OB1:teen voidaan tallettaa koko ohjelma tai ohjelma voidaan jakaa yksittäisiin logiikkayksiköihin ja OB1:tä käytetään vain näiden yksiköiden kutsumiseksi. OB1:tä käydään läpi syklisesti kunnes toinen OB, jolla on korkeampi prioriteetti keskeyttää sen. Keskeytyksessä käyttöjärjestelmä keskeyttää OB1:n ja jatkaa keskeyttävään OB:hen. S7 CPU:n käyttöjärjestelmässä on 26 prioriteettiluokkaa. Jokainen prioriteettiluokka käyttää OB:ta liitäntäpisteenä. Käyttöjärjestelmä suorittaa OB:t prioriteettiluokkansa mukaan. OB1:llä on pienin prioriteettiluokka kaikista OB:sta, mikä merkitsee, että kaikki muut OB:t saavat keskeyttää OB1:n tarvittaessa. Eri OB:lla on seuraavat erityistoiminnot: - OB1 pääohjelmasykli kutsutaan syklisesti - OB10 kellokeskeytys kutsu ohjelmoidaan kellonajan mukaan - OB20 viivekeskeytys kutsu ohjelmoidaan viiveen mukaan - OB35 aikakeskeytys kutsu joka n. ms - OB40 prosessikeskeytys kutsu keskeyttävältä korttiyksiköltä
TAMPEREEN AMMATTIKORKEAKOULU 07.10.01 18 (21) - OB80-87 virhe OB kutsu asynkronisesta virheestä - OB121,122 virhe OB kutsu synkronisesta vrheestä - OB100 käynnistys kutsu kun Stop => Run CPU:lla - OB101 jälleen käynnistys kutsu CPU:n jälleenkäynnistyksessä Kun keskeyttänyt OB on käyty läpi käyttöjärjestelmä palaa OB1:een. 6.2 Toiminta (FC) Toiminnat (ohjaus) ovat koodiyksiköitä, joita suoritetaan toisen ohjelman kutsumina. Kutsun jälkeen on toiminta pääohjelman aliohjelmana, kun toiminta on suoritettu palaa ohjelma siihen yksikköön, josta sitä oli kutsuttu. 6.3 Toimintayksiköt (FB) Toimintayksikkö on logiikkayksikkö jossa on muistialue oheis- DB- muodossa. DB:lle talletetut arvot säilyvät FB:n jättämisenkin jälkeen. DB:llä tulee olla sama datarakenne kuin FB:n parametriosuudella. 6.4 Tiedostoyksikkö (DB) Kun muodostetaan DB FB:lle, muodostetaan tiedostoyksikölle sama datarakenne kuin FB:llä on. Mikäli yritetään kutsua FB:tä ilman että DB:tä on olemassa, tunnistaa STEP 7 tämän ja kysyy muodostetaanko DB automaattisesti. Jos vastataan myöntävästi, muodostuu DB FB:lle. 6.4 Oheistiedostoyksikkö (Instance- DB) Oheistiedostoyksiköt ovat FB: n muistialueita. FB: n paikallisdataan tallennetut arvot tallentuvat myös oheistiedostoyksikölle ja sille tallennetut tiedot säilyvät FB: n jättämisenkin jälkeen. Oheistiedostoyksiköllä on sama datarakenne kuin FB: n parametriosuudella. Mikäli yritetään kutsua FB: ä ilman, että DB on olemassa tunnistaa STEP 7, että DB puuttuu. Ohjelma kysyy tuleeko DB muodostaa automaattisesti. Jos vastaus on kyllä, muodostuu DB samalla datarakenteella kuin FB. Oheistiedostoyksikkö on määritelty vain yhdelle tietylle toimintayksikölle. Tällöin näitä datoja voi käsitellä kyseenomainen toimintayksikkö. Oheistiedostoyksikkö varaa FB: lle muistia ja tiedostoyksikössä olevat arvot eivät nollaudu kun yksikkö suljetaan. Yhdelle FB: lle voidaan määritellä useampikin oheistiedostoyksikkö, kun FB: ä kutsutaan useampaan kertaan.
TAMPEREEN AMMATTIKORKEAKOULU 07.10.01 19 (21) 6.5 Systeemitoiminnat (SFC) Systeemitoiminta on esiohjelmoitu toiminta, kuten esim. moduulien, datakommunikaation tai kopiotoimintojen parametrointi. SFC on integroitu CPU:hun. SFC:tä kutsutaan ohjelmasta ilman, että sitä tarvitsee ladata. SFC:lle ei voida osoittaa tiedostoyksikköä. 6.6 Systeemitoimintayksiköt (SFB) Systeemitoiminta on integroitui osa CPU:ssa. SFB:t voidaan kutsua ilman, että niitä tarvitsee ladata ohjelmana sillä ne ovat osa käyttöjärjestelmää. SFB:lle tulee ladata oma oheis- DB, joka puolestaan tulee ladata osana käyttäjäohjelmaa. SFB:t ovat ainoastaan IFM CPU:ssa. 6.7 Systeemidatayksikkö (SDB) Systeemidatayksikkö on ohjelmamuistialue, jonne useat STEP 7 työkalut tallettavat ohjauksen käytössä tarvitsemiaan datoja. SDB:ssä talletetaan tietoa konfigurointidatasta, kommunikaatioyhteyksistä ja parametreistä.
TAMPEREEN AMMATTIKORKEAKOULU 07.10.01 20 (21) 1 Projektin muodostus...2 1.1 Ohjelman avaus...2 1.2 Wizard ikkuna...2 1.3 CPU-tyypin valinta...2 1.4 Organisaatioblokit...3 1.5 Projektin nimi...4 1.6 Projektin rakenne...4 2 Ohjelman kirjoitus....5 2.1 OB1 blokki...5 3 Esimerkkiohjelma...8 3.1 Tehtävän asettelu...8 3.2 Symbolinen ohjelmointi...8 3.3 Absoluuttinen ohjelmointi...9 3.4 Network 1...10 3.5 Uusi virtapiiri...12 4 Esimerkkiohjelma 2...13 4.1 Kuljetinhihnan suunnan havaitseminen...13 4.2 Symbolinen ohjelmointi...13 4.3 Lähdön haaroittaminen...15 5 Osoitteet...15 5.1 Tulot ja lähdöt...15 6 Toimintayksiköt...17 6.1 Organisaatioyksikkö (OB)...17 6.2 Toiminta (FC)...18 6.3 Toimintayksiköt (FB)...18 6.4 Tiedostoyksikkö (DB)...18 6.4 Oheistiedostoyksikkö (Instance- DB)...18 6.5 Systeemitoiminnat (SFC)...19 6.6 Systeemitoimintayksiköt (SFB)...19 6.7 Systeemidatayksikkö (SDB)...19
TAMPEREEN AMMATTIKORKEAKOULU 07.10.01 21 (21)