You are on page 1of 490

Universitt Stuttgart

Institut fr Automatisierungs- und Softwaretechnik


Prof. Dr.-Ing. Michael Weyrich

Industrial Automation Systems

Summer Term 2015

www.ias.uni-stuttgart.de/ia
ia@ias.uni-stuttgart.de

IAS

Contact person for Industrial Automation Systems

In case of organizational issues or problems in the progress of the lecture


Industrial Automation Systems please contact:
Matthias Klein, M.Sc.
Room:

1.112 (Pfaffenwaldring 47, 1st floor of IAS)

Tel.:

0711-685-67292

E-Mail: ia@ias.uni-stuttgart.de

2015 IAS, Universitt Stuttgart

IAS

Material

Lecture notes Industrial Automation Systems


Blue texts to be written down (not included in the lecture notes)
Live writings (empty slides in the lecture notes, planned for written notes)

Questions at the end of each subchapter answers to be written down


Preparation task at the end of each chapter for your own preparation
Lecture portal on the Internet www.ias.uni-stuttgart.de/ia
Current information about the lecture

Complete lecture materials


Exercises materials
Questions at least one week before the exercise
Solutions just after the exercise
Exams materials
Solutions available on the website
Lecturnity recordings of the lecture and the exercises (also available
as Podcast)
2015 IAS, Universitt Stuttgart

IAS

MOFIAS:
Mobile Online Feedback System for Lectures of the IAS

MOFIAS is a platform independent Web-App for Smartphones.


IAS-Students can interact with the lecturer by smartphone live during a
lecture.

Following functions are available:


Send questions / comments to the lecturer
Feedback the speed of the lecture

Answer questions to the chapter


Evaluate the lecture

Access: http://m.ias.uni-stuttgart.de
2015 IAS, Universitt Stuttgart

IAS

Live-Stream

The complete presentation (pictures and sound) will be streamed live over
the internet during the lecture.
We recommend to use VLC player to play the stream.

Questions / comments can be sent to the lecturer from outside the lecture
room.

Access: http://visstreamworld.hlrs.de/ias-vorlesung

2015 IAS, Universitt Stuttgart

IAS

Literature
Rudolf Lauber, Peter Ghner:
Prozessautomatisierung I

3rd Edition
Springer-Verlag Berlin Heidelberg 1999
ISBN 3-540-65318-X
Price: 59,95 EUR
In German

2015 IAS, Universitt Stuttgart

IAS

Lectures
Nr. Date

Subject

1*
2
3*

16.04.15
21.04.15
23.04.15

4
5

28.04.15
05.05.15

6*
7
8
9
10
11
12
13

07.05.15
12.05.15
19.05.15
02.06.15
09.06.15
16.06.15
23.06.15
30.06.15

Organization / What is Industrial Automation?


What is Industrial Automation?
What is Industrial Automation? / Automation Device
Systems and Structures
Automation Device Systems and Structures
Automation Device Systems and Structures / Process
Peripherals
Process Peripherals
Process Peripherals
Real-Time Programming
Real-Time Programming
Real-Time Programming / Real-Time Operating Systems
Real-Time Operating Systems
Real-Time Operating Systems / Programming language
Programming languages

(*) Lecture instead of exercises


2015 IAS, Universitt Stuttgart

Tuesday: 8:00 9:30, Thursday: 11:30 13:00


7

IAS

Exercises
Nr. Date

Subject

1
2
3
4
5
6
7
8
9
10
11
12*

Process signal capturing 1


Field Bus (CAN Bus)
Field Bus (Profibus)
Scheduling
Scheduling
Semaphore / Schedulability test
Semaphore / Schedulability test
Mini Operating System 1
Mini Operating System 2
PLC
PLC
Exam Questions

30.04.15
21.05.15
11.06.15
18.06.15
25.06.15
02.07.15
07.07.15
09.07.15
14.07.15
16.07.15
21.07.15
23.07.15

(*) Exercise instead of lecture


2015 IAS, Universitt Stuttgart

Tuesday: 8:00 9:30, Thursday: 11:30 13:00


8

IAS

Goals of the Lecture


Understanding what Industrial Automation is and why it is relevant
Knowing basic terms of Industrial Automation
Knowing and differentiating the types of automation devices and structures
Understanding the different types and application areas of field busses
Getting familiar with real-time programming methods

Mastering of synchronization concepts and scheduling methods


Understanding the different parts of a real-time operating system
Knowing how to develop a real-time operating system
Understanding different programming languages applied in Industrial
Automation

2015 IAS, Universitt Stuttgart

IAS

Relations to other Lectures


Specialization of
selected topics in
Communication
Networks

Industrial Automation Systems

Real Time
Programming

Basic knowledge from


Higher
Mathematics
Selected Basic
Subjects of
Computer Science
2015 IAS, Universitt Stuttgart

Networks and
Processes

Software
Engineering
for Real-Time
Systems

Introduction to
Distributed
Systems
10

IAS

Table of Content (1)


1 What is Industrial Automation?
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8

Definition of Several Basic Terms


Degree of automation and computer deployment
Automation of technical products and technical plants
Components of an industrial automation system
Levels of process management and automation functions
Technical systems
Graphical representation of technical processes
Effects of industrial automation on people, society and environment

2 Automation Device Systems and Structures


2.1
2.2
2.3
2.4
2.5

Automation Computers
Automation structures
Automation Hierarchies
Distributed Automation Systems
Automation structures with redundancy

3 Process Peripherals
3.1
3.2
3.3
3.4
3.5
3.6

Interfaces between the technical process and the automation computer system
Sensors and Actuators
Representation of process data in automation computers
Input / output of analog signals
Input / output of binary and digital signals
Field bus systems

2015 IAS, Universitt Stuttgart

13
14
30
37
49
57
62
73
80

89
90
116
125
132
137

150
151
160
172
178
203
209

11

IAS

Table of Content (2)


4 Real-Time Programming
4.1
4.2
4.3
4.4
4.5
4.6

Problem definition
Real-time programming methods
Tasks
Synchronization of tasks
Communication between tasks
Scheduling methods

5 Real-Time Operating Systems


5.1
5.2
5.3
5.4
5.5
5.6

Definition
Organization tasks of a real-time operating system
Development of a mini-real-time operating system
Software system design of the mini real-time operating system
Examples for real-time operating systems
Examples for real-time operating systems

6 Programming Languages for Process Automation


6.1
6.2
6.3
6.4

Basic Terms
Programming Programmable Logic Controllers (PLC)
Universal Programming Languages for Industrial Automation
Concepts of parallel programming

2015 IAS, Universitt Stuttgart

250
251
269
288
299
313
318

340
341
348
359
374
403
409

424
425
439
447
463

12

Chapter 1: What is Industrial Automation?

IAS

1 What is Industrial Automation?


Learning Objectives/Goals

to know what Industrial Automation is

to understand what a real-time system is

to know the different degrees of automation

to recognize the different kinds of computer deployment

to be able to differ between product automation and plant automation

to know the components of an industrial automation system

to know the different levels of an industrial automation system and their


requirements

to be able to classify processes in technical systems

to know the different ways of graphical representation of technical


processes

Understand the responsibility of an automation engineer

2015 IAS, Universitt Stuttgart

13

IAS

1 What is Industrial Automation?


1.1

Definition of Several Basic Terms

1.2

Degree of Automation and Computer Deployment

1.3

Automation of Technical Products and Technical Plants

1.4

Components of an Industrial Automation System

1.5

Levels of Process Management and Automation Functions

1.6

Technical Systems

1.7

Graphical Representation of Technical Processes

1.8

Effects of Industrial Automation on People, Society and Environment

2015 IAS, Universitt Stuttgart

14

1.1 Definition of Several Basic Terms

IAS

Economic Relevance of Automation


228 billion EUR total volume (2006) for the electric automation
in energy, process and manufacturing technology

Source: VDI - Automation 2020 (Juni 2009)

Manufacturing of Automation
Equipment (2006)
Others
;

EU-25
(without
GER);
20%
Germany;

Usage of Automation in
Production (2006)

Others;

EU-25
(without
GER);
20%

Germany;

Germany has the largest export share of automation products


9% of the world market of automation is utilised in Germany
Export rate is 77%
2015 IAS, Universitt Stuttgart

15

1.1 Definition of Several Basic Terms

IAS

Definition 1:
A technical process is a process during which material, energy or
information is altered in its state. This modification of state can imply
the transition from an initial state to a final state.

Initial state of
material, energy
or information

TECHNICAL
PROCESS
in a technical system

Final state of
material, energy
or information

Technical process effects the flow of material, energy, or information


2015 IAS, Universitt Stuttgart

16

1.1 Definition of Several Basic Terms

IAS

Examples
Initial State

Technical Process

Technical System

Final State

Low ambient
temperature

Heating of a house

Dirty
laundry

Washing process

Unsorted parcels

Transportation and distribution


processes

Parcel distribution system

Energy of fossil or
nuclear fuels

Energy transformation and


energy generation processes

Power plant

Parts to be
stored

Storage process

Train at location A

Traffic process

Monomere substance

Chemical reaction

Untested device

Test process

Test laboratory

Tested device

Parts without a drillhole

Drilling process

Drilling machine

Parts with drill-hole

Pollutants

Pollution monitoring

2015 IAS, Universitt Stuttgart

Oil-fueled heating system

Washing machine

High bay warehouse


Train
Chemical reactor

System for air


pollution monitoring

Higher ambient temperature

Fresh laundry

Parcels sorted by destinations

Electric energy

Parts compiled for commissions


Train at location B
Polymeric substance

Information on pollution
concentrations are indicated
in monitoring center

17

1.1 Definition of Several Basic Terms

IAS

Definition 2:
DIN 66201
A process is the entirety of all interacting processes within a
system that transforms and stores material, energy or information.
A technical process is a process in which its physical parameters
are recorded and influenced by technical means.
effecting
variables

material,
energy or
information
inflow

output
values

TECHNICAL PROCESS

material, energy,
or information
outflow

in a technical system

from simple to highly complex

different partial processes are combined to an overall process

2015 IAS, Universitt Stuttgart

18

1.1 Definition of Several Basic Terms

IAS

Technical system with technical process


actuating
signals

material, energy
or information
inflow

measured
signals

Technical System

material, energy
or information
outflow

(device,machine
or technical plant)

process
influencing
information

process
outcome
information

Technical
Process
process
input

2015 IAS, Universitt Stuttgart

process
output

19

1.1 Definition of Several Basic Terms

IAS

Example
actuating signals
Technical Plant

measured signals

substance A
substance B

substance C
Technical Process

feed
substance A
feed
substance B

fill

reaction

empty

outflow
reactions
product
substance C

technical plant: chemical reactor


technical process: 3 sub-processes (fill, reaction, empty)

2015 IAS, Universitt Stuttgart

20

1.1 Definition of Several Basic Terms

IAS

Industrial automation

= process

automation

automat

automation

2015 IAS, Universitt Stuttgart

= technical systems
acting on itself

= to enable machines,
installations and facilities
to operate autonomously

21

1.1 Definition of Several Basic Terms

IAS

Industrial automation

the automation of a technical process

Industrial automation system


=

technical system with technical process


+

computer and communication system

process operators

2015 IAS, Universitt Stuttgart

22

1.1 Definition of Several Basic Terms

IAS

Structure of an industrial automation system

People
(process operators)
for managing and operating
the technical
process as well as
intervening in
exceptional situations

process
influence

process
outcome

computer and
communication system
consisting of e.g.,
programmable logic
controllers (PLC), industrials PCs,
micro controllers,
bus systems, etc.
control
signals to the
technical
process

signals
from the
technical
process

technical system
(technical product or
technical plant), in which
a technical process
is implemented

2015 IAS, Universitt Stuttgart

23

1.1 Definition of Several Basic Terms

IAS

Industrial automation system

Goal is the automation of operations in the technical process with the


help of appropriate information processing

Human operators define the outputs only

Process control system / distributed control system

Human operator is steering the overall technical process, but is


supported by automated control of sub processes

Process informatics

Focus is on the automation software system

Real-time processing

2015 IAS, Universitt Stuttgart

24

1.1 Definition of Several Basic Terms

IAS

Definition: Real-time operation (DIN 44300)


Real-time operation is the operation of a computer system, in which
programs required for the handling of incoming data are in constant
operation so that the processing results are available within a given
period of time.
This data may appear according to a random time distribution or at
regular intervals.
Features of a real-time system

Hardware/software system

Data reception, data processing, data delivery to the process within a


given time interval

External events

Priority of processing

2015 IAS, Universitt Stuttgart

25

1.1 Definition of Several Basic Terms

IAS

Requirements on real-time systems

Timeliness
react right on time

Simultaneousness
concurrent reaction to various events

Dependability
reliable, safe, available

Predictability
all reactions must be predictable and deterministic

2015 IAS, Universitt Stuttgart

26

1.1 Definition of Several Basic Terms

IAS

Industrial automation system as real-time systems

people
time

time

external
influences

sensor signals
computer and
communication
system

2015 IAS, Universitt Stuttgart

control signals

technical process
in a
technical plant

27

1.1 Definition of Several Basic Terms

IAS

Features of automation computer systems


Processors applicable in a process automation system are freely
programmable digital processors (computers) that have to show mainly 3
features:

Compliance with real-time operation requirements, that are:


recording, processing and output of process data in a timely
manner

Possibilities for input/output of process signals (directly or via a


communication system) for process connection

Effective processing of numbers, characters and bits

2015 IAS, Universitt Stuttgart

28

1.1 Definition of Several Basic Terms

IAS

Question referring to Chapter 1.1


In addition to the correctness of the data the timeliness of data is of high
relevance in industrial automation. With which of the following statements
do you agree?

Answer
Early data is bad data
Delayed data is bad data
As fast as possible data is correct data
Timely and precise data is bad data
No data is as bad as wrong data

2015 IAS, Universitt Stuttgart

29

IAS

1 What is Industrial Automation?


1.1

Definition of several basic terms

1.2

Degree of automation and computer deployment

1.3

Automation of technical products and technical plants

1.4

Components of an industrial automation system

1.5

Levels of process management and automation functions

1.6

Technical systems

1.7

Graphical representation of technical processes

1.8

Effects of industrial automation on people, society and environment

2015 IAS, Universitt Stuttgart

30

1.2 Degree of automation and computer deployment

IAS

Degree of automation
The meaning and value of an automation system depends on the technical
process (accessible / inaccessible) and the general conditions (economically
reasonable / uneconomic).
The degree of automation describes the extend to which the processes are
automated. Span: from manual to fully autonomous
Attention: As per today human can intervene even in a fully automated
system.
Types of operation

Off-line operation (operation with indirect process connection) with the


lowest degree of automation

On-line / open-loop operation (open on-line operation) for a medium


degree of automation

On-line / closed-loop operation (closed on-line operation) for a high


degree of automation

2015 IAS, Universitt Stuttgart

31

1.2 Degree of automation and computer deployment

IAS

Operation without computer use


general management
orders
operation
accounting
operation
report

process
management
applications
process
personnel

control and
regulation devices
display device and
graphical recorder

manual
device

technical plant

2015 IAS, Universitt Stuttgart

32

1.2 Degree of automation and computer deployment

IAS

Off-line operation (indirectly connected operation)


input,
operation modes
instructions

General management

orders

operation
report

operation
protocol input
Off-line
computer

process
management
instructions

process
personnel
control and
regulation devices

display and
graphical recorder

manual
device

technical plant
2015 IAS, Universitt Stuttgart

33

1.2 Degree of automation and computer deployment

IAS

On-line/ open-loop operation of a computer system


General management

operation
monitoring

orders

operation
report

control room

instructions

processpersonnel
control and
regulation devices
computer
system
manual
device

technical plant
2015 IAS, Universitt Stuttgart

34

1.2 Degree of automation and computer deployment

IAS

On-line-/ closed-loop operation of a computer system


operation management
and control
orders

operation
report

computer and communication system

emergency
control

emergency
instruments

technical plant

2015 IAS, Universitt Stuttgart

35

1.2 Degree of automation and computer deployment

IAS

Question referring to Chapter 1.2


Concerning the type of operation, three types can be differentiated. To
which of the following statements do you agree?

Answer
Off-line operation shows the highest degree of automation
On-line / closed-loop operation requires a high number of operation
personnel
On-line / open-loop operation is best suited for a medium degree of
automation
In case of off-line operation the computer is used as an assistance for
calculations and analysis.

2015 IAS, Universitt Stuttgart

36

IAS

1 What is Industrial Automation?


1.1

Definition of several basic terms

1.2

Degree of automation and computer deployment

1.3

Automation of technical products and technical plants

1.4

Components of an industrial automation system

1.5

Levels of process management and automation functions

1.6

Technical systems

1.7

Graphical representation of technical processes

1.8

Effects of industrial automation on people, society and environment

2015 IAS, Universitt Stuttgart

37

1.3 Automation of technical products and technical plants

IAS

Product automation
industrial automation systems, in which the technical process takes place
within a device or within a single machine

Plant automation
industrial automation systems, in which the technical process is composed of
multiple sub processes that are often specially distributed or wide spread over
plants

2015 IAS, Universitt Stuttgart

38

Examples
cameras
navigation systems
mobiles, telephones
machine tools
automobiles (with sub-systems
engine control, ABS, ESP, navigation)

Product automation

1.3 Automation of technical products and technical plants

IAS

TVs, radios, CD/DVD-players


kitchen appliances (e.g. dish washer,
microwave oven)
washing machine
measuring devices

alarm systems
railway traffic systems (long distance
trains, locomotives, metros)

energy distribution, gas supply


purification and water plants
chemical reactors
process technical plants

2015 IAS, Universitt Stuttgart

traffic light installations

Plant automation

power plants

heating systems

building automation systems


logistic installations (high bay,
warehouse, parcel distribution)
production plants

39

1.3 Automation of technical products and technical plants

IAS

Characteristic criteria regarding product automation

Technical process in a device or machine (embedded systems)

Dedicated automation functions

Automation computer in the form of a micro controller or PLC

Few sensors and actuators

Degree of automation 100%, on-line/closed-loop operation

High quantities (volume or mass products)

Engineering and software costs of inferior importance since they are


distributed among large unit numbers

2015 IAS, Universitt Stuttgart

40

1.3 Automation of technical products and technical plants

IAS

Structure with simple product automation

micro controller

process results

display

set values

manipulated variables

user
or
operator

technical product

2015 IAS, Universitt Stuttgart

41

1.3 Automation of technical products and technical plants

IAS

Example of a simple product automation


User
or
operator

Washing program,
spin speed

LCD (washing time,


operation directions)

Microcontroller
(e.g. Siemens C167)
Motor speed,
heating control

Temperature value,
actual spin speed

Washing machine

2015 IAS, Universitt Stuttgart

42

1.3 Automation of technical products and technical plants

IAS

Future of the product automation


Ubiquitous
Computing

Picture Source: Internet

1991

The Computer
For the 21st
Century

Definition:

Cyber-Physical
Systems
2006

NSF
Workshop

2010

acatech

A cyber-physical system
(CPS) is a system of
collaborating computational
elements controlling physical
entities.
[]
-- Wikipedia EN, 11.03. 2014

Mark Weiser
Xerox PARC

"Ubiquitous computing names the third wave in computing, just


now beginning. First were mainframes, each shared by lots of
people.

Next comes ubiquitous computing, or the age of calm technology,


when technology recedes into the background of our lives."

2015 IAS, Universitt Stuttgart

43

IAS

Source: Swarm Lab, UC Berkeley

1.3 Automation of technical products and technical plants

2015 IAS, Universitt Stuttgart

44

1.3 Automation of technical products and technical plants

IAS

Structure with complex product automation


user
or
operator

microcontroller

bus-system

microcontroller
1

microcontroller
2

microcontroller
n

subsystem
1

subsystem
2

subsystem
n

technical product
2015 IAS, Universitt Stuttgart

45

1.3 Automation of technical products and technical plants

IAS

Characteristic criteria regarding plant automation


Technical process in an industrial plant, often geographically wide spread
Extensive and complex automation functions

PLCs, PCs and process control systems are used as automation computer
systems
Large number of sensors and actuators
Medium to high degree of automation

One-of-a-king system
Engineering and software costs are critical for overall costs

2015 IAS, Universitt Stuttgart

46

1.3 Automation of technical products and technical plants

IAS

Structure for a larger technical plant


factory bus
monitoring,
operating,
protocolling

master
computer

PC

level 3

PC

plant bus
level 2
PLC

PLC

PLC

field bus

field bus
level 1

subsystem

subsystem

subsystem

technical plant
2015 IAS, Universitt Stuttgart

47

1.3 Automation of technical products and technical plants

IAS

Question referring to Chapter 1.3


A company wants to automate the production of refrigerators. For this
purpose, a new production line shall be constructed. In this production
line, the coolant will be filled in and the rear will be screwed to the case.

Which kind of automation system is this ?

Answer

2015 IAS, Universitt Stuttgart

48

IAS

1 What is Industrial Automation?


1.1

Definition of several basic terms

1.2

Degree of automation and computer deployment

1.3

Automation of technical products and technical plants

1.4

Components of an industrial automation system

1.5

Levels of process management and automation functions

1.6

Technical systems

1.7

Graphical representation of technical processes

1.8

Effects of industrial automation on people, society and environment

2015 IAS, Universitt Stuttgart

49

1.4 Components of an industrial automation system

IAS

technical components
of an industrial
automation system

technical system to
be automated
(automation object)

technical
product

facilities necessary for


automation
(automation system)

facilities for
user - process
communication

technical
plant

hardwired
individual
devices

interface to the
technical process:
sensors and actuators

automation
computer system

communication
system

communication
system close to the
process (field bus)

bus system for the


communication between
automation computers

hardware system
(device system)

computer
hardware

2015 IAS, Universitt Stuttgart

process
periphery

automation
software system

user
software

system
software

50

1.4 Components of an industrial automation system

IAS

Sensors

Acquisition of information on the progression of process variables

Sensors, detection devices, measuring devices

Conversion into electrical or optical signals

Actuators

Conversion of control information in order to influence process variables

Actuators (correcting element)

2015 IAS, Universitt Stuttgart

51

1.4 Components of an industrial automation system

IAS

Communication system in product automation


Simple products
set values

few sensors and actuators


manipulated variables

micro controller

process results

short line distances

display

user
or
operator

technical product

Complex products
communication between subsystems via bus system
examples: CAN bus, Interbus-S
user
or
operator

microcontroller
bus system

microcontroller
1

microcontroller
2

microcontroller
n

subsystem
1

subsystem
2

subsystem
n

technical product

2015 IAS, Universitt Stuttgart

52

1.4 Components of an industrial automation system

IAS

Communication system in plant automation

Many sensors and actuators, spatially distributed

Many automation computers, spatially distributed

additional requirements: intrinsic safety for explosion protection

Communication tasks on several levels


factory bus

Factory bus

monitoring,
operating,
protocolling

master
computer

PC

level 3

PC

plant bus

Plant bus (process bus)

level2

PLC

PLC

PLC
field bus

Field bus

field bus
level1

subsystem

subsystem

subsystem

technical plant

2015 IAS, Universitt Stuttgart

53

1.4 Components of an industrial automation system

IAS

Automation software system


Set of all programs necessary for the execution of automation tasks,
including their documentation
Differentiation between executive and organizational/administrational
tasks

Executive programs
(application software)

2015 IAS, Universitt Stuttgart

Organizing and administrating


programs (operating software
or system software)

54

1.4 Components of an industrial automation system

IAS

System software

programs for
acquisition of
process variables

programs for
organization of
application
programs

programs for
process
monitoring

programs for
process
control

programs for
process
regulation
programs for
process
optimization and
management
programs for
process safety
and security

2015 IAS, Universitt Stuttgart

operating system

Application software

programs for managing


periphery devices

programs for
organizing data traffic
with
external memories
programs for the
dialogue between
human and computer

compilation programs

run-time
programs

55

1.4 Components of an industrial automation system

IAS

Question referring to Chapter 1.4


For the control computer of a production line of refrigerators (described in
the last question) the company received two offers:

ordinary PC
industrial PC with the same performance

2000,-
5000,-

Which computer would you choose ?


Give reasons for your choice and explain the difference in price.

Answer

2015 IAS, Universitt Stuttgart

56

IAS

1 What is Industrial Automation?


1.1

Definition of several basic terms

1.2

Degree of automation and computer deployment

1.3

Automation of technical products and technical plants

1.4

Components of an industrial automation system

1.5

Levels of process management and automation functions

1.6

Technical systems

1.7

Graphical representation of technical processes

1.8

Effects of industrial automation on people, society and environment

2015 IAS, Universitt Stuttgart

57

1.5 Levels of Process Management and Automation Functions

IAS

Model of levels in the management of a technical process


levels of
hierarchy
strategic
level
dispositive
level
tactical
level
operative
level

field of action

2015 IAS, Universitt Stuttgart

levels of distribution
long-term
distribution policy

levels of
industrial automation
business management
level

distribution planning

production and operation


management level

distribution tactics

process control level

sales

level of measuring
controlling and regulating
process variables
(process variable level)

market

technical process in a
technical system

58

1.5 Levels of Process Management and Automation Functions

IAS

Model of levels in the management of a technical process


Impact

Levels

Enterprise Resource Management

Production and Operations


management

Supervisory and
Process Control

Variables of the Process


(I/O Signals)

min

MByte

KByte

0.1 s

Byte

ms

Bit

Sample rate

2015 IAS, Universitt Stuttgart

Data Volume

59

1.5 Levels of Process Management and Automation Functions

IAS

Automation functions
Levels
company
Levelsof
ofathe
enterprise
business
Enterprise
Resource
management
Managementlevel

Automation
functions
Type
of Automation
cost analysis,
statistical evaluations

