38
1 Beckhoff TwinCAT3 Johdatus Simulink-mallien käyttöönottoon Beckhoff CX5020 teollisuustietokoneella Lauri Lötjönen, Mikko Pulkki

Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

  • Upload
    buidung

  • View
    222

  • Download
    5

Embed Size (px)

Citation preview

Page 1: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

1

Beckhoff TwinCAT3 Johdatus Simulink-mallien käyttöönottoon Beckhoff CX5020 teollisuustietokoneella

Lauri Lötjönen, Mikko Pulkki

Page 2: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

2

Sisällysluettelo Beckhoff TwinCAT3 ...................................................................................................................... 1

1 Johdanto .................................................................................................................................. 4

2 Projektin raportti ...................................................................................................................... 5

2.1 Projektin tavoitteet ............................................................................................................ 5

2.2 Työpaketit ja toteutunut ajankäyttö ................................................................................... 5

2.3 Yhteenveto ........................................................................................................................ 6

3 Laitteisto .................................................................................................................................. 7

3.1 Beckhoff ........................................................................................................................... 7

3.2 Acer ................................................................................................................................ 11

3.3 Välineet .......................................................................................................................... 11

3.4 Asennus ja kytkennät ...................................................................................................... 12

4 Ohjelmisto ............................................................................................................................. 14

4.1 TwinCAT XAE/XAR ..................................................................................................... 14

4.1.1 Ohjelmalogiikka ...................................................................................................... 14

4.1.2 Teollisuustietokoneen tila ........................................................................................ 15

4.1.3 Käyttöliittymä .......................................................................................................... 16

4.2 Matlab + Simulink .......................................................................................................... 17

5 Mallipohjat ............................................................................................................................ 19

5.1 Simulink ......................................................................................................................... 19

5.1.1 Mallin luonti ............................................................................................................ 19

5.2 Visual Studio .................................................................................................................. 22

5.2.1 Projektin alustus ...................................................................................................... 22

6 Käyttöönotto .......................................................................................................................... 26

6.1 Esivalmistelut ................................................................................................................. 26

6.2 Matlab + Simulink .......................................................................................................... 26

6.3 Visual Studio (twinCAT XAE) ....................................................................................... 27

6.4 Käyttöönoton ongelmatilanteita ja ratkaisuja ................................................................... 29

6.4.1 Matlab ..................................................................................................................... 29

6.4.2 Visual Studio ........................................................................................................... 30

6.4.3 Muuta ...................................................................................................................... 30

7 Esimerkki............................................................................................................................... 32

7.1 Järjestelmä ...................................................................................................................... 32

7.2 Simulink ......................................................................................................................... 34

7.3 Kytkennät ....................................................................................................................... 35

Page 3: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

3

7.4 Visual Studio .................................................................................................................. 36

7.5 ScopeView ...................................................................................................................... 36

8 Lähteet ................................................................................................................................... 38

Page 4: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

4

1 Johdanto Tämä dokumentti on tarkoitettu ohjeeksi Beckhoff TwinCAT 3 teollisuustietokoneen käyttöönottoon. Dokumentissa käydään läpi laitteisto, TwinCAT:n toimintalogiikka sekä ohjelmistot, joiden avulla voidaan kehittää ja implementoida sovelluksia teollisuustietokoneelle. Laitteiston osalta käytössä on kotelo, joka sisältää itse Beckhoff-tietokoneen että siihen liitettyjä I/O-moduuleita. Ohjelmointi tehdään erillisellä kannettavalla tietokoneella käyttäen Visual Studio -pohjaista työkalua. Sovelluksia voi tehdä Matlabin Simulinkilla ja ne voi helposti siirtää teollisuustietokoneeseen.

Dokumentoinnin tarkoitus on opastaa teollisuustietokoneen käyttöönoton lisäksi kuinka simulink-malleja voi suorittaa koneella käyttäen hyväksi simulink- että visual studio- ympäristöille valmiiksi tehtyjä mallipohjia. On huomioitavaa, että mallipohjat toimivat vain esimerkkilaitteiston kanssa, minkä vuoksi ohjeiden pohjalta on myös mahdollista luoda ja suorittaa Simulink-malleja ilman mallipohjia. TwinCAT3 on monimutkainen ja hyvin virhealtis järjestelmä, minkä vuoksi dokumentti sisältää myös kuvaukset yleiseimmistä vastaantulleista virhetilanteista sekä niihin löydetyistä ratkaisuista.

Page 5: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

5

2 Projektin raportti Tässä kappaleessa käydään läpi projektin kulku, tavoitteet, tulokset, ja yleinen yhteenveto.

2.1 Projektin tavoitteetProjektityön tavoitteena oli tutustua Beckhoff-teollisuustietokoneen toimintaan sekä määritellä tämän pohjalta kattavat ja yksityiskohtaiset ohjeet järjestelmän alustamisesta toimintakuntoon. Käyttöönottoa tukevat työssä toteutetut TwinCAT3- sekä Simulink-mallipohjat, jotka toimivat rajapintoina teollisuustietokoneessa ajettavien Simulink-mallien sekä fyysisten I/O-porttien välillä. Ideaalitilanteessa käyttäjän tarvitsee vain luoda uusi TwinCAT3- sekä Simulink-projektitiedosto pohjamalleja käyttäen, mutta pohjamalleja on myös mahdollisuus muokata käytettävään kokoonpanoon sopivaksi.

2.2 Työpaketit ja toteutunut ajankäyttöProjektityö jaettiin viiteen eri työpakettiin joille jokaiselle määriteltiin päivä- ja tuntikohtainen arvio tarvittavista resursseista. Työlle varattiin reilusti aikaa ja suunniteltu aikataulu piti hyvin vaikkakin toteutunut tuntimäärä ylitti muutamalla tunnilla varatut resurssit. Työpanos jakautui hyvin tasan, sillä työtä tehtiin aina yhdessä. Suunnitellut ja toteutuneet työpaketit:

1. Opettelu: Ohjelmistoon ja laitteistoon tutustuminen ohjeiden avulla. Pienten esimerkkisovellusten laatiminen kehitysprosessin oppimiseksi

2. Vaatimukset: Selvitetään ja dokumentoidaan, mitä kaikkea Simulink-pohjaisen templaten luominen ja sen pohjalta tehdyn järjestelmän käyttöönotto vaatii. Laaditaan myös speksit eli tavoitteet.

3. Simulink: Simulink-ympäristön alustaminen sekä template-mallin suunnittelu ja toteutus. Dokumentaatiota.

4. Kehitys: Ulkoisen valvomoympäristön luominen ja käyttöönotto hyödyntäen sekä TwinCAT3- että Simulink-pohjamalleja. Kehitysprosessin, käyttöönoton sekä toiminnan kattavaa dokumentointia.

5. Loppuraportti: Loppuraportin laatiminen kehitysprosessin aikana syntyneen dokumentaation pohjalta

