teknologiademot on the road - storage.googleapis.com · part). muuttujat määritellään pou:n...

Post on 15-Jan-2020

2 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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…

top related