Hyppää sisältöön
    • Suomeksi
    • In English
Trepo
  • Suomeksi
  • In English
  • Kirjaudu
Näytä viite 
  •   Etusivu
  • Trepo
  • Opinnäytteet - ylempi korkeakoulututkinto
  • Näytä viite
  •   Etusivu
  • Trepo
  • Opinnäytteet - ylempi korkeakoulututkinto
  • Näytä viite
JavaScript is disabled for your browser. Some features of this site may not work without it.

Platform-independent Python-based testing tool for PLC software : Prototype implementation and extensibility analysis

Jouppila, Petteri (2026)

 
Avaa tiedosto
JouppilaPetteri.pdf (1.709Mt)
Lataukset: 



Jouppila, Petteri
2026

Automaatiotekniikan DI-ohjelma - Master's Programme in Automation Engineering
Tekniikan ja luonnontieteiden tiedekunta - Faculty of Engineering and Natural Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2026-01-29
Näytä kaikki kuvailutiedot
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202601282030
Tiivistelmä
Testing and commissioning of Programmable Logic Controllers (PLC) account for a significant part of project resources in industrial automation systems. As systems grow more complicated, the need for systematic testing practices increases. In practice, PLC testing is usually carried out with vendor-specific testing tools integrated into development environments, or with test scripts tailored for a specific project and system. These practices tie the testing to a single platform and therefore make it difficult to reuse the tests on other platforms. Based on the lit-erature review, there is no widely used testing tool that would allow PLC programs from multiple vendors to be tested from a single external environment using one test language and supporting a wider variety of testing methods and practices.
This thesis studies the concept of an external, multi-platform PLC testing and commissioning tool. The aims of this work are to (1) design and implement a Python-based prototype of such a tool that communicates with a TwinCAT 3 system via the Automation Device Specification (ADS) protocol, (2) to investigate testing tools and methods that could, in theory, be integrated into this type of tool and (3) to compare the proposed concept with existing vendor-specific testing tools (TIA Portal Test Suite and CODESYS Test Manger). The methods used are a literature review of PLC testing methods, architectural design and implementation of the prototype and Python-based tools and a qualitative comparison of functionalities between different testing platforms.
The prototype developed in this thesis shows that the concept of the external PLC testing tool is feasible. The designed tool can be implemented as an application in which a graphical user interface, a model-based architecture, a common driver interface and a test interface enable automated IO-testing and functional testing of a TwinCAT 3 program. The multi-platform aspect of the tool is demonstrated only at the architectural level as the current version of the tool supports only communication with TwinCAT 3 projects. The literature review shows that, for example, the OPC UA protocol, Python-based testing frameworks, automatic test generation and existing fieldbus libraries are, in principle, integrable with the proposed architecture.
A Comparison of the concept with TIA Portal Test Suite and CODESYS Test Manager shows that these vendor-specific tools are ahead of the concept tool in terms of maturity and built-in features, especially with respect to IDE integration, reporting and automation functionalities. The concept tool does not yet reach the same level of functional coverage, but it demonstrates a viable alternative to existing tools by offering platform-independent design, a customizable and flexible Python-based testing environment and the possibility to add advanced, project-specific extensions.
 
Ohjelmoitavien logiikoiden (PLC) testaus ja käyttöönotto muodostavat merkittävän osan teollisten automaatiojärjestelmien projektiresursseista. Järjestelmien kasvaessa monimutkaisemmiksi, systemaattisen testauksen tarve korostuu. PLC-testaus tehdään käytännössä usein toimittajakohtaisiin PLC kehitysympäristöihin integroiduilla työkaluilla tai projektille räätälöidyillä skripteillä, jotka sitovat testauksen yhteen alustaan ja vaikeuttavat testien uudelleenkäyttöä eri alustoilla. Kirjallisuuskatsauksen perusteella ei ole laajasti käytössä olevaa työkalua, jonka avulla eri valmistajien PLC-ohjelmia voitaisiin testata yhdestä ulkoisesta ympäristöstä käsin yhtenäisellä testikielellä, ja joka tarjoaisi pohjan useille eri testausmenetelmille.
Tässä työssä tutkitaan ulkoisen, monialustaisen PLC-testaus- ja käyttöönotto-ohjelman konseptia. Työn tavoitteena on (1) suunnitella ja toteuttaa Python-pohjainen prototyyppi, joka kommunikoi TwinCAT 3 -järjestelmän kanssa ADS-protokollan avulla, (2) selvittää kirjallisuuden perusteella, millaisia testausmenetelmiä ja -ominaisuuksia tällaiseen työkaluun voidaan periaatteessa integroida sekä (3) vertailla ehdotettua konseptia valmistajakohtaisiin PLC testausohjelmiin Siemens TIA Portal Test Suiteen ja CODESYS Test Manageriin. Menetelminä käytetään prototyypin arkkitehtuurisuunnittelua ja implementointia, kirjallisuuskatsausta PLC-testausmenetelmiin ja Python-pohjaisiin työkaluihin sekä laadullista ominaisuusvertailua kolmen työkalun välillä.
Tuloksena toteutettu prototyyppi osoittaa, että ulkoinen PLC-testaustyökalu voidaan toteuttaa sovelluksena, jossa graafinen käyttöliittymä, mallikeskeinen arkkitehtuuri, yleinen ajurirajapinta ja erillinen testirajapinta mahdollistavat TwinCAT 3 -PLC:n automaattisen IO-testaamisen sekä toiminnallisen testaamisen. Monialustaisuus toteutuu prototyypin nykyisessä versiossa vain arkkitehtuuritasolla: käytännön tuki rajoittuu TwinCAT 3 -alustaan, mutta kirjallisuuskatsaus osoittaa, että esimerkiksi OPC UA -rajapintoihin perustuva kommunikointi, Pythonin testauskehykset, automaattinen testigenerointi ja kenttäväyläkirjastot ovat teoriassa yhteensopivia ehdotetun arkkitehtuurin kanssa.
Vertailu TIA Portal Test Suiteen ja CODESYS Test Manageriin osoittaa, että nämä toimittajakohtaiset työkalut ovat kypsyyden ja sisäänrakennettujen ominaisuuksien laajuuden osalta edelleen konseptia edellä, erityisesti IDE- integraation, valmiiden raportointi- ja automaatiotoimintojen suhteen. Työssä kehitetty ulkoinen prototyyppi ei vielä saavuta samaa kattavuutta, mutta se demonstroi vaihtoehtoisen, protokollariippumattoman lähestymistavan, testaamiselle. Sen vahvuuksia ovat joustavat Python-pohjainen testien kirjoittaminen, selkeä rajapinta vaihdettaville ajureille, sekä mahdollisuus laajentaa konseptia tukemaan eri PLC-ohjelmistoja sekä edistyneitä testausmenetelmiä.
 
Kokoelmat
  • Opinnäytteet - ylempi korkeakoulututkinto [41871]
Kalevantie 5
PL 617
33014 Tampereen yliopisto
oa[@]tuni.fi | Tietosuoja | Saavutettavuusseloste
 

 

Selaa kokoelmaa

TekijätNimekkeetTiedekunta (2019 -)Tiedekunta (- 2018)Tutkinto-ohjelmat ja opintosuunnatAvainsanatJulkaisuajatKokoelmat

Omat tiedot

Kirjaudu sisäänRekisteröidy
Kalevantie 5
PL 617
33014 Tampereen yliopisto
oa[@]tuni.fi | Tietosuoja | Saavutettavuusseloste