University of Oulu

EtherCAT-isäntä Linuxissa

Saved in:
Author: Korhonen, Heikki1
Organizations: 1University of Oulu, Faculty of Information Technology and Electrical Engineering, Department of Computer Science and Engineering, Computer Science
Format: ebook
Version: published version
Access: open
Online Access: PDF Full Text (PDF, 1 MB)
Persistent link: http://urn.fi/URN:NBN:fi:oulu-201612103256
Language: Finnish
Published: Oulu : H. Korhonen, 2016
Publish Date: 2016-12-12
Physical Description: 38 p.
Thesis type: Bachelor's thesis
Description:
Tässä työssä tutkitaan EtherCAT-isäntätoteutuksia Linuxille, kokeillaan niistä muutamia ja LinuxCNC:n EtherCAT-isäntärajapintaan toteutetaan pieni Python-skripti, joka säätelee yhden EtherCAT-väylässä olevan orjan ledien arvoja. EtherCAT on suhteellisen laaja ja monimutkainen aihe, joten työssä ei käydä yksityiskohtaisesti kaikkia asioita läpi, vaan työn tarkoituksena on antaa perusperiaate siitä, miten Ethercat toimii ja millaisia toteutuksia siitä löytyy internetistä. EtherCAT on Beckhoff Automationin toteuttama reaaliaikainen Ethernet -protokolla. Protokolla julkaistiin IEC:n standardina IEC61158 ja se soveltuu automaatioteknologioiden ohjelmiston sekä laitteiston reaaliaikaisiin vaatimuksiin. Sitä voidaan käyttää myös testaukseen ja mittaamiseen. Lähtökohtina kehityksen aikana olivat lyhyet kiertoajat (alle 100μs), matalat viiveen vaihtelut (alle 1μs), tarkka synkronointi ja matalat laitteiston kokonaiskulut. Työssä arvioitiin muutamia eri internetistä löytyviä EtherCAT-isäntätoteutuksia. Arvioitavina toteutuksina ovat CODESYS Control for Raspberry Pi, IgH EtherCAT Master for Linux, EtherCAT- opetuskirjasto, LinuxCNC Ethercat Master ja LinuxCNC HAL. Kriteereinä ovat toteutuksen kokonaisuus (sis. Linux ja RT-kernel), dokumentointi ja käytettävyys. Näiden kriteereiden perusteella päädyttiin seuraavaan paremmuusjärjestykseen: LinuxCNC HAL, LinuxCNC Ethercat Master, IgH EtherCAT Master for Linux, EtherCAT- opetuskirjasto ja CODESYS Control for Raspberry Pi.
see all

In this work different EtherCAT Master Linux implementations will be studied, few of them will be used. LinuxCNC implementation will be used with Python script implemented in this work. The script adjusts leds of one slave in the EtherCAT bus. EtherCAT is quite large and complex subject, so this work does not go deep in EtherCAT features. This work’s will give a basic information of how EtherCAT works and what kind of implementations it is found on the internet of EtherCAT. EtherCAT is a real-time Industrial Ethernet technology originally developed by Beckhoff Automation. The EtherCAT protocol which is disclosed in the IEC standard IEC61158 is suitable for hard and soft real-time requirements in automation technology. It is also suitable for testing, measurement and many other applications. During the development of EtherCAT, main focus was on short cycle times, low jitter for accurate synchronization and low hardware costs. In this work few different EtherCAT Master implementations found from Internet were evaluated. Those implementations are CODESYS Control for Raspberry Pi, IgH EtherCAT Master for Linux, Simple Open EtherCAT Master, LinuxCNC EtherCAT Master and LinuxCNC HAL. Criterions for evaluation are implementation in big picture (incl. Linux and RT-kernel), documentation and usability. With those criterions implementations set to following rank order: LinuxCNC HAL, LinuxCNC EtherCAT Master, IgH EtherCAT Master for Linux, Simple Open EtherCAT Master and CODESYS Control for Raspberry Pi.
see all

Subjects:
Copyright information: © Heikki Korhonen, 2016. This publication is copyrighted. You may download, display and print it for your own personal use. Commercial use is prohibited.