Taulukko 1 Työpakettien ajanhallinta

24

12

28

8 8

23

12

24

8

14

0

5

10

15

20

25

30

Arvioitu tuntimäärä

Toteutunut tuntimäärä

Page 6: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

6

2.3 YhteenvetoProjektin alussa tavoitteet eivät olleet kovin selvät. Oli vain tarkoitus tutustua laitteeseen ja ohjelmistoihin. Projektin ohjaaja lopetti melko varhaisessa vaiheessa, ja vasta puolen välin jälkeen saimme uuden ohjaajan. Samalla päivittyi työn tavoitekin. Nyt oli tarkoitus tehdä sellaiset mallipohjat, joiden avulla olisi mahdollista tehdä diplomityö, joka liittyisi värähtelyvaimennussäätimien suunnitteluun ja implementointiin lopulta todelliseen prosessiin. Tämä tavoite saavutettiin hyvin: mallipohjat ovat helppokäyttöisiä ja testauksessa toimiviksi todettuja.

Lisäksi diplomityöntekijää avustamaan tehtiin ohjekirja-tyyppinen dokumentti, joka koostuu tämän dokumentin kappaleista tätä lukuun ottamatta. Tämä osoittautui melko suureksi tehtäväksi, sillä kaiken oleellisen tiedon löytäminen ja kokoaminen yhteen dokumenttiin on haastavaa. Koska dokumentti menee diplomityöntekijän käyttöön, olemme luvanneet olla käytettävissä konsultaatiotarkoituksissa myös projektityökurssin jälkeen.

Projektityö sujui hyvin ja suuremmilta vastoinkäymisiltä vältyttiin. Aiemminkin mainittiin, että työnjako meni melko lailla tasan. Kuitenkin loppujen lopuksi toisella meistä oli hieman enemmän kokemusta Matlabin ja Simulinkin käytöstä, kun taas toisella oli enemmän kokemusta Visual Studion käytöstä, joten näihin liittyvät työtehtävät jakautuivat hieman sen mukaisesti. Työmäärät olivat yhtä suuret. Me opimme jotakin teollisuustietokoneen sielunelämästä, ja toivottavasti myös diplomityöntekijä oppii jotakin tekemämme dokumentin avulla.

Page 7: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

7

3 Laitteisto Tässä kappaleessa esitellään laitteet ja välineet, jotka liittyvät teollisuustietokonesovellusten tekoon. Pääosassa ovat Beckhoff-teollisuustietokone sekä Acer-merkkinen kannettava tietokone. Nämä on kytketty toisiinsa ja teollisuustietokone ohjelmoidaan kannettavan tietokoneen avulla. Koko laitteisto on kuvassa 1.

Kuva 1 Työasema laitteineen

3.1 BeckhoffBeckhoff-teollisuustietokone on sitä varten rakennetun kotelon sisällä. Kotelo sisältöineen on kuvassa 2. Siihen on kytketty kaksi neljä-porttista analogi-input-moduulia, yksi analogioutput-moduuli, sekä profibus väylämoduuli. Analogimoduulien portit on kytketty kotelon laidoilla oleviin liittimiin, joihin on helppo kytkeä kaapeleita avaamatta koteloa. Lisäksi yhteys teollisuustietokoneen ja PC:n välille muodostetaan ethernet-kaapelin avulla, jota varten on niin ikään portti teollisuustietokoneen kyljessä. Muut tietokoneeseen kytketyt moduulit eivät toistaiseksi ole olleet käytössä mutta ne voi ottaa käyttöön tarvittaessa.

Page 8: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

8

Kuva 2 Beckhoff teollisuustietokone

Tietokoneen keskusyksikkönä (merkitty kuvaan 3) toimii Beckhoff CX5020, joka sisältää Intelin Atom Z530 prosessorin, 1GB muistia ja 4GB kiintolevytilaa. Integroituja liitäntöjä keskusyksikössä on kaksi RJ 45-porttia kommunkointia varten, DVI-D-portti ulkoista näyttöä varten, ja neljä USB 2.0 porttia esimerkiksi hiirtä ja näppäimistöä varten. Käyttöjärjestelmänä on Windows Embedded Standard 7, joka muistuttaa läheisesti tavallista Windows 7:ää. [1] Keskusyksikön päällä on viisi LEDiä, jotka kertovat muun muassa tietokoneen tilasta.

Page 9: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

9

Kuva 3. Teollisuustietokoneen keskusyksikkö

Teollisuustietokoneessa on siis kaksi analogi-input-moduulia ja yksi analogioutput-moduuli. Moduulit on merkitty kuvaan 4. Input-moduulit toimivat siten, että ne vastaanottavat esimerkiksi jostakin jännitelähteestä signaalin, joka voi olla välillä -10...10 volttia. Tämä diskretoidaan 16-bittiseksi kokonaisluvuksi, eli välille -32767...32767, minkä jälkeen sitä voidaan käyttää laskennassa teollisuustietokoneessa. Output-moduuli toimi käänteisesti: 16-bittinen kokonaisluku, välillä -32767...32767, lähetetään output-moduulille, joka muuntaa sen analogiseksi signaaliksi, jonka jännite on välillä -10...10 volttia.

Page 10: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

10

Kuva 4. Teollisuustietokoneen I/O-moduulit

Input- ja output-moduulit on kytketty teollisuustietokoneen kyljissä oleviin liittimiin, jotka näkyvät kuvissa 5 ja 6.

Kuva 5. Analogi-input moduuleihin kytketyt liittimet, joihin on kytketty kaapeleita

Page 11: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

11

Kuva 6. Analogi-output moduuleihin kytketyt liittimet, joihin on kytketty kaapeleita

3.2 AcerTeollisuustietokoneen ohjelmointiin on käytössä Acer Travelmate 3010 kannettava tietokone. Laitteistonsa puolesta tietokone on varsin tyypillinen muutaman vuoden vanha tietokone. Käyttöjärjestelmänä on Windows 7, ja lisäksi tärkeimmät ohjelmat, jotka tietokoneelle on asennettu, ovat Matlab ja Visual Studio. Ohjelmistoista kerrotaan enemmän kappaleessa 4.

3.3 VälineetKoska teollisuustietokoneessa on analogi-input ja -output-portteja, kannattaa apuvälineinä olla jokin jännitelähde, sekä yleismittari. Esimerkiksi tavallisella AA- tai AAA-paristolla on helppo tuottaa syötteitä input-portteihin. Yleismittarilla voi mitata outputien arvoja ja samalla varmistaa, että output-moduulit toimivat oikein. Output-portteihin voi myös kytkeä mitä tahansa muita laitteita, jotka toimivat output-moduulien lähettämällä ± 10 V jännitteellä.

