Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Logiikoiden uudet
mahdollisuudet
Teknologiademot on the Road
13.5.2016
Automaation perusteita
Petteri Mäkelä
Automaatiojärjestelmä• Automaatiojärjestelmä voi olla yksittäinen PLC tai koko
tehtaan toiminnan ohjaamiseen tarkoitettu järjestelmä.
Automaatiojärjestelmä
• Alimmalla eli kenttälaitetasolla ovat yksittäiset ohjausyksiköt, lähettimet, anturit ja mittalaitteet sekä prosessia ohjaavat toimilaitteet.
• Seuraavalla tasolla ovat ohjainyksiköiden, säätimien ja toimilaitteiden ohjauksia kontrolloivat logiikkayksiköt (PLC).
• Ylimmälle tasolle sijoittuvat mm. valvomotietokoneet ja erilliset ohjauspäätteet ja hälytyskirjoittimet. Ylimmältä tasolta voidaan liittyä myös lähiverkkoon ja mahdollisesti Internetiin.– Tuotannonohjaus (MES) - ja toiminnanohjausjärjestelmät
(ERP)
Automaatiojärjestelmä
Ohjelmoitava logiikka
• Ohjelmoitava logiikka
– (eng.) Programmable Logic Controller, PLC
– tietokone, jota käytetään reaaliaikaisten automaatioprosessien ohjauksessa
• NC-kone, automaatiolinja jne
PLC:n rakenne
Tulot ja lähdöt
• Ohjelmoitavan logiikan ulkoisista liitännöistä käytetään yleisesti termejä tulo ja lähtö.
• Tuloporttien kautta logiikka saa tietoa järjestelmän tilasta, ja lähtöporttien kautta se voi ohjata järjestelmää
• Tulot– Kytkennän osa, jolla PLC:lle viedään tietoa (kytkimet,
painonapit, anturit, näppäimistö, hiiri, kosketusnäyttö…)
• Lähdöt– Kytkennän osa, jolla PLC antaa tietoa ulkomaailmaan
(moottorien ja venttiilien ohjaus, lmerkkivalot, näyttö…)
Ohjelman suoritus
• Ohjelmakierron aikana
– PLC lukee tuloihin liitettyjen antureiden, kytkimien ja lähettimien välittämät tiedot sisäisiin muistipaikkoihin
– PLC suorittaa ohjelman (prosessointijakso)
– Tieto välittyy lähtöyksiköistä ohjausväylän kautta toimilaitteille
IEC 61131-3 standardi
Standardi IEC 61131 ” Programmable controllers -Part 3: Programming languages” koskee
logiikoiden ohjelmointikieliä
Petteri Mäkelä
IEC 61131-3 standardi
• Standardin IEC 61131 mukaan ohjelma koostuu itsenäisistä osista, joita kutsutaan Program Organization Uniteiksi (POU).
• POU:ta on kolmea tyyppiä
– Program eli ohjelma
– Function (funktio)
– Function block (toimilohko)
POU
• Program on varsinainen pääohjelma. Programissamääritellään mm. kuinka fyysiset tulot ja lähdöt linkitetään muuttujiin
• Funktiolle voidaan antaa parametreja. Funktiolla ei ole omaa muistia tilatiedoille.– Ei muista mitään edelliseltä suorituskerralta
– Tuottaa aina saman ulostulon samoilla parametreilla
• Toimilohkolla (function block) on sisäinen muisti– Ulostulon arvo riippuu parametrien lisäksi sisäisistä
muuttujista
Muuttujat
• Muuttujat sisältävät POU:ssa käsiteltävän datan (declaration part). Muuttujat määritellään POU:n alussa
• Muuttujalle annetaan nimi muuttujan tyyppi ja tietotyyppi
Muuttujat ja tietotyypit
• Muuttujan nimi yksilöi muuttujan
• Tietotyyppi kertoo, mitä arvoja muuttuja voi saada (bool, kokonaisluku, desimaaliluku, merkkijono, päivämäärä…)
IEC 61131-3 ohjelmointikielet
• Standardi määrittelee viisi ohjelmointikieltä
• Tekstimuotoiset kielet
– Instruction lis (IL)
– Structured text (ST)
• Graafiset kielet
– Ladder diagram (tikapuukaavio) (LAD)
– Function Block Diagram (FBD)
– Sequential Function Chart (SFC)
Instruction List (IL)
• Instruction list (käskylistaus) muistuttaa assembleriä (konekieltä)
• Muut kielet on mahdollista kääntää IL-muotoon
• IL-kieli on matalimman tason kieli. Ohjelmat saattavat olla vaikeita ymmärtää koodin lukijalle
Structured text (ST)
• ST muistuttaa ”tavallisia” ohjelmointikieliä (C, Pascal)
• Korkean abstraktiotason ohjelmointikieli
• ST-algoritmi koostuu lauseista ja lausekkeista
Ladder diagram (LAD)
• LD:n tausta on sähkötekniikassa. LD perustuu virran kulun kuvaamiseen relelogiikkaohjauksessa
• LD (tikapuukaavio) lienee yleisin logiikkaohjauskieli
• Sopii parhaiten yksinkertaisiin ohjauksiin, mutta sillä on mahdollista tehdä myös suuria järjestelmiä
Function block diagram (FBD)
• Function block diagram on graafinen ohjelmointikieli, joka muistuttaa digitaalitekniikan kurssilla käytettyjä IC-piirien piirikaavioita
• Toimilohko tai funktio koostuu sisääntuloista, itse lohkosta ja ulostuloista.
• Lohkoja voidaan yhdistää toisiinsa• Ohjelma etenee samalla tavalla kuin
tikapuuohjelma eli vasemmalta oikealle ja ylhäältä alas
• (Huom. FBD vs. FB. Function Blockeja voidaan käyttää myös tikapuukaavioissa)
Sequential function chart (SFC)
• Sequential function chart voidaan tehdä graafisena tai tekstimuotoisena
• SFC:n avulla voidaan jakaa suuri ohjelma pienempiin ja helpommin hallittaviin osiin
• SFC:llä kuvataan, kuinka ohjelman suoritus etenee näiden osien välillä
• SFC koostuu askelmista ja siirtymistä askelmien välillä
Loogiset operaatiot ja
funktioblokit
Petteri Mäkelä
Loogiset operaattorit yms
• Loogiset operaattorit
• Vertailijat
• Aritmeettiset laskutoimitukset
• Loogiset operaatiot
– Invertteri (NOT)
– AND
– OR
– XOR
Function Blocks
• Tässä luvussa on esitelty valmiita funktioblokkeja ja funktioita (Beckhoff)
Esimerkki
• Lamppu voidaan sytyttää ja sammuttaa yhdellä painikkeella
• Triggeri, RS-kiikku ja AND
Arimeettiset operaatiot
• Mahdollisuus tehdä erilaisia laskutoimituksia
• Esimerkki:
– x = a * b – c * d;
Muunnokset tietotyyppien välillä
• Usein täytyy tehdä muunnoksia tietotyyppien välillä
Muunnokset tietotyyppien välillä
• Kokonaisluvusta desimaaliluvuksi (INT_TO_REAL)– a, b, c ja d ovat
kokonaislukuja
– Pakotetaan a desimaali-luvuksi (INT_TO_REAL), että saadaan desimaalilukujenjakolasku
• Desimaaliluvusta kokonaisluvuksi (REAL_TO_INT)– x ja y ovat tyyppiä REAL
– Katkaistaan desimaalitkertolaskun jälkeen(REAL_TO_INT)
Vertailijat
• Vertailijat (yhtäsuuruus, erisuuruus, pienempi kuin, suurempi tai yhtä suuri kuin…)
• Hiiren oikea näppäin ja valitaan sopiva vertailija valikosta
Pienempi kuin nolla (LT)
Suurempi tai yhtä suurikuin nolla (GE)
Ajastimet
• Kolme erilaista ajastinta– TON: Timer on-delay
• Viivästyttää ulostulon päälle laittamista
– TOF: Timer off-delay• Viivästyttää ulostulon laittamista
pois päältä
– TP: Pulse timer• Käytetään tietyn pituisen pulssin
generointiin
Laskurit
• Kolme erilaista laskuria
– CTU: Counter up
• Ylöspäin laskeva laskuri
– CTD: Counter down
• Alaspäin laskeva laskuri
– CTUD: Counter up/down
• Ylös ja alas laskeva laskuri
Omat funktiot ja toimilohkot 1/2
• PLC-ohjelmat kannattaa jakaa moduuleihin samalla tapaa kuin esimerkiksi C- tai C#-ohjelmat– Samaa koodia ei kannata monistaa moneen paikkaan
ohjelmassa. – Ohjelma on ymmärrettävämpi, jos sen toiminta jaetaan
pienempiin osiin– Ohjelmakoodin uudelleen käyttö helpottuu
• Metodien sijaan PLC-ohjelmissa tehdään funktioita ja funktioblokkeja– IEC 61131-3 standardissa (v3) on mukana myös luokat ja
oliot– Voidaan tehdä myös kirjastoja
Omat funktiot ja toimilohkot 2/2
• Funktiolle voidaan antaa parametreja. Funktiolla ei ole omaa muistia tilatiedoille.
– Ei muista mitään edelliseltä suorituskerralta
– Tuottaa aina saman ulostulon samoilla parametreilla
– Yksi paluuarvo
• Toimilohkolla (function block) on sisäinen muisti
– Ulostulon arvo riippuu parametrien lisäksi sisäisistä muuttujista
– Voi olla useita lähtöjä
Sekvenssiohjaus
Petteri Mäkelä
Sekvenssiohjaukset
• Sekvenssiohjausta käytetään tehtäviin, joissa toiminnot tapahtuvat ajallisesti peräkkäin
• Seuraavaan askeleen mennään yleensä edellisen askeleen kautta, kun siirtoehto toteutuu
• Sekvenssiohjauksesta käytetään myös nimitystä tilakone
Sekvenssiohjaukset
• Sekvenssi etenee ylhäältä alas kuvan mukaan
• Seuraavaan tilaan (askel, step) siirrytään ehdon toteutuessa
Kuva Hannu Reinilä
Sekvenssiohjaukset
• Function Block Diagramia (ja Ladderia) käytettäessä Sekvenssiohjaukset toteutetaan RS-pitopiirien ketjuilla
– Tämä on yleisesti käytetty tapa ja varsin selkeä silloin, kun askelia on suhteellisen vähän
– Toinen vaihtoehto on käyttää Sequential Flow Chartia (SFC) tilojen (askelien) ja siirtoehtojen kuvaamiseen
– Kokeneet PLC-ohjelmoijat tekevät sekvenssiohjauksen yleensä lausekielisenä Structured Textillä (ST)
Sekvenssiohjaus
• Sekvenssiohjauksessa on yleensä yksi askel (step) aktiivinen. Muut askeleet ovat poissa päältä.
• Askeleesta seuraavaan siirrytään, kun edellinen askel on voimassa ja ehto uudelle askeleelle tulee todeksi
• Uusi askel nollaa edellisen askeleen asetuttuaan
Lähde Hannu Reinilä
Sekvenssiohjaus
• Askeleeseen siirrytään, kun edellinen askel ja muut siirtoehdot ovat päällä (usein AND-piiri SETinvasemmalla puolella)
• Sekvenssin keskeyttävät toiminnot kerätään yhteen OR-toiminnolla ja kytketään RESETiin– Usein seuraava askel resetoi
edellisen askeleen– RESETiin kytketään usein
myös ”hätä-seis”
Esimerkki
• Step1: Moottori ajaa kuljetinta eteenpäin, kun Start-painiketta on painettu
• Step2: Kuljetin vaihtaa suuntaa taakse päin, kun kappale saapuu rajakytkimelle 1 (raja 1)
• Step3: Kuljetin vaihtaa suuntaa taas eteenpäin, kun kappale saapuu rajakytkimelle 2 (raja2)
• Askeleet Step1, Step2 ja Step3 kuvataan RS-kiikkuina– Set-tuloon määritellään ehdot, joilla tilaan siirrytään
– Resettiin määritellään ehdot, joilla tila nollataan
• Start-painike ja rajakytkimet 1 ja 2 ovat BOOL-tyyppisiä muuttujia
Esimerkki
Kuva: SIMATIC STEP S7 Ohjelmointiohjelma, Seppo Mäkelä TAMK
Esimerkki
• Kutakin askelta (step, tilaa) varten on määritelty RS-kiikku
• Ensimmäinen askel menee päälle, kun Startia on painettu
• Kun askel1 on päällä (askel1.Q1) ja raja1 on päällä siirrytään askeleeseen 2– Siirtymisehdot on siis askeleen 2
vasemmalla puolella olevassa ANDissä
• Kun on siirrytty askeleeseen 2, nollautuu askel 1– Tämä on tehty askeleen 1 resetissä
• Kaikki askeleet voidaan nollata muuttujalle reset (Oriin tuleva tulo)
Esimerkki
• Sekvenssipiiri ei vielä ohjaa mitään. Moottorien ohjauksia ei kytketä suoraan askelia kuvaavien RS-kiikkujen lähtöihin– Periaate: laitetta ohjataan vain yhdestä paikasta
• Ohjaukset on koottu ohjelman loppuun. Huom: eteenpäin ohjaus on kahdessa tilassa– Eteenpäin ajetaan joko askeleessa 1 TAI 3
– Taaksepäin ajetaan askeleessa 2
OPCOpen connectivity via open standards
OPC, avoimen tiedonsiirron standardi
• Avoimen tiedonsiirron valmistajariippumaton standardi
– Taustalla OPC Foundation
• Käytetäänkin automaatiosovelluksissa
– Logiikoiden
– Valvomoiden
– Käyttöliittymien
… välisenä rajapintana.
• Kaksisuuntainen yhteys
OPC, avoimen tiedonsiirron standardi
• ”Vanha” OPC DA (Data Access) protokolla
– DA on vain Microsoft Windowsissa toimiva palvelin (Microsoft DCOM teknologia).
• Uusi OPC UA (Unified Architecture) protokolla
– Uusi (2008) modernimpi määrittely joka parantaa tietoturvaa ja poistaa esimerkiksi laiteriippuvuuteen liittyviä rajoituksia
– Kommunikointi ethernet-liitynnän kautta, joko TCP tai HTTP pohjainen
OPC, avoimen tiedonsiirron standardi
• OPC kommunikointi tapahtuu serverin (palvelin) ja clientin (asiakas) avulla
– Tavallisesti palvelin sijaitsee logiikassa tai siihen yhdistetyssä tietokoneessa ja asiakkaana toimii esimerkiksi käyttöliittymäohjelmisto
PicRef: OPC and MES DAY 2012. Seminaari Espoossa
Virtuaalinen käyttöönotto
(Virtual Commissioning)
Jarkko Pakkanen
Virtuaalinen käyttöönotto
PLC-ohjattu virtuaalimalli• Virtual Commissioning – virtuaalinen käyttöönotto
• Järjestelmän tai toimilaitteen ohjaus suunnitellaan virtuaalista mallia vasten• Teknologialla voidaan validoida myös PLC-ohjausta• Demossa käytössä Siemens NX MCD, joka sisältää fysiikkamallinnuksen
• Onko meillä toimivat työkalut?• …Onko virtuaalisten käyttöönottomallien tarvitsema työmäärä
hallittavissa?
Haasteet toimialalla:• Nopea tuotekehityssykli• Rinnakkaista suunnittelua tarvitaan• Ongelmia käyttöönottovaiheessa
• “Kokonaisuus ei toimikaan yhteen”
Virtuaalinen käyttöönottoPLC ohjattu mektroniikkakonseptisuunnittelu
TIA Portal
OPC Scout
NX MCD
Virtuaalinen käyttöönottoKonseptoinnin vaiheet 1/2
• Luodaan järjestelmän 3D malli Tavallisesti tuotetaan mekaniikkasuunnittelussa Tarvittaessa voidaan käyttää useita CAD-formaatteja
• Fysiikkamallin määrittely Rigid Bodies (yhtenäiset liikkuvat järjestelmän osat) Collision Bodies (kappaleet jotka voivat törmätä toisiinsa)
• Mallin kinemattiikan määrittely Miten systeemin osat liikkuvat Johteet, nivelet jne.
Virtuaalinen käyttöönottoKonseptoinnin vaiheet 2/2
• Anturien ja käyttöjen määrittely Collision Sensors – anturien tunnistusalueet Position Controls – sijainnin ohjaaminen Speed Controls – nopeuden ohjaaminen
• Signaalien määrittely ja mäppäys INPUTS - Sensor signals MCD OPS Server PLC OUTPUTS – PLC OPS Server MCD
• Logiikan konfigurointi ja ohjelmointi (TIA Portal) PLC OPC Server … PLC Program
Pilvipalvelut ja automaatio,
data pilvessäJoitain esimerkkejä alustoista
Petteri Mäkelä
Pilvipalveluiden tarjoajia…
• Amazon Web Services (AWS)– AWS IoT, Hadoop Big Data
• Microsoft Azure– IoT Hub, IoT Suite, Hadoop Big Data
• ThingWorx– Suomessa Elisan kautta
– Graafisesti konfiguroitava ympäristö
• Siemens Mindsphere– Julkaistaan keväällä 2016
– Perustuu SAP HANAan
…ovat alustoja oman sovellutuksen pohjaksi.
…eritasoisia ratkaisuita/alustoja,myös ”IoT puolivalmisteita”
• Siemens plant data services– Data kerätään Siemensin
ylläpitämälle palvelulle
– OEE: analysoidaan tuotannon tehokkuutta
• Markkinoilla on myös kymmeniä muita IoT-palveluja– Suomessakin useita, esimerkiksi
Wapicen IoT Ticket
Pilvipalvelu ja IoTEkosysteemiajattelu on muuttunut. Esimerkiksi Microsoftin Azure tukee erityyppisiä laitteita (myös kilpailijoiden). Vastaavasti analysoinnin tuloksetvoidaan välittää myös kilpailijoiden toimittamiin järjestelmiin
Pilvipalvelu ja IoT
• Toisaalta esimerkiksi Beckhoff tukee oman datan analysointiratkaisun lisäksi useita julkisia pilvipalveluita
• Beckhoff: Useita erilaisia ratkaisuja datan viemiseksi pilvipalveluun
– TwinCAT Analytics
– Analytics Logger
– Analytics Workbench
• Matlab, C++, IEC 61131,
Wapice IoT Ticket
• Joustava konfiguroitava alusta laitteiden kytkemiseksi pilveen
– Erilaisia analysointi ja raportointityökaluja
– Mahdollisuus koodata omaa analytiikkaa R-kielellä
PicRef: www.iot-ticket.com
Azure IoT Suite
• Julkaistu syyskuussa 2015
• Perustuu IoT Hubiin ja muihin Azure IoT-palveluihin
– Lähdekoodit GitHubissa
• Esimääritellyt sovellukset
– Predictive maintenance
– Remote monitoring
• Sovellusesimerkkejä on tulossa lisää
Azure IoT Suite – Predictive Maintenance
Siemens Mindsphere
• Perustuu SAP HANAan
• Julkaistaan keväällä 2016– Tulevaisuudessa käyttäjät voivat tehdä omia sovelluksia (esim.
predictive maintenance)
• Voidaan tehdä tehtaasta digitaalinen malli, johon voidaan syöttää dataa oikeasta prosessista
• Laitteet yhdistetään Connector Boxin (Simatic IPC) kautta– Myös kilpailevien valmistajien laitteet (OPC UA:n kautta)
• Public cloud, private cloud, on-premises
Siemens Plant Cloud Services
Thingworx (Elisa IoT)
• Graafisesti konfiguroitava IoT-sovellusalusta ja pilvipalvelu
– Nopea sovelluksen tekeminen
• Elisa edustaa Suomessa
Pilvipalveluita
• Jne…
SeAMK tekniikan
automaation laboratoriotJoitain esimerkkejä
SeAMK automaation laboratoriot
SeAMK automaation laboratoriot
SeAMK automaation laboratoriot
SeAMK automaation laboratoriot
• …
• Beckhoff
• Siemens
• Omron
• Robotiikka
• Konenäkö
• Profiiliskanneri
• Jne…