Table of Contents

Overview

CoDeSys (Controller Development System) is the widest-spread IEC 61131-3 development tool in Europe for industrial automation technology developed by Smart Software Solutions (3S). Basically it consists of two parts:

The runtime system turns any device into an IEC 61131-3 controller programmable with CoDeSys.
Integrated compilers make sure that the program code is processed with optimal speed.

Supported CoDeSys versions

The camera supports the programming system 2.3.x and NOT version 3.x.

ATTENTION: The camera DOES NOT support retain variables itself because of performance reasons, but you can access the FRAM using functions from the Festo_System.lib.

Installation

SBOx-C

  1. download actual crypt package and install (→ Installing packages) it on your camera
    ipkg-cl install crypt_1.0-3.1.4-festo0_arm.ipk
  2. download actual CoDeSys for Festo runtime and install the package
    ipkg-cl install codesys_2.0.0-3.1.4-festo0_arm.ipk
  3. install the license according to → License Installation. The used id should match the unique id otherwise the codesys license checkout will fail (→ License checkout fail verification)!!

Furthermore you can also check the state of your CoDeSys license with

/ffx/codesys $ ./check_codesys_license
license ok
/ffx/codesys $ 

Windows PC

  1. download the actual CoDeSys programming system version 2.3.x from 3S and install it
  2. download the actual TSP at link and install it
    • choose the program InstallTarget from the CoDeSys tree
    • in the next dialogue choose Open
    • choose the correct TSP selecting the *.tnf file
    • adapt the path section, where the TSP should be installed
    • select the target on the left and choose Install
    • accept creation of the new target directory if not existing

⇒ Now the new target should be found at the right panel side

Hardware <-> CoDeSys variables

IO

LED

Also remember the general Status LEDs settings!!

First CoDeSys example

The following example implements a binary counter for the camera outputs with an outputchange intervall of 500 milliseconds

FAQ