Edellämainittujen lisäksi on syytä olla sekä taltta- että ristipäinen ruuvimeisseli. Talttapäistä meisseliä käytetään kaapelien kytkemiseen I/O-moduuleihin, ja ristipäisellä voi avata teollisuustietokoneen suojakuvun. Kaapeleiksi sopivat esimerkiksi 1,5 mm kuparikaapelit mutta myös muunkokoiset kaapelit on helppo kytkeä I/O-moduuleihin. Koska sovelluksissa voi olla maksimissaan viisi input- ja viisi output-porttia, tarvitaan kaikkien portttien käyttämiseksi kaapeleita maksimissaan kaksikymmentä, sillä yksi portti koostuu plus- ja miinusliittimistä. Apuvälineet ovat kuvassa 7.

Page 12: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

12

Kuva 7. Työkaluja

Hankittavaksi suositellut apuvälineet ovat siis:

Jännitelähde Yleismittari Kaapeleita (2-20 johdinta) Talttapäinen ruuvimeisseli Ristipäinen ruuvimeisseli

3.4 Asennus ja kytkennätBeckhoff ja Acer on kytketty toisiinsa RJ45-kaapelilla siten, että kaapelin toinen pää on Acerin verkkokortin RJ45-portissa, ja toinen pää Beckhoffin PC-portissa, joka näkyy kuvassa 8.

Page 13: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

13

Kuva 8. Teollisuustietokoneen Ethernet-liittimet

Teollisuuskoneen sisällä pyörivään Windows Embedded Standard 7 käyttöjärjestelmään pääsee tarpeen vaatiessa käsiksi liittämällä ulkopuolisen näytön koneen DVI-porttiin sekä näppäimistön ja hiiren usb-portteihin.

Page 14: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

14

4 Ohjelmisto Teollisuustietokoneen ohjelmoinnin ja konfiguroimisen ytimen muodostavat TwinCAT 3 XAE (The Windows Control And Automation Technology Extended Automation Engineering) ohjelmointiympäristö sekä teollisuustietokoneessa ajettava TwinCAT 3 XAR (Extended Automation Runtime). TwinCAT-ohjelmisto ei rajoitu vain Beckhoffin teollisuustietokoneisiin, vaan sen avulla lähes mikä tahansa standardi-pc on käytettävissä automaation prosessien ja koneiden ohjaamiseen.

TwinCAT 3 ympäristö mahdollistaa PLC-ohjelmoinnin C/C++ sekä IEC-61131-3 standardin määräämillä ohjelmointikielillä, mutta tässä dokumentissa käsitellään kuitenkin vain Simulinkilla tehtyjen mallien käyttöönottoa teollisuustietokoneessa, eli varsinaiset sovellukset tehdään Simulinkilla. Sovellukset siirretään teollisuustietokoneeseen VS:n avulla, joten tässä kappaleessa käydään läpi yleisiä asioita sekä Visual Studiosta että Matlabista ja Simulinkista.

4.1 TwinCAT XAE/XARTeollisuustietokoneen konfigurointi tapahtuu TwinCAT 3 XAE (Extended Automation Engineering) ohjelmistolla, joka integroituu kokonaan Microsoftin Visual Studio kehitysympäristöön. Monet VS:n tunnetuimmat ominaisuudet kuten laajennettavuus, helppokäyttöisyys, tuki, koodieditori sekä C/C++ -ohjelmointia avustava IntelliSense ja debuggeri ovat käytettävissä sellaisinaan myös TwinCAT – projekteissa. Teollisuustietokoneen päässä suorituksesta vastaa TwinCAT 3 XAR (Extended Automation Runtime). Ohjelmiston ominaisuuksia on kuvattu kuvassa 9.

Kuva 9. TwinCAT XAE arkkitehtuuri [2]

4.1.1 OhjelmalogiikkaTwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin moduuleihin, joita ovat niin yksittäiset ohjelmafunktiot, plc-moduulit kuin myös itse teollisuustietokoneen fyysiset moduulit. Tarkoituksena on muodostaa näistä moduuleista olio-ohjelmointityyliin hierarkkisia järjestelmiä, joissa ohjelman toiminta ei ole riippuvainen sen osien toteutuksista.

Page 15: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

15

Tämän periaatteen perusteella jokaista teollisuustietokoneella suoritettavaa ohjelmaa ja logiikkaa käsitellään omina TcCOM (TwinCat Component Object Model) rajapintamäärittelyyn perustuvina komponentteina (tai moduuleina), joille on asetettu tietty suoritusaikataulu sekä prioriteetti. Rajapintamäärittelyn ansiosta komponentit ovat yhteensopivia keskenään riippumatta millä ympäristöllä ja kääntäjällä ne ovat toteutettu. Tämä mahdollistaa myös esimerkiksi simulinkilla luodun moduulin käyttämistä ja kutsumista IL-ohjelmointikielellä toteutetusta plc-ohjelmasta.

TcCOM-moduulit eivät itsessään sisällä tietoa niiden suoritustavasta, vaan jokainen moduuli on oltava sidottuna omaan tehtäväänsä eli task:iinsa ennen teollisuuskoneelle siirtämistä. Taskit ovat XAR:ssa suoritettavia pienimpiä komponentteja, joista kukin määrittelee mm. suoritettavan TcCOM-moduulin, suoritussyklin aikavälin sekä taskin prioriteetin. Maksimaalisen suorituskyvyn takaamiseksi on taskeille mahdollista määrittää oma prosessoriydin, joilla taskit tulee suorittaa.

Moduulit voivat kommunikoida ulkomaailman kanssa erityisten input- ja output-muuttujien avulla, joita voi esimerkiksi käyttää muista moduuleista käsin tai joita voi yhdistää drag&drop editorilla teollisuustietokoneen fyysisiin tuloihin ja lähtöihin.

Kuva 10. TwinCAT moduuleita [3]

4.1.2 Teollisuustietokoneen tilaTeollisuustietokoneella on kolme mahdollista tilaa, jotka määrittelevät koneen käyttäytymisen eri toimintojen suhteen. Täydelliset määritelmät ovat epäselviä, mutta seuraavia ohjeita on suositeltava noudatettavan:

Page 16: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

16

- Config mode: konfiguraatiomoodissa teollisuustietokone ei suorita ohjelmalogiikkaa ja sille on mahdollista päivittää viimeisimmät moduulit. Käytä tätä tilaa aina kun et halua suorittaa koodia kohdekoneella.

- Run mode: suoritusmoodissa teollisuustietokone on toimintatilassa ja suorittaa sille annettuja tehtäviä. Koneen toimintaa on mahdollista seurata reaaliaikaisesti.

- Stop mode: teollisuustietokone on pysähtyneessä tilassa. Tämä tarkoittaa todennäköisesti virhetilannetta, joka on ratkaistava ennen suorituksen jatkamista

4.1.3 KäyttöliittymäKäyttöliittymä voidaan jakaa tämän projektin osalta kolmeen tärkeimpään osaan: Solution Explorer, työkalurivi sekä ikkunan keskelle jäävä editori-osa. Tämän lisäksi ikkunan alareunasta on mahdollista lukea teollisuustietokoneen tilan. Käyttöliittymä on kuvassa 11.