Production
production and
and
Operations
operation
management
level
management

work sequence planning,


capacity optimization,
evaluation of process results

Supervisory
process control
and
level
Process Control

process monitoring,
start-up and shut-down,
malfunction handling, process
guidance, process security

Variables of the
process variable
Process
level
(I/O Signals)

measuring, controlling,
manipulating, regulating
interlocking, emergency
handling of process variables,
shut-down, protection

field level
level
Field

2015 IAS, Universitt Stuttgart

recording and influencing


process variables with sensors
and actuators
60

1.5 Levels of Process Management and Automation Functions

IAS

Question referring to Chapter 1.5


How do amounts of data and time requirements behave on the different
levels of management of technical processes?

Answer
On the upper hierarchy levels only little amounts of data are exchanged.
Actions on I/O signals of the prcess take effect within the scope of
minutes.
The lower the level, the more critical the time requirements.

2015 IAS, Universitt Stuttgart

61

IAS

1 What is Industrial Automation?


1.1
1.2
1.3
1.4
1.5

Definition of several basic terms


Degree of automation and computer deployment
Automation of technical products and technical plants
Components of an industrial automation system
Levels of process management and automation functions

1.6

Technical systems

1.7
1.8

Graphical representation of technical processes


Effects of industrial automation on people, society and environment

2015 IAS, Universitt Stuttgart

62

1.6 Technical systems

IAS

Types of process variables (1)

Process variables, that are allocated to the course of physical


state-variables with a continuous or piecewise continuous range of values
example: temperatures in a heating system

Process variables, that are allocated to certain discrete process states


physical variables with a continuous range of values that characterize
the process states
binary process variables that are allocated to state transitions i.e., to
events that cause the change of state
example: switch setting: 0/off - 1/on

2015 IAS, Universitt Stuttgart

63

1.6 Technical systems

IAS

Types of process variables (2)

Process variables that are allocated to individually identifiable objects


physical variables with a continuous range of values
example: temperature of a slab in a clogging mill,
size of a part in a store
non-physical variables
example: type, design, application, depot number

2015 IAS, Universitt Stuttgart

64

1.6 Technical systems

IAS

Definition of three process types in technical systems

continuous processes

sequential processes, discrete event type processes

object-related processes, discrete object type processes

Attention! - a clear distinction is not always possible!

Example: transportation as a continuous and object-related


process

2015 IAS, Universitt Stuttgart

65

1.6 Technical systems

IAS

Continuous processes in technical systems

Characteristics

processes containing time-dependent continuous


process variables

Process variables

physical variables with a (at least piecewise)


continuous range of values

Examples

generation processes,
transformation processes,
movements, etc.

Mathematic
models

differential equations (time as an independent


variable), transfer functions

2015 IAS, Universitt Stuttgart

66

1.6 Technical systems

IAS

Sequential processes in technical systems

Characteristics

processes containing sequences of


different, distinguishable process states

Process variables

binary signals that cause or indicate discrete process


states as well as continuous physical variables
allocated to process states

Examples

sequences of process states during start-up or


shut-down of a turbine, sequence of states during the
operation of an elevator, sequence of states during
production using a machine tool

Models

flow charts, function plans according to DIN 40719,


state models, Petri nets

2015 IAS, Universitt Stuttgart

67

1.6 Technical systems

IAS

Object-related processes in technical systems

Characteristics

processes during which individually identifiable


objects are transformed, transported or stored

Process variables

physical variables with a continuous range of values


or non-physical variables (e.g. type, design, application,
bay number) that are allocated to the objects, as well
as binary variables, that cause or indicate state changes
of objects

Examples

processes during the manufacturing of parts,


traffic processes, storage processes,
information processes in computers

Models

simulation models, queue-models, state models,


Petri nets, OO-models

2015 IAS, Universitt Stuttgart

68

1.6 Technical systems

IAS

Classification Methods for Technical Processes


Classification according to the kind of...
transformed or transported medium
example: material related processes, energy related processes,
information related processes
effect
example: generation processes, distribution processes, storage
processes
material-related transformation
example: chemical processes, production processes

dominating process type


example: continuous processes, sequential processes, object-related
processes
2015 IAS, Universitt Stuttgart

69

1.6 Technical systems

IAS

Assignment of technical processes to process types

Technical processes

Process types

energy-related
processes

continuous processes,
sequential processes

chemical
processes

continuous processes,
sequential processes

production
processes

continuous processes,
sequential processes,
object-related processes

material-handling
processes

continuous processes,
sequential processes,
object-related processes

Technical processes can contain processes of different types,


a process in turn can be a technical process.
2015 IAS, Universitt Stuttgart

70

1.6 Technical systems

IAS

Examples:
Generation of electric energy in a turbo generator
continuous process
sequential process (start-up sequence)
Batch processes
single process steps are continuous processes
sequence of steps is a sequential process

Manufacturing a swivel plate


transportation of the machine parts is an object-related process
manufacturing process consists of a sequence of steps (mount
part, drive machine to position etc.), thus it is a sequential
process
cutting process is a continuous process

2015 IAS, Universitt Stuttgart

71

1.6 Technical systems

IAS

Question referring to Chapter 1.6


The IAS modular production system is shown below.
Which kind of processes do you identify in this system?

Answer

2015 IAS, Universitt Stuttgart

72

IAS

1 What is Industrial Automation?


1.1

Definition of several basic terms

1.2

Degree of automation and computer deployment

1.3

Automation of technical products and technical plants

1.4

Components of an industrial automation system

1.5

Levels of process management and automation functions

1.6

Technical systems

1.7

Graphical representation of technical processes

1.8

Effects of industrial automation on people, society and environment

2015 IAS, Universitt Stuttgart

73

1.7 Graphical representation of technical processes

IAS

Flow diagram
Similar to block diagrams used in control engineering
Processes and process steps are represented as rectangles
Arrows represent the information or material flow
Bundles of connections are shown as double lines with arrow

Example:
additive
crush

additive
crushed

solvent

raw
material
reaction

dissolve
solvent
2015 IAS, Universitt Stuttgart

material
dissolved

intermediate
product

separate

final product

74

1.7 Graphical representation of technical processes

IAS

Examples for the flow diagram representation (1)


additive

crushing

raw material
dissolving

solvent

reaction

separation

final product

additive
350 kg/h
x
raw material
800 kg/h

M1

M2

z1

heating steam
3 bar

solvent

W1

solvent
1000 kg/h

heating
steam
B1

solvent
700 kg/h

1 bar
108 C

B2
1 bar
20 C

1 bar
20 C

final product
1450 kg/h
depot

P1

2015 IAS, Universitt Stuttgart

P2

75

1.7 Graphical representation of technical processes

IAS

Examples for the flow diagram representation (2)


heating steam
5 bar
V301

F1

additive
350 kg/h

solvent
700 kg/h

V302

V304
V206

V303

M
3h

FRC

raw material
800 kg/h

1.01

M1

Z1
M2

V101 V102 V103


V201 V202 V203

V105

TRC
1.02

W1

M
3h

LRC

V112
V111

solvent
1000 kg/h
V204

K1

V305

FRC

M
3h

2.01

B1

TRC
1.02
M
3h

W2

LRC

LRC

1.03

1.04

M
3h

M
3h

P1
V106

A1

B2

W3
V306

V301

LRC+

1.04

P2
V107

V106

V302

V116

V303
V110

condensate

2015 IAS, Universitt Stuttgart

1.04

final product
1450 kg/h

76

1.7 Graphical representation of technical processes

IAS

Information/material-oriented representation
Information/materials as circles
Processes/functions as linking arrows
Example:
additive

additive
crushed

solvent

intermediate
product

material
material
dissolved

final
product

solvent

2015 IAS, Universitt Stuttgart

77

1.7 Graphical representation of technical processes

IAS

Phase model representation


Mixture of flow diagram and information/material-oriented representation

Example:

additive

sub
process
crush

additive
crushed

solvent

reaction
raw
material
sub
process
dissolving

material
dissolved

intermediate
product

separate

final
product

solvent

2015 IAS, Universitt Stuttgart

78

1.7 Graphical representation of technical processes

IAS

Question referring to Chapter 1.7


To which of the following statements concerning the graphical
representation of technical processes do you agree?

Answer
In the flow diagram processes and process steps are represented as
rectangles.
In the information/material-oriented representation processes are
represented as circles.
The flow diagram and the information/material-oriented representation use
the same notation.
The information/material-oriented representation is rather used for
organizational processes than for technical processes.

2015 IAS, Universitt Stuttgart

79

IAS

1 What is Industrial Automation?


1.1

Definition of several basic terms

1.2

Degree of automation and computer deployment

1.3

Automation of technical products and technical plants

1.4

Components of an industrial automation system

1.5

Levels of process management and automation functions

1.6

Technical systems

1.7

Graphical representation of technical processes

1.8

Effects of industrial automation on people, society and


environment

2015 IAS, Universitt Stuttgart

80

1.8 Effects of Industrial Automation on People, Society and Environment

IAS

Intentional (positive) effects

Simplified and more convenient operation


automation of a washing machine
automation of a heating system

Production of better, cheaper products of equal quality with lowered


production costs
automation of chemical production processes

Reduction of hazards to people


ABS system
traffic system automation (like inductive train securing, automatic
barrier close)

Better, more humane working conditions


automation of painting or foundry work

Securing jobs through higher competitiveness


use of robots in automobile manufacturing
Film: Automated Medicine Cabinet In Everyday Life

2015 IAS, Universitt Stuttgart

81

1.8 Effects of Industrial Automation on People, Society and Environment

IAS

Unintentional (negative) effects

Redundancy of workers may lead to unemployment


use of robots in manufacturing

Restructuring of jobs due to changes in work flow and fields of work


lower/ higher qualified jobs
drop of ancillary tasks

increase of jobs in the service sector

Reduction of human relationships


introduction of ticket vending machines and information systems

Increase of stress and reduction of relaxing tasks


automation of testing systems

Overstraining in difficult situations


safety-critical decision in a nuclear power plant

2015 IAS, Universitt Stuttgart

82

1.8 Effects of Industrial Automation on People, Society and Environment

IAS

Source: Internet

Trend: climate change

2015 IAS, Universitt Stuttgart

83

1.8 Effects of Industrial Automation on People, Society and Environment

IAS

Source: Internet

Trend: energy shortage

2015 IAS, Universitt Stuttgart

84

1.8 Effects of Industrial Automation on People, Society and Environment

Trend: ageing of the population

IAS

In Germany, the current


population of approx. 82 million
people will shrink to 70 - 65
million people in 2060 (from a
government report on demographics
summit 2/10/2013)

at 31.12.1910

at 31.12.2005 and at 31.05.2050

age in years

Men

lower limit of the average population


upper limit of the average population
age in years

Women

Source: Internet

Men

thousands of people

2015 IAS, Universitt Stuttgart

thousands of people

thousands of people

Women

thousands of people

85

1.8 Effects of Industrial Automation on People, Society and Environment

IAS

Trend: globalisation

Lets talk about


the laws of
nature e.g.

gravitation
thermodynamic
globalisation

Source: Internet

You
are
here
!
!

2015 IAS, Universitt Stuttgart

86

1.8 Effects of Industrial Automation on People, Society and Environment

IAS

Question referring to Chapter 1.8


Discuss the positive and negative consequences of industrial automation
on people, environment, and society.

Daimler aims to lay-off 750


employees in the passenger car
division.
Spiegel Online, 13.03.2013

The automotive and industry


supplier Bosch plans job cuts in
Europa
N24, 14.02.2013

Siemens cuts jobs to reduce


costs
Focus de, 21.02.2013
Photo: Volkswagen Sachsen GmbH

2015 IAS, Universitt Stuttgart

87

Chapter 1: Preparation Task

IAS

Preparation Task to Chapter 1


Question: Real-Time Requirements (ST 2004)
Several automation functions in modern cars are realized electronically, such
as the steering of the wheels and the braking system. In the automation of
these functions all the requirements on real time systems discussed in the
lecture are present.
Explain these requirements using as examples scenarios of the automation
functions described before.

2015 IAS, Universitt Stuttgart

88

Chapter 2: Automation Device Systems and Structures

IAS

2 Automation Device Systems and Structures


Learning targets

to know differences between computer systems for automation

to understand the PLC operation mode

to be able to differentiate between centralized and distributed structures

to understand automation hierarchies and their requirements

to understand distributed automation systems

to know basic topologies of communication

to be able to differentiate between an open and a proprietary


communication system

to know what is meant by redundancy

to be able to explain what is meant by diversity

2015 IAS, Universitt Stuttgart

89

IAS

2 Automation Device Systems and Structures


2.1

Automation computers

2.2

Automation structures

2.3

Automation hierarchies

2.4

Distributed automation systems

2.5

Automation structures with redundancy

2015 IAS, Universitt Stuttgart

90

2.1 Automatiion computers

IAS

Kinds of automation computers (repetition)

Programmable logic controller (PLC)

Micro controller

Personal computer (PC)

Industrial Personal Computer (IPC)

Process control system

2015 IAS, Universitt Stuttgart

91

2.1 Automation computers

IAS

Programmable Logic Controllers


Programmable Logic Controllers since 1972
Influenced by components and technologies

Dependent on the task


Beginnings of software application

1980

kByte

1990

20

kByte

2000

2000

kByte

2009

64

MByte

2015 IAS, Universitt Stuttgart

92

2.1 Automation computers

IAS

Goals of PLC
Goal groups
users without computer science studies
"electrician"

Goal for the use of PLCs


replace contactor/relay
increase reliability
reduce costs

interconnection of binary signals

Goal for the PLC languages


to describe functions in known representations

ladder diagram (derived from the circuit diagram)

function plan (derived from the logic plan)

Standardization of the development of PLC systems

2015 IAS, Universitt Stuttgart

93

2.1 Automation computers

IAS

Block diagram of the hardware structure of a PLC

program memory

digital and
analog

digital and
analog
output

internal bus

input

RAM

2015 IAS, Universitt Stuttgart

timer
clock

actuator signals

sensor signals

central processing
unit (CPU)

interface to
programming
device

94

2.1 Automation computers

IAS

Cyclic operation of a PLC

PLC
process
image
in
output
memory

all actuator signals

technical
process in a
technical

system
automation

program

process
image
in
input
memory

2015 IAS, Universitt Stuttgart

all sensor signals

95

2.1 Automation computers

IAS

Sequence of the cyclic program execution of a PLC

output
process image
from
output memory
execute
program

load process
image in
input
memory
reaction time
reaction
on process
event

process
event

start of
1st
cycle
2015 IAS, Universitt Stuttgart

start of
2nd
cycle

start of
3rd
cycle

start of
4th
cycle
96

2.1 Automation computers

IAS

Characteristics of the cyclic program execution


Advantage:

simple programming through cyclic operational mode

Disadvantage:

maximum reaction time on events in the technical process


is equal to two program cycles

Program execution time:

2015 IAS, Universitt Stuttgart

97

2.1 Automation computers

IAS

Program execution of a PLC

Execution of
initialization
program

Load process
image

wait on cycle time

wait on event

Execution of cyclic
program

Execution of
time-driven
program

Execution of
event-driven
program

Output of process
image

2015 IAS, Universitt Stuttgart

98

2.1 Automation computers

IAS

Soft-PLC
Setup:
PLC Runtime environment on PC system
Standard- or real-time operating system
Process coupling over digital and analogue in-/outputs

PLCPLCProgram 1 Program n
Userprogram

PLCRuntime Environment
Operating System
PC-System

2015 IAS, Universitt Stuttgart

Process
coupling

99

2.1 Automation computers

IAS

Soft-PLC
Advantages:

Integration of visualization and PLC on one device

Integrated development environment for modification of programs


Parallel PLC-Tasks with different cycle times
Large amount of system interfaces

Disadvantages:

Reliability

Problems when using standard operating systems

At full workload: restrictions in real-time behavior

2015 IAS, Universitt Stuttgart

100

2.1 Automation computers

IAS

highly integrated components

employment for mass products

composition of

Source of picture: http://www.r1-community.de

Microcontroller

standard micro processor


data memory / program memory
bus interfaces
process signal interfaces

programming with development environment

short word length

extremely low price

good reliability and long life span

high requirements regarding environmental conditions

2015 IAS, Universitt Stuttgart

101

2.1 Automation computers

IAS

Simplified block diagram of a micro controller


8 channels

Microcontroller 80C167

16-bit
CPU

2 kBytes
RAM

2kBytes
RAMextension

ROM

Watchdog
Timer

clock

direct
memory
access

serial
input/
output
interfaces

pulse
input/
output

interrupt
controller

external
data bus

CAN
bus
interface

56 interrupt
inputs

external
data bus

internal bus 16 bit

programmable
digital
input/
outputs

111 digital
inputs/outputs

10-bit
ADconverter
with
multiplexor

16 analog
inputs

2 channels

2015 IAS, Universitt Stuttgart

32 inputs/ outputs

CAN bus

102

2.1 Automation computers

IAS

Differentiation

Microprocessor
processor on a micro electronic chip

Microcomputer
all components on a micro electronic chip i.e., processor,

memory, interface to periphery

Microcontroller

automation computer or an automation computer system


on one chip

2015 IAS, Universitt Stuttgart

103

2.1 Automation computers

IAS

Basic terms
Microprocessor:

CPU = Central Processing Unit

Data memory:

RAM = Random Access Memory

Fixed memory:

EPROM/PROM/ROM = Erasable/ Programmable/


Read Only Memory

Process and data periphery: I/O = parallel or serial input/output components

Counter/Timer = generation of clock pulses


Interrupt Controller = handling of hardware interrupts

2015 IAS, Universitt Stuttgart

104

2.1 Automation computers

IAS

Industrial PC (IPC)
Pluggable circuit boards for connection of
electrical process signals

optical process signals


bus systems
Programming in high-level language

Use of real-time operating systems


as single operating system
in addition to standard operating systems
Operational areas of industrial PCs

Process visualization

Process evaluation and monitoring

Superordinate control tasks (control room tasks)

2015 IAS, Universitt Stuttgart

105

2.1 Automation computers

IAS

Environmental conditions
Harsh environmental conditions

temperature variations
shocks and vibrations
dust and humidity
electrical or electromagnetic disturbances

Protective measures in industrial PCs (IPC)


vibration absorbing disk drives
high quality of integrated components
special protecting case

2015 IAS, Universitt Stuttgart

106

2.1 Automation computers

IAS

Pure IPC solution

acquisition of process data

execution of control program under real-time conditions

interface to the user

Advantages of a pure IPC-solution

better scalability of hardware

many operating systems available

wide range of programming languages available

open system for the integration of ready-made subsystems

2015 IAS, Universitt Stuttgart

107

2.1 Automation computers

IAS

Structure of a pure IPC system


industrial PC

control
panel

remote maintenance
modem

field bus

printer

...

modules for
input and
output of
signals

sensors and actuators


2015 IAS, Universitt Stuttgart

108

2.1 Automation computers

IAS

Structure of a PLC-IPC system

remote maintenance

industrial
PC

modem / ethernet

serial connection
over LAN or field
bus

printer
PLC

sensors and actuators


2015 IAS, Universitt Stuttgart

109

2.1 Automation computers

IAS

Process control system (PCS)

Distributed computer systems, connected via bus systems

Interconnection with PLC computers

Usage of prefabricated program modules developed by the


manufacturer of the PCS

Configuration by operator

Complete solutions from a single manufacturer

No compatibility problems

Uniform process operation and monitoring

High availability

Defined responsibility

Long lifetime

2015 IAS, Universitt Stuttgart

110

2.1 Automation computers

IAS

Fields of application of process control systems

Power plant automation

Process engineering

Building automation

Production engineering

Components of a PCS

Display and operation components

Field level components

Communication systems

Engineering station

2015 IAS, Universitt Stuttgart

111

2.1 Automation computers

IAS

Schematic structure of a PCS


operation master
computer
factory
bus
display and operation
component
(DOC)

display and operation


component
(DOC)

engineering
station

Redundant, manufacturer specific bus system

field level
component (FLC)

field level
component (FLC)

field level
component (FLC)

sensors and
actuators

field bus

field device

2015 IAS, Universitt Stuttgart

112

2.1 Automation computers

IAS

Engineering Station

Tasks
Configuration

Programming
Maintenance

Tools

Graphical tools (IEC 61131)


Standardized libraries
with components
Powerful editors

2015 IAS, Universitt Stuttgart

Source of picture: Pamphlet Integrated Engineering with


COMOS and SIMATIC PCS 7, Siemens AG

113

2.1 Automation computers

IAS

Control system manufacturers and their products


Manufacturer Product
ABB

FoxboroEchardt
Siemens

Honeywell

Yokogawa

Remark

AdvantOCS

Company-specific field bus

AdvaSoft

for small systems

Procontrol P

power plant automation

Symphony

Supports connection to operation level, remote I/O system

Contronic P

process engineering, extension up to 12km,


formerly Hartmann & Braun

I/A Series System

process engineering, field level with PCMCIA-technology

SIMATIC PCS 7

process engineering, user interface based on Windows


2000, XP. Extensive hardware supply.
fieldbus: Profibus; connection to operation level possible

Teleperm M

process engineering, largely used, no installation in new


plants; migration to SIMATIC PCS 7 possible

Teleperm XP

power plant automation, open communication, extensive


hardware supply

PlantScape

process engineering, open system, based on Windows NT;


support of remote I/O. Connection to operation level possible

TDC 3000

process engineering, several process buses with different


data transmission; supports MODBUS

CENTUM CS 3000 process engineering, power plant automation

2015 IAS, Universitt Stuttgart

114

2.1 Automation computers

IAS

Question referring to Chapter 2.1


What are the advantages of an IPC as automation computer?
Answer
Scalability of the hardware
Costs of the hardware
High variety of available programming languages
Form factor of IPCs

2015 IAS, Universitt Stuttgart

115

IAS

Automation Device Systems and Structures

2.1

Automation computers

2.2

Automation structures

2.3

Automation hierarchies

2.4

Distributed automation systems

2.5

Automation structures with redundancy

2015 IAS, Universitt Stuttgart

116

2.2 Automation structures

IAS

Structure of the technical process

technical process as an entity (centralized)


e.g.: drilling process with a drilling machine
technical process consisting of sub-processes (decentralized)
e.g.: manufacturing of a gear

Structure of automation devices

spatially concentrated
spatially distributed

Functional structure of automation systems


=

allocation of automation functions on the automation devices

functionally centralized
functionally distributed

2015 IAS, Universitt Stuttgart

117

2.2 Automation structures

IAS

Spatially concentrated automation devices


correcting
elements

field

measuredvalue
transformer

jumper
board,
galvanic
disconnector,
automation
device
display

2015 IAS, Universitt Stuttgart

monitoring signals

control room

subdistributor

multi-color
screen for
process
management

118

2.2 Automation structures

IAS

CM

CM

field

CM

field bus
CM

plant bus

PLC

CM: connection
module for sensors
and actuators

PLC

display

master
computer

control room

field bus

Spatially distributed automation devices

multi-color
screen for
process
management

2015 IAS, Universitt Stuttgart

119

2.2 Automation structures

IAS

Functionally centralized automation structure

central automation
computer

subprocess 1

subprocess 2

subprocess n

technical process in a technical system

2015 IAS, Universitt Stuttgart

120

2.2 Automation structures

IAS

Functionally distributed automation structure

automation
computer
1

automation
computer
2

automation
computer
n

subprocess 1

subprocess 2

subprocess n

2015 IAS, Universitt Stuttgart

121

2.2 Automation structures

IAS

Criteria for the comparison of automation structures

Costs for devices, cabling, software, maintenance and service

Availability of parts in case of hardware failure or software faults

Flexibility in case of modifications

Coordination of sub processes and optimization of the overall process

Operability / Usability

2015 IAS, Universitt Stuttgart

122

2.2 Automation structures

IAS

Evaluation of automation structures regarding the criteria


C=
D=

centralized structure
distributed structure

CCC

typical for the automation of small devices

CDC

lower cabling costs as in CCC

DCC

unfavorable regarding availability, maintenance,


cabling costs

DDC

unfavorable regarding availability and flexibility

CCD

favorable regarding maintenance and flexibility,


unfavorable regarding cabling

CDD

favorable regarding flexibility, availability,


cabling and transparency

DCD

favorable regarding availability, maintenance,


unfavorable regarding cabling costs

DDD

favorable regarding flexibility, availability,


cabling and transparency
functional structure
spatial structure of the automation devices
structure of the technical process

2015 IAS, Universitt Stuttgart

123

2.2 Automation structures

IAS

Question referring to Chapter 2.2


What are advantages of a distributed automation structure?
Answer
Higher flexibility in case of modifications.
Reduced effort for the communication between the individual automation
units.
Easier localization of malfunctions.
Easier software development for process control.

2015 IAS, Universitt Stuttgart

124

IAS

Automation Device Systems and Structures

2.1

Automation computers

2.2

Automation structures

2.3

Automation hierarchies

2.4

Distributed automation systems

2.5

Automation structures with redundancy

2015 IAS, Universitt Stuttgart

125

2.3 Automation Hierarchies

IAS

Introducing a hierarchy of automation units

coordination
unit
1

distributed

automation
unit
1

subprocess 1

coordination
unit
2

distributed

coordination
unit
m

distributed

automation
unit
2

automation
unit
n

subprocess 2

subprocess n

field
level

complexity of operational tasks

requirements on availability

master
unit

central
coordination
master level
level

Combination of centralized and distributed structures

technical process
(overall process)
2015 IAS, Universitt Stuttgart

126

2.3 Automation Hierarchies

IAS

Allocation of automation functions to the process


management levels

distributed automation units perform tasks of the field level, high


requirements on availability

coordination units perform the automation functions of the


