Tekninen raportti Beckhoff TwinCat3 PLC:n (CX5010) asennus ja käyttöönotto 10.5.2013 Antti Kangasrääsiö Joonas Kröger 1/6 Johdanto Tässä dokumentissa selitetään Beckhoffin TwinCat3ympäristöä käyttävän PLClaitteiston (mallinimi CX5010) asennus ja käyttöönotto. Tämä dokumentti on tehty kurssin AS0.3200 Automaatio ja systeemitekniikan projektityöt yhteydessä keväällä 2013. Asennuksen ja konfiguroinnin yhteydessä hyödyllinen Beckhoffin manuaalisivusto löytyy osoitteesta http://twincat3.infosys.beckhoff.com/. Sieltä löytyy laitteiston ajantasaiset manuaalit, joita käyttämällä voi paikata tässä raportissa mahdollisesti olevia puutteita. Laitteisto Asennuksen fyysisenä laitteistona käytettiin PLC:tä (CX5010) ja Windowstyöasemaa (käyttöjärjestelmäversiona Windows Vista Home Basic Service Pack 2). Käyttöönotettu järjestelmä koostui PLC:stä ja laboratorion kahvinkeittimen laitteistosta (vanha Phoenix Contactin Ethernet I/O poistettiin järjestelmästä). Työaseman asennus Työasemaan asennettiin TwinCat3ympäristö (Sisältäen mm. Visual Studio 2010 Shell kehitysympäristön Beckhoffin lisätyillä työkaluilla) Beckhoffin toimittamalla asennustiedostolla (TC3FullSetup.3.0.3102.0.zip). Myöhemmin työasemmaan asennettiin myös UA Expert OPC client ohjelma OPC UA kommunikointia varten, Matlab R2012 Simulinkmallien luomiseksi ja Indusoft Web Studio 7.1. valvomonäkymän luomista varten (demoversio). Huomattiin, että ilman erillistä lisenssiä (maksullinen), Web Studiolla ei voi kehittää omia valvomonäkymiä. Myöhemmin työasemaan yritettiin asentaa myös C/C++ kääntäjä (VS2010 C/C++), jotta Simulink mallit saataisiin toimimaan logiikan osana; tämä osoittautui erittäin vaikeaksi ja hylättiin kannattamattomana. PLC:n asennus ja konfigurointi PLC:hen asennettiin Windows Embedded Standard käyttöjärjestelmä ja TwinCat3ympäristö (runtime) logiikkatoiminnallisuutta varten muistikortille imagetiedostosta (.isotiedosto). Imagetiedosto luotiin ja siirrettiin muistikortille tapaamisessa Beckhoffin edustajan kanssa. 2/6 Testimielessä asennettiin myös Indusoftin valvomoympäristö (CEServer.exe), jolla voidaan ajaa muualla kehitettyjä valvomoita. Ladattu demovalvomo kuitenkin kaatuu aina käynnistyksen yhteydessä tuntemattomasta syystä. PLC:n asennuksen jälkeen pidimme huolta, että PLC:lle on konfiguroitu tietty kiinteä IP (Start>Control Panel>Network Connections>Local Area Network (rightclick)>Properties>Internet Protocol (TCP/IP)>Properties), jotta yhteyden työasemakoneen ja PLC:n välille saa luotua. Tutkimusryhmän ITvastaavalta on hyvä tarkistaa mitä osoitteita saa käyttää. Tässä työssä käytimme PLC:llä IP:tä 130.233.122.150. Yhteys PLC:n ja työasemakoneen välillä luodana määrittelemällä ns. route työasemakoneella TwinCat System Manager ohjelmalla. Tämä tapahtuu siten, että ohjelmassa luodaan uusi konfiguraatio (File>New Configuration), valitaan System Configuration valikosta Route settings, painetaan Add Route ja syötetään avautuvaan valikkoon kohdePLC:n IPosoite, sekä asetetaan Target Route ja Remote Route kohtiin vaihtoehto Static. Tämän jälkeen System Configuration kohdasta valitaan Choose target ja valitaan targetiksi PLC. Välillä yhteyden luominen ei onnistu, ja sitä pitää yrittää useita kertoja. Myös uudelleenkäynnistäminen, uuden konfiguraation luominen, palomuurien ja virustorjuntojen poistaminen tai ankara manaus voi auttaa. Logiikkaohjelmaprojektin luominen Logiikkaohjelmaprojekteja saa luotua käyttäen Visual Studion päälle rakennettua TwinCat ohjelmointiypäristöä. Ohjelmalla voi luoda myös valvomonäkymiä, jotka toimivat ohjelmointityöasemassa. Projekti luodaan yksinkertaisesti valitsemalla valikosta uusi projekti. Tämän jälkeen Solution Exploreriin tulee näkyviin projektin puunäkymä. Tänne voi luoda omiin kansioihinsa omia Program Organization Uniteja (ohjelmia, funktiolohkoja, funktioita) sekä taskeja. Ympäristö on helppokäyttöinen ja se noudattaa IEC 61131 standardin mukaista tapaa rakentaa PLC ohjelma. Kannattaa ottaa huomioon, että ympäristössä ei kuitenkaan ole kovin kattava standardikirjasto, eli joitain perusfunktioita (esim. LIM) ei löydy valmiina, vaan ne voi joutua toteuttamaan itse. Projektin voi kääntää kun on luonut jonkun taskin ja lisännyt siihen jonkun ohjelman. Kääntämiseen kannattaa yleensä käyttää käskyä Rebuild, sillä se kääntää koko ohjelman aina uudestaan, tämän on huomattu vähentävän huomattavasti selittämättömiä bugeja. Kääntynyt ohjelma ladataan PLC:lle samalla kun siihen logataan sisään (Login). Tätä varten on oltava olemassa aiemmin System Managerissa konfiguroitu route. Mikäli Login ei jostain syystä onnistu, voi kokeilla ajaa Activate Configuration käskyn ja kokeilla uudelleen. Käsityksemme mukaan viimeisin ladattu ohjelma pysyy PLC:n muistissa ja käynnistyy aina automaattisesti uudelleenkäynnistyksen yhteydessä. 3/6 OPC UA serverin konfigurointi Työasemakoneelle sekä PLC:lle asennettiin TwinCat OPC UA ympäristö (TF6100OPCUA.exe), jonka yhteydessä asentuu OCP UA configurator, jota voidaan käyttää PLC:n OPC UA serverin konfigurointiin. Konfigurointi tapahtuu seuraavasti: 1. Käynnistä PLC (OPC UA serverin pitäisi olla päällä automaattisesti) 2. Avaa OPC UA Configurator työasemakoneella 3. Laita Configuratorin UAServer sivulla AMS Net Id:ksi PLC:n netid (esim 130.233.122.150.1.1, huom: oletuksena tässä on työasemakoneen IP) 4. Nyt serverin voi resetoida Resetnapista jotta selviää toimiiko yhteys serveriin 5. Mene verkon kautta PLC:lle (esim. Verkko > CX_0FEE59 > Boot > Plc) 6. Lisää tähän kansioon Visual Studio projektikansiosta oikea *.tpy tiedosto (esim. ProjektinNimi.tpy, tiedosto on oikeasti XML:ää, voit nimetä uudelleen ja tarkistaa) 7. Mene PLC:n sisällä kansioon C:\TwinCat\Functions\TF6100OPCUA\Win32\Server 8. Muokkaa ServerConfig.xml tiedostoa siten, että UaNodeManagerin alaisen AutoCfgSymFilen arvo on aiemman *.tpy tiedoston polku (esim. C:\TwinCAT\3.0\BOOT\Plc\CoffeeProject.tpy) 9. Myös UaNodeManagerin alainen AutoCfg voi olla syytä muuttaa: a. 7: kaikki muuttujat tuodaan oletuksena julki serverille b. 8: vain erikseen määritellyt muuttujat tuodaan julki (suositus) c. Muut vaihtoehdot löytyvät Beckhoffin manuaalisivustolta 10. Restarttaa serveri kuten aiemmin 11. Huom! Asetustiedosto pitää kopioida aina käsin PLC:lle muutosten jälkeen, ja serveri pitää tällöin myös uudelleenkäynnistää Muuttujien saa näkymään OPC UA serverillä lisäämällä esim. seuraavanlainen kommentti muutujan nimen perään muuttujalistauksessa samalle riville: (*~ (OPC : 1 : available for OPCclients) *) Muuttujalle voi laittaa myös erilaisia parametrejä niin halutessaan. Näitä voi katsoa tarkemmin Beckhoffin nettisivuilta OPC UA serverin konfiguroinnin alta (http://infosys.beckhoff.com/espanol.php?content=../content/1034/tcopcuaserver/html/tcopcuasv rce_generalconfig.htm). Kommenttien lisäysten jälkeen projekti tulee kääntää, ja *.tpy tiedosto pitää siirtää PLC:lle uudestaan. Huomaa, että OPC UA kommenttien käyttö hankaloittaa muiden kommenttien käyttöä ohjelmakoodissa, sillä parseri lukee edeltävien rivien kommentit virheellisesti osaksi OPC UA kommentteja. Tämä kannattaa tarkistaa aina jos jokin OPC UA muuttuja ei näykään serverillä. 4/6 Serveriä testattiin käyttämällä yleiskäyttöistä ja ilmaista UaExpert ohjelmaa. Sen avulla voi helposti tarkkailla ja muuttaa serverin muuttujien arvoja. IO:n konfigurointi IOlaitteet voi lisätä ja seuraavasti: Liitä IOpakka PLC:n kylkeen Mene VisualStudioon Solution Explorer näkymään ja klikkaa Devices > Scan Tämä skannaa PLC:ssä kiinni olevat I/O laitteet. Lisää globaaleihin muuttujiin oikea määrä oikeanlaisia IOmuuttujia, esimerkiksi: DI_1 AT %IX28.0 : BOOL; DO_1 AT %QX28.0 : BOOL; AI_1 AT %IB5 : INT; Muuttujien osoitteet näkyvät IOterminaalien alta Kun projektin kääntää, merkkaantuvat nämä muuttujat IOmuuttujiksi, tämän jälkeen niitä voi linkata seuraavasti: etsi IOterminaalin alta oikea IOsignaali > Change link > valitse oikea muuttuja Laita PLC Run modeen Aja Visual Studiossa TwinCAT > Activate configuration sekä Generate mappings Nyt pitäisi pystyä loggaamaan sisään PLC:hen siten että IO:t toimivat Nykyinen fyysinen IOlistaus on seuraavanlainen: DI (8kpl) 1 vihreä nappi 2 keltainen nappi 3 sininen nappi 4 selektori 1 5 selektori 2 6 selektori 3 7 selektori 4 8 selektori 5 & selektori 6 DO (8kpl) 1 vihreä valo 2 keltainen valo 3 sininen valo 4 venttiili 5 moottori 6 keitin 7 summeri 8 moottorin tuuletin AI (1kpl) 1 potentiometri muut kytkemättä 5/6 Ulkoisten ohjelmien liittäminen (ei toimi) Työasemakoneelle asennettiin Matlab ja Visual Studio 2010 C/C++ kääntäjä Simulink mallien luomista ja logiikkaohjelmaan liittämistä varten. Lisäksi asennettiin TwinCat3ympäristön Matlab liitännäinen, joka tarvitaan TwinCat3yhteensopivien Simulinkmallien luomiseksi. Asennukset eivät kuitenkaan tuottaneet tulosta, sillä yksinkertaisenkin mallin kääntäminen tuottaa aina virheilmoituksen, jolle ei löydy mistään selitystä, eikä tapahtumalokien tai rekisterin tutkiminenkaan tuottanut parempaa tulosta. Simulinkmallinnus päätettiin korvata logiikkaohjelman omalla simulaattoritaskilla. Indusoftin valvomokehitysympäristö ei myöskään toiminut toivotulla tavalla, sillä demolisenssi ei sallinut omien valvomonäkymien kehittämistä. Debugtarkoituksiin käytettiin Visual Studiossa luotuja valvomonäkymiä, joiden mahdollista soveltamista muihin tarkoituksiin ei tutkittu. Thin Client -valvomo (ei toimi) Tässä kohdassa kuvataan mitä on yritetty thin client tyyppisen valvomon saamiseksi PLC:lle Asennettu indusoft web studio 7.1 työasemakoneelle sekä remote agent plc:lle (IWS 7.1 quick start guide: s21, s88) Kun valvomoohjelma on ladattu PLC:lle, ladataan valvomoinstanssi manuaalin ohjeiden mukaan Jos tulee virhe, että kansiota ei voitu luoda, se täytyy luoda käsin PLC:n sisällä: katso kansion polku Remote Agentin logista Tietysti kannattaa katsoa minne tiedostot meinataan ladata, oikea paikka on indusoftin asennuskansio, eli sama paikka missä CEServer.exe on, jos ei meinaa mennä oikeaan paikkaan mene Remote Management työkalun Project välilehdelle ja klikkaa siellä Download Valvomon saa käynnistymään automaattisesti PLC:n mukana laittamalla CEServer.exe käynnistymään automaattisesti Windowsin mukana (laita pikakuvake Käynnistävalikon startupkansioon) Valvomosovelluksen saa käynnistymään automaattisesti kirjoittamalla CEServer.ini asetustiedostoon [Server] kohdan alle rivi "AppName=<nimi>", jossa <nimi> on projektikansion nimi (pitäisi olla samassa paikassa kuin CEServer.exe) Nyt valvomon voi käynnistää (CEServer.exe), mutta tulee virheilmoitus ja CEView.EXE kaatuu, jonka jälkeen valvomo ei enää saa yhteyttä runtimeen Ei mitään tietoa miksi kaatuu, yritetty debugata mutta tuloksetta 6/6
© Copyright 2024