Kuva 11. Visual Studion käyttöliittymä

TwinCAT – projektin rakenne on avoinna Solution Explorer – puunäkymässä. Esimerkkiprojektin kannalta tärkeimmät vakiosolmut ovat:

- System System-solmussa on mahdollista mm. määritellä projektikohtaisia asetuksia, tarkastella teollisuustietokoneen reaaliaikaisia tietoja, määritellä tehtäviä (tasks) sekä liittää projektiin esimerkiksi Simulinkilla luotuja moduuleja.

Page 17: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

17

- PLC PLC-solmussa on mahdollista luoda plc-ohjelmia käyttämällä VS:n editoria

- C/C++ C/C++-solmussa voi luoda TcCOM-moduuleja ohjelmoimalla suoraan c- tai c++-ohjelmointikielellä

- I/O I/O-solmussa määritellään teollisuustietokoneen fyysiset I/O-moduulit, kuten väyläohjaimet sekä analogiset tulot ja lähdöt, sekä niiden asetukset

Työkaluriviltä tapahtuu viimeisimmän konfiguraation siirtäminen teollisuustietokoneelle, koneen tilan vaihtaminen sekä kohdekoneen valinta. Tähän liittyvä työkalurivi on kuvassa 12.

1. Activate configuration: Siirtää viimeisimmän projektikokoonpanon, kuten moduulit ja asetukset teollisuustietokoneelle suoritettavaksi. Siirron jälkeen XAE kysyy käynnistetäänkö kone suoritusmoodiin.

2. Run mode: Mahdollisuus käynnistää tietokone suoritusmoodiin. 3. Config mode: Mahdollisuus käynnistää tietokone konfigurointimoodiin. 4. Target system: Kohdekoneen valinta. Pikavalinta löydettyjen teollisuustietokoneiden sekä

paikallisen simulaation välillä. Tämän kanssa on oltava tarkkana, että oikea kohdekone tulee valituksi simulaation sijaan!

Kuva 12. Teollisuustietokoneen tilanhallinnan työkalurivi

4.2 Matlab SimulinkMatlab on MathWorksin kehittämä ohjelmisto, joka on alun perin tarkoitettu matriisilaskennan apuvälineeksi mutta on sittemmin saanut huomattavan määrän erilaisia työkalupaketteja, joiden ansiosta siitä on tullut erittäin monipuolinen ohjelmistotyökalu. Matlabilla voi tehdä esimerkiksi kuvankäsittelyä, signaalinkäsittelyä, säätösuunnittelua, ja suorittaa vaativaa laskentaa.

Tämän dokumentin kannalta olennaisimmat Matlabin ominaisuudet ovat dynaamisten järjestelmien analysointiin ja säätösuunnitteluun liittyvät ominaisuudet. Matlabissa on työkalupaketti nimeltä Control System Toolbox, joka sisältää paljon erilaisia toimintoja, jotka avustavat säätösuunnittelua: erilaisia vastekokeita voi tehdä nappia painamalla, ja myös taajuusvastediagrammit piirtyvät vaivattomasti ja automaattisesti. Tyypillisesti järjestelmämallit suunnitellaan ja implementoidaan käytämällä Matlabin tekstipohjaista käyttöliittymää, mutta niiden varsinainen testaus ja simulointi tehdään usein käyttäen Simulink-laajennusta.

Simulink on graafinen työkalu, jolla voi kehittää malleja ja simulaattoreita käyttäen valmiiksi tehtyjä toimilohkoja, kuten vahvistuksia, summaimia, siirtofunktioita, säätimiä, askel- ja sinifunktiogeneraattoreita, yms. Simulink sisältää suuren määrän erilaisia toimilohkoja mutta

1 2 3 4

Page 18: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

18

käyttäjä voi myös tehdä omia toimilohkoja ohjelmoimalla niin sanottuja S-funktioita, joita voi käyttää tavallisten toimilohkojen tapaan Simulink-malleissa.

Simulinkin tavallisin käyttö lienee Matlabilla suunniteltujen järjestelmien testaus simuloimalla. Lisäksi Simulink on mahdollista kytkeä ulkoisiin järjestelmiin, jolloin esimerkiksi jotakin robottia voidaan ohjata suoraan Simulinkin graafista työkalua käyttämällä. Simulink-mallista voi myös generoida valmista koodia, jota voi käyttää muissa ohjelmissa. Visual studioon implementoitavat objektit tehdään Matlabin Simulink-laajennuksen avulla.

Page 19: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

19

5 Mallipohjat Tässä kappaleessa esitellään Simulink-sovelluksia varten tehdyt mallipohjat Simulinkille ja Visual Studiolle.

5.1 SimulinkSimulink – pohjamalli on tarkoitettu toimimaan pohjana, jonka päälle tulee rakentaa oikeat simulink-mallit. Pohjamallissa on konfiguroitu valmiiksi mm. oikea kääntäjä sekä muut toimivan TcCOM-moduulin luomiseksi tarvittavat asetukset. Tämän lisäksi malli sisältää teollisuustietokoneen fyysisiin portteihin kytkeytyvät input- sekä output-lohkot ja tarvittavat tyyppimuunnokset koneen ja simulaation välillä suorittavat lohkot. Simulink-mallia luotaessa tulee ottaa huomioon TwinCAT-lisenssit, jotka saattavat rajoittaa käytettävissä olevien lohkojen määrä.

Mallin voi kääntää TwinCAT3 yhteensopivaksi moduuliksi klikkaamalla simulink-käyttöliittymän työkaluriviltä löytyvää ”Incremental build” – nappia. Kääntämisen etenemistä sekä mahdollisia virheilmoituksia tulee seurata Matlabin päänäkymästä, sillä simulinkin esittämät tiedot ovat puutteellisia eivätkä kerro milloin kääntäminen on todellisuudessa suoritettu.

Pohjamallista kannattaa aina ottaa projektikohtainen kopio työhakemistoon, jotta vältytään tilanteilta, jossa pohjamallin päälle on rakennettu sovellus eikä se sovi enää pohjamalliksi tuleviin projekteihin! Pohjamalli on kuvassa 13.

Kuva 13. Simulink mallipohja

5.1.1 Mallin luontiSimulink on mahdollista konfiguroida seuraavien ohjeiden mukaisesti, mikäli valmista pohjamallia ei jostain syystä tulla käyttämään.

1. Esivalmistelut TwinCAT-asennustiedostot sisältävässä kansiossa on asennustiedosto simulink ympäristölle, joka purkaa ympäristön alustamiseen tarvittavia tiedostoja haluttuun kansioon. Purettujen tiedostojen joukossa on Matlabilla suoritettava m-tiedosto, jota tarvitaan näissä ohjeissa.

2. Matlab-ympäristön alustaminen

Page 20: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

20