process level, as well as the coordination of sub-processes,
optimization, process monitoring and safety functions

master units perform the tasks of the operational level

2015 IAS, Universitt Stuttgart

127

2.3 Automation Hierarchies

IAS

av
ai

field level
2015 IAS, Universitt Stuttgart

la
bi

d
re
i
u

lit
y

o
pr

q
re

coordination level

optimization

required processing capacity

sin
s
ce

cit
a
p
ca

performance
value
calculation

en
ts
o

Higher
control

locking

higher
regulation

ire

regulations

qu

single controls

re

protection, safety
monitoring

requirements on availability

Requirements on availability and processing capacity

master level
128

2.3 Automation Hierarchies

IAS

Prerequisites for the realization of an automation hierarchy

segmentation of the technical process into sub-processes

deployment of intelligent automation units

communication system between automation units

Depending on the size of the company and the extent of the


technical process, sub-levels can be added or levels can be merged.

2015 IAS, Universitt Stuttgart

129

2.3 Automation Hierarchies

IAS

Example
Realization of an automation hierarchy with a bus-oriented distributed process
master
computer system
level
master
computer

user computer
coordination
level
coordination
computer
1

coordination
computer
2
process bus

decentralized
automation
computer
1

decentralized
automation
computer
2

decentralized
automation
computer
n

field
level

field bus

CM

CM

subprocess 1

CM

CM

subprocess 2

CM

CM

CM

CM coupler module

sub-process
n

technical process

2015 IAS, Universitt Stuttgart

130

2.3 Automation Hierarchies

IAS

Question referring to Chapter 2.3


Which of these tasks are executed on the field level?
Answer
Performance value calculation
Single control
Monitoring
Optimization

2015 IAS, Universitt Stuttgart

131

IAS

Automation Device Systems and Structures

2.1

Automation computers

2.2

Automation structures

2.3

Automation hierarchies

2.4

Distributed automation systems

2.5

Automation structures with redundancy

2015 IAS, Universitt Stuttgart

132

2.4 Distributed automation systems

IAS

Objectives when using distributed automation systems

High reliability through fault tolerance


failure of a distributed computer does not lead to an
overall failure

isolation of the fault by means of reconfiguration

Increase of availability through rapid maintenance and service


mutual control with fault diagnostics

Mutual support during peak load times


automatic adaptation of the task distribution

reduction of the standby capacity of the individual units

Simple upgradeability

2015 IAS, Universitt Stuttgart

133

2.4 Distributed automation systems

IAS

Realization for distributed automation systems


Connection of distributed automation units via a communication system

Difference to the automation hierarchy

In automation hierarchy, units only communicate with the level


directly above them

Only the process-related information tasks are performed


decentralized

2015 IAS, Universitt Stuttgart

134

2.4 Distributed automation systems

IAS

Criteria for the selection of a communication system (1)

Low cabling costs

Standardized interfaces regarding


plugs, cables (mechanical)
voltage level (electrical)
transmission protocol (logical)

Flexibility in case of modifications

Low requirements on the communication partners


demand on memory size
demand on computation power

High availability and reliability

2015 IAS, Universitt Stuttgart

135

2.4 Distributed automation systems

IAS

Criteria for the selection of a communication system (2)

Error free transfer of information


utilization of test bits
acknowledgement of correct reception

Achievement of high data transmission rates

Short reaction times on transmission requests

Coupling of various communication entities

Problem:
Definition of priorities in the realization of the partially contradicting criteria
e.g.: high availability and reliability through redundant bus systems causes
high cabling costs
2015 IAS, Universitt Stuttgart

136

IAS

Automation Device Systems and Structures

2.1

Automation computers

2.2

Automation structures

2.3

Automation hierarchies

2.4

Distributed automation systems

2.5

Automation structures with redundancy

2015 IAS, Universitt Stuttgart

137

2.5 Automation structures with redundancy

IAS

Types of redundancy
Always: operating personnel monitoring parallel to process computer!
Hardware redundancy
redundant hardware

Software redundancy
redundant software

Measured value redundancy


redundant measured values
dependent measured values

Time redundancy
multiple inquiry of the same measured value in certain intervals

Hardware and software redundancy implies a bigger effort


higher availability and reliability
safety-relevant systems

2015 IAS, Universitt Stuttgart

138

2.5 Automation structures with redundancy

IAS

Objectives when using Fault-tolerant structures


Design the systems in such a way that they are able to function as a whole
even if faults occur in individual components.

Levels of fault-tolerance
complete fault-tolerance

reduced operational capacity

transition to a safe state

2015 IAS, Universitt Stuttgart

139

2.5 Automation structures with redundancy

IAS

The principle of fault-tolerance


Construct a system with redundant modules (hardware and software) in order
to maintain a functioning system in case errors occur.

Types of redundancy

Static redundancy
all redundant modules are permanently in operation

Dynamic redundancy
redundant modules are only used after a failure occurs

blind redundancy
redundant modules do not act in fault-free cases
function-participating redundancy
redundant modules run stand-by-functions in fault-free cases

2015 IAS, Universitt Stuttgart

140

2.5 Automation structures with redundancy

IAS

Hardware redundancy
Goal:
Detection of hardware failures

Operation principle:
m-of-n-redundancy
majority ruling
no faults, until multiple defects occur

Realization of redundancy
double computer structures
triple computer structures

2015 IAS, Universitt Stuttgart

141

2.5 Automation structures with redundancy

IAS

Double computer structure with static redundancy

input signals (e.g. measured values)

computer 1

computer 2

comparator
2 -out-of- 2
alarm signal
output signals
(e.g. manipulated variables)

2015 IAS, Universitt Stuttgart

142

2.5 Automation structures with redundancy

IAS

Double computer structure with dynamic blind redundancy

input signals

main
computer

stand-by
computer

alarm
signal
output signals

2015 IAS, Universitt Stuttgart

143

2.5 Automation structures with redundancy

IAS

Double computer structure with dynamic functionparticipating redundancy

input signals

computer 1

computer 2

M
alarm
signal

necessary
output signals

2015 IAS, Universitt Stuttgart

less important output


signals

144

2.5 Automation structures with redundancy

IAS

Triple computer structure with static redundancy


input signals

computer 1

computer 2

computer 3

comparator
2-out-of-3

output signals

2015 IAS, Universitt Stuttgart

145

2.5 Automation structures with redundancy

IAS

Software redundancy

Objective:
detection of errors in software

Starting point:
software has errors

Redundancy measures for software:


Multiple use of the same software makes no sense, failure of software is not
the problem
- heterogeneous structure of program components
- the same input data must lead to the same results

2015 IAS, Universitt Stuttgart

146

2.5 Automation structures with redundancy

IAS

Diverse software
Diversity = Heterogeneity of software with identical functionality

independent development teams solve the same problem

intentional development of different strategies, algorithms and


software structures
Application and execution of diverse software components

Redundant software alternatives are executed one after another and


are compared with the help of a voter (not for real-time systems
with high requirements on timeliness)
simultaneous execution of redundant software components on
redundant multi-computer systems
cyclic alternation of diverse components

Comparison difficult

Two algorithms with different processing times

Both results can be correct even though their values might be


different
2015 IAS, Universitt Stuttgart

147

2.5 Automation structures with redundancy

IAS

Question referring to Chapter 2.5


In aircrafts important systems, variables are calculated more than once.
Which kind of system would you use for this application: a double or a triple
computer system with static redundancy?
input signals

input signals (e.g. measured values)

computer 1

computer 2

computer 1

computer 2

computer 3

comparator
2-out-of- 3

comparator
2-out-of- 2
alarm signal
output signals

output signals

Answer

2015 IAS, Universitt Stuttgart

148

Chapter 2: Preparation Task

IAS

Preparation Task to Chapter 2


Question 1: Redundancy (ST 2006)
In a plant control, one computer is used for process control and a second one
is used for logging. An additional program supervises in every computer the
functioning of the other computer. In case of failure of the computer for process
control, the logging computer takes over the task of the process control and
stops the logging function.
Which kind of redundancy is used?
State a second type of redundancy.

Question 2: PLC (WT 2003/2004)


In the programming of a Programmable Logic Controller (PLC), the so called
programming devices are used. What are they and why are they necessary?

2015 IAS, Universitt Stuttgart

149

Chapter 3: Process Peripherals

IAS

Process Peripherals

Learning targets

to know the kinds of interfaces in an automation system

to understand sensors and actuators concepts

to understand how an analog to digital conversion and vice versa is done

to be aware of different kinds of converter realizations

to understand the concepts of field buses

to be able to explain the different bus access methods

to know how PROFIBUS and CAN bus communication is working

2015 IAS, Universitt Stuttgart

150

IAS

Process Peripherals

3.1

Interfaces between the technical process and the


automation computer system

3.2

Sensors and actuators

3.3

Representation of process data in automation computers

3.4

Input / output of analog signals

3.5

Input / output of binary and digital signals

3.6

Field bus systems

2015 IAS, Universitt Stuttgart

151

3.1 Interfaces between the technical process and the automation computer system

IAS

Input/Output Interfaces
Transmission of process signals between the technical process and the
automation computer system

Process signal input:


acquisition of process data

Process signal output:


manipulation of actuators

2015 IAS, Universitt Stuttgart

152

3.1 Interfaces between the technical process and the automation computer system

IAS

Possibilities for the connection


connection via bundles of cabels

connection via bus coupler module (I/O nodes)

connection via sensor/ actuator bus system

Direct connection of sensors and actuators

within the product automation

short distance to micro controller

Input/ output via field bus systems

within plant automation

reduction of cabling and installation costs

2015 IAS, Universitt Stuttgart

153

3.1 Interfaces between the technical process and the automation computer system

Overview
Facilities for the
coupling of automation
computers with the
technical process as
well as with interfaces

IAS

Process bus
Interface to the higher
levels of the computer
hierarchy

Automation
computer
(e.g. PLC, PC)

Process signal
input/ output

Computer input/
output interface
(computer system
bus)

Bus coupler

Bus coupler

Process peripherals
interface (electrical or
optical signals )

Field bus
interface

Field bus

......

in/
output
node

in/
output
node
Sensor/ actuator bus

......

Sensors/ actuators
Interface
(electrical or
optical signals)

Bc

Bc

Bc

Bc

Sensors and actuators


Process variable
interface
(physical
quantities)
Technical process in a technical system

2015 IAS, Universitt Stuttgart

154

3.1 Interfaces between the technical process and the automation computer system

IAS

Requirements of a bus system on actuator sensor level

Open to Sensors/actuators of different manufacturers

Fast system reaction time

Low costs for the connection

Small volume / geometric dimensions

Easy handling with wiring and set-up

Goals of the actuator-sensor-interface (AS i)

Designed for the actuator-sensor-level

Few data set per participant


Fast response times

Replacement of the parallel wiring of binary actuator/sensors


Signals and power supply using the same line

2015 IAS, Universitt Stuttgart

155

3.1 Interfaces between the technical process and the automation computer system

IAS

Characteristics of AS i
User defined network structure
Transmission principle
single-master-system with cyclic polling
one fixed address per slave
max. 31 slaves per line
up to 4 sensors/actuators per slave
Transmission medium
not protected and not twisted two-wire line
common use of cabeling for data and energy

User data and cycle time


4 bits user data
5 ms max. cycle time

2015 IAS, Universitt Stuttgart

156

3.1 Interfaces between the technical process and the automation computer system

IAS

AS i - principle structure
1 Master node
Variant 1: nodes integrated in controlling
Variant 2: separate locking module (e.g. for PLC)
Supervises bus communication
Slave nodes
Variant 1: Sensor/actuators with integrated AS i slave chip
Variant 2: Separate connection module
AS i Master node

Control
AS i Master chip
AS i - line

Power
supply unit

Common line for


signals and power
supply

AS i Slave chip

AS i Slave chip

Connection module

Sensor/Actuator

S/ A

2015 IAS, Universitt Stuttgart

S/ A

S/ A S/ A

AS i Slave nodes
157

3.1 Interfaces between the technical process and the automation computer system

IAS

Signal and supply on the same two-wire line

Signal is modulated on DC voltage supply

Condition: no direct current contingent of the signals

Realization by means of alternating pulse modulation (APM)


sender

example
sequence

Pause

Target bit sequence in Manchester coding


Generation of a current signal

60mA
0

Transformation of current signal into voltage signal


Intrusion on supply voltage

2V

Ub
2V

receiver
Detection of positive and negative impulses
Recovery of the original bit sequence
2015 IAS, Universitt Stuttgart

Pause

158

Chapter 3: Process Peripherals

IAS

Question referring to Chapter 3.1


Which statements are correct with respect to the requirements on bus
systems on the actuator sensor level?

Answer
Simple handling with wiring and start-up is irrelevant
The reaction time should be minimal.
Compatibility to sensors/actuators of different manufacturers should be
provided.
Connection costs are negligible.

2015 IAS, Universitt Stuttgart

159

IAS

Process Peripherals

3.1

Interfaces Between the Technical Process and the


Automation Computer System

3.2

Sensors and Actuators

3.3

Representation of process data in automation computers

3.4

Input / output of analog signals

3.5

Input / output of binary and digital signals

3.6

Field bus systems

2015 IAS, Universitt Stuttgart

160

3.2 Sensors and actuators

IAS

Sensors
Tasks

Capturing of physical process variables

Transformation into a form that is suitable for further processing

Supervision of limits of values

Self-test

Intelligent

Self-calibration

Sensors

Adaptation to a bus system

2015 IAS, Universitt Stuttgart

161

3.2 Sensors and actuators

IAS

Sensor element
Task
Transformation of a non-electrical, physical variable into an electrical
or optical value

Usage of physical effects

Variation in resistance
Variation of inductance
Variation of capacity
Piezoelectrical effect
Thermo-electrical effect
Photo-electrical effect
Eddy current effect
Radiation absorption

2015 IAS, Universitt Stuttgart

162

3.2 Sensors and actuators

IAS

Intelligent sensor

"Intelligent" sensor

physical
input
variable

mechanical
converter
element

micro
processor

sensor
element

amplifier

bus
adaption

sensor
bus

analog to
digital
converter

calibration

2015 IAS, Universitt Stuttgart

163

3.2 Sensors and actuators

IAS

Classification of sensor elements according to the kind


of sensor output signal

binary sensors

digital sensors

amplitude analog sensors

frequency analog sensors

Sensor system

Integration of several sensors for different process variables with the


evaluation electronics on one component

2015 IAS, Universitt Stuttgart

164

3.2 Sensors and actuators

IAS

Binary sensors

Yes/No information

Limit value transmitter/ threshold transmitter

Example: end switch, light barrier / light curtain

Digital sensors

Conversion of a non-electrical signal into a digital value

Opinions:
Direct conversion
Conversion of the non-electrical signal with encoder disc
(rotating movement) or encoder ruler (linear
movement) into a digital signal

Indirect conversion
Conversion of non-electrical signal into an amplitude analog
signal, then from analog to digital conversion

2015 IAS, Universitt Stuttgart

165

3.2 Sensors and actuators

IAS

Amplitude analog sensors

The transformation of a non-electrical, measured quantity into an


amplitude analog output signal. The amplitude of the electronic
output signal is proportional to the physical quantity to be measured

Conversion needs also:


amplification
normalization
linearization
temperature compensation

Available for all important measurement categories

2015 IAS, Universitt Stuttgart

166

3.2 Sensors and actuators

IAS

Frequency analog sensors

Outputs an alternating voltage signal whereby the frequency is


proportional to the physical value to be measured

Advantages:

Insensetive against disturbing interferences on the


transmission lines

Simple frequency-digital conversion with a counter

No loss of precision from amplification and transmission

Simple potential isolation with transformer

Rarely used in comparison to amplitude analog sensors

2015 IAS, Universitt Stuttgart

167

3.2 Sensors and actuators

IAS

Different kinds of sensor elements


physical
process variable

sensor element

output variable

temperature

thermo element
metal resistor
semiconductor resistor
(negative temperature coefficient resistor)
ceramic resistor
(positive temperature coefficient resistor)

mV
variation in resistance
variation in resistance

pressure-can with membrane and strain


gauge element
pressure-can with silicon-membrane
(piezoresistive effect)
strain gauge element
inductive force sensor
piezoelectric sensor

variation in resistance

impulse generator
impulse counter
silicon piezo-resistor
silicon capacitor
ring piston meter
inductive rate of flow measurer
hall-element out of silicon

V
pulse sequence

angle encoder
pulse generator
lithium chloride moisture sensor

digital value
pulse sequence
mV

photo diode
photo resistor

A
variation in resistance

pressure

force

rotational speed
acceleration
flow
approach
angle
moisture
light intensity

2015 IAS, Universitt Stuttgart

variation in resistance

variation in resistance
variation in resistance
variation of inductivity
charge

variation in resistance
variation in capacity
pulse sequence
mV
mV

168

3.2 Sensors and actuators

IAS

Actuators
Tasks
Conversion of the information obtained from the automation computer system
into manipulating interventions in the technical process

Actuator as a converter of information into a control


operation
information

actuator

(e.g. on a sensor/
actuator bus or
field bus )

control operation
(e.g. path, force, angle
rotational speed)

auxiliary energy

Actuator for different manipulated variables


optical variables
mechanical variables
thermal variables
flows
2015 IAS, Universitt Stuttgart

169

3.2 Sensors and actuators

IAS

Actuators with mechanical output quantities


actuator principle

actuator

electronic mechanical
movement
hydraulic cylinder

electro-motor, stepper motor,


electro-magnet, linear-motor

pneumatic cylinder

pneumatic actuator

piezoelectric effect
magnetostrictive effect

piezoelectric actuators,
electrostrictive actuators
magnetostrictive actuators

electrorheologic effect

electrorheologic actuators

magnetorheologic effect

magnetorheologic actuators

electrically produced gas pressure

chemical actuators

bimetal effect

thermo bimetal actuators

memory metals

memory metal actuators

silicon micro techniques

micro mechanical actuators

2015 IAS, Universitt Stuttgart

hydraulic actuator

170

Chapter 3: Process Peripherals

IAS

Question referring to Chapter 3.2


Your task is to design a level sensor for a water tank.
Which parameters can be used to determine the level of a tank?
Which type of sensor element could you use to create such a sensor ?
Answer

2015 IAS, Universitt Stuttgart

171

IAS

Process Peripherals

3.1

Interfaces between the technical process and the


automation computer system

3.2

Sensors and actuators

3.3

Representation of process data in automation computers

3.4

Input / output of analog signals

3.5

Input / output of binary and digital signals

3.6

Field bus systems

2015 IAS, Universitt Stuttgart

172

3.3 Representation of Process Data in Automation Computers

IAS

Kinds of electrical process signals

Analog process signals


amplitude analog
frequency analog
phase analog

Binary process signals

Digital process signals

Process signals in the form of pulses

Process signals in the form of pulse edges

2015 IAS, Universitt Stuttgart

173

3.3 Representation of Process Data in Automation Computers

IAS

Conversion of analog process variables


Analog process variables have to be converted into digital values before they
could be used in a computer system. Therefore, the analog value range is
discretized.
value coding by
the AD-converter

representation error
(% of maximum
value)

bits
0.39%
0.10%
0.025%
0.006%
0.0015%

Important:

8
10
12
14
16

decimal
0 ...
0 ...
0 ...
0 ...
0 ...

necessary
word
length
(in bytes)

255
1 023
4 095
16 383
65 535

1
2
2
2
2

A word length of 16 bit is sufficient for


representing analog process variables.

2015 IAS, Universitt Stuttgart

174

3.3 Representation of Process Data in Automation Computers

IAS

Representation of digital process signals


Digital process signals are usually represented as binary, octal or hexadecimal
values. The picture illustrates each encoding.
bit #:
binary #

15

14

13

12

11

10

214 213

octal #:
137338

hexadecimal #:
17DB16

Important:

23

2 2 21 20

A word length of 16 bits is normally sufficient for


representing digital process variables.

2015 IAS, Universitt Stuttgart

175

3.3 Representation of Process Data in Automation Computers

IAS

Binary format for switching status representation


Contact positions are frequently summarised as bits and bytes. In such case
single bits have to be addressable and modifiable.

bit position

Important: A word length of 16 bits is normally sufficient for representing binary process
variables and pulse shaped process variables.

Question:

Why use 32 bit computers for automation tasks?

2015 IAS, Universitt Stuttgart

176

Chapter 3: Process Peripherals

IAS

Question referring to Chapter 3.3


The motors rotation speed shall be controlled.
The incoming current and the motors rotation will be measured by an
inductive sensor and a photo electric sensor, respectively. In case that the
incoming current is to high, the motor has to be automatically shut down
through a switch.
Which kinds of process signals can be identified?
Answer

2015 IAS, Universitt Stuttgart

177

IAS

Process Peripherals

3.1

Interfaces between the technical process and the


automation computer system

3.2

Sensors and actuators

3.3

Representation of process data in automation computers

3.4

Input / output of analog signals

3.5

Input / output of binary and digital signals

3.6

Field bus systems

2015 IAS, Universitt Stuttgart

178

3.4 Input / output of analog signals

IAS

Input forms of analog process signals

electrical voltage signals

electrical current signals

electrical analog resistance values

Various forms of signal conversion


Realization arises from the requests of the technical system

fast A/D conversion

slow A/D conversion

2015 IAS, Universitt Stuttgart

179

3.4 Input / output of analog signals

IAS

Fundamental structure
data
computersystem
bus

addresses
control signals

bus coupling

n
n

analog to
digital
converter

address
decoding

D
1

A
1 2

preamplifier

1
2

2
2

switching
element 2
feeder
lines

2
2

sensors

2015 IAS, Universitt Stuttgart

process periphery
interface
sensor interface

180

3.4 Input / output of analog signals

IAS

Fast analog to digital conversion

Fast analog to digital conversion


ADC with conversion time of 1-100 s, i.e.

data
computersystem
bus

addresses
control signals

1. Through-switching of
the selected analog
signal to the ADC
and conversion
2. Input of the
converted
value via the
data bus

bus coupling

analog to
digital
converter

address
decoding

D
1

A
1 2

preamplifier

1
2

2
2

switching
element 2
feeder

sensors

2015 IAS, Universitt Stuttgart

2
2

process periphery
interface
sensor interface

181

3.4 Input / output of analog signals

IAS

Slow analog to digital converter

Slow analog to digital converter


ADC with conversion time of > 100 s, i.e.

1. Address of the analog signal is output to the switching device


2. Conversion into digital value is initiated
3. A different program is initiated, to use the (rather long)
conversion time
4. When conversion is completed an interrupt signal is created
5. The corresponding interrupt program reads in the converted
information

2015 IAS, Universitt Stuttgart

182

3.4 Input / output of analog signals

IAS

Types of analog to digital converter

Instantaneous value converter


single values of an analog process signal are sampled and
converted into digital values

Integrating converter (Mean Value Converter)


Analog process signal is integrated over a period T of the net
frequency and the mean value is calculated
Mean value is converted into digital value

1
u (kT )
T

kT
( k 1)T

u (t )dt

Advantage: high measurement safety accuracy


Relative low effort
Elimination of high frequency non-periodic disturbances
Suppression of line frequency interference voltages
Only applicable for relatively slowly changing process signals
2015 IAS, Universitt Stuttgart

183

3.4 Input / output of analog signals

IAS

The principle of the integrating ADC

u( kT )

1
T

kT
( k 1) T

u(t )dt

u (t)

analog process signal with overlayed 50 Hz interference


voltage as well as high frequency pulses

(k-1) T

2015 IAS, Universitt Stuttgart

kT

(k+1) T

184

3.4 Input / output of analog signals

IAS

Conversion methods for analog to digital converter

Instantaneous
value converter
Advantage

High conversion
speed
104 ... 10 8 values/s

Mean value converter


High interference voltage
suppression

Disadvantage Interference pulses Low conversion speed


cause falsification
of digital values
Conversion
met hod

Counter method,
step method,
direct method

2015 IAS, Universitt Stuttgart

Voltage time or
voltage frequency converter

185

3.4 Input / output of analog signals

IAS

Instantaneous-value-ADC using the counter method


structure

analog
input
signal

in

US

comparator
-

D/A-converter

1 2

digital
output signal
(n-bit-word)

counter

&
clock
2015 IAS, Universitt Stuttgart

186

3.4 Input / output of analog signals

IAS

Principle procedure

Us at the output of the DAC


compare to Uin
in case of equality the counter gets no impulse
otherwise counter is increased
new counter signal is D/A converted
procedure is repeated until Us > Uin

analog
input
signal

U in
+

US

comparator
-

D/A-converter

1 2

US

US
analog
input
voltage

U in

digital
output signal
(n-bit-word)

counter

&

t1

clock

2015 IAS, Universitt Stuttgart

187

3.4 Input / output of analog signals

IAS

Instantaneous-value-ADC using the counter method


Conversion time T is depending on:

Sampling rate of the DAC

Switching speed of the comparators

Input voltage

Word length of the digital output (2n steps in worst case)

Clock frequency f

Clock frequency depends on:

2015 IAS, Universitt Stuttgart

188

3.4 Input / output of analog signals

IAS

Instantaneous-value-ADC using the step method


Basic structure
D/A-converter
US

analog
input
signal

U in

+
comparator
-

control

clock

output register

digital
output signal

2015 IAS, Universitt Stuttgart

189

3.4 Input / output of analog signals

IAS

Principle procedure

Control sets highest order bit (MSB = Most Significant Bit)


US at exit of the DAC
Comparison with Uin
If Uin > US MSB stays set, if not then reset
Procedure is repeated for further bits
After the last comparison (bit n) the value of the analog input signal is
represented digitally encoded in the output register
analog
input
voltage

US
Uin

dual values

digital signal

2015 IAS, Universitt Stuttgart

190

3.4 Input / output of analog signals

