Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 1Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
OHJELMOITAVAT LOGIIKAT
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 2Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Ohjelmoitavat logiikat, 3 opISA0302 (opintojakso)
OppimistavoitteetOpiskelija tuntee ohjelmoitavien logiikoiden ominaisuudet ja soveltamismahdollisuudet. Hän kykenee luomaan logiikkaohjelmia, jotka ratkaisevat tehtäväksiannetun ongelman.
Edeltävät opinnotOhjelmoinnin perusteet. Sähkötekniikan peruslaboraatiot. Sähkö- ja automaatiotekniikan mittaukset. Automaatiotekniikan perusteet.
OppisisältöOpiskelija tutustuu ohjelmoitavien logiikkatyyppien ominaisuuksiin ja niiden soveltamiseen. Toimintaperiaatteessa näytetään, miten mittaukset/ohjaukset ja ohjelmasovellutus saatetaan yhteistoimintaan. Samalla perehdytään käytettävissä olevaan käskykantaan ja sen soveltamiseen. Harjoituksissa tehtävien sovellusten toiminta testataan laboratorion laitteilla. Käsiteltävän datan edellyttämät muistialueet ja esitysmuodot käydään läpi esimerkein.
Harjoitustehtävät:
X - ……
Toteutus ”pareittain” harjoitustuntien mukaisessa parissa.
Palautus:- ”Toimivan” version näyttö harjoitustunnilla- Viimeistään viikolla x
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 3Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 4Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 5Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
TÄSSÄ KURSSISSA ESIMERKKILOGIIKKANA KÄYTETÄÄN SIEMENS S7-300 LOGIIKKAA SEKÄ OHJELMOINTIOHJELMISTONA STEP 7:ÄÄ.
MATERIAALIA KOHDELOGIIKOISTA ON SAATAVILLA LIITTEEN 1 LÄHTEISTÄ
1. OHJELMOITAVAN LOGIIKAN KEHITYS
1.1 HistoriaOhjelmoitavalla logiikalla ohjataan ja valvotaan toimilaitteita (moottorit, venttiilit, säätäjät) sekä kerätään monitoroitavaa tietoa prosessista (hälytykset, indikoinnit, mittaukset).
Ensimmäiset automaatiototeutukset tehtiin relelogiikoilla eli ohjauslogiikka oli toteutettu mekaanisten releiden avulla. Näin on järkevää menetellä vielä tänäänkin, kun ohjattavia toimilaitteita on vain muutama.
Elektroniikan kehittyessä syntyivät 1960-luvun alussa ensimmäiset elektroniset logiikkajärjestelmät. Ne oli toteutettu langoittamalla elektronisia kombinaatiopiirejä. Niitä kutsuttiinkin langoitetuiksi logiikoiksi. Vaikka integrointiaste paranikin näin huomattavasti, niin halutun toiminnan aikaansaaminen vaati edelleenkin käsin tehtävää johdotustyötä. Siten muutostyöt ja dokumentointi oli vaivalloista.
Yhdysvaltain autoteollisuus edellytti joustavampaa tapaa toteuttaa automaatiota ja sen liikkeellepanemana tulivat vapaasti ohjelmoitavat logiikat markkinoille 1969.
1.2 Perusominaisuudet
Kehityksen tuloksena syntyi laite, jota voidaan kuvata seuraavilla ominaisuuksilla.
I/O-liitynnät
I/O-liitynnät (Input/Output) ovat logiikkojen tyypillisin ominaisuus, sillä ympäristön tilatietojen ja mittausten välitys ohjelmaan ja takaisin ovat juuri niitä toimintoja, joita varten logiikka on kehitetty. Tiedon välitys ohjelman ja fyysisen todellisuuden välillä on tehty erittäin yksinkertaiseksi.
Kun tavalliseen PC:hen tehdään ohjelma, joka tarvitsee tietoja ympäristöstä, siihen lisätään tiedonkeruukortti. Silloin PC:hen ollaan lisäämässä ohjelmoitavan logiikan piirteitä. Tällöin onkin paikallaan kysyä, onko sovellutus sellainen, johon olisikin syytä käyttää ohjelmoitavaa logiikkaa.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 6Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Käytännönläheinen ohjelmointi
Kun tietää, miten ohjattavan kohteen tulisi toimia, niin tarvittavan ohjelmanlaatiminen on suhteellisen helppoa. Tämä johtuu siitä, että tehtävän ohjelman rakenne vastaa ohjattavan kohteen rakennetta. Myös ohjelmien muuttaminen ja dokumentointi on nopeaa, mikä tekee laajojen ohjelmien ylläpidon mahdolliseksi.
NopeaYleiskäyttöiset ohjelmointikielet kuten Basic- ja C-kieli on kirjoitettu yleiskäyttöistä tietokonetta varten (esim. Pentium -prosessorit). Logiikka sen sijaan on jo alunperin suunniteltu loogisten bitti-operaatioiden suorittamiseen ja niissä onkin näitä toimintoja varten oma optimoitu prosessorinsa - kullakin suurella logiikkavalmis-tajalla omansa. Tämän ansiosta logiikka on nopea. Tyypillisesti reaktioaika on alle 10 ms.
Käyttövarma
Logiikka on suunniteltu kestämään teollisuusympäristön olosuhteet. Se onkin tyypillisesti oikein asennettuna käyttövarmempi, kuin vastaava totetutus sähkö-mekaanisilla releillä. Myös tavallisen PC:n toimintaan verrattuna sen varmuus on moninkertainen.
HalpaLogiikoiden hinnat lähtevät liikkeelle noin 200 eur:sta ylöspäin. Tällaisella pienellä logiikalla korvaa kymmenkunta tulo- ja lähtörelettä.
Tiedonkeruuliitynnät muihin järjestelmiin
Logiikat voidaan tyypillisesti kytkeä kiinni väylään, jonka kautta ne välittävättiedot toisilleen. Tähän samaan väylään voidaan yleensä kytkeä myös ylemmällätasolla toimivia tietokoneita. Tällöin logiikat toimivat tiedonkeruuyksikköinä esimerkiksi raportointia varten.
Jäljessä on esitetty kolme kaaviokuvaa, jotka kuvaavat ohjelmoitavan logiikan kehitystä ja sijoittumista automaatiokenttään.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 7Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Valvontapanelit(mosaiikkitaulu)
Prosessitietokoneet(analogiset piirit)
Releet
Valvomotietokoneet
Yksikkösäätimet
Ohjelmoitavat logiikat
Informaatiojärjestelmä
Tiedonvaihto
Informaatiojärjestelmä
Hajautetut automaatiojärjestelmät
AvoimetAutomaatio
ratkaisut
Suorituskyky
1965-1975Erillistoiminnot
1975 – 1985Erillisjärjeselmät,joiden välillä tiedon vaihto
1985 – 2000Integroidut, hajautetutautomaatiojärjestelmät
2000 – Avoimet eri tekniikoita ”vapaasti”yhdistelevät
Langoi-tettulogiikka
Käsi-ohjaus
Ohjelmoitavalogiikka
Automaatio-järjestelmä
Tehtävienmäärä
Tehtävienvaativuus
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 8Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Kuva Logiikoilla ja kenttäväylillä toteutettu ohjausautomaatio
2. OHJELMOITAVAN LOGIIKAN TOIMINTAPERIAATE
2.1 Ohjelmoitavan logiikan rakenne Ohjelmoitava logiikka koostuu seuraavista osista.
TulokortitTulokortit välittävät prosessista mitattavat jännite- ja virtasignaalit CPU:lle. Samalla ne sovittavat mittaussignaalien erilaiset jännite- ja virtatasot sopiviksi.(+/- 10 V, 1-5 V, 220 V, 4-20 mA, 0-20 mA, ...)
LähtökortitLähtökortit välittävät ohjauskomennot toimilaitteille.Samalla ne sovittavat ohjaussignaalien jännite- ja virtatasot toimilaitteille sopiviksi.
Ohjelmamuisti (Work memory)Ohjelmamuistina on paristotuettu RAM , johon käyttäjän ohjelmat on tallennettu.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 9Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Apumuisti (System memory)Apumuistiin tallennetaan ohjelman käyttämät vakiot sekä laskennan ja lukitusten tulokset.
CPUCPU suorittaa apumuistiin tallennettujen arvojen väliset lukitukset ja laskutoimitukset.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 10Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Kuva S7-300 logiikan muistialueet
2.2 Ohjelmoitavan logiikan ohjelmakierto
Tavanomainen logiikan ohjelman toiminta perustuu sykliseen ohjelman käsittelyyn. Kun ohjelma on suoritettu loppuun aloitetaan sen suoritus välittömästi uudelleen alusta. Siten ohjelman kiertonopeus riippuu kirjoitetun ohjelman pituudesta. Tyypillisesti 1K ohjelmaa suoritetaan 1ms:ssa. Kun logiikan muisti on esim. 10 K tavua, kestää ohjelman suoritus kertaalleen 10 ms.
Logiikan ohjelmakierto voidaan jakaa neljään eri vaiheeseen:
Tulorekisterinpäivitys
Digitaalitulokorttien tilat päivitetään datamuistin tulorekisteriin.
Lukitustuloksen muodostus
Suoritetaan ohjelma virtapiireittäin käsky käskyltä, jossa verrataan datamuistin tiloja lukitusehtojen mukaisesti.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 11Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 12Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Lukitustulos datamuistiin
Käskyoperaatioiden päätteeksi lukitustulos talletetaan datamuistiin.
Lähtörekisterin päivitys
Ohjelmakierron päätteeksi datamuistin lähtörekisterin tilat siirretään lähtökortin arvoiksi. Lähtöjen tilat päivittyvät siten samanaikaisesti.
Jos logiikkaa verrataan automaatiojärjestelmiin, niin sitä voisi kuvat sanoilla "tyhmä, mutta nopea". Nopeus perustuu siihen, että logiikoissa on oma prosessori, joka on optimoitu binääristen lukitusoperaatioiden suorittamiseen.
Seuraavalla sivulla oleva kuva selvittää, miten
- Tulokortti- Sovellusohjelma- Systeemimuisti- Lähtökortti
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 13Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
liittyvät yhteen ohjelmakierron aikana
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 14Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
3. OSOITEAVARUUS JA MERKINNÄT
Osoiteavaruus Ohjelmakoodi sijaitsee työmuistissa (Work Memory) ja ohjelman viittaamat muistipaikat Osoiteavaruudessa (System memory). Kommentit, symbolit ja muu CPU:n kannalta tarpeeton on talletettuna vain ohjelmointilaitteelle.
Alla esitellään muistialueet ja merkinnät, jotka logiikoiden osoiteavaruudessa tyypillisesti on. (Siemens S7-logiikoissa muistialueiden koko on CPU:n tyypistä riippuvainen)
SYSTEM RAM
Tulorekisteri(PII Proc. Input Image)
Lähtörekisteri(PQI Proc. Output Image)
Apumuisti(Merkers)
Ajastimet(Timers)
Laskurit(Counters)
TulorekisteriMuistialue, jonne tallentuu binääristen tulokorttien tila ohjelmakierron alussa. Muistialueen tunnus on I sanan Input mukaan.
Tulorekisterin maksimi koko määräytyy käytettävän logiikkatyypin mukaan. Pienissä yksikkörakenteisissa logiikoissa se saattaa olla vain noin 10 kpl tuloja, modulirakenteisissa satoja ja kehikkorakenteisissa tuhansisa tuloja. Tulojen maksimimäärä on siten rajoittava tekijä vain pienissä logiikoissa.
WORKMEMORY
DataBlockit
Local memory(Pyyhkäistään puhtaaksiOhjelmayksikön suorituksen päätyttyä ja muistialue otetaan uudelleen käyttöön)
PERIFERIAMUISTIT(Korteilla, luetaan/kirjoitetaan CPUn toimesta)
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 15Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Jos tulokortteja on käytössä vähemmän kuin maksimimäärä, niin silloin yli jäävää apumuistia voidaan käyttää tavallisen apumuistin tavoin (ks. Apumuisti M jäljempänä). Sen sijaan tulorekisterin muistipaikkaan ei ole mielekästä kirjoittaa, jos vastaava tulo löytyy tulokorteilta.
Siemens S7-300 ja 400 logiikoissa tulorekisterin ja samalla DI-korttien maksimimäärä riippuu CPU:n tyypistä.
Lähtörekisteri
Muistialue, jonne tallentuu binääristen lähtökorttien tila ohjelmakierron lopussa. Muistialueen tunnus on Q sanan Output mukaan. ”O” on vaihdettu Q:ksi, jotta se ei sekaantuisi nollaan.
Lähtörekisterin koolle pätee sama kuin tulorekisterille. Myös siinä voidaan käyttää yli jääneet muistipaikat apumuisteina.
Siemens S7-300 ja 400 logiikoissa lähtörekisterin ja samalla DO-korttien maksimimäärä riippuu CPU:n tyypistä.
Apumuisti (bitti) Apumuistia tarvitaan ohjelman niiden tulosten tallentamiseen, jotka eivät mene lähtörekisteriin. Muistialueen tunnus on M sanan Merker mukaan. Esimerkiksi S/R-kiikun tila ja nousevan reunan vertailubitti voidaan tallettaa Merker:iin. Apumuisti toimii myös sanoina. Esimerkiksi laskurin sisäinen lukuarvo voidaan tallettaa apumuistiin.
Apumuistin koolle pätee sama kuin tulorekisterille. Käytössä oleva apumuisti ei yleensä ole rajoittava tekijä.
Siemens S7-300 ja 400 logiikoissa Merker-muistin määrä riippuu CPU:n tyypistä.
Apumuisti (Sana)Merker-apumuisti oli aiemmin tarkoitettu erityisesti bitti-tason käskyjen yhteydessä käytettäväksi. Sana-tason käskyille oli oma alueensa. Logiikkojen kehittyessä tämä ero bitti- ja sana- apumuistin välillä on hävinnyt ja niitä voidaan käyttää yhtäläisesti kaikkien käskyjen kanssa.
Siemens-logiikoissa tämän alueen tunnus on DB sanojen DataBlock mukaan. Näitä alueita käyttäjä voi itse luoda ja määritellä kunkin alueen koon tarpeensa mukaisesti. Toinen tunnus DataBlock:iin viittaamiseksi on DI sanojen DataBlock Instance
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 16Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
mukaan. (Näitä asioita tarkennetaan vielä, kun käydään lävitse datatyypit ja nimipohjainen osoitus)
DataBlock'it sijoitetaan Work-memory alueelle. Ohjelmoija voi ohjelmoida niitä (haluamansa rakenteisia ja kokoisia). Lisäksi sovellusohjelma voi luoda ja tuhota DB:tä. DI:t rakentuvat FB:n muuttujataulukon mukaisesti ja ne sijoittuvat niinikään Work Memory-alueelle.
Siemens S7-300 ja 400 logiikoissa DB:den maksimimäärä ja koko riippuu CPU:n tyypistä.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 17Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
AjastimetAjastimia tarvitaan erottelemaan tapahtumia toisistaan ajan perusteella. Ajastimien tunnus on T sanan Timer mukaan. Ajastimien määrä on pienissä logiikoissa kiinteä. Suurissa logiikoissa se voi olla määriteltävissä. Tällöin yhteisestä muistialueesa varataan siivu kuhunkin käyttötarkoitukseen tarpeen mukaan.
Määrän ollessa kiinteä voi ajastimien loppuminen asettaa rajan logiikan järkevälle käytölle.
Siemens S7-300 ja 400 logiikoissa ajastimien määrä riippuu CPU:n tyypistä.
Laskurit
Laskureilla määritetään erilaisten tapahtumien lukumäärä. Laskureiden tunnus on C sanan Counter mukaan.
Laskureiden määrälle pätee sama kuin ajastimillekin.
Edellä kuvatut muistialueen sijaitsevat logiikan muistissa ja niillä on samana pysyvä fyysinen muistiosoite. Näiden lisäksi on olemassa kaksi muuta muistialuetta, jotka poikkeavat ominaisuuksiltaan edellisistä.
Väliaikaismuisti
Osa ohjelman käyttämästä apumuistista voidaan varata jokaisen aliohjelman alussa tarpeen mukaan. Varaus loppuu, kun aliohjelmakin loppuu kyseisellä ohjelman kierroksella. Näin samaa muistialuetta voidaan käyttää yhä uudelleen saman ohjelmakirroksenkin aikana. Toisaalta mikään sinne talletettu tieto ei ole enää käytettävissä seuraavalla ohjelmakierroksella – joku aliohjelma on voinut jo kirjoittaa sen päälle omiaan. Kyseiselle muistipaikalle on määritettävä aina arvo, ennen kuin sitä on mielekästä käyttää hyväksi.
Väliaikaismuistia kutsutaan Siemens-logiikoissa Temporary alueeksi, lyhennettynä Temp. Muistialueeseen viitataan kirjaimella L sanan Local mukaan. (T-kirjaintahan ei voi käyttää, kun se on jo varattu Timer:eille.)
Periferiamuisti Tämä muistialue ei fyysisesti sijaitse logiikan keskusyksikössä, vaan muilla korteilla, joihin keskusyksikkö kommunikoi rinnakkais- tai sarjaväylän avulla. (Esimerkiksi samassa kehikossa olevat muut kortit). Esimerkiksi lähtökortin muistiin voidaan kirjoittaa suoraan käyttämällä Periferia-muistiosoitetta. Tällöin kirjoitus
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 18Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
menee lähtörekisterin ohi, ja lähtö tulee vaikutetuksi heti kyseisen ohjelmarivin kohdalla. Muutoinhan vaikutus tapahtuu vasta ohjelmakierron lopussa, jolloin lähtörekisterin arvot kopioidaan lähtökorteille Periferia-muistiin.
Muistialueeseen viitataan kirjaimella P sanan Periferia mukaan.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 19Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Oheisessa taulukossa esitetään erään S7-logiikan ominaisuudet mm. muistialueiden koon osalta.
Kuva: S7-300 Installation and Hardware manual, S73bhb_e, Osio English 2
Muistialkionleveys
Muistia voidaan käsitellä eri kokoisina muistialkioina. Vaihtoehtoina on:
Yksikkö Merkintä
Selitys
Bitti X ”1” tai ”0”, (x-viittausta tarvitaan vain DB:ssä))Tavu B Byte, leveys 8 bittiäSana W Word, leveys 16 bittiäKaksoissana D Doubleword, leveys 32 bittiä
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 20Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 21Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Huomioita:
Bitin merkintää X tarvitaan vain DataBlock:ien yhteydessä. Muissa tapauksissa bittiosoitus päätellään epäsuorasti ”.” – merkistä ja sen jälkeen tulevasta bitin numerosta.
Kaikissa osoitteissa ensimmäinen luku kertoo sen tavun, josta osoitteen lukeminen alkaa. Muistiyksikön leveys määrää sitten sen, kuinka monta tavua siitä eteenpäin tullaan vielä käyttämään.
Se, miten peräkkäisistä tavuista muodostuu sana ja kaksoissana käy ilmi alla olevasta kuvasta:
Kuva: Osoitteen määräytyminen tavun perusteella
Osoite määräytyy siten seuraavasti: Osoitealue; muistiyksikön leveys; tavu, josta osoite alkaa. Esimerkiksi M - D - 10.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 22Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Alla olevassa taulukossa on vielä listattu muistialueet ja niissä käytettävät muistiyksikköjen leveydet. Samalla taulukko toimii oivana esimerkkinä, kuinka kuhunkin osoitteeseen viitataan. Siinähän on kirjoitettuna auki kaikki vaihtoehdot.
DatatyypitViime kädessä kuhunkin muistialkioon tallettuu bittejä – ykkösiä tai nollia – niin monta, kuin muistialkiossa on leveyttä. Esimerkiksi sanaan 16 kpl. Sama bittikombinaatio voi edustaa useita asioita – merkitys riippuu siitä, mitä datatyyppiä bitit edustavat. Esimerkiksi sama 16 bitin kombinaatio voi olla heksaluku tai BCD-
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 23Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
luku, jolloin niillä on ihan eri numeroarvo. Se voi myös edustaa esimerkiksi kahta ASCII-merkkiä, eikä laisinkaan lukuarvoa.
Meidän täytyy siis tietoa muistialkioon kirjoittaessamme määrittää, minkä tyyppistä tietoa olemme tallentamassa. Esimerkiksi onko luku 20 heksa- vai BCD-luku, jolloin logiikka osaa tehdä muunnoksen bittikombinaatioksi oikein.
Sama pätee tietysti myös tietoa lukiessa. Logiikalle on kerrottava, minkä säännön mukaan bitit ”käännetään” tiedoksi, esimerkiksi ASCII- merkiksi.
Seuraavalla sivulla on taulukko, jossa on listattuna yleisimmät datatyypit ja miten ne Siemensin logiikoissa syntaksin mukaan määritetään. Oikean kirjoitusasun tunteminen tulee tarpeelliseksi lähinnä silloin, kun ohjelmointilaitteella määrittää johonkin kiinteän vakioluvun. Tällainen tilanne tulee esimerkiksi ajastimelle aikaa määritettäessä. Toinen tilanne syntyy, kun ON-Line –tilassa VAT-taulukon kautta syöttää muistipaikalle arvon.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 24Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 25Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Datatyyppien määritys S7:ssä
Halutaan tehdää laskentaa etumerkillisillä kokonaisluvuilla tai reaaliluvuilla. Miten tulee menetellä, kun Merker-alueen Word- ja DoubleWord-muodot eivät tunne tällaisia datatyyppejä?
Datatyyppejä saa vapaasti määriteltyä DataBlocki:in. Kun DataBlock luodaan, niin sille määrätään osoite ja symbolinen nimi. Sen jälkeen DataBlock aukaistaan ja sen sisälle määritettään data-alkioita. Kullakin alkiolla on arvon lisäksi määritettynä oma nimi ja datatyyppi.
Toinen paikka, jossa datatyyppejä voi vapaasti määritellä käyttöönsä, on kunkin ohjelmalohkon muuttujamäärittely: FB:llä tämä taulukko kopioituu Instantioinnissa DataBlock:iksi, Local (Stat) muuttujia lukuunottamatta. FC:llä nämä käyttöön määritettävät datatyypit rajoittuvatkin juuri näihin Local-muuttujiin.
Lukumuunnokset
Ohjelmassa voidaan käsitellä keskenään vain samaa datatyyppiä. Esimerkiksikokonaislukuja ja reaalilukuja ei voi laskea yhteen. Ne on ensin saatettava samaksi datatyypiksi. Tämän vuoksi on tarjolla käskyjä, joilla lukumuunnokset tehdään.Yleisimpiä käskyjä ovat: Integer to Double integer, Double ineger to Real ja Round, joka tekee ”Real to Double integer”-muunnoksen niin tarkasti, kuin muunnos voidaan tehdä.
”Move”-käskyllä on muunnoksissa oma tehtävänsä. Se esimerkiksi tekee muunnoksen ”Double Integer” to Integer, jossa vain alkuperäisistä neljästä tavusta jätetään kaksi ylintä käyttämättä. Soveltajan vastuulla on sitten huolehtia siitä, että ylätavut ovat nollia tai että niiden huoioon jättämisestä ei aiheudu haittaa.
”Move”-käsky mahdollistaa myös Word:issä olevan lukuarvon muuttamisen Integer- muotoon ja päinvastoin.
Muistialueiden käyttö
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 26Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Aiemmin Merker ja DataBlock alueiden käytöllä oli selvä ero: M-alue bittikäskyille ja DataBlock sanakäskyille. Nykyisin kaikki käskyt voi kohdistaa myös DB-alueelle. DB-alueiden käytöstä on selviä etuja M-alueeseen verrattuna: DB-alueita voidaan luoda tarpeen mukaan. Kullekin käyttötarkoitukselle omansa.
Siten ohjelman rakenteesta tulee selkeä DB:tä käytettäessä. Mahdollisuus päällekkäisten osoitteiden käyttöön pienenee, kun kullakin
ohjelman osalla on oma yksilöllinen apumuistialueensa. DB-alueelle voidaan luoda datatyyppejä tarpeen mukaan. Merkereiden käyttö on perusteltua silloin, kun käytettävä osoite on koko ohjelman käytössä. Esimerkki tällaisesta tapauksesta on Aina1 ja Aina0 –muistipaikkojen käyttö. Toinen tapaus on erittäin suurta nopeutta vaativat koneohjaukset, jolloin DB:n aukaisuihin kuluvaa aikaa ei voida sallia - noin 1.5 mikrosekuntia/aukaisu.
M-alueiden sijaan on siis pääsääntöisesti perusteltua käyttää DB-alueita. M-alueet ja niiden laaja käyttö on lähinnä historiallista jäännettä.
4 KORTTIPAIKKOJEN JA OSOITTEIDEN VÄLINEN RIIPPUVUUS S7-300 LOGIIKASSA
Siemens S7-300 logiikoiden asennus ja osoitteiston määräytyminen on esitetty yksityiskohtaisesti manualissa: S7-300 Programmable Controller Hardware and Installation. (Käytän tässä kappaleessa ko. manualista viitettä HW-I)
S7-300 logiikoiden I/O-modulien kanavien osoitteisto määräytyy pääsääntöisesti korttipaikkojen mukaan (Default Addressing), S7-400 logiikoissa osoitteiston voi parametroida (User defined-address allocation). (Myös S7-300 logiikoiden tehokkaimmat CPUt tukevat User defined-address allocation-osoitteistomääritystä)
DEFAULT ADDRESSING
Korttien asentaminen asennuskiskolle
Korttiasennuskiskoja (Rack) voi olla 1-4 kpl. (Pienimmät CPU:t eivät tue kaikkia lisäkiskoja). CPU:n asennuskisko on numero 0 ja lisäkiskot on nousevassa numerojärjestyksessä CPU:lta yhdyskaapelia seurattaessa. (Racks 1-3). Kullakin kiskolla voi olla 8 kpl SM (I/O-korttia), FM-korttia (Function Module, Toimintayksikkö) ja CP-korttia (Communication Processor) yhteensä. Näiden korttien sijaintipaikat on 4-11. (Korttien määrä on rajoitettu, jotta virrantiheys kortin Backplane-busissa (väylä kortilta kortille) ei nouse liian suureksi.)
Pääsääntö:
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 27Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Rackin 0:
Korttipaikka 1 on varattu jännitelyksikölle (PS), korttipaikka 2 on varattu CPU:lle, korttipaikka 3 on varattu laanennuskehikon liitäntäyksikölle (IM360 SEND- tai IM365 SEND-yksikölle), korttipaikat 4-11 SM, FM tai CP-yksiköille.
Rackit 1-3:
Korttipaikka 3 on varattu laanennuskehikon liitäntäyksikölle (IM361 RECEIVE- tai IM365 RECEIVE-yksikölle), korttipaikat 4-11 SM, FM tai CP-yksiköille
SM ja IM-kortit on esitetty manualissa Module Specifications, kohdat 3-6
Kuva Korttien sijoittaminen Rackeihin (HW-I, Sivu 3-2)
Osoitteiston määräytyminen korttipaikan mukaan
Default Addressing'issä korttityyppi ja -paikka määräävät kortilla olevien kanavien osoitteiston alla olevan kuvan mukaisesti.
Taulukko osoittaa digitaalikortin ensimmäisen tavun osoitteen. (osoite välillä 0-127, maksimiosoite riippuu CPU:n tyypistä. Maksimimäärän voi tarkistaa esimerkiksi CPU:den manualista tai ST70-manualista.) Kortilla on yleensä joko kaksi osoitetavua (n ja n+1, 16 kanavainen kortti, jolloin n+2 ja n+3 jäävät käyttämättä) tai neljä osoitetavua (n..n+3, 32 kanavainen digitalikortti.)
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 28Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Taulukko osoittaa analogiakortin ensimmäisen osoitesanan. (Siemens-osoitekanta perustuu tavujakoon ja 1 word on 2 tavua. Tästä syystä analogiakorteilla on ainoastaan parillisia osoitteita). Kavavien määrä analogiakorteilla riippuu korttityypistä. Osoitteet määräytyvät kasvavassa järjestyksessä parillisina osoitteina.
FM ja CP-yksiköiden sijaintipaikka osoitetaan analogiakortin ensimmäisen kanavaosoitteen mukaan.
Taulukko Kanavaosoitteiden määräytyminen korttipaikkojen mukaan. (HW-I, sivu 3-3)
Korttien kanavaosoitteistot näkyvät myös Hardware Configuration-ikkunassa logiikkaa konfiguroitessa.
5 LOGIIKAN DIGITAALITULOT
KÄYTTÖKOHTEET, TOTEUTUS
Digitaalitulot välittävät TOSI/EPÄTOSI-tiedon ("0"/"1", TRUE/FALSE) kentältä logiikalle. Tieto välitetään sulkemalla/avaamalla digitaalitulokortin kanavakohtainen virtapiiri, jolloin piirissä kiertää virta. Tieto virran kiertämisestä välitetään logiikkaan optoeristimen välityksellä kentällä olevien sähköisten häiriöiden eristämiseksi logiikan jännitetasosta. Logiikan tulokortissa on yleensä LED osoittamassa kanavakohtaisen signaalin tilaa (palaa=TOSI, "1", ei pala, EPÄTOSI, "0").
Digitaalitulot käsitellään yleensä 8 bitin monikertoina (tavuina, BYTE). Näinollen tavanomaisimpia tulokanavamääriä yksittäisessä DI-kortissa on 8, 16 ja 32 kanavaa.
STANDARDIVIESTIT
Siirrettävä tieto välitetään jänniteviestinä. Standarditasoja on useita, joista yleisimpiä ovat 24 VDC ja 230 VAC. Myös 110 VAC (voimalaitos ja sähkönjakelu) on yleinen.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 29Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
24 VDC:n jännitteestä logiikoiden yhteydessä on muodostunut yleinen standardi. Etuna on transistoritekniikan tuomat hyödyt (pienet häviöt, suuri pakkaustiheys ja pitkä taloudellinen käyttöikä) sekä turvajännite (Etenkin instrumentoinnissa 24 VDC:n jännite ei edellytä sähkömiestä)
24 VDC:n jännitetasoa käytetään yleisesti logiikkakaapissa ja instrumentoinnin kenttäjännitteenä. Moottorilähtöjen ohjauspiireissä käytetään 230 VAC:n jännitettä, jolloin sovitus 230 VAC:n ja 24 VDC:n välillä tehdään välireleillä.
TULOJEN TYYPIT
230 (110) VAC:n signaalit sovitetaan etuvastuksella, tasasuunnataan ja ohjataan sitten optoisolaattorille logiikan jännitetasoon välitettäväksi.
Logiikan 24 VDC:n digitaalitulokortit ovat joko virtaa ottavia (CURRENT SINK) tai virtaa antavia (CURRENT SOURCE, maattava). Eurooppalaisissa logiikoissa virtaa ottavat tulotyypit ovat oletusarvo, japanilaisissa ja amerikkalaisissa logiikoissa virtaa antava tulotyyppi on yleinen. Japanilaisissa ja amerikkalalisissa logiikoissa saman tulokortin toimintatyypin voi usein valita kortilla olevalla kytkimellä.
Virtaa ottava DI-tulokortti (NPN-tyyppinen tulokortti):
Virtaa ottavan tulokortin yhteydessä prosessijännitelähteen jännite syötetään kentällä olevan koskettimen kautta kortin tulokanavalle kuvan 1 mukaisesti. Tulotavuilla on joko tavukohtainen tai kortin tavuilla yhteinen miinuspoteniaali.
1 2 3 4 5 6 7 8 9 12 13 14 15 20
L+ (+24 VDC) IX.0 IX.1 IX.2 IX.3 IX.4 IX.5 IX.6 IX.7 I(X+1).0 I(X+1).1 I(X+1).2 . . M (-/24 VDC)
+ 5VDC (Logiikan sisäinen, kentästä erotettu jännite)
24 VDC:n prosessi- jännitelähde
Tosi/epätosi-kosketintoiminta
Opto
Tilan osoitus LED
Kuvassa 1 on esitetty Siemens S7-300 16 kanavaisen virtaa ottavan 24 VDC:n tulokortin kytkentäperiaate. (Oheisessa piirustuksessa on esitetty kanavan IX.3
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 30Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
kytkentä. Kaikilla tulokanavilla on identtinen kytkentä, niitä ei yleensä esitetä selkeyden vuoksi.)
Virtaa antava DI-tulokortti (PNP-tyyppinen tulokortti):
Virtaa antavan tulokortin yhteydessä prosessijännitelähteen jännite syötetään kortille ja virtapiiri suljetaan kentällä olevan koskettimen kautta kuvan 2 mukaisesti (Kanava niinsanotusti maatetaan). Tulotavuilla on joko tavukohtainen tai kortin tavuilla yhteinen prosessijännitteen syöttö.
Kuvassa 2 on esitetty Siemens S7-300 16 kanavaisen virtaa antavan 24 VDC:n tulokortin kytkentäperiaate. (Oheisessa piirustuksessa on esitetty kanavan IX.3 kytkentä. Kaikilla tulokanavilla on identtinen kytkentä, niitä ei yleensä esitetä selkeyden vuoksi.)
KENTTÄLAITTEEN VALINTA CURRENT SINK/CURRENT SOURCE-KORTTIEN YHTEYDESSÄ
Käytettäessä kosketintoimintoja DI-korttien toimintamuoto ei vaikuta. Mutta käytettäessä transistorilähdöllä varustettuja raja-arvolaitteita (induktiivisia lähestymiskytkimiä, valokennoja jne) meidän täytyy huomioida aina kortin ja kenttälaitteen yhteensopivuus.
CURRENT SINK-tyypin DI-kortti ja PNP-tyypin transistorilähtö kenttälaitteessa:
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 31Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Käytettäessä Current Sink tulokorttia meidän täytyy aina valita kentälle laitteet, joissa on PNP transistorilähtö (Kuva 3). Tällöin DI-kortin tulokanava toimii kuvan kuormana. Transistorin vetäessä syöttäjännite kytkeytyy nastaan 2 (Tila ="1").
+ (+10...+35 VDC)
ulostulo
kuorma
1
2
3
R
12 k -
Kuva 3 PNP-transistorilähdön periaatekytkentä.
CURRENT SOURCE-tyypin DI-kortti ja NPN-tyypin transistorilähtö kenttälaitteessa:
Käytettäessä Current Source tulokorttia meidän täytyy aina valita kentälle laitteet, joissa on NPN transistorilähtö (Kuva 4). Tällöin DI-kortin tulokanava toimii kuvan kuormana. Transistorin vetäessä nasta 2 kytkeytyy miinukseen ja virtapiiri sulkeutuu (Tila ="1").
+ (+10...+35 VDC)
ulostulo
kuorma
1
2
3
R
12 k
-
Kuva 4 NPN-transistorilähdön periaatekytkentä.
Eräissä kenttälaitteissa on toteutettu molemmat (PNP ja NPN ) transistorilähdöt. Tällöin ne soveltuvat molempien DI-korttityyppien kanssa käytettäviksi.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 32Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Yleensä talon sisäinen standardi ("Talon tapa", InHouse Standard) määrittää, mitä logiikoita käytetään ja minkälaisia korttityyppejä niissä. Tällöin kenttälaitteiden toimintatyyppi määräytyy logiikoiden mukaan (ja kyseisessä tehtaassa pyritään välttämään toisentyyppisten laitteiden käyttöä.)
B: LOGIIKAN DIGITAALÄHDÖT
Logiikoiden digitaalilähdöissä on yleensä kolme vaihtoehtoista toimintaperiaatetta, rele-, transistori tai triaclähtö. Kaikki kolme toimivat kytkimen tavoin. Ne kytkevät sähköisiä toimilaitteita päälle/pois LED'eistä suuriin kontaktoreihin.
Lähtöjen määrittelyyn liittyviä asioita ovat mm jännitteen suuruus ja laji (VDC/AC) sekä kytkentätaajuus ja teho, joka vaihtelee mW:eista kW:hin.
Relelähtö on yleiskäyttöinen, koska sillä voidaan ohjata tasa- ja vaihtosähköä. Myös jännite- ja tehoalue on laaja. Haittapuolena on puolijohteisiin verrattuna suuri ohjaustehon tarve ja mekaaninen rakenne, joka on käytössä kuluva ja tilaa vievä. Se on yleisesti käytössä etenkin yksikkörakenteisissa pienlogiikoissa, koska sillä voidaan ohjata kaikentyyppiset toimilaitteet.
Transistorilähtö on tarkoitettu tasasähköohjauksiin. Jännitealue on tyypillisesti joko 24 VDC tai 48 VDC. Tehon mukaan jaoteltuna transistorilähtöjä on kahdenlaisia:
-Tiheään pakattuja, edullisia pienteholähtöjä, joiden virrankulutus on 200 - 500 mA/kanava ja kanavaryhmäkohtaisesti on lisärajoite, (Esim yhteensä 2 A /kanavaryhmä).
-Jäähdytetyillä transistoreilla varustettuja teholähtöjä, joiden virtakestoisuus on useita amppeereita.
Triac-lähdöt ovat puolijohderakenteisia vaihtosähkökytkimiä. Ne ovat ideaalisia vaihtosähkön katkaisemisessa, koska katkaisu tapahtuu luonnostaan virran nollakohdassa. Siten isojakin induktiivisia kuormia ohjattaessa vältytään jännitepiikeiltä. Myös kuormien kytkentä on ongelmatonta, koska triac kestää kymmeniä, jopa satoja amppeereita lyhytaikaisesti. Triacin haittapuolena on vuotovirta, "0"-tilassakin se päästää joitakin mA:ta virtaa. Tämä virta voi olla rittävä pitämään kelan "päällä".
Transistori- ja relelähtöjä käytettäessä induktiivisen kuorman kytkemiseen täytyy huomioida virran katkaisun yhteydessä ilmenevän jännitepiikin syntyminen. Jännitepiikki täytyy suodattaa (vaihtosähkön tapauksessa yleensä RC-piiri, tasasähkön tapauksessa suojadiodi.). Suojaus on useiden transistorilähtöisten korttien yhteydessä toteutettu kortilla sisäisesti (Esim Siemens), mutta se ei voi toimia, jos induktiivinen kuorma katkaistaan ulkopuolisella kosketintoiminnalla (Esim logiikan ulkopuolinen lukitus.)
Periaatekuva suojadiodin ja RC-piirin toiminnasta.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 33Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 34Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
C SIIRTO-OMINAISUUDET:
Binäärisignaalien siirtoetäisyys voi olla suuruusluokaltaan 1 km. Johdin voi olla suojaamaton 500 m:iin saakka, jonka jälkeen suositellaan suojausta. Yleisesti teollisuudessa käytetään 24 VDC:n signaalijohtimina ryhmäsuojattua, parikierrettyä kaapelia (Esim NOMAK).
Ylikuulumisen ja häiriöiden välttämiseksi 230 VAC:n ja 24 VDC:n signaalijohtimet asennetaan eri kaapelihin ja kaapelit asennetaan erilleen kaapelihyllyillä.
Signaalien reagointinopeudet ovat suuruusluokaltaan seuraavat:
DC-tulot alle 5 msAC-tulot alle 20 msRelelähdöt; DC:llä alle 5 ms, AC:llä alle 15 msTransistorilähtö alle 5 msTriaclähtö alle 15 ms
Lähtöjen tehokestoisuudet ilmenevät korttien teknisistä tiedoista.
6. PERUSKÄSKYT
Ohjelmoitava logiikka on tarkoitettu erityisesti keskinäisten lukitusehtojen toteuttamiseen. Siten on luonnollista, että loogiset peruskäskyt muodostavat suurimman osan ohjelmista. Pienissä logiikoissa nämä peruskäskyt muodostavatkin koko logiikan käskykannan.- AND JA-portti- OR TAI-portti- S/R S/R-kiikku- TIMER Ajastin- COUNTER Laskuri
STEP 7 peruskäskyjen toiminta käydään läpi luennolla esimerkkien valossa
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 35Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
7. DI/DO-korttien valinta, ja kytkeminen ja peruskäskyjen ohjelmointi.
Tämä kohta käydään lävitse harjoitusesimerkin avulla.
Tehtävän kuvaus:
Kappaleita tulee kuljetin 1:llä n. 2 sekunnin välein kun M1 käy. Kappaleet putoavat valokennon FC1 (erillinen lähetin ja vastaanotin, kytkentäkuva alla) välistä, missä kappaleet lasketaan. Kappaleet putoavat kuljetin 2:lla olevaan laatikkoon. Kun laatikkoon on tipahtanut tarvittava määrä kappaleita (määrä annettu laskurin lukuna), kuljetin 1 pysähtyy ja kuljetin 2 käynnistyy ja pysähtyy, kun uusi laatikko on täyttöpaikalla (Induktiivinen raja, kytkentäkuva ohessa)
Laatikoiden täyttöä ohjataan ohjauspanelista, jossa on -START -painike (sulkeutuva kosketin) ja ON -merkkilamppu (24 V, 5W, palaa, kun toiminta on meneillään)--STOP -painike (avautuva kosketin) ja OFF -merkkivalo (24 V, 5W, palaa, kun toiminta ei ole päällä.-M1-lamppu (24 V, 5 W), joka palaa jatkuvasti, kun moottori 1 käy, vilkkuu huomiotaajuudella 0.5 Hz, kun turvakytkin on auki ja vikataajuudella, kun keskusvika on päällä-M2-lamppu (24 V, 5 W), joka palaa jatkuvasti, kun moottori 2 käy, vilkkuu huomiotaajuudella 0.5 Hz, kun turvakytkin on auki ja vikataajuudella, kun keskusvika on päälläM1:ssä ja M2:ssa on seuraavat kytkennät logiikkaan:
-Moottori -käy, sulkeutuva kosketin-Keskusvika, avautuva kosketin-Turvakytkin, avautuva kosketin-Moottorin ohjaus, 24 VDC:n rele
Suunnittele ohjauslogiikan korttien valinta, kokoonpano, johdotus, Hardware-konfigurointi. Määritä signaalien osoitteet:
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 36Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Kuva Kuljettimen järjestelyt
2 TARVITTAVAN LOGIIKAN KOKOONPANO, JÄNNITESYÖTÖT, MAADOITUKSET
Muodostetaan ensin logiikan kokonpano. Kokoonpanossa tarvitsemme, asennusalustan, PS-yksikön, CPU:n, Current Sink ja Current Source tyyppiset DI:t, 24 VDC:N DO:n sekä etupistokkeet (HW-I, kuva 4-9 ja 4-10, etupistokkeet eivät sisälly kortin tilauskoodiin.)
Huom: Viitteet ovat manualeihin: (Saatavilla liitteen 1 lähteistä)
Hardware and Installation (Logiikan asennus, osoitteiden muodostus ja tehonsyöttö) Module Spesifications (I/O-modulien spesifikaatiot, johdotusohjeet)Components for Totally Integrated Automation, Catalog ST 70 – 2001 (Kaupallinen katalogi laitteille – tilauskoodit)
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 37Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Yllä olevan kuvan perusteella saamme logiikalle jännitesyötöt ja maadoitukset:
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 38Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
PS unit CPU
1 2 4 5 6
Rail
L N G
L N G
24 VDC prosessijännitelähde
L1 M
321-
1BH
01-0
AA
0 D
I, 16
X 2
4 V
DC
C
UR
REN
T SI
NK
321-
1BH
50-0
AA
0 D
I, 16
X 2
4 V
DC
C
UR
REN
T SO
UR
CE
322-
1BH
00-0
AA
0 D
O, 1
6 X
24
VD
C, 0
.5 A
Kuva Logiikan kortit ja niiden paikat. Jännitesyöttö ja CPU:n maadoittaminen, katso Hardware and Installation, s4-7....
3.1 LOGIIKAN TARVIKKEET, TILAUSKOODIT
Pos NIMIKE KPL TILAUS NUMERO HUOM CATALOG ST70 1999 / sivu
0 KISKO 1 6ES7 390-1AF30-0AA0 530mm 3/1121 PSU 1 6ES7 307-1KA00-A00A 315 3/1102 CPU 314 1 6ES7 314-1AE02-0AB0 3/25
FEBROM 1 6ES7 951-0KE06-0AA0 3/25BACKUP BATT. 1 6ES7 971-1AA00-0AA0 3/25
4 DI 24 x 16 1 6ES7 321-1BH01-0AA0 3/285 DI 24 x 16 1 6ES7 321-1BH50-0AA0 3/286 DO 16 x 24VDC 1 6ES7 322-1BH01-0AA0 3/30
4-6 FRONT CONNECTORS 3 6ES7 392-1AJ00-0AA0 20 pin 3/103
(Taulukossa DI- ja DO-kortit on korvattu uusilla koodeilla, vastaavat johdotuksen koodeja)
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 39Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
3.2 STEP 7 Ohjelmointiohjelma
NIMIKE KPL TILAUS NUMERO HUOM CATALOG ST70 1999 /
sivu
A1 STEP7 ohjelma 1 6ES7 810-4CC04-0YX0 9/13A2 PC-Adapteri
(Ohjelmointikaapeli)1 6ES7 972-0CA21-0XA0 9/13
4 KENTTÄLAITTEIDEN JOHDOTUS
I/O-korttien johdotusohjeet:
Kuva DI-kortin SM 321-1BH01-0AA0 johdotusohjeistus Yksikkötiedot -manualissa
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 40Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Kuva DI-kortin SM 321-1BH50-0AA0 johdotusohjeistus Yksikkötiedot -manualissa
Kuva DO-kortin SM322-1BH01-0AA0 johdotusohjeistus Yksikkötiedot -manualissa
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 41Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
8
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 42Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
5.4 Hardwaren konfigurointi
Avaa HW Config-EDITOR kaksoisklikkaamalla ensin HAR_LOG-ikonia ja sen jälkeen Hardware-ikonia.
Avaa HW-katalogiikkunaan. HW-katalogissa on STEP7 ohjelmaversion julkaisuhetkellä markkinoilla olleet logiikkalaitteet.
5.4.1 Logiikan konfigurointi
1) Avaa SIMATIC 300 -hakemisto katalogista
2) Asenna ensin asennuskisko (RACK-300 -->RAIL). Kaksoisklikkaa Rail'ia , jolloin luot Rack 0:n asennusalustan.
3) Aktivoi korttipaikka 1, avaa hakemisto PS-300 ja valitse sieltä haluamasi PS-kortti, esim 5A:nen, kaksoisklikkaamalla kortin symbolia. Aktivoidun kortin tilauskoodi ja lyhyt tekninen selite näkyy katalogin alaosassa olevassa ikkunassa
4) Tarkista, että korttipaikka 2 on aktivoituna Rack 0:ssa. Asenna CPU avaamalla hakemisto CPU300 -->CPU314 ja valitsemalla haluttu CPU-tyyppi 314-1AE02-OAB0. (Huom: valitessasi HW:ssä CPU:n, sinulla on kyseisen CPU:n laajuus ja valmisohjelmat käytössä. Jos valitset muun CPU:n kuin todellisessa logiikassa käytettävän, käytät ohjelmoidessasi mahdollisesti sellaisia toimintoja, joita ei ole lopullisesti käytettävässä CPU:ssa.)
5) Laajennuskehikkoa ei tarvita kyseisessä logiikassa, joten IM-korttia ei tarvita niinikään. Korttipaikka 3 jätetään tyhjäksi.
6) Signaalimoduleiden asentaminen HW:hen.
SM-->DI-300 -->SM321 DI16x24V (321-1BH01-0AA0) korttipaikkaan 4SM-->DI-300 -->SM321 DI16x24V (321-1BH50-0AA0) korttipaikkaan 5SM-->DO-300 -->SM322 DO16x24V/0.5A (322-1BH01-0AA0) korttipaikkaan 6
7) HWConf ikkunan alaosassa näkyy CPU.N MPI-osoite ja valittuja korttipaikkoja ja -tyyppejä vastaavat käytettävissä olevat osoitealueet.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 43Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
5. 4.2 CPU:n parametrointi
Kaksoisklikkaa CPU:n riviä, jolloin aukeaa Properties/General-ikkuna. Ikkuna näyttää valitun CPUN teknisiä tietoja. Ikkunassa voi nimetä kyseisen CPU:n
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 44Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
MPI-nodenumero:
Properties-painikeella avataan ikkuna, jossa keskusyksikön MPI-numero voidaan asettaa. (Tehdasoletusarvo on MPI#0 ohjelmointikoneelle, MPI#1 Operointipanelille, MPI#2 CPU:lle)
Mikäli CPU:ta ohjelmoidaan MPI-verkon kautta tai CPU:lla on tiedonsiirtoa projektin sisässä, jokaisella CPU:lla täytyy olla uniikki MPI-osoite. (Huom: Jokainen logiikkaan asennettava CP ja/tai FM vie automaattisesti CPU:n MPI-osoitteesta kasvavasti uuden MPI-osoitteen. Jätä tarvittaessa välejä CPU:den MPI-numeroihin, jos tarvitset CP tai MPI-kortteja.)
Mikäli CPU:ita ohjelmoidaan MPI-väyklän kautta tai logiikoilla on kommunikointia MPI-väylän avulla (useita CPU:ita), liitä logiikat MPI-väylään valitsemalla MPI(1)
Retentive Memory:
Avaa kyseinen ikkuna. Siinä voidaan valita retentiivi-muistalueelle sijoitettavat muistiosoiteet.
Muistien sisällön säilyminen logiikan käynnistyksen yhteydessä.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 45Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
-Ohjelmamuisti on akkutuettu RAM, jonka sisältö häviää, jos akku on poissa ja virrat katkeavat (Akku vanhenee 3-5:ssä vuodessa). Ohjelma voidaan tallentaa EPROM-muistille, jolloin käyttäjän ohjelma ei pääse tuhoutumaan akun tyhjetessä.
Logiikan käynistyessä logiikan DO:t nollataan ja ei-retentive-muistialueelle sijoitettu System memory-alue nollataan. Retentive muistialueelle sijoitettuun muistiavaruuteen ei kajota.
-Retentive muistialue on ns Non-Volatile (haihtumaton) muistialue, joka säilyttää sisältönsä vaikka virrat katkaistaan ja CPU:n akku poistetaan. Retentive- muistialueelle sijoitettavat ositeavaruudet määritetään tässä ikkunassa. Oletusarvona CPU314:llä on MB0-15 ja C0-7 ovat retentive-alueella.
Turvallisuussyistä asetetaan Retentive muistialueelle sijoitettava Merkerimuisti 0 Byteksi ja Retentive-muistialueelle sijoitettava laskuri yhdeksi. (C0:ssa säilytetään laatikkoon tipahtaneiden kappaleiden määrä, jolloin voidaan jatkaa täyttöä mahdollisen jännitekatkoksen tai logiikan uudelleenkäynnistämisen jälkeen.)
Cycle/Clock Memory:
Tässä ikkunassa asetetaan maksimi kiertoaika CPU.n sykliselle ohjelmasuoritukselle sekä CPU:n kommunikointiin käyttämä suhteellinen maksimikuorma.
Harjoitustehtävässä tarvitaan 0.5 Hz:n huomiovilkkua ja 1 Hz:n vikavilkkua. Toteutetaan ne Memory Clockilla.
Valitaan Memory Clock ja asetetaan sen muistialueeksi MB255 (kyseistä MB:tä ei saa sitten käyttää muihin tarkoituksiin.). Painetaan HELP-painiketta ja edelleen Clock Memoryä ja Peridically. Tällöin ilmenee, että MB255.0 :n jaksonpituus on 10 mS, ... MB255.6:n jaksonpituus on 1 s ja MB255.7:n jaksonpituus on 2 s. MBB255.6:ssa on siis tarvittava vikavilkkutaajuus ja MB255.7:ssä huomiovilkkutaajuus.
Interrupts:
Harware Interrruputs- kutsuvat OB40:n. Jos haluamme ohjelmoida toimintoja kyseisten keskeytysten osalle, ne ohjelmoidaan OB40:stä alkaen.
Cyclic Interrupts:
Aikakeskeytyksiä valitussa CPU:ssa on ainoastaan yksi, OB35. Sen keskeytysväli voidaan valita kyseisessä ikkunassa ja aikakeskeytettävien ohjelmien aloitus ohjelmoida OB35:een.
Time-Of-Day Interrupt:
Valitussa CPU:ssa on OB10, joka on ns Time-Of_Day-keskeytys. Jos haluamme esimerkiksi kuukauden vaihtuessa raportoinnin, voimme parametroida kyseisen keskeytyksen tapahtuvaksi kerran kk:ssa, alkaen esim 01.06.09 päivänä, printtaus aina klo 0.00. Kyseinen printtaus ohjelmoitaisiin alkavaksi OB10:stä.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 46Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-STDiagnostics/CLOCK
S7-CPU:issa on hyvä diagnostiilkka, joiden avulla voidaan selvittää häiriöiden syitä. Tässä ikkunassa valitaan diagnostiikkatiedon keräämisen liipaisu. (Record cause of CPU STOP valitaan)
- S7-järjestelmä on suunniteltu tukemaan järjestelmätoteutusta. Tästä syystä logiikan kello voi olla CPU:lla sijaitseva tai kelloaika voi tulla väylältä. Mikäli kelloaika tulee väylältä, voidaan käyttää Correction factor'ia korjaamaan ajan siirron viive.
5.4.3 SM-korttien parametrointi
Kaksoiklikkaamalla SM-korttien rivejä näemme, ettei kyseisissä korteissa ole parametroitavia osuuksia.
5.4.5 HW-Configuraation tallenmtaminen
Valitaan File -->Save and Compile, jolloin HWC tallennetaan ja käännetään valmiiksi.
6 SYMBOL TABLen muodostaminen:
Muistipaikoille, I/O-signaaleille ja ohjelmalohkoille voidaan antaa symboliset nimet, jotka määritetään SYMBOL EDITORIn avulla. (Symboliset nimet näkyvät ohjemoitaessa, jos symbolinen osoitus on valittu, " "-merkkien välissä merkkikoodina.)
Symbol Editorin avaaminen:
Aktivoi SIMATIC Managerissa käytettävä CPU ja sen alla S7Program-kansio, valitse Symbols. Katso ohjeet F1:llä
Täytetään taulukko:
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 47Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Tallennetaan se.
7 TEHTÄVÄN OHJELMOINTI
Ohessa on eräs tehtävän ratkaisu. Se on tehtäväksiannosta poiketen toteutettu käyttäen logiikkalaukun I/O-osoitteita.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 48Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
ä toimia välittömästi
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 49Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 50Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 51Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
LUKUESITYKSET
Logiikan muistien sekä akkujen sisällöt ja operaatiot tapahtuvat biteillä (joko "0" (false) tai "1" (true). Useamman bitin yhdistelmissä (byte, word, doubleword) voivat bittiyhdistelmät merkitä eri asioita. Tässä kappaleessa pyritään valaisemaan tavanomaisimpia esityksiä ja niiden käyttöä.
8.1 LUKUJÄRJESTELMÄT:
Desimaalijärjestelmä
Ihmisten keskuudessa on yleisesti käytössä desimaalijärjestelmä, jossa kantalukuna on 10. Tämän järjestelmän etuja on: kantaluku on tavanomaisiin lukuesityksiimme kooltaan sopiva, kymmenellä kertominen tapahtuu desimaalipisteen siirtoa yhdellä oikealle (tai nollan lisäämisellä) ja kymmenellä jakolasku tapauhtuu desimaalipisteen siirrolla yhdellä merkillä vasemmalle. (Vertaa metrisen järjestelmän etuja tuumajärjestelmään.)
Desimaalijärjestelmässä alkioita(merkkejä) on 0,1,2,3,4,5,6,7,8ja 9. Kantaluvun potensseja on 100 (1), 101 (10), 102 (100), 103 (1000) jne.
3205
0 1 2 3
10 10 10 10
5*1 0*10 2*100 3*1000
Luku=+5 +0 +200 +3000
3205Summa
Kuva Luvun 3205 muodostuminen 10-järjestelmässä
Dualijärjestelmä
Etumerkitön kokonaisluku
Tietokoneet käsittelevät lukuja alkioilla, joissa on ainoastaan kaksi tilaa (merkkiä), 0 ja 1. Tästä johtuen tietokoneiden lukujärjestelmässä on kantalukuna 2. Luvut esitetään 2:n potenssien kertoimien avulla.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 52Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
(=1) (=2) (=4) (=8) (=16) (=32) (=64) (=128) (=256) (=512) (=1024) (=2048) (=4096) (=8192) (=16384) (=32768)
1*1 0*2 1*4 0*8 0*16 0*32 0*64 1*128 0*256 0*512 1*1024 1*2048 0*4096 0*8192 0*16384 0*32768
00001100100001011 0 4 0 0 0 0 128 0 0 1024 2048 0 0 0 0 =3205
Binääriluku
Kuva Luvun 3205 esittäminen binäärilukuna.
Suurin luku, mikä voidaan esittää binäärilukuna riippuu aina esityksessä käytettävien bittien määrästä. Suurin (etumerkitön) kokonaisluku on helppo laskea kaavasta 2n -1, missä n= bittien lukumäärä esityksessä. 16-bittisellä sanalla voidaan esittää kokonaisluvut 0-65535 (ilman etumerkkiä).
Mikäli tarvitaan suurempia lukuja kuin mitä 16 bitillä voidaan ilmaista, voidaan ottaa käyttöön 32 bittinen esitysmuoto, jolloin suurin etumerkitön luku on 4294967295.
Etumerkillinen kokonaisluku
Lukujen etumerkki ilmaistaan yleensä eniten merkitsevän bitillä ("0" = + ja "1" = -). Tällöin suurimman luvun itseisarvo puolittuu. Esim S7:ssä etumerkillinen 16-bittisen kokonaisluku on välillä -32768...+32767 ja 32 bittisessä esityksessä. -2147483648... +2147483647
Kakkosen komplementti
Negatiiviset luvut muodostetaan tietokoneiden lukukäsittelyssä positiivisista muuttamalla kaikki positiivisen luvun nollat ykkösiksi ja ykköset nolliksi ja lisäämällä muunnokseen luku 1.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 53Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Tällöin -3205 muodostettaisiin seuraavasti
0000 1100 1000 01011111 0011 0111 1010
1---------------------1111 0011 0111 1011
(Muistisääntö: Muuta luku 1 negatiiviseksi. Lisää -1:n esitykseen luku +1. Tulokseksi pitäisi tulla pelkkien nollien rivi.)
Etumerkki ja luvun suuruuden esitys
Monissa logiikoissa voi luvun esitystavan näytöllä valita muotoon etumerkki + luvun itseisarvon esitys. Tällöin ensimmäinen bitti merkitsee etumerkkiä, mutta seuraavat bitit muodostavat luvun suuruuden normaalin positiivisen binääriluvun esitystavan mukaan. Mikäli esim A/D-muunnos on etumerkillinen ja muunnosluvussa on "ylimääräisiä valvontabittejä", tämä esitystapa voi olla havainnollinen esitettäessä muunnosta kuvaruudulla.
Heksadesimaalijärjestelmä
Heksadesimaalijärjestelmän kantalukuna on 16. Tällöin alkoita on merkit0,1,2,3,4,5,6,7,8,9,A(10),B(11), C(12),D(13),E(14),F(15). Heksadesimaalin luvun tunnuksena käytetään usein merkkiä H luvun vasemmassa alanurkassa (0C85H)
Heksadesimaalijärjestelmässä kukin merkki sisältää 4 bittiä. Heksadesimaalijärjestelmän merkittävin käyttö lienee bittiesitysten muokkaaminen ihmiselle helpommin käsiteltävään muotoon.
Esim luku 3205 on 0C85H ( 0*163 + 12*162 + 8*161 + 5*160=3025)
Binäärikoodattu desimaaliluku
0000 aaaa bbbb ccccBitit 0000 .. 1001 (0-9)*1Bitit 0000 .. 1001 (0-9)*10Bitit 0000 .. 1001 (0-9)*100Etumerkki
0000 1000 0110 0101
5*1 6*10 8*100
5 60 800 =865
Kuva Binäärikoodattu desimaaliluku ja esimerkki luvun 865 koodaamisesta. Lukuesityksessä kukin 10:n kerroin koodataan neljän bitin ryhmällä erikseen. 16 bittinen binäärikoodattu desimaaliluku on välillä -999...+999.
Ihmisen ja tietokoneen esitystapojen yhdistämiseksi käytetään usein binäärikoodattua desimaalilukuesitystä luvun esittämiseksi operaattorille havainnollisessa muodossa.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 54Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Esimerkiksi laskureiden luvut esitetään näytössä yleensä desimaalilukuna oheisen esitystavan mukaisesti.
Erikoinen sovellus binäärikoodatun desimaaliluvun muoto on ajastimen luvun esitys muodossa TIMER. Siinä ensimmäisillä biteillä koodataan laskettavien aikajaksojen pituuksia (10 ms, 100 ms, 1s, 10 s.) ja luvuilla 0...999 merkitään aikajaksojen määrää.
8.2 MUISTI- JA AKKUOPERAATIOT S7:SSÄ
Bitti
Bitti on alkio, jonka tila on joko "0" tai "1". Bittiin viitataan S-7:ssä PII:ssä, PQI:ssä ja merkkerialueella merkitsemällä muistialuueen tunnus, tavunumero erotin .(piste) ja bitin järjestysnumero (0-7) (Esim I2.4, Q7.6, M234.1). Batablokkiesityksessä bittiin viitataan esityksellä DBa.DBXm.n, missä a= DB:n numero, m=tavun numero ja n=bitin numero)
Bittioperaatioissa luetaan muistialueen osoitetun bitin tila, otetaan osoitettu operaatio RLO:n kanssa ja tulos sijoitetaan RLO:n tilaksi (Virtapiirin ensimmäisessä käskyssä otetaan operaatio osoitetun muistibitin itsensä kanssa ja sijoitetaan tulos RLO:n tilaksi). Sijoituskäskyssä (=, SET, RESET) RLO:n tila siirretään osoitetun muistibitin tilaksi. (Kyseinen toiminto on esitetty tarkemmin manualissa Statement List (STL) for S7-300 and S7-400 Programming, kappale 2.)
ByteByte (tavu) on 8:n bitin ryhmä, missä vähiten merkitsevä bitti on oikealla.
7 6 5 4 3 2 1 00 0 1 1 0 1 0 1MB100
Kuva Merkkeritavun 100 esitys bitteinä. Sama heksadesimaaleina olisi B#16# 35.
Tavu on merkittävä bittiryhmä siinä mielessä, että muistialueen osoitus viittaa S7:ssä aina muistialueen ensimmäiseen tavuun. (Esim MD100 käsittää tavut MB100-MB103)
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 55Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-STWord
Word käsittää 2 tavua eli 16 bittiä.
7 6 5 4 3 2 1 00 0 1 1 0 1 0 1
MW10015 14 13 12 11 10 9 80 1 1 1 0 1 1 1
Sanan esitys akussa Sanan esitys muistissa
7 6 5 4 3 2 1 00 0 1 1 0 1 0 10 1 1 1 0 1 1 1
MB100MB101
Kuva Wordin (sanan) esitys akussa ja muistissa. Kiinnitä erityisesti huomiota tavujen sijoitusjärjestykseen akussa.
Doubleword
Doubleword (Kaksoissana) käsittää 2 sanaa (eli 4 tavua, eli 32 bittiä).
MD10031 30 29 28 27 26 25 240 1 1 1 0 1 1 1
Sanan esitys akussa
Kaksoissanan esitys muistissa
7 6 5 4 3 2 1 00 0 1 1 0 1 0 10 1 1 1 0 1 1 1
MB100MB101
23 22 21 20 19 18 17 160 0 1 1 0 1 0 1
15 14 13 12 11 10 9 80 0 0 0 1 1 1 1
7 6 5 4 3 2 1 0
1 1 1 1 0 0 0 0
0 0 0 0 1 1 1 11 1 1 1 0 0 0 0
MB102 MB103
Kuva Kaksoissanan esitys akussa ja muistissa. Kiinnitä erityistä huomiota tavujen sijoitusjärjestykseen esityksessä.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 56Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
8.3 AKUN JA MUISTIN SISÄLLÖN MERKITYS
Tavun, sanan tai kaksoissanan bitit voivat esittää eri asioita. S7-logiikalle määritetään kunkin muistipaikan bittien esitysmerkitys määrittämällä muistipaikan esitykselle
1) Symbol-taulukossa määritetään esitystapa.
2) BataBlockin alkiolle määritetään esitysmuoto datablockia muodostettaessa.
3) Ohjelmalohkon parametreille ja local-muistipaikoille määritetään esitysmuoto ohjelmalohkon muuttujataulukon muodostamisen yhteydessä.
(Huom: Usein ohjelman testauksen yhteydessä muutetaan muistipaikkojen merkityksiä. Tällöin ilmenee ongelmia, kun ohjelma ei hyväksy syötettäviä muistipaikkoja (Ilmenee punaisena hälytysvärinä.) Usein ilmiön syynä on, että Symbol-taulukossa on määritetty alunperin kyseiselle muistipaikalle toinen esitysmuoto kuin nyt yritetään käyttää. Asia korjautuu poistamalla kyseinen määrite Symbol-taulukosta ja määrittämällä se uudelleen.)
8-bittinen tavu voi esittää:
BYTE-8 merkkinen bittijono (2#1010_1100 tai B#16#AC)
CHAR-Ascii-merkki, 'A', 'B' ... (Esim 01100101 ='e')
16-bittinen sana voi esittää:
WORD-bitit tai niiden esitys heksalukuna (2#0001_1010_0011_1010 tai W#16# 1A3A)
BCD C#0 ...C#999Etumerkitön desimaaliluku B#(0,0).. B#(255,255), Esim B#(10,25)
INT-etumerkillinen kokonaisluku välillä -32768...+32767, esim 126.
S5TIME-Siemensin ajastimen aikamäärite (Simatic Time), esim S5T#2M10S =2 min 10 sek.
DATE-Päivämäärä alkaen 1.1.1999:stä (riittää 31.12.2168 saakka). Esim DATE#2001-5-7.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 57Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST32-bittinen kaksoissana voi esittää:
DWORD-bitit tai niiden esitys heksalukuna (2#0001_1010_0011_1010_ 1010_1100_0001_1110 tai DW#16# 1A3A_7BC5)
BCD C#0 ...C#999Etumerkitön desimaaliluku B#(0,00,0).. B#(255,255,255,255), Esim B#(10,25,34,20)
DINT-32 bittinen etumerkillinen luku (Merkitään L#) välillä-2147483648...+2147483647 (Esim L#120)
31 30 29 28 27 26 25 24
± 1 1 1 0 1 1 123 22 21 20 19 18 17 160 0 1 1 0 1 0 1
15 14 13 12 11 10 9 80 0 0 0 1 1 1 1
7 6 5 4 3 2 1 01 1 1 1 0 0 0 0
Kuva DINT:in esitystapa. Eniten merkitsevä bitti on etumerkkibitti
REAL-Liukuluku (Floating Point), luku välillä ± 1,17549 e-38 .. 3.402823 e +38
31 30 29 28 27 26 25 24
± 1 1 1 0 1 1 123 22 21 20 19 18 17 160 0 1 1 0 1 0 1
15 14 13 12 11 10 9 80 0 0 0 1 1 1 1
7 6 5 4 3 2 1 01 1 1 1 0 0 0 0
Exponentti Mantissa
Kuva Liukuluvun esitysmuoto S7:ssä. Yksityiskohtaiset kuvaukset on manualissaStatement List (STL) for S7-300 and S7-400 Programming, kappale 12.4.)
TIME (IEC-time):
- T#0D_IH-1M-0S_0MS
TIME_OF_DAY
-TOD#1:10:3.3
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 58Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-STHuom:
1)Muunnokset INT-->DINT-->REAL käyvät selkeästi käskyillä ITD (INT to DINT) ja DTR (DINT to REAL), jolloin siirrytään kokonaisluvuista realilukuihin.
2)Muunnoksen REAL --> DINT yhteydessä täytyy määrittää pyöristys. Katso OnLine Helpistä CONVERT-käskyjen merkitykset.
Muunnos DINT --> INT käy MOVE-käskyllä, kun huolehditaan, että muunnettava luku on INT-esitysalueella. (Huom Negatiivisen luvun tapauksessa on huolehdittava muunnoksesta erikseen.)
3)INT luvuilla laskettaessa täytyy jakolaskut jättää yleensä viimeiseksi. (jakotulos katkeaa kokonaislukuun, esim 5:3 =1). Usein kokonaisluvuilla operoitaessa kannattaa käsitellä asioita esim promilleina (tuhat x) yksittäislukujen sijasta.)
9 LÄHETTIMEN JA TULOASTEEN VALINTA
KäyttökohteetAnalogiasignaaleilla välitetään lukuarvoja.
- Analogiatulo (Analog input, AI) tuo lukuarvon logikan muistiin.Esim. mitta-anturin mittaustiedon siirtäminen logiikalle
- Analogialähtö (Analog output) siirtää lukuarvon logiikasta ulos analogisena ohjausviestinä. Esim. toimilaitteen asennoittimen ohjaus.
Analogiasignaaleita käytetään myös puhtaaseen tiedon siirtoon kahden eri järjestelmän välillä. Jos siirrettävänä on joitakin kymmeniä lukuarvoja, niin analogiasignaaleiden käyttäminen on varteenotettava vaihtoehto:- Yhden AI/AO pisteen hinta on suuruusluokaltaan 15 € + kaapelointi- Tietoliikennesovitus (esim. modbus korit + ohjelmointi) noin 10.000 €
ja siitä ylöspäin.- Analogialiitynnät tekee puolessa päivässä, tietoliikennesovituksen
yhteydessä puhutaan viikoista.
Standardiviestit
Siirrettävä tieto koodataan joko jännite- tai virtatasoksi. Standarditasoja on useita. Esimerkiksi:
- 4-20mA, 0-20mA, +/-20mA- 0-10V, 1-5V, +/-10V
Yleisimmin käytetty viesti on 4-20 mA.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 59Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
- Kaksijohdinlähettimen tapauksessa 4 mA:n pohjavirta riittää tehon syöttämiseen lähettimelle (nykyisin yleensä mikroprosessoritoimintainen)
- Virtaviesti on häiriösietoisempi kuin jänniteviesti (sisäänmenoimpedanssi on pinempi).
- Virtaviesti ei edellytä johtojen kompensointia. (Jänniteviestissä pitää kompensoida johdoilla tapahtuva jännitehäviö, jos siirtoetäisyys on pitkä ja kuormitus iso)
- Johtimen katkeaminen havaitaan virran tippuessa nollaan (elävä nolla).
Siirto-ominaisuudet
Tyypillisesti analogiaviestille luvataan siirtoetäisyydeksi n. 200m. Etäisyys voi olla huomattavasti pitempikin, jos signaalilta ei vaadita suurta tarkkuutta. Kaapelina on käytettävä aina suojattua tyyppiä (Nomak) tai parikierrettyä, parisuojattua (JAMAK) (JAMAKISSA parempi suoja induktiivisia häiriöitä ja parien ylikuulumista vastaan.). Siirrettävä taajuuskaista on tyypillisesti < 100 hz.
Single-ended/Differential
Logiikan kortit voivat olla tyypiltään single-ended tai differential.Single-ended (Isolated, erotettu) = kanavien miinus navat on kytketty galvaanisesti yhteen kortilla.
Differential (Non-Isolated) = kanavien miinus navat ovat galvaanisesti erillään.
Alla on esitetty periaatteelliset kuvat single-ended ja differential pääteasteista.
Usign Uo
Usign Uo
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 60Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Differentialinen pääteaste
AI-kortilla on yleensä 2, 4, 8, 16 kappaletta kyseisiä pääteasteita)
Single-ended kortti edellyttää, että anturien (AI) ja toimilaitteiden (AO) signaalien referenssitaso maadoitetaan samaan pisteeseen.
Käytännössä tämä tarkoittaa sitä, että anturien ja toimilatteiden päässä signaalit ovat kelluvia ja maadoitus suoritetaan logiikan päässä. Näin estetään galvaanisten maadoituslenkkien syntyminen.
Alla oleva kuva selvittää, miksi antureita ei voi tällöin maadoittaa. Jos anturi maadoitettaisiin, niin maadoitusverkossa syntyvät jännitteet kytkeytyisivät suoraan mittauspiiriin eromuotoiseksi jännitteeksi Um. Z1>>Z2; Z4>>Z3.
Alla on esitetty periaatekuva Siemens:in tapauksessa. Siinä ”Recommend connection” yhdistää kanavien referenssitason. Tämä on käytännössä pakko tehdä, jotta kortti toimisi teollisuusympäristössä (yhteismuotoinen jännite, common mode voltage, pysyy alle sallitun 2,5 V).
Siemensin tapauksessa tämä referenssitaso on vielä jopa yhdistettävä järjestelmän sisäisen referenssitason kanssa – Mana kytkettävä Minternal.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 61Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Toisessa periaatteellisessa kytkennässä antureilla on oma maataso kentällä. Tällöin kanavien maatasot on yhdistettävä kentällä, koska kanavien referenssin välillä ei saa olla potentiaalieroa. Tämä kanavien yhteinen referenssitaso on tuotava edelleen logiikan maatasoon suojamaan kautta. Suojamaan kautta meno vaimentaa korkeataajuisia häiriöjännitteitä (toinen vaihtoehtohan olisi ollut viedä suoraan Minternal:iin).
Yllä oleva ratkaisu on enemmänkin periaatteellinen, kuin käytännössä toimiva ratkaisu.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 62Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Differentiaaliset tulot ja lähdöt voidaan maadoittaa kummassa päässä tahansa. Differentiaaliset kortit on valittava, jos anturit tai toimilaitteet on maadoitettu kentällä, näin estetään maadoituslenkkien syntyminen. Asia selvinnee alla olevasta kuvasta.
Usign
UmMaadoitettu lähetin
Usign Uo
Yllä olevassa kuvassa anturit maadoittuvat kentällä. Jotta kanavien potentiaaliero ei kasvaisi liian suureksi (Siemens 75 V), kanavien maatasot yhdistetään – equipotential bonding.
Siemensin tapauksessa tämä kanavien referenssitaso on vielä vietävä kortille - Mana johdin.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 63Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Jos differentiaaliseen kanavaan kytketään anturi tai toimilaite, joka ei maadoita signaalipiiriä, niin tällöin kanava on erikseen maadoitettava. Selkeyden ja johdonmukaisuuden vuoksi suositellaan maadoitusta logiikan päässä.
Tämä ratkaisu on toimintarvarmuudeltaan paras. Nythän Analogiakortin ja järjestelmän perusmaataso ovat erillään.
Single-ended pääteasteet ovat myös häiriöherkempiä, koska ne ovat luonnostaan epäsymmetrisiä häririöjännitteisiin nähden. Epäsymmetrisyyden takia häiriöjännite kytkeytyy suoraan eromuotoiseksi jännitteeksi.
Usign + Uc Uo
UcUc
Single-ended pääteaste:
Kytkimen avaamisesta syntyvä valokaari aiheuttaa sarjan kV-luokan jännitepiikkejä. Jännitepiikit kytkeytyvät hajakapasitanssien kautta signaalijohtimiin. Koska piiri ole balansoitu (tuloimpedanssit eri suuret), kytkeytyy häiriöjännite eromuotoiseksi.
Alla on esitetty sama tilanne differentiaaliselle pääteasteelle.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 64Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Differential pääteaste:
Jännitepiikit kytkeytyvät nytkin kapasitanssien kautta signaalijohtimiin. Mutta koska piiri on balansoitu (tuloimpedanssit yhtä suuret), kytkeytyy häiriöjännite yhteismuotoiseksi.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 65Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-STAI-viestin siirtäminen logiikkaan
Ohessa esitetään kaaviona ketju, joka tarvitaan analogiamittauksen siirtämiseksi logiikan työmuistiin. Mittauksen varsinainen käsittely tapahtuu sitten työmuistin ja sovellutusohjelman välillä.
µP
Säiliön pinnankorkeuden mittaus 0-10 m.
Paine anturissa välillä n. 0-90 kPa L+
(+ 24 VDC)
M
AD
2-W pinnan- korkeuslähetin
4..20 mA
AI-kortti
Kanavakohtaiset signaaliarvojen muunnokset muistiin (lukuarvo esim 0-27648)
Periferiamuisti CPU:llaCPU-kortti
Analogiatulon skaalausohjelma
Mittausarvon hyödyntäminen
Muunnosluku
Skaalattu arvo 0 - 10 m
Perif
eria
väyl
ä B
ackp
lane
bus
'issa
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 66Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Analogiatulo logiikassa (S7-300 )
Signaalityypinvalinta Mittasignaalin sovitus A/D-muuntimelle sopivaksi tehdään sovitusvastuksilla,
jotka valitaan signaalityypin mukaan – A, B, C, D
2-johdin lähettimessä kortti toimii aktiivisena jännitelähteenä. 4-johdinähettimessä itse lähetin toimii aktiivisena lähteenä (M+ johtimessa virrat kulkevat eri suuntiin).
Järjestelmässähän signaalityypin valinta tehtiin kanavakohtaisesti ohjelman parametroinnilla. Kanavien ja jopa koko korttityypin vaihto voidaan tehdä lennosta.
Periaatteessa kanavien parametrointi onnistuu myös logiikalla (S7), mutta se vaatii systeemitason ohjelmointia, joka on jo kaukana sovellutuksen teosta.
Pääsääntöisesti käyttämättömät tulot jätetään disable-tilaan, oikosuljetaan ja kytketään maa-potentiaaliin. Näin ei jää potentiaalivapaita kelluvia kanavia ”antenneiksi”.
Jos kanavaryhmästä jää kanavia käyttämättä, niin tilanne mutkistuu ja tarvitaan poikkeuksia:- Käyttämättömiin 2-johdin virtatuloihin kytketään vastus - kanavahan
toimii aktiivisena lähettimenä, joten sitä ei voida oikosulkea. Ilman vastusta diagnostiikka hälyttää elävän nollan takia (oikosulun indikointi 4mA).
- Käyttämättömät 4-johdin virtatulot mittaavat myös aluetta 4-20mA. Siksi ne on elävän nollan vuoksi kytkettävä sarjaan jonkin käytetyn saman ryhmän kanavan kanssa, jotta kanava ei hälyttäisi.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 67Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
- Jännitetuloa 1-5V ei myöskään voida oikosulkea samasta syystä. Ne on kytkettävä rinnan jonkin käytetyn saman ryhmän kanavan kanssa.
Huomaa, että valinta 2 tai 4-johdin lähettimen välillä saattaa johtaa erilaiseen maadoitusperiaatteeseen.
Siemensin tapauksessa 4-johdintulot on galvaanisesti erotettu muusta elektroniikasta. Käännettäessä sovituspala 2-johdinasentoon, kortin oma jännitesyöttö syöttää muuntimia. Kenttäteholähteen M kytketään referenssimaahan Mana.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 68Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Diagnostiikka Jos keskeytys on aktivoitu, niin korttivian tullessa/poistuessa kutsutaan vinakäsittelyrutiini OB82. Kutsun yhteydessä kerrotaan vikakoodi. Koodin muuttaminen selväkieliseksi ja reagointi vikaan jää ohjelmoijan vastuulle.
Ryhmäkohtaisessa diagnostiikassa aktivoidaan mm. mitta-alueen yli/alivuoto, parametrointivika ja elävän nollan puuttuminen.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 69Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 70Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Rajavalvonta Muutamaan kanavaan voidaan asettaa raja-arvotarkastelu. Rajojen asettamien ja lukeminen on-line tilassa on systeemitason ohjelmointia (SFC).
Rajojen ylitys ilmaistaan HW-keskeytyksellä, joka käynnistää OB40:n. Osoitteet L 8.1, L8.0, L9.1 ja L9.2 indikoivat rajojen ylitykset/alitukset.
Muunnosaika Kortillahan on A/D-muuntimia vain yksi. Kukin kanava näytteistetään ja muunnetaan peräjälkeen. - Mitä vähemmän kanavia on kortilla käytössä, sitä nopeampi on
muunnoskierto kortilla.- Kortille parametroidaan käytössä olevan vaihtojännitteen taajuus.
Integrointiaika asettuu kortille verkkojakson pituiseksi. Näin verkkotaajuiset häiriöt kumoutuvat mittauksesta.
- Kortilla tapahtuva muunnossykli on muusta ohjelmankierrosta riippumaton. Siten kanavan muunnosta ja ohjelmaa ei voi synkronoida keskenään. Paitsi joissakin korttityypeissä on HW-keskeytys, joka ilmoittaa, kun kortin kaikki kanavat on muunnettu.
- Analogiakanavat eivät ole I/O-rekistereissä, vaan ne käydään lukemassa kortilta kehikon taustaväylän kautta aina, kun niihin ohjelmassa viitataan. Jos arvoa käytetään useassa kohtaa ohjelmassa, niin lue se vain kerran apumuistiin. Säästät suoritusaikaa ja lisäksi arvo pysyy yhdenmukaisena koko ohjelmasyklin ajan.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 71Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Järjestelmässähän kullekin kanavalle voitiin määrittää muunnosväli. Korttien lukeminen tahdistuu tämän kautta suoritettavaan ohjelmaan, kun ohjelma asetetaan samalle kiertoajalle.
Alla sykliaika 8-kanavaiselle kortille.
Alla oleva palanen HW-määrittelyistä osoittaa, että kanavaa ei voida sijoittaa CPU:n I/O-alueelle vaan se haetaan erikseen Periferiasta, PIW288.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 72Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Resoluutio ja skaalaAD-muunnoksen resoluutio määeäyryy muuntimen bittimäärästä. Miten
muunnoksen tuloksena tallentuva luku määräytyy käy ilmi alla olevasta taulukosta. Standardiviesti muuntuu siten välille 0-27648. Negatiivinen alue tulee käyttöön, jos mittasignaali itsessään pitää negatiivien alueen – esimerkiksi -10V – 10V.
Huomaa, että toimii Siemensin tapauksessa myös jonkin verran normioidun alueen ulkopuolella – Over ja Under Range.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 73Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Ohessa on vielä esitetty, mitten raakaluku vastaa AI-kanavien jännitealuetta -10V - +10V, vastusmittauksen ohm-määriä sekä termoparin asteita.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 74Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Analogiakorttien kytkennät
Analogiakorttien kytkentä ja maadoitus vaativat erityistä huolellisuutta. Korteillahan erotellaan mikrovolttien tasoisia jännitteitä. Lisäksi korttien signaalien erotustaso vaihtelee suuresti korttitypistä toiseen.
Järjestelmässä löytyy seuraavat maatasot, joita vastaan erotustaso määritellään:
Järjestelmän sisäinen referenssitaso - Msisäinen. Tätä tasoa vastaan toimivat mm. CPU ja taustaväylä (Backplane bus). Ks. seuraava kuva.
A/D-muuntimen referenssitaso - Mana. Tätä tasoa vastaan tapahtuu analogiasignaalien muunnokset – esim 0-10V.
Kenttäsignaalien referenssitaso
Eri korttityypit asettavat erilaisia vaatimuksia edellä oleville referenssitasoille. Niitä tarkastellaan jäljempänä.
Edellä olevien lisäksi on vielä kaksi referenssitasoa: I/O-kortin elektroniikkaa syöttävän jännitteen referenssitaso – M. Tämä
syöttä tulee tavallisesti samasta lähteestä (kuormavirtapiiristä) kuin kortin kenttälaitteiden syöttökin. Tämä jännite on erotettu kortilla eikä se tuota suunnittelussa pään vaivaa. Poikkeuksena on 2-johdinlähetin kytkentä, jolloin se kytkeytyy A/D-muuntimen referenssitasoon – Mana.
PLC:n CPU-yksikköä syöttävän jännitteen referenssitaso – M. Tämä on kiinteästi kytketty sisäiseen referenssitasoon Msisäinen. Ks. seuraava kuva.
Kerrataan vielä tilannetta seuraavien kuvien avulla.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 75Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Järjestelmän sisäinen Pääsääntönä on, että järjestelmän elektroniikan sisäinen maataso Msisäinen
referenssitaso kytketään suojamaahan. Tällä sidotaan Msisäinen tukevaan suojamaahan. Tällä estetään häiriöjännitteiden kytkeytyminen hajakapasitanssien kautta elektroniikkaan.
Huomaa, että Msisäinen referenssitaso kiertää koko logiikkajärjestelmässä.
Jos asennus vaatii maadoittamatonta rakennetta (irroitettava silta poistetaan), niin ylipäästösuodatin kytkee kuitenkin maatasot yhteen. Sen on tarkoitus toimia yli 10 khz häiriöjännitteille, jotka hajakapasitanssien kautta kytkeytyisivät.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 76Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Kuormavirtapiirit Kuormavirtapiiri syöttää sekä I/O-korttien elektroniikkaa että kortteihin liittettyjä kenttälaitteita.
Alla oleva kuva esittä, kuinka 24 V kuormavirtalähde syöttää AI-korttia ja siihen kytkettyä kaksijohdinlähetintä.
24V DC kuormavirtapiirin referenssitaso M pääsääntöisesti liitetään logiikan instrumenttimaakiskoon. Näin ei pääse syntymään potentiaalieroa järjestelmän ja kuormavirtapiirin referenssitasojen välille.
Yllä oleva kuva havainnollistaa, AI-kortilla olevia eri referenssitasoja: Kortin oma tehonsyöttö ja siinä referenssitaso M. Se on isoloitu
muusta elektroniikasta. Sitä kuvaa muusta erillään oleva erotussymboli.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 77Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Järjestelmän sisäinen referenssitaso Msisäinen ja sen kytkeytyminen AD-muuntimelle.
Kunkin kanavan referenssitaso Mana– esim. tässä M5- ja sen
kytkeytyminen AD-muuntimelle. Tätä kautta kanavan Mana ja Msisäinen televat riippuvaisiksi toisistaan.
Käyetystä korttityypistä riippuu, minkälaisia jännite-eroja sallitaan kortin kanavien välillä Uecm (yhteismuotoinen jännite). Siis mikä on suurin sallittu jännite-ero kanavien Mana-referenssitasojen välillä (analogiasignaalin miinus-johdin). Peruspotentiaalina on Msisäinen. Alla olevan taulukon korteille ne ovat 2,5 ja 75 VDC.
Lisäksi on rajoitettu suurin sallittu jännite Uana ja Usisäinen potentiaalien välillä Uiso. Se on useimmilla korttityypeillä 75 V.
Jotta vältyttäisiin edellä kuvattujen potentiaalierojen tuomilta ongelmilta, niin prykimyksenä on maadoittaa analogiasignaalit järjestelmän päässä. Mana yhdistetään Msisäinen. Siis analogiasignaalien referenssipotentiaaliksi tulee normaalissa tapauksessa signaalimaa.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 78Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 79Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
AI-korttien kytkentöjä
Lähetin muuttaa fysikaalisen mittaussuureen jännite- tai virtaviestiksi. esim 0-10V tai 4-20 mA. Nelijohdinlähettimessä johtimina ovat tehonsyötön + ja – sekä itse signaalin + ja -. Sen mukaan, onko viesti virta- vai jännitevieti valitaan sovitinyksikön asento.
Kaksijohdinlähettimessä ei ole erillistä tehonsyöttöä vaan se saa tehon toimintaansa itse mittasignaalista 4-20 mA. Huomaa, että virran kulkusuunta on siten tässä päinvastainen kuin 4-johdinlähettimessä. Tässä se kulkee l? M+ M- Mana M. Huomaa myös että nyt M- ja Manaa ei saa yhdistää, koska silloin ohitettaisiin AD-muunnin, jonka kautta referenssitasot M- ja Mana nyt yhdistyvät.
Kolmijohdinlähetin on kaksijohdinlähettimen erikoistapaus.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 80Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Vastusmittauksessa kortin virtageneraattori syöttää vastukseen vakiovirran ja mittaa vastuksen yli tulevan jännitteen. Näin mitataan esim. lämpötila Pt100 vastuksella.
Edellä oleva nelijohdinkytkentä kompensoi mittajohtimien resistanssin.Alla olevassa kaksijohdinkytkennässä kompensointi jää pois, mutta säästetään johtimien vetäminen kentälle.
Termopari synnyttää parin ja johtimien väliseen lämpötilaeroon verrannollisen jännitteen. Se voidaan mitata termoparin johtimien päistä. Termojännite on mikrovoltteja/aste. Jotta saadaan absoluuttinen lämpötila on tiedettävä referenssipisteen lämpötila.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 81Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Absoluuttinen lämpötila voidaan saada kolmella eri tavalla.Viedään termoparin kompensointijohtimet kortille asti ja käytetään kompensointiin kortilla olevaa resistoriin perustuvaa absoluuttista lämpötilan mittausta.
Kytkentä rasiaan viedään resistoriin perustuva lmpötilan mittaus. Kompensontirasian elektroniikka kehittää kyseisen lämpötilan ja 0 C lämpötilaeroa vastaavan termojännitteen. Näin kortti mittaa termojännitteen 0C simuloitua referenssilämpötilaa vasten.
Kolmas tapa on mitata absoluuttilämpötila PT100 vastusmittauksena.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 82Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Differentiaalinen jänniteviesti analogialähtö johdoissa tapahtuvan jännitehäviön kompensoinnilla. Kuorman saama jännite mitataan S+ ja S- johtimilla.
Single ended virtaviesti.
Seuraavassa on esitelty muutamia tyypillisiä analogiatulokortteja ja niiden perusominaisuuksia.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 83Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Differentiaalinen AI-tulokortti perus standardiviestien mittaamiseen.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 84Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 85Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Sigle ended AI-tulokortti normaalien standardiviestin lisäksi vastus- ja termoparimittauksiin.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 86Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 87Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Differentiaalinen AI-tulokortti lämpötilan mittauksiin
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 88Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 89Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Differentiaalinen (Isoloitu ) analogialähtökortti.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 90Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Single ended (Ei isoloitu) analogialähtökortti
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 91Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 92Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
On Line-muutokset Järjestelmässä kaikki toimenpiteet on tehtävissä järjestelmän käydessä. Oheiset kuvat antavat käsityksen, mikä logiikoissa on mahdollista ja miten se tehdään:
- Kohdistetaan kirjoitus parametriryhmään 0 tai 1 (Data Record)
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 93Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
- Katsotaan manuaalista Data Record:in rakenne- Parametroidaan Data Blcok:iin analogiakortin vastaavat parametrit
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 94Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
- Ohjelmoidaan kortin alustus
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 95Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Edellä esitettyyn tapaan kultakin modulilta tai kortilta voidaan lukea myös diagnostiikkatiedot
Lukukomento palauttaa diagnostiikka tavut halutulle muistialueelle Record.
Tavut 0-7 ovat kaikille tyypeille yhteiset:
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 96Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Tavu 8 on korttityyppikohtainen. Esimerkiksi analogialähtökortti:
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 97Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Manuaalit Siemens:in S7-300 logiikoihin liittyvien AI-korttien manuaalit löytyvät alla olevista linkeistä:
AI_Getting_Started.pdfS7-300_Module_Information.pdf
.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 98Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Ohessa on esitetty analogiatulo-signaaliin skaalaaminen insinööriyksiköiksi, kun analogiamittaus tulee raakalukuna 0-27648.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 99Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Lohkon AI_PERUS sisältö:
Parametrimäärittelyt
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 100Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Ohjelman sisältö:
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 101Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Alla on vielä esitetty perusveriosta kehitetty lohko, jossa on lisäominaisuuksina:Ylä- ja alarajähölytys ja niiden kuittauksetAI-tulon ohitus ja pakotus haluttuun arvoon
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 102Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 103Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 104Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 105Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 106Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 107Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Analogialähtö logiikassa (S7-300 ).
Signaalityypinvalinta Lähtösignaalin valinta voidaan tehdä kuten järjestelmässäkin. Samalla kortilla on
sekä virta- että jännitelähdöt. Toimilaitteen johdotus määrittää käytettävän signaalityypin – jännite- vai virtalähtö. Signaalin nimellisalue määritetään parametrionnissa.
Parametrointi voidaan tehdä myös ohjelmallisesti käyttämällä esim. SFC 55 lohkoa samalla tavoin, kuin AI-lohkon yhteydessä esitettiin.
Käyttämättömät tulot jätetään disable-tilaan. Lähtöjen kohdalla ei ole samaa määrittelyongelmaa kuin tuloilla:
- Kuikin lähtö on täysin itsenäinen (vain yksi signaali/Group)- Lähtö on aktiivinen, joten se itse määrittelee jännitteen
referenssipotentiaaliin nähden- Lähtö on pieni-impedanssinen
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 108Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Diagnostiikka Jos keskeytys on aktivoitu, niin korttivian tullessa/poistuessa kutsutaan vinakäsittelyrutiini OB82.
Diagnostiikka sisältää seuraavat tapahtumat:- Kenttäteholähteen jännitteen puuttuminen- Parametrointivirhe konfiguroinnissa- Oikosulku signaalijohtimien välillä (jännitelähtö)- Signaalijohtimen katkos (virtalähtö)
Lähdön rajoitus Erillistä lähdön rajoitusta ei ole, vaan se tehdään sovellutusohjelman puolella.
Muunnosaika Muunnosaika noin 200 mikrosekuntia. Asettumisaika riippuu kuorman impedanssista (kapasitanssai/induktanssi) Tyyppillisesti 0.5 – 3 ms.
On Line-muutokset Tehdään järjestelmäohjelmointina analogiatulojen tapaan.
Manuaalit Siemens:in S7-300 logiikoihin liittyvien AO-korttien manuaalit löytyvät alla olevista linkeistä:
AO_SM332.pdf
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 109Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
S7-300_Module_Information.pdf
Ohessa on esitetty vastaavasti analogialähdön skaalaaminen insinööriyksiköistä välille 0-27648.
Huomaa oletusarvot.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 110Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 111Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
10 Analogiakorttien valinta ja johdotus, Hardware-konfigurointi sekä A/D- ja D/A-muunnoksen käsittely
HARJOITUSTEHTÄVÄ 3, AI -TOIMINNAT, LAITTEIDEN SPESIFIOINTI, KYTKENNÄT, HW-KONFIGUROINTI
Harjoitustehtävä 3
Kuvitellaan, että logiikan CPU-rackissä (Rack 0) on kaikki korttipaikat käytössä.
Suunnittele logiikan laajennus, korttien spesifiointi sekä kytkennät oheisilleantureille ja lähettimille. Suunnittele ohjelmat kyseisten mittausarvojen muuttamiseksi insinööriyksiköiksi (sekä Floating Point että INT-esitysmuodossa.)
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 112Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Kuva Lähettimien kytkentä korttipaikassa.
Kaaviokuva kykennöistä kortille 331-7KF02-0AB0 ja kortin keskeiset tiedot on esitetty luentomonisteessa edellä.
Samoin luentomoniseteessa on esitetty signaalien kytkennät ja maadoitukset. signaalisovittimien asennot perusteet käyttämättömien signaalien kytkemiseksi.
Perusteita maadoitukselle: Signaalien – referenssitaso samaksi. Referenssitaso sidotaan Mana:aan (analogiasignaalien referenssitaso).
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 113Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Poikkeuksena ei kuitenkaan kaksijohdinlähettimien - tasoa, joka kytkeytyy sisäisesti kortin kuomavirtalähteen miinukseen. Nyt kuomavirtalähteen – kytketään Manaan.
Koska kyseessä on single-ended (ei isoloitu kortti), kytketään Mana CPU:n signaalimaahan.
HW-konfigurointi:
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 114Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Edellä olevaan konfigurointiin päätyy, kun valitsee ensin signaalin päätyypin. Sen mukaisestihan pitää sovitin pala olla valittuna A, B, C TAI D.
Kun päätyyppi on valittu, niin päästään alavalikoihin.
Kuva 8-kanavaisen AI-kortin parametrointi kytkentäkuvan mukaan. Huom valitun liitäntätyypin mukainen signaalisovitinyksikön esitys. Mittausjakso on valittu 50 Hz:n verkkojännitteelle sopivaksi. Selkeydenvuoksi kortin valvontoja ei ole kuvassa valittu käyttöön.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 115Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-STA/D-muunnokset eri antureille ja lähettimille.
Pt-100, Climate Moodi, jolloin A/D-muunnos on:
Kuva Pt-100 anturi suoraan kytkettynä
J-tyypin termoelementti
J-Tyypin termoelementissä on valittu vertailulämpötilan mittaus kortilla, jolloin termoelmentti täytyy kytkeä kortille saakka jatkojohdoilla. (Huom: väärä jatkojohtojen tyyppi ja/tai väärä napaisuus kytkennässä aiheuttaa satojen asteiden virheen mittauksessa.)
Termoelementin ominaiskäyrä on epälineaarinen. Valitaan tästä syystä kortille talletettu linearisointi, jolloin mittaustulos on tarkempi.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 116Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Kuva J-Tyypin termoelementin A/D-muunnos
2 ja 4-W-lähettimien muunnokset
Jännite ja virtasignaalien muunnokset ovat nimellisalueella välillä 0…27648.
Toteutetaan lähettimien skaalauksetinsinööriyksiköiksi ohjelmassa. Käytetään hyväksi yleiskäyttöistä skaalauslohkoa.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 117Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
11. RAKEENTEELLINEN OHJELMOINTI LOGIIKOISSA
11.1 Ohjelman rakennelohkot
Siemens:issä on käytössä seuraavan taulukon mukaiset rakennelohkot
Lohko TetäväOrganisaatiolohkot (OB - Organisation Block)
OB:t määrittävät sovellutusohjelman rakenteen Niillä suunnittelija kertoo käyttöjärjestelmälle,
miten sovellutusohjelmia tulee ajaa: syklisesti vai keskeytyspohjaisesti.
Ne vastaavat logiikan käynnistämisestä ja toiminnasta virhetilanteissa.
Systeemitoiminnat (SFC - System Function) ja systeemitoimintayksiköt (SFB - System Function Block)
Firmwareen valmiiksi ohjelmoituja standarditoimintoja. Ovat siten jäljellä ohjelmamuistin perusnollauksenkin jälkeen. Esim. päivämäärän ja järjestelmän vikojen kysely tai PID-säätölohko.
Toiminnat (FC - Function) ja Systeemitoimintayksiköt (FB - Function Block)
Suunnittelijan itsensä ohjelmoimia toimilohkoja. FB sisältää lisäksi erillisen muistialueen, jokaiselle kutsulle omansa. (vrt. automaatiojärjestelmien tietokantaelementti)
Tiedostoyksiköt(DB - Data Block)
Apumuistialue sovellutusohjelman tarpeita varten. Alueita voidaan luoda kahdentyyppisiä: Jaettu DB on koko sovellutusohjelman
käytettävissä FB kohtainen DB on vain tietyn FB:n käytössä. Ks
yllä.
FC, FB ja DB mahdollistavat ohjelman tekemisen: Modulaariseksi – ohjelma koostuu useista mahdollisimman itsenäisistä osista. Hierarkiseksi – toiminnot on jaettu alekkaisiin ohjelmiin siten, että niiden
sijainti vastaa fyysistä todellisuutta. Esimerkiksi tehdas – osasto – Linja - Tomilaiteryhmä
Tässä kappaleessa käydään tarkemmin FC:n ja FB:n käyttö: Ensin esitetään, kuinka niitä mekaanisesti luodaan
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 118Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Sitten esitettään tätä mekaanista suoritusta havainnollistava esimerkki Lopuksi näytetään, kuinka FC ja FB:n käyttö muodostavat tärkeän
menetelmän, kun todellisia käytännön ratkaisuja teollisuudelle toteutetaan
OB:t käydään lävitse omassa kappaleessaan, koska ne muodostavat logiikoissa täysin oman osakokonaisuuden
SFC:stä ja SFB:stä annetaa mielikuva esimerkin avulla siinä vaiheessa, kun käydään läpi peruskäskyjä täydentävä laajennettu käskykanta.
Kutsu Lohkojen suoritusjärjestys määritellään lohkojen kutsuilla. Periaate on sama kuinhierarkia normaaleilla aliohjelmakutsuilla. Kutsukohdassa hypätään suorittamaan uutta
lohkoa ja sen loputtua jatketaan alkuperäistä lohkoa kutsukohdasta eteenpäin. Peräkkäisen alikutsujen maksimiäärä riippuu logiikasta. Suuruusluokka on 10 - 20 kpl.
Seuraavassa muutama kuva selventämään ohjelmakutsuja.
Sovellutusohjelman kutsuhierakia
Yksittäisen lohkon kutsu
Lohkon Lausekielisestä ohjelmoinnistahan on tuttua aliohjelman kutsuparametrit.parametrit Niiden käyttöhän on seuraava:
Muuttujat - aliohjelma kirjoitetaan käyttäen muuttujia. Muuttujat esitellään ohjelman alussa.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 119Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Kutsuparametrit - Aliohjelmakutsun yhteydessä ilmoitetaan, mitä muuttujien arvoja tällä kutsukerralla käytetään (lohkon tulonastat)
Lähtöparametrit - Aliohjelmakutsun yhteydessä ilmoitetaan, mihin ohjelman lopputulokset - lähtöparametrit - tällä kutsukerralla kirjoitetaan (lohkon lähtönastat)
S7:n ohjelmalohkoissa FC ja FB, voidaan menetellä vastaavalla tavalla: Esitellään lohkon alussa muuttujat antamalla nimi ja muuttujan tyyppi. Kirjoitetaan ohjelma käyttämällä muutujien nimiä. Ainut ero symbolisilla
nimillä ohjelmointiin on siinä, että nimen edessä on # lainausmerkkien sijasta (“ ”). Mikään ei estä käyttämästä tarvittaessa myös fyysisiä osoitteita tai niiden symbolisia nimiä ohjelmoinnissa. Niitähän sinä nytkin olet käyttänyt ohjelmointiharjoituksia tehdessäsi.
Kun tehtyä ohjelmalohkoa kutsutaan sovellutusohjelmasta, ilmestyy ruudulle toimilohko, jossa on tulo- ja lähtönastoja. Ne vastaavat lohkon muuttujia. Jos muuttujia ei ole määritelty ei tule nastojakaan. Nastoihin määritellään ne fyysiset osoitteet tai lukuarvot, joihin muuttujat tällä kutsukerralla kytkeytyvät (eli määritetään kutsu- ja lähtöparametrit)
Aiheeseen on hyvä perehtyä allasohjausesimerkin avulla, joka on monistettu harjoitustehtävien yhteydessä.
Muuttujien Muuttujien esittelyssä määritetään, onko niiden tietotyyppi bitti, byte,tyypit kokonaisluku, ajastin, laskuri, jne. ja mikä on niiden alkuarvo. Tämän lisäksi
on määritettävä liittyykö muuttuja kutsu- vai lähtöparametriin vai onko se lohkon sisäinen muuttuja.
Seuraava taulukko kuvaa mahdolliset tapaukset
TYYPPI KUVAUSIN Kytketään kutsuparametriin - lohkon tulonastaOUT Kytketään lähtöparametriin - lohkon lähtönastaIN_OUT Muuttuja, joka saa arvonsa lohkon kutsun yhteydessä, arvoa
modifioidaan lohkon sisällä ja uusi arvonpalautetaan takaisin samaan paikkaan, mistä se kutsun yhteydessä saatiin. Esitetään lohkossa vain tulonastana. Tarvitaan tiedoille, joiden arvo on säilytettävä ohjelmakierrosten yli. esim. S/R-kiikut.
STAT Apumuistipaikka. Vain FB:llä. Muistipaikka FB:hen kytketyssä DB:ssä. Säilyttää arvonsa ohjelmakierrosten yli.
TEMP Apumuistipaikka. Menettää arvonsa lohkon suorituksen jälkeen.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 120Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
(Muut lohkot käyttävät samaa muistialuetta)
Muuttujien tyypit ja lohkon nastat
Sallitut datatyypit FB:n muuttujille
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 121Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-STFB:hen Kun FB:tä kutsutaan, vaaditaan määrittämään myös liittyvä DB. Kun käyttäjä liittyvä DB pyytää järjestelmää luomaan tällaisen DB:n, niin FB:n muttujien esittelylista
kopioidaan DB:n sisällöksi. Muuta ei tarvitakkaan.
Koska muuttujien arvot on säilötty DB:hen, niin niiden arvot säilyvät ohjelmakierrosten ja myöskin sähkökatkosten ylitse (patterituettuna).
Jos FB:tä kutsuttaessa lohkon nastoihin ei kirjoiteta mitään, niin FB käyttää DB:ssä olevia arvoja. Sen sijaan FC:lle on aina määriteltävä tulo- ja lähtöparametrit, koska siltä DB puuttuu.
FB ja siihen liittyvä DB
FB ja kullekin kutsulle oma DB
Jaettu DB Jaettu DB näkyy kaikille ohjelman osille. Kerrallaan voi olla auki vain yksi DB. Esim komennolla OPN DB5 avautuu DB5, ja mahdollisesti aiemmin avattu DB sulkeutuu. Tämän jälkeen kaikki DataWord-komennot kohdistuvat DB5:een.
Aliohjelmassa avattu DB sulkeutuu automaattisesti, kun aliohjelmasta hypätään takaisin. Samalla avataan automaattisesti aiemmin pääohjelmassa auki ollut DB.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 122Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Jaettu DB
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 123Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST12. ORGANISAATIOLOHKOT JA SOVELLUTUSOHJELMAN SUORITUS
Logiikkaan tehtävän ohjelman tulee rakenteeltaan vastata ohjattavaa prosessia. Toisaalta ohjelman eri osilla on erilaiset tarpeet suoritusvälin suhteen. Tämä tarve hoidetaan valitsemalla sopiva OB: sovellutusohjelma ajetaan, kun jokin OB sitä kutsuu.
Ohessa on esitetty S7-400 logiikan eri OB:t
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 124Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Esimerkkejä soveltamisesta
Prioriteetti Korkeamman prioriteetin omaava OB voi keskeyttää alemman prioriteetin OB:n
Syklinen ohjel- Syklisessä ohjelman käsittelyssä ohjelman suoritus aloitetaan uudelleenman käsittely alusta heti, edellinen ohjelmakierto on saatettu loppuun. Siten ohjelman
suoritusväli riippuu kirjoitetun sovellutusohjelman pituudesta ja se voi myös vaihdella ohjelmakierroskesta toiseen. Sykliselle kiertoajalle voidaan asettaa normaalisti ylä- ja alaraja: liian pitkäksi mennyt kiertoaika saa aikaan virherutiinin käynnistämisen. Minimiaika saadaan täyttymään, kun kierron lopussa jäädään odottelemaan. Odottelun sijaan voidaan ajaa OB90:tä, jos se on määritelty; kunnes minimiaika tulee täyteen. OB90 sopii hyvin ohjelmoitujen Loop:ien suorittamiseen, koska sillä ei voi jumiuttaa muun ohjelman suorittamista.
Tämä on juuri se suoritustapa, joka on logiikoille ominainen. Usein kaikki ohjelmat sijoitetaan sykliseen ohjelmankäsittelyyn ajattelematta tarkemmin sitä, tarvitaanko todella niin nopeata suoritusväliä. Jos logiikan ohjelmamuistin koko on 20 ktavua ja ohjelman suoritusaika keskimäärin 1 ms/ 1ktavu ohjelmaa, niin suoritusväliksi tulee 20 ms. Näin voidaan menetellä sovellutuksissa, joissa CPU-kuormitus ei ole kriittinen, ja yleensä näin on laita.Simatic-logiikoissa syklisesti suoritettava ohjelma on OB1, Organization Block 1.
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 125Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Logiikan ohjelmakierto
Ohjelman kiertoajan satunnaisuus, minimikiertoaika ylittyy
Ohjelman kiertoajan satunnaisuus, minimikiertoaika ei ylity
Aikaohjattu oh- Järjestelmässä on sisäinen kello ohjelmakierron valvontaa varten. Kello antaa jelman käsittely keskeytyksen CPU:lle asetetuin aikavälein. Tällöin syklinen ohjelmankäsittely
keskeytetään ja aloitetaan aikaohjatun aliohjelman suoritus. Kun aliohjelman
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 126Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
suoritus on saatettu loppuun, jatketaan syklistä ohjelmaa seuraavasta vuorossa olevasta käskystä ennen aikakeskeytystä.Tyypillinen ratkaisu logiikoissa on, että ennen aikakeskeytystä aloitettu I/O-rekistereiden päivitys suoritetaan loppuun, ennen keskeytyksen palvelua.
Aikakeskeytystasoja voi olla useita esim. 10 ms, 100 ms, 1s. Tällöin lyhyellä keskeytystasolla on suurempi prioriteetti. Kun 100 ms aikatasoa suoritettaessa tulee 10 ms tason keskeytys, suoritetaan 10 ms taso, jonka jälkeen jatketaan 100 ms tasosta.
Aikaohjattu ohjelmointi on toiselta nimeltään reaalikaikaista ohjelmointia. Aliohjelmalle taataan tietty maksimiaika, joka voi korkeintaan kulua kahden perättäisen ohjelmakierron välillä. Virhetilanne syntyy, kun alemman tason keskeytyspalvelu kestää pitempään kuin ylemmän tason suoritusväli. Tällöin ei reaaliaikaisuus täyty. Se, miten logiikka tähän reagoi riippuu laitteesta. Tilanne päätyy joko virhetilanteeseen (virhealiohjelman suoritus) tai saman tason keskeytysten asettamisen jonoon. Keskeytyksiä puretaan sitten prioriteetti- ja kutsujärjestyksessä sitä mukaan kuin ehditään.
Aikaohjattu OB
Tapahtumaohjattuohjelman käsittely Tapahtumaohjattu keskeytys on sidottu ohjelmoitavan logiikan tuloihin. Osa
tuloista voi olla määritelty keskeyttäviksi, esimerkiksi erityinen "keskeytystulokortti". Keskeytystulot ovat yleensä mahdollisia vain prosessorikehikossa. Näiden tulojen nouseva- (laskeva) reuna aiheuttaa keskeytys aliohjelman suorittamisen. Tapahtumakeskeytys on prioriteetiltaan korkeampi kuin syklinen ja aikaohjattu ohjelma. Yleensä myös meneillään oleva I/O-kierto keskeytetään.
Isommissa logiikoissa keskeytystasoja voi olla useita. Tällöin keskeytykset palvellaan prioriteetti ja kutsujärjestyksessä..Reaktioaika riippuu tulokortin
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 127Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
kanavan asettumisnopeudesta ja CPU:n käyttöjärjestelmästä. Se on tyypillisesti < 1 ms.
Tapahtumasta käynnistyvät OB:t
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 128Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Initialisointi- Monesti ohjelmissa on parametrejä, joille halutaan antaa perusarvot järjestelmän rutiinit käynnistyessä. Esimerkikisi moottoriohjaukset hallutaan asettaa AUTO-tilaan,
jolloin ne ovat ohjattavissa käynnistyssekvenssillä. Tätä varten on omat aliohjelmansa käynnistysrutiineiden suorittamiseksi. Simatic-logiikoissa ne ovat OB100 ja OB101. Nämä aliohjelmat suoritetaan kerran, ohjelman käynnistyessä.
Virheestä- Virhetilanteita syntyy väärin tehdystä sovellutusohjelmoinnista ja diagnostiikan toipumisrutiinit havaitsemien HW-vikojen takia. Logiikoissa osa näistä virhetilanteista on eritelty
niin, että viasta saadaan ilmoitus ja samalla on mahdollista käynnistää aliohjelma, joka määrittelee, miten virhetilanteesta toivutaan.
Jos vikatilanne on vakava ja virherutiinia ei ole ohjelmoitu, niin ohjelman suoritus pysähtyy.
Synkrooninen virhe tarkoittaa, että virhe toistuu säännöllisin väliajoin. Siten sen aiheuttaja on virhe sovellutusohjelmassa.
Virheen käsittelyyn liittyvät OB:t
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 129Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Toiminta virhetilanteessa 1
Toiminta virhetilanteessa 2
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 130Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Toiminta virhetilanteessa 3
Toiminta virhetilanteessa 4
Vaasan Ammattikorkeakoulu LUENTOMATERIAALI 131Sähkötekniikan osasto 29.10.2010Juha Nieminen OHJELMOITAVAT LOGIIKAT/I-ST
Ohessa on vielä kuvattu virhekäsittelyyn liittyviä systeemitoimintoja havainnolistamaan SFC:den käyttöä.