Toimilohkojen turvallisuus tulevaisuudessa Turvallisuusseminaari ASAF 30.10-1.11.2006 Mika Strömman Teknillinen korkeakoulu 1 Sisältö Luotettavuuden lisääminen hyvillä tavoilla Toimilohkokirjastot Turvatoimilohkot PLCOpen toimilohkokirjastot ja turvatoimilohkot IEC 61499 ja turvallisuus 2
Luotettavuuden ja turvallisuuden lisääminen hyvillä ohjelmistotuotantotavoilla Suunnittelutyö voidaan jakaa kolmeen tasoon: 1. Suunnitteluprosessit 2. Tehtävämäärittelyt ja resursointi 3. Yksilölliset työtavat Hyvä ohjeistus, tyylioppaat, koulutus, sekä oikeaan työtapaan ohjaavat työkalut muokkaavat yksittäisten suunnittelijoiden työtapoja yhtenäisimmiksi 3 Luotettavuuden ja turvallisuuden lisääminen hyvillä ohjelmistotuotantotavoilla (2) Luotettavuus ja turvallisuus lähtevät hyvistä ohjelmistotuotantomenetelmistä ja ohjeistuksesta Turvallisuuteen liittyvien järjestelmien tunnistaminen aikaisessa vaiheessa projektia on tärkeää Automaatiosovellusten ohjelmistokehitys, SAS 2005 4
COTS-toimilohkot nykypäivänä Commercial off-the-shelf PLC-tuotteisiin sisältyy perustoimilohkot. Vrt. IEC 61131-3:n määrittelemät lohkot = loogiset operaatiot, kiikut, viiveet, laskurit, datatyyppimuunnokset Valmistajalla lisäksi, usein erikseen ostettavissa, erilaisia kirjastoja. Esim. yleiset venttiilinohjaukset, moottorilähdöt, toimialakohtaisia kirjastoja ym. 5 COTS-toimilohkot nykypäivänä (2) Valmistajat suojaavat toimilohkonsa sisällön asiakkailta, rajapinta ja toiminnallisuus dokumentoidaan. Valmistajat testaavat itse toimilohkokirjastonsa (ei-tlj) Valmistajien toimilohkokirjastoja ostavat isommat asiakkaat, pienemmät ja insinööritoimistot tekevät itse. 6
COTS-toimilohkot nykypäivänä (3) Myös kolmannen osapuolen kirjastoja on olemassa, yleensä laitevalmistajia, jotka ovat tehneet omaan laitteeseensa sopivat toimilohkot. Esim. insinööritoimistoilla ja suurilla asiakkailla saattaa olla omia kirjastoja Suuria komponenttimarkkinoita ei ole syntynyt. Suurena esteenä on ollut toimilohko-ohjelmien heikko siirrettävyys eri valmistajien laitteiden välillä. Jopa IEC 61131-3 standardia noudattavien työkalujen välillä ohjelmien siirtäminen ei yleensä ole mahdollista (tiedostoformaatti, I/O-viittaukset ym.) 7 Turvatoimilohkot nykypäivänä SafetyPLC:n ohjelmointiin käytetään turvatoimilohkoja Turvatoimilohkokirjasto on rajoitettu, toimilohkoja on tyypillisesti n. 15-20 LVL (Limited Variability Language). Voidaan jakaa vielä basic, extended ja system -osiin Turvatoimilohkojen implementoinnilla erityisvaatimuksia (esim. useamman muistialueen käyttö) Toiminnallisen turvallisuuden standardi IEC 61508 + alastandardit, kuten IEC 61511 TÜV myöntää sertifikaatteja IEC 61508:n toteuttavista tuotteista 8
PLCOpen www.plcopen.org Toimittaja- ja tuoteriippumaton maailmanlaajuinen yhdistys 9 PLCOpenin Motion Control lohkot PLCOpen on määritellyt kirjastollisen liikkeenohjaustoimilohkoja Toimilohkoista on määritelty rajapinta sekä sisäinen toiminta kuvauksin Järjestelmävalmistajille on jätetty tehtäväksi toteuttaa toimilohkot omiin tuotteisiinsa Vakiomuotoisten toimilohkojen käyttö parantaa turvallisuutta ja luotettavuutta (testaus, poikkeustilanteiden huomiointi, tuttuus, ylläpidettävyys) PLCOpen TC2 Function Blocks for motion control 10
PLCOpenin sertifikaatti turvallisuuskriittisille ohjelmointiympäristöille Yleisiä vaatimuksia turvallisuuskriittisen järjestelmän ohjelmointiin: Turvallisuuskriittisten ja eiturvallisuuskriittisten toimintojen erottaminen Soveltuvien ohjelmointikielien käyttö (LVL, Limited Variability Languages). IEC 62061 Safety of Machinery Validoitujen ohjelmiston osien käyttö Soveltuvien ohjelmointiohjeistuksien käyttö 11 PLCOpenin sertifikaatti turvallisuuskriittisille ohjelmointiympäristöille Safety Software Technical Specification Part 1 Representation of the software architecture Definition of the programming languages Presentation of safety-related data types Definition of language subsets Definition of user levels for easy programming and error prevention Error handling and diagnostic concept Definition of a generic safety-related function block The definition of a set of 19 safety-related function blocks The definition of a PLCopen compliance procedure combined with the use of the PLCopen Safety logo PLCOpen TC5 Safety Software 12
IEC 61499 Function Blocks Function Blocks for Industrial Process Measurement and Control Systems Standardi hyväksytty, mutta käytössä vasta tutkimussovelluksissa Ensimmäinen kaupallinen sovelluskehitin vuonna 2006, tosin ominaisuuksiltaan hieman puutteellinen 13 IEC 61499 Function Blocks Event inputs Event outputs EI variables EO variables Event flow Data flow Event flow Data flow Execution Control Chart Type identifier Algorithms (IEC 1131-3) Event/Data Associations Data inputs Data outputs Internal variables Christensen: Basic Consepts of IEC 61499 http://www.holobloc.com/ Input variables Output variables Christensen: Basic Consepts of IEC 61499 http://www.holobloc.com/ 14
IEC 61499 Function Blocks (2) Event flow Data flow Communication network(s) Device 1 Device 2 Device 3 Device 4 Appl. C Application A Application B Controlled process Christensen: Basic Consepts of IEC 61499 http://www.holobloc.com/ 15 Tulevaisuuden turvallisuusajattelua Tulevaisuudessa TLJ:t eivät enää erillisiä järjestelmiä, vaan muun järjestelmän osia IEC 61131-X Functional Safety? IEC 61499:n XML-määrittely mahdollistaa yleiset komponenttikirjastot Hajautetun turvallisuuskriittisen järjestelmän toteutus IEC 61499:llä? Toimilohkovarastokirjastot (repository) OOONeida, Patras PLCOpen TC5 Safety Software 16