IAS

Instantaneous-value-ADC using the step method


Conversion time T:

constant (after n steps results are available)

T = n/f

Limitation through
settling time (speed) of the DACs
switching speed of comparators

2015 IAS, Universitt Stuttgart

191

3.4 Input / output of analog signals

IAS

Instantaneous-value-ADC using the parallel conversion method


Basic structure
analog
input
signal

comparators
+

Uin

K2 n-1

reference
voltage
UR

~
+

K2

Code
converter
2

n-bit-word

resistor
network

K1

2015 IAS, Universitt Stuttgart

192

3.4 Input / output of analog signals

IAS

Principle procedure

Input signal is given to 2n - 1 comparators

Reference voltages are produced over resistor network with

reference voltage source

Conversion by code converter into n-bit-word

Conversion time

Dependent on switching speed of the comparators


and of the code converter

108 values/sec

Very costly, 8-bit ADC needs 28 - 1 comparators

2015 IAS, Universitt Stuttgart

193

3.4 Input / output of analog signals

IAS

Integrating ADC using the Dual-slope-method


Basic structure
analog input voltage Uin
S

R
IC

URef

integrator

UC

+
comparator
-

control
logic
2015 IAS, Universitt Stuttgart

counter

UK

digital
signal

clock

194

3.4 Input / output of analog signals

IAS

Principle procedure

Capacitor C is charged from t0 until t1 with the current IC = Uin /R


URef is set at the input of the integrator at time t1
Capacitor C is discharged, Uin defines the time span of discharge
Time until UC = 0V is directly proportional to Uin
Measurement of time span with a counter, which counts the impulses
generated by time clock
analog input voltage Uin
S

R
IC

URef

integrater

UC

+
comparator
-

control
logic

2015 IAS, Universitt Stuttgart

counter

UK

digital
signal

clock

195

3.4 Input / output of analog signals

IAS

Course of signals of an ADC according to the Dual-slope- method


UC
U C2

output
integrator
U C1

t0

UK

output
comparator

Advantages

t0

t1

t2

t3

Long term variations are not influencing the measurement

Precision is independent of the product of R C, it is only dependent on the


precision of the reference source and of the operation amplifiers

2015 IAS, Universitt Stuttgart

196

3.4 Input / output of analog signals

IAS

Analog output

data
computer
system
bus

addresses

Conversion of the
digital, time-discrete
values from the
automation computer
into continuous
signals

control signals
n

Addressdecoding
1

&

&

n
n

buffer
intermediate storage
n
D

D
A

switching element

n
n

&

Structure of an
analog output
module

D/A-converter

output stages
process
periphery
interface
feeder
lines
sensor-/ actuatorinterface
actuator

2015 IAS, Universitt Stuttgart

controller

197

3.4 Input / output of analog signals

IAS

Remarks to the analog output

buffering is necessary in order to store the information at the switching


element

Analog controls e.g. signals servo motors are typical applications of


digital to analogue conversion

Analog outputs are driven by the binary signals

2015 IAS, Universitt Stuttgart

198

3.4 Input / output of analog signals

IAS

Types of digital to analog information converters (DAC)

Most of the DACs are using a direct method with resistance network

Various characteristics of the resistance network


Possible ways of realizing a DAC with resistor network
DA-conversion via the summing up of weighted currents
DA-conversion via a conductor network

2015 IAS, Universitt Stuttgart

199

3.4 Input / output of analog signals

IAS

Realization of a DAC by summing up of weighted currents


UREF
S0

MSB

R
2R
RR

4R

+
-

LSB
Sn-1

U out

R 2 n-1

Disadvantages:
very different potentials on the switches
(Bipolar transistors or field-effect transistors)
required precision of the very different resistors is hard to fulfill
2015 IAS, Universitt Stuttgart

200

3.4 Input / output of analog signals

IAS

Realization of a DAC with the help of a conductor network


iREF

UREF

UREF

S0

UREF /2

UREF /4

UREF /8

R 0 = 2R

R 1 = 2R

R 2 = 2R

R 3 = 2R

i0

i1

i2

i3

S1

S2

2R

S3
RR

+
isum

i0

U Ref
2R

i1

U Ref
4R

i2

U Ref
8R

i3

U Ref
16R

Uout

Currents add up according to position of switches to current isum


Operation amplifier creates Uout
Switches are often bipolar transistors of field-effect transistors
2015 IAS, Universitt Stuttgart

201

Chapter 3: Process Peripherals

IAS

Question referring to Chapter 3.4


The mean value converter is an analog to digital converter. Which of the
following statements do you agree?

Answer
The value in the middle of an interval is sampled every time.
Error voltage with frequency of the supply voltage is always suppressed.
The converter can only be used for fast changing signals.
Every time a complete period of the supply net frequency is integrated
A comparatively low effort is necessary for the technical realization.

Its a time-discrete method

2015 IAS, Universitt Stuttgart

202

IAS

Process Peripherals

3.1

Interfaces between the technical process and the


automation computer system

3.2

Sensors and actuators

3.3

Representation of process data in automation computers

3.4

Input / output of analog signals

3.5

Input / output of binary and digital signals

3.6

Field bus systems

2015 IAS, Universitt Stuttgart

203

3.5 Input / output of binary and digital signals

IAS

Digital input

Input of single binary process signals, e.g.: limit switch, photo sensors

Input of groups of binary process signals, e.g.: position of multistage switch

Kinds of binary input signals

binary voltage input

binary current input


binary contact input
power supply for contact transmitter
facility for the suppression of contact bounces

Distinction regarding signal parameters

Static digital input: High and low for binary signal

Dynamic digital input (impulse input): trigger on the signal edges

2015 IAS, Universitt Stuttgart

204

3.5 Input / output of binary and digital signals

IAS

Structure of a module for the static digital input


Input operation in two steps:

data

computersystembus

addresses
control signal

1. Provision of the address


of the binary signals,
that are gathered to a group,
on the address bus

n
n

address
decoding

>1

n
1

2.Switching-through
of the addressed binary
signals to the data bus

&

&

&

n
n

process peripheral
interface
feeder
sensor
interface

2015 IAS, Universitt Stuttgart

205

3.5 Input / output of binary and digital signals

IAS

Digital output

data
computersystembus

addresses

Structure of a digital
output module

control signals
n

address
decoding

Output of single binary


signals

Output of a group of
binary signals

n
n

&

&

&

switching element

intermediate
storage
n

output stages
n

process
peripheral
interfaces
feeder
sensor-/ actuatorinterfaces

2015 IAS, Universitt Stuttgart

binary signal
actuators
206

3.5 Input / output of binary and digital signals

IAS

Kinds of binary output signals

Voltage output
Current output
Output of potential-free contact positions

Execution of digital output

Output signal of process computer is only valid if according address is


output on the address bus

Control of devices (contactor, relays, lamps) need a continuous


signal as input signals

Intermediate storage

Output operation in three steps:


1.
2.
3.

Provision of the address of the word to be given out


Output of the selected binary signal in the intermediate storage
Output of the continuous signal from the intermediate storage to
the connected device

2015 IAS, Universitt Stuttgart

207

Chapter 3: Process Peripherals

IAS

Question referring to Chapter 3.5


Regarding digital input, two kinds of signal types can be identified. Which
statements are correct?

Answer
Static digital input values do not change during operation.

Using dynamic digital inputs, the signal parameters correspond to the


transition from high to low or vice versa.
Using static digital inputs, the signal parameters correspond to the high and
low states.
Using dynamic digital inputs, the signal parameters correspond to the
frequency of the alterations of the signal state.

2015 IAS, Universitt Stuttgart

208

IAS

Process Peripherals

3.1

Interfaces between the technical process and the


automation computer system

3.2

Sensors and actuators

3.3

Representation of process data in automation computers

3.4

Input / output of analog signals

3.5

Input / output of binary and digital signals

3.6

Field bus systems

2015 IAS, Universitt Stuttgart

209

3.6 Field bus systems

IAS

Motivation for the introduction of a field bus system


Weaknesses of conventional connection techniques:

Use of serial bus systems for communication between the sensors/


actuators and the automation computer system in order to reduce
planning and installation costs

Application fields:

plant automation

production automation

automobile electronics (control and monitoring)

2015 IAS, Universitt Stuttgart

210

3.6 Field bus systems

IAS

Requirements on field bus systems


Differentiation between general requirements as
Reliable communication under all environmental conditions

Simple handling through maintenance staff


Simple and robust connection technique
Intrinsic safety in explosive areas

and application-oriented requirements as

Number of input/output signals,


Complexity,
Granularity,
Plant extension,
Real-time requirements.

2015 IAS, Universitt Stuttgart

211

3.6 Field bus systems

IAS

Terminology
Field area:

That part of the automation system that is spatially


close to, or in direct connection with, the technical

process
Field devices:

Measuring instruments, switch gears, controlling


devices, that interact directly with the technical
process

Field bus systems:

Serial data communication systems for the data

exchange within the field area. Special


requirements on the security of the data transfer:
data integrity, EMC (Electromagnetic Compatibility)

2015 IAS, Universitt Stuttgart

212

3.6 Field bus systems

IAS

Basic topologies of communication


a) star topology

c) net
topology

DAU

DAU

CAU
DAU

DAU
DAU

CAU
DAU

DAU

DAU
DAU
DAU

b) ring
topology

d) bus
topology
D

AU

CAU

AU

DAU

DAU

DAU

AU

AU

CAU

DAU

CAU = centralized automation unit


DAU = decentralized automation unit
2015 IAS, Universitt Stuttgart

213

3.6 Field bus systems

IAS

Basic topologies of communication


star topology
failure of the central unit causes failure of the communication system
ring topology
each unit can only transmit messages to its direct neighbors
net topology
parallel information transmission, short reaction time, many interfaces, high
cabling costs

bus topology
only one participant at a time is able to send, simultaneous information
reception from all participants

2015 IAS, Universitt Stuttgart

214

3.6 Field bus systems

IAS

Parallel bus

addresses, data and control signals are transmitted parallel

bundles of wires

Serial bus

bits of a message are transmitted one after another

transmission time is longer than that of parallel bus

lower cabling costs

increase of reliability

flexibility regarding the transmission protocol

2015 IAS, Universitt Stuttgart

215

3.6 Field bus systems

IAS

Question referring to Chapter 3.6


There are some different topologies for a communication system. With
which of the following statements do you agree?

Answer
the bus topology causes the lowest cable expense
the bus topology is faster than the net topology
a net topology is able to broadcast a larger amount of data in parallel than
a bus topology
a bus topology has a shorter reaction time than a net topology
it is easier to expand a net topology than a star topology
a bus topology is only suitable for decentralized systems
2015 IAS, Universitt Stuttgart

216

3.6 Field bus systems

IAS

Field bus systems


Examples

Manufacturer or main application area

AS-Interface

11 actuator/sensor manufacturers,
simple interface of binary field devices

INTERBUS-S

Phoenix Contact
Application in manufacturing automation
cooperative project field bus
European field bus standard

PROFIBUS (Process Field Bus)


Foundation Field Bus

Field bus Foundation


American field bus standard

EIB (European Installation Bus)

Manufacturer of electric installations


Building automation

CAN

BOSCH - main field of application in


automotive industry
FlexRay-Group
Automobile
Ethernet extensions for application in
automation systems

FlexRay
Industrial Ethernet
2015 IAS, Universitt Stuttgart

217

3.6 Field bus systems

IAS

Classification of field bus concepts


decentralised
automation
computers in the
field area

sensors/
actuators with
bus interface

I/O nodes

central
computer
area

field bus
interface

field bus

field
area

field bus
automation
computer

automation
computer
I/O
Node

I/O
Node

field bus
(sensor/ actuatorbus)

sensor/
actuator
interface

2015 IAS, Universitt Stuttgart

218

3.6 Field bus systems

IAS

Bus access methods - Overview


Bus systems can be classified according to their access concept. Only the
deterministic methods can guarantee a max. response time. For non-deterministic
methods the response time is only statistically describable.
Bus access methods = Rules for sending messages
Bus access methods

controlled
(deterministic)

central
bus allocation
Master/Slave

2015 IAS, Universitt Stuttgart

decentral
bus allocation
Tokenring,
TDMA

random
(non-deterministic)

CSMA
(Carrier Sense Multiple Access)

CD

CA

Ethernet

CAN
219

3.6 Field bus systems

IAS

Bus access methods: deterministic bus access


Master-Slave
The master polls all slaves periodically
whether they want to send or receive (so
called polling)

Advantages:
- Simple organization
- Guaranteed max. time

Master

Disadvantages:

Slave 1

Slave 2

...

slaves transmit messages only


on request of the master

2015 IAS, Universitt Stuttgart

Slave n

- Maximum latency period


proportional to the number
of bus participants
- In case of failure of the
master the communication
is no longer possible

220

3.6 Field bus systems

IAS

Bus access methods: deterministic bus access


Token-Passing
Token is passing from one station to the
neighbor station in a logical ring topology

Advantages:
- good, predictable real time
behavior

- very good high load


capability
Disadvantages:
B

If participant A wants to transmit data to


participant C, it waits until the token passes and
adds the data packet (provided it is vacant) and
addressed to participant C.

2015 IAS, Universitt Stuttgart

- Long delays in case of error


- Monitoring of the token
passing
- re-initialisation after loss of
the token

221

3.6 Field bus systems

IAS

TDMA-Method (1)

Within a period (TDMA-cycle) each participant is assigned one or


several time slots of determined length

Principle of distributed shift registers


master shift register with m * n bit
frequency

register in
register in
participant 1 participant 2
2015 IAS, Universitt Stuttgart

register in
participant n
222

3.6 Field bus systems

IAS

TDMA-Method (2)
Advantages

short, constant cycle time

low protocol overhead

Disadvantages

synchronization of participants necessary

not suitable for autonomous participants

low flexibility, no dynamic adaptation

2015 IAS, Universitt Stuttgart

223

3.6 Field bus systems

IAS

Bus access methods: non-deterministic bus access


CSMA Carrier Sense Multiple Access
Principle of Telephone:
Send request
Multiple
Access
(wait, to try it
later)

Carrier Sense
(line idle)

?
yes
sending

Upon send request:


first, it is checked if
the line is idle. If yes,
the message will be
sent. Otherwise,
waiting and try later.

no

Dynamics over time


cause problem
especially for
automation
applications

2015 IAS, Universitt Stuttgart

random access (i.e. nondeterministic), everyone can


access anytime. However, it
is not guaranteed that a
transmission right is given
during a certain time interval.
basically not suitable for real
time applications
exceptions:
a) low bus load over time
(<10%)
b) no time critical transmisson

224

3.6 Field bus systems

IAS

CSMA/CD - Method (Collision Detection)

Recognition of collisions through data comparison

Repeat of transmission after participant specific waiting period

Advantages
low bus load
short latency time in low load situations
Disadvantage
long waiting periods in high load situations

2015 IAS, Universitt Stuttgart

225

3.6 Field bus systems

IAS

CSMA/CA-Method (Collision Avoidance)

Priority rules

Address-Arbitration
Participant with lowest or highest address asserts in case of
simultaneous attempts of transmission.

Time span assignment


After the completion of a transmission participant specific waiting time

2015 IAS, Universitt Stuttgart

226

3.6 Field bus systems

IAS

CAN (Controller Area Network)


Developed by Bosch/Intel for the application in automobile industry

Airbag
ABS
Motor management
Air conditioning systems

Building instrumentation and control

elevator control
supervision
alarm systems
air-conditioning system

Industrial automation

production plants
machine tools

2015 IAS, Universitt Stuttgart

227

3.6 Field bus systems

IAS

Characteristics of CAN

Message oriented addressing


Several objects can be located on one node. The object is addressed not
the node.

Multi-master bus access method

In case of access conflict: bus arbitration according to priority


through non-destroying, bit-wise arbitration according to CSMA/CA
Method

Short length of messages (0...8 byte)

Transmission rate up to 1Mbit/s (in case of a maximum bus length of


40m)

Various error recognition mechanisms

Self-test through error counter


if a node causes too many errors it uncouples itself from the bus step by
step.

2015 IAS, Universitt Stuttgart

228

3.6 Field bus systems

IAS

CAN for environments with heavy electromagnetic


disturbances
Interference detection mechanism

Bit stuffing and de-stuffing. After 5 bits with the same logic state
one bit of the opposite logic state is added.
stuffing by the sender
de-stuffing by the receiver

15 BIT CRC (cyclic redundancy check)


cyclic binary code with
64 message digits
15 control digits
Hamming distance d = 6
Residual error probability

Bus level check


simultaneous sending and reading

Message frame protection


checking of the frame for correctness

2015 IAS, Universitt Stuttgart

229

3.6 Field bus systems

IAS

Data frame
Interframe
Space

>3

Data-Frame

11

0 ... 8
Bytes

15

>3

End of Frame
ACK Delimiter ACK-Field
ACK Slot
CRC Delimiter CRC-Field
CRC Sequence
Data Field
Control Field
RTR Bit Arbitrations Field
Identifier
Start of Frame

2015 IAS, Universitt Stuttgart

230

3.6 Field bus systems

IAS

Time triggered bus system


Time triggered: Actions are triggered by the progression of time
Advantages of the time control

Determinism
Safety properties easier to verify

Synchronization of the applications on different nodes


Coupling of redundancies for the realization of fault tolerance
Distribution of a closed effect chain for the realization of distributed
control applications

Disadvantages of the time control

inflexible to unexpected events

inflexible to expansions and changes of the system

2015 IAS, Universitt Stuttgart

231

3.6 Field bus systems

IAS

Construction of a time controlled architecture


redundant unit

redundant unit

node

node

node

node

AC

AC

AC

AC

CC

CC

CC

CC

AC: application controller


CC: communication controller

Distributed system (cluster): Set of nodes that communicate via a bus


system

Static hardware redundancy: two or more nodes are doing the same task

Bus system is also constructed with redundancy

2015 IAS, Universitt Stuttgart

232

3.6 Field bus systems

IAS

Properties of the time controlled communication system


Synchronization:
All bus users refer to a global clock
Time slot method:
Every bus participant has access to the bus at a definite time interval
determined in advance

Static messages scheduling


The sending time slots are determined statically before runtime
Integrated network management:
Recognizing a node failure, integration of nodes
Redundancy management:
Every arbitrary single fault is tolerated
Examples:
TTP:
FlexRay:

TU Wien, TTTech
FlexRay-Consortium (BMW, Daimler, Bosch, Motorola, Philips)

2015 IAS, Universitt Stuttgart

233

3.6 Field bus systems

IAS

Message schedule
Example: Message schedule for TTP
TDMA-cycle 0

TDMA-cycle 1

FSU6

FSU5

N
0

FSU2

FSU3

TDMA-cycle 3

FSU4

FSU1

TDMA-cycle 2

N
1

TSlot
TDMA-cycle
(TTDMA = 2ms)

time

complete cluster-cycle (TCluster = 8ms)

Legend:

Normal-frame

Initialization-frame

New attempt: FlexRay


Integration of additional message frames for dynamic contents
2015 IAS, Universitt Stuttgart

234

3.6 Field bus systems

IAS

FlexRay
Development by a consortium (Daimler, BMW, Motorola, Philips) for safety
and time-critical applications in automobile
ESP
driver assistance systems
Properties:

Transmission rate up to 10 MBit/s


Multi-Master structure
Redundancy of the communication channel

24 Bit CRC (Cyclic Redundancy Check)

2015 IAS, Universitt Stuttgart

235

3.6 Field bus systems

IAS

FlexRay - Message schedule


Defined cycle time
Division of any cycle in static and dynamic segment
Fixed message schedule for static segment of any FlexRay-Cycle by
assignment of bus participant/message to slot
collision free, dynamic bus access in dynamic segment according to fixed
priorities

Priority is determined by assignment of mini slot to bus participant

FlexRay FlexRay FlexRay FlexRay


Cycle 0 Cycle 1 Cycle 2 Cycle 3

FlexRay FlexRay FlexRay


Cycle 62 Cycle 63 Cycle 0

t/T

Cycle
1

static segment

dynamic segment
slot

2015 IAS, Universitt Stuttgart

minislot
236

3.6 Field bus systems

IAS

PROFIBUS
Field bus family
PROFIBUS - DP
PROFIBUS - FMS
PROFIBUS - PA

(Decentralized Periphery)
(Field Message Specification)
(Process Automation)

Distinction of master and slave participants

Master participants (active participants)


Transmission of messages without request in case of Token
possession

Slave participants (passive participants)


No Token possession possible
Acknowledgement of messages
Message transmission on request

2015 IAS, Universitt Stuttgart

237

3.6 Field bus systems

IAS

Hybrid access method in the Profibus


active participants (master-devices)

PLC

PLC

Profibus

M
sensor

sensor

drive

actuator

sensor

drive

measured
value-

V
supplier

passive participants (slave devices)


2015 IAS, Universitt Stuttgart

238

3.6 Field bus systems

IAS

Interbus-S
Objective:
Transfer cyclically data in the sensor-actuator-area without large overhead.

Topology
active ring
Master-Slave method, fixed telegram length, deterministic ring
transfer rate: 500 kBits/s
max. 4096 I/O-points
extension of the bus: 400 m (between 2 neighbored field bus users)
total extension 13 km

Physical addressing
The assignment of the data to the single participants is not carried out via
the assignment of a bus address but automatically by the physical
placement of the participants in the system
2015 IAS, Universitt Stuttgart

239

3.6 Field bus systems

IAS

Example of an Interbus configuration

2015 IAS, Universitt Stuttgart

240

3.6 Field bus systems

IAS

Principle of the shift register

The Interbus is a closed shift register ring


The information flows only in one direction
The information is shifted through the complete ring, one bit after another

[ref.: Interbus ONLINE-Seminar, www.interbus.com]


Control

Protocol

send register

The data are lying in the send register


ready for the participants
(TN1, TN2 and TN3).

receive register

actuators

actuators

actuators

At the beginning of the data chain


stands the loopback, at the end the
FCS and Control
sensors

paticipant 1

2015 IAS, Universitt Stuttgart

sensors

participant 2

sensors

participant 3

241

3.6 Field bus systems

IAS

Trends in Industrial Automation:


Close interconnection of production management, plant management and
automation of the plant
Seamless use of the communication system from strategic to operative
level

Strategic Level
Dispositive
Level
Tactical
Level

Operative
Level

technical process
2015 IAS, Universitt Stuttgart

Requests of the Communication system:


High transfer rate

Real-time ability
Reliability
Robustness against electrostatic,
mechanical, physical and chemical
influences
242

3.6 Field bus systems

IAS

Industrial Ethernet:
Objective:
Application of Ethernet (IEEE 802.3) on field level

Challenges:
- Non deterministic bus access
- Long latency time caused by network topology
- Small mechanical robustness

2015 IAS, Universitt Stuttgart

243

3.6 Field bus systems

IAS

Industrial Ethernet Topology for reduction of latency times:

- Introduction of automation cells


intra cell:
real-time mode
inter cell:
no real-time mode
- Enabling of a line topology within automation cells
No real-time behavior
Gateway

AT-cell with star


topology
2015 IAS, Universitt Stuttgart

Gateway

AT-Computer

AT-Computer

AT-Computer

AT-Computer

AT-Computer

AT-Computer

AT-Cell

AT-cell with line


AT-Cell topology
244

3.6 Field bus systems

IAS

Industrial Ethernet Protocol adaptations (1/2):


Possibility 1: Introduction of an isochronous transmission range:
With Master-Slave method:
Cycle:
1. Master sends synchronization
2. Master requests Slaves to send
high priority messages
3. Master allows one Slave to send
asynchronous, low priority data

With synchronous clocks (time slot method)


isochronous phase: time triggered communication with
message schedule
asynchronous phase: CSMA/CD
2015 IAS, Universitt Stuttgart

245

3.6 Field bus systems

IAS

Industrial Ethernet protocol adaptations (2/2):


Possibility 2: Implicit addressing of real-time critical process data within an
Ethernet frame

Ethernet Header

Data 1

Telegram 1

Data 2

Telegram 2

Data n

CRC

Telegram n

Hardware supported data processing without buffering


Special hardware driver necessary in each device
Synchronous clocks necessary in specific devices
2015 IAS, Universitt Stuttgart

246

Chapter 3: Process Peripherals

IAS

2015 IAS, Universitt Stuttgart

fml.mw.tum.de

usinenouvelle.com

chip-.de

yitran.com

Examples of wireless communication

Logistic
Networks
247

Chapter 3: Process Peripherals

IAS

Question referring to Chapter 3.6


Which of the following statements regarding to deterministic / random bus
access do you agree?
Answer
Using a deterministic bus access there is a fixed method for the access of
a participant
Using a random bus access each participant is able to write on the bus
any time
Using a deterministic bus access definite statements regarding to the
response behavior are possible
A deterministic bus access allows faster response times
The token-passing method is a method with random bus access

Using the random bus access a concurrent write process of several


participants onto the bus always results in a destruction of the
transmission
2015 IAS, Universitt Stuttgart

248

Chapter 3: Preparation Task

IAS

Preparation Task to Chapter 3


Question 1: Bus Systems (ST 2004)
In an ASi (Actuator / Sensor Interface) power and information are transmitted
using a single line.
What is the condition for that?

Which problem will arise if this condition is not met?

Question 2: Bus Access (ST 2004)


While designing an automation system, two bus access methods are available:
the token passing method and the CSMA/CA (Carrier Sense Multiple Access /
Collision Avoidance) method. An important requirement on the system is the
avoidance of delays due to failures in individual bus participants. Explain how
the characteristics of each access method could influence the automation
system in what that requirement is concerned.

2015 IAS, Universitt Stuttgart

249

Chapter 4: Real-Time Programming

IAS

Real-Time Programming

Learning targets