Valitse matlabissa työskentelytilaksi kansio, johon haluat simulink-projektin tiedostojen tallentuvan. Suorita tämän jälkeen Matlab- ja Simulink-ympäristöt alustava m-tiedosto (1. Vaihe) kansiosta, johon tiedosto on asennettu. Matlab esittää asennuksen edetessä useita kysymyksiä, joissa kääntäjää kysyttäessä tulee valita Microsoft Visual C++ -vaihtoehto. Asennustiedosto konfiguroi ympäristön kerralla kuntoon eikä sitä tarvitse toistaa jokaisen uuden projektin alussa.

3. Simulinkin konfigurointi Simulink vastaa mallin kääntämisestä TwinCAT-yhteensopivaksi TcCOM-moduuliksi, minkä takia tulee aina uuden projektin luonnin yhteydessä valita käännöksen kohdekone. Avaa projektin ”Configuration Parameters” – ikkuna ja puunäkymästä ”Code generation” – solmu kuvan 14 mukaisesti.

Kuva 14. Simulinkin Configuration parameters -ikkuna

Kohdejärjestelmä valitaan painamalla ”System target file”-tekstikentän perässä olevaa ”Browse”-nappia (kuvassa), jonka jälkeen tulee kohteeksi valita ”TwinCAT.tlc” (kuvassa 15).

Page 21: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

21

Kuva 15. Simulinkin kohdejärjestelmän valintaikkuna

Kohdejärjestelmän valinnan jälkeen tulee vielä varmistaa, että kääntäjäasetuksissa on ruksattuna ”Publish”-laatikko (kuvassa 16).

Kuva 16. Simulinkin kääntäjäasetuksia

Simulink-projekti on nyt alustettu kääntäjän osalta kuntoon, ja malleja voi kääntää TwinCAT-yhteensopiviksi moduuleiksi Simulinkin työkaluriviltä löytyvällä ”Incremental Build”-napilla. TwinCAT asettaa malleille joitakin rajoituksia, kuten simulaation suorituksen aikavälin sekä ratkaisijan tyypin. Liian suuri aikaväli sai esimerkkikokoonpanon fyysiset I/O-moduulit virhetilaan, eikä tilanne korjautunut kuin valitsemalla pienempi aikaväli (aikavälin ylärajaksi mitattiin noin 50ms). Aikavälin määritys on kuvassa 17.

Page 22: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

22

Kuva 17. Simulinkin simulointiaskeleen valinta

5.2 Visual StudioTwinCAT3 – mallipohja sisältää valmiiksi konfiguroidun projektitiedoston esimerkkikokoonpanossa käytettävälle teollisuustietokoneelle. Mallipohjassa on konfiguroituna valmiiksi seuraavat asiat:

1. Yhteys teollisuustietokoneelle on alustettu valmiiksi ja valittu aktiiviseksi. 2. Projektissa on valmiiksi luotu TcCOM-moduuli simulink mallista ja se on asetettu

suoritettavaksi omassa taskissaan. 3. Fyysiset moduulit on etsitty ja lisätty projektiin, minkä lisäksi simulinkin mallipohjan input-

ja output-lohkot on kytkettyinä valmiiksi vastaaviin fyysisiin portteihin.

Oman päivitetyn simulink-mallin tuominen TwinCAT-projektiin tapahtuu valitsemalla ”Solution Explorer”-näkymästä mallia kuvaava TcCOM-moduuli ja valitsemalla ”Reload”. Tämän jälkeen on valittava Simulinkillä käännetyn mallin tiedosto, jonka pitäis löyty välittömästi kansiosta, johon valintadialogi aukesi. On äärimmäisen tärkeätä, että simulink malli on luotu annetun simulink-pohjamallin päälle!

5.2.1 Projektin alustusMikäli pohjamalli ei jostain syystä toimi tai se ei sovi tiettyyn käyttötarkoitukseen, on projekti mahdollista alustaa ja räätälöidä seuraavien ohjeiden mukaisesti.

1. Projektitiedoston luonti Luo uusi TwinCAT3 projekti Visual Studiossa valitsemalla ”File” -> ”New project...”

2. Yhteyden alustus teollisuustietokoneeseen Mikäli yhteys teollisuustietokoneeseen on luotu yhteys aikaisemmilla kerroilla, voi kohdekoneen valita työkalurivin ”Target system” – alasvetovalikosta. Muutoin on ”Solution

Page 23: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

23

Explorer”-puunäkymässä valittava System-solmu, ja edelleen aukeavasta välilehtinäkymästä ”Version (target)”-välilehti ja ”Choose Target...” – nappi. (kuva 18)

Kuva 18. Kohdesysteemin valinta [4]

Mikäli avautuvassa ikkunassa ei ole valittavina haluttua teollisuustietokonetta, on painettava ”Search (Ethernet)” – nappia.

Kuva 19. Laitteiden reitinmääritysikkuna [5]

Kohdekoneita voi etsiä joko lähettämällä kyselyviestin ”Broadcast Search” – napilla tai syöttämällä kohdekoneen ip:n (kuva yllä). Kun haluttu kone on ilmestynyt listaan, on siihen luotava yhteys valitsemalla konetta kuvaava rivi ja klikkaamalla ”Add Route”. Nyt palaamalla edelliseen näkymään pitäisi kohdekoneen oltava valittavissa listalta. Jatkossa kohdekoneen voi valita suoraan työkalurivin ”Target system” – alasvetovalikosta. (kuvassa, joka esittelee työkalurivin)

3. Fyysisten moduulien etsiminen ja konfiguroiminen

Page 24: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

24

Tässä dokumentissa käsitellään vain analogisten I/O-moduuleiden konfiguroimista ja liittämistä projektiin. Moduulien etsintä tapahtuu automaattisesti valitsemalla ”Solution Explorer” – puunäkymästä I/O-solmun alta Devices-solmun hiiren oikealla napilla ja valitsemalla ”Scan Device(s)”. On huomioitavaa, että laitteiden etsiminen ei onnistu, mikäli teollisuuskone ei ole Config-tilassa!

Kuva 20. Laitteen lisääminen [6]

TwinCAT saattaa ilmoittaa, että kaikkia laitteita ei välttämättä löydy automaattisesti (kuva 21). Kuittaa tämä painamalla OK.

Kuva 21. Vaaraton ilmoitus

Myöhemmin aukeavaan kyselyyn ”Scan for boxes” on vastattava myönteisesti. Moduulien lisääminen käsipelillä onnistuu myös yksinkertaisen käyttöliittymän kautta, mutta se vaatii yksityiskohtaista tietämystä kytkettyinä olevista fyysisistä moduuleista sekä niiden konfiguroimisesta. Tämän jälkeen puunäkymään Devices-solmun alle muodostuu jokaista moduulia kohden sitä vastaava rakenne, josta voi mm. seurata kyseisen moduulin liikennetä, muokata asetuksia tarkemmin sekä kirjoittaa lähteviä arvoja. Tätä kautta voi myös kytkeä fyysiset portit haluttuihin TcCOM-komponenttien input/output-muuttujiin, esimerkiksi simulink-mallin input- ja output-lohkoihin. On huomioitavaa, että skannauksen yhteydessä esitetyt kysymykset ja ilmoitukset saattavat riippua käytettävästä kokoonpanosta.

