Raspberry Pi

From Axel Public Wiki
Jump to navigation Jump to search

Following these instructions, you can turn your Raspberry PI B or B+ into a complete IEC-61131 PLC.

Hardware Setup

The LLExec PLC runtime has been tested on Raspberry PI Model B and B+, Raspberry PI 2 model B, Raspberry PI 3 model B, Raspberry PI 4 model B, with or without I/O expansions PIFace or PIFace Digital 2, depending on the model of Raspberry PI. The runtime PLC runs even without I/O expansion, it can be used to drive standard fieldbus modules, following the Modbus TCP standard or EtherCAT (only for Raspberry PI 3 and 4). It can be used to drive Modbus RTU devices as well, but you need an external and supported (by raspbian) RS485 to USB device. It also requires an SD or uSD at least 8GB to program the modified Raspbian image.

Software Setup

You can proceed in two alternative ways:

  • (3) Program a SD or uSD card with a full Raspbian image, already configured to run LLExec PLC runtime.
  • (4) Install LLExec PLC runtime on a standard Raspbian image (we don't support EtherCAT on this type of installation).

Follow one of the two options, then go to section (5) Get the free licence

Program a SD or uSD card with a full Raspbian image, already configured to run LLExec PLC runtime

The image is used to program an SD card, containing:

  • the Raspbian distribution
  • the LLExec PLC runtime preconfigured
  • optional realtime Kernels for RPI3 and 4.

This image can be used to control three flavours of the runtime:

  • Base: It support standard PLC functionality, without realtime nor EtherCAT support.
  • EtherCAT: It support the EtherCAT fieldbus but non the realtime kernel, so it can't be used to drive Distributed Clock enabled EtherCAT slaves.
  • OSADL: It have a patched Kernel with PREEMT_RT patch and a specific runtime setup, this full support EtherCAT with Distributed Clock.

The Image comes with scripts that can change the flavour of the image,
every flavour needs different licenses.
In this page we consider the Base flavour, more information about EtherCAT and OSADL flavour can be obtained at the pages:

https://www.axelsw.it/pwiki/index.php/Raspberry_Pi_EtherCAT
https://www.axelsw.it/pwiki/index.php/Raspberry_Pi_OSADL_EtherCat


Download image

You can download the image file from our site at url:

http://www.axelsoftware.it/pwiki/pub/rasppi_200709_raspbian_plc.rar

Unzip the image

Use the preferred utility to decompress the archive (eg. WinRAR)

Program an SD or uSB (at least 8 GB)

Using the preferred utility (eg. Win32DiskImager, download from here), write rasppi.img into an SD card or uSD.

Login into the system

Login as user pi, password axel

Install LLExec PLC runtime on a standard Raspbian image

With this procedure you can install the runtime Exec in a existing Raspberry PI Raspbian image. With this procedure you will have less precise timings when using PIFace I/O expansions and Raspberry PI models 1.

Download the runtime

You can download the latest PLC runtime from our website axelsoftware.it from the Downloads section.

In the Downloads section expand the list Software -> Runtimes and please select LLExec for RaspberryPI (Linux ARM)

Unzip the runtime

Use the preferred utility to decompress the archive (eg. WinRAR)

Copy the entire directory plc on Raspberry PI

Copy in the default path that is /data/plc , and make sure the file LLExec has execute permissions.

Create a standard startup script

As an example the included LLExecDaemon can be used, and hook it to the init sequence. This script will change the current directory to /data/plc and launch the file ./LLExec, with root permissions - required.

sudo cp /data/plc/LLExecDaemon /etc/init.d
sudo ln -s /etc/init.d/LLExecDaemon /etc/rc5.d

Enable SPI driver (optional)

This step is necessary only if you use a PIFace expansion card. Run the command

sudo raspi-config

Click the Advanced options Choose the A6 SPI and press Yes for the SPI interface to be enabled at startup.

Configure the network

The Raspberry PI Image comes with a default IP address.
You can use LogicLab to change the IP address as described in the following paragraphs.
Note that you don't need to be in the same subnet of the default IP address, to select the IP with LogicLab.

Installation and first use of LogicLab

Downloads of LogicLab Automation Suite

Go to our website axelsoftware.it,
In the Downloads section expand the list Software -> LogicLab Automation Suite
Download the file LogicLab Automation Suite

Install the setup

Launch LogicLab

Press "Scan Network".
Your Raspberry PI with its IP address will be showed.
Press the circular button near the IP address to change the IP to your choice.
Press the button "+" under the column "New prj.
Give the project a name and press the OK button.

  • From the menu On-line select Setup communication.

Select the protocol GDB, then press the Properties button.

  • Check the IP address and confirm.
  • Choose Connect from the menu Online:

If everything went correctly, you should see the green word Connected on the status bar in the lower right corner of LogicLab

Demo mode and licensing

The LLExec runtime will run in demo-mode: this means that is fully operational for 30 minutes.
After this time is expired, is required to reboot the Raspberry PI.

To obtain a full license you can ask for:

  • Free licenses that will be offered ONLY after presenting a detailed description of the purpose of the license. If you need it for educational purpose please introduce you, your school and your class project including teacher references.
    PLEASE NOTE: any incomplete request will be denied.
    If the request meets all the requirements, Axel will send you a product key to activate your license trough the "Raspberry PI" node in the Resources panel of LogicLab.
  • Commercial license: please ask for a quotation.

To request a license you need first to send an email to support@axelsw.it.


More informations

For more information you can consult the online manual, or follow our tutorials available in the news section of the website or on YouTube by following the link below:

https://www.youtube.com/user/Axelsrl

In case of troubles: save a Log File

In the case of any trouble, you can save the log file, this file can be sent to support@axelsw.it Steps:

  • login into the Raspberry PI
  • acquire root priviledges
sudo -s
  • go to directory /data/plc
  • launch ./AlTracePrint LLExec
  • press s
  • insert the preferred filename
  • then press q to quit AlTracePrint
  • send us the log file you saved

Extend runtime

Please consult the page Raspberry Pi Dev

Support

For any technical issue please send an email support@axelsw.it