to know what is meant by real-time programming

to know the requirements of real-time programming

to understand synchronous programming vs. asynchronous programming

to be able to explain tasks and their time synchronization

to be able to use semaphores

to understand scheduling methods and the way they work

to know what a schedulability test is

2015 IAS, Universitt Stuttgart

250

IAS

Real-time programming

4.1

Problem definition

4.2

Real-time programming methods

4.3

Tasks

4.4

Synchronization of tasks

4.5

Communication between tasks

4.6

Scheduling methods

2015 IAS, Universitt Stuttgart

251

4.1 Problem definition

IAS

What is real-time programming?


Non-real-time computing

Correctness of the computational result

Real-time computing

Correctness of the computational result

Timeliness of the result

2015 IAS, Universitt Stuttgart

252

4.1 Problem definition

IAS

NON-REAL-TIME Computing:

Input data

Data
Processing

Output data

REAL-TIME Computing:
Time

Time
Input data

2015 IAS, Universitt Stuttgart

Time
Data
Processing

Output data

253

4.1 Problem definition

IAS

Real-Time Programming
Creation of programs in such a way that the time requirements on the
compilation of input data, on the processing and on the delivery of output data
are fulfilled.

Time requirements are dependent on the processes in the technical system

Real-time:

according to the real-time-sequences, no time expansion,


no time compression

Different kinds of requirements on the time behavior of the data processing

Requirements for timeliness

Requirements for concurrency

2015 IAS, Universitt Stuttgart

254

4.1 Problem definition

IAS

Interaction technical process and automation system


Time dependent
output data
Technical

Time dependent
input data

process

Example:

Automation
system

Automation
system

Technical
process

2015 IAS, Universitt Stuttgart

malfunction due to too early/


too late arriving sensor/actuator
values!

255

4.1 Problem definition

IAS

Differences between information and real-time systems

Information systems

Real-time systems

data-driven system

event/time driven system

complex data structure

simple data structure

great amount of input data

small amount of input data

I/O-intensive

computation-intensive

machine-independent

machine-dependent

2015 IAS, Universitt Stuttgart

256

4.1 Problem definition

IAS

Important terms (1)


Hard real-time systems
Strict deadlines must not be missed in any case

Soft real-time system

A violation of deadlines can be tolerated


Utility
Deadline

hard real-time system


soft
real-time system

Time
2015 IAS, Universitt Stuttgart

257

4.1 Problem definition

IAS

Requirements for timeliness

timely compilation of input data

timely data processing

timely delivery of output data

Time requirements regarding timeliness

Absolute time requirements


e.g.:

11:45 signal for departure

Relative time requirements


e.g.:

Turn off signal 10 seconds after a measured value


exceeds its threshold

2015 IAS, Universitt Stuttgart

258

4.1 Problem definition

IAS

Classification of time requirements (1)


Execution of a function at fixed times t1, t2, t3 , t4

1
0
t1

t2

t3

t4

Execution of a function within a tolerance time range assigned to each time tn


tolerance time
1
0
t1

2015 IAS, Universitt Stuttgart

t2

259

4.1 Problem definition

IAS

Classification of time requirements (2)


Execution of a function within an interval up to a latest time t1

1
0
t1

Execution of a function within an interval starting from an earliest time t1

1
0
t1

2015 IAS, Universitt Stuttgart

260

4.1 Problem definition

IAS

Typical examples of applications with time requirements

Absolute time
requirements

Relative time
requirements

Execution of a function at
a fixed time

Recording of test values

Analysis of substances
in chemistry

Execution of a function
within a tolerance time
range

Recording of controlled
variables

Measured value
supervision on sliding
boundaries

Execution of a function
within an interval up to a
latest time

Recording of data
telegrams

Recording of cargo
indicator labels

Execution of a function
within an interval starting
from an earliest time

Sequence control in
batch processes

Recording of signals
of a light barrier

2015 IAS, Universitt Stuttgart

261

4.1 Problem definition

IAS

Requirements for concurrency


Processes in the real world take place simultaneously

Real-time systems have to react to that simultaneously

Several computation tasks have to be executed


simultaneously

Examples:

Reaction to simultaneous trips of several trains

Processing of several simultaneously occurring measurements in


heating systems

Control motor and ABS system simultaneously

2015 IAS, Universitt Stuttgart

262

4.1 Problem definition

IAS

Realization of concurrency

Each computation task is processed on a separate computer

One computer for all data processing tasks

Prerequisite:
Processes in the environment are slow in comparison to
the computation of the programs on the computer

2015 IAS, Universitt Stuttgart

263

4.1 Problem definition

IAS

Requirements for determinism


Determinism = predictability of the system behavior

Parallel and quasi-parallel sequences are generally not predictable; time

shifts can lead to different execution sequences.

the time behavior is not deterministic

no guaranty of the safety of automation systems

2015 IAS, Universitt Stuttgart

264

4.1 Problem definition

IAS

Deterministic real-time system


A real-time system is called deterministic if for each possible state and for
each set of input information there is a defined set of output information and a
defined following state.

Timely deterministic system


The response times for all output information are known

In a deterministic system it is guaranteed that the system can react at every


time. In a timely deterministic system it is additionally guaranteed at which

time the reaction will have taken place.


2015 IAS, Universitt Stuttgart

265

4.1 Problem definition

IAS

Dialog systems

Input data from input mediums


Keyboard
Light pen
Mouse

Waiting for reply, i.e. output of results on an output medium


Screen
Printer

Examples of dialog systems


Seat reservation systems of airline companies
Account management in banks
Storekeeping systems
Timeliness in dialog systems

2015 IAS, Universitt Stuttgart

266

4.1 Problem definition

IAS

Industrial Automation Systems


Time reaction depends on the processes in the technical system

Timeliness in automation systems

Methods for real time programming are similar for


Industrial Automation Systems
Dialog systems

2015 IAS, Universitt Stuttgart

267

Chapter 4: Real-Time Programming

IAS

Question referring to Chapter 4.1


Which kind of real-time systems are the following ones?

Answer
hard real-time
system

soft real-time
system

Newspaper printing device


car electrical window control
TV electron beam control
telephone switching control
CNC milling head control
aircraft turbine engine control

2015 IAS, Universitt Stuttgart

268

IAS

Real-time programming

4.1

Problem definition

4.2

Real-time programming methods

4.3

Tasks

4.4

Synchronization of tasks

4.5

Communication between tasks

4.6

Scheduling methods

2015 IAS, Universitt Stuttgart

269

4.2 Real-time programming methods

IAS

Different methods

Synchronous programming:
Planning of the time sequence in advance of the execution of
programs

Asynchronous programming (parallel programming):


Organization of the time sequence during the execution of the
programs.

2015 IAS, Universitt Stuttgart

270

4.2 Real-time programming methods

IAS

e.g.: Dentist's office as real-time system (live writing)

Patient

Automation Program

Execution Dentist and dentists chair


place
Organiser Dentist's assistant
Preplanning

Planning of the time sequence


before the treatment with a
appointment calendar

Liveplanning

Planning of the time sequence


during the treatment
(calls from the waiting room)

2015 IAS, Universitt Stuttgart

271

4.2 Real-time programming methods

IAS

Synchronous programming method


Synchronous programming:
Planning of the time behavior of subprograms that have to be executed
cyclically, before their actual execution

Synchronization of the cyclical subprograms within time frames

Time frames are generated by a real-time clock

Interrupt signals for the call of subprograms

Predefined sequence of the execution of subprograms

2015 IAS, Universitt Stuttgart

272

4.2 Real-time programming methods

IAS

Example: heating system


u1 (t)

controlled system 1
"heating circuit flat"

u2 (t)

controlled system 2
"heating circuit office"

room temperature
flat
y1 (t)
room
temperature
office
y2 (t)

preheatingtemperature
u3 (t)
controlled system 3 y3 (t)
"boiler"

analog-output

analog-input

process-signal-in/output

real-time
clock
2015 IAS, Universitt Stuttgart

automation
computer

operating
terminal
273

4.2 Real-time programming methods

IAS

Technical (control engineering) conception

Design and calculation of the control algorithms and


control parameters

Determination of the sampling time for the control loop


T

real-time clock - cycle time

Ti

sampling time for control circuit i

T1

T2

2T

T3

5T

2015 IAS, Universitt Stuttgart

274

4.2 Real-time programming methods

IAS

Assignment of the identifiers and sampling times to the


subprograms (control programs)
a subprogram for each control circuit

Subprogram

Identifier
(name)

Sampling time
(cycle time)

Temperature control for


subsystem heating circuit: flat

CONTROL 1

T1 = T

Temperature control for


subsystem heating circuit: office

CONTROL 2

T2 = 2T

Temperature control for


subsystem heating circuit: boiler

CONTROL 3

T3 = 5T

2015 IAS, Universitt Stuttgart

275

4.2 Real-time programming methods

IAS

Preliminary design with synchronous programming


Start
Interrupt signals
from the real-time clock
with the cycle time T
invoke all T1 = T
CONTROL1

invoke all T2 = 2T
CONTROL2

invoke all T3 = 5T
CONTROL3

Wait loop

2015 IAS, Universitt Stuttgart

276

4.2 Real-time programming methods

IAS

Final design of the control program according to the


synchronous programming method
START
Definition of the counter variables
Z2 and Z3
In time intervals T
successively appearing
interrupt signals
cause start at this point

Z2 := 1
Z3 := 1

initialize Z2 and Z3

CONTROL1
no

Z2=2
?

yes

CONTROL2

Z2 := Z2 + 1

Z2 := 1
no

Z3=5
?
yes
CONTROL3

Z3 := Z3 + 1
Z3 := 1

Wait loop

2015 IAS, Universitt Stuttgart

277

4.2 Real-time programming methods

IAS

Time sequence of the synchronous programming method


ca. 5T
CONTROL3
2T

CONTROL2

CONTROL1

Control program

t/T
0

Assumption:

3
4
5
6
7
8
Interrupt signal of the real-time clock

10

- Computation time for subprograms is identical


- Sum of computation times of the three subprograms
is smaller than cycle time

2015 IAS, Universitt Stuttgart

278

4.2 Real-time programming methods

IAS

Characteristics of the synchronous programming method (1)

Requirement for timeliness is approximately fulfilled

Requirement for concurrency is fulfilled, if cycle time T is small


compared to the time constants in the technical process

Synchronous programming is good for real-time systems with cyclic


program execution

Synchronous programming is not suitable for the reaction on timely


non-predictable (asynchronous) events
Increase of computation time due to constant polling

Delay of the reaction


2015 IAS, Universitt Stuttgart

279

4.2 Real-time programming methods

IAS

Characteristics of the synchronous programming method (2)

Normally deterministic behavior

No complex programs for operation

More efforts for planning (development)

Disadvantage of synchronous programming:

Modification of the tasks causes modification of the complete program


structure!

2015 IAS, Universitt Stuttgart

280

4.2 Real-time programming methods

IAS

Asynchronous programming method


(parallel programming)

Organization program (real-time operating system) controls the timely


execution of subprograms at run-time

Execution of subprograms, when time requirements are fulfilled

Simultaneous execution is sequentialized according to a certain strategy


Assignment of priority numbers
The smaller the priority number, the higher the priority

2015 IAS, Universitt Stuttgart

281

4.2 Real-time programming methods

IAS

Example: heating system

u2(t)

u3 (t)

Analog-Output

Controlled
system
1

y1 (t)

Controlled
system
2

Warning
lamp

y2 (t)

Controlled
system
3

Burner failure signal

u1 (t)

y3 (t)

Analog-Input

Digital
Output

Digital
Input

Process unit

Realtime
clock
2015 IAS, Universitt Stuttgart

Automation
computer
system

Operating terminal
Printer
282

4.2 Real-time programming methods

IAS

Assignment of identifiers, sampling times and priority

Subprogram

Sampling
time

Priority
number

Priority

ALARM
Reaction
on burner failure
with alarm
message

highest

CONTROL 1
Temperature
control unit for
heating circuit 1

T1 = T

second
highest

CONTROL 2
Temperature
control unit for
heating circuit 2

T2 = 2T

third
highest

CONTROL 3
Temperature
control unit for
heating circuit 3

T3 = 5T

lowest

Identifier-Name

2015 IAS, Universitt Stuttgart

283

4.2 Real-time programming methods

IAS

Time sequence of the four subprograms


a)

Desired course

CONTROL3
(Priority 4)
CONTROL2
(Priority 3)

CONTROL1
(Priority 2)
ALARM
(Priority 1)
T

Burner
failure
signal

real-time clock

b)

Actual course
T3(1)

CONTROL3
CONTROL2

T1(1)

T2(3)

T2(2)

T2(1)
T1(2)

T1(3)

T2(4)

T1(4)

CONTROL1
ALARM

Operating
system
t
0

2T

2015 IAS, Universitt Stuttgart

3T

4T

5T

6T

7T

8T

284

4.2 Real-time programming methods

IAS

Characteristics of the asynchronous programming method

Requirements for timeliness only approximately fulfilled

Time conditions are controlled by the priority of the corresponding


subprogram (higher priority for execution)

Actual execution can delay and not meet the targeted time frame

The sequence of the subprograms is not deterministic, but is


computed dynamically

At the time of program development it cannot be defined which


of the subprograms will run at which point of time
simple development
complex operation / management program

program sequence is not obvious


2015 IAS, Universitt Stuttgart

285

4.2 Real-time programming methods

IAS

Event-driven architectures

all activities as sequences of events


activation of tasks
transmission of messages
support through real-time operating systems
non-deterministic behavior
flexible regarding modifications

Time-driven architectures

periodical execution of all tasks and communication actions

sampling of external variable at determined times

low flexibility in case of modifications

easy to analyze

2015 IAS, Universitt Stuttgart

286

Chapter 4: Real-Time Programming

IAS

Question referring to Chapter 4.2


Which of the following statements regarding to real-time programming do
you agree?

Answer

In real-time programming only the timeline of an event is in center.


Real-time means as fast as possible.
In soft real-time systems timelines do not have to be fulfilled.
The asynchronous programming method is more flexible regarding to outer
events than a synchronous programming method.
A synchronous programming requires cyclic program flow.
The synchronous programming method does not fulfill the requirement for
concurrency.

2015 IAS, Universitt Stuttgart

287

IAS

Real-time programming

4.1

Problem definition

4.2

Real-time programming methods

4.3

Tasks

4.4

Synchronization of tasks

4.5

Communication between tasks

4.6

Scheduling methods

2015 IAS, Universitt Stuttgart

288

4.3 Tasks

IAS

Distinction

Program (sequence of commands)

Execution of the program (a single execution of the command

sequence of a program)

Task

Invocation of subprograms

Execution of the invoking program is interrupted

Execution of the subprogram

Continuation of the invoking program

Invocation of a task

Simultaneous execution of the invoking program and of the invoked


task

2015 IAS, Universitt Stuttgart

289

4.3 Tasks

IAS

Task
A task is the procedure of execution of a sequential program controlled by a
real time operating system

Task starts with entry in a list of the real-time operating system and
ends with the deletion from that list

Task does not exist only during the execution of the commands,

but also during planned and forced waiting times

2015 IAS, Universitt Stuttgart

290

4.3 Tasks

IAS

Differences between task and thread


Task

Thread

Owner of resources

Cannot own resources besides the


processor,
accesses all resources of the task,
to which it belongs

Own address space

Address space of the task, to which


it belongs

Contains one or several threads

Element of a task

Communication beyond the


task boundaries, preferred
via messages

Communication between threads,


preferred via shared data

2015 IAS, Universitt Stuttgart

291

4.3 Tasks

IAS

Four basic states


State running
the task is processed
State runnable or ready
all time conditions for the process are fulfilled
what is missing is the start from the operating system
State suspended
task is waiting for the occurrence of an event
as soon as event occurs transition from state suspended to ready
State dormant
task is not ready because time conditions or other conditions are not
fulfilled

2015 IAS, Universitt Stuttgart

292

4.3 Tasks

IAS

State diagram of a task


Dec
lara
tion
of t
he t
ask

sk

Planning of tasks

f ta
no
o
i
t
e
Del

Invocation of a task cyclically


or at certain times

Planning is the transition


from the state dormant into
the state runnable

"dormant"

"runnable"

"suspended"

"running"

2015 IAS, Universitt Stuttgart

293

4.3 Tasks

IAS

Course of the task Control 3


in the asynchronous programming method

The task
Control 3
is:
running
(active)
suspended

runnable
(ready)
dormant
0

2015 IAS, Universitt Stuttgart

2T

3T

4T

5T

6T

7T

294

4.3 Tasks

IAS

Assignment of priorities for tasks

static priority assignment

dynamic priority assignment (use of deadlines)

Time parameters of a task :


A:

Arrival time

R:

Request time

S:

Start time

C:

Completion time

D:

Deadline

E(t):

Execution time

P:

Period time

L(t):

Laxity

F(t):

Flow time

RF(t):

Remaining flow time

2015 IAS, Universitt Stuttgart

295

4.3 Tasks

IAS

Appearance of the time parameters of a task


flow time F(t)

remaining flow time RF(t)

period time P

A: Arrival time
R: Request time
S: Start time
C: Completion time
D: Deadline

states of a task
laxity L(t)

execution time E(t)


"running"
Eold (t)

Enew(t)

suspended"

runnable"

"dormant"
A

C
time of viewing

2015 IAS, Universitt Stuttgart

D
t
296

4.3 Tasks

IAS

Correlation between the time parameters of a task


A <= R <= S <= C - E <= D - E

E(t) = Eold (t) + Enew (t)


Eold (t):

present execution time at time of viewing

Enew (t):

remaining execution time

for the execution of a task


L=D-S-E

2015 IAS, Universitt Stuttgart

297

Chapter 4: Real-Time Programming

IAS

Question referring to Chapter 4.3


With which of the following statements regarding the four basic task states
do you agree?

Answer

A task in the state runnable is being processed.


The task state can directly move from running to dormant.
A task in the state suspended can move directly to running.
In the state dormant a task is not ready because time conditions or other
conditions are not fulfilled.
A task in the state suspended is waiting for the occurrence of an event.

2015 IAS, Universitt Stuttgart

298

IAS

Real-time programming

4.1

Problem definition

4.2

Real-time programming methods

4.3

Tasks

4.4

Synchronization of tasks

4.5

Communication between tasks

4.6

Scheduling methods

2015 IAS, Universitt Stuttgart

299

4.4 Synchronization of tasks

IAS

Classification of the actions of a task

Two actions of tasks are called parallel if they can run


simultaneously

Two actions are called sequential if they are arranged in a certain


sequential order

Two actions of two different tasks are called concurrent if they can
run simultaneously (outer parallelism)

Two actions of one task are called simultaneous, if they can run
at the same time

2015 IAS, Universitt Stuttgart

300

4.4 Synchronization of tasks

IAS

Requirement on the execution of tasks


Synchronicity between tasks and the technical process

Dependencies between tasks

Logical dependency because of the technical process

Dependencies through the use of shared resources

2015 IAS, Universitt Stuttgart

301

4.4 Synchronization of tasks

IAS

Example
the dependencies of tasks
due to shared resources

Shared resources:
report printer
analog-input

2015 IAS, Universitt Stuttgart

Task
MEASUREMENTS

Task
PROCESS SUPERVISION

Use analoginput

Use of driver
program
program for
for
report printer

Input and
conversion of
measurements

Output error
message on
report printer

Use of driver
program for
report printer

Use analoginput

Printmeasurements
and time

Input and
monitor process
variables
302

4.4 Synchronization of tasks

IAS

Problems of dependency
Deadlock:
Two or more tasks block themselves mutually
Permanent blocking (livelock, starvation)
A conspiracy of tasks block a task

Time coordination of the tasks


=
synchronization of tasks
=

limitation of the free parallel execution

2015 IAS, Universitt Stuttgart

303

4.4 Synchronization of tasks

IAS

Example for a deadlock


Road crossing without traffic lights.
Traffic rule is right before left.

2015 IAS, Universitt Stuttgart

304

4.4 Synchronization of tasks

IAS

Example for a livelock: The Dining Philosophers


- every philosopher needs 2 chopsticks to eat

- no chopstick can be reserved

2015 IAS, Universitt Stuttgart

305

4.4 Synchronization of tasks

IAS

Main forms of synchronization


Logical synchronization
(task oriented or process oriented synchronization)

Adaptation of the sequence of actions of a task to the


sequence of operations in the technical process.

Synchronization means

Fulfillment of requirements regarding the sequence of


actions
Consideration of given times and/or time intervals
Reaction to the interrupt messages from the technical
process
Resource-oriented synchronization

Fulfillment of requirements regarding the use of shared


resources

2015 IAS, Universitt Stuttgart

306

4.4 Synchronization of tasks

IAS

Synchronization methods

Semaphore
Critical regions
Rendezvous concept

Basic idea of all synchronization methods

Task has to wait until a certain signal or event occurs

Use of waiting conditions at critical places

2015 IAS, Universitt Stuttgart

307

4.4 Synchronization of tasks

IAS

Semaphore concept
Synchronization of tasks through signals (Dijkstra)
Semaphore variable:

positive integer value


semaphore operations: V(S) und P(S)

V(Si):
P(Si):

Operation V(Si) increases the value of the semaphore


variable Si by 1
Operation P(Si) determines the value of Si
if value of Si > 0
decrease Si by 1
if Si = 0 it has to be waited,
until Si > 0

2015 IAS, Universitt Stuttgart

308

4.4 Synchronization of tasks

IAS

Example 1: Railroad traffic with single-track route


in
A

tra
in

tra
track magnet

Direction of the trains

P(S1)

track magnet

P(S1)

signal
S1

V(S1)

track magnet

in
tra

tra
2015 IAS, Universitt Stuttgart

in

track magnet

V(S1)

0
1

309

4.4 Synchronization of tasks

IAS

AA
nn
aai i
TTrr

Track
Track magnet
magnet

TTrr
aai i
nn
BB

Example 2: Railroad traffic with single-track route


Track
Track magnet
magnet

trains
thetrains
ofthe
Direction
Directionof

P(S1)
P(S1)

P(S2)
P(S2)
Signal
Signal
S1
S1

1
0
0

0
1
0

V(S1)
V(S1)

Track
Track magnet
magnet

Track
Track magnet
magnet

TTrr
aai i
nn
AA

V(S2)
V(S2)

Signal
Signal
S2
S2

BB
nn
aai i
TTrr

2015 IAS, Universitt Stuttgart

310

4.4 Synchronization of tasks

2015 IAS, Universitt Stuttgart

S2 = 0

P (S1)

S1 = 0

V(S2)

S2 = 1

Task B

operations on two tasks,


that always run
alternately

S1 = 1

Task A

Example:

IAS

P (S1)

S1 = 0

V(S2)

S2 = 1

P (S2)

S2 = 0

V(S1)

S1 = 1

P (S2)

S2 = 0

311

Chapter 4: Real-Time Programming

IAS

Question referring to Chapter 4.4


a) Two tasks access the same temperature sensor in an automation
system.
b) A control algorithm is divided into three tasks: input of actual value,
calculation of control variable and output of control variable. These
tasks always have to be executed in this sequence.
Which type of synchronization has to be used respectively ?
How many semaphore variables are necessary in each case ?
Answer

2015 IAS, Universitt Stuttgart

312

IAS

Real-time programming

4.1

Problem definition

4.2

Real-time programming methods

4.3

Tasks

4.4

Synchronization of tasks

4.5

Communication between tasks

4.6

Scheduling methods

2015 IAS, Universitt Stuttgart

313

4.5 Communication between tasks

IAS

Definition
Synchronization =
Fulfillment of time related and logical conditions in the parallel run of tasks

Communication =
Exchange of data between parallel running tasks

2015 IAS, Universitt Stuttgart

314

4.5 Communication between tasks

IAS

Possibilities of data communication

Shared memory (commonly used memory)


common variable
common complex data structure

Sending of messages

transmission of messages from a task to another (message


passing)
especially in distributed systems

2015 IAS, Universitt Stuttgart

315

4.5 Communication between tasks

IAS

Different kinds of communication

Synchronous communication
Sending and receiving processes communicate
at a certain predefined position in the program flow

Asynchronous communication
Data are buffered

2015 IAS, Universitt Stuttgart

316

Chapter 4: Real-Time Programming

IAS

Question referring to Chapter 4.5


With which of the following statements regarding asynchronous
communication between tasks do you agree?
Answer
Sent messages can be buffered.
Sending tasks are blocked after sending a message.
Receiving tasks are blocked after reception, until they respond to the
message.
When using asynchronous communication, sending and receiving tasks
dont have to wait for each other.

2015 IAS, Universitt Stuttgart

317

IAS

Real-time programming

4.1

Problem definition

4.2

Real-time programming methods

4.3

Tasks

4.4

Synchronization of tasks

4.5

Communication between tasks

4.6

Scheduling methods

2015 IAS, Universitt Stuttgart

318

4.6 Scheduling methods

IAS

Scheduling problem

Tasks need resources


(processor, device etc.)

Number of resources is limited

Tasks compete for resources

Allocation of resources has to be managed

2015 IAS, Universitt Stuttgart

319

4.6 Scheduling methods

IAS

Scheduling:
Allocation of the processor to runnable tasks according to a predefined
algorithm (Scheduling-method)

Problem:
1.

Is there an executable schedule for a set of tasks?

2.

Is there an algorithm that can find an executable schedule?

2015 IAS, Universitt Stuttgart

320

4.6 Scheduling methods

IAS

Classification dependent on the time of the planning

Static scheduling
Planning of the execution sequence of the tasks is done before the
actual execution (dispatching table)
Consideration of information on task set, deadlines, execution
times, sequential relations, resources
Dispatcher carries out the allocation according to dispatching table
Runtime overhead minimal
Deterministic behavior

