TwinCAT 3 - sumean päättelyn ohjelmointikirjasto
Vihottula, Riku (2023)
Vihottula, Riku
2023
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2023061624084
https://urn.fi/URN:NBN:fi:amk-2023061624084
Tiivistelmä
Sumeaan logiikkaan perustuva sumea päättely mahdollistaa likiarvoisen tiedon käsittelyn. Vaikka sumean logiikan juuret ovat jo 1960-luvulla, sumean logiikan ohjelmointiin ei löydetty julkisin verkkohauin valmista ratkaisua mihinkään nykyaikaiseen ohjelmoitavaan logiikkaan. Siksi opinnäytetyön aiheeksi valittiin ohjelmointikirjaston luominen Beckhoff TwinCAT 3 -automaatioympäristölle, joka mahdollistaisi sumeiden päättelyjärjestelmien ohjelmoinnin. Ohjelmointikirjasto vastaisi toiminnallisuudeltaan MATLABin sumean logiikan suunnittelutyökalua.
Työn kirjallisuusosuudessa käsiteltiin sumean logiikan ja päättelyn teoriaa sekä Mamdani- ja Sugeno-päättelyjärjestelmien toimintaa. Lisäksi perehdyttiin ohjelmoitavien logiikoiden perusteisiin, olio-ohjelmoinnin periaatteisiin ja Beckhoff TwinCAT 3 -automaatioympäristöön. Ohjelmointityötä kuvaavassa osuudessa esiteltiin kaikkien ohjelmointikirjastoon kuuluvien datatyyppien ja toimilohkojen toiminta. Työn lopuksi ohjelmointikirjaston oikea toiminnallisuus varmistettiin simuloimalla ja vertailemalla päättelyjärjestelmien tuloksia MATLABin sumean logiikan suunnittelutyökalun kanssa. Lisäksi ohjelmointikirjastoa testattiin Beckhoff CP2619 -sarjan paneeli-PC:llä sen suorituskykyvaatimusten arvioimiseksi.
Työn tuloksena tuotettiin TwinCAT 3 -alustalle sumean päättelyn ohjelmointikirjasto, joka sisältää lähes kaikki samat ominaisuudet kuin MATLABin sumean logiikan suunnittelutyökalu. Kirjaston jatkuvan kehityksen edistämiseksi se on tarkoitus julkaista GitHub-palvelussa nimellä TcFuzzy, kun sen englanninkielinen dokumentaatio on valmis. Siten kirjasto on myös muiden käytettävissä, mikä mahdollisesti alentaa kynnystä soveltaa sumeaa päättelyä PLC-ohjelmoinnissa.
Työn kirjallisuusosuudessa käsiteltiin sumean logiikan ja päättelyn teoriaa sekä Mamdani- ja Sugeno-päättelyjärjestelmien toimintaa. Lisäksi perehdyttiin ohjelmoitavien logiikoiden perusteisiin, olio-ohjelmoinnin periaatteisiin ja Beckhoff TwinCAT 3 -automaatioympäristöön. Ohjelmointityötä kuvaavassa osuudessa esiteltiin kaikkien ohjelmointikirjastoon kuuluvien datatyyppien ja toimilohkojen toiminta. Työn lopuksi ohjelmointikirjaston oikea toiminnallisuus varmistettiin simuloimalla ja vertailemalla päättelyjärjestelmien tuloksia MATLABin sumean logiikan suunnittelutyökalun kanssa. Lisäksi ohjelmointikirjastoa testattiin Beckhoff CP2619 -sarjan paneeli-PC:llä sen suorituskykyvaatimusten arvioimiseksi.
Työn tuloksena tuotettiin TwinCAT 3 -alustalle sumean päättelyn ohjelmointikirjasto, joka sisältää lähes kaikki samat ominaisuudet kuin MATLABin sumean logiikan suunnittelutyökalu. Kirjaston jatkuvan kehityksen edistämiseksi se on tarkoitus julkaista GitHub-palvelussa nimellä TcFuzzy, kun sen englanninkielinen dokumentaatio on valmis. Siten kirjasto on myös muiden käytettävissä, mikä mahdollisesti alentaa kynnystä soveltaa sumeaa päättelyä PLC-ohjelmoinnissa.
