-
Notifications
You must be signed in to change notification settings - Fork 0
1. POWERLINK Installation
This tutorial describes steps required for enabling POWERLINK communication from Ubuntu:
Download the latest Powerlink software stack from this link. In this tutorial v 2.5.2 was used.
Extract archve into your home directory under /home/user/openPOWERLINK_v2.5.2
Install required pcap libraries and cmake-gui utility using apt-get
$ sudo apt-get install libpcap-dev libpcap0.8 libpcap0.8-dev
$ sudo apt-get install cmake-gui
Run Cmake-Gui utility to simplify configuration of CMAKE options:
$ cmake-gui
Set your source and build path as shown in the figure below:
Run Configure, leave all flags untouched and hit Generate to get the final makefile
Open Terminal navigate to /home/user/openPowerlink_v2.5.2/stack/build/linux/
and build the sources by typing
$ make install
As a first step before compiling drivers you need to determine the type of your Ethernet controller. Type following command:
$ lspci | grep -i net
The output depends on your hardware, for example on ASUS ROG 702 laptop, lspci reveals that RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller is available.
Return back to Cmake Gui and this time set source and build path to EDRV as shown in the figure below:
Run Configure and select appropriate option according to the type of your Ethernet controller (in this case R8111) and uncheck MN mode if you plan to run this example (PC is controlled node while PLC is managing node)
Now run Generate, navigate to the build folder /home/user/openPOWERLINK_V2.5.2/drivers/linux/drv_kernelmode_edrv/build
, build and install POWERLINK driver for your Ethernet Controller by typing
$ make install
If build succeeded, POWERLINK should be ready for use. Navigate to bin folder of your driver, in this case /home/user/openPOWERLINK_V2.5.2/bin/linux/x86_64/oplkdrv_kernelmodule_edrv/
and load Ethernet POWERLINK Driver by typing:
$ sudo ./plkload oplk8111cn.ko
where oplk8111cn.ko is a kernel module for your Ethernet Controller located within the same directory. If you get following output and notice the Ethernet Disconnected pop up notification, POWERLINK was loaded successfully:
IMPORTANT NOTE: If your Ethernet controller is not listed in the CMake option flags, use POWERLINK deamon based on pcap library. Compile drv_deamon_pcap driver instead of drv_kernelmod_edrv.
If you would test if everything works as expected before diving into the ROS stuff, you can compile and run basic POWERLINK demo available within the stack.
In Cmake Gui set source and build path to the demo_cn_console from apps folder as shown below:
Run Configure and select Linux Kernel Module as the CFG_BUILD_KERNEL_STACK option:
Run Generate and navigate to /home/user/openPOWERLINK_V2.5.2/apps/demo_cn_console/
and compile by typing
$ make install
If build succeeded demo_cn_application should be ready for use. Plug your computer into the Powerlink network, load driver as described in previous step, navigate to the demo_cn_console bin folder /home/user/openPOWERLINK_V2.5.2/bin/linux/x86_64/demo_cn_console/
and type
$ /.demo_cn_console
If you get following output with state machine changes and mapping table, everything works properly:
If you press "I" you should see digital output being shifted by one to the right
Next step: 2. ROS Setup & Interface