Dynamic scheduling
Organization of the execution sequence during the execution of
the tasks

Considerable runtime overhead


2015 IAS, Universitt Stuttgart

321

4.6 Scheduling methods

IAS

Classification according to the kind of execution

Preemptive scheduling
running task can be interrupted

higher priority tasks replace lower priority tasks

Non-preemptive scheduling
running task cannot be interrupted
processor-deallocation by the task itself

2015 IAS, Universitt Stuttgart

322

4.6 Scheduling methods

IAS

Scheduling methods

FIFO scheduling (first-in-first-out)

Round-Robin-Method (Time-Slice-Method)

Scheduling with fixed (invariable) priorities

Rate-Monotonic scheduling

Earliest-Deadline-First method

Method of minimal laxity (least laxity)

2015 IAS, Universitt Stuttgart

323

4.6 Scheduling methods

IAS

FIFO scheduling

Non-preemptive scheduling

The processor is allocated to the task with the longest delayed planning

Simple implementation

Example: FIFO scheduling


Task A runnable
Task B runnable
Task C runnable

Task D runnable

t
The tasks are executed in the order in which they become runnable

D
t

2015 IAS, Universitt Stuttgart

324

4.6 Scheduling methods

IAS

Round-Robin-Method (Time-Slice-Method)

Each task has a determined time slot in which the processor is


allocated to it

Sequence is determined statically

Execution of a task step by step

Used in dialog systems (multi-tasking systems)

2015 IAS, Universitt Stuttgart

325

4.6 Scheduling methods

IAS

Example: Round-Robin-Method
Each time slice has 10ms and the tasks were arranged in the following
order: A-B-C-D.
Execution time of the tasks:

Task A:
Task B:
Task C:
Task D:

25ms
20ms
30ms
20ms

10 20
2015 IAS, Universitt Stuttgart

A C

t/ms

326

4.6 Scheduling methods

IAS

Scheduling with fixed priorities

Priorities are assigned statically

The processor is allocated to the task with the highest priority

Preemptive and non-preemptive strategy is possible

Simple implementation

2015 IAS, Universitt Stuttgart

327

4.6 Scheduling methods

IAS

Example: Fixed priorities


Task
A

Priority
1

B
C
D
E

1
2
3
3

Highest
Priority

If priority of some tasks is identical, another subordinate rule is


necessary

A*

E
t

2015 IAS, Universitt Stuttgart

328

4.6 Scheduling methods

IAS

Rate-Monotonic Scheduling

Special case of scheduling with fixed priorities for cyclic tasks

The shorter the period, the higher the priority

Task with the shortest period has the highest priority

Pre-emptive strategy

2015 IAS, Universitt Stuttgart

329

4.6 Scheduling methods

IAS

Example: Rate-Monotonic Scheduling


Task

Execution
time

Period

Priority

A
B
C
D

10 ms
20 ms
10 ms
20 ms

40 ms
50 ms
80 ms
100 ms

1
2
3
4

First scheduled call of all tasks at t = 0 ms.


Afterwards the tasks have to be repeated cyclically.

A1
0

B1
10

20

C1 A2
30

2015 IAS, Universitt Stuttgart

40

B2
50

60

D1a A3 C2
70

80

90

B3

A4 D1b

100 110 120 130

t / ms

330

4.6 Scheduling methods

IAS

Earliest-Deadline-First-Method
(Minimal-remaining-flow-time-method)

The processor is allocated to the task with the shortest

remaining flow time

Preemptive method

High computation effort for the scheduling

Compliance with requirements on time is specially supported

2015 IAS, Universitt Stuttgart

331

4.6 Scheduling methods

IAS

Example: Earliest-Deadline-First-Method
Task

Execution Time

Tmin

Tmax

10 ms

0 ms

40 ms

10 ms

0 ms

30 ms

30 ms

30 ms

100 ms

40 ms

50 ms

200 ms

10 ms

70 ms

90 ms

Tmin:
earliest time to start
Tmax:
latest time to finish
= deadline

Execution sequence:

D*

D
t/ms

10

20

30

2015 IAS, Universitt Stuttgart

40

50

60

70

80

90

100

110

120

332

4.6 Scheduling methods

IAS

Least laxity method

Processor is allocated to the task with the smallest laxity

Consideration of deadlines and of the execution time

Very expensive method

(see slide 301)


2015 IAS, Universitt Stuttgart

333

4.6 Scheduling-Methods

IAS

Example: Least laxity method


Task

Execution Time

Activation

TD

30 ms

0 ms

40 ms

10 ms

0 ms

30 ms

30 ms

30 ms

100 ms

40 ms

50 ms

200 ms

10 ms

70 ms

90 ms

TD: Deadline

Execution Sequence

Aa
10

20

Ab
30

2015 IAS, Universitt Stuttgart

D
t/ms

40

50

60

70

80

90

100

110

120

334

4.6 Scheduling methods

IAS

Schedulability test
A schedulability test is a mechanism to proof whenever a set of tasks can be
scheduled in such a manner that the deadlines are not missed.

Being a mathematical proof, it is important to differentiate between:

necessary condition

sufficient condition

necessary and sufficient condition

2015 IAS, Universitt Stuttgart

335

4.6 Scheduling methods

IAS

Theorem of Liu und Layland (Part I)


Any given set of tasks (Deadline = Period) can be executed by the preemptive
Earliest-Deadline-First-Method when:

n
i 1

Ci
Ti

2015 IAS, Universitt Stuttgart

Where:
Ci : Execution time of task i
Ti : Period of task i
n: Number of tasks

336

4.6 Scheduling methods

IAS

Theorem of Liu und Layland (Part II)


Any given set of tasks (Deadline = Period) can be executed by the
Rate-Monotonic method when:

n
i 1

U 1*

Ci
Ti

U n*

0,828

U 3*

0,779

U*

ln 2

1 , n 1, 2,...
Where:

1,0

*
2

n 2

1
n

Ci : Execution time of task i


Ti : Period of task i
Un*: Utilisation of processor with n tasks
n: Number of tasks

0,693

2015 IAS, Universitt Stuttgart

337

Chapter 4: Real-Time Programming

IAS

Question referring to Chapter 4.6


In the so called shortest-job-first-scheduling method, the task with the
shortest execution time is selected for processing at run-time. However,
running tasks cannot be interrupted by other tasks.
Which type of scheduling method is this ?

Answer

Remark:
The shortest-job-first method determines a schedule, that minimizes the
average flow-time.
2015 IAS, Universitt Stuttgart

338

Chapter 4: Preparation Task

IAS

Preparation Task to Chapter 4


Question 1: Deadlocks (WT 2003/2004)
A programmer states that a system with shared resources, but without
additional safety mechanisms (e.g. Priority Ceiling Protocol), automatically
reaches a deadlock state.
Do you agree with that? Justify your answer.

Question 2: Shared resources (WT 2003/2004)


Assume a system with five tasks (named from T1 to T5). The tasks have fixed
priorities according to their indices; i.e. task T1 has the highest priority and task
T5 the lowest priority. The schedule is made using the Priority Inheritance
Protocol. For their execution the tasks require three shared resources, even
though a task can not use more than one resource at once. The maximum
holding time of each shared resource is 100ms. What is the maximum blocking
time that can appear for T1 and T5 due to a needed resource? Justify your
answer.
2015 IAS, Universitt Stuttgart

339

Chapter 5: Real-Time Operating Systems

IAS

Real-Time Operating Systems

Learning targets

to know what an operating system and resources do

to know what interrupts are

to be able to explain how the memory management is working

to know the development process and composition of a mini real-time


operating system

to know how the mini real-time operating system is working and how it can
be extended

to get an overview of real-time operating systems

2015 IAS, Universitt Stuttgart

340

IAS

Real-time operating systems

5.1

Definition

5.2

Organization tasks of a real-time operating system

5.3

Development of a mini real-time operating system

5.4

Software system design of the mini real-time operating system

5.5

Examples for real-time operating systems

2015 IAS, Universitt Stuttgart

341

5.1 Definition

IAS

What is an operating system?


Definition DIN 44300:
Operating systems are programs of a digital computer system that
together with the characteristics of the computer hardware form the

basis of the possible operating modes of the digital computer system


and especially control and supervise the handling of programs.

Operating system

Systematically built up collection of control programs and tools

Allocation of the existing resources to the competing computation


tasks

Simplification of the operating and programming of the computer and


its attached devices for the user

2015 IAS, Universitt Stuttgart

342

5.1 Definition

IAS

Characteristic of operating systems

Realization of the hardware-dependent operations

In many cases enclosing from the producer of the computer


efficient operating system requires exact knowledge on the
hardware structure
often for entire computer lines
amortization of the high development costs of an operating
system

Size

Integration of classical operating systems modules in form of


semiconductor chips

2015 IAS, Universitt Stuttgart

343

5.1 Definition

IAS

Resources

Objects necessary for the execution of the computation tasks and for
which allocation the computation task has to wait

Device units
Processors
Memory
Peripheral devices like printers

System programs

2015 IAS, Universitt Stuttgart

344

5.1 Definition

IAS

Categories of real-time operating systems (1)

Real-time UNIX / POSIX-conform systems


Portable Operating System Interface: IEEE 1003 / IEC 9945standard for interface between application and OS

Compatible to UNIX-System V
IEEE 1003.1 defines extended real-time functionalities
Used in process control systems

Real-time - kernels
UNIX-compatible micro-kernel with
Memory management,
Interrupt handling,
Scheduler,
Task management,
Interfaces on basis of TCP/IP
Optimally adapted to real-time requirements
Well optimized code for different platforms

2015 IAS, Universitt Stuttgart

345

5.1 Definition

IAS

Categories of real-time operating systems (2)

Real-time operating system extensions


Extension of non-real-time operating systems
Library for the compliance with real time conditions

Real-time operating systems

Very efficient
Flexibly configurable
Oriented on UNIX (structure / appearance)

Usually specially adapted to a problem field

2015 IAS, Universitt Stuttgart

346

5.1 Definition

IAS

Question referring to Chapter 5.1


What are the objectives of the task administration of an operating system?

Answer
Creation of new tasks if requested by the operating system.
Creation of new tasks if requested by other tasks.
Removal of tasks from the system.
Enabling the communication between tasks.

2015 IAS, Universitt Stuttgart

347

Industrial Automation

Real-time operating systems

5.1

Definition

5.2

Organization tasks of a real-time operating system

5.3

Development of a mini real-time operating system

5.4

Software system design of the mini real-time operating system

5.5

Examples for real-time operating systems

2015 IAS, Universitt Stuttgart

IAS

348

5.2 Organization tasks of a real-time operating system

IAS

Tasks of a real-time operating system


Management of computer processes and resources in compliance with the
requirements for timeliness, concurrency and efficiency

Functions of a real-time operating system

Organization of the execution of the computation processes


(Scheduling)

Organization of the interrupt handling

Organization of the memory management

Organization of the input/output

Organization of the processes in case of irregular operating states and


start-up/restart

2015 IAS, Universitt Stuttgart

349

5.2 Organization tasks of a real-time operating system

IAS

Layer-architecture of an automation computer system


Automation programs
computation
process 1

computation
process 2

computation
process n

Resources
resources 1

resources 2

resources n

Real-time operating system


Management of
computation processes:

Management of
resources :

2015 IAS, Universitt Stuttgart

register,
instruct,
planning,
terminate,
etc.

announce,
create,
request,
occupy,
release,
etc.
350

5.2 Organization tasks of a real-time operating system

IAS

Computation process management


Different kinds of computation processes
Application processes
System processes

Tasks of the computation process management


Coordination of the execution of application and system
processes
Parallel operation of as many resources as possible
Handling of queues for resources
Synchronization of application and system processes
Avoidance, identification and elimination of deadlocks

2015 IAS, Universitt Stuttgart

351

5.2 Organization tasks of a real-time operating system

IAS

Interrupt handling

Interruption of the planned program sequence

Start of a service routine

Planned program sequence: (without interrupts)


control program
t

increasing
priority

Actual operational sequence: (with interrupts)

Interrupt 1
control program

ISR 1
control program
t

2015 IAS, Universitt Stuttgart

352

5.2 Organization tasks of a real-time operating system

IAS

Interrupt handling

Creation and processing of interrupts

Start of an interrupt service routine while simultaneously interrupting

the presently running computation process

Prioritization of interrupts

Hardware functions for interrupt handling


(within the range of micro-seconds)

2015 IAS, Universitt Stuttgart

353

5.2 Organization tasks of a real-time operating system

IAS

Memory management
The cost of memory space is proportional to the access speed

Memory hierarchy levels

Cache memory (extremely fast semiconductor memory)


Main memory
Hard disc memory
Floppy disc

Tasks of the memory management

Optimal usage of the fast memories


Coordination of the access on a shared memory area
Protection of the memory area of different computer processes
against false accesses
Assignment of physical memory addresses for the logical names in
application programs

2015 IAS, Universitt Stuttgart

354

5.2 Organization tasks of a real-time operating system

IAS

Input/output control
Different kinds of input/output devices

Distinction in speed
Distinction in data formats

Realization of the input/output control

Hardware-independent level for the data management and the data


transport
Hardware-dependent level, that takes into account all device specific
characteristics (driver programs)

2015 IAS, Universitt Stuttgart

355

5.2 Organization tasks of a real-time operating system

IAS

Error Handling
Classification of errors (1)

Faulty user inputs


Non-valid inputs have to be rejected with error message

Faulty application programs


Guaranty, that a faulty application program does not
affect other programs

2015 IAS, Universitt Stuttgart

356

5.2 Organization tasks of a real-time operating system

IAS

Classification of errors (2)

Hardware faults and hardware failures


Recognition of hardware faults and failures
Reconfiguration without the faulty parts
Shut-down sequences in case of power failures

Deadlocks based on dynamic constellations


Reliable avoidance of deadlocks is not possible

2015 IAS, Universitt Stuttgart

357

5.2 Organization tasks of a real-time operating system

IAS

Question referring to Chapter 5.2


Consider two different automation systems:
an event-driven system (e.g. a control of a coffee machine)

a time-driven system (e.g. a trajectory control of a robot)


For which type of system is the interrupt handling of an operating system
more important?
Answer

2015 IAS, Universitt Stuttgart

358

Industrial Automation

Real-time operating systems

5.1

Definition

5.2

Organization tasks of a real-time operating system

5.3

Development of a mini real-time operating system

5.4

Software system design of the mini real-time operating system

5.5

Examples for real-time operating systems

2015 IAS, Universitt Stuttgart

IAS

359

5.3 Development of a mini real-time operating system

IAS

Objective

Presentation of the structure and the mode of operation of a real-time


operating system in strongly simplified form

Gradual withdrawal of the taken simplifications

Development process

Clarification of the problem formulation, determination of the


requirements

Technical solution concept

Software system design

Implementation

2015 IAS, Universitt Stuttgart

360

5.3 Development of a mini real-time operating system

IAS

Procedure of the development of the mini real-time


operating system
Software System Design
clarification
and
determination
of
requirements

requirement
specification

technical
solution
concept

functional
specification

2015 IAS, Universitt Stuttgart

preliminary
design of the
program
system

block
diagram

final design
of the
program
system

flow
diagram

implementation

programs
in a programming
language

361

5.3 Development of a mini real-time operating system

IAS

Clarification and determination of the problem formulation


and the requirements

Management of a maximum of n computer processes


m
k

Computer processes cyclic


Computer processes through interrupt signals
i.e.
n=m+k

One processor for the execution of operations


No optimization of the processes through simultaneous
execution of computation operations and I/O operations

Time signal for cyclic activities through internal clock generator


Clock impulses at fixed intervals T (i.e.: T = 20ms)
Different cycle times for the cyclic processes

2015 IAS, Universitt Stuttgart

362

5.3 Development of a mini real-time operating system

IAS

Simplifications that will be withdrawn at a later point

The sum of all computing times of the computation processes


is smaller that the interval T
Assurance that all computation processes are finished
at the next clock pulse.
No tasks that are started by interrupt

No resource management
Input/output times are negligibly short

2015 IAS, Universitt Stuttgart

363

5.3 Development of a mini real-time operating system

IAS

Design of a solution concept


Asynchronous programming method

Asynchronous instruction of the individual computer processes

No fixed sequence of tasks

Conflict strategy according to priority numbers

Sub-solution

Creation of cycle time


Derivation of the different cyclic times of the tasks from the
clock impulse

State management of the tasks


Instruction of the tasks at the corresponding cyclic times and
defined termination

Start of the tasks


Start of the task, which turn it is

2015 IAS, Universitt Stuttgart

364

5.3 Development of a mini real-time operating system

IAS

Solution concept of the mini operating system


Sub-solution 1: creation of
cycle time
creation of the
cycle times
T1, T2, ..., Tm

Subsolution 2:

state management
of the tasks

instruction of the
computer
processes at the
times T1, ..., Tm,
and ending of the
instruction

2015 IAS, Universitt Stuttgart

Substart of
solution 3: the tasks
start of the
instructed
task
according to
priorities

365

5.3 Development of a mini real-time operating system

IAS

Creation of cycle time


Task:
1.

Creation of the correlation between the cycle times


Ti (i = 1,2,...,m) and the interval T

Assumption:
=>

Ti >> T
Ti = ai T
ai Integral cycle time factors (i=1,2,...,m)

2.

Interval variable Zi (i=1,2,...,m)


Arrival of the clock impulse reduces Zi by 1
Zi = 0:

Cycle time Ti is over


=>

Reset of Zi to initial value ai

2015 IAS, Universitt Stuttgart

366

5.3 Development of a mini real-time operating system

Sub-solution 1:
creation of
cycle time

IAS

introduction of dimensionless, integral cycle time factors


T1 = a1 T

a1 =

T2 = a2 T

a2 =

Tm = am T

am =

T1
T
T2
T
Tm
T

definition of (dimensionless) interval variables z1, z2, ..., zm with the


initial values
z1 = a 1
z2 = a 2

zm = a m

clock
impulse
at each arrival of clock impulse with interval T:
decremention of the variable zi (decrement by 1), i.e. formation of :
z1 := z1 - 1
z2 := z2 - 1

zm := zm-1

2015 IAS, Universitt Stuttgart

367

5.3 Development of a mini real-time operating system

IAS

Sub-solution 1:
creation of
cycle time
as soon as a variable turns zi = 0 the corresponding cycle time
Ti is reached. Therefore this result is transfered to the solution
component 2, that is in charge of instructing the process i (putting
the state into "ready").

to/ from
subsolution 2

Reset of the corresponding interval variables to the initial value


zi := ai, Continuation with solution component 2.
to subsolution 2

2015 IAS, Universitt Stuttgart

368

5.3 Development of a mini real-time operating system

IAS

State management of the computation processes


Task:

Management of the states of the computation processes


dormant

ready
running

Bookkeeping on the respective states of each process

Execution of state transitions

2015 IAS, Universitt Stuttgart

369

5.3 Development of a mini real-time operating system

Sub-solution 2:
State
From submanagement solution 1
of the
to
computation Back
subsolution 1
processes
From subsolution 1,
if all
interval
variables
are
processed

2015 IAS, Universitt Stuttgart

IAS

In case of arrival of a message


that the cycle time Ti is over:
Instruction of the computer
processes in question
(putting into the state "ready").

Determine the computer


process in state "ready" with
the highest priority from the list

List of the current


states of the
computer processes

Message to solution
component 3 (start of the
concerning task)

Start message
to
subsolution 3

After the execution of a computer process:


Write down the state "dormant" in the state list

End message
from
subsolution 3

370

5.3 Development of a mini real-time operating system

IAS

Start of the computation processes


Task:
Determination of the start address
Starting of the computation processes
Supervision of the termination of the computer process

2015 IAS, Universitt Stuttgart

371

5.3 Development of a mini real-time operating system

IAS

Sub-solution 3: Starting of the computation processes

Start message
from
sub-solution 2

After the notification from sub-solution 2:


Determine start address of the computation process in
question

Starting of the computation process in question


(sub-program - jump to start address)

End message
to
sub-solution 2

Notification of sub-component 2 that the computer process


is finished.

2015 IAS, Universitt Stuttgart

372

5.3 Development of a mini real-time operating system

IAS

Question referring to Chapter 5.3


What actions have to be performed when starting a task?

Answer
The current state of the task has to be determined.
It has to be checked whether the task has the highest priority.
The start address of the task has to be determined.

2015 IAS, Universitt Stuttgart

373

IAS

Real-time operating systems

5.1

Definition

5.2

Organization tasks of a real-time operating system

5.3

Development of a mini real-time operating system

5.4

Software system design of the mini real-time operating system

5.5

Examples for real-time operating systems

2015 IAS, Universitt Stuttgart

374

5.4 Software system design of the mini real-time operating system

IAS

Software system design based on strongly simplified


formulation
Principle of the stepwise refinement
Decomposition of the mini operating system in program routines,
that are individually refined as well.

2015 IAS, Universitt Stuttgart

375

5.4 Software system design of the mini real-time operating system

IAS

Decomposition of the mini real-time operating system program

Sub-program TIME ADMINISTRATION


for the formation of the different cyclic times

Sub-program TASK ADMINISTRATION


for the administration of the computer processes

Sub-program PROCESSOR ADMINISTRATION


allocation of the resource processor
starting of the computer processes
MINI REAL TIME
OPERATING
SYSTEM

TIME
ADMINISTRATION

TASK
ADMINISTRATION

2015 IAS, Universitt Stuttgart

Level 1

PROCESSOR
ADMINISTRATION

Level 2
376

5.4 Software system design of the mini real-time operating system

IAS

Interaction of the sub-programs of the mini real-time


operating system
MINI REAL-TIME OPERATING SYSTEM

TIME
TASK
PROCESSOR
ADMINISTRATION ADMINISTRATION ADMINISTRATION
CLOCK
IMPULSE

Start of a computer
process

End of a computer
process

Symbols
Kick-off (control flow)
Data transfer (data flow)
Program resp. program routine
List of data, e.g. single values (data)

2015 IAS, Universitt Stuttgart

377

5.4 Software system design of the mini real-time operating system

IAS

Lists necessary for the TIME ADMINISTRATION (1)

Time span variable Zi for cyclic time formation


List TIME COUNTER

Filing of the time-span variables zi


z1
z2
m spaces

z3

zm

2015 IAS, Universitt Stuttgart

378

5.4 Software system design of the mini real-time operating system

IAS

Lists necessary for the TIME ADMINISTRATION (2)

Cyclic time Ti for each computer process


List CYCLE
Provision of the cyclic time factors a i:
a1
a2
a3

m spaces

am

2015 IAS, Universitt Stuttgart

379

5.4 Software system design of the mini real-time operating system

IAS

Block chart of the sub-program TIME ADMINISTRATION

CLOCK
IMPULSE

CYCLE

2015 IAS, Universitt Stuttgart

TIME
ADMINISTRATION

Kick-off
TASK ADMINISTRATION

TIME
COUNTER

380

5.4 Software system design of the mini real-time operating system

IAS

List necessary for the TASK ADMINISTRATION and


PROCESSOR ADMINISTRATION

Status and base address of the computer process list


ADMINISTRATION BLOCK

Structure of the list for the administration of computer processes


ADMINISTRATION BLOCK

m spaces

B1

Start address 1

B2

Start address 2

B3

Start address 3

B4

Start address 4

Bm

Start address m

Status bits Bi
Bi = 0: ready
Bi = 1: dormant

2015 IAS, Universitt Stuttgart

Base address of the code


assigned to the computer
process i (i = 1, 2, ..., m)

381

5.4 Software system design of the mini real-time operating system

IAS

Decomposition of the sub-program TASK ADMINISTRATION

TASK
ADMINISTRATION

ACTIVATION

2015 IAS, Universitt Stuttgart

SEARCH

LEVEL 2

DEACTIVATION

LEVEL 3

382

5.4 Software system design of the mini real-time operating system

IAS

Block chart of the TASK ADMINISTRATION

from/ to
TIME
ADMINISTRATION

ACTIVATION

SEARCH

ADMINISTRATION
BLOCK

to the PROCESSOR
ADMINISTRATION

Selection of the
start address by
the PROCESSOR
ADMINISTRATION

DEACTIVATION

End of the computer


process in question

2015 IAS, Universitt Stuttgart

from the PROCESSOR


ADMINISTRATION

383

5.4 Software system design of the mini real-time operating system

ACTIVATION:

Modification of the status bits into ready

DEACTIVATION:

Modification of the status bits into dormant

SEARCH:

Check if theres a task in state ready

Organizing the list ADMINISTRATION BLOCK allows a simple


prioritization.

Decomposition of PROCESSOR ADMINISTRATION is not necessary.

2015 IAS, Universitt Stuttgart

IAS

384

5.4 Software system design of the mini real-time operating system

IAS

Overall block chart of the mini real time operating system

CLOCK
IMPULSE
SEARCH

ADMINISTRATION
BLOCK

CYCLE

TIME COUNTER

TIME ADMINISTRATION

2015 IAS, Universitt Stuttgart

computer porcess code

ACTIVATION

PROCESSOR ADMINISTRATION

TIME

DEACTIVATION

TASK ADMINISTRATION

385

5.4 Software system design of the mini real-time operating system

IAS

Detail design in form of a flow diagram


CLOCK
IMPULSE

TIME
ADMINISTRATION

l=1

Flow diagram TIME


ADMINISTRATION

TIME COUNTER (I) =


TIME COUNTER (I) -1

TIME COUNTER (I)


= 0?
no

I = M?

yes

TIME COUNTER (I)


= CYCLE (I)
yes
ACTIVATION

no
l=I+1
search
2015 IAS, Universitt Stuttgart

386

5.4 Software system design of the mini real-time operating system

IAS

Flow diagram of the program TASK ADMINISTRATION


