From ArmadeusWiki
Jump to: navigation, search


Straton is a software PLC runtime developed by COPALP, used to develop under IEC61131 languages. It's composed of:

  • a runtime running on the target (tested on APF27 and APF51) and interpreting your automation process,
  • a workbench (only available on Window$) that let you design your process and load it to the target through a network interface.

Straton runtime on the APF/OPOS

To use straton runtime under Armadeus boards, simply select it under Buildroot menuconfig:

$ make menuconfig
Package Selection for the target  --->
	Armadeus specific tools/utilities  --->
	[*] straton  IEC-61131-3 environment 
	[*] straton_ios

Straton runtime is not an Open Source software, to use it with your APF/OPOS board, 3 options are available in straton IEC-61131-3 environment menu:

  • straton_dev: If you have a VMTK license provided by COPALP select this option. You will have to set the code path directory under straton development directory option :
Package Selection for the target  --->
	Armadeus specific tools/utilities  --->
	[*] straton  IEC-61131-3 environment 
	(/home/runtime) straton development directory
	[*] straton_ios
  • straton_bin: If you have a runtime license provided by COPALP select this option. You will have to copy the tarball under your downloads/ directory.
  • straton_demo: If you don't have any license and you just want to test it, select this option. Demo runtime binary will be automatically installed under rootfs .

Straton Workbench on Window$

  • First download the workbench from COPALP website here :


  • Then install it under your Window$ as COPALP explains it.

To use Armadeus Inputs/Outputs, you have to use a specific profile named armadeus.XL5 which can be found in target/packages/straton_ios/. Copy this file on your windows system then import it under straton library.

straton library -> tools -> import

A simple program with Workbench

To illustrate Straton usage, we will do a simple program that light the LED when we push the button.

  • First launch Straton workbench then create a project :
File -> add new project
  • Give a name then give the runtime IP address+port and protocol. For example :
protocole: T5 runtime
  • Terminate, then double-click on main program icon, in the tree on the left of Straton workbench.
  • Add two globals variables named button and led by right-clicking on global variable on the right of straton workbench.
  • Configure these variables to be synchronized with your apf board profile by right clicking on each variables add lauching property menu.
  • Under property menu select the right profile. And select the right type (button for button and led for LED).
  • Once your variables are correctly configured, simply drag'n'drop it under the main window and connect it with a wire. You must obtain this :
figure 1 - Really complex program in straton to blink a LED

Run the program

  • To run our really complex program, the first thing to do is to run Straton on target:
# straton
T5 runtime - Linux Multithreaded - Embedded HMI - Jun 23 2011
*** Straton is running in demo mode ***
V1.0/8.2.110124 - 2010 - (c) copalp
 2010, 2011 - ARMadeus Systems

Ready - Press CTRL+C to exit.

Initialize ios
Profile used : APF27

Then on the workbench click on download then execute. You can push the button and watch the LED blinking.


  • Runtime can print network errors sometimes :
Network Error:Broken pipe detected

It's a known error but not fatal for working process.

Modify I/O profiles

On APF27 and APF51 only a LED and a button are presents, it's possible to improve IO using straton_ios library. Ask to write this tutorial ! FabienM 13:06, 24 June 2011 (UTC)