4. Ohjelmien kytkeminen taskeihin Teollisuutietokoneelle on mahdollista luoda PLC-ohjelmia lukuisilla eri menetelmillä, kuten esimerkiksi tuomalla Simulink-malleja, kirjoittamalla Structured Text-koodia, tai puhtaasti C/C++:lla. Jokaista menetelmää yhdistää kuitenkin Task:it, joita tarvitaan ohjelmien suorittamiseen teollisuustietokoneella. Jokainen PLC-ohjelma on oltava kytkettynä omaan taskiinsa, sillä yksikin kytkemätön ohjelma estää koneen siirtymistä Run-moodiin. Taskeja voi luoda ja selata ”Solution Explorer” näkymässä ”System” -> ”Tasks” solmujen alla, jossa myös kytkentä tapahtuu. Taskeja luotaessa oleellisimmat asetukset ovat taskin konteksti,

Page 25: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

25

prioriteetti sekä suoritusaikaväli, sillä väärillä arvoilla ei PLC-ohjelma suostu kytkeytymään taskiin. Simulink-mallien kanssa on oltava erityisen tarkka etenkin suoritusaikavälin kanssa, jonka on oltava täsmälleen sama simulinkin projektiasetuksissa ja taskin asetuksissa.

5. Muuttujien linkittäminen fyysisiin portteihin Simulink-mallien ja PLC-ohjelmien input- ja output-muuttujien liittäminen fyysisiin tuloihin ja lähtöihin on yksinkertainen operaatio. Esimerkiksi Simulink-mallia kuvaavan TcCOM-solmun (”Solution Explorer”-näkymässä) alla on omat kansionsa input- ja output-muuttujille, jotka listaavat allensa mallista löytyneet tulot ja lähdöt. (kuva 22)

Kuva 22. Solution explorer

Valitsemalla ja klikkaamalla tuloja ja lähtöjä kuvaavia solmuja aukeaa ruudulle ikkuna, josta voi valita fyysisen portin johon muuttujan arvo linkittyy. Muuttujia linkattaessa on huomioitava, että linkattavan muuttujan tietotyyppi on täsmättävä fyysisen liitännän kanssa sekä että input- ja output-portteja sekä muuttujia ei voi linkittää keskenään ristiin.

6. Ohjelmien siirtäminen teollisuustietokoneeseen ja suorittaminen Ohjelmien siirtäminen teollisuustietokoneeseen onnistuu ”Activate Configuration” – napilla, joka löytyy työkaluriviltä (kuvassa esitelty). Tämä on hyvin kriittinen vaihe, sillä virheelliset ohjelmien ja/tai taskien asetukset estävät ohjelmien siirtymistä eikä ohjelmisto kerro tapahtuneesta virheestä mitään! Teollisuustietokoneen voi käynnistää samalla Run-moodiin, jota Visual Studio kysyy siirron jälkeen. PLC-projektit vaativat vielä yhden lisävaiheen käynnistyäkseen, mutta esimerkiksi Simulink-malli on nyt suoritettavana teollisuustietokoneella. PLC-projektin saa pyörimään koneella painamalla vielä työkaluriviltä ”Login”-nappia (kuvassa 23) ja tämän jälkeen ”Run”-nappia.

Kuva 23 Login-nappi

Page 26: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

26

6 Käyttöönotto

6.1 EsivalmistelutEsimerkkikokoonpanossa käytettävä teollisuustietokone on liitäntöjensä puolesta täysiverinen pc. Virtaliitäntänä toimii perinteinen IEC 60320 C14 –liitin ja verkkoliikennettä varten on koneessa kaksi ethernet-liitäntää. Konfigurointia varten ainoa tarvittava toimenpide on liittää koneet toisiinsa ethernet-kaapelilla. Ohjelmien ja laitteiden käynnistysjärjestys

1. Käynnistä Acer 2. Käynnistä teollisuustietokone. Kone on toimintavalmis noin 50 sekuntissa, kun TC-ledi on

muuttunut siniseksi (joka tarkoittaa koneen olevan config-moodissa) 3. Käynnistä TwinCAT 3 XAE (Visual studio) Acer-pc:n työpöydältä löytyvästä

ProjectTemplate-pikakuvakkeesta, joka avaa valmiiksi konfiguroidun projektitiedoston. Vaihtoehtoisesti ohjelmiston voi käynnistää myös omasta pikakuvakkeestaan.

4. TwinCAT-pohjamallille on luotu myös valmis näkymä ScopeView-ohjelmistoon, joka näyttää graafeilla mallissa liikkuvia arvoja. ScopeView:n saa avattua työpöydältä löytyvästä TEMPLATE_SCOPE kuvakkeesta.

5. Käynnistä Matlab

6.2 Matlab SimulinkMatlabin käynnistyttyä aseta sen kotihakemistoksi ”c:\Users\Control\Desktop\Project files”, joka sisältää pohjamalli-projektin lisäksi simulink-mallin kääntämiseen tarvittavat tiedostot. Avaa tämän jälkeen simulinkin pohjamalli TC_TEMPLATE. Älä tee tiedostoon muokkauksia, vaan tallenna pohjamallista uusi kopio nimellä SIMULINK_MDL, jota voit käyttää projektisi pohjana. On äärimmäisen tärkeää nimetä projektitiedosto oikein, jotta se toimisi VS-pohjamallin kanssa. Yksinkertainen esimerkkimalli on kuvassa 24.

Kuva 24. Simulink esimerkkimalli

Valmis malli tulee kääntää omaksi moduulikseen ennen teollisuustietokoneelle siirtämistä. Kääntäminen tapahtuu simulinkin työkaluriviltä löytyvällä ”Incremental build”-napilla (kuva 25). Malli kääntyy TcCOM-objektiksi, jonka Visual Studio löytää automaattisesti.

Page 27: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

27

Kuva 25. Simulinkin kääntämisnappi

6.3 Visual Studio (twinCAT XAE)Valitse Solution Explorer näkymässä ”Object1 (SIMULINK_MDL)” solmu (kuten kuvassa 26) ja klikkaa sitä hiiren oikealla napilla.

Kuva 26. Simulink objekti solution explorerissa

Kuvan 27 mukaisesti avautuvasta valikosta valitse ”Reload TMI/TMC file...”-vaihtoehto, ja valitse aukeavasta ikkunasta SIMULINK_MDL.tmc. Kyseinen tiedosto täytyy ladata aina kun simulink-pohjamallin päälle tehty malli käännetään.

Page 28: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

28

Kuva 27. Simulink-mallista tehty moduuli