ACTIVATION
ACTIVATION (I)

Address part from


ADMINISTRATION
BLOCK (I)
= 0?

yes

Inquiry if computer
process is available at
all

no
Set STATUS BIT (I) IN
ADMINISTRATION
BLOCK (I) = 0

ERROR
MESSAGE

Reentry

2015 IAS, Universitt Stuttgart

387

5.4 Software system design of the mini real-time operating system

IAS

Deactivation

Search
SEARCH

I=1

DEACTIVATION (I)

STATUS BIT (I) from


ADMINISTRATION
BLOCK (I)
= 0?

yes

Set STATUS BIT (I)


in ADMINISTRATION
BLOCK (I) = 1

no

I = M?

yes

SEARCH

no
I= I+1
PROCESSOR
ADMINISTRATION (I)

2015 IAS, Universitt Stuttgart

388

5.4 Software system design of the mini real-time operating system

IAS

Flow diagram of the PROCESSOR ADMINISTRATION

PROCESSOR
ADMINISTRATION (I)

Start computer
process over start
adress in
ADMINISTRATION
BLOCK (I),
i.e. invoke as subprogram

DEACTIVATION (I)

2015 IAS, Universitt Stuttgart

389

5.4 Software system design of the mini real-time operating system

IAS

First extension of the system design


Admission of longer computing times for tasks

In case of the arrival of a clock impulse it might be necessary to


interrupt a (still) running computer process featuring a longer
execution time and lower priority, in order to start a computer process
with a higher priority.

Program for the interruption administration

2015 IAS, Universitt Stuttgart

390

5.4 Software system design of the mini real-time operating system

IAS

Sub-program INTERRUPTION ADMINISTRATION


Task:
Rescue of the registers of the processor of a still running task

Program counter
Accumulator
Status register
Working register

2015 IAS, Universitt Stuttgart

391

5.4 Software system design of the mini real-time operating system

IAS

Extended hierarchy chart after the admission of longer


computing times in computer processes

MINI-REAL-TIME OPERATING
SYSTEM
(Extension1)

INTERRUPT
ADMINISTRATION

TIME
ADMINISTRATION

2015 IAS, Universitt Stuttgart

TASK
ADMINISTRATION

PROCESSOR
ADMINISTRATION

392

5.4 Software system design of the mini real-time operating system

Extension of the list


ADMINISTRATION BLOCK

B1

Start address after an


interruption
Register memory
location

Base address 1
Start address (program counter contents)
Register contents 1

Task 1

IAS

Register contents 2

Register contents k
B2

Base address 2
Start address (program counter contents)
Register contents 1

Task 2

Register contents 2

Register contents k

B m Base address m
Start address (program counter contents)
Register contents 1
Task m

Register contents 2

Register contents k

2015 IAS, Universitt Stuttgart

393

5.4 Software system design of the mini real-time operating system

IAS

Extension of the sub-program PROCESSOR


ADMINISTRATION

Right before the start of a ready task the register with


the contents of the list of the ADMINISTRATION BLOCK has to be
loaded.

Extension of the sub-program DEACTIVATION

After the computer process is finished, its base address is loaded into
the cell START ADDRESS and the register contents in the
ADMINISTRATION BLOCK are to be initialized.

2015 IAS, Universitt Stuttgart

394

5.4 Software system design of the mini real-time operating system

IAS

Overall chart of the mini real-time operating system


First extension: Admission of longer computing times for computer processes

SEARCH

ADMINIS
TRATION
BLOCK

CLOCK
IMPULSE

CYCLE

INTERRUPT
ADMINISTRATION

ACTIVATION

Computer process code

TIME

TIME
COUNTER

TIME
ADMINISTRATION

2015 IAS, Universitt Stuttgart

DEACTIVATION

TASK
ADMINISTRATION

PROCESSOR
ADMINISTRATION

395

5.4 Software system design of the mini real-time operating system

IAS

Second extension of the software system design


Having the possibility of alarm interrupts in mind

Up to k computer processes, whose activation is triggered by alarm


interrupts that are not predictable from the point of view of time.

Extension of the INTERRUPTION ADMINISTRATION

register rescue
in case of clock impulse interrupts triggering of TIME
ADMINISTRATION
in case of alarm interrupts invoking of the ACTIVATION, in order to
put the corresponding response program in the state ready
kick-off SEARCH

2015 IAS, Universitt Stuttgart

396

5.4 Software system design of the mini real-time operating system

IAS

Overall chart for the mini operating system


Having the possibility of alarm interrupts in mind

external Interrupts

CLOCK
IMPULSE
INTERRUPT

ACTIVATION

TIME

SEARCH
Computer process code

Second extension:

ADMINISTRATION
BLOCK

INTERRUPT1

INTERRUPT2

CYCLE

TIME
COUNTER

DEACTIV
ATION

INTERRUPT K

INTERRUPT
ADMINISTRATION

TIME
ADMINISTRATION

2015 IAS, Universitt Stuttgart

TASK
ADMINISTRATION

PROCESSOR
ADMINISTRATION
397

5.4 Software system design of the mini real-time operating system

IAS

Third extension of the software system design


Operating resource administration for input/output devices
In/output operation are slower than
analog to digital converter > 20 ms
Introduction of a administration program Input/Output-ADMINISTRATION

Task:
Organization of slow input/output operations
Task is stopped.
Processor is able to work on other tasks.
Finishing the input/output operations allows the continuation
of accompanying tasks.

2015 IAS, Universitt Stuttgart

398

5.4 Software system design of the mini real-time operating system

IAS

Hierarchical chart of the mini operating system

MINI-REAL-TIME
OPERATING SYSTEM
(Extension 3)

IN/OUTPUT
ADMINISTRATION

INTERRUPT
ADMINISTRATION

2015 IAS, Universitt Stuttgart

TIME
ADMINISTRATION

TASK
ADMINISTRATION

PROCESSOR
ADMINISTRATION

399

5.4 Software system design of the mini real-time operating system

IAS

Abolition of the simplifications

Operating system programs themselves are not interruptible.

The multiple activation of a tasks, i.e. new activation before the actual
end of a task is impossible.

A mutual activation of tasks is not possible.

A synchronization of tasks, i.e. through semaphore operations,


is not possible.

No data communication between the tasks, i.e. no interchange of


data, no common use of data.

No dynamical modifications of the priorities of the tasks during


program execution.

Tasks are located in the working memory, secondary memories are


not available.

2015 IAS, Universitt Stuttgart

400

5.4 Software system design of the mini real-time operating system

IAS

Question referring to Chapter 5.4


Scheduling methods for the allocation of the processor are very important
in real-time operating systems.
a) What is the purpose of those methods ?
b) In which module of the mini operating system presented in the lecture a
scheduling method is used?
How is it called ?
Answer

2015 IAS, Universitt Stuttgart

401

Chapter 5: Preparation Task

IAS

Preparation Task to Chapter 5.4

Question 1: Mini Operating System (ST 2006)


a)

Why does the mini operating system presented in the lecture work in its
first extension with less than 4 states?

b)

Which states of the state model of computation tasks are not needed?
Why?

2015 IAS, Universitt Stuttgart

402

Industrial Automation

Real-time operating systems

5.1

Definition

5.2

Organization tasks of a real-time operating system

5.3

Development of a mini real-time operating system

5.4

Software system design of the mini real-time operating system

5.5

Examples for real-time operating systems

5.6

Multi-core processors

2015 IAS, Universitt Stuttgart

IAS

403

5.5 Examples for real-time operating systems

IAS

General components of an operating system


An operating system consists of an operating system core, kernel and an
access layer to the hardware. The available system resources and libraries play
an import role in fulfilling the real-time requirements, since there are many
different realizations available.
Application layer
system library
Scheduler

I/Oand
Interupt
Manager

MemoryManager

Devicedriver

Hardware-Abstraktionsschicht (HAL)

hardware

2015 IAS, Universitt Stuttgart

Further
equipment
Units

Kernel organizes the System


libraries and hardware access

Access layer isolates hardware


from software

Processors and chips of a


hardware architecture

404

5.5 Examples for real-time operating systems

IAS

Market survey
Criteria of the selection of real-time operating systems

Development and target environment


Modularity and kernel size
Performance data
Amount of tasks
Priority levels
Task switch times
Interrupt latency time

Adaptation to special target environments


General characteristics
Scheduling method
Inter-task communication
Network communication
Design of user interface

2015 IAS, Universitt Stuttgart

405

5.5 Examples for real-time operating systems

IAS

Selection of commercial real-time operating systems


Product

ERCOS

Lynx-OS

Company

ETAS
GmbH

Lynx
Microware
ENEA
ARS
Real-Time
DATA AB Integrated
System
Systems
inc.

Type

Embedded

Target
8016x,
architecture PowerPC

680x0,
80x86,
PowerPC,
88000,
i860,
MIPS,
SPARC,
RS6000

OS/9

OSE Delta

pSOS

PXROS

QNX

VRTX32

VxWorks

Windows CE

HighTec
EDVSysteme

QNX
Software
Systems
LTD

Microtec
Research

WindRiver

Microsoft

RTOS, RT RT Kernel, RTOS, RT RT Kernel, RTOS, RT RTOS, RT RTOS, RT


Kernel, Embedded Kernel, Embedded Kernel,
Kernel,
Kernel,
Embedded
Embedded
Embedded Embedded Embedded

RTOS
Embedded

680x0,
680x0,
80x86,
PowerPC,
PowerPC, CPU32,
CPU32
AMD29k

680x0,
80x86,
8016x,
PowerPC,
CPU32,
i960,
Hitachi
SH, MIPS

80x86,
8016x,
PowerPC

680x0,
80x86,
SPARC,
CPU32,
AMD29k,
i960

680x0,
80x86,
PowerPC,
CPU32,
i960,
MIPS,
SPARC,
AMD29k,
Hitachi SH

Pentium
80x86, i486
PowerPC
MIPS
Hitachi S4,
ARM

QNX

UNIX,
SUN,
Windows

UNIX,
Win95,
NT

Windows CE
Win 95
NT

Hostsystem

UNIX,
Win95,
NT

UNIX

UNIX,
Windows

Language

ANSI-C,
OLT
Specificati
on
Language

ANSI-C,
C++,
Pascal,
Ada,
Modula,
Fortran

ANSI-C,
C++

C, C++

ASM,
ANSI-C,
C++,
Pascal,
Ada

ANSI-C,
C++

Watcom
C, C++,
Inline
ASM

ASM,
ANSI-C,
C++

ANSI-C,
C++, Java,
Ada

Visual C++
Visual Basic
Visual J++

Data
system

no

UNIX,
FAT, NFS,
Real-Time
Filesystem

FAT

UNIX,
FAT

UNIX,
FAT, NFS,
Real-Time
Filesystem

UNIX,
FAT

UNIX,
FAT,
ISO9660

UNIX,
FAT

UNIX,
FAT

FAT

2015 IAS, Universitt Stuttgart

UNIX,
UNIX,
UNIX,
Windows,
SUN,
SUN,
NT
Windows, Windows,
NT, OS/2 NT, OS/2

i386,i486,
Pentium,
80286(16
bit)

406

5.5 Examples for real-time operating systems


Product

ERCOS

Network

Field bus

Others

CAN

IAS

Lynx-OS

OS/9

OSE Delta

pSOS

PXROS

QNX

VRTX32

VxWorks

Windows
CE

TCP/IP,
NFS

TCP/IP,
OS/9-net,
NeWLink

TCP/IP,
PPP,
SNMP

TCP/IP,
Netware,
OSI 1-7,
SNMP
CMIP,
X.25

TCP/IP,
NFS

TCP/IP,
NFS,
SNMP,
Streams

TCP/IP,
Netware

TCP/IP,
NFS,
SNMP,
Streams

TCP/IP,
PPP bzw.
SLIP

CAN

CAN,
PROFIBUS

CAN,
PROFIBUS,
Interbus-S

CAN,
PROFIBUS, LON

ROM-able ROM-able, ROM-able, ROM-able, ROM-able, ROM-able, ROM-able, ROM-able ROM-able, ROM-able
Multiproces
MultiMultiMultiMultiMultiMultisor, selfprocessor
processor processor, processor processor,
processor,
hosted
fehlertolera
POSIX
POSIX
nt
1003
1003
compliant
compliant

Scheduling preemptive, preemptive, preemptive, preemptive, preemptive, preemptive, preemptive, preemptive, preemptive, preemptive,
copriority
copriority
priority
priority
priority
priority
priority
operative, controlled, operative,
controlled, controlled controlled, controlled, controlled, controlled
priority
Roundpriority
RoundRoundRoundRoundcontrolled
Robin
controlled,
Robin
Robin
Robin
Robin
RoundRobin
Task
switch
time

< 54 s
8016x (20
MHz)

2015 IAS, Universitt Stuttgart

4,7 s
Pentium
166,
11,1us
486DX4
(100MHz),
74

17 s

100 s

407

5.5 Examples for real-time operating systems

IAS

Question referring to Chapter 5.5


Which criteria are relevant, when selecting the real-time operating system
of a micro-controller based washing machine?
Answer
The target system.
The file system.
The network support of the controller.
The capability to be loaded and run from a ROM.

2015 IAS, Universitt Stuttgart

408

Industrial Automation

Real-time operating systems

5.1

Definition

5.2

Organization tasks of a real-time operating system

5.3

Development of a mini real-time operating system

5.4

Software system design of the mini real-time operating system

5.5

Examples for real-time operating systems

5.6

Multi-core processors

2015 IAS, Universitt Stuttgart

IAS

409

5.6 Multi-core processors

IAS

Employment of multi-core processors

program execution

The performance of the software can be increased by dividing programs into


tasks that can be executed on more than one core.

alternate
execution on a
core

concurrent or parallel
execution on multiple
cores

How can multi-core processors be employed in the automation technology to


speed up the program execution?
2015 IAS, Universitt Stuttgart

410

Citation: http://searchdatacenter.techtarget.com/definition/multi-core-processor

5.6 Multi-core processors

IAS

Multi-core processors
Definition:
A multi-core processor is an integrated circuit to which two or more
processors have been attached for enhanced performance, reduced
power consumption, and more efficient simultaneous processing of
multiple tasks.

Advantages
Performance increase by concurrent or parallel applications
Opportunity for further development of hardware with stagnating clock
frequency in order to increase the performance of the software
Reduction in electricity consumption (lower clock speed)

Disadvantages
complicated programming, adaptation to core structure necessary
adaptation of existing hardware/software required
computing power due to cascaded cache structure is not always
deterministic
2015 IAS, Universitt Stuttgart

411

5.6 Multi-core processors

IAS

Amdahl's law
Model for the acceleration of programs by parallelized execution. It was
developed by Gene Amdahl in 1967. The increase of the performance is
defined as the maximum acceleration of a thread, which can be reached
through the use of multiple cores.

2015 IAS, Universitt Stuttgart

412

5.6 Multi-core processors

IAS

Example for Amdahl's law

2015 IAS, Universitt Stuttgart

413

5.6 Multi-core processors

IAS

Limits of parallel computing


Example:
10% of a program is written in a serial code, hence, only a maximum reduction
of the execution time to 10% of the sequential time is possible. This is
independent of the number of cores.
Rational
execution time

number of cores

Parallel ratio:

2015 IAS, Universitt Stuttgart

414

5.6 Multi-core processors

IAS

Symmetric multiprocessing systems (SMP)

Two or more identical processors share a common address space.


A central operating system assigns the cores and other resources.
Memory
Task 1

System memory is available


to all cores.

Task 2

Task 3

Task 4

Operating System
T1

T1

T2

CPU 1

CPU 2

CPU 3
IOs

Cache

T3

T4

CPU 4

Tasks can dynamically be


distributed across multiple
cores.

Scheduler ensures an as
even as possible distribution
of processes.
Operating system manages
inputs and outputs, and
interrupts

*T1 = Task 1

2015 IAS, Universitt Stuttgart

415

5.6 Multi-core processors

IAS

Real time in symmetric multiprocessing systems

Manually static assignment of tasks on a SMP architecture for application


domains with hard real time requirements

Equal distribution of processes to multiple cores depends highly on the


application and its parallelization from
Real-time requirements such as temporal predictability due to hierarchical
cache saving and bandwidth limitation on memory access is difficult in
practice
Inter-process communication and asynchronous events make the
scheduling and debugging complex
Limited use for application domains with hard real-time requirements

2015 IAS, Universitt Stuttgart

416

5.6 Multi-core processors

IAS

Asymmetric multiprocessor systems (AMP)


Each task (or combination of several tasks) has its own operating system
and its own resources

Inputs, outputs and interrupts are directly associated with applications


Memory

Task 1

Memory

Task 2

OS 1

OS 2

T1

T2

CPU 1
I/O
Cache

Memory

Memory

Task 3

Task 4

OS 3

OS 4

T3

T4

CPU 2

CPU 3

CPU 4

I/O

I/O

I/O

Cache

2015 IAS, Universitt Stuttgart

Cache

Cache

Fixed assignment of
tasks to the sub-systems
(e.g. embedded
systems)

*OS = operating system


*T1 = Task 1
*I/O = Input/Output

417

5.6 Multi-core processors

IAS

Real-time in asymmetric multiprocessor systems

Advantage: well-defined environment and a predictable time behavior


Ensures that the result of a program does not depend on the temporal
behavior of its operations
Other computer processes must not be interrupted due to a direct
assignment of inputs, outputs and interrupts
However, many parallel applications requires a communication between
each processes

Good method for real-time applications, due to the explicit assignment of


each task

2015 IAS, Universitt Stuttgart

418

5.6 Multi-core processors

IAS

Homogeneous multiprocessor systems


All cores of a processor are identical, equally clocked
Various cache memory and shared memory which is managed by a memory
controller
Widespread at the moment
CPU
core

core

LEVEL1-Cache

LEVEL1-Cache

LEVEL2-Cache

LEVEL2-Cache

LEVEL3-Cache

Memory
2015 IAS, Universitt Stuttgart

419

5.6 Multi-core processors

IAS

Heterogeneous multiprocessor systems


Different cores for different tasks (e.g. operating system, decoding, encryption,

calculation of vector graphics)


Certain cores are designated to specific applications and run the same tasks
repeatedly.

source: cis.upenn.edu

Example: CELL Processor from Sony-Toshiba-IBM for graphic rendering / games


SPE

SPE

SPE

SPE

SPE

SPE

SPE

SPE

SPU

SPU

SPU

SPU

SPU

SPU

SPU

SPU

LM

LM

LM

LM

LM

LM

LM

LM

DMA

DMA

DMA

DMA

DMA

DMA

DMA

DMA

PPE
L
2

L
1

Power
Core

MemoryController

1 main core (control)


8 Co-cores
(calculation and data
transfer)

BUS-interfaceController

SPE = Synergistic Processing Element, SPU = Synergistic Processing Unit with SIMD (Single Instruction Multiple
Data), LM = Local Memory, DMA = Direct Memory Access (with Memory Flow Controller), L1/L2 = Caches

2015 IAS, Universitt Stuttgart

420

5.6 Multi-core processors

IAS

Heterogeneous networked systems


using an example of the vehicle
Previously distributed, independent
automation systems (ABS, engine
control, ...)

Networks with control devices as


nodes e.g. to exchange measurement
data

Example Daimler (E-Class)


No.
92 control
units

Distribution of computing processes on


the network possible

15

14 bus systems
2

1995
(W219)

2015 IAS, Universitt Stuttgart

2002
(W211)

2009 2013
(W221) (W212
MOPF)

421

5.6 Multi-core processors

IAS

Approaches for future multiprocessor systems


Basic principles:

Differentiation between global and local resources


Scheduling of global resources is taken over from the operating system and
the local resources of a software component

Split resources are used by applications exclusively, or they can be shared


Scheduling within a software component by a scheduler

2015 IAS, Universitt Stuttgart

422

5.6 Multi-core processors

IAS

Approaches for future multiprocessor systems


Examples:
parallelized application in
a network

Task A

Task B

Load-Balancing in the
internet of things and
services

Infrastructure, operating system and methods?

swarm intelligence

2015 IAS, Universitt Stuttgart

423

Chapter 6: Programming Languages for Process Automation

IAS

6 Programming Languages for Process Automation


Learning targets

to know the procedure for developing process automation programs

to be able to differ programming languages referring to the language level

to know the programming languages for PLC

to program simple examples using PLC-languages

to know the most important real-time concepts for programming


languages

to know how real-time concepts are realized in Ada 95

to be able to design a real-time program in Ada 95

to be able to rank C/C++ referring to real-time aspects

to know what the fundamentals of the portability of Java

to understand the real-time extensions of Java

2015 IAS, Universitt Stuttgart

424

IAS

6 Programming Languages for


Process Automation
6.1

Basic Terms

6.2

Programming Programmable Logic Controllers (PLC)

6.3

Universal Programming Languages for Industrial Automation

6.4

Concepts of parallel programming

2015 IAS, Universitt Stuttgart

425

6.1 Basic Terms

IAS

Means for programming


Programmable Logic Controllers

Textual programming languages

Graphical programming languages


Micro controller

Assembler

Low machine-independent programming languages


PC and IPC

Software package
Universal real-time programming language

Process control system

Functional module technology

2015 IAS, Universitt Stuttgart

426

6.1 Basic Terms

IAS

Programming language types


Classification according to notation type

textual programming languages

graphical programming languages

Ada, C, PLC instruction list


PLC ladder diagram

Classification according to programming language paradigm

procedural programming languages


C, Ada 83

functional programming languages


LISP

logical programming languages


PROLOG

object-oriented programming languages


C++, Smalltalk, Ada 95

Classification according to language level

high:
focus on the understandability for the user

low:
focus on the hardware characteristics of a computer

2015 IAS, Universitt Stuttgart

427

6.1 Basic Terms

IAS

Classification according to language level

Program generators

Language level

Application-specific
programming languages
Universal programming
languages
Macro assembler
languages
Assembler languages
Machine languages
Microprogramming
languages

2015 IAS, Universitt Stuttgart

Machineindependent
programming languages

Machineoriented
programming languages
Machine
languages

428

6.1 Basic Terms

IAS

Microprogramming languages

Sequence control realization for the execution of


machine commands
Permanently wired logic elements
Microprograms (firmware)

Machine languages

Commands and data in form of bit patterns, which can be


executed on the hardware of the Automation Computer

Assembler languages

Replacement of the operation part of the machine language commands


by symbolic, mnemonic convenient letter abbreviations

Introduction of a symbolic name instead of the numerical depiction of the


address part

Dependency on device-technical characteristics of the corresponding


computer

2015 IAS, Universitt Stuttgart

429

6.1 Basic Terms

IAS

Macro assembler languages (macro languages)

Further auxiliary means for simpler handling: macros

Distinction
Macro definition
Macro call
Macro expansion

Non-ambiguous assignment of macro assembler commands to


commands of the machine language

One macro command corresponds to several machine commands

Each time a macro is called it is expanded.

Classification of macros

Standard macros:

predefined (fix)

User macros:

the user is able to define macros for instruction


sequences that are needed often

2015 IAS, Universitt Stuttgart

430

6.1 Basic Terms

IAS

Advantages and disadvantages of assembler programming


+

memory and computing time efficiency

higher program development costs

lower maintainability

problems concerning reliability

bad readability, low documentation value

missing portability

Operation of assembler languages


yes:

automation of devices or machines with serial or mass application,


small programs

no:

long-lasting, huge processes that ought to be automated,


extensive programs

2015 IAS, Universitt Stuttgart

431

6.1 Basic Terms

IAS

Universal programming languages


Universal

not focused on one specific application area

Universal low programming languages

Purpose:
Generation of system programs
Compiler
Operating systems
Editors
Driver programs

Objective:
1. Utilization of the hardware characteristics
2. Portability

Example:
C
Universal higher programming languages

Purpose :
Generation of general/common programs

Objective :
1. Simple formulation
2. Extensive compiler checks
3. Portability

Example :
Ada, Java, Smalltalk
2015 IAS, Universitt Stuttgart

432

6.1 Basic Terms

IAS

Development
of programming languages
Eclipse
2005

2000

Java 2

Ada2005

Java

Ada95

C#

1995

Python
Ruby
PEARL 90

1990
C++

Eiffel

1985

TKL/TK

1980
Ada

Small
talk 80

Mehrrechner PEARL

C
1975
PEARL

1970

Pascal
Simula

1965

PL/1

CORAL 66

BASIC
1960

COBOL
FORTRAN

1955

2015 IAS, Universitt Stuttgart

ALGOL 68

ALGOL60

Legend:
object-oriented programming
language
real-time programming
language
higher level programming
languages

433

6.1 Basic Terms

IAS

Application-specific languages
Synonyms: Descriptive languages, non-procedural higher languages, very high
level languages

Difference to procedural languages:

No description of the solution approach,


instead: description of the problem definition

Limited to certain application areas:


e.g.:

SFC
LD
IL
EXAPT
ATLAS

Sequential Function Chart


Ladder Diagram
Instruction List
For machine tool control
For automatic device tester

Advantages/disadvantages:

2015 IAS, Universitt Stuttgart

434

6.1 Basic Terms

IAS

Program generator (fill-in-the-blanks-languages)

Formulation method for programs

User replies to questions in the form of menus on screen (user


configuration)

Conversion of the answers in an executable program through the


program generator

Advantage:

Disadvantage: Limitation to certain application areas

no programming skills necessary

Dependency in regard to a certain manufacturer

Application areas in industrial automation:

Instrumentation and control systems in energy and process engineering

2015 IAS, Universitt Stuttgart

435

6.1 Basic Terms

IAS

Difficulties regarding real-time programming

High-level programming languages like BASIC, FORTRAN, COBOL


and PASCAL are not suited for real-time programming:
no real-time language features
no single bit operations
no instructions for process input/output

