© 2015 Festo Didactic SE
User's Guide
EasyLab
2
3
Contents
Chapter 1 Welcome1
CD Contents1
Installation, Update and Uninstallation2
Change of Language3
Chapter 2 Frequently Asked Questions3
Previously known errors3
General5
Chapter 3 Feature Overview5
Hardware Model6
Software Model8
Sequential Function Chart8
Sequential Data Flow12
Data types14
Simulation18
Code generation and Programming19
Debugging21
Product Lifecycle Management21
Chapter 4 Function Block Library24
Generic25
Controllers26
Signal Processing36
Signal Generation57
Constants63
Interfaces65
Math66
Misc100
Visualization102
EasyKit Starter108
LEDs109
4
Contents
Switches112
Stack 1116
Stack 2144
EasyKit Mini171
LEDs171
Joystick174
Sensors179
OLED display184
Communication192
EasyPort Mini196
Chapter 5 C programming232
Build examples232
Build runtime234
Build examples with self-build runtime234
Chapter 6 Legal Notice235
1Chapter 1 Welcome
1Welcome
EasyLab is an intuitive graphical programming environment for embedded systems. It covers
the following parts of the development process:
Modeling of target hardware
Description of the task to be performed using graphical modeling languages
Simulation of the modeled program
Code generation and program the target device
Troubleshooting (debugging) the application directly on the target hardware
Product life cycle management for the target application
Browse the online help to learn more about EasyLab or use the context-sensitive help to
understand the use of the individual functions.
CD Contents
The EasyLab Starter Edition disc, which contains EasyKit Starter also contains many example
programs and other educational materials.
Example Programs
The folder contains worksheets which are associated with project
files and can be loaded and edited with EasyLab Starter Edition.
Teachware
The folder contains various documents for introduction to EasyKit
Starter.
Arbeitsblaetter EasyKit.doc
Several worksheets that complement the introduction to micro-
controller programming with EasyKit. Exercises that make it
possible to apply and deepen the knowledge practically. The
worksheets are oriented towards content of the relevant
sections of the workbook.
easykit-starter-c.pdf
6
8
18
19
21
21
2 Chapter 1 Welcome
1Welcome
A paper on programming with EasyKit Starter.
Mikrocontrollerprogrammierung mit EasyKit.pdf
The workbook from Festo introduces EasyKit Starter and
explains its concepts in detail. The most important function
blocks and their use is explained as examples. The worksheets
(Arbeitsblaetter_EasyKit.doc) complete the different sections
with exercises.
Mikrocontrollersteuerungen mit EasyKit
A brief introduction into the basics of micro-controllers and
micro-controller controls as well as their programming with
EasyKit Starter.
EasyLab-Starter-2.1.2-20100302.exe
This program installs EasyLab Starter Edition on your PC. Run
the program and follow the instructions. After successful
installation, you can start EasyLab Starter Edition from the start
menu.
Setup_231_Lernprogramm_Mikrocontroller_1330.exe
This program installs the micro-controller tutorial from Festo on
your PC. Run the program and follow the instructions. After
successful installation, you can access the learning program from
the Start menu. The production requires a telephone or online
activation with the supplied product key.
Installation, Update and Uninstallation
Installation
You must have administrative privileges to install EasyLab. Please follow the instructions on the
screen.
Update
EasyLab will automatically notify you when a new version of the program is available.This is
only possible if the computer, on which EasyLab is installed, has a permanent Internet
connection and the requests of EasyLab are not blocked (eg by Firewall).
You can also search for updates manually by clicking Check for Updates in Menu Extras.
3Chapter 1 Welcome
1Welcome
Uninstallation
To uninstall EasyLab, please select either the relevant entry in the Start menu or the respective
option in the Control Panel.
Change of Language
EasyLab automatically detects the language of the operating system and then selects the
appropriate translation.
You can change the language anytime under Extras Languages. The changes are visible
immediately.
Frequently asked questions about EasyLab will be discussed in this chapter. Click on a
question in order to read it's answer.
A current version of the frequently asked questions is available online in the forum "Fragen
und Antworten" at http://www.easy-kit.de/forum/.
Previously known errors
The following list provides an overview of the currently known errors/bugs in EasyLab (Also
see: The forum "Fragen und Antworten" at http://www.easy-kit.de/forum/).
In case you find a new bug, please report it online on the forum Support at http://www.easy-
kit.de/forum/ .
Please always include the EasyLab version as well as much information possible, under
which circumstances the error occured and how can it be reproduced (Also see: How can
errors in EasyLab be reported? ).
The EasyKit-Starter unit is temporarily not visible
This error occurs if an empty program is executed in the debug mode. You can work around
this error as follows:
End the debugging of the empty program. The EasyKit-Starter unit should now be
displayed.
5
4 Chapter 2 Frequently Asked Questions
2Frequently Asked Questions
Note: The error does not occur if you have used at least one functional block of the device.
This error was rectified in EasyLab 2.0.8.
The automatic detection of Match-X components are not functioning correctly
This problem occurs in EasyLab version 2.1.5 onwards where the support for the identification
new Match-X blocks was introduced. That required a necessary change to the detection
software which causes this problem. You can work around this error as follows:
Execute any program on the EasyKit Starter device.
The detection should now work for all supported blocks.
The execution of the program or debugging does not work.
Please make sure that you have installed EasyLab version 2.1.4 or later on Windows 7 (64
Bit Version).
Administrative rights are needed during the installation ( first installation ) of the two required
USB drivers.
Depending on the configuration, new versions of Windows (including Windows 7) look for
drivers on the internet, this may delay the installation of the drivers in EasyLab by a few
seconds. Therefore, please wait until Windows has finished installing the drivers completely
before starting to program EasyKit-Starter.
Windows crashes when awakening from hibernation mode if the libusb-win32 Filter-Driver is
installed.
If libusb-win32 is installed and Windows is put into hibernation mode, while EasyKit-Starter
device is plugged in, Windows crashes on awakening from the hibernation mode.
This is a known bug in the libusb-win32 Filter driver versions 0.1.12.2 and earlier, you can
work around the error as follows:
Use a newer version of the Filter driver, or forgo the Filter driver and use the normal libusb-
win32 device driver (recommended).
Uninstall libusb-win32 if you do not require it. Please note that this software is not required
by EasyLab but it may be possible that other software use libusb-win32 to access USB
devices.
Disconnect the USB connection of the EasyKit-Starter unit before you resume Windows
from hibernation, this should prevent the crash of Windows.
5Chapter 2 Frequently Asked Questions
2Frequently Asked Questions
General
The following section answers a number of general questions about EasyLab.
How can errors in EasyLab be reported?
It may be possible that the error and its corresponding solution is already known. Please go
through the questions and answers forum first for corresponding entries.
In case you cannot find any solution to your problem, please report it to the Support-
Forum.
In every case, please give the version of the EasyLab you are using. The version can be
found in the Help menu under About and it has the form Version 2.0.7 Build 20100121 for
example.
In case you find an entry with a similar problem as yours, then please provide more
information.
Why is only one instance supported?
EasyLab Starter can only be executed once at a given time because the device "EasyKit
Starter" can address only one instance of the program.
Please choose a category below or use the button in the upper right corner of the Help
window to display one topic after the other:
Hardware Model
Software Model
Sequential Function Chart
Sequential Data Flow
Data Types
Simulation
Code generation and programming
Debugging (Troubleshooting)
Product Lifecycle Management
6
8
8
12
14
18
19
21
21
6 Chapter 3 Feature Overview
3Feature Overview
Hardware Model
In order for EasyLab to know how to deal with a specific target platform, it requires information
about the target hardware. This information is pictured in the form of a corresponding model,
hence the name Hardware Model.
The Hardware Model influences the available functionality. For example it can describe specific
I/O or communication interfaces a specific target platform has. According to this data, more or
fewer function blocks can be used from the Function block library . In order to enumerate
the Hardware Model, any number of so called Devices can be added to the Function block
library.
Devices and the Function block library
The Function block library provides quick access to all devices and function block that are in
the current project. When creating a new Project you will alwasy find the "Devices" Function
blocks and Variables in the Function block library. These devices cannot be removed from the
Project. More information about the Function block library is available here .
Adding devices
In most of the cases, pre-defined devices can be used. These devices can be added below the
Function block library to the current Project by clicking on the Add button. You can do this in
any Sub program (and not in the Main program as the Function block library is not displayed
there).
After adding the new device, it appears in the Function block library ordered in categories and
24
24
7Chapter 3 Feature Overview
3Feature Overview
function blocks. Double click on the categories in order to open it and view the containing
function blocks. Now you can add the function blocks by drag and drop (click and drag) to the
current Sub program.
Removing devices
If you wish to remove a device, first make sure that none of the function blocks of that device
are being used in your current Sub program. Only then is the removal of a device possible.
Select the device from the Function block library and then click Remove.
Hardware resources and mutual influence of the devices
It is possible that the function blocks of devices influence each other. A simple example is a
device that represents a micro-controller. This device can, for example, make a set of digital
inputs (so called "general purpose I/Os) available. At the same time, many micro-controllers
also offer analog inputs. However, it is not possible to simultaneously use both a digital and an
analog input which is on the same processor pin. Therefore, a choice has to be made whether
the corresponding pin is to be used as a digital or an analog input.
EasyLab has a mechanism to ensure that the simultaneous use of mutually exclusive
configurations results in an invalid state. That mechanism defines so-called hardware
resources from the devices. Function blocks can reserve these resources. If a resource is
reserved, than it cannot be used by another function block. Only when the function block is
removed from the Sub program, can the resource be freed for different function blocks.
The columns Available and Used in the Function block library provide information on how often
a function block can be used and how often it was already used in the current Sub program.
To see these columns scroll to the right in the Function block library.
Function blocks, that are currently unavailable due to lack of resources are colored gray in the
Function block library.
Definition of custom devices
At the moment, EasyLab does not offer visual (interactive) support for defining custom devices.
You may, however, add a device description as an XML file to be used as a pre-defined device
in your own projects. Certain versions of EasyLab deliver this feature with special
documentation.
8 Chapter 3 Feature Overview
3Feature Overview
Software Model
A Software model or an application model refers to the software based description of the
behaviour of a system. The description is implemented in so called programming languages in
the form of a control program. The software model describes in particular the conditions of
such a program and the actions to be carried out in each state.
To describe a software model, EasyLab offers two graphical programming languages which
are complementary in their scope:
The Sequential Function Chart is suitable to describe different states of a program and
transitions from one state to another. It also provides means to describe how the program
should behave under different circumstances.
The Sequential Data Flow describes a network of elements which each receive, process
and finally output new data. By combining such data processing elements, it is possible to
model complex calculations.
All data (values such as numbers or truth values) in EasyLab have a data type. This relates to
values that are calculated by function blocks in the Sequential Data Flow language and
variables that are used, for example, for the transition conditions in the Sequential Function
Chart. Learn more about the Purpose and use of data types .
Sequential Function Chart
The Sequential Function Chart describes the states of a program and transitions from one state
to another. It also provides means to describe how the program should behave under certain
circumstances. The SFC in EasyLab corresponds to the IEC 61131-3 international standard
but it is not implemented fully.
The following describes the Syntax and the Execution semantics of the language.
Syntax
The elements of the SFC in EasyLab are:
State
Initial State
State transition with transition conditions
Alternative branches with transition conditions
Jump
8
12
14
8 11
9
10
10
10
11
9Chapter 3 Feature Overview
3Feature Overview
State
A state is represented by a rectangle. The position of the state within the graphical
representation decides when the state is entered. Inside the rectangle are two identifiers. The
first identifier defines the name of the condition. It can be directly edited by clicking on the
name. The name must be unique within a flowchart. The second identifier determines which
sub program should be executed in each state. By clicking on the identifier you can select the
appropriate sub program from a list. The special value - means that no sub program is
assigned to this state.
A so called Time slice is also allocated to each state. This determines how long should the
execution of a state last.
The state requires a short time for its execution, so the program waits until the corresponding
total time has expired before proceeding with the execution. Thus, it can be said how often a
state should be executed per second. It is also possible to define exact waiting times.
The Time slice is set by default to 10 milliseconds i.e. the state would be executed 100 times
per second. To modify the Time slice, right click on the frame of the state and select the Time
slice.
In the following dialog window, enter the new Time slice.
10 Chapter 3 Feature Overview
3Feature Overview
Initial State
In every flowchart the initial state is marked by double lines. This is the state which is active
when the program is executed.
State transition with transition conditions
A transition defines when a program should switch from one state to another. State transitions
are always between two successive states and are represented by a cross line. Near the cross
line is a condition that must be met before the state transition is performed. This condition is
also called the transition condition. Every transition condition will be evaluated once if the state
was executed before the transition condition. If the condition is true then the successive state
is active otherwise the current state remains is active. The transition condition can be specified
in text form. The following elements (with their usual mathematical meaning) may be used:
The identifier true (always true) and false (always false)
Whole numbers and decimal numbers (for example 3, -7, 3,14).
Parentheses for grouping (for example (3.1-0.1)*3).
Names of global variables ( x and y in the example above)
Names of local variables of the previous state
Simple mathematical operations (Addition +, Subtraction -, Multiplication *, Division /,
Modulus %), provided they are applied to numbers (see Data types) . Modulus (integer
remainder) should not be used with decimal numbers.
Comparison operators (equal ==, not equal !=, lesser than <, greater than >, lesser or equal
<=, greater or equal >=), provided they are applied to numbers (see Data types) . The
result of a comparison operator is a boolean (true or false) value.
Logical operators (And &&, Or ||, Not !), provided they are applied to boolean values (see
Data types) .
Further details can be found in the Execution semantics section.
Alternative branches with transition conditions
An alternative branch makes it possible to branch into different successor states depending on
a condition. It is displayed graphically by a single long cross line, from which the different
branches emerge. The number of execution branches is unlimited. Every branch begins with a
condition which determines which branch is entered under certain circumstances. Once the
14
14
14
11
11Chapter 3 Feature Overview
3Feature Overview
program execution reaches the alternative branch, the conditions of the branches are
evaluated sequentially from left to right. If any of the conditions is true, the first state of the
respective branch is active. If none of the conditions are true, the state of the alternative
branch remains active.
Jump
A jump allows the program execution to continue at a different state. The name of the target
state is listed below the jump statement as jump target. In addition to the ones defined in the
flow chart, there is the special jump target RETURN, which terminates the execution of the
program.
Execution semantics
Execution of States
1. Once a state has been entered, first of all the associated sub program of the state is run. If
there is no sub program associated (---), then no execution will take place.
2. If the execution of a state lasted shorter than the time slice, the program waits until the total
time since the start of the execution of the state has elapsed as defined in the time slice.
3. Finally, the transition condition is evaluated. If the result is true, then the successive state is
active and if the result is false then the current state remains active and the execution is
started again at Step 1.
Sequence of States
If two states are defined one behind the other, first the upper state will be entered and
executed. Only if the transition condition between the states is true, the second state is entered
and executed.
Alternative branches
If an alternative branch is active, first the transition condition on the left is evaluated. If this is
true, the first state of the branch is activated. If this is false, the process is repeated for
second transition condition, and so on. If none of the transition conditions is true, the state
above the alternative branch remains active and is executed again.
Jumps
If a jump is active, the effect is the same as if the state, which is indicated as the jump target,
is active. Thereafter, the execution takes place according to the previously defined rules.
If the jump target is RETURN, the program is terminated i.e. there are no active states
anymore.
12 Chapter 3 Feature Overview
3Feature Overview
Sequential Data Flow
The Sequential Data Flow (SDF) describes a network of elements which each receive, process
and finally output new data. By combining such data processing elements, it is possible to
model complex calculations. Since all the data in EasyLab have a Data Type , it is only
possible for compatible inputs and outputs to be connected to each other. The SDF in EasyLab
corresponds to the IEC 61131-3 international standard but it is not implemented fully.
The following describes the Syntax and the Execution semantics of the language.
Syntax
The elements of the SDF in EasyLab are:
Function blocks, for example.:
Constant
Addition
Division
Interval Display
Edge
Value
Function block
Function blocks are the computational units in the data flow language. You can have any
number of inputs and outputs (so called Connectors), which are indicated by blue squares.
Inputs are always on the left and the outputs on the right. The following image illustrates more
components of a function block:
14
8 11
13Chapter 3 Feature Overview
3Feature Overview
Properties dialog
Each input of the function block in SDF has a default value that can be edited from the
properties dialog. Double click on a function block to access its properties dialog. Alternatively,
you can use the item Properties from the context menu of the function block. This appears if
you right click on the "Handle" (upper section) of the function block.
Some function blocks can also be directly edited in the SDF program. The constant, for
example, offers a field in which their value can be edited directly without having to invoke the
properties dialog.
Edge
Edges transport data from an output of a function block to any of the inputs of the same or
another function block. This
overides the value adjacent to the edge of the default value of the inputs to which the edge is
connected. To add an edge, click on an output of a function block and then to an input of
another (or same) function block. Should a connection not be possible, the last clicked
connector will turn red, which means that the connectors are not incompatible and cannot be
connected (their Data Types differ and cannot be automatically converted). For example, it
is not readily possible to connect the output of the Equality function block (output data type:
boolean) to the input of an Addition function block (expected input data type: number).
However, it is possible to convert data from one type to another type using the Type
Conversion function block.
Enter Escape to cancel the drawing of an edge.
Edges can connect outputs and inputs directly or for clarity, have any number of vertices. For
example, edges can be modeled so as to feature right angled vertices (see picture above).
To add a vertex to an existing edge, double click on the appropriate location of the edge.
Then you can move the vertex by clicking and dragging.
14
97
14 Chapter 3 Feature Overview
3Feature Overview
To add vertices while creating an edge, click on the appropriate places in the SDF program
before you click the target connector.
Value
If the setting Show Connector Values in menu View is activated, then the current values of the
connectors are displayed on the function blocks. If the program is not running, the values
correspond to the default values of the corresponding connectors. Only if the program is
executed, the real values are calculated and displayed accordingly.
Instead of the values, short descriptions of the connectors can also be displayed. To do this,
select View Show Connector Descriptions
Execution Semantics
In an execution step of a SDF program, each function block is normally executed only once.
The order of execution is automatically selected such that the in each case, the data is
available to the function blocks for their calculation. In the above example program a valid
execution order would as follows:
Execution of the three Constants
Execution of the Addition block
Execution of the Division block
Execution of the Interval Display block
However, it would be just as possible for the Addition to be performed immediately after the
execution of the two constants which are connect to the Addition block. Since the result of the
calculation does not make any difference, EasyLab automatically selects an appropriate order.
Cycles
Cycles are allowed in SDF programs. Cycles are created by circular arrangement of one or
more edges. If the SDF program contains cycles, the execution order of the function blocks
does make a difference. A function block on the circuit, which can be executed first, has to be
determined. The inputs of this function block does not receive any data from the connected
edges that form the cycle. However, it may use default values instead.
Data types
In EasyLab, every value, that is calculated in a program is assigned a data type. This relates to
values that are calculated by function blocks in the Sequential Data Flow language and12
15Chapter 3 Feature Overview
3Feature Overview
variables that are used, for example, for the transition conditions in the Sequential Function
Chart language. The most common types are number and Boolean values. This page offers
the following information:
Why are there different data types?
Data type "Integer"?
Data type "Decimal"?
Data type "Boolean"?
Conversion of data types
Bits and memory consumption
Why are there different data types?
The reason for this lies in the representation of data on the micro-controller or on a computer
in general. Data on a micro-controller or computer is really only arrays of zeros and ones. In
the end the computer performs calculations directly on these ones and zeros i.e. it does not
know what the zeros and ones actually mean. To assign meaning to these binary data, one has
to specify how they are interpreted.
Example
A sequence of 16 zeros or ones can be interpreted very differently based on the application:
One case would be that a number is formed from all the 16 bits. Suppose that the sequence
is 00010011 00110101. The value of the unsigned 16-bit integer would be 1*1 + 1*4 + 1*16
+ 1*32 + 1*256 + 1*512 + 1*4096 = 4917
Another case would be two consecutive 8 bit numbers. In that case, the value of the first 8 bit
number would be 11, and the second 8 bit number would be 53.
Lastly, one could also interpret the 16 bit number as 16 consecutively store boolean values,
where 1 represents "true" and 0 represents "false".This could, for example, represent on
which tables is at least one student seated in a classroom. In this case, a total of 7 tables
would be occupied.
The ones and zeros will therefore have the meaning based on how we interpret the binary data.
This can be achieved by assigning data types to the data.
The most common types are numbers and boolean. The numbers can be roughly divided into
integers (whole numbers) and decimal numbers.
Data type "Integer"
Integers have different values ranges i.e. some integer data types can cover a greater range
8
15
15
16
17
17
17
16 Chapter 3 Feature Overview
3Feature Overview
than others. The following table provides an overview of the available integer data types:
Name of the data
type
Bits Smallest
representable value
Largest
representable value
uint8 8 0 255
uint16 16 0 65535
uint32 32 0 4294967295
uint64 64 0 18446744073709551
615
int8 8 -128 127
int16 16 -32768 32767
int32 32 -2147483648 2147483647
int64 64 -
92233720368547758
08
92233720368547758
07
In the above table, "u" stands for "unsigned", which means that the corresponding number
cannot be negative (because the range of the value starts from 0). The number in the name of
the data type corresponds to the number of bits (ones and zeros) that are used to store the
value. The more bits used, the greater the number can be. In case of integers, if the result of
calculation is out of range from the representing number then, as a rule, an incorrect result is
returned. Therefore, make sure to always use the data type with a large enough range.
Data type "Decimal"
Also decimals (more precisely: floating point numbers) can be divided into several types:
Name of the
data type
Bits Smallest
representable
positive value
Largest
representable
positive value
Significant
digits
float 16 ca. 10-37 ca. 1037 6
double 32 ca. 10-37 ca. 1037 10
17Chapter 3 Feature Overview
3Feature Overview
All decimal values are always signed i.e. negative number are always represented. Therefore,
there is no distinction between positive and negative numbers in the table. "1037" means "a 1
with 37 zeros" ( a very large number). Both the data types can only store a certain number of
"significant digits". A digit is significant if it has the same value, when the number is converted
to float or double.
Example
A popular example is the storage of the number Pi (3.14159265358979323846...) in the
computer.
If Pi is stored as a variable of type "float" then it is guaranteed that the first digits are
3.14159 (6 significant digits). The digits after 9 are not defined.
If Pi is stored as a variable of type "double" then it is guaranteed that the first digits are
3.141592653 (10 significant digits). The digits after 3 are not defined.
The types differ in the precision with which they save floating point numbers. It is not the case
always that the exact value of the result of a calculation is stored but a representable
approximate. If the type "double" is used, then the "true" value is generally taken to be the type
"float". However, the "error" caused depends on the actual value because some numbers can
be represented more accurately than others. To avoid problems with rounding off numbers, the
type "double" should be used where possible.
Data Type "Boolean"
For boolean values there is only one data type called bool.
Name of the data type Bits Represented value
bool 1 (8) true, false
A boolean value represents just one piece of information i.e. one or zero. The variable "bool"
requires 1 Bit of storage space. In practice, due to technical reasons, it makes sense to use 8
Bits of storage and only consider the least significant bit.
Conversion of data types
Data can be converted from one type to another. Use the function block Type Cast .
Bits and memory consumption
The more flexibility a number requires in the representation, the more bits must this number
have. This also make it clear why there is a precise distinction for the numbers. If a developer
97
18 Chapter 3 Feature Overview
3Feature Overview
knows the particular value range of a variable in a particular program then he/she can select a
data type that uses lesser bits. And by doing that, the memory consumption during the
execution of a program is reduced. Should the number be stored (for example on a hard disk)
then this also reduces the storage space on the disk. On micro.controllers in particular,
memory is an important resource and should not be wasted. It is therefore recommended to
use cheap data types, which on the one hand uses the minimum range and on the other hand
as little memory as possible..
Simulation
Simulation means reviews the functioning of a modeled program without actually executing it on
the target platform (for example a micro-controller). The advantage of simulation is that it
requires no hardware. The other advantages are:
The structure of the program (states, jump targets, edges, function blocks, etc.) can be
modified directly during the simulation.
Values of the constants and default values of the function blocks can also be modified during
the simulation.
Time slices of the SFC programs can be modified during the simulation.
Start simulation
To activate the simulation, click the Run Simulation Mode and then start the simulation by
clicking Run Start Start Main Program.
If you switch to Main Program, you can view which state the program is currently executing
which is indicated by the thickened frame. To indicate that the main program is being
executed, a green circle appears on the tab of the Main Program.
If you switch to the active Sub Program, you can see the live calculated values of the function
blocks, provided that the setting View Show Connector Values is activated. The active Sub
Program is marked by a green circle on the tab of the Sub Program.
Simulation affect
Function blocks, for example the ones that relate to the inputs and outputs of a micro-controller,
can now be simulated to switch on/off or delay by the corresponding buttons (radio button,
slider).
Stop simulation
In order to stop the simulation, select Run Terminate from the menu. It may also occur that a
program terminates itself. Examples of such situations are:
In a SFC program if a Jump is active, whose target is RETURN and the concerning program
19Chapter 3 Feature Overview
3Feature Overview
is the Main Program.
In case of a calculation error, for example division by zero.
Code generation and Programming
After a successful simulation, it is time to test the program on a real hardware. For this, the
hardware must be available and connected to a computer running EasyLab via a suitable
interface. What interfaces can be used is described in the topic "Settings for code generation"
(see below).
Start Code generation
To activate the code generation, click the Run Code Generation Mode and then start the
generation by clicking Run Start Generate Code.
In some versions of EasyLab you can also select a so called code generation profile from Run
Start Generate Code. If you do this, the code generation is performed with settings entered
in the code generation profile.
Settings for code generation
If you have not selected any code generation profile, then a code generation window appears.
Here you can set different settings for the code generation.
Platform
The platform determines the overall target architecture. Usually this is the name of the micro-
controller family for which the code is to be generated.
Tool chain
This entry determines which tools are to be used for compiling and linking the program on the
target platform. This distinction is important because different tool chains can be used for a
target platform ( for example a commercial or a free compiler). The available choices are
determined by the selected platform (step above).
Uploader
This entry specifies the interface for transferring the program that is to be used on the target
system. Again, here are also several options that are defined based on the platform and tool
chain. This option is only relevant if the option Upload binary image to device is selected. The
section Uploader configuration appears depending on which Uploader is selected in order to
set additional options.
Debugger
20 Chapter 3 Feature Overview
3Feature Overview
The debugger provides the methods to be used for real-time monitoring and parameterization
of the program during the development. This is activated only if the Enter debug mode option is
selected. The section Debugger Configuration appears depending on which debugger is
selected in order to set additional options.
Prefix
This makes it possible to add a unique prefix to all the functions and identifiers in the generated
code. It can be left empty in normal cases.
Output directory
Here, the output directory for the generated code can be set. If the entry is empty or ".", the
code is generated in the temporary directory. This can be left empty or "." in normal cases.
Clean output directory first
Determines whether the output directory is to be emptied before code generation. This should
be normally selected.
Compile generated code
Determines whether the generated code should be compiled. This should be normally selected.
Upload binary image to device
Determines whether the compiled program will be transferred to the target device.
Enter debug mode
Specifies whether to run the real-time monitoring and parameterization methods after the
transfer of the program on to the target system. If this option is selected, then the program
cannot be run without EasyLab! In case this option is selected, then the option Enable
service interface cannot be used.
Enable service interface
Specifies that the generated program can be motinered and configured on a service interface
even without EasyLab. See Product Lifecycle Management . This option cannot be activated
in conjunction with the Enter debug mode option.
Ignore program ID
This option allows you to enter the debug mode with the test to skip if the currently loaded
program corresponds to the program being debugged. Normally, this option should not be
selected.
Programming
After the settings are set, the program is first translated to source code which is then inturn
translated to binary data by a corresponding compiler. Then the programming is successfully
21
21Chapter 3 Feature Overview
3Feature Overview
complete provided that the appropriate settings are activated. During the process, the progress
and feedback can be monitored in the Log dialog window.
Debugging
If the option Enter debug mode is selected, the real-time monitoring and parameterization will
be started after successful programming and clicking the Debug button.
Start debugging
Follow the instructions in chapter Code generation and Programming to find out how the
debug mode can be activated.
Debugging influence (real-time monitoring and parameterization)
The debug mode is similar to the Simulation Mode . In each case, the active program
displays the current status and calculated data. However, the execution of the program is now
on the target hardware and the data shown corresponds to the real-time data of the system,
hence the term real-time monitoring.
Additionally it is possible to influence the running program. A change in the structure of the
program is not possible here, as this would would require a new code generation. The following
modifications can be done in debug mode:
Values of contants and default values of function blocks can be modified.
Stop debugging
In order to stop the debugging, select Run Terminate from the menu. The program on the
target system is also terminated, if this is supported by the target system. It may also occur
that a program terminates itself. Examples of such situations are:
In a SFC program if a Jump is active, whose target is RETURN and the concerning program
is the Main Program.
In case of a calculation error, for example division by zero.
The target system is manually reset or the power supply or communications link is
interrupted.
Product Lifecycle Management
Often it is necessary to modify certain parameters and settings of a program after an event
and adapt or read out the state of a program according to predetermined service levels.
EasyLab offers support for such scenarios.
19
18
22 Chapter 3 Feature Overview
3Feature Overview
Service Interface
The function block library of some versions of EasyLab offer a block called Service Interface
. If this special function block is used in a Sequential Data Flow (SDF) program, it can
retrieve information about the state of the program and set parameters, even when the system
is already in production. This is done without EasyLab and therefore, it is possible to do it with
new code generation. The changes can be even made during the production of the system and
therefore, there is no down time due to maintenance.
In contrast to allow the service interface debugging , fine-grained access control or
unauthorized changes to key functional parameters of the system is prevented from taking
place.
Service interfaces are disabled by default. It is only effective if the option Enable service
interface is selected during Code generation .
Appointment of service interfaces
The service interfaces are usually provided with descriptive names. Once the service interface
function block is inserted in the program, right click it and then select Display name. The
function block can now be suitably named. The name of the function block is also the name of
the service interface.
Use of service interfaces
Service interfaces can be used in two different configurations:
1. Use as a parameter
As shown in the picture above, the output of a service interface, here name regler_p can be
connected to any input of a function block. In addition a default value (here 0.2) can be
defined in the properties dialog. This value is used as long as no other value is set via the
service interface. In this example, the P value of a PID Controller is used as a parameter.
2. Use as output value
65
21
19
33
23Chapter 3 Feature Overview
3Feature Overview
The above picture shows how a service interface (here named ausgabe_v), can be used to
export a calculated value.Whenever a new calculated value is received, this is stored as the
value of the service variable. Now if this value is accessed from outside the service interface,
the value is returned as the value of the variable ausgabe_v.
Names and identifiers of service interfaces
Since it is tedious and cumbersome to query the value if a service interface by name, EasyLab
also offers a concept of accessing the service interfaces by means of numerical identifiers.
Each service interface is assigned a unique identifier to it. During code generation, the
assignment of names to identifiers is stored in the file report.xml which is placed in the code
generation directory. However, this occurs only if you select the option Enable service
interface during Code generation .
Access to the service interface
Certain versions of EasyLab provide tools and interface definitions to access the service
interface.
If the tools are provided, then they are located in the bin directory of the EasyLab
installation. service_modbus_guitest.exe is a graphical tool for communication with the
service interface. First, the correct serial communications port should be selected and the
report.xml, that was created during code generation is loaded. After that, the connection to
the target system is established and the data can now be accessed or modified.
19
24 Chapter 3 Feature Overview
3Feature Overview
The tool is service_modbus_test.exe command line-based and a simpler version. Here,
loading of the report.xml file is not possible. Instead, the identifiers must be used directly.
At the moment, only certain identifiers are supported.
If the interface definitions are provided, then they are located in the api directory of the
EasyLab installation. They must be linked with api/lib/plugin_service.lib. The headers
can be found in api/include/plugin/service.
Control programs created with EasyLab consist of interlinked Function Blocks . These are
located in the function block library and can be inserted into a sub-program via Drag & Drop.
Function blocks are assigned to different categories. By double-clicking onto a category name
with the left mouse button, the category folder is expanded.
12
25Chapter 4 Function Block Library
4Function Block Library
Function block library
Workspace
Search field
Generic
Category
Controllers 26
26 Chapter 4 Function Block Library
4Function Block Library
Signal Processing
Signal Generation
Constants
Interfaces
Math
Misc
Visualization
Controllers
Symbo
lVisualization Function Block Description
Three Level
ControllerPerforms three-level control
Two Level Controller/
Hysteresis Loop
Performs two-level control or
hysteresis loop.
Dead Zone Controller Performs dead zone control
P Controller Performs discrete proportional control
PI ControllerPerforms discrete proportional
integral control
PD ControllerPerforms discrete proportional
differential control
PID ControllerPerforms discrete proportional
integral differential control
36
57
63
65
66
100
102
27
28
29
30
31
32
33
27Chapter 4 Function Block Library
4Function Block Library
PID Controller with
anti-windup
Performs discrete proportional
integral differential control (with anti-
windup).
Three Level Controller
Description
The three level controller is based on the fact that it can be adjusted to three output levels
depending on the signal that is processed. If the input signal is above the upper limit max then
the output is set to the value amp. However, if the input signal is below the lower limit min, then
the output is set to the value -amp. If the signal is between the two limits, then the output is set
to 0.
If the upper limit max is below the lower limit min, then both the limits are equalized. If the lower
and the upper limits are equal, then the controller acts as a symmetrical two-point controller
with amp as the output. In this case, the output is set to amp if the input value is the switching
point of the controller.
Inputs and Outputs
InputData
TypeDescription
Default
Value
amp int16 Positive target value for the output 0
max int16 Upper limit of the range 0
val int16 Current input value 0
min int16 Lower limit of the range 0
Output Data Description Default
34
28 Chapter 4 Function Block Library
4Function Block Library
Type Value
res int16 Output value / signal 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Two Level Controller/Hysteresis Loop
Description
If the input value falls below the lower limit min, the output value is set to -amp. On the other
hand if the input value exceeds the upper limit max, the output value is set to amp.
In case the upper limit max is set below the lower limit min, then both the limits are equalized.
When the upper and lower limits are equal, then the block functions as an ordinary two level
controller. In this case, the output value is set to amp if the measure valued corresponds to the
switching point of the controller. If the upper limit max is above the lower limit min, the block
funtions as a hysteresis.
Input and Ouputs
InputData
typeDescription
Default
Value
amp int16 Positive target value for the output 0
max int16 Upper limit of the range 0
val int16 Current input value 0
min int16 Lower limit of the range 0
13
29Chapter 4 Function Block Library
4Function Block Library
OutputData
typeDescription
Default
Value
res int16 Output value / signal 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Dead zone controller
Description
The output res is set to 0, if the input val lies between the min and max limits. If the input is
less than the lower limit min, the output value is calculated as the product of amp and the lower
limit min. If the input is greater than the upper limit max, the output is calculated as the product
of amp and the upper limit max. The lower limit min may only be less or equal to the upper
limit max.
Inputs and Output
InputData
TypeDescription
Default
Value
amp int16 Positive target value for the output 0
max int16 Upper limit of the range 0
val int16 Current input value 0
min int16 Lower limit of the range 0
13
30 Chapter 4 Function Block Library
4Function Block Library
OutputData
TypeDescription
Default
Value
res int16 Output value / signal 0
Properties dialog
Properties dialog of the dead zone controller
Element Function/Description
val Representation of the current input value
P Controller
Description
The function block is a discrete proportional controller of the form
Kp is designated as proportional action coefficient.
Note that not the desired value but the system deviation err should be at the input of the
31Chapter 4 Function Block Library
4Function Block Library
function block in a standard loop, i.e. the system deviation err is obtained as the desired value
- actual value.
Inputs and Outputs
InputData
typeDescription
Default
Value
kp int16 Proportional action coefficient 0
err int16 System deviation 0
OutputData
typeDescription
Default
Value
res int16 Output Value / Signal 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
PI Controller
Description
The function block is a discrete proportional integral controller of the form
Kp is referred to as a proportional action coefficient and K
i as an integral action coefficient.
Note that not the desired value but the system deviation err should be at the input of the
13
32 Chapter 4 Function Block Library
4Function Block Library
function block in a standard loop, i.e. the system deviation err is obtained as the desired value
- actual value.
Inputs and Outputs
InputData
typeDescription
Default
Value
kp int16 Proportional action coefficient 0
ki int16 Integral action coefficient 0
err int16 System deviation 0
InputData
TypeDescription
Default
Value
res int16 Output Value / Signal 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
PD Controller
Description
The function block is a discrete proportional differential controller of the form
Kp is referred to as a proportional action coefficient and Kd as differential action coefficient.
13
33Chapter 4 Function Block Library
4Function Block Library
Note that not the desired value but the system deviation err should be at the input of the
function block in a standard loop, i.e. the system deviation err is obtained as the desired value
- actual value.
Inputs and Outputs
InputData
typeDescription
Default
Value
kp int16 Proportional action coefficient 0
kd int16 Differential action coefficient 0
err int16 System deviation 0
OutputData
typeDescription
Default
Value
res int16 Output value / Signal 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
PID Controller
Description
The function block is a discrete proportional integral differential controller of the form
13
34 Chapter 4 Function Block Library
4Function Block Library
Kp is referred to as a proportional action coefficient, K
i as an integral action coefficient and
Kd as differential action coefficient.
Note that not the desired value but the system deviation err should be at the input of the
function block in a standard loop, i.e. the system deviation err is obtained as the desired value
- actual value.
Inputs and Outputs
InputData
TypeDescription
Default
Value
kp int16 Proportional action coefficient 0
ki int16 Integral action coefficient 0
kd int16 Differential action coefficient 0
err int16 System deviation 0
OutputData
typeDescription
Default
Value
res int16 Output Value / Signal 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
PID Controller with anti-windup
Description
13
35Chapter 4 Function Block Library
4Function Block Library
The function block is a discrete proportional integral differential controller of the form with anti-
windup
Kp is referred to as a proportional action coefficient, Ki as an integral action coefficient and
Kd as differential action coefficient.
Note that not the desired value but the system deviation err should be at the input of the
function block in a standard loop, i.e. the system deviation err is obtained as the desired value
- actual value.
Inputs and Outputs
InputData
typeDescription
Default
Value
kp int16 Proportional action coefficient 0
ki int16 Integral action coefficient 0
kd int16 Differential action coefficient 0
err int16 System deviation 0
max int16 Upper limit 0
min int16 Lower limit 0
InputData
typeDescription
Default
Value
res int16 Output value / Signal 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .13
36 Chapter 4 Function Block Library
4Function Block Library
Signal Processing
Category
Basic Functionality
Filter
Flip-Flops
Basic Functionality
Symb
olVisualization Function block Description
Cubic Rational
Function
Generates a signal described by a
cubic rational function.
Linear
Transformation
Führt eine lineare Transformation
eines Signals durch.
Signal Switch Forms a switch
Two Way Signal
Switch
Switches depending on the condition
between two values.
Tolerance Alert
Generates an alarm when a value
exceeds or falls below threshold
values.
Differentiation
Differentiates the discrete values of
the previous and the current
measurement
Rectangular
IntegrationPerforms a (rectangular) integration
Trapeze Integration Performs a (trapezoidal) integration
36
46
51
37
38
39
40
41
42
43
43
37Chapter 4 Function Block Library
4Function Block Library
Hold Element Delays a value of a program step
SummationSums up numbers and stores the
result
Cubic Rational Function
Description
The function block calculates the output signal based on the following polynomial:
Input and Output
InputData
typeDescription
Default
Value
in int16 Input value / signal 0
a0 int16 Coefficient 0
... ... ... ...
b3 int16 Coefficient 0
OutputData
typeDescription
Default
Value
out float Output value / Signal 0
44
45
38 Chapter 4 Function Block Library
4Function Block Library
Properties dialog
Properties dialog of the cubic rational function
Element Function/Description
Degree A (Grad
A)Degree of the numerator polynomial set
Degree B (Grad
B)Degree of the denominator polynomial set
a0 - a3, b0 - b3 Enter coefficients
Linear Transformation
Description
39Chapter 4 Function Block Library
4Function Block Library
This function block performs a linear transformation. This allows, for example for signals to be
converted to other physical quantities. For example, a voltage signal (0V - 10V) can be
converted to temperature (-40°C - +60°C).
Inputs and Outputs
InputData
typeDescription
Default
Value
in int16 Input value/signal 0
target_min int16 Minimum value of the target range of values 0
target_max int16 Maximum value of the target range of values 0
actual_min int16 Minimum value of the actual range of values 0
actual_max int16 Maximum value of the actual range of values 0
OutputData
typeDescription
Default
Value
out float Output value/signal 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Signal Switch
Description
This function block allows a signal to pass through if the condition cond is true.
13
40 Chapter 4 Function Block Library
4Function Block Library
Inputs and Outputs
InputData
typeDescription
Default
Value
in int16 Input value/signal 0
cond bool Condition for transmission 0
OutputData
typeDescription
Default
Value
out int16Output value/signal: same as the input value/signal in, if
the condition cond is true, otherwise 0.0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Two Way Signal Switch
Description
This function block switches between two input values/signals depending on the condition cond.
Inputs and Outputs
InputData
typeDescription
Default
Value
13
41Chapter 4 Function Block Library
4Function Block Library
in_true int16 Input value/signal 0
in_false int16 Input value/signal
cond bool Defines selection of the input values/signals 0
OutputData
typeDescription
Default
Value
out int16
Output value/signal: If the condition cond is true then
the output value corresponds to the input value/signal
in_true otherwise to the input value/signal in_false.
0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Tolerance Alert
Description
This function block acts like an alarm. If the input value falls below the minimum value min or
exceeds the maximum value max, then the output out is set to 1, otherwise it is set to 0.
Inputs and Outputs
InputData
typeDescription
Default
Value
in int16 Input value/signal 0
min int16 Minimum value 0
max int16 Maximum value 0
13
42 Chapter 4 Function Block Library
4Function Block Library
OutputData
typeDescription
Default
Value
out boolOutput value/signal: equals 1 if the input value in is
outside the interval [min,max], otherwise 0.false
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Differentiation
Description
This function block differentiates the discrete values of the previous and the current
measurement. The signal rise is calculated by including the cycle time.
Inputs and Outputs
InputData
typeDescription
Default
value
in int16 Input value/signal 0
OutputData
typeDescription
Default
value
out float Output value/signal 0
Properties dialog
13
43Chapter 4 Function Block Library
4Function Block Library
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Rectangular Integration
Description
This function block integrates the values at the input. The integration is done over rectangles
using a simple Euler method.
Inputs and Outputs
InputData
typeDescription
Default
value
in int16 Input value/signal 0
OutputData
typeDescription
Default
value
out int16 Output value/signal 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Trapeze Integration
13
13
44 Chapter 4 Function Block Library
4Function Block Library
Description
This function block integrates the values at the input. The integration is done over trapezes
using a simple Euler method.
Inputs and Outputs
InputData
typeDescription
Default
value
in int16 Input value/signal 0
OutputData
typeDescription
Default
value
out int16 Output value/signal 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Hold Element
Description
This function block provides a hold element. A hold element stores a value at the input and
outputs it when a new value is available at the input. The hold element delays the pass through
of the adjacent input value by a program step.
Inputs and Outputs
13
45Chapter 4 Function Block Library
4Function Block Library
InputData
typeDescription
Default
value
in int16 Input value/signal 0
OutputData
typeDescription
Default
value
out int16 Output value/signal 0
Properties dialog
Properties dialog of the hold element
Element Function/Description
in Current value at input
Previous value The previous value stored in the function block
Summation
Description
46 Chapter 4 Function Block Library
4Function Block Library
This function block is used to calculate a sum. The sum of all the values at the input in since
the last reset has been performed is placed at the output.
Inputs and Outputs
InputData
typeDescription
Default
value
in int16 Input value 0
reset bool Reset the function block false
OutputData
typeDescription
Default
value
out int16 Sum 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Filter
Symb
olVisualization Function block Description
Upper Limiter for
SignalsLimits a signal to a maximum
Lower Limiter for
SignalsLimits a signal to a minimum
Edge Detector Detects rising or falling signal edges
13
47
48
48
47Chapter 4 Function Block Library
4Function Block Library
AverageRepresents the average of upto 10
values
Smoothen Performs a smoothing
Upper Limiter for Signals
Description
The function block limits the signal to a maximum max.
Inputs and Outputs
InputData
typeDescription
Default
value
in int16 Input value/signal 0
max int16 Maximum value of the output 0
OutputData
typeDescription
Default
value
out int16 Output signal/value 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
49
50
13
48 Chapter 4 Function Block Library
4Function Block Library
Lower Limiter for Signals
Description
The function block limits the signal to a minimum min.
Inputs and Outputs
InputData
typeDescription
Default
value
in int16 Input value/signal 0
min int16 Minimum value at the output 0
OutputData
typeDescription
Default
value
out int16 Output value/signal 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Edge Detector
Description
13
49Chapter 4 Function Block Library
4Function Block Library
If the input signal in rises above or falls below the tolerance value tolerance then a pulse is
generated at the respective output. The function block can also be used to detect edges in
Boolean signals, in that case the tolerance is ignored.
Inputs and Outputs
InputData
typeDescription
Default
value
in int16 Input value/signal 0
tolerance int16 Threshold to differentiate between the two signal levels 0
OutputData
typeDescription
Default
value
rising bool Pulse on a rising edge false
falling bool Pule on a falling edge false
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Average
Description
This function block performs an average of up to 10 input values/signals.
13
50 Chapter 4 Function Block Library
4Function Block Library
Inputs and Outputs
InputData
typeDescription
Default
value
num uint8 The number of used input values/signals 1
val 1 int16 Input value 1 0
... ... ... ...
val 10 int16 Input value 10 0
OutputData
typeDescription
Default
value
res float Average 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Smoothen
Description
This function block smoothes the incoming signal by averaging it through three program
cycles.
Inputs and Outputs
13
51Chapter 4 Function Block Library
4Function Block Library
InputData
typeDescription
Default
value
in int16 Input value/signal 0
OutputData
typeDescription
Default
value
out int16 Output value/signal 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Flip-Flops
Symbo
lVisualization Function block Description
RS Flip-Flop Unclocked Reset/Set Flip-Flop
Leading Edge Driven
JK Flip-Flop
Jump/Kill Flip-Flop clocked on the
rising edge
Leading Edge Driven
D Flip-Flop
Data Flip-Flop clocked on the rising
edge
Leading Edge Driven
T Flip-Flop
Toggle Flip-Flop clocked on the rising
edge
Leading Edge Driven
RS Flip-Flop
Reset/Set Flip-Flop clocked on the
rising edge
RS Flip-Flop
13
51
53
54
55
56
52 Chapter 4 Function Block Library
4Function Block Library
Description
This function block represents an un-clocked RS flip-flop. The output signals behave according
to the following table:
Der Funktionsblock bildet eine ungetaktete RS-Kippstufe ab. Die Ausgangssignale verhalten
sich entsprechend folgender Tabelle:
reset set out nout
true false false true
false true true false
true* true* true true
false false - Constant - **
* Invalid input (Refer Race-Condition).
** The previous state of the outputs is maintained, if set = reset = false holds.
Note: The internal state resetOnStart determines if the flip-flop is reset to the initial state if the
corresponding SDF program is restarted.
Inputs and Outputs
InputData
typeDescription
Default
value
set bool Set false
reset bool Reset false
OutputData
typeDescription
Default
value
out bool Non-inverted output false
nout bool Inverted output false
53Chapter 4 Function Block Library
4Function Block Library
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Leading Edge Driven JK Flip-Flop
Description
This function block represents a leading edge triggered JK flip-flop. Only a rising a edge at the
input clock changes the state of the flip-flop. The output signals behave according to the
following table:
jump kill out nout
true false true false
false true false true
true true - State changes -
false false - Constant - *
* The previous state is maintained, if jump = kill = false holds.
Note: The internal state resetOnStart determines if the flip-flop is reset to the initial state if the
corresponding SDF program is restarted.
Inputs and Outputs
InputData
typeDescription
Default
value
jump bool Jump false
clock bool Clock input false
13
54 Chapter 4 Function Block Library
4Function Block Library
kill bool Kill false
OutputData
typeDescription
Default
value
out bool Non-inverted output false
nout bool Inverted output false
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Leading Edge Driven D Flip-Flop
Description
This function block represents a leading edge driven D flip-flop. If the input enable is set to true
and a rising edge is detected at the clock input, then the state of the input data is stored and
displayed at the output out. The output nout is inverted. The output signal is maintained as long
as the clock input detects a rising a edge again while the enable input is set to true.
Note: The internal state resetOnStart determines if the flip-flop is reset to the initial state if the
corresponding SDF program is restarted.
Inputs and Outputs
InputData
typeDescription
Default
value
data bool Data false
13
55Chapter 4 Function Block Library
4Function Block Library
clock bool Clock input false
enable bool Activation if the clock input true
OutputData
typeDescription
Default
value
out bool Non-inverted output false
nout bool Inverted output false
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Leading Edge Driven T Flip-Flop
Description
This function block represents a leading edge driven T flip-flop. With each rising edge on the
input clock the output changes its logical state. It is always equal to one of the both outputs
true while the other is false.
Note: The internal state resetOnStart determines if the flip-flop is reset to the initial state if the
corresponding SDF program is restarted.
Inputs and Outputs
InputData
typeDescription
Default
value
clock bool Clock input false
Output Data Description Default
13
56 Chapter 4 Function Block Library
4Function Block Library
type value
out bool Non-inverted output false
nout bool Inverted output false
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Leading Edge Driven RS Flip-Flop
Description
This function block represents a leading edge driven RS flip-flop. In contrast to the un-clocked
RS flip-flop, this function block has an additional input clock. Only when a rising edge occurs
at the input clock, the state of the flip flop changes according to the following table:
reset set out nout
true false false true
false true true false
true* true* true true
false false - Constant - **
* Invalid input (Refer Race-Condition).
** The previous state of the outputs is maintained, if set = reset = false holds.
Note: The internal state resetOnStart determines if the flip-flop is reset to the initial state if the
corresponding SDF program is restarted.
13
57Chapter 4 Function Block Library
4Function Block Library
Inputs and Outputs
InputData
typeDescription
Default
value
set bool Set false
clock bool Clock input false
reset bool Reset false
OutputData
typeDescription
Default
value
out bool Non-inverted output false
nout bool Inverted output false
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Signal Generation
Symb
olVisualization Function block Description
Ramp Signal Generates a ramp signal
Step Function Generates a step function
Saw Tooth Signal Generates a saw tooth signal
Pulse Width
Modulated SignalGenerates a pulse width
modulated signal (PWM)
13
58
59
60
61
58 Chapter 4 Function Block Library
4Function Block Library
Ramp Signal
Description
This function block generates a (digital) ram signal, which can be reset. The output signal has
value 0 at time 0. The time lapse of the ramp signal is described by the following variables:
The period length period determines how many program steps are included in a period. The
time behaviour depends on the assigned time slice of the program.
The parameter inc determines whether the signal is incremented per program step. With the
help of the input reset, the signal can also be reset outside the specified clock.
Inputs and Outputs
InputData
typeDescription
Default
value
reset bool Reset the signal false
period int16 Period length of the signal in program steps 0
inc int16 Increment of the signal per program step 0
OutputData
typeDescription
Default
value
signal int16 Output value/signal 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .13
59Chapter 4 Function Block Library
4Function Block Library
Step Function
Description
This function block generates a step like signal and can be used as a counter:
At time 0, the signal is 0
With every program step step the output signal is increased to inc
If one sets the input reset to true then the signal is reset.
Note: The time behaviour of the output signal depends on the time slice of the sub program.
Inputs and Outputs
InputData
typeDescription
Default
value
reset bool Resets the signal if true 0
step uint16 Number of program steps between two incremental /
decremental steps
1
inc int16 Increment/Decrement 1
OutputData
typeDescription
Default
value
signal int16 Output signal 0
Properties dialog
60 Chapter 4 Function Block Library
4Function Block Library
Properties dialog of the step function
Element Function/Description
step Number of program steps between two incremental /decremental steps
inc Increment/Decrement
Hold in reset
(Set to zero)
The step counter is reset and kept in initial state as long as the button
is activated.
Saw Tooth Signal
Description
This function block generates a (digital) saw tooth signal. The time behaviour of the output
signal is determined by the following input parameters:
At time 0, the signal is 0
period [s] describes the period of the signal in seconds
max describes the maximum value of the signal
In every program step, the signal value is determined by the line through the points (0, 0)
and (period [s], max)
61Chapter 4 Function Block Library
4Function Block Library
Inputs and Outputs
InputData
typeDescription
Default
value
period [s] int16 Period of the signal in seconds 0
max int16 Maximum value of the signal 0
AusgangData
typeDescription
Default
value
signal float Output signal 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Pulse Width Modulated Signal
Description
The pulse width modulation (PWM) block generates a signal that is alternatively HIGH and
LOW. The longer the signal is HIGH, the higher is the so called duty cycle of the PWM signal.
A duty cycle of 100% means that the signal is only HIGH, while a duty cycle of 0% means that
the signal is continuously LOW.
The input period [µs] defines the period of the PWM signal in microseconds. The input duty
[%] sets the duty cycle of the PWM signal in percentage ( 0 to 100). The generated PWM
signal is output at signal.
13
62 Chapter 4 Function Block Library
4Function Block Library
One can also get a PWM signal based on a (pedestrian) traffic light. If we assume that HIGH
means that the light is green and define the duty cycle as the relationship between the duration
of the red light phase to the green light phase, the higher the duty cycle the longer the light is
green.
In the example of the traffic lights one can see that the duty cycle always refers to a certain
period (the period of the signal). In the traffic light example, a period of 1 minute would be
realistic so that the traffic light according to the duty cycle is green for 40% of the time (24
seconds) and red for 60% (36 seconds). Subsequently, the state change is cyclically
repeated.
The function block Pulse Width Modulated Signal generates a signal with the following
properties:
The generated signal begins with a HIGH level
The HIGH level remains as long as the corresponding portion of time (relative to the period
period [µs]) of the duty cycle duty [%] is expired and after that the LOW level begins.
As soon as the period period [µs] expires, the signal level changes to HIGH and the state
change is repeated cyclically as described above.
Node: The stepping of the PWM signal is done at every program step. In order to generate a
smooth high-resolution PWM, the cycle time period [µs] muss be larger than the set time
slice of the respective sub-program (A time slice of 10 ms allows a period of 1 second =
1000000µs a granularity of 1% of the duty cycle).
Inputs and Outputs
InputData
typeDescription
Default
value
period [µs] uint32 Period of the signal in microseconds. 1000000
duty [%] int16 Duty cycle of the PWM signal in percentage 0
OutputData
typeDescription
Default
value
signal bool Output signal false
63Chapter 4 Function Block Library
4Function Block Library
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Constants
Symbo
lVisualization Function block Description
Constant Value Generates a constant value
Pi (3.14159...) Generates the constant π
Euler's Number
(2.71828...)Generates the constant e
Constant Value
Beschreibung
This function block generates a constant number. The value of the constants can be entered
directly into the input field of the function block. This is also called the Properties dialog .
Inputs and Outputs
OutputData
typeDescription
Default
value
val int16 Value of the constant 0
13
63
64
64
64
64 Chapter 4 Function Block Library
4Function Block Library
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Pi (3.14159...)
Description
This function generates a Constant Number whose value approximates to π (3.14159...).
Inputs and Outputs
OutputData
typeDescription
Default
value
val float The value approximates the number π : 3.14159... 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Euler's Number (2.71828...)
Description
This function generates a Constant Number whose value approximates to e (2.71828...).
13
63
13
63
65Chapter 4 Function Block Library
4Function Block Library
Inputs and Outputs
OutputData
typeDescription
Default
value
val float The value approximates to the number e (2.71828...). 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Interfaces
Symbo
lVisualization Function block Description
Service Interface Provides a service interface
Service Interface
Description
This function block provides a service interface. Through this interface, one can obtain service
data, which can be used to evaluate the state of the system.
Service Interfaces are disabled by default. It comes in to effect if the option Enable Service
Interface is selected in the Code Generation Settings .
Inputs and Outputs
13
65
19
66 Chapter 4 Function Block Library
4Function Block Library
InputData
typeDescription
Default
value
default int16 Default value of the service interface 0
OutputData
typeDescription
Default
value
value int16 Current/Configured value of the service port 0
Properties dialog
Properties dialog of the Service Interface (service variable)
Element Function/Description
default Default value of the service interface
Read only Specifies if you can only read the values from the service interface
Math
Symb
olVisualization Function block Description
Type Cast Cast data to a specified type..97
67Chapter 4 Function Block Library
4Function Block Library
AssertionAsserts that a variable has a
certain value.
Float splitterSplits a floating point number
into two integer numbers.
Kategorie
Arithmetic Operations
Comparison Operations
Logical Operations
Bitwise Operations
Functions
Trigonometry
Arithmetic Operations
Symbo
lVisualization Function block Description
Addition Sums up two or more numbers.
Division Divides one number by another.
ModuloCalculates the modulo of two
numbers..
Multiplication Multiplies two numbers.
SubtractionSubtracts two or more numbers from
a number.
98
99
67
73
78
82
89
91
68
69
70
71
72
68 Chapter 4 Function Block Library
4Function Block Library
Addition
Description
This function block implements the addition of two or more numbers. The result of this function
block is the sum of the input numbers.
Note: The Data Type of inputs and outputs can be changed in the Properties Dialog .
Inputs and Outputs
InputData
typeDescription
Default
value
op 1 int16 Summand 1 0
... ... ... ...
op 8 int16 Summand 8 0
OutputData
typeDescription
Default
value
res int16 Sum of all the numbers 0
Properties dialog
14 68
69Chapter 4 Function Block Library
4Function Block Library
Properties dialog of the addition
Element Function/Description
Number of summands Configures the number of summands
op 1 Value of summand 1
... ...
op 8 Value of summand 8
Division
Description
This function block implements the division of two numbers. The first input port specifies the
dividend op 1, the second specifies the divisor op 2. The result is the division op 1 / op 2.
Note: The Data Type of inputs and outputs can be changed in the Properties Dialog .
Inputs and Outputs
14 68
70 Chapter 4 Function Block Library
4Function Block Library
InputData
typeDescription
Default
value
op 1 int16 Dividend 0
op 2 int16 Divisor 1
OutputData
typeDescription
Default
value
res int16 Quotient 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Modulo
Description
This function block returns the remainder of the division of two numbers. The value of the
output always ranges from 0 (inclusive) to the value of the divisor (op 2) (exclusive).
Note: The numbers entered must not necessarily be integers. In case of decimal numbers, the
result is also a decimal number. The Data Type of inputs and outputs can be changed in
the Properties Dialog .
Inputs and Outputs
InputData
typeDescription
Default
value
op 1 int16 Dividend 0
13
14
68
71Chapter 4 Function Block Library
4Function Block Library
op 2 int16 Divisor 1
OutputData
typeDescription
Default
value
res int16 Remainder 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Application Example(s)
An application example is the detection of whether a number is even or odd. This test can be
done by computing the modulo 2 of that number. The result is zero if the number is even and
one if odd. By subsequent comparison with zero, for example, the question "Is the number
even?", can be answered as a Boolean value.
Multiplication
Description
This function block implements the multiplication of two or more numbers. The result is the
product of the input numbers.
Note: The Data Type of inputs and outputs can be changed in the Properties Dialog .
Inputs and Outputs
Input Data Description Default
13
14 68
72 Chapter 4 Function Block Library
4Function Block Library
type value
op 1 int16 Factor 1 0
op 2 int16 Factor 2 0
OutputData
typeDescription
Default
value
res int16 Product of factors 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Subtraction
Description
This function block implements the subtraction of up to 8 numbers from one number. The result
is the difference of the these numbers
Note: The Data Type of inputs and outputs can be changed in the Properties Dialog .
Inputs and Outputs
InputData
typeDescription
Default
value
op 1 int16 Subtrahend 0
op 2 nt16 Minuend 1 0
... ... ... ...
op 9 int16 Minuend 8 0
13
14 68
73Chapter 4 Function Block Library
4Function Block Library
OutputData
typeDescription
Default
value
res int16 Result of the subraction 0
Properties dialog
Properties dialog of the subtraction
Element Function/Description
Number of minuends Configures the number of minuends of subraction
op 2 Value of minuend 1
... ...
op 9 Value of minuend 8
Comparison Operations
Symbo
lVisualization Function block Description
Equality Tests if two numbers are equal.74
74 Chapter 4 Function Block Library
4Function Block Library
GreaterTests if one numbers is greater than
the other.
Greater or EqualTests if one numbers is greater or
equal than the other.
InequalityTests if one numbers is inequal to the
other.
LessTests if one numbers is less than the
other.
Less or Equal Tests if one numbers is less than or
equal to the other.
Equality
Description
This function block compares two numbers. If the numbers are equal, then true will be
returned.
Inputs and Outputs
InputData
typeDescription
Default
value
val 1 int16 Value 1 0
val 2 int16 Value 2 0
OutputData
typeDescription
Default
value
res bool Result of the comparison false
Properties dialog
75
75
76
77
78
75Chapter 4 Function Block Library
4Function Block Library
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Greater
Description
This function block compares two numbers. It returns true if val 1 is greater than val 2.
Input and Output
InputData
typeDescription
Default
value
val 1 int16 Value 1 0
val 2 int16 Value 2 0
AusgangData
typeDescription
Default
value
res bool Result of the comparison false
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Greater or Equal
13
13
76 Chapter 4 Function Block Library
4Function Block Library
Description
This function block compares two numbers. It returns true if val 1 is greater than or equal to
val 2.
Input and Output
InputData
typeDescription
Default
value
val 1 int16 Value 1 0
val 2 int16 Value 2 0
OutputData
typeDescription
Default
value
res bool Result of the comparison false
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Inequality
Description
This function block compares two numbers. It returns true if the numbers are unequal.
Input and Output
13
77Chapter 4 Function Block Library
4Function Block Library
InputData
typeDescription
Default
value
val 1 int16 Value 1 0
val 2 int16 Value 2 0
OutputData
typeDescription
Default
value
res bool Result of the comparison false
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Less
Description
This function block compares two numbers. It returns true if val 1 is less than val 2.
Inputs and Outputs
InputData
typeDescription
Default
value
val 1 int16 Value 1 0
val 2 int16 Value 2 0
OutputData
typeDescription
Default
value
res bool Result of the comparison false
13
78 Chapter 4 Function Block Library
4Function Block Library
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Less or Equal
Description
This function block compares two numbers. It returns true if val 1 is less than or equal to val 2.
Inputs and Outputs
InputData
typeDescription
Default
value
val 1 int16 Value 1 0
val 2 int16 Value 2 0
OutputData
typeDescription
Default
value
res bool Result of the comparison false
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Logical Operators
Symbo
lVisualization Function block Description
13
13
79Chapter 4 Function Block Library
4Function Block Library
Logical AND
(Conjuction)Calculates the conjunction.
Logical OR
(Disjunction)Calculates the disjunction.
Exclusive OR Calculates an exclusive or.
Negation Calculates a negation.
Logical AND (Conjunction)
Description
This function block calculates an AND-operation on two Boolean values. The result is true if
both values are true.
Inputs and Outputs
InputData
typeDescription
Default
value
op 1 bool Boolean value 1 false
op 2 bool Boolean value 2 false
OutputData
typeDescription
Default
value
res bool Result of the AND operation false
Properties dialog
79
80
80
81
80 Chapter 4 Function Block Library
4Function Block Library
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Logical OR (Disjunction)
Description
This function block calculates an OR-operation on two Boolean values. The result is true if at
least one of the values is true.
Inputs and Outputs
InputData
typeDescription
Default
value
op 1 bool Boolean value 1 false
op 2 bool Boolean value 2 false
OutputData
typeDescription
Default
value
res bool Result of the OR operation false
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Exclusive OR
13
13
81Chapter 4 Function Block Library
4Function Block Library
Description
This function block calculates an exclusive OR-operation on two Boolean values. The result is
true if exactly one value is true.
Inputs and Outputs
InputData
typeDescription
Default
value
op 1 bool Boolean value 1 false
op 2 bool Boolean value 2 false
OutputData
typeDescription
Default
value
res bool Result of the exclusive OR operation false
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Negation
Description
This function block calculates a negation of a Boolean value. The result is true if the input value
is false.
13
82 Chapter 4 Function Block Library
4Function Block Library
Inputs and Outputs
InputData
typeDescription
Default
value
op bool Boolean value false
OutputData
typeDescription
Default
value
res bool Result of the negation operation false
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Bitwise Operations
Symbo
lVisualization Function block Description
Bitwise ANDCalculates the bitwise AND of two
numbers.
Bitwise Exclusive OR Calculates the Exclusive OR of two
numbers.
Bitwise NOTCalculates the bitwise NOT of a
number.
Bitwise ORCalculates the bitwise OR of two
numbers.
Bitwise Shift Left Calculates a bitwise shift to the left.
13
83
84
84
85
86
83Chapter 4 Function Block Library
4Function Block Library
Bitwise Shift Right Calculates a bitwise shift to the right.
Bitwise Test Tests whether a certain bit is set.
Bitwise AND
Description
This function block calculates the bitwise AND operation on two integer numbers. The
corresponding result of the operation can be found at the output.
Inputs and Outputs
InputData
typeDescription
Default
value
op 1 int16 Value 1 0
op 2 int16 Value 2 0
OutputData
typeDescription
Default
value
res int16 Result of the bitwise AND operation 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
87
88
13
84 Chapter 4 Function Block Library
4Function Block Library
Bitwise Exclusive OR
Description
This function blocks implements the bitwise Exclusive OR of two integer numbers. The
corresponding result of the operation can be found at the output. In comparison with the
normal OR operation, the result bit is set to 1 if only exactly one of the inputs has value 1.
Inputs and Outputs
InputData
typeDescription
Default
value
op 1 int16 Value 1 0
op 2 int16 Value 2 0
OutputData
typeDescription
Default
value
res int16 Result of the bitwise Exclusive OR operation 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Bitwise NOT
Description
13
85Chapter 4 Function Block Library
4Function Block Library
This function block calculates the bitwise NOT. This means, the each bit is being inverted.
Inputs and Outputs
InputData
typeDescription
Default
value
op int16 Input value 0
OutputData
typeDescription
Default
value
res int16 Negation of the input value 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Bitwise OR
Description
This function block calculates a bitwise OR operation. The comparison takes place bit by bit.
The result bit will be assigned value 1 if at least one of the two input bits has the value 1.
Inputs and Outputs
InputData
typeDescription
Default
value
op 1 int16 Wert 1 0
13
86 Chapter 4 Function Block Library
4Function Block Library
op 2 int16 Wert 2 0
OutputData
typeDescription
Default
value
res int16 Result of the bitwise OR operation 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Bitwise Shift Left
Description
This function block implements a bitwise left shift. On the right side, the empty bits are padded
with zeros. The input shift indicates how many places to be shifted.
Note: Every left shift of the input value by one bit, corresponds to multiplication of a unsigned
integer number with 2.
Caution: The sign of a signed number is lost in this operation, which changes the
interpretation of the numeric value. Bitwise Shift Left should therefore be used cautiously as
replacement for multiplication.
Inputs and Outputs
InputData
typeDescription
Default
value
val int16 Input value 0
13
87Chapter 4 Function Block Library
4Function Block Library
shift int16 Number of bit positions by which the input value is to
be shifted
0
OutputData
typeDescription
Default
value
res int16 Value after the shift operation 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Bitwise Shift Right
Description
This function block implements a bitwise right shift. On the left side, the empty bits are padded
with zeros. The input shift indicates how many places to be shifted.
Note: Every right shift of the input value by one bit, corresponds to division of a unsigned
integer number with 2.
Caution: The sign of a signed number is lost in this operation, which changes the
interpretation of the numeric value. Bitwise Shift Right should therefore be used cautiously
as replacement for division.
Inputs and Outputs
InputData
typeDescription
Default
value
val int16 Input value 0
shift int16 Number of bit positions by which the input value is to 0
13
88 Chapter 4 Function Block Library
4Function Block Library
be shifted
OutputData
typeDescription
Default
value
res int16 Value after the shift operation 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Bitwise Test
Description
This function block checks the bit bit of a binary number val. The function block returns 1 if the
bit is set, otherwise returns 0.
Inputs and Outputs
InputData
typeDescription
Default
value
val int16 Value 0
bit int16 Number of the bit to be tested. The count of the bits
start at 0.
0
OutputData
typeDescription
Default
value
res int16 Result of the bit test 0
13
89Chapter 4 Function Block Library
4Function Block Library
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Functions
Symbo
lVisualization Function block Description
Absolute Value Calculates the absolute value.
Minimum Calculates the minimum.
Maximum Calculates the maximum.
Absolute Value
Description
This function block calculates the absolute value of a number.
Inputs and Outputs
InputData
typeDescription
Default
value
val int16 Input value 0
OutputData
typeDescription
Default
value
13
89
90
91
90 Chapter 4 Function Block Library
4Function Block Library
res int16 Absolute value of the input 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Minimum
Description
This function block calculates the minimum of two numbers. The smaller number is placed at
the output.
Inputs and Outputs
InputData
typeDescription
Default
value
val 1 int16 Value 1 0
val 2 int16 Value 2 0
OutputData
typeDescription
Default
value
res int16 The smaller value of the two input values 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
13
13
91Chapter 4 Function Block Library
4Function Block Library
Maximum
Description
This function block calculates the maximum of two numbers. The bigger number is placed at
the output.
Inputs and Outputs
InputData
typeDescription
Default
value
val 1 int16 Value 1 0
val 2 int16 Value 2 0
OutputData
typeDescription
Default
value
res int16 The bigger value of the two input values 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Trigonometry
Symb
olVisualization Function block Description
Sine Calculates the sine.
13
92
92 Chapter 4 Function Block Library
4Function Block Library
Cosine Calculates the cosine.
Tangent Calculates the tangent.
Arc Sine Calculates the arc sine.
Arc Cosine Calculates the arc cosine.
Arc Tangent Calculates the arc tangent.
Arc Tangent 2Calculates the arc tangent using a
(X,Y)-coordinate.
Sine
Description
This function block calculates the sine of the angle angle [rad].
Inputs and Outputs
InputData
typeDescription
Default
value
angle [rad] float Angle in radians 0
OutputData
typeDescription
Default
value
res float Sine of the angle 0
93
93
94
95
96
96
93Chapter 4 Function Block Library
4Function Block Library
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Cosine
Description
This function block calculates the cosine of the angle angle [rad].
Inputs and Outputs
InputData
typeDescription
Default
value
angle [rad] float Angle in radians 0
OutputData
typeDescription
Default
value
res float Cosine of the angle 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Tangent
13
13
94 Chapter 4 Function Block Library
4Function Block Library
Description
This function block calculates the tangent of the angle angle [rad].
Inputs and Outputs
InputData
typeDescription
Default
value
angle [rad] float Angle in radians 0
OutputData
typeDescription
Default
value
res float Tangent of the angle 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Arc Sine
Description
This function calculates the inverse of sine i.e. the angle (in radians) at a given sine value.
Inputs and Outputs
InputData
typeDescription
Default
value
13
95Chapter 4 Function Block Library
4Function Block Library
sin float Sine value 0
OutputData
typeDescription
Default
value
angle [rad] float Angle in radians 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Arc Cosine
Description
This function calculates the inverse of cosine i.e. the angle (in radians) at a given cosine value.
Inputs and Outputs
InputData
typeDescription
Default
value
cos float Cosine value 0
OutputData
typeDescription
Default
value
angle [rad] float Angle in radians 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
13
96 Chapter 4 Function Block Library
4Function Block Library
function blocks can be configured in the Standard Properties Dialog .
Arc Tangent
Description
This function calculates the inverse of tangent i.e. the angle (in radians) at a given tangent
value.
Inputs and Outputs
InputData
typeDescription
Default
value
tan float Tangent value 0
OutputData
typeDescription
Default
value
angle [rad] float Angle in radians 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Arc Tangent 2
Description
This function block calculates an angle (in radians) using a (X,Y) coordinate which can be
regarded as a point within a Cartesian coordinate system. The calculated angle is equal to the
angle between the positive axis (x-axis) and the diagonal from the origin to the point (X,Y).
13
13
97Chapter 4 Function Block Library
4Function Block Library
Inputs and Outputs
InputData
typeDescription
Default
value
y float Y-coordinate of the point 0
x float X-coordinate of the point 0
OutputData
typeDescription
Default
value
angle [rad] float Angle 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Type Cast
Description
With this function block, data of a certain Data type can be converted to another data type.
This is useful, for example, if the output of a function block must be converted to another data
type for further processing. For type casts, the following rules are valid:
Source Type Source value (src) Target Type Result (dst)
Number 0 Boolean Value false
Number not equal to 0 Boolean Value true
Boolean value false Number 0
Boolean value true Number 1
13
14
98 Chapter 4 Function Block Library
4Function Block Library
Number x Number x if represented,
otherwise undefined
In the table above, Number represents a Data type from the set {uint8, uint16, uint32,
uint64, int8, int16, int32, int64}. Boolean represents data type bool.
Inputs and Outputs
InputData
typeDescription
Default
value
src int16 Value of the input (as source data type) 0
OutputData
typeDescription
Default
value
dst int16 Value of the output (as target data type) 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Assertion
Description
With this function block, you can assert values at certain points in your program.
Inputs and Outputs
14
13
99Chapter 4 Function Block Library
4Function Block Library
InputData
typeDescription
Default
value
target int16 Expected value 0
actual int16 Current value 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Float splitter
Description
With this function block you can split a floating point number into two integer numbers, one
representing the integer part, the other one the decimal part. You can use this function block,
e.g., to output float numbers on the OLED display of EasyKit Mini which doesn't support this
directly. The number of decimals can be set individually.
Inputs and Outputs
InputData
typeDescription
Default
value
value float Floating point number 0
number of
decimals
uint8 Number of decimale 2
OutputData
typeDescription
Default
value
integer part int32 Integer part 0
decimal part uint32 Decimal part 0
13
100 Chapter 4 Function Block Library
4Function Block Library
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Misc
Symbo
lVisualization Function block Description
Multiplexer Selection of one input.
Demultiplexer Distribution among multiple outputs.
Multiplexer
Description
With this function block, an output (out) can be selected from a number of input values/signals
(in 1 to in 4) based on the select signal.
Inputs and Outputs
InputData
typeDescription
Default
value
select uint8 Control signal for selecting the input value(s)/signal(s) 0
in 1 int16 Input value/signal 1 0
13
100
101
101Chapter 4 Function Block Library
4Function Block Library
... ... ... ...
in 4 int16 Input value/signal 4 0
OutputData
typeDescription
Default
value
out int16 Output value/signal 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Demultiplexer
Description
With this function block, an input signal in can be distributed to several outputs (out 1 to out 4)
based on the select signal select. At any given time, the input signal is passed through exactly
one output. All the other outputs have default values.
Inputs and Outputs
InputData
typeDescription
Default
value
select uint8 Control signal for selecting the output 0
in int16 Input value/signal 0
default int16 Default value for all non-selected outputs 0
13
102 Chapter 4 Function Block Library
4Function Block Library
OutputData
typeDescription
Default
value
out 1 int16 Output value/signal 1 0
... ... ... ...
out 4 int16 Output value/signal 4 0
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Visualization
Symbo
lVisualization Function block Description
Value Display Shows a value including its physical unit.
Interval Display Shows a bar chart for a value.
Oscilloscope Visualizes up to 16 input signals.
Value Display
Description
This function block allows to visualize a certain value together with its appropriate physical
value. This is useful for highlighting certain calculation results in a data flow program. The
function block does not have any functional impact on the program.
13
102
104
106
103Chapter 4 Function Block Library
4Function Block Library
The value to display has to be provided on input value. This input is typically connected with
the output of another function block using an edge. The physical unit to show in the function
block is set by the input unit and can be freely defined. The unit can be set up using the
function block's Property Dialog .
Inputs and Outputs
InputData
typeDescription
Default
value
val int16 Current displayed value 0
Properties dialog
Properties dialog of the value display
Element Function/Description
val Current displayed value
Unit Physical unit of the displayed value (for example mm)
103
104 Chapter 4 Function Block Library
4Function Block Library
Application example(s)
A usage scenario of this function block is the visualization of the speed of an electric motor.
For this purpose, the current revolutions per minute (rpm) of the motor is calculated by suitable
function blocks and the output of the respective function block is then connected to an instance
of this function block. Furthermore, the unit of the value is set to "rpm" (rounds per minute)
using the function block's Property Dialog . While the program is running, the function block
will then clearly announce the respective current motor speed.
Interval Display
Description
This function block can be used to display a value within a certain interval in form of a block
diagram. This is useful if the range of values if known and the values should also be displayed
visually in addition to a textual representation. The function block does not have any functional
impact on the program. The bar diagram is displayed in the function block's property dialog
.
The input val receives the value to be visualized. This input is usually connected to an output of
another function block. The inputs min (minimum) and max (maximum) define the lower and
upper limit of the interval that should be used for visualization. Set them so that the actual value
is always in between the minimum and the maximum. Use the property dialog of the function
block for this purpose.
Inputs and Outputs
InputData
typeDescription
Default
value
val int16 Currently displayed value 0
min int16 Smallest representable number (lower interval limit) 0
max int16 Largest representable number (upper interval limit) 100
103
105
105
105Chapter 4 Function Block Library
4Function Block Library
Properties dialog
Properties dialog of the interval display
The property dialog also allows you to let the interval automatically be detected while the
program is running. For this purpose, activate the button "Auto range" and cause the value on
the input val to change, for example by influencing a sensor that is attached to the input.
Disable "Auto range" afterwards by clicking on the button again.
To improve the accuracy of the displayed values, the fundamental data type of integers (int16)
is converted to decimal numbers (for example double). Please refer to the Advanced tab of the
Property dialog.
Element Function/Description
Representation of the currently displayed value by means of a
progress bar
val Currently displayed value
min Smallest representable number (lower interval limit)
max Largest representable number (upper interval limit)
Auto range Determines the range of values based on the minimum and maximum
continuous readings.
106 Chapter 4 Function Block Library
4Function Block Library
Application example(s)
An interval display shall be used for visualization of the current value received from an analog
input function block. For this purpose, the output of the respective function block is to be
connected to the input val of an instance of the function block interval display. For the
visualization to be meaningful, it is suitable to adapt the range of values of the interval to match
the voltage range of the analog input.
For example, assuming the analog input has a maximum voltage of 5.0 Volts (double, see also
Properties Dialog ), the values min = 0.0 and max = 5.0 are meaningful.
Oscilloscope
Description
With this function block up to 16 different input signals can be visualized. The function block
strongly mirrors a real oscilloscope and expects input signals to the connectors ch1 bis ch16.
The visualization of the signals can be done in the properties dialog of the function block.
Inputs and Outputs
InputData
typeDescription
Default
value
ch1 int16 Input signal 1 0
... ... ... ...
ch16 int16 Input signal 16 0
Properties dialog
105
106
107Chapter 4 Function Block Library
4Function Block Library
Properties dialog of the oscilloscope
The input signals can be visualized in the Properties dialog. The visualization strongly mirrors
to that on a real oscilloscope. For each channel a wide range of parameters can be configured
separately.
Element Function/Description
Display region In the display region the acquired signals can be viewed. Each
input signal is assigned a different color. All parameters can be
adjusted using the context menu of the display region, and applied
to a channel (i.e. an input signal).
Disable
Disables the corresponding channel. The input signal at the disable
port is not sampled.
Enable channel x
Activates the corresponding channel if it was previously disabled.
Time
Configures the time base of the channel in milliseconds.
108 Chapter 4 Function Block Library
4Function Block Library
Amplification
Configures the gain of the channel per scale division.
Trigger
Sets the trigger condition for each channel. The channel can be
triggered on its rising or falling edge or another channel can be set
as the trigger source.
Set color
Configures the display color for the display of each channel.
Furthermore, the baseline of each channel can be displaced
vertically using the left marker of the two red triangular markers.
This can also be done by left clicking on the marker and dragging it
while holding the mouse button to a desired height. The right of the
two markers defines the trigger threshold of the channel. The
adjustment will take place for the currently selected channel. This
can be set by clicking the respective color symbol.
Number of
channelsNumber of channels being currently read
EasyKit Starter
The EasyKit Starter is an experimental platform based on micro-controllers. In addition to 3
buttons and LEDs, it has two slots for stacking Match-X components that allow the input and
output pins of the micro-controller to be configured with pre screening.
Category Description
LEDsThis category offers the possibility to turn on and off the
LEDs on the EasyKit Starter.
SwitchesThis category offers the possibility to read-out the
switches of the EasyKit Starter.
109
112
109Chapter 4 Function Block Library
4Function Block Library
Stack 1This category contains function blocks for control of the
1st stack of the EasyKit Starter.
Stack 2 This category contains function blocks for control of the
2nd stack of the EasyKit Starter.
LEDs
Symbo
lVisualization Function block Description
Red LEDRed LED (LED 1) of the EasyKit
Starter.
Yellow LEDYellow LED (LED 2) of the EasyKit
Starter.
Green LEDGreen LED (LED 3) of the EasyKit
Starter.
Red LED
Description
This function block offers the possibility to turn the red LED (LED 1) on the EasyKit Starter on
and off.
Inputs and Outputs
Input Data Description Default
116
144
109
110
111
110 Chapter 4 Function Block Library
4Function Block Library
type value
status bool Status of the LED false
Properties dialog
Properties dialog of the red LED
Element Function/Description
On/Off The deactivated button indicates the status of the LED.
Yellow LED
Description
This function block offers the possibility to turn the yellow LED (LED 2) on the EasyKit Starter
on and off.
Inputs and Outputs
111Chapter 4 Function Block Library
4Function Block Library
InputData
typeDescription
Default
value
status bool Status of the LED false
Properties dialog
Properties dialog of the yellow LED
Element Function/Description
On/Off The deactivated button indicates the status of the LED.
Green LED
Description
This function block offers the possibility to turn the green LED (LED 3) on the EasyKit Starter
on and off.
Inputs and Outputs
112 Chapter 4 Function Block Library
4Function Block Library
InputData
typeDescription
Default
value
status bool Status of the LED false
Properties dialog
Properties dialog of the green LED
Element Function/Description
On/Off The deactivated button indicates the status of the LED.
Switches
Symbo
lVisualization Function block Description
Switch 1 Switch 1 on the EasyKit Starter.
Switch 2 Switch 2 on the EasyKit Starter.
113
114
113Chapter 4 Function Block Library
4Function Block Library
Switch 3 Switch 3 on the EasyKit Starter.
Switch 1
Description
This function block offers the possibility to read-out the state of switch 1 on the EasyKit Starter
Inputs and Outputs
OutputData
typeDescription
Default
value
status bool Status of the switch false
Properties dialog
Properties dialog of the switch 1
115
114 Chapter 4 Function Block Library
4Function Block Library
Element Function/Description
Simulated/measured input: On/Off
The state of the switch can be simulated over the
button
Switch 2
Description
This function block offers the possibility to read-out the state of switch 2 on the EasyKit Starter
Inputs and Outputs
OutputData
typeDescription
Default
value
status bool State of the switch false
Properties dialog
115Chapter 4 Function Block Library
4Function Block Library
Properties dialog of the switch 2
Element Function/Description
Simulated/measured input: On/Off
The state of the switch can be simulated over the
button
Switch 3
Description
This function block offers the possibility to read-out the state of switch 3 on the EasyKit Starter
Inputs and Outputs
OutputData
typeDescription
Default
value
status bool State of the switch false
Properties dialog
116 Chapter 4 Function Block Library
4Function Block Library
Properties dialog of the switch 3
Element Function/Description
Simulated/measured input: On/Off
The state of the switch can be simulated over the
button
Stack 1
This category contains function blocks for control of the first stack (Stack 1) on the EasyKit
Starter board.
Category
Analog I/O (Channel 1)
Analog I/O (Channel 2)
Analog I/O 10V (Channel 1)
Analog I/O 10V (Channel 2)
Digital I/O (Channel 1)
Digital I/O (Channel 2)
Digital I/O 24V (Channel 1)
Digital I/O 24V (Channel 2)
117
119
121
123
125
129
133
136
117Chapter 4 Function Block Library
4Function Block Library
Inductive Load Driver (Channel 1)
Inductive Load Driver (Channel 2)
Temperature Sensor
Analog I/O (Channel 1)
Symbo
lVisualization Function block Description
Analog Input on AIn1 Reads analog input 1 of stack 1
Analog Output on
AOut1Controls analog output 1 of stack 1
Note: This module cannot be used together with the Analog I/O 10V (Channel 1) module on stack 1.
Analog Input on AIn1
Description
This function block reads the value of analog input 1 (AIn1) of stack 1 and returns it on its
output port. The value is returned in raw form as well as a voltage value.
Inputs and Outputs
OutputData
typeDescription
Default
value
dat floatValue of the voltage in V which bears on the relevant
pin.0
raw int16 16-bit numerical value of the analog-digital conversion 0
err bool Error output: always false during program execution true
140
141
143
117
118
121
118 Chapter 4 Function Block Library
4Function Block Library
Properties dialog
Properties dialog of the analog input 1 (AIn1) (analoginput)
Element Function/Description
Simulated/measured input
The simulated voltage at the analog input can be adjusted
during simulation using the slider.
Analog Output on AOut1
Description
This function block generates a PWM signal with a duty cycle duty_cycle [%] at the analog
output 1 (AOut1) of Stack 1.
Note: The period of the PWM signal can be defined in micro-seconds in the Input period [µs]
section of the Properties dialog of the function block
Inputs and Outputs
Input Data Description Default
119Chapter 4 Function Block Library
4Function Block Library
type value
duty_cycle
[%]float Duty cyle of the PWM 50
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Analog I/O (Channel 2)
Symbo
lVisualization Function block Description
Analog Input on AIn2 Reads analog input 2 of stack 1
Analog Output on
AOut2Controls analog output 2 of stack 1
Note: This module cannot be used together with the Analog I/O 10V (Channel 2) module on stack 1.
Analog Input on AIn2
Description
This function block reads the value of analog input 2 (AIn2) of stack 1 and returns it on its
output port. The value is returned in raw form as well as a voltage value.
Inputs and Outputs
Output Data Description Default
13
119
120
123
120 Chapter 4 Function Block Library
4Function Block Library
type value
dat floatValue of the voltage in V which bears on the relevant
pin0
raw int16 16-bit numerical value of the analog-digital conversion 0
err bool Error output: always false during program execution true
Properties dialog
Properties dialog of the analog input 2 (AIn2) (analoginput)
Element Function/Description
Simulated/measured input
The simulated voltage at the analog input can be adjusted
during simulation using the slider.
Analog Output on AOut2
Description
This function block generates a PWM signal with a duty cycle duty_cycle [%] at the analog
output 2 (AOut1) of Stack 1.
Note: The period of the PWM signal can be defined in micro-seconds in the Input period [µs]
121Chapter 4 Function Block Library
4Function Block Library
section of the Properties dialog of the function block
Inputs and Outputs
InputData
typeDescription
Default
value
duty_cycle
[%]float Duty cyle of the PWM 50
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Analog I/O 10V (Channel 1)
Symbo
lVisualization Function block Description
Analog Input on AIn1
(10V)Reads analog input 1 of stack 1
Analog Output on
AOut1 (10V)Controls analog output 1 of stack 1
Note: This module will work only if an external power supply (12V to 24V) is connected to the EasyKit
Starter. It cannot be used together with the Analog I/O (Channel 1) on Stack 1.
Analog Input on AIn1 (10V)
Description
This function block reads the value of analog input 1 (AIn1) of stack 1 and returns it on its
output port. The value is returned in raw form as well as a voltage value. The voltage can be
between 0V and 10V.
13
121
122
117
122 Chapter 4 Function Block Library
4Function Block Library
Inputs and Outputs
OutputData
typeDescription
Default
value
dat floatValue of the voltage in V which bears on the relevant
pin.0
raw int16 16-bit numerical value of the analog-digital conversion 0
err bool Error output: always false during program execution true
Properties dialog
Properties dialog of the analog input 1 (AIn1) (analoginput)
Element Function/Description
Simulated/measured input
The simulated voltage at the analog input can be adjusted
during simulation using the slider.
Analog Output on AOut1 (10V)
Description
123Chapter 4 Function Block Library
4Function Block Library
This function block generates a PWM signal with a duty cycle duty_cycle [%] at the analog
output 1 (AOut1) of Stack 1. The output voltage is between 0V and 10V.
Note: The period of the PWM signal can be defined in micro-seconds in the Input period [µs]
section of the Properties dialog of the function block
Inputs and Outputs
InputData
typeDescription
Default
value
duty_cycle
[%]float Duty cyle of the PWM 50
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Analog I/O 10V (Channel 2)
Symbo
lVisualization Function block Description
Analog Input on AIn2
(10V)Reads analog input 2 of stack 1
Analog Output on
AOut2 (10V)Controls analog output 2 of stack 1
Note: This module will work only if an external power supply (12V to 24V) is connected to the EasyKit
Starter. It cannot be used together with the Analog I/O (Channel 2) on Stack 1.
13
119
120
119
124 Chapter 4 Function Block Library
4Function Block Library
Analog Input on AIn2 (10V)
Description
This function block reads the value of analog input 2 (AIn2) of stack 1 and returns it on its
output port. The value is returned in raw form as well as a voltage value. The voltage can be
between 0V and 10V.
Inputs and Outputs
OutputData
typeDescription
Default
value
dat floatValue of the voltage in V which bears on the relevant
pin0
raw int16 16-bit numerical value of the analog-digital conversion 0
err bool Error output: always false during program execution true
Properties dialog
Properties dialog of the analog input 2 (AIn2) (analoginput)
125Chapter 4 Function Block Library
4Function Block Library
Element Function/Description
Simulated/measured input
The simulated voltage at the analog input can be adjusted
during simulation using the slider.
Analog Output on AOut2 (10V)
Description
This function block generates a PWM signal with a duty cycle duty_cycle [%] at the analog
output 2 (AOut1) of Stack 1. The output voltage is between 0V and 10V.
Note: The period of the PWM signal can be defined in micro-seconds in the Input period [µs]
section of the Properties dialog of the function block
Inputs and Outputs
InputData
typeDescription
Default
value
duty_cycle
[%]float Duty cyle of the PWM 50
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Digital I/O (Channel 1)
Symbo
lVisualization Function block Description
Digital Input on DIn1 Reads digital input 1 of stack 1
13
126
126 Chapter 4 Function Block Library
4Function Block Library
Digital Output on
DOut1Controls digital output 1 of stack 1
Digital Edge
Detection on DIn1
Measures the time between two edges
on digital input 1 of stack 1
Note: This module cannot be used together with the Digital I/O 24V (Channel 1) module on stack 1.
Digital Input on DIn1
Description
This function block reads the value of digital input 1 (DIn1) of stack 1 and returns it on its
output port.
Inputs and Outputs
OutputData
typeDescription
Default
value
status bool State of the respective input pin false
Properties dialog
127
128
133
127Chapter 4 Function Block Library
4Function Block Library
Properties dialog of the digital input 1 (DIn1) (digitalinput)
Element Function/Description
Simulated/measured input
The simulated input value or voltage level (high/low = On/
Off = true/false) at the digital input can be adjusted
during simulation using the checkbox.
Digital Output on DOut1
Description
This function block sets the value of digital output 1 (DOut1) of stack 1 to the given value.
Inputs and Outputs
InputData
typeDescription
Default
value
status bool Output value of the output pin (true/false = high/low). false (=low)
128 Chapter 4 Function Block Library
4Function Block Library
Properties dialog
Properties dialog of the digital output 1 (DOut1) (digitaloutput)
Element Function/Description
Simulated/measured output
The deactivated check box show the current state of the
output pin (high/low = On/Off = true/false).
Digital Edge Detection on DIn1
Description
This function block measures the time between two successive rising edges on digital input 1
(DIn1) of stack 1 and returns it on its output port. The unit of the return value is microseconds
(µs).
Inputs and Outputs
OutputData
typeDescription
Default
value
129Chapter 4 Function Block Library
4Function Block Library
period [µs] floatTime between two rising edges of the input signal
(corresponding to the period for PWM signals)0
Properties dialog
Properties dialog of the digital edge detection on DIn1(digital edge detection)
Element Function/Description
Simulated/measured input
The simulated input value (corresponding to the time
interval between two rising edges) can be adjusted during
simulation using the slider.
Digital I/O (Channel 2)
Symbo
lVisualization Function block Description
Digital Input on DIn2 Reads digital input 2 of stack 1
Digital Output on
DOut2Controls digital output 2 of stack 1
Digital Edge
Detection on DIn2
Measures the time between two edges
on digital input 2 of stack 1
130
131
132
130 Chapter 4 Function Block Library
4Function Block Library
Note: This module cannot be used together with the Digital I/O 24V (Channel 2) module on stack 1.
Digital Input on DIn2
Description
This function block reads the value of digital input 2 (DIn2) of stack 1 and returns it on its
output port.
Inputs and Outputs
OutputData
typeDescription
Default
value
status bool State of the respective input pin false
Properties dialog
Properties dialog of the digital input 2 (DIn2) (digitalinput)
Element Function/Description
136
131Chapter 4 Function Block Library
4Function Block Library
Simulated/measured input
The simulated input value or voltage level (high/low = On/
Off = true/false) at the digital input can be adjusted
during simulation using the checkbox
Digital Output on DOut2
Description
This function block sets the value of digital output 2 (DOut2) of stack 1 to the given value.
Inputs and Outputs
InputData
typeDescription
Default
value
status bool Output value of the output pin (true/false = high/low). false (=low)
Properties dialog
Properties dialog of the digital output 2 (DOut2) (digitaloutput)
Element Function/Description
132 Chapter 4 Function Block Library
4Function Block Library
Simulated/measured output
The deactivated check box show the current state of the
output pin (high/low = On/Off = true/false).
Digital Edge Detection on DIn2
Description
This function block measures the time between two successive rising edges on digital input 1
(DIn1) of stack 1 and returns it on its output port. The unit of the return value is microseconds
(µs).
Inputs and Outputs
OutputData
typeDescription
Default
value
period [µs] floatTime between two rising edges of the input signal
(corresponding to the period for PWM signals)0
Properties dialog
Properties dialog of the digital edge detection on DIn2(digital edge detection)
133Chapter 4 Function Block Library
4Function Block Library
Element Function/Description
Simulated/measured input
The simulated input value (corresponding to the time
interval between two rising edges) can be adjusted during
simulation using the slider.
Digital I/O 24V (Channel 1)
Symbo
lVisualization Function block Description
Digital Input on DIn1
(24V)Reads digital input 1 of stack 1
Digital Output on
DOut1 (24V)Controls digital output 1 of stack 1
Digital Edge
Detection on DIn1
(24V)
Measures the time between two edges
on digital input 1 of stack 1
Note: This module will work only if an external power supply (12V to 24V) is connected to the EasyKit
Starter. It cannot be used together with the Digital I/O (Channel 1) on Stack 1.
Digital Input on DIn1 (24V)
Description
This function block reads the value of digital input 1 (DIn1) of stack 1 and returns it on its
output port. The input voltage can be up to 24V.
Inputs and Outputs
OutputData
typeDescription
Default
value
133
134
135
125
134 Chapter 4 Function Block Library
4Function Block Library
status bool State of the respective input pin false
Properties dialog
Properties dialog of the digital input 1 (DIn1) (digitalinput)
Element Function/Description
Simulated/measured input
The simulated input value or voltage level (high/low = On/
Off = true/false) at the digital input can be adjusted
during simulation using the checkbox.
Digital Output on DOut1 (24V)
Description
This function block sets the value of digital output 1 (DOut1) of stack 1 to the given value. The
output voltage is the one provided by the external power supply (12V to 24V).
Inputs and Outputs
135Chapter 4 Function Block Library
4Function Block Library
InputData
typeDescription
Default
value
status bool Output value of the output pin (true/false = high/low). false (=low)
Properties dialog
Properties dialog of the digital output 1 (DOut1)(digital output)
Element Function/Description
Simulated/measured output
The deactivated check box show the current state of the
output pin (high/low = On/Off = true/false).
Digital Edge Detection on DIn1 (24V)
Description
This function block measures the time between two successive rising edges on digital input 1
(DIn1) of stack 1 and returns it on its output port. The unit of the return value is microseconds
(µs). The input voltage can be up to 24V.
136 Chapter 4 Function Block Library
4Function Block Library
Inputs and Outputs
OutputData
typeDescription
Default
value
period [µs] floatTime between two rising edges of the input signal
(corresponding to the period for PWM signals)0
Properties dialog
Properties dialog of the digital edge detection on DIn1(digital edge detection)
Element Function/Description
Simulated/measured input
The simulated input value (corresponding to the time
interval between two rising edges) can be adjusted during
simulation using the slider.
Digital I/O 24V (Channel 2)
Symbo
lVisualization Function block Description
Digital Input on DIn2
(24V)Reads digital input 2 of stack 1
133
137Chapter 4 Function Block Library
4Function Block Library
Digital Output on
DOut2 (24V)Controls digital output 2 of stack 1
Digital Edge
Detection on DIn2
(24V)
Measures the time between two edges
on digital input 2 of stack 1
Note: This module will work only if an external power supply (12V to 24V) is connected to the EasyKit
Starter. It cannot be used together with the Digital I/O (Channel 2) on Stack 1.
Digital Input on DIn2 (24V)
Description
This function block reads the value of digital input 2 (DIn2) of stack 1 and returns it on its
output port. The input voltage can be up to 24V.
Inputs and Outputs
OutputData
typeDescription
Default
value
status bool State of the respective input pin false
Properties dialog
134
135
129
138 Chapter 4 Function Block Library
4Function Block Library
Properties dialog of the digital input 2 (DIn2) (digitalinput)
Element Function/Description
Simulated/measured input
The simulated input value or voltage level (high/low = On/
Off = true/false) at the digital input can be adjusted
during simulation using the checkbox
Digital Output on DOut2 (24V)
Description
This function block sets the value of digital output 2 (DOut2) of stack 1 to the given value. The
output voltage is the one provided by the external power supply (12V to 24V).
Inputs and Outputs
InputData
typeDescription
Default
value
status bool Output value of the output pin (true/false = high/low). false (=low)
Properties dialog
139Chapter 4 Function Block Library
4Function Block Library
Properties dialog of the digital output 2 (DOut2)(digital output)
Element Function/Description
Simulated/measured output
The deactivated check box show the current state of the
output pin (high/low = On/Off = true/false).
Digital Edge Detection on DIn2 (24V)
Description
This function block measures the time between two successive rising edges on digital input 1
(DIn1) of stack 1 and returns it on its output port. The unit of the return value is microseconds
(µs). The input voltage can be up to 24V.
Inputs and Outputs
OutputData
typeDescription
Default
value
period [µs] floatTime between two rising edges of the input signal
(corresponding to the period for PWM signals)0
140 Chapter 4 Function Block Library
4Function Block Library
Properties dialog
Properties dialog of the digital edge detection on DIn2(digital edge detection)
Element Function/Description
Simulated/measured input
The simulated input value (corresponding to the time
interval between two rising edges) can be adjusted during
simulation using the slider.
Inductive Load Driver (Channel 1)
Symbo
lVisualization Function block Description
Digital Output on
DOut1Controls digital output 1 of stack 1
Digital Output on DOut1
Description
This function block sets the value of digital output 1 (DOut1) of stack 1 to the given value.
127
141Chapter 4 Function Block Library
4Function Block Library
Inputs and Outputs
InputData
typeDescription
Default
value
status bool Output value of the output pin (true/false = high/low). false (=low)
Properties dialog
Properties dialog of the digital output 1 (DOut1) (digitaloutput)
Element Function/Description
Simulated/measured output
The deactivated check box show the current state of the
output pin (high/low = On/Off = true/false).
Inductive Load Driver (Channel 2)
Symbo
lVisualization Function block Description
Digital Output on
DOut2Controls digital output 1 of stack 1
131
142 Chapter 4 Function Block Library
4Function Block Library
Digital Output on DOut2
Description
This function block sets the value of digital output 2 (DOut2) of stack 1 to the given value.
Inputs and Outputs
InputData
typeDescription
Default
value
status bool Output value of the output pin (true/false = high/low). false (=low)
Properties dialog
Properties dialog of the digital output 2 (DOut2) (digitaloutput)
Element Function/Description
Simulated/measured output
The deactivated check box show the current state of the
output pin (high/low = On/Off = true/false).
143Chapter 4 Function Block Library
4Function Block Library
Temperature Sensor
Symbo
lVisualization Function block Description
Temperature Sensor Temperature sensor on Stack 1.
Temperature Sensor
Description
This function block outputs the reading of the temperature sensor.
Inputs and Outputs
OutputData
typeDescription
Default
value
val [°C] floatValue of the voltage in V which bears on the relevant
pin0
raw uint32 Usigned 32 Bit numerical value of the analog-digital
conversion
0
Properties dialog
143
144 Chapter 4 Function Block Library
4Function Block Library
Properties dialog of the temperature sensor
Element Function/Description
Simulated/measured input
The simulated temperature value can be adjusted during
simulation using the slider.
Stack 2
This category contains function blocks for control of the second stack (Stack 2) on the EasyKit
Starter board..
Category
Analog I/O (Channel 1)
Analog I/O (Channel 2)
Analog I/O 10V (Channel 1)
Analog I/O 10V (Channel 2)
Digital I/O (Channel 1)
Digital I/O (Channel 2)
Digital I/O 24V (Channel 1)
Digital I/O 24V (Channel 2)
Inductive Load Driver (Channel 1)
Inductive Load Driver (Channel 2)
Temperature Sensor
145
147
149
151
153
157
160
164
167
168
169
145Chapter 4 Function Block Library
4Function Block Library
Analog I/O (Channel 1)
Symbo
lVisualization Function block Description
Analog Input on AIn1 Reads analog input 1 of stack 2
Analog Output on
AOut1Controls analog output 1 of stack 2
Note: This module cannot be used together with the Analog I/O 10V (Channel 1) module on stack 2.
Analog Input on AIn1
Description
This function block reads the value of analog input 1 (AIn1) of stack 2 and returns it on its
output port. The value is returned in raw form as well as a voltage value.
Inputs and Outputs
OutputData
typeDescription
Default
value
dat floatValue of the voltage in V which bears on the relevant
pin.0
raw int16 16-bit numerical value of the analog-digital conversion 0
err bool Error output: always false during program execution true
Properties dialog
145
146
149
146 Chapter 4 Function Block Library
4Function Block Library
Properties dialog of the analog input 1 (AIn1) (analoginput)
Element Function/Description
Simulated/measured input
The simulated voltage at the analog input can be adjusted
during simulation using the slider.
Analog Output on AOut1
Description
This function block generates a PWM signal with a duty cycle duty_cycle [%] at the analog
output 1 (AOut1) of Stack 2.
Note: The period of the PWM signal can be defined in micro-seconds in the Input period [µs]
section of the Properties dialog of the function block
Inputs and Outputs
InputData
typeDescription
Default
value
duty_cycle
[%]float Duty cyle of the PWM 50
147Chapter 4 Function Block Library
4Function Block Library
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Analog I/O (Channel 2)
Symbo
lVisualization Function block Description
Analog Input on AIn2 Reads analog input 2 of stack 2
Analog Output on
AOut2Controls analog output 2 of stack 2
Note: This module cannot be used together with the Analog I/O 10V (Channel 2) module on stack 1.
Analog Input on AIn2
Description
This function block reads the value of analog input 2 (AIn2) of stack 2 and returns it on its
output port. The value is returned in raw form as well as a voltage value.
Inputs and Outputs
OutputData
typeDescription
Default
value
dat floatValue of the voltage in V which bears on the relevant
pin0
raw int16 16-bit numerical value of the analog-digital conversion 0
err bool Error output: always false during program execution true
13
147
148
151
148 Chapter 4 Function Block Library
4Function Block Library
Properties dialog
Properties dialog of the analog input 2 (AIn2) (analoginput)
Element Function/Description
Simulated/measured input
The simulated voltage at the analog input can be adjusted
during simulation using the slider.
Analog Output on AOut2
Description
This function block generates a PWM signal with a duty cycle duty_cycle [%] at the analog
output 2 (AOut1) of Stack 2.
Note: The period of the PWM signal can be defined in micro-seconds in the Input period [µs]
section of the Properties dialog of the function block
Inputs and Outputs
InputData
typeDescription
Default
value
149Chapter 4 Function Block Library
4Function Block Library
duty_cycle
[%]float Duty cyle of the PWM 50
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Analog I/O 10V (Channel 1)
Symbo
lVisualization Function block Description
Analog Input on AIn1
(10V)Reads analog input 1 of stack 2
Analog Output on
AOut1 (10V)Controls analog output 1 of stack 2
Note: This module will work only if an external power supply (12V to 24V) is connected to the EasyKit
Starter. It cannot be used together with the Analog I/O (Channel 1) on Stack 2.
Analog Input on AIn1 (10V)
Description
This function block reads the value of analog input 1 (AIn1) of stack 2 and returns it on its
output port. The value is returned in raw form as well as a voltage value. The voltage can be
between 0V and 10V.
Inputs and Outputs
OutputData
typeDescription
Default
value
dat float Value of the voltage in V which bears on the relevant 0
13
149
150
145
150 Chapter 4 Function Block Library
4Function Block Library
pin.
raw int16 16-bit numerical value of the analog-digital conversion 0
err bool Error output: always false during program execution true
Properties dialog
Properties dialog of the analog input 1 (AIn1) (analoginput)
Element Function/Description
Simulated/measured input
The simulated voltage at the analog input can be adjusted
during simulation using the slider.
Analog Output on AOut1 (10V)
Description
This function block generates a PWM signal with a duty cycle duty_cycle [%] at the analog
output 1 (AOut1) of Stack 2. The output voltage is between 0V and 10V.
Note: The period of the PWM signal can be defined in micro-seconds in the Input period [µs]
section of the Properties dialog of the function block
151Chapter 4 Function Block Library
4Function Block Library
Inputs and Outputs
InputData
typeDescription
Default
value
duty_cycle
[%]float Duty cyle of the PWM 50
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Analog I/O 10V (Channel 2)
Symbo
lVisualization Function block Description
Analog Input on AIn2
(10V)Reads analog input 2 of stack 2
Analog Output on
AOut2 (10V)Controls analog output 2 of stack 2
Note: This module will work only if an external power supply (12V to 24V) is connected to the EasyKit
Starter. It cannot be used together with the Analog I/O (Channel 1) on Stack 2.
Analog Input on AIn2 (10V)
Description
This function block reads the value of analog input 2 (AIn2) of stack 2 and returns it on its
output port. The value is returned in raw form as well as a voltage value. The voltage can be
between 0V and 10V.
13
151
152
145
152 Chapter 4 Function Block Library
4Function Block Library
Inputs and Outputs
OutputData
typeDescription
Default
value
dat floatValue of the voltage in V which bears on the relevant
pin0
raw int16 16-bit numerical value of the analog-digital conversion 0
err bool Error output: always false during program execution true
Properties dialog
Properties dialog of the analog input 2 (AIn2) (analoginput)
Element Function/Description
Simulated/measured input
The simulated voltage at the analog input can be adjusted
during simulation using the slider.
Analog Output on AOut2 (10V)
Description
153Chapter 4 Function Block Library
4Function Block Library
This function block generates a PWM signal with a duty cycle duty_cycle [%] at the analog
output 2 (AOut1) of Stack 2. The output voltage is between 0V and 10V.
Note: The period of the PWM signal can be defined in micro-seconds in the Input period [µs]
section of the Properties dialog of the function block
Inputs and Outputs
InputData
typeDescription
Default
value
duty_cycle
[%]float Duty cyle of the PWM 50
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Digital I/O (Channel 1)
Symbo
lVisualization Function block Description
Digital Input on DIn1 Reads digital input 1 of stack 2
Digital Output on
DOut1Controls digital output 1 of stack 2
Digital Edge
Detection on DIn1
Measures the time between two edges
on digital input 1 of stack 2
Note: This module cannot be used together with the Digital I/O 24V (Channel 1) module on stack 2.
13
154
155
156
160
154 Chapter 4 Function Block Library
4Function Block Library
Digital Input on DIn1
Description
This function block reads the value of digital input 1 (DIn1) of stack 1 and returns it on its
output port.
Inputs and Outputs
OutputData
typeDescription
Default
value
status bool State of the respective input pin false
Properties dialog
Properties dialog of the digital input 1 (DIn1) (digitalinput)
Element Function/Description
Simulated/measured input
The simulated input value or voltage level (high/low = On/
Off = true/false) at the digital input can be adjusted
155Chapter 4 Function Block Library
4Function Block Library
during simulation using the checkbox.
Digital Output on DOut1
Description
This function block sets the value of digital output 1 (DOut1) of stack 2 to the given value.
Inputs and Outputs
InputData
typeDescription
Default
value
status bool Output value of the output pin (true/false = high/low). false (=low)
Properties dialog
Properties dialog of the digital output 1 (DOut1)(digital output)
Element Function/Description
Simulated/measured output
The deactivated check box show the current state of the
output pin (high/low = On/Off = true/false).
156 Chapter 4 Function Block Library
4Function Block Library
Digital Edge Detection on DIn1
Description
This function block measures the time between two successive rising edges on digital input 1
(DIn1) of stack 2 and returns it on its output port. The unit of the return value is microseconds
(µs).
Inputs and Outputs
OutputData
typeDescription
Default
value
period [µs] floatTime between two rising edges of the input signal
(corresponding to the period for PWM signals)0
Properties dialog
Properties dialog of the digital edge detection on DIn1(digital edge detection)
Element Function/Description
Simulated/measured input
The simulated input value (corresponding to the time
interval between two rising edges) can be adjusted during
157Chapter 4 Function Block Library
4Function Block Library
simulation using the slider.
Digital I/O (Channel 2)
Symbo
lVisualization Function block Description
Digital Input on DIn2 Reads digital input 2 of stack 2
Digital Output on
DOut2Controls digital output 2 of stack 2
Digital Edge
Detection on DIn2
Measures the time between two edges
on digital input 2 of stack 2
Note: This module cannot be used together with the Digital I/O 24V (Channel 2) module on stack 1.
Digital Input on DIn2
Description
This function block reads the value of digital input 2 (DIn2) of stack 2 and returns it on its
output port.
Inputs and Outputs
OutputData
typeDescription
Default
value
status bool State of the respective input pin false
Properties dialog
157
158
159
164
158 Chapter 4 Function Block Library
4Function Block Library
Properties dialog of the digital input 2 (DIn2) (digitalinput)
Element Function/Description
Simulated/measured input
The simulated input value or voltage level (high/low = On/
Off = true/false) at the digital input can be adjusted
during simulation using the checkbox
Digital Output on DOut2
Description
This function block sets the value of digital output 2 (DOut2) of stack 2 to the given value.
Inputs and Outputs
InputData
typeDescription
Default
value
status bool Output value of the output pin (true/false = high/low). false (=low)
Properties dialog
159Chapter 4 Function Block Library
4Function Block Library
Properties dialog of the digital output 2 (DOut2) (digitaloutput)
Element Function/Description
Simulated/measured output
The deactivated check box show the current state of the
output pin (high/low = On/Off = true/false).
Digital Edge Detection on DIn2
Description
This function block measures the time between two successive rising edges on digital input 1
(DIn1) of stack 2 and returns it on its output port. The unit of the return value is microseconds
(µs).
Inputs and Outputs
OutputData
typeDescription
Default
value
period [µs] floatTime between two rising edges of the input signal
(corresponding to the period for PWM signals)0
Properties dialog
160 Chapter 4 Function Block Library
4Function Block Library
Properties dialog of the digital edge detection on DIn2(digital edge detection)
Element Function/Description
Simulated/measured input
The simulated input value (corresponding to the time
interval between two rising edges) can be adjusted during
simulation using the slider.
Digital I/O 24V (Channel 1)
Symbo
lVisualization Function block Description
Digital Input on DIn1
(24V)Reads digital input 1 of stack 2
Digital Output on
DOut1 (24V)Controls digital output 1 of stack 2
Digital Edge
Detection on DIn1
(24V)
Measures the time between two edges
on digital input 1 of stack 2
Note: This module will work only if an external power supply (12V to 24V) is connected to the EasyKit
Starter. It cannot be used together with the Digital I/O (Channel 1) on Stack 2.
161
162
163
153
161Chapter 4 Function Block Library
4Function Block Library
Digital Input on DIn1 (24V)
Description
This function block reads the value of digital input 1 (DIn1) of stack 1 and returns it on its
output port. The input voltage can be up to 24V.
Inputs and Outputs
OutputData
typeDescription
Default
value
status bool State of the respective input pin false
Properties dialog
Properties dialog of the digital input 1 (DIn1) (digitalinput)
Element Function/Description
Simulated/measured input
The simulated input value or voltage level (high/low = On/
Off = true/false) at the digital input can be adjusted
during simulation using the checkbox.
162 Chapter 4 Function Block Library
4Function Block Library
Digital Output on DOut1 (24V)
Description
This function block sets the value of digital output 1 (DOut1) of stack 2 to the given value. The
output voltage is the one provided by the external power supply (12V to 24V).
Inputs and Outputs
InputData
typeDescription
Default
value
status bool Output value of the output pin (true/false = high/low). false (=low)
Properties dialog
Properties dialog of the digital output 1 (DOut1)(digital output)
Element Function/Description
Simulated/measured output
The deactivated check box show the current state of the
output pin (high/low = On/Off = true/false).
163Chapter 4 Function Block Library
4Function Block Library
Digital Edge Detection on DIn1 (24V)
Description
This function block measures the time between two successive rising edges on digital input 1
(DIn1) of stack 2 and returns it on its output port. The unit of the return value is microseconds
(µs). The input voltage can be up to 24V.
Inputs and Outputs
OutputData
typeDescription
Default
value
period [µs] floatTime between two rising edges of the input signal
(corresponding to the period for PWM signals)0
Properties dialog
Properties dialog of the digital edge detection on DIn1(digital edge detection)
Element Function/Description
Simulated/measured input
The simulated input value (corresponding to the time
interval between two rising edges) can be adjusted during
164 Chapter 4 Function Block Library
4Function Block Library
simulation using the slider.
Digital I/O 24V (Channel 2)
Symbo
lVisualization Function block Description
Digital Input on DIn2
(24V)Reads digital input 2 of stack 2
Digital Output on
DOut2 (24V)Controls digital output 2 of stack 2
Digital Edge
Detection on DIn2
(24V)
Measures the time between two edges
on digital input 2 of stack 2
Note: This module will work only if an external power supply (12V to 24V) is connected to the EasyKit
Starter. It cannot be used together with the Digital I/O (Channel 2) on Stack 2.
Digital Input on DIn2 (24V)
Description
This function block reads the value of digital input 2 (DIn2) of stack 2 and returns it on its
output port. The input voltage can be up to 24V.
Inputs and Outputs
OutputData
typeDescription
Default
value
status bool State of the respective input pin false
Properties dialog
164
165
166
157
165Chapter 4 Function Block Library
4Function Block Library
Properties dialog of the digital input 2 (DIn2) (digitalinput)
Element Function/Description
Simulated/measured input
The simulated input value or voltage level (high/low = On/
Off = true/false) at the digital input can be adjusted
during simulation using the checkbox
Digital Output on DOut2 (24V)
Description
This function block sets the value of digital output 2 (DOut2) of stack 2 to the given value. The
output voltage is the one provided by the external power supply (12V to 24V).
Inputs and Outputs
InputData
typeDescription
Default
value
status bool Output value of the output pin (true/false = high/low). false (=low)
Properties dialog
166 Chapter 4 Function Block Library
4Function Block Library
Properties dialog of the digital output 2 (DOut2)(digital output)
Element Function/Description
Simulated/measured output
The deactivated check box show the current state of the
output pin (high/low = On/Off = true/false).
Digital Edge Detection on DIn2 (24V)
Description
This function block measures the time between two successive rising edges on digital input 1
(DIn1) of stack 2 and returns it on its output port. The unit of the return value is microseconds
(µs). The input voltage can be up to 24V.
Inputs and Outputs
OutputData
typeDescription
Default
value
period [µs] floatTime between two rising edges of the input signal
(corresponding to the period for PWM signals)0
167Chapter 4 Function Block Library
4Function Block Library
Properties dialog
Properties dialog of the digital edge detection on DIn2(digital edge detection)
Element Function/Description
Simulated/measured input
The simulated input value (corresponding to the time
interval between two rising edges) can be adjusted during
simulation using the slider.
Inductive Load Driver (Channel 1)
Symbo
lVisualization Function block Description
Digital Output on
DOut1Controls digital output 1 of stack 2.
Digital Output on DOut1
Description
This function block sets the value of digital output 1 (DOut1) of stack 2 to the given value.
Inputs and Outputs
155
168 Chapter 4 Function Block Library
4Function Block Library
InputData
typeDescription
Default
value
status bool Output value of the output pin (true/false = high/low). false (=low)
Properties dialog
Properties dialog of the digital output 1 (DOut1)(digital output)
Element Function/Description
Simulated/measured output
The deactivated check box show the current state of the
output pin (high/low = On/Off = true/false).
Inductive Load Driver (Channel 2)
Symbo
lVisualization Function block Description
Digital Output on
DOut2Controls digital output 1 of stack 1
Digital Output on DOut2
158
169Chapter 4 Function Block Library
4Function Block Library
Description
This function block sets the value of digital output 2 (DOut2) of stack 2 to the given value.
Inputs and Outputs
InputData
typeDescription
Default
value
status bool Output value of the output pin (true/false = high/low). false (=low)
Properties dialog
Properties dialog of the digital output 2 (DOut2) (digitaloutput)
Element Function/Description
Simulated/measured output
The deactivated check box show the current state of the
output pin (high/low = On/Off = true/false).
Temperature Sensor
Symbo
lVisualization Function block Description
170 Chapter 4 Function Block Library
4Function Block Library
Temperature sensor Temperature sensor on Stack 2.
Temperature Sensor
Description
This function block outputs the reading of the temperature sensor.
Inputs and Outputs
OutputData
typeDescription
Default
value
val [°C] floatValue of the voltage in V which bears on the relevant
pin0
raw uint32 Usigned 32 Bit numerical value of the analog-digital
conversion
0
Properties dialog
Properties dialog of the temperature sensor
170
171Chapter 4 Function Block Library
4Function Block Library
Element Function/Description
Simulated/measured input
The simulated temperature value can be adjusted during
simulation using the slider.
EasyKit Mini
The EasyKit Mini is an experimental platform based on micro-controllers. In addition to 5
buttons arranged as a joystick and 2 LEDs, it has a temperature sensor, an acceleration
sensor and a 64x48 pixel OLED display..
Category Description
LEDsThis category offers the possibility to turn on and off the
LEDs on the EasyKit Mini.
JoystickThis category offers the possibility to read-out the
switches of the EasyKit Mini.
SensorsThis category contains function blocks to read-out the
sensors of the EasyKit Mini.
OLED display This category contains function blocks to control the
OLED display of the EasyKit Mini.
Communication This category contains function blocks for communication
of the EasyKit Mini with other devices or programs.
EasyPort Mini This category contains function blocks to control the
optional additional module EasyPort Mini.
LEDs
Symbo
lVisualization Function block Description
Green LEDGreen LED (LED 1) of the EasyKit
Mini.
171
174
179
184
192
196
172
172 Chapter 4 Function Block Library
4Function Block Library
Red LED Red LED (LED 2) of the EasyKit Mini.
Green LED
Description
This function block offers the possibility to turn the green LED (LED 1) on the EasyKit Mini on
and off.
Inputs and Outputs
InputData
typeDescription
Default
value
status bool Status of the LED. false
Properties dialog
Properties dialog of the green LED
173
173Chapter 4 Function Block Library
4Function Block Library
Element Function/Description
On/Off The deactivated button indicates the status of the LED.
Red LED
Description
This function block offers the possibility to turn the red LED (LED 2) on the EasyKit Mini on
and off.
Inputs and Outputs
InputData
typeDescription
Default
value
status bool Status of the LED. false
Properties dialog
Properties dialog of the red LED
174 Chapter 4 Function Block Library
4Function Block Library
Element Function/Description
On/Off The deactivated button indicates the status of the LED.
Joystick
Symbo
lVisualization Function block Description
Left Switch "left" on the EasyKit Mini.
Right Switch "right" on the EasyKit Mini.
Up Switch "up" on the EasyKit Mini.
Down Switch "down" on the EasyKit Mini.
SelectSwitch "Select" (press the joystick) on
the EasyKit Mini.
Left
Description
This function block offers the possibility to read-out the state of switch left on the EasyKit Mini.
Inputs and Outputs
174
175
176
177
178
175Chapter 4 Function Block Library
4Function Block Library
OutputData
typeDescription
Default
value
status bool State of the switch. false
Properties dialog
Properties dialog of the switch left
Element Function/Description
Simulated/measured input: On/Off
The state of the switch can be simulated over the
button
Right
Description
This function block offers the possibility to read-out the state of switch right on the EasyKit
Mini.
176 Chapter 4 Function Block Library
4Function Block Library
Inputs and Outputs
OutputData
typeDescription
Default
value
status bool State of the switch. false
Properties dialog
Properties dialog of the switch right
Element Function/Description
Simulated/measured input: On/Off
The state of the switch can be simulated over the
button
Up
Description
This function block offers the possibility to read-out the state of switch up on the EasyKit Mini.
177Chapter 4 Function Block Library
4Function Block Library
Inputs and Outputs
OutputData
typeDescription
Default
value
status bool State of the switch. false
Properties dialog
Properties dialog of the switch up
Element Function/Description
Simulated/measured input: On/Off
The state of the switch can be simulated over the
button
Down
Description
This function block offers the possibility to read-out the state of switch down on the EasyKit
Mini.
178 Chapter 4 Function Block Library
4Function Block Library
Inputs and Outputs
OutputData
typeDescription
Default
value
status bool State of the switch. false
Properties dialog
Properties dialog of the switch down
Element Function/Description
Simulated/measured input: On/Off
The state of the switch can be simulated over the
button
Select
Description
This function block offers the possibility to read-out the state of switch select on the EasyKit
179Chapter 4 Function Block Library
4Function Block Library
Mini. It is triggered by pressing the joystick.
Inputs and Outputs
OutputData
typeDescription
Default
value
status bool State of the switch. false
Properties dialog
Properties dialog of the switch select
Element Function/Description
Simulated/measured input: On/Off
The state of the switch can be simulated over the
button
Sensors
This category contains function blocks to read-out the sensors on the EasyKit Mini board.
Category
Temperature sensor 180
180 Chapter 4 Function Block Library
4Function Block Library
Accelerometer
Temperature sensor
Symb
olVisualization Function block Description
Temperature sensor Temperature sensor of EasyKit
Mini.
Temperature sensor
Description
This function block outputs the reading of the temperature sensor.
Inputs and Outputs
OutputData
typeDescription
Default
value
Temperature
[°C]float Temperature in °C. 0
Value [V] float Value of the voltage in V which bears on the relevant
pin.
0
Raw value int16 16 Bit numerical value of the analog-digital
conversion.
0
err bool Error output: always false during program
execution.
true
Properties dialog
181
180
181Chapter 4 Function Block Library
4Function Block Library
Properties dialog of the temperature sensor
Element Function/Description
Simulated/measured input
The simulated temperature value can be adjusted during
simulation using the slider.
Accelerometer
Symb
olVisualization Function block Description
X axis Acceleration in X direction.
Y axis Acceleration in X direction.
Z axis Acceleration in X direction.
X axis
Description
This function block outputs the reading of the accelerometer in X direction.
Inputs and Outputs
181
182
183
182 Chapter 4 Function Block Library
4Function Block Library
OutputData
typeDescription
Default
value
Acceleration
[G]float Acceleration in multiples of G. 0
Raw value int16 16 Bit numerical value of the analog-digital
conversion (effectively 10 Bit).
0
Properties dialog
Properties dialog if the accelerometer
Element Function/Description
Simulated/measured input
The simulated acceleration value can be adjusted during
simulation using the slider.
Y axis
Description
This function block outputs the reading of the accelerometer in Y direction.
183Chapter 4 Function Block Library
4Function Block Library
Inputs and Outputs
OutputData
typeDescription
Default
value
Acceleration
[G]float Acceleration in multiples of G. 0
Raw value int16 16 Bit numerical value of the analog-digital
conversion (effectively 10 Bit).
0
Properties dialog
Properties dialog if the accelerometer
Element Function/Description
Simulated/measured input
The simulated acceleration value can be adjusted during
simulation using the slider.
Z axis
Description
This function block outputs the reading of the accelerometer in Z direction.
184 Chapter 4 Function Block Library
4Function Block Library
Inputs and Outputs
OutputData
typeDescription
Default
value
Acceleration
[G]float Acceleration in multiples of G. 0
Raw value int16 16 Bit numerical value of the analog-digital
conversion (effectively 10 Bit).
0
Properties dialog
Properties dialog if the accelerometer
Element Function/Description
Simulated/measured input
The simulated acceleration value can be adjusted during
simulation using the slider.
OLED display
Symb
olVisualization Function block Description
185Chapter 4 Function Block Library
4Function Block Library
OLED display Control the OLED display.
Pixel drawer Draw single pixels.
Line drawer Draw lines.
Rectangle drawer Draw rectangles.
Circle drawer Draw circles.
Circle segment
drawerDraw circle segments.
Text writer Output text and integer values.
OLED display
Description
This function block represents the OLED display of the EasyKit Mini.
Note: If you want anything displayed on the OLED display, this function block must be present
in the current subprogram!
185
186
187
188
189
190
191
186 Chapter 4 Function Block Library
4Function Block Library
Inputs and Outputs
InputData
typeDescription
Default
value
enabled bool Enable or disable the display. true
inverse bool Display content is shown in inverse color. false
contrast uint8 Contrast. 255
OutputData
typeDescription
Default
value
width uint8 Width (in pixels). 64
height uint8 Height (in pixels). 48
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Pixel drawer
Description
With this function block single pixel can be drawn on the OLED display of EasyKit Mini.
Note: If you want anything displayed on the OLED display, the OLED display function block
must be present in the current subprogram!
Inputs and Outputs
13
185
187Chapter 4 Function Block Library
4Function Block Library
InputData
typeDescription
Default
value
enable bool Enable or disable the pixel drawer. true
x uint8 X coordinate. 0
y uint8 Y coordinate. 0
inverse bool The pixel is drawn in inverse color. false
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Line drawer
Description
With this function block lines can be drawn on the OLED display of EasyKit Mini. The starting
point and the end point may be outside the display area.
Note: If you want anything displayed on the OLED display, the OLED display function block
must be present in the current subprogram!
Inputs and Outputs
InputData
typeDescription
Default
value
enable bool Enable or disable the line drawer. true
x1 int8 X coordinate of the starting point. 0
13
185
188 Chapter 4 Function Block Library
4Function Block Library
y1 int8 Y coordinate of the starting point. 0
x2 int8 X coordinate of the end point. 0
y2 int8 Y coordinate of the end point. 0
inverse bool The line is drawn in inverse color. false
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Rectangle drawer
Description
With this function block rectangles can be drawn on the OLED display of EasyKit Mini.
Note: If you want anything displayed on the OLED display, the OLED display function block
must be present in the current subprogram!
Inputs and Outputs
InputData
typeDescription
Default
value
enable bool Enable or disable the rectangle drawer. true
left int8 X coordinate of the upper left corner. 0
top int8 Y coordinate of the upper left corner. 0
width uint8 Width of the rectangle (in pixels). 0
height uint8 Height of the rectangle (in pixels). 0
13
185
189Chapter 4 Function Block Library
4Function Block Library
fill bool Fill the rectangle. false
inverse bool The rectangle is drawn in inverse color. false
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Circle drawer
Description
With this function block circles can be drawn on the OLED display of EasyKit Mini.
Note: If you want anything displayed on the OLED display, the OLED display function block
must be present in the current subprogram!
Inputs and Outputs
InputData
typeDescription
Default
value
enable bool Enable or disable the circle drawer. true
x int8 X coordinate of the center of the circle. 0
y int8 Y coordinate of the center of the circle. 0
radius uint8 Radius of the circle. 0
fill bool Fill the circle. false
inverse bool The circle is drawn in inverse color. false
13
185
190 Chapter 4 Function Block Library
4Function Block Library
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Circle segment drawer
Description
With this function block circle segments can be drawn on the OLED display of EasyKit Mini.
Note: If you want anything displayed on the OLED display, the OLED display function block
must be present in the current subprogram!
Inputs and Outputs
Input Data type DescriptionDefault
value
enable bool Enable or disable the circle segment drawer. true
x int8 X coordinate of the center of the circle. 0
y int8 Y coordinate of the center of the circle. 0
radius uint8 Radius of the circle. 0
start angle
[deg]
float Starting angle if the circle segment in degrees. 0
end angle
[deg]
float End angle if the circle segment in degrees. 0
draw lines bool Draw boundary lines from the starting and end point
to the center.
false
13
185
191Chapter 4 Function Block Library
4Function Block Library
inverse bool The circle segment is drawn in inverse color. false
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Text writer
Description
With this function block short texts and up to 8 integer numbers can be drawn on the OLED
display of the EasyKit Mini. Floating point values can be displayed using the Float splitter .
Note: On the EasyKit Mini only a part of the Windows character set is available.
Note: If you want anything displayed on the OLED display, the OLED display function block
must be present in the current subprogram!
Inputs and Outputs
Input Data type DescriptionDefault
value
enable bool Enable or disable the circle segment drawer. true
x uint8 X coordinate of the upper left corner of the first
character.
0
y uint8 Y coordinate of the upper left corner of the first
character.
0
spacing uint8 Distance between two characters and two lines. 1
inverse bool The text is drawn in inverse color. false
13
99
185
192 Chapter 4 Function Block Library
4Function Block Library
value 1 int32 Integer value 1. 0
... ... ... ...
value 8 int32 Integer value 8. 0
Properties dialog
Properties dialog of the text writer
Element Function/Description
Text area This area contains the text to be displayed.
Number of values The number of integer values to be output. The connectors are shown
accordingly. To output the numbers in the text, format specifiers
known from the programming language C like %d, %d or %x can be
used.
Communication
Symb
olVisualization Function block Description
193Chapter 4 Function Block Library
4Function Block Library
EasyPort Mini
protocol
Support for the EasyPort Mini
protocol.
EasyPort Mini protocol
Description
This function block allows to read and write write up to 8 input and output values with the ASCII
based EasyPort Mini protocol via serial or rather USB interface; an example program is
available and described on the following page .
The instruction set is highly limited compared to the EasyPort protocol: bit access is not
possible, and only digital values can be read and written at which only all eight together (one
byte) can be accessed. For more information see the documentation of the protocol.
The inputs and outputs can be connected almost arbitrarily, e.g to the digital inputs and outputs
of the EasyPort Mini module or with the switches and LEDs on the base board.
As the USB interface is used during debugging, this function block will only work if the
EasyLab program is generated without debug mode and directly uploaded to the device and
EasyLab is closed afterwards. But in debug mode or during simulation data can be read and
written in the properties dialog although no real communication takes place.
Inputs and Outputs
InputData
typeDescription
Default
value
active bool Enable or disable the protocol. false
input 1 bool Input value 1 false
... ... ... ...
input 8 bool Input value 8 false
193
195
196
194 Chapter 4 Function Block Library
4Function Block Library
OutputData
typeDescription
Default
value
output 1 bool Output value 1 false
... ... ... ...
output 8 bool Output value 8 false
Properties dialog
Properties dialog of the EasyPort Mini protocol
Element Function/Description
MessagesThis text box displays the messages from the device.
Clear (top)The text box with the messages will be cleared.
195Chapter 4 Function Block Library
4Function Block Library
This input field contains the message to be sent to the
device. The messages are saved in a hostory.
Clear (bottom)The input field and the history will be cleared.
SendThe message in the input field will be sent to the device.
Example
Description
An example application for the EasyPort Mini protocol in the form of a terminal client is
available within the EasyLab distribution. It can be found in the start menu as "EasyPort Mini
terminal client" in the EasyLab program folder.
Program window of the terminal client
The window looks similar to the function block's properties dialog. There are additional buttons
to connect to and disconnect from the device and to reset the device.
Source code
The C++ source code of the example program is in the subfolder "units\communication
196 Chapter 4 Function Block Library
4Function Block Library
\EasyPortMiniProtocol.unit\terminal" of the EasyLab program folder. To compile the example,
the following requirements - aside from a little experience in C++ software development - must
be met:
The USBXpress Development Kit from Silicon Labs must be installed. The USBXpress
library controls the communication between the PC and the EasyKit board. The function
calls are similar to those of the Win32 API to control the serial interfaces.
The Qt framework from Nokia must be installed (version 4.6 or newer). It provides an object
oriented class library to abstract operating system functions and makes it easier to use
them.
A C++ compiler or a development environment like Microsoft Visual C++ Express 2010 must
be available on the system.
To generate project files or makefiles for the development environment CMake is required.
The source folders contain CMake scripts which are ready to use.
EasyPort Mini
The EasyPort Mini is pluggable additional module for the EasyKit Mini base board. Its six
analog and digital inputs and outputs are accessible via a 15 pin Sub-D connector. As analog
and digital inputs and outputs use the same pins they cannot be used together at the same
time. For correct function the EasyPort Mini board requires an additional power supply of up
to 24V which must be connected to the board's DC connector.
Note: the EasyPort Mini board should only be attached and detached while the EasyKit Mini
base module is not connected to the PC.
Pin assignment of the Sub-D connector:
Pin Function Pin Function
1 Input 1 9 Input 5
2 Output 1 10 Output 5
3 Input 2 11 Input 6
4 Output 2 12 Output 6
5 Input 3 13 +24V
6 Output 3 14 Ground
197Chapter 4 Function Block Library
4Function Block Library
7 Input 4 15 Ground
8 Output 4
Category Description
Digital InputsThis Category contains function blocks to read the digital
inputs of the EasyPort Mini.
Digital Edge DetectionThis Category contains function blocks for edge detection
at the digital inputs of the EasyPort Mini.
Digital OutputsThis Category contains function blocks to control the
digital outputs of the EasyPort Mini.
Analog Inputs This Category contains function blocks to read the analog
inputs of the EasyPort Mini.
Analog Outputs This Category contains function blocks to control the
analog outputs of the EasyPort Mini.
Digital Inputs
Symbo
lVisualization Function block
Sub-D
pinDescription
Digital Input on DIn1 1 Reads digital input 1.
Digital Input on DIn2 3 Reads digital input 2.
Digital Input on DIn3 5 Reads digital input 3.
Digital Input on DIn4 7 Reads digital input 4.
197
205
212
219
227
198
199
200
201
198 Chapter 4 Function Block Library
4Function Block Library
Digital Input on DIn5 9 Reads digital input 5.
Digital Input on DIn6 11 Reads digital input 6.
Digital Input on DIn1
Description
This function block reads the value of digital input 1 (DIn1 on pin 1 of the Sub-D connector)
and returns it on its output port. It cannot be used together with the digital edge detection on
DIn1 or the analog input 1 at the same time.
Inputs and Outputs
OutputDate
typeDescription
Default
value
status bool State of the respective input pin. false
Properties dialog
202
203
205 220
199Chapter 4 Function Block Library
4Function Block Library
Properties dialog of the digital input 1 (DIn1) (digitalinput)
Element Function/Description
Simulated/measured input
The simulated input value or voltage level (high/low = On/
Off = true/false) at the digital input can be adjusted
during simulation using the checkbox.
Digital Input on DIn2
Description
This function block reads the value of digital input 2 (DIn2 on pin 3 of the Sub-D connector)
and returns it on its output port. It cannot be used together with the digital edge detection on
DIn2 or the analog input 2 at the same time.
Inputs and Outputs
OutputDate
typeDescription
Default
value
status bool State of the respective input pin. false
206 221
200 Chapter 4 Function Block Library
4Function Block Library
Properties dialog
Properties dialog of the digital input 2 (DIn2) (digitalinput)
Element Function/Description
Simulated/measured input
The simulated input value or voltage level (high/low = On/
Off = true/false) at the digital input can be adjusted
during simulation using the checkbox.
Digital Input on DIn3
Description
This function block reads the value of digital input 3 (DIn3 on pin 7 of the Sub-D connector)
and returns it on its output port. It cannot be used together with the digital edge detection on
DIn3 or the analog input 3 at the same time.
Inputs and Outputs
Output Date Description Default
207 222
201Chapter 4 Function Block Library
4Function Block Library
type value
status bool State of the respective input pin. false
Properties dialog
Properties dialog of the digital input 3 (DIn3) (digitalinput)
Element Function/Description
Simulated/measured input
The simulated input value or voltage level (high/low = On/
Off = true/false) at the digital input can be adjusted
during simulation using the checkbox.
Digital Input on DIn4
Description
This function block reads the value of digital input 4 (DIn4 on pin 7 of the Sub-D connector)
and returns it on its output port. It cannot be used together with the digital edge detection on
DIn4 or the analog input 4 at the same time.209 223
202 Chapter 4 Function Block Library
4Function Block Library
Inputs and Outputs
OutputDate
typeDescription
Default
value
status bool State of the respective input pin. false
Properties dialog
Properties dialog of the digital input 4 (DIn4) (digitalinput)
Element Function/Description
Simulated/measured input
The simulated input value or voltage level (high/low = On/
Off = true/false) at the digital input can be adjusted
during simulation using the checkbox.
Digital Input on DIn5
Description
This function block reads the value of digital input 5 (DIn5 on pin 9 of the Sub-D connector)
203Chapter 4 Function Block Library
4Function Block Library
and returns it on its output port. It cannot be used together with the digital edge detection on
DIn5 or the analog input 5 at the same time.
Inputs and Outputs
OutputDate
typeDescription
Default
value
status bool State of the respective input pin. false
Properties dialog
Properties dialog of the digital input 5 (DIn5) (digitalinput)
Element Function/Description
Simulated/measured input
The simulated input value or voltage level (high/low = On/
Off = true/false) at the digital input can be adjusted
during simulation using the checkbox.
Digital Input on DIn6
210 224
204 Chapter 4 Function Block Library
4Function Block Library
Description
This function block reads the value of digital input 6 (DIn6 on pin 11 of the Sub-D connector)
and returns it on its output port. It cannot be used together with the digital edge detection on
DIn6 or the analog input 6 at the same time.
Inputs and Outputs
OutputDate
typeDescription
Default
value
status bool State of the respective input pin. false
Properties dialog
Properties dialog of the digital input 6 (DIn6) (digitalinput)
Element Function/Description
Simulated/measured input
The simulated input value or voltage level (high/low = On/
Off = true/false) at the digital input can be adjusted
during simulation using the checkbox.
211 226
205Chapter 4 Function Block Library
4Function Block Library
Digital Edge Detection
Symbo
lVisualization Function block
Sub-D
pinDescription
Digital Edge
Detection on DIn11
Measures the time
between two edges on
digital input 1.
Digital Edge
Detection on DIn23
Measures the time
between two edges on
digital input 2.
Digital Edge
Detection on DIn35
Measures the time
between two edges on
digital input 3.
Digital Edge
Detection on DIn47
Measures the time
between two edges on
digital input 4.
Digital Edge
Detection on DIn59
Measures the time
between two edges on
digital input 5.
Digital Edge
Detection on DIn611
Measures the time
between two edges on
digital input 6.
Digital Edge Detection on DIn1
Description
This function block measures the time between two successive rising edges on digital input 1
(DIn1 on Pin 1 of the Sub-D connector) and returns it on its output port. The unit of the return
value is microseconds (µs). The function block cannot be used together with the digital input 1
or the analog input 1 at the same time.
Inputs and Outputs
205
206
207
209
210
211
198 220
206 Chapter 4 Function Block Library
4Function Block Library
OutputData
typeDescription
Default
value
period [µs] floatTime between two rising edges of the input signal
(corresponding to the period for PWM signals).0
Properties dialog
Properties dialog of the digital edge detection on DIn1(digital edge detection)
Element Function/Description
Simulated/measured input
The simulated input value (corresponding to the time
interval between two rising edges) can be adjusted during
simulation using the slider.
Digital Edge Detection on DIn2
Description
This function block measures the time between two successive rising edges on digital input 2
(DIn2 on Pin 3 of the Sub-D connector) and returns it on its output port. The unit of the return
value is microseconds (µs). The function block cannot be used together with the digital input 2
207Chapter 4 Function Block Library
4Function Block Library
or the analog input 2 at the same time.
Inputs and Outputs
OutputData
typeDescription
Default
value
period [µs] floatTime between two rising edges of the input signal
(corresponding to the period for PWM signals).0
Properties dialog
Properties dialog of the digital edge detection on DIn2(digital edge detection)
Element Function/Description
Simulated/measured input
The simulated input value (corresponding to the time
interval between two rising edges) can be adjusted during
simulation using the slider.
Digital Edge Detection on DIn3
Description
199 221
208 Chapter 4 Function Block Library
4Function Block Library
This function block measures the time between two successive rising edges on digital input 3
(DIn3 on Pin 5 of the Sub-D connector) and returns it on its output port. The unit of the return
value is microseconds (µs). The function block cannot be used together with the digital input 3
or the analog input 3 at the same time.
Inputs and Outputs
OutputData
typeDescription
Default
value
period [µs] floatTime between two rising edges of the input signal
(corresponding to the period for PWM signals).0
Properties dialog
Properties dialog of the digital edge detection on DIn3(digital edge detection)
Element Function/Description
Simulated/measured input
The simulated input value (corresponding to the time
interval between two rising edges) can be adjusted during
simulation using the slider.
200 222
209Chapter 4 Function Block Library
4Function Block Library
Digital Edge Detection on DIn4
Description
This function block measures the time between two successive rising edges on digital input 4
(DIn4 on Pin 7 of the Sub-D connector) and returns it on its output port. The unit of the return
value is microseconds (µs). The function block cannot be used together with the digital input 4
or the analog input 4 at the same time.
Inputs and Outputs
OutputData
typeDescription
Default
value
period [µs] floatTime between two rising edges of the input signal
(corresponding to the period for PWM signals).0
Properties dialog
Properties dialog of the digital edge detection on DIn4(digital edge detection)
Element Function/Description
201 223
210 Chapter 4 Function Block Library
4Function Block Library
Simulated/measured input
The simulated input value (corresponding to the time
interval between two rising edges) can be adjusted during
simulation using the slider.
Digital Edge Detection on DIn5
Description
This function block measures the time between two successive rising edges on digital input 5
(DIn5 on Pin 11 of the Sub-D connector) and returns it on its output port. The unit of the return
value is microseconds (µs). The function block cannot be used together with the digital input 5
or the analog input 5 and the analog outputs 1 and 2 at the same time.
Inputs and Outputs
OutputData
typeDescription
Default
value
period [µs] floatTime between two rising edges of the input signal
(corresponding to the period for PWM signals).0
Properties dialog
202 224 220 221
211Chapter 4 Function Block Library
4Function Block Library
Properties dialog of the digital edge detection on DIn5(digital edge detection)
Element Function/Description
Simulated/measured input
The simulated input value (corresponding to the time
interval between two rising edges) can be adjusted during
simulation using the slider.
Digital Edge Detection on DIn6
Description
This function block measures the time between two successive rising edges on digital input 6
(DIn6 on Pin 13 of the Sub-D connector) and returns it on its output port. The unit of the return
value is microseconds (µs). The function block cannot be used together with the digital input 6
or the analog input 6 and the analog outputs 1 and 2 at the same time.
Inputs and Outputs
OutputData
typeDescription
Default
value
period [µs] floatTime between two rising edges of the input signal
(corresponding to the period for PWM signals).0
202 224 220 221
212 Chapter 4 Function Block Library
4Function Block Library
Properties dialog
Properties dialog of the digital edge detection on DIn6(digital edge detection)
Element Function/Description
Simulated/measured input
The simulated input value (corresponding to the time
interval between two rising edges) can be adjusted during
simulation using the slider.
Digital Outputs
Symbo
lVisualization Function block
Sub-D
pinDescription
Digital Output on DOut1 2 Controls digital output 1.
Digital Output on DOut2 4 Controls digital output 2.
Digital Output on DOut3 6 Controls digital output 3.
Digital Output on DOut4 8 Controls digital output 4.
213
214
215
216
213Chapter 4 Function Block Library
4Function Block Library
Digital Output on DOut5 10 Controls digital output 5.
Digital Output on DOut6 12 Controls digital output 6.
Digital Output on DOut1
Description
This function block sets the value of digital output 1 (DOut1 on Pin 2 of the Sub-D connector)
to the given value. It cannot be used together with the analog output 1 at the same time.
Inputs and Outputs
InputData
typeDescription
Default
value
status bool Output value of the output pin (true/false = high/low). false (=low)
Properties dialog
217
218
227
214 Chapter 4 Function Block Library
4Function Block Library
Properties dialog of the digital output 1 (DOut1) (digitaloutput)
Element Function/Description
Simulated/measured output
The deactivated check box show the current state of the
output pin (high/low = On/Off = true/false).
Digital Output on DOut2
Description
This function block sets the value of digital output 2 (DOut2 on Pin 4 of the Sub-D connector)
to the given value. It cannot be used together with the analog output 2 at the same time.
Inputs and Outputs
InputData
typeDescription
Default
value
status bool Output value of the output pin (true/false = high/low). false (=low)
Properties dialog
228
215Chapter 4 Function Block Library
4Function Block Library
Properties dialog of the digital output 2 (DOut2) (digitaloutput)
Element Function/Description
Simulated/measured output
The deactivated check box show the current state of the
output pin (high/low = On/Off = true/false).
Digital Output on DOut3
Description
This function block sets the value of digital output 3 (DOut3 on Pin 6 of the Sub-D connector)
to the given value. It cannot be used together with the analog output 3 at the same time.
Inputs and Outputs
InputData
typeDescription
Default
value
status bool Output value of the output pin (true/false = high/low). false (=low)
229
216 Chapter 4 Function Block Library
4Function Block Library
Properties dialog
Properties dialog of the digital output 3 (DOut3) (digitaloutput)
Element Function/Description
Simulated/measured output
The deactivated check box show the current state of the
output pin (high/low = On/Off = true/false).
Digital Output on DOut4
Description
This function block sets the value of digital output 4 (DOut4 on Pin 8 of the Sub-D connector)
to the given value. It cannot be used together with the analog output 4 at the same time.
Inputs and Outputs
InputData
typeDescription
Default
value
status bool Output value of the output pin (true/false = high/low). false (=low)
230
217Chapter 4 Function Block Library
4Function Block Library
Properties dialog
Properties dialog of the digital output 4 (DOut4) (digitaloutput)
Element Function/Description
Simulated/measured output
The deactivated check box show the current state of the
output pin (high/low = On/Off = true/false).
Digital Output on DOut5
Description
This function block sets the value of digital output 5 (DOut5 on Pin 10 of the Sub-D connector)
to the given value. It cannot be used together with the analog output 5 at the same time.
Inputs and Outputs
InputData
typeDescription
Default
value
230
218 Chapter 4 Function Block Library
4Function Block Library
status bool Output value of the output pin (true/false = high/low). false (=low)
Properties dialog
Properties dialog of the digital output 5 (DOut5) (digitaloutput)
Element Function/Description
Simulated/measured output
The deactivated check box show the current state of the
output pin (high/low = On/Off = true/false).
Digital Output on DOut6
Description
This function block sets the value of digital output 6 (DOut6 on Pin 12 of the Sub-D connector)
to the given value. It cannot be used together with the analog output 6 at the same time.
Inputs and Outputs
Input Data Description Default
231
219Chapter 4 Function Block Library
4Function Block Library
type value
status bool Output value of the output pin (true/false = high/low). false (=low)
Properties dialog
Properties dialog of the digital output 6 (DOut6) (digitaloutput)
Element Function/Description
Simulated/measured output
The deactivated check box show the current state of the
output pin (high/low = On/Off = true/false).
Analog Inputs
Symbo
lVisualization Function block
Sub-D
pinDescription
Analog Input on AIn1 1 Reads analog input 1.
Analog Input on AIn2 3 Reads analog input 2.
Analog Input on AIn3 5 Reads analog input 3.
220
221
222
220 Chapter 4 Function Block Library
4Function Block Library
Analog Input on AIn4 7 Reads analog input 4.
Analog Input on AIn5 9 Reads analog input 5.
Analog Input on AIn6 11 Reads analog input 6.
Analog Input on AIn1
Description
This function block reads the value of analog input 1 (AIn1 on pin 1 of the Sub-D connector)
and returns it on its output port. The value is returned in raw form as well as a voltage value.
The voltage can be between 0V and 10V. The function block cannot be used together with the
digital input 1 or the digital edge detection on DIn1 at the same time.
Inputs and Outputs
OutputData
typeDescription
Default
value
dat floatValue of the voltage in V which bears on the relevant
pin.0
raw int16 16-bit numerical value of the analog-digital conversion. 0
err bool Error output: always false during program execution. true
Properties dialog
223
224
226
198 205
221Chapter 4 Function Block Library
4Function Block Library
Properties dialog of the analog input 1 (AIn1) (analoginput)
Element Function/Description
Simulated/measured input
The simulated voltage at the analog input can be adjusted
during simulation using the slider.
Analog Input on AIn2
Description
This function block reads the value of analog input 2 (AIn2 on pin 3 of the Sub-D connector)
and returns it on its output port. The value is returned in raw form as well as a voltage value.
The voltage can be between 0V and 10V. The function block cannot be used together with the
digital input 2 or the digital edge detection on DIn2 at the same time.
Inputs and Outputs
OutputData
typeDescription
Default
value
dat floatValue of the voltage in V which bears on the relevant
pin.0
raw int16 16-bit numerical value of the analog-digital conversion. 0
199 206
222 Chapter 4 Function Block Library
4Function Block Library
err bool Error output: always false during program execution. true
Properties dialog
Properties dialog of the analog input 2 (AIn2) (analoginput)
Element Function/Description
Simulated/measured input
The simulated voltage at the analog input can be adjusted
during simulation using the slider.
Analog Input on AIn3
Description
This function block reads the value of analog input 3 (AIn3 on pin 5 of the Sub-D connector)
and returns it on its output port. The value is returned in raw form as well as a voltage value.
The voltage can be between 0V and 10V. The function block cannot be used together with the
digital input 3 or the digital edge detection on DIn3 at the same time.
Inputs and Outputs
Output Data Description Default
200 207
223Chapter 4 Function Block Library
4Function Block Library
type value
dat floatValue of the voltage in V which bears on the relevant
pin.0
raw int16 16-bit numerical value of the analog-digital conversion. 0
err bool Error output: always false during program execution. true
Properties dialog
Properties dialog of the analog input 3 (AIn3) (analoginput)
Element Function/Description
Simulated/measured input
The simulated voltage at the analog input can be adjusted
during simulation using the slider.
Analog Input on AIn4
Description
This function block reads the value of analog input 4 (AIn4 on pin 7 of the Sub-D connector)
and returns it on its output port. The value is returned in raw form as well as a voltage value.
The voltage can be between 0V and 10V. The function block cannot be used together with the
digital input 4 or the digital edge detection on DIn4 at the same time.201 209
224 Chapter 4 Function Block Library
4Function Block Library
Inputs and Outputs
OutputData
typeDescription
Default
value
dat floatValue of the voltage in V which bears on the relevant
pin.0
raw int16 16-bit numerical value of the analog-digital conversion. 0
err bool Error output: always false during program execution. true
Properties dialog
Properties dialog of the analog input 4 (AIn4) (analoginput)
Element Function/Description
Simulated/measured input
The simulated voltage at the analog input can be adjusted
during simulation using the slider.
Analog Input on AIn5
Description
225Chapter 4 Function Block Library
4Function Block Library
This function block reads the value of analog input 5 (AIn5 on pin 9 of the Sub-D connector)
and returns it on its output port. The value is returned in raw form as well as a voltage value.
The voltage can be between 0V and 10V. The function block cannot be used together with the
digital input 5 or the digital edge detection on DIn5 at the same time.
Inputs and Outputs
OutputData
typeDescription
Default
value
dat floatValue of the voltage in V which bears on the relevant
pin.0
raw int16 16-bit numerical value of the analog-digital conversion. 0
err bool Error output: always false during program execution. true
Properties dialog
Properties dialog of the analog input 5 (AIn5) (analoginput)
Element Function/Description
Simulated/measured input
The simulated voltage at the analog input can be adjusted
during simulation using the slider.
202 210
226 Chapter 4 Function Block Library
4Function Block Library
Analog Input on AIn6
Description
This function block reads the value of analog input 6 (AIn6 on pin 11 of the Sub-D connector)
and returns it on its output port. The value is returned in raw form as well as a voltage value.
The voltage can be between 0V and 10V. The function block cannot be used together with the
digital input 6 or the digital edge detection on DIn6 at the same time.
Inputs and Outputs
OutputData
typeDescription
Default
value
dat floatValue of the voltage in V which bears on the relevant
pin.0
raw int16 16-bit numerical value of the analog-digital conversion. 0
err bool Error output: always false during program execution. true
Properties dialog
Properties dialog of the analog input 6 (AIn6) (analoginput)
203 211
227Chapter 4 Function Block Library
4Function Block Library
Element Function/Description
Simulated/measured input
The simulated voltage at the analog input can be adjusted
during simulation using the slider.
Analog Outputs
Symbo
lVisualization Function block
Sub-D
pinDescription
Analog Output on
AOut12 Controls analog output 1.
Analog Output on
AOut24 Controls analog output 2.
Analog Output on
AOut36 Controls analog output 3.
Analog Output on
AOut48 Controls analog output 4.
Analog Output on
AOut510 Controls analog output 5.
Analog Output on
AOut612 Controls analog output 6.
Analog Output on AOut1
Description
This function block generates a PWM signal with a duty cycle duty_cycle [%] at the analog
output 1 (AOut1 in pin 2 of the Sub-D connector). The output voltage is between 0V and 10V.
The function block cannot be used together with the digital output 1 and the digital edge
detection on DIn5 and DIn6 at the same time.
Note: The period of the PWM signal can be defined in micro-seconds in the Input period [µs]
section of the Properties dialog of the function block
227
228
229
230
230
231
213
210 211
228 Chapter 4 Function Block Library
4Function Block Library
Inputs and Outputs
InputData
typeDescription
Default
value
duty_cycle
[%]float Duty cyle of the PWM 50
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Analog Output on AOut2
Description
This function block generates a PWM signal with a duty cycle duty_cycle [%] at the analog
output 2 (AOut2 in pin 4 of the Sub-D connector). The output voltage is between 0V and 10V.
The function block cannot be used together with the digital output 2 and the digital edge
detection on DIn5 and DIn6 at the same time.
Note: The period of the PWM signal can be defined in micro-seconds in the Input period [µs]
section of the Properties dialog of the function block
Inputs and Outputs
InputData
typeDescription
Default
value
duty_cycle float Duty cyle of the PWM 50
13
214
210 211
229Chapter 4 Function Block Library
4Function Block Library
[%]
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Analog Output on AOut3
Description
This function block generates a PWM signal with a duty cycle duty_cycle [%] at the analog
output 3 (AOut3 in pin 6 of the Sub-D connector). The output voltage is between 0V and 10V.
The function block cannot be used together with the digital output 3 at the same time.
Note: The period of the PWM signal can be defined in micro-seconds in the Input period [µs]
section of the Properties dialog of the function block
Inputs and Outputs
InputData
typeDescription
Default
value
duty_cycle
[%]float Duty cyle of the PWM 50
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
13
215
13
230 Chapter 4 Function Block Library
4Function Block Library
Analog Output on AOut4
Description
This function block generates a PWM signal with a duty cycle duty_cycle [%] at the analog
output 4 (AOut4 in pin 8 of the Sub-D connector). The output voltage is between 0V and 10V.
The function block cannot be used together with the digital output 4 at the same time.
Note: The period of the PWM signal can be defined in micro-seconds in the Input period [µs]
section of the Properties dialog of the function block
Inputs and Outputs
InputData
typeDescription
Default
value
duty_cycle
[%]float Duty cyle of the PWM 50
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Analog Output on AOut5
Description
This function block generates a PWM signal with a duty cycle duty_cycle [%] at the analog
output 5 (AOut5 in pin 10 of the Sub-D connector). The output voltage is between 0V and 10V.
The function block cannot be used together with the digital output 5 at the same time.
216
13
217
231Chapter 4 Function Block Library
4Function Block Library
Note: The period of the PWM signal can be defined in micro-seconds in the Input period [µs]
section of the Properties dialog of the function block
Inputs and Outputs
InputData
typeDescription
Default
value
duty_cycle
[%]float Duty cyle of the PWM 50
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
Analog Output on AOut6
Description
This function block generates a PWM signal with a duty cycle duty_cycle [%] at the analog
output 6 (AOut6 in pin 12 of the Sub-D connector). The output voltage is between 0V and 10V.
The function block cannot be used together with the digital output 6 at the same time.
Note: The period of the PWM signal can be defined in micro-seconds in the Input period [µs]
section of the Properties dialog of the function block
Inputs and Outputs
InputData
typeDescription
Default
value
13
218
232 Chapter 4 Function Block Library
4Function Block Library
duty_cycle
[%]float Duty cyle of the PWM 50
Properties dialog
This function block does not have an individual configuration dialog. The inputs and outputs of
function blocks can be configured in the Standard Properties Dialog .
EasyLab contains a complete development environment to create programs in C for EasyKit Starter or
EasyKit Mini. The development environment contains
arm-gcc: C compiler for ARM microcontrollers. The arm-gcc can be found in Installation-Directory/arm-
gcc
cmake: Makefile-Generator. cmake can be found in Installation-Directory/cmake
runtime: Libraries to access the hardware connected to the microcontroller (i.e. Joystick, Display,
temperature sensor ...). The libraries including the source code can be found in Installation-Directory/
runtime
toolchain: Startup-Code and Linker-Script. The toolchain can be found in Installation-Directory/
toolchain
uploader: Program to upload programs via USB to the EasyKit Mini. The path to the uploader is
Installation-Directory/runtime/uploader_easykit-mini_cmd.exe
Examples: Example programs and build scripts. Examples can be found in Installation-Directory/
programming
During installation the environment variable EASYKIT_MINI_DIR is created. EASYKIT_MINI_DIR points to
the Installation-Directory. The scripts for building the examples use EASYKIT_MINI_DIR to find all
necessary programs, libraries, Startup-Code, Linker-Script and include files.
Build examples
1. Open a command prompt (cmd.exe)
2. Copy the examples (Installation-Directory/programming) to a directory with unlimited access rights (i.e.
c:\users\username ).
cd Documentsmkdir programmingcd programmingxcopy "%EASYLAB_MINI_DIR%\programming" /e
3. Change to an example folder (i.e. c:\users\username\programming\examples\blinky)
13
233Chapter 5 C programming
5C programming
4. Run build.bat.
234 Chapter 5 C programming
5C programming
Build runtime
1. Change to directory programming/runtime (i.e. c:/users/username/programming/runtime)
2. Run build_runtime.bat.
The newly compiled runtime libraries and include files are copied to programming/runtime/output
Build examples with self-build runtime
The script build.bat to build an example links the runtime in EASYLAB_MINI_DIR/runtime. If you build the
runtime yourself the script has to be modified to use your newly build runtime libraries.
Edit the script build.bat found in any example directory (i.e. c:\users\username\programming\examples
\blinky\build.bat).
REM If you build the runtime yourself comment in the next lineSET EASYLAB_MINI_RUNTIME_DIR=%cd%/../../runtime/output/runtime
REM This is the runtime shipped with EasyKit MiniREM If you build the runtime yourself comment out the next lineREM SET EASYLAB_MINI_RUNTIME_DIR=%EASYLAB_MINI_DIR%/runtime
235Chapter 5 C programming
5C programming
If the directory structure of the "programming" directory is unchanged than the self-build runtime is located
relative to the example directory as stated in the first out-commented SET statement to set the
EASYLAB_MINI_RUNTIME_DIR. In-comment this statement and out-comment the statement setting the
runtime directory relative to the EASYLAB_MINI_DIR.
This work partially bases on, distributes or contains work of third parties, which are listed in the following.
Distribution of this work may be subject to special terms and conditions, which are listed in the EasyLab
License Agreement which is displayed during the installation of EasyLab.
Boost C++ Libraries: This work is partially based on Boost C++ Libraries, a set of free peer-reviewed
portable C++ source libraries. See http://www.boost.org/ for more information on Boost.
CMake: This work includes a binary distribution of CMake, an open-source system that manages the
build process in an operating system and in a compiler-independent manner. See http://cmake.org/ for
more information on CMake.
GNU ARM-GCC: Some versions of this work include a binary distribution of "GNU-ARM GCC
EasyLab", a special version of the GNU ARM compiler tool chain for use with EasyLab. This binary was
build from source code obtained by CodeSourcery(TM) and is subject to various licenses.
CodeSourcery is a trademark of CodeSourcery, Inc. (http://www.codesourcery.com/). CodeSourcery
does not provide any support for ARM-GCC EasyLab. For more information about licensing, please
read the respective information in the source package.
Libmodbus: This work is partially based on Libmodbus, a library to send/receive data with a device
which uses the ModBus protocol. Libmodbus was developed by Stéphane Raimbault
LibUSB-Win32: Some versions of this work include a binary distribution of LibUSB-Win32, a port of the
USB library libusb (http://sourceforge.net/projects/libusb/) to the Windows operating system. See http://
libusb-win32.sourceforge.net/ and http://sourceforge.net/projects/libusb-win32/ for more information on
LibUSB-Win32.
Mingw32-make: Some versions of this work include a binary distribution of mingw32-make, a command
line tool for interpreting Makefiles. See http://www.mingw.org/ for more information on MinGW.
piklab-prog win32: Some versions of this work include a binary distribution of piklab-prog win32, a
command line tool that can be used to program microcontrollers with program and data. See http://
piklab.sourceforge.net/ for more information on Piklab.
236 Chapter 6 Legal Notice
6Legal Notice
Xerces-C++ XML Parser: This work is partially based on the Xerces-C++ XML parser. See http://
xerces.apache.org/xerces-c/ for more information on Xerces-C++.
The exact license terms for third party work are listed in the EasyLab License Agreement which is
displayed during the installation of EasyLab.
© © 2015 Festo Didactic SE.All rights reserved.
Product and company names mentioned in thismanual may be trademarks or registeredtrademarks of their respective companies.
Mention of third-party products is for informationalpurposes only and constitutes neither anendorsement nor a recommendation. The authorassumes no responsibility with regard to theperformance or use of these products. Allunderstandings, agreements, or warranties, if any,take place directly between the vendors and theprospective users. Every effort has been made toensure that the information in this manual isaccurate. The author is not responsible for printingor clerical errors.
The product described in this manual incorporatescopyright protection technology that is protected bymethod claims of certain U.S. patents and otherintellectual property rights.
This user manual was created with Help & Manual.
238
239
Index
Ind
ex
-- 72
!! 81, 84
!= 76
%% 70
&& 83
&& 79
** 71
// 69
^ ̂ 84
|| 85
|| 80
++ 68
<< 77
<< 86
<= 78
== 74, 76
== 74
>> 75
>= 75
>> 87
Aand 79
BBoolesch 17
DDeinstallation 2
GGanzzahl 15
IInstallation 2
KKommazahl 16
Konvertierung 17
MMinus 72
Multiply 71
Nnot 81, 84
240
Index
Ind
ex
Oor 80
PPlus 68
RRemainder 70
SSprache 3
TTeilen 69
UUmwandlung 17
Update 2
WWahrheitswert 17
Xxor 80