Kun Visual Studio ilmoittaa ”Module description with same name but different class id found” paina OK. Ladattua mallia voi tarkkailla VS:ssa klikkaamalla ladatun mallin solmua Solution Explorerissa ja valitsemalla ”Block Diagram”-välilehti (kuva 28).

Page 29: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

29

Kuva 28. Simulink malli tuotuna Visual Studioon

Sovellus siirretään sovellustietokoneelle painamalla ”Active configuration”-nappia työkalupalkista. Paina OK, kun ohjelma kysyy ”Restart TwinCAT System in Run Mode”, joka siirtää teollisuustietokoneen automaattisesti run modeen siirron jälkeen. Kone suorittaa siirrettyä sovellusta, kun siinä oleva TC-ledi vaihtuu vihreäksi. Mikäli ledi jää siniseksi tai punaiseksi, on siirrossa tapahtunut jokin virhe.

Käynnissä olevan sovelluksen tiloja ja arvoja voi tarkastella ”Block Diagram”-välilehdeltä. Yksittäisiä arvoja voi myös siirtää ScopeView-ohjelmaan tarkasteltavaksi klikkaamalla kyseistä arvoa ja valitsemalla scopeview-nappia.

6.4 Käyttöönoton ongelmatilanteita ja ratkaisuja

6.4.1 Matlab- Q: Miksi en voi valita kohdejärjestelmäksi TwinCAT.tlc:tä?

A: Simulink-asennustiedoston asentama m-tiedosto on suoritettava ensin, jotta oikea kohdejärjestelmä tulee valittavaksi

- Q: En löydä alustamiseen tarkoitettua m-tiedostoa. A: Simulink- ja Matlab-ympäristön alustava m-tiedosto asentuu simulink-asennuspaketin mukana valittuun kansioon.

Page 30: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

30

6.4.2 Visual Studio- Q: Visual studion mukaan ohjelmat pyörivät, mutta fyysisiin tuloihin ja lähtöihin ei välity

arvoja A: Tarkista että kohdekoneeksi on valittu ”Local”:n sijasta oikea teollisuustietokone. Fyysisten I/O-moduulien tila on myös hyvä tarkistaa ledeistä. Mikäli ledit vilkkuvat tunnistettavan kaavan mukaan, ovat ne mahdollisesti virhetilassa. Viimeisenä ratkaisuna voi kokeilla teollisuustietokoneen uudelleenkäynnistämistä

- Q: Visual Studio ilmoittaa, että Simulink-mallin lohkojen määrää on rajoitettu. A: Käytössäsi on lisenssi, joka asettaa rajoitukset lohkojen maksimimäärälle.

- Q: Haluan linkata muuttujan fyysiseen porttiin, mutta porttia ei löydy listalta (tai toisinpäin)? A: Tarkista muuttujan tietotyyppi, että se vastaa varmasti fyysisen portin tietotyyppiä. Esimerkkilaitteistossa analogiset I/O-portit hyväksyvät vain 16-bittisiä kokonaislukuja (int16). Tarkista myös onko linkattava muuttuja määritelty lähteväksi vai tulevaksi, sillä näitä ei voi kytkeä ristiin fyysisten porttien kanssa.

- Q: Teollisuustietokone ei siirry run-moodiin, vaan palaa takaisin config-tilaan vilkauttamalla punaista valoa tai ilman. A: Tämä johtuu luultavimmin virheellisistä asetuksista projektissa. Varmista ainakin, että konfiguraation jokainen suoritettava ohjelma on kytkettynä taskiinsa.

- Q: Miksi voin sijoittaa suoritettavan ohjelman taskiin, mutta se tippuu aina sieltä? A: Mikäli kytkettävä ohjelma on Simulink-malli, tulee Simulinkissä asetetun steptimen vastata VS:ssä asetettavaa arvoa.

- Q: Mikään ei tunnu enää toimivan ja/tai Visual Studio pyörii hitaasti. A: Visual Studio kannattaa käynnistää uudestaan.

6.4.3 Muuta- Q: I/O-moduulit vilkuttavat valojaan tasatahtiin eikä tieto tunnu liikkuvan fyysisiä

kaapeleita pitkin. A: Moduulit ovat ajautuneet virhetilaan. Mikäli kyseessä on yksittäistapaus, voi teollisuustietokoneen uudelleenkäynnistämisestä olla hyötyä. Simulink-mallien tapauksessa myös suoritusaikavälin (steptimen) liian suuren arvon havaittiin ajavan moduulit virhetilaan. Steptimellä 50ms tai pienemmällä arvolla moduulit toimivat luotettavasti, mutta tätä suuremmilla arvoilla ajautuivat moduulit virhetilaan joko välittömästi tai satunnaisen ajan jälkeen. Vilkunta vastaa tilaa ERR SAFE_OP INIT_ERR.

- Q: Mitä moduuleja teollisuustietokoneessa on kiinni ja mistä löydän niiden dokumentaation? A: Esimerkkikokoonpanossa on kaksi Beckhoff Ethercat el3104 – analogista input moduulia, joista kumpikin tarjoaa neljä tuloa. Neljästä analogisesta lähdöstä vastaa yksi Beckhoff Ethercat el4134 – moduuli. Dokumentaation löytää: http://www.beckhoff.com/english.asp?ethercat/el3104.htm ja http://www.beckhoff.com/english.asp?ethercat/el4134.htm

- Q: Mistä voin löytää TwinCAT3 – dokumentaation? A: TwinCAT3-dokumentaatio löytyy esimerkkikokoonpanon Acer-läppäristä Visual

Page 31: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

31

Studion help-osion kautta. Dokumentaatio on myös selattavissa internetissä http://www.beckhoff.com/TwinCAT3/

Page 32: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

32

7 Esimerkki Tässä kappaleessa käydään läpi erään yksinkertaisen järjestelmän käyttöönotto teollisuustietokoneella. Kappaleen tarkoitus on käytännön esimerkin avulla selventää kappaleessa 5 esitetyn käyttöönottoprosessin eri vaiheita. Käynnistetään ensin teollisuustietokone virtanapista, sitten Visual Studio ”Project_template”-kuvakkeesta työpöydältä, sitten ScopeView ”TEMPLATE_SCOPE”-kuvakkeesta työpöydältä, ja Matlab niin ikään kuvakkeesta työpöydältä.

Esimerkissä tarvitaan kaksi parikaapelia, jännitelähde, talttapäinen ruuvimeisseli, ja yleismittari.

7.1 JärjestelmäTehdään yksinkertainen värähtelijäsysteemi ja sille säädin. Ensimmäiseksi vaihdetaan Matlabin työhakemisto seuraavaksi: ”C:\Users\Control\Desktop\Project files”. Mallinnetaan järjestelmää toisen kertaluvun siirtofunktiolla ja käytetään säätimenä PID-säädintä. Luodaan järjestelmä Matlabin editorissa seuraavanlaisilla komennoilla:

s = tf(’s’); G = 5/(s^2+s+2); Järjestelmän siirtofunktio on siis

( ) =5

