Beckhoff TwinCat3 PLC:n (CX5010) asennus ja käyttöönotto

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 TwinCat3­ympäristöä käyttävän PLC­laitteiston
(mallinimi CX5010) asennus ja käyttöönotto. Tämä dokumentti on tehty kurssin AS­0.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 Windows­työ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 TwinCat3­ympäristö (Sisältäen mm. Visual Studio 2010 Shell
­kehitysympäristön Beckhoffin lisätyillä työkaluilla) Beckhoffin toimittamalla asennustiedostolla
(TC3­Full­Setup.3.0.3102.0.zip).
Myöhemmin työasemmaan asennettiin myös UA Expert OPC client ­ohjelma OPC UA
kommunikointia varten, Matlab R2012 Simulink­mallien 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 TwinCat3­ympäristö
(runtime) logiikkatoiminnallisuutta varten muistikortille image­tiedostosta (.iso­tiedosto).
Image­tiedosto 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
(right­click)­>Properties­>Internet Protocol (TCP/IP)­>Properties), jotta yhteyden
työasemakoneen ja PLC:n välille saa luotua. Tutkimusryhmän IT­vastaavalta 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 kohde­PLC:n IP­osoite, 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ö
(TF6100­OPC­UA.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 Reset­napista 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\TF6100­OPC­UA\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 OPC­clients) *)
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
IO­laitteet voi lisätä ja seuraavasti:
­ Liitä IO­pakka 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 IO­muuttujia, esimerkiksi:
DI_1 AT %IX28.0 : BOOL;
DO_1 AT %QX28.0 : BOOL;
AI_1 AT %IB5 : INT;
­ Muuttujien osoitteet näkyvät IO­terminaalien alta
­ Kun projektin kääntää, merkkaantuvat nämä muuttujat IO­muuttujiksi, tämän jälkeen niitä voi
linkata seuraavasti: etsi IO­terminaalin alta oikea IO­signaali > 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 IO­listaus 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 TwinCat3­ympäristön Matlab
liitännäinen, joka tarvitaan TwinCat3­yhteensopivien Simulink­mallien 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. Simulink­mallinnus päätettiin korvata
logiikkaohjelman omalla simulaattori­taskilla.
Indusoftin valvomokehitysympäristö ei myöskään toiminut toivotulla tavalla, sillä demolisenssi ei
sallinut omien valvomonäkymien kehittämistä. Debug­tarkoituksiin 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 valvomo­ohjelma 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
startup­kansioon)
­ 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