1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Kommunikation in der Automatisierungstechnik</TITLE>
<META NAME="description" CONTENT="Kommunikation in der Automatisierungstechnik">
<META NAME="keywords" CONTENT="diplomathesis">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="diplomathesis.css">
<LINK REL="next" HREF="node11.html">
<LINK REL="previous" HREF="node9.html">
<LINK REL="up" HREF="node9.html">
<LINK REL="next" HREF="node11.html">
</HEAD>
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html316"
HREF="node11.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html312"
HREF="node9.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html306"
HREF="node9.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html314"
HREF="node3.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html317"
HREF="node11.html">openSource Entwicklungsmodell</A>
<B> Up:</B> <A NAME="tex2html313"
HREF="node9.html">Grundlagen</A>
<B> Previous:</B> <A NAME="tex2html307"
HREF="node9.html">Grundlagen</A>
<B> <A NAME="tex2html315"
HREF="node3.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00051000000000000000">
Kommunikation in der Automatisierungstechnik</A>
</H2>
<P>
Computerbasierte Steuerungen werden auf verschiedenen Plattformen, in verschiedenen Programmiersprachen realisiert. Wünschenswert wäre eine plattform- und programmiersprachenunabhängige Kommunikation zwischen allen computerbasierten Steuerungen in Echtzeit. Es werden die Schwachstellen der momentan bekannten Kommunikationsstandards in der Automatisierungstechnik aufgeführt und Alternativen aufgezeigt. Es wird erläutert, weshalb sich die weiteren Untersuchungen auf die Middleware CORBA konzentrieren.
<P>
Momentan werden hauptsächlich diese Techniken verwendet:
<P>
<DL>
<DT><STRONG>Bussysteme</STRONG></DT>
<DD>wie Powerlink [<A
HREF="node86.html#powerlink">ETHE07</A>], Profinet, DeviceNet [<A
HREF="node86.html#odva">HEAD07</A>], CAN [<A
HREF="node86.html#can">CiA07</A>], SERCOS-III [<A
HREF="node86.html#sercos">SERC07</A>], InterBus [<A
HREF="node86.html#interbus">INTE07</A>], ...erfordern spezielle Hardware in der Steuerung. Die benötigten Treiber sind oft nur für wenige Plattformen verfügbar.
</DD>
<DT><STRONG>Softwarekopplung</STRONG></DT>
<DD>Es gibt die Standards DCOM [<A
HREF="node86.html#dcom">WIKI07a</A>], OPC UA/XL [<A
HREF="node86.html#opc">OPCF07</A>] ..., welche nicht echtzeitfähig sind und eher auf die Bedürfnisse zur Überwachung von Steuerungen ausgelegt wurden, als zur Steuerung.
</DD>
</DL>
<P>
Es gibt weitere Standards, die in computerbasierte Steuerungen integriert werden könnten:
<P>
<DL>
<DT><STRONG>neues Protokoll</STRONG></DT>
<DD>bedeutet enormen Aufwand, da es in sämtliche Systeme implementiert werden muß.
</DD>
<DT><STRONG>Webservices</STRONG></DT>
<DD>wie SOAP [<A
HREF="node86.html#soap">W3C07</A>] blähen die zu übertragenden Daten enorm auf. Eine schnelle Datenübertragung ist nicht realisierbar.
</DD>
<DT><STRONG>Middleware</STRONG></DT>
<DD>wird zur Kommunikation zwischen Plattformen und Programmiersprachen eingesetzt:
<UL>
<LI>RMI [<A
HREF="node86.html#rmi">Netw07b</A>] und JINI [<A
HREF="node86.html#jini">Netw07a</A>] sind nur für die JAVA Plattform verfügbar und bieten keine Möglichkeit zur Echtzeitkommunikation
</LI>
<LI>Ice [<A
HREF="node86.html#ice">Zero07a</A>] plattform- und programmiersprachenunabhängig, allerdings nicht echtzeitfähig, dafür sehr schnell (siehe auch Kapitel <A HREF="node35.html#sec:ice">2.9</A>)
</LI>
<LI>CORBA ist ein Standard für den auch eine Real-time Erweiterung definiert wurde. Da es für fast jedes System eine CORBA Implementierung gibt, ist mit dieser Technologie eine plattform- und programmiersprachenunabhängige Echtzeitkommunikation denkbar
</LI>
</UL>
</DD>
</DL>
<P>
Vorteile von CORBA beim Einsatz in der Automatisierungstechnik:
<P>
<UL>
<LI>Ethernet als Kommunikationsschicht möglich:
<UL>
<LI>Steuerungen können mit Lichtwellenleiterkabeln verbunden werden: elektrische Entkoppelung der vernetzten Anlagen; Übertragung von elektrischen Feldern nicht beeinflußbar
</LI>
<LI>mit entsprechendem CORBA Protokoll routbar, ist allerdings mit einem Verlust der Echtzeit verbunden
</LI>
</UL>
</LI>
<LI>Durch Priorisierung können echtzeitkritische Instruktionen und Komfortfunktionen in einem System verarbeitet werden
</LI>
<LI>Technologie seit Jahren im Einsatz und erfolgreich erprobt
</LI>
</UL>
<P>
Nun muß geprüft werden, ob eine entsprechende CORBA Implementation auf einem embedded Real-time Linux System lauffähig ist, oder ob der Speicherbedarf zu groß für die beschränkten Ressourcen ist. Auch das Real-time Verhalten muß gemessen und gegebenenfalls optimiert werden.
<P>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html316"
HREF="node11.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html312"
HREF="node9.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html306"
HREF="node9.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html314"
HREF="node3.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html317"
HREF="node11.html">openSource Entwicklungsmodell</A>
<B> Up:</B> <A NAME="tex2html313"
HREF="node9.html">Grundlagen</A>
<B> Previous:</B> <A NAME="tex2html307"
HREF="node9.html">Grundlagen</A>
<B> <A NAME="tex2html315"
HREF="node3.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS>
Manuel Traut
2007-02-25
</ADDRESS>
</BODY>
</HTML>
|