The operation of higher programming languages in comparison to


assembler languages also causes higher demands on memory and
computing times:
Product automation: memory usage and computing times are
critical
Plant automation:
computing times might be
critical

Prerequisite:

2015 IAS, Universitt Stuttgart

436

6.1 Basic Terms

IAS

Proportion of the application of higher


level programming languages

Deployment comparison of higher programming languages

100%

Higher level
programming languages
for technical, scientific
and commercial
applications
Higher level
programming languages
for process automation

0%
1950

1960

2015 IAS, Universitt Stuttgart

1970

1980

1990

2000

437

6.1 Basic Terms

IAS

Question referring to Chapter 6.1


With which of the following statements concerning the language level do
you agree?

Answer
Machine languages are well suited for application programming.
The programming language C is an universal programming language.
The PLC Ladder Diagram (LD) is a machine language.
Program generators require high programming skills.
Programming languages with a low language level focus on the hardware
characteristics of a computer.
All universal programming languages are machine-independent
programming languages.
2015 IAS, Universitt Stuttgart

438

IAS

6 Programming Languages for


Process Automation
6.1

Basic Terms

6.2

Programming Programmable Logic Controllers (PLC)

6.3

Universal Programming Languages for Industrial Automation

6.4

Concepts of parallel programming

2015 IAS, Universitt Stuttgart

439

6.2 Programming Programmable Logic Controls

IAS

Programming Languages for PLC-Systems (1)


no fixed programming languages for PLC-systems
different kinds of programming, also depending on the manufacturer

IEC 61131 is defining graphical and text-based basic-languages


Programming Languages of PLC (IEC 61131-1/3)
text-based representation

graphical representation
state - oriented

Instruction List
IL
A I 5.3
A I 2.6
O Q
2.1
ON M
23.1
= Q 2.4

Structured
Text
ST

Function block
Diagram (FBD)
I5.3
I2.6

IF A&B = 1
THEN ...
ELSE ...

Ladder Diagram
LD I5.3 I2.6
Q2.4
( )

&

>=1

flow - oriented

Q2.1

Q2.1
M23.1

Sequential Flow
Chart (SFC)
S1

T1
S2

Q2.4

T8
S8

M23.1
T2

T9

IEC 61131 is not defining any instructions!

as well german as english identifiers for operators


2015 IAS, Universitt Stuttgart

440

6.2 Programming Programmable Logic Controls

IAS

Programming Languages for PLC-Systems (2)


base of all programming languages are logical connections
addition of possibilities for time processing
suitable kind of representation depends on problem
state-oriented program parts are more suitable for FBD or LD
flow-oriented program parts are more suitable for IL or SFC

the different representations can be converted into each other


Be aware:
Some operations can only be programmed using IL (e.g. bit shifting)!

Example:
Exit 1 (exit1) and exit 2 (exit2) are only true, if either entry 3 (entry3) is true or
if both entries 1 (entry1) and 2 (entry2) are simultaneously true

2015 IAS, Universitt Stuttgart

441

6.2 Programming Programmable Logic Controls

IAS

Instruction List (IL)


similar to assembler
all functionality of a PLC can be programmed using IL
consistent structure of every statement
Mark(opt.):

Operator Operand

Comment(opt.)

the programming is done by connecting signals

Realization of the example using IL (live writing)

2015 IAS, Universitt Stuttgart

442

6.2 Programming Programmable Logic Controls

IAS

Structured Text (ST)


high-level language, similar to Pascal
declarations
e.g.:
alarm := on AND off;
sub program calls
e.g.:

alarmlamp(S:=on, R:=off);

control statements

e.g.:

IF alarm
THEN alarmlamp(S:=on, R:=off);
END_IF;

additional language constructs for time processing and process data access
suitable for programming large systems
Realization of the example using ST

2015 IAS, Universitt Stuttgart

443

6.2 Programming Programmable Logic Controls

IAS

Ladder Diagram (LD)


simple illustration
similar to the circuit diagram of the relay technology
symbols for normally open contact, normally closed contact, and relay
coil (output)
normally
open
contact

normally
closed
contact

relay coil

symbolized current flow from left to right


I/O states are mapped onto switch-states
the program is read from top to bottom

Realization of the example using LD

2015 IAS, Universitt Stuttgart

444

6.2 Programming Programmable Logic Controls

IAS

Function Block Diagram (FBD)


similar to the well known symbols for function blocks (DIN40900)
amount of symbols is not confined to logical basic elements
memory marks, counter, timer and freely definable blocks possible

I/O states are directly used as Input-/Output signals


clearly arranged representation
Realization of the example using FBD

2015 IAS, Universitt Stuttgart

445

6.2 Programming Programmable Logic Controls

IAS

Question referring to Chapter 6.2


In the programming of a Programmable Logic Controller (PLC), the so
called programming devices are used. What are they and why are they
necessary?

Answer

2015 IAS, Universitt Stuttgart

446

IAS

6 Programming Languages for


Process Automation
6.1

Basic Terms

6.2

Programming Programmable Logic Controllers (PLC)

6.3

Universal Programming Languages for Industrial Automation

6.4

Concepts of parallel programming

2015 IAS, Universitt Stuttgart

447

6.3 Universal Programming Languages for Industrial Automation

IAS

Development objectives for C and C++


C:

efficient system programming language for hardware


flexible like assembler
control flow possibilities of higher programming languages
universal usability
restricted language size

C++:

C is enhanced with object orientation


the efficiency of C is kept
improvement of productivity and quality

Concurrent C:

2015 IAS, Universitt Stuttgart

C is enhanced with concepts dealing with realtime processing.

448

6.3 Universal Programming Languages for Industrial Automation

IAS

Language concepts of C

Four data types: char, int, float, double

Combination of data :

vectors, structures

Control structures:

if, switch, while, do-while, for,


continue, break, exit, goto

Input/Output:

Large variety of bit manipulation possibilities

Weak type concept

Separate compiling of source files

Weak exception handling

No explicit support for parallel processing by the language

2015 IAS, Universitt Stuttgart

Library functions

449

6.3 Universal Programming Languages for Industrial Automation

IAS

Language concepts of C++

Class
Data structure with data and methods (member function)

Constructor
Creation of an instance of a class (object)

Destructor
Release of class objects

Overloading of functions

Encapsulation of data

Inheritance

Polymorphism
Triggering of different processing steps by messages

2015 IAS, Universitt Stuttgart

450

6.3 Universal Programming Languages for Industrial Automation

IAS

Suitability of C and C++ for real-time systems (1)

C and C++ contain no real-time language constructs.

Deployment of real-time operating system to realize real-time


systems.

Libraries are provided.

2015 IAS, Universitt Stuttgart

451

6.3 Universal Programming Languages for Industrial Automation

IAS

Suitability of C and C++ for real-time systems (2)


Programming languages C and C++
Most frequently used programming languages for real-time applications
Great number and variety on support tools
Well extended programming environment
Compilers are available for most micro processors
Connection to real-time operating systems like
QNX, OS9, RTS, VxWorks

Caution with object-oriented language tools:

2015 IAS, Universitt Stuttgart

452

6.3 Universal Programming Languages for Industrial Automation

IAS

Java as universal programming language

Object-oriented concepts

Interpretation of the code


fast development cycle
bad run-time behavior and high demand on storage space
higher portability

A storage manager is provided.

Conventional pointer methods were not integrated.

Strict type control at compile and run-time

Lightweight processes

GUI class library

2015 IAS, Universitt Stuttgart

453

6.3 Universal Programming Languages for Industrial Automation

IAS

Differences to C++

No pre-processor instructions like #define or #include

No typedef clauses

Structures and unions in the form of classes

No functions

No multiple inheritance

No goto

No overloading of operators

Extensive class libraries


Base classes (object, float, integer)
GUI classes
Classes for input/output
Classes for network support

2015 IAS, Universitt Stuttgart

454

6.3 Universal Programming Languages for Industrial Automation

IAS

Execution of Java-Programs (1)


Java C
Compiler

Java Source Code

C Code

Java Class Compiler


Java Bytecode

Application

AOT Compiler

C Compiler

Objectcode

Objectcode

Application

Application

incl. Runtime Env

incl. Runtime Env.

OS

OS

target system

target system

Application
Application

Java API

Java API

JVM

JIT Compiler

Java API
Java OS

OS
target system

OS
target system

JVM Java Virtual Machine


2015 IAS, Universitt Stuttgart

Java target
system

JIT Just-In-Time-Compiler

AOT Ahead-Of-Time-Compiler
455

6.3 Universal Programming Languages for Industrial Automation

IAS

Execution of Java-Programs (2)


Two-stage translation process:
1. Step:

2. Step

development system

target system

development system

- interpretation
- just-in-time compilation
- direct execution on Java
Hardware

- ahead-of-time
compilation
- translation to C

portability:

on bytecode level

on source code level

memory
consumption:

interpreter / JIT Compiler


complete class libraries

runtime environment
necessary class libraries

Runtime:

interpretation / just-in-time
compilation

direct execution

2015 IAS, Universitt Stuttgart

456

6.3 Universal Programming Languages for Industrial Automation

IAS

Suitability of Java for the development of real-time systems


Application fields

rapid prototyping in client/server area

multimedia presentations
(video, sound, animation)

intranet applications

real-time applications

2015 IAS, Universitt Stuttgart

457

6.3 Universal Programming Languages for Industrial Automation

IAS

Real-time language constructs in Java

Input and output of process values


comparable with C/ C++

Parallelism
no process support
lightweight processes
Round Robin Method

Synchronization
monitors
semaphore variables

Inter-process communication
only for lightweight processes on common data
Bit operations
comparable with C/ C++

2015 IAS, Universitt Stuttgart

458

6.3 Universal Programming Languages for Industrial Automation

IAS

Real-Time Java
Extension in the Java language, to realize real-time requirements
Extensions (1)
1. Scheduling:
Ensure the timely or predictable execution of sequences of schedulable
objects
2. Memory management:
Extend the memory model in order to allow real-time code to deliver
deterministic behaviour
3. Synchronisation:
Specification of the dispatching algorithms; avoidance to the priority
inversion problem; support to priority inheritance and priority ceiling
policies.
4. Asynchronous Event Handling:
Ensure that the program can cope with a large number (ten of thousands)
of simultaneous events
2015 IAS, Universitt Stuttgart

459

6.3 Universal Programming Languages for Industrial Automation

IAS

Extensions (2)
5. Asynchronous Transfer of Control (ATC):
Possibility to transfer the control from a thread upon an asynchronous
event, e.g. a timer going off

6. Asynchronous Thread Termination :


Ensure an orderly clean up and termination of threads without danger of
deadlocks
7. Physical Memory Access :
Special API to directly access memory areas
8. Exceptions:
Definition of new exceptions and new treatment of exceptions surrounding
ATC and memory allocators
2015 IAS, Universitt Stuttgart

460

6.3 Universal Programming Languages for Industrial Automation

IAS

Question referring to Chapter 6.3


Compared to C, what problems concerning real-time requirements have to
be considered when using C++?
Answer
Pointers
Polymorphism
Exceptions
Encapsulation

2015 IAS, Universitt Stuttgart

461

6.3 Universal Programming Languages for Industrial Automation

IAS

Question referring to Chapter 6.3


To which statements concerning the garbage collection mechanism of
Java do you agree?

Answer
The execution of the garbage collection mechanism has to be triggered
manually.
Used resources should be released in the destructor of a class.
The same system conditions can lead to different timely behavior due to
the garbage collection mechanism.

2015 IAS, Universitt Stuttgart

462

IAS

6 Programming Languages for


Process Automation
6.1

Basic Terms

6.2

Programming Programmable Logic Controllers (PLC)

6.3

Universal Programming Languages for Industrial Automation

6.4

Concepts of parallel programming

2015 IAS, Universitt Stuttgart

463

Source: http://gcn.com/Articles/2008/04/11/The-return-of-Ada.aspx?Page=1 on16.03.2014

6.4 Concepts of parallel programming

IAS

Last fall, contractor Lockheed Martin delivered an update to the Federal Aviation Administration's next-generation flight
data air traffic control system ' ahead of schedule and under budget, which is something you don't often hear about
in government circles.

Military developers stuck with the venerable C programming language they knew well, or they moved to the up-andcoming C++. A few years later, Java took hold, as did Web application languages such as JavaScript.
However, Ada never vanished completely. In fact, in certain communities, notably aviation software, it has remained the
programming language of choice.

2015 IAS, Universitt Stuttgart

464

6.4 Concepts of parallel programming

IAS

Characteristics of Ada in the sense of real time programming


Real time specific features
Fulfillment of absolute and relative time requirements
Execution of parallel activities

Prioritization and scheduling of parallel activities


Extensive validation of each Ada95 compiler against compliance standards
Several thousand test programs

2015 IAS, Universitt Stuttgart

465

6.4 Concepts of parallel programming

IAS

Concurrent programming concepts


Requirement to enable the reaction to simultaneous events
Concept of parallel tasks to perform parallel activities
Support of concurrent programming

Task unit
Task as a concurrent, parallel running sequences of commands
Task as an encapsulated unit
Declarations made within a task are not visible outside it

Communication between task units

2015 IAS, Universitt Stuttgart

466

6.4 Concepts of parallel programming

IAS

Realization of tasks
Declaration and implementation of tasks in a package or directly in the
program unit

Packet

packet integration;

Task1;
Task2;

main routine
Task3;
Commands in Task3;

Packet body
commands in Task1;

program code of the main


routine

Commands in Task2;

planning of T3

2015 IAS, Universitt Stuttgart

467

6.4 Concepts of parallel programming

IAS

Task types and objects


Task types provide a template for the instantiation of task objects

Tasks of the same type have similar properties and functionality


Individual task objects can be parameterized during instantiation
General

task-type monitorValue;
commands in
monitorValue;

Integration of General

Task objects
declaration

main routine
M1 of task-type monitorValue;
M2 of task-type monitorValue;

M3 of task-type monitorValue;

Task type
specification /
implementation

2015 IAS, Universitt Stuttgart

program code of the main


routine

468

6.4 Concepts of parallel programming

IAS

Synchronization of tasks
Synchronization concepts in Ada 95
Logical synchronization
Establish a timely sequence of the tasks execution

Resource oriented synchronization


Establish rules to access shared resources

2015 IAS, Universitt Stuttgart

469

6.4 Concepts of parallel programming

IAS

The rendezvous concept (1)


Handshake method
Definition of timely synchronization points between the tasks
Mutual wait of the tasks
Rendezvous has on the calling side the form of a procedure call

Definition of calling declaration (entry) and calling point (accept)

Caller

Receiver

If necessary, data transfer


Call of the synchronization

If necessary, data transfer

2015 IAS, Universitt Stuttgart

Caller waits
for confirmation
by recipient

Both tasks start synchron

470

6.4 Concepts of parallel programming

IAS

The rendezvous concept (2)


Declaration of entry points declared in the tasks specification
Calls and accept statements in the tasks implementation code
Function principle: task calls the entry point another task
Task1 with entry
condition

Task2 with entry


condition

Task3 with entry


condition

Commands in Task1;

Commands in Task2;

Commands in Task3;

Own calling
point;

Own calling
point;

Own calling
point;

Call of tasks T2
calling point;

Call of tasks T3
calling point;

Call of tasks T1
calling point;

Further commands;

Further commands;

Further commands;

2015 IAS, Universitt Stuttgart

471

6.4 Concepts of parallel programming

Dynamic run of
the multitask
program
example

T1

IAS

T2

T3

accept sync;

accept sync;

Waiting

Waiting

T2.sync;

accept sync;

Waiting
T3.sync;

T1.sync;

2015 IAS, Universitt Stuttgart

472

6.4 Concepts of parallel programming

IAS

Protected units and resource synchronization (1)


Problem of accessing shared variables
Monitors for exclusive access

Protected
operations

Request
from a task

Interface as protected operation


Access to the shared variable

controlled by a intern monitor


Protected operations are not
executed in parallel
Sequential ordering of

Monitor

2015 IAS, Universitt Stuttgart

Shared
variable

simultaneous requests

473

6.4 Concepts of parallel programming

IAS

Protected units and resource synchronization (2)


Protected
operations
Protected
Input function;
procedure;

functions;
call agreement;

Packet boy of Protected

Protected operations are mutually


exclusive
All variables of a protected unit have to
be declared private
A procedure can manipulate the shared
variable in any way

The entries are protected operations

Body of the input


function;
Commitment of the
call agreements;
Commands;

2015 IAS, Universitt Stuttgart

474

6.4 Concepts of parallel programming

IAS

Communication between tasks

Synchronous communication
Extension of the rendezvous synchronization with data exchange
Mutual wait
Data exchange during the rendezvous
Data only valid within the rendezvous
Asynchronous communication

Data exchange via shared variables


Protected operation for access
No waiting/ blockage during communication

2015 IAS, Universitt Stuttgart

475

6.4 Concepts of parallel programming

IAS

Time operations
Possible delay of the execution

Until a defined point in time


For a fixed time period
Ada 95 statements delay and delay until
Time units and operations defined in the core packages
For standard applications, second
For real time applications ms, s, ns
Operations
Add and subtract time variables
Read the current system time
During a delay, the processor is occupied by another process ready to run
After a delay, a task may have to wait to receive the processor

2015 IAS, Universitt Stuttgart

476

6.4 Concepts of parallel programming

IAS

Example of time operations


T1 with agreements;

T2 with agreements;

Agreement for a time


duration of 1 ms;

Agreement for a time duration of 1 ms;


Agreement of the following call
next_call;

Call of a function;
Delay of 10*1 ms;

loop

Current time

next_call dependent of Clock;


Call of a function read_sensor;
Delay to next_call;

read_sensor
execution

running
blocked
32
t
15
5
5
22
Task T1 activates read_sensor after a 10ms time delay

10 12

20

The subprogram activation time is relative to the previous execution


Task T2 activates the read_sensor every 10ms
The subprogram is activated at fixed times
2015 IAS, Universitt Stuttgart

477

6.4 Concepts of parallel programming

IAS

Modularized exception handling


Exceptions due to irregular operations possible
Treatment of exceptions (exception handling)
Ada 95 exception handling concept:
Exception handling blocks are implemented as part of the units code
If an exception occurs, control is given to the exception handling blocks
Several exceptions can be handled in a single handling block
Any exception not handled is propagated to the calling unit, if there is any

Exceptions are raised by the runtime environment or by the program code

2015 IAS, Universitt Stuttgart

478

6.4 Concepts of parallel programming

IAS

Real time extensions (1)


Tasks with dynamic priorities
Base priority is established on its specification
Actual priority can differ from the above
Hint: In Ada, a lower number means a lower priority!
Specification

Implementation

Task1 with priority 10;

Commands in Task 1;

T1 calls T2

Base priority

Task2 with priority 1;

T1 calls T2s
entry point;
Commands in Task 2;

T2 executes
here with
T1s priority

Own calling point;

Dynamic base
priority change
2015 IAS, Universitt Stuttgart

Set own priority;

479

6.4 Concepts of parallel programming

IAS

Real time extensions (2)


Scheduling methods
The method used to schedule tasks can be specified
Pragma Task_Dispatching_Policy

Default method: fixed priorities; FIFO within the priorities


Further scheduling methods can be implemented and used

Access to protected units and the Priority Ceiling Protocol


Ceiling priority of protected units can be defined in its specification
Default value: systems highest priority
Ceiling priority rules guarantee that there is no chance of deadlock

2015 IAS, Universitt Stuttgart

480

Chapter 6: Programming Languages for Process Automation

IAS

Crossword Puzzle

2015 IAS, Universitt Stuttgart

481

Chapter 6: Programming Languages for Process Automation

IAS

Crossword Puzzle
Across
3
4
6
9
12
14
15
18
20
21
22
24
27
29
30
31
32
35
37
39
41
42
43
44

Physically distributed (13)


A stalemate that occurs when two (or more) tasks are each waiting resources held by each
other (8)
Interruptible processor allocation (10)
Situation in which a task can not realize its duty, even if it continues to run (8)
Process to avoid data package collision on CAN bus (11)
Real time programming language (3)
Abbreviation of a PLC programming language which uses building blocks (3)
Low-level programming language (9)
Graphical representation of technical processes, similar to block diagram (9)
Ada concept for synchronization (10)
Process type of manufacturing of parts (14)
Process in which the physical parameters are recorded and influenced by technical means (17)
Basis for the machine independence of Java (3)
Device used to influence process variables (8)
Principle of data transmission in the Interbus-S (13)
Connection between systems (9)
Denomination of systems which have to be in synchrony with activities happening in an external
system (14)
Simultaneous reaction to various events (16)
Latest execution time point of a task (8)
Auxiliary mean to simplify assembler languages (5)
Term used for sensors with integrated connection to bus system, self-calibration and self-test (11)
Definition of timely synchronization points between the tasks (9)
Representation of a PLC program similar to a circuit diagram (13)
Set of all tasks controlled by a scheduler (6)

2015 IAS, Universitt Stuttgart

482

Chapter 6: Programming Languages for Process Automation

IAS

Crossword Puzzle
Down
1
2
3
5
6
7
8
10
11
13
15
16
17
19
23
25
26
28
30
33
34
36
38
40

Circuit for comparison of currents (10)


Specific message to assign the right to send messages (5)
Heterogeneity of software with identical functionality (9)
Communication system for the data exchange in the field area (8)
Program unit of Ada (7)
Organization of timely execution of subprograms at runtime (12)
Duplication of hardware or software elements with the same functionality (10)
Automation technical analog to "tactical level" (20)
Allocation of processor resources to tasks ready to execute (10)
Preservation of the functionality despite occurrence of errors (14)
Execution of activities according to their arrival (4)
Term describing the extent in which a process is automated (18)
Transition from the state "dormant" into the state "runnable" (8)
One chip computer (15)
Reaction to an event right on time (10)
Bus system with an hybrid communication (8)
Device used to measure process variables (6)
Simultaneous transmission of data on several lines (8)
Term for activities that are ordered in a specific order (10)
Synchronization construct (9)
Time impulse generator (5)
Element with control rights in a deterministic bus access method (6)
Abbreviation for computers specially designed for usage in industrial fields (3)
Method with random bus access (4)

2015 IAS, Universitt Stuttgart

483

IAS

Index (1)
acatech
Activation
Actuator
Actuator sensor interface
Amdahl's law
Analog to digital conversion
Assembler
asymmetric multiprocessor systems (AMP)
Asynchronous communication
Asynchronous programming
Automation hierarchy

43
384
*169*
155
412
*180*
430, *431*
417
316
270, *281*
126

CAN
Centralized structure
Concurrency
Concurrent
cyber-physisches System
Cycle time

*227*
120
262
300
43
364, 369

Deactivation
Deadline

384
295

2015 IAS, Universitt Stuttgart

484

IAS

Index (2)
Deadlock
Decentralized structure
Delay
Delay until
Determinism
Deterministic
Digital input
Digital output
Distributed automation system
Diversity software
Dual slope method
Dynamic scheduling

*303*
121
476
476
*264*
265
204
206
133
147
194
321

Earliest deadline first


Error
Event-driven
Exception handling
Execution time

*331*
356
286
478
295

Fault tolerance
Field area

139
*212*

2015 IAS, Universitt Stuttgart

485

IAS

Index (3)
Field bus system
Field devices
FIFO
Firmware
First extension (RTOS)
Fixed priorities
Flow time
Function Block Diagram

*212*
*212*
*324*
429
390
*327*
295
*445*

Garbage collection

457

Handshake method
Hard real-time
Heterogener Multicore-Prozessor
homogeneous multicore processor

*470*
257
420
419

IEC 1131
Industrial PC
Instruction List
Intelligent sensor
Interbus-S

440
105
*442*
163
*239*

2015 IAS, Universitt Stuttgart

486

IAS

Index (4)
Interface
Internet of the Things
Interrupt handling
Interrupt vector

152
423
*352*
353

Kernel

345

Ladder Diagram
Laxity
Least laxity
Livelock

*444*
295
*333*
*303*

Machine independent
Machine language
Machine oriented
Macro assembler
Memory management
Microcontroller
Microprogramming

428
428
428
*430*
354
*101*
*429*

Non-preemptive

322

2015 IAS, Universitt Stuttgart

487

IAS

Index (5)
Object orientation
Operating system

452, 453
342

Parallel
Parallel bus
Period time
Planning
Preemptive
Priority
Priority Ceiling Protocol
Priority inheritance
Process control system
Process signal
PROFIBUS
Program generation
Programmable Logic Controller
Programming paradigm
Protected unit

300
215
295
293
322
295
480
479
110
173
*237*
426
92
427
*473*, 474

Rate monotonic
Real time Java

*329*
459

2015 IAS, Universitt Stuttgart

488

IAS

Index (6)
Real-time computing
Redundancy
Rendezvous concept
Resources
Round-Robin

*252*
138
469, *470*, 471
344
*325*

Sampling time
Schedulability test
Scheduling
Search
Second extension (RTOS)
Semaphore
Sensor
Sequential
Serial bus
Shared variable
Simultaneous
Soft real-time
Software redundancy
Static scheduling
Structured Text

283
*335*
320
384
396
*308*
*161*
300
215
315
300
257
146
321
*443*

2015 IAS, Universitt Stuttgart

489

IAS

Index (7)
Swarm
swarm intelligence
Symmetric multiprocessing systems (SMP)
Synchronization
Synchronous communication
Synchronous programming
System process

44
423
415
306
316, *475*
270, *272*
351

Task
Task state
Task states
Task type
Third extension (RTOS)
Thread
Time controlled architecture
Time-driven
Topologies of communication

*290*, 291
293
292
468
398
291
232
286
213

Ubiquitous Computing

43

2015 IAS, Universitt Stuttgart

490

You might also like