+ + 2

Järjestelmällä on navat pisteissä (-0.5 , 1.32j ) ja (-0.5 , -1.32j). Tämä nähdään esimerkiksi piirtämällä nolla-napa-kuvio komennolla

pzmap(G)

Saadaan kuva 29.

Page 33: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

33

Kuva 29. Järjestelmän nolla-napakuvio

Järjestelmän yksikköaskelvaste voidaan piirtää komennolla

step(G)

Tämä tuottaa kuvan 30.

Page 34: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

34

Kuva 30. Järjestelmän yksikköaskelvaste

Kuvasta nähdään, että järjestelmän staattinen vahvistus ei ole 1, mikä tarkoittaa, että säätöä tarvitaan, mikäli se halutaan ykköseksi. Käynnistetään seuraavaksi Simulink, rakennetaan malli, ja kytketään siihen säädin. Avataan suoraan Simulink-mallipohja tuplaklikkaamalla Current Folder –puussa olevaa ”TC_TEMPLATE.mdl”-tiedostoa.

7.2 SimulinkEnsimmäiseksi, kuten mallikin muistuttaa, tallennetaan tyhjä malli uudestaan nimellä ”SIMULINK_MDL”, jotta mallipohjaan ei tule muutoksia. Tallennetaan se suoraan samaan kansioon, jossa TC_TEMPLATE:kin on. Kansiossa on jo SIMULINK_MDL.mdl niminen malli, jonka päälle voi huoletta tallentaa, mikäli sen sisältämä malli ei ole tärkeä. Jos haluaa tehdä useita malleja, voi tämän vanhan perään laittaa esimerkiksi numeron, jolloin sitä ei tarvitse korvata (esim. SIMULINK_MDL2). Huomioitavaa on, että Visual Studio haluaa nimenomaan SIMULINK_MDL –nimisen tiedoston, joten ”aktiivisen” mallin on oltava tämänniminen.

Lisätään Library Browser -> Simulink -> Continuous -> Transfer Fcn –lohko. Säädetään sen osoittaja ja nimittäjä –kentät vastaamaan järjestelmäämme, eli Numerator Coefficients –kenttään laitetaan [5] ja Denominator Coefficients –kenttään [1 1 2].

Lisätään seuraavaksi säädin, valitsemalla Library Browser -> Simulink -> Continuous -> PID Controller. Säätimen voi virittää esimerkiksi parametrein P = 2, I = 0.5, D = 1, ja N = 100.

Lisätään vielä takaisinkytkentää varten summain, ja vahvistuslohko. Kytketään järjestelmä kuvan X osoittamalla tavalla.

Page 35: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

35

Kuva 31. Järjestelmän Simulink-malli

Ulkoinen input tulee sisään ykkösinputista. Se toimii asetusarvona säätimelle. Ykkös- ja kakkosoutputeihin kytketään järjestelmän ulostulo. Ykkösoutputia luetaan fyysisesti mittarilla, ja kakkosoutputin kautta viedään takaisinkytkentä kaapelin avulla kakkosinputiin. Kuva fyysisestä kytkennästä tulee myöhemmin. Seuraavaksi malli käännetään painamalla ”Incremental Build” työkalurivistä ja kun se on valmis, siirrytään Visual Studion puolelle.

7.3 KytkennätKytketään yksi parikaapeli ykkösinputtiin, jotta voidaan antaa pariston avulla syötteitä järjestelmään. Ykkösoutputiin kytketään parikaapeli, jonka toinen pää kytketään yleismittarin johtimiin. Kytketään yksi parikaapeli kakkosinputin ja –outputin välille takaisinkytkennän aikaansaamiseksi. Kytkentä on kuvassa 32.

Kuva 32. Kytkentäkaavio

Page 36: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

36

7.4 Visual StudioVisual Studiossa reloadataan objekti painamalla oikealla hiiren napilla Simulink objektia, joka sijaitsee Solution Explorer -> Project_template -> SYSTEM -> TcCOM objects -> Object1 (SIMULINK_MDL). Painamalla pääikkunan Block Diagram –välilehteä, voidaan tarkistaa, että malli on oikeannäköinen (eli että reloadattiin oikea tiedosto). Molemmat on merkattu kuvaan 33.

Kuva 33. Käyttöliittymään merkattu napit

Seuraavaksi voidaan siirtää sovellus teollisuustietokoneeseen painamalla ”Activate Configuration”-painiketta työkalurivissä. Visual Studio kysyy esimerkiksi teollisuustietokoneen uudelleenkäynnistämisestä. Tähän painetaan OK. Muutaman sekunnin jälkeen teollisuustietokoneen keskusyksikön TC LEDin pitäisi muuttua vihreäksi, jolloin sovellusta aletaan ajaa. ScopeView:n avulla voi tarkastella systeemin toimintaa.

7.5 ScopeViewKäynnistetään nauhoitus painamalla punaista palloa työkalurivissä. Kun ohjelma kysyy ”Try to start the local server?”, painetaan OK. Tämän jälkeen alkaa piirtyä sinistä ja punaista käyrää. Jännitelähteella, eli tässä tapauksessa paristolla annettaessa syötteitä, tulee kuvan 34 kaltaisia vasteita.

Page 37: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

37

Kuva 34. ScopeView vaste

Kuvasta nähdään, että järjestelmä toimii melko hyvin (konvergointi voisi olla nopeampikin…). Lisäksi voidaan yleismittarilla tarkastaa, että sähköä todella kulkee ykkösoutputissa. Koska järjestelmän staattinen vahvistus saatiin ykköseksi, ulostulon arvo yleismittarilla mitattuna konvergoituu arvoon 1,5 volttia, kun käytettiin 1,5 voltin paristoa.

Page 38: Beckhoff TwinCAT3 - Aalto-yliopistoautsys.aalto.fi/intranet/as-0.3200/attach/A12-08/... · TwinCAT 3:n toimintalogiikka perustuu pitkälti riippumattomiin ja uudelleenkäytettäviin

38

8 Lähteet [1] http://www.beckhoff.com/english.asp?embedded_pc/cx5010_cx5020.htm (viitattu 17.12.2012) [2] http://twincat3.infosys.beckhoff.com/content/1033/tc3_overview/IMAGES/Tc3Overview_Philosophy_Integrated.jpg (viitattu 17.12.2012) [3] http://twincat3.infosys.beckhoff.com/content/1033/tc3_overview/IMAGES/Tc3Overview_Philosophy_RuntimeModules.jpg (viitattu 17.12.2012) [4] http://twincat3.infosys.beckhoff.com/content/1033/tc3_system/images/img4.png (viitattu 17.12.2012) [5] http://twincat3.infosys.beckhoff.com/content/1033/tc3_system/Images/TcSysManAddRoute.png (viitattu 17.12.2012) [6] http://twincat3.infosys.beckhoff.com/content/1033/tc3_io_intro/images/img1A.png (viitattu 17.12.2012)