Version 46.1 von Malik Ruzic am 2023/12/13 08:15

Verstecke letzte Bearbeiter
xwikiadmin 42.1 1 {{info}}
2 Auf dieser Wiki-Seite werden Entwurfsmuster für steuerungstechnische Anwendungen vorgestellt.
3 {{/info}}
4
5 {{box title="**Entwurfsmuster**"}}
6 {{toc/}}
7 {{/box}}
8
9 ----
10
11 = Verhalten =
12
13 == Weiche Verriegelung ==
14
15 (% class="table-bordered" style="margin-right:auto" %)
16 |(% style="width:178px" %)(((
17 **Name**
18 )))|(% style="width:837px" %)**Weiche Verriegelung**
19 |(% style="width:178px" %)Problem|(% style="width:837px" %)(((
20 (((
21 Bestimmte Speicherglieder dürfen nicht gleichzeitig gesetzt sein
22 )))
23 )))
24 |(% style="width:178px" %)(((
25 Ziel
26 )))|(% style="width:837px" %)(((
27 (((
28 Gegenseitiges Verriegeln der Speicherglieder über den Setz- oder Rücksetzeingang durch die Setzbedingungen
29 )))
30 )))
31 |(% style="width:178px" %)Lösungsprinzip|(% style="width:837px" %)(((
32 (((
33 Verriegelung über Setzeingang: Die Setzbedingung für #A1 verhindert, dass #A2 gesetzt wird. Die Setzbedingung für #A2 verhindert, dass #A1 gesetzt wird.
34 )))
35
36 (((
37 Verriegelung über Rücksetzeingang: Die Setzbedingung für #A1 unterdrückt #A2. Die Setzbedingung für #A2 unterdrückt #A1.
38 )))
39 )))
40 |(% style="width:178px" %)Vorteile|(% style="width:837px" %)(((
41 (((
42 Steuerung von komplexen Abläufen durch Verknüpfung von mehreren weichen Verriegelungen möglich
43 )))
44 )))
45 |(% style="width:178px" %)Nachteile|(% style="width:837px" %)(((
46 (((
47 Verriegelung über Setzeingang: Wenn #A1 gesetzt wurde und #S1 nicht mehr aktiv ist, dann kann #A2 gesetzt werden (s. Zeitdiagramm). Dadurch sind zwei Speicherglieder gleichzeitig aktiv (Fehleranfälligkeit).
48 )))
49
50 (((
51 Wenn sich die Setzbedingung eines Speichergliedes ändert, dann muss das andere Speicherglied ebenfalls angepasst werden (Begrenzte Flexibilität).
52
53 Das Hinzufügen oder Entfernen von Bedingungen erfordert möglicherweise umfangreiche Änderungen an der Verknüpfung der Bausteine.
54 )))
55 )))
56
57 [[image:Weiche Verriegelung Setz.png]]
58
59 [[image:Weiche Verriegelung Rücksetz.png]]
60
61 ----
62
63 == Harte Verriegelung ==
64
65 === Wechselseitiger Ausschluss ===
66
67 (% class="table-bordered" style="margin-right:auto" %)
68 |(% style="width:178px" %)(((
69 **Name**
70 )))|(% style="width:837px" %)**Wechselseitiger Ausschluss**
71 |(% style="width:178px" %)Problem|(% style="width:837px" %)(((
72 (((
73 Mehrere Anlagenteile oder Komponenten arbeiten gleichzeitig und führen so zu Überlastung gemeinsam genutzter Ressourcen, widersprüchlichen Aktivitäten, mechanischer Verklemmung, und im weiteren Verlauf gefährlichen Zuständen.
74
75 Beispiele: Tür auf/zu, vorwärts/rückwärts, Laden/Entladen, Befüllen und Entleeren ..
76 )))
77 )))
78 |(% style="width:178px" %)(((
79 Ziel
80 )))|(% style="width:837px" %)(((
81 (((
82 Verhinderung des gleichzeitigen Betriebes mehrere Anlagenteile, wechselseitiger Ausschluss bei Nutzung einer gemeinsamen Ressource
83 )))
84 )))
85 |(% style="width:178px" %)Lösungsprinzip|(% style="width:837px" %)(((
86 (((
87 SR-FlipFlops, die sich gegenseitig deaktivieren/verriegeln über Rückkopplung ihrer Zustände auf die Setz- oder Rücksetzeingänge, Zustandswechsel nur durch RESET des aktiven Zustands möglich (harte Verriegelung)
88 )))
89
90 (((
91 Umsetzung OHNE Rückkopplung mit inversen Setz/Rücksetzbedingungen (weiche Verriegelung , fehleranfällig).
92 )))
93 )))
94 |(% style="width:178px" %)Vorteile|(% style="width:837px" %)(((
95 (((
96 Es wird zugesichert, dass beim Einschalten einer Maschine die restlichen Teilnehmer nicht betriebsbereit sind und verriegelt werden.
97 )))
98
99 (((
100 Reduktion von Code durch Wiederverwendung (Setzbedingung des einen Teilnehmers ist gleichzeitig die Bedingung zur Stilllegung des „Konkurrenten“ und muss nur einmal programmiert werden) und Konsistenz bei Änderung einer Setz- oder Rücksetzbedingung.
101 )))
102 )))
103 |(% style="width:178px" %)Nachteile|(% style="width:837px" %)(((
104 (((
105 Umsetzung über den RESET Eingang nur mit rücksetzdominantem FlipFlop möglich
106 )))
107
108 (((
109 Anlaufverhalten mit beiden Setzbedingungen aktiv für zu einer "race condition", d.h. resultierendes Verhalten ist abhängig von Aufrufreihenfolge!
110 )))
111 )))
112
113 [[image:Harte Verriegelung Setz 2.png]]
114
115 [[image:Harte Verriegelung Rücksetz.png]]
116
117 ----
118
119 === Einseitige Verriegelung ===
120
121 (% class="table-bordered" style="margin-right:auto" %)
122 |(% style="width:178px" %)(((
123 **Name**
124 )))|(% style="width:837px" %)**Einseitige Verriegelung**
125 |(% style="width:178px" %)Problem|(% style="width:837px" %)(((
126 (((
127 Bestimmte Speicherglieder dürfen nicht gleichzeitig gesetzt sein. Zum Beispiel darf bei einer Wendeschützschaltung das Rechts- und Linkslaufschütz niemals gleichzeitig aktiv sein.
128 )))
129 )))
130 |(% style="width:178px" %)(((
131 Ziel
132 )))|(% style="width:837px" %)(((
133 (((
134 Ein höherpriorer Zustand (Speicherglied) unterbricht bzw. unterdrückt einen niederprioren Zustand.
135 )))
136 )))
137 |(% style="width:178px" %)Lösungsprinzip|(% style="width:837px" %)(((
138 (((
139 Verriegelung über Rücksetzeingang: Der niederpriore Zustand wird rückgesetzt oder kann nicht gesetzt werden, wenn der hochpriore Zustand gesetzt ist.
140 )))
141
142 (((
143 Verriegelung über Setzeingang: Der niederpriore Zustand kann nur gesetzt werden, wenn der hochpriore Zustand nicht aktiv ist.
144 )))
145 )))
146 |(% style="width:178px" %)Vorteile|(% style="width:837px" %)(((
147 (((
148 Priorität eines Zustandes frei wählbar (Hoch bzw. Niedrig)
149 )))
150 )))
151 |(% style="width:178px" %)Nachteile|(% style="width:837px" %)(((
152 (((
153 Verriegelung über den Rücksetzeingang: funktioniert nur mit einem rücksetzdominanten SR-FlipFlop
154 )))
155
156 (((
157 Verriegelung über Setzeingang: Ein hochpriorer Zustand unterdrückt einen niederprioren Zustand, aber eine Unterbrechung ist nicht möglich.
158 )))
159 )))
160
161 [[image:Einseitige Verriegelung Setz.png]]
162
163 [[image:Einseitige Verriegelung Rücksetz.png]]
164
165 ----
166
167 === Reihenfolgeverriegelung ===
168
169 (% class="table-bordered" style="margin-right:auto" %)
170 |(% style="width:178px" %)(((
171 **Name**
172 )))|(% style="width:837px" %)**Reihenfolgeverriegelung**
173 |(% style="width:178px" %)Problem|(% style="width:837px" %)(((
174 * (((
175 Zur Sicherung der Maschinen muss eine bestimmte Reihenfolge beim Einschalten gehalten werden.
176 )))
177 )))
178 |(% style="width:178px" %)(((
179 Ziel
180 )))|(% style="width:837px" %)(((
181 * (((
182 Eine Maschine soll erst betriebsbereit sein, wenn die vorhergehende Maschine eingeschaltet ist.
183 )))
184 )))
185 |(% style="width:178px" %)Lösungsprinzip|(% style="width:837px" %)(((
186 * (((
187 Eine Reihenfolgeverriegelung liegt vor, wenn Speicherfunktionen nur in einer ganz bestimmten festgelegten Reihenfolge gesetzt werden dürfen.
188 )))
189 * (((
190 Damit eine Speicherfunktion gesetzt werden kann, muss zuvor ein anderer Speicher gesetzt sein.
191 )))
192 )))
193 |(% style="width:178px" %)Vorteile|(% style="width:837px" %)(((
194 (((
195 * Die Einschaltreihenfolge ist frei wählbar
196 * Die Abfolge der Schritte kann flexibel angepasst und geändert werden. Dies ermöglicht eine einfache Anpassung an unterschiedliche Anforderungen und Bedingungen.
197 )))
198 )))
199 |(% style="width:178px" %)Nachteile|(% style="width:837px" %)(((
200 * (((
201 Beim Ausschalten ist nur eine Reihenfolge möglich
202 )))
203 )))
204
205 [[image:Reihenfolgeverriegelung Setz.png]]
206
207 [[image:Reihenfolgeverriegelung Rücksetz.png]]
208
209 [[image:Reihenfolgeverriegelung Rücksetz u Setz.png]]
210
211 ----
212
213 == Bedienanforderung ==
214
215 === Verzögerte Bedienanforderung ===
216
217 (% class="table-bordered" style="margin-right:auto" %)
218 |(% style="width:178px" %)(((
219 **Name**
220 )))|(% style="width:837px" %)**Verzögerte Bedienanforderung**
221 |(% style="width:178px" %)Problem|(% style="width:837px" %)(((
222 * (((
223 Eine Bedienanforderung soll verspätet starten.
224 )))
225 )))
226 |(% style="width:178px" %)(((
227 Ziel
228 )))|(% style="width:837px" %)(((
229 * (((
230 Nach dem Betätigen der Bedienanforderung wird eine gewisse Zeit gewartet bevor es übertragen wird.
231 )))
232 )))
233 |(% style="width:178px" %)Lösungsprinzip|(% style="width:837px" %)(((
234 * (((
235 Mit einem TON wird das Signal aufgenommen und gewartet bis die zuvor festgelegte Zeit abgelaufen ist, erst dann wird das Signal übertragen.
236 )))
237 )))
238 |(% style="width:178px" %)Vorteile|(% style="width:837px" %)(((
239 (((
240 * Unbeabsichtigte oder versehentliche Aktivierungen von Bedienanforderungen werden nicht wahrgenommen. Somit wird die Sicherheit des Systems und der Anlagen erhöht.
241 )))
242 )))
243 |(% style="width:178px" %)Nachteile|(% style="width:837px" %)(((
244 (((
245 * Wenn die Bedienanforderung zu kurz ist, wird sie nicht übertragen.
246 )))
247 )))
248
249 [[image:vBA Mus.png]]
250
251 ----
252
253 === Verzögerte Bedienanforderung mit Nachlauf ===
254
255 (% class="table-bordered" style="margin-right:auto" %)
256 |(% style="width:178px" %)(((
257 **Name**
258 )))|(% style="width:837px" %)**Verzögerte Bedienanforderung mit Nachlauf**
259 |(% style="width:178px" %)Problem|(% style="width:837px" %)(((
260 * (((
261 Verzögerte Übertragung und Verlängerung der Bedienanforderung
262 )))
263 )))
264 |(% style="width:178px" %)(((
265 Ziel
266 )))|(% style="width:837px" %)(((
267 * (((
268 Die Bedienanforderung beginnt später und endet verzögert (mit Nachlauf)
269 )))
270 )))
271 |(% style="width:178px" %)Lösungsprinzip|(% style="width:837px" %)(((
272 (((
273 * Die BA wird zwischengespeichert, solange der TON nicht abgelaufen ist.
274 * Danach wird das Signal an den TOF übertragen.
275 * Somit wird für XXXs ein Signal an den Ausgang angelegt und gleichzeitig der zwischengespeicherte Wert gelöscht.
276 )))
277 )))
278 |(% style="width:178px" %)Vorteile|(% style="width:837px" %)(((
279 (((
280 * Kurz gedrückte BA werden auch übertragen
281 * Lang gedrückte BA werden nach Ablauf der Zeit unterdrückt
282 )))
283 )))
284 |(% style="width:178px" %)Nachteile|(% style="width:837px" %)(((
285 (((
286 * Die Bedienanforderung kann nicht rückgängig gemacht werden.
287 )))
288 )))
289
290 [[image:vBA mit Nachlauf Mus.png]]
291
292 ----
293
294 === Selbstlöschung ===
295
296 (% class="table-bordered" style="margin-right:auto" %)
297 |(% style="width:178px" %)(((
298 **Name**
299 )))|(% style="width:837px" %)**Selbstlöschung**
300 |(% style="width:178px" %)Problem|(% style="width:837px" %)(((
301 * (((
302 Entwicklung eines befristeten Betriebszustand
303 )))
304 )))
305 |(% style="width:178px" %)(((
306 Ziel
307 )))|(% style="width:837px" %)(((
308 * (((
309 Nach dem Einschalten wird das Gerät für eine bestimmte Zeit laufen und dann automatisch ausgeschaltet.
310 )))
311 )))
312 |(% style="width:178px" %)Lösungsprinzip|(% style="width:837px" %)(((
313 * (((
314 Nach Ablauf der Zeit xxx wird durch den RESET-Eingang das Signal unterbrochen.
315 )))
316 )))
317 |(% style="width:178px" %)Vorteile|(% style="width:837px" %)(((
318 (((
319 * Die Dauer der Verzögerung kann flexibel angepasst werden. Dadurch kann das Muster an unterschiedliche Anforderungen und Bedingungen angepasst werden.
320 )))
321 )))
322 |(% style="width:178px" %)Nachteile|(% style="width:837px" %)(((
323 (((
324 * Wenn eine Bedienanforderung deutlich länger als xxx Sekunden aktiv ist, dann wird #A1 nur für einen Zyklus rückgesetzt und ist danach wieder aktiv. Die Selbstlöschung verliert an Wirkung.
325 )))
326 )))
327
328 [[image:Selbstlöschung Mus.png]]
329
330 ----
331
332 === Verlängerter Impuls ===
333
334 (% class="table-bordered" style="margin-right:auto" %)
335 |(% style="width:178px" %)(((
336 **Name**
337 )))|(% style="width:837px" %)**Verlängerter Impuls**
338 |(% style="width:178px" %)Problem|(% style="width:837px" %)(((
339 * (((
340 Manche Funktionen nehmen nur Impulse wahr wenn sie eine bestimmte Länge haben. Kurze Impulse werden ignoriert.
341 )))
342 )))
343 |(% style="width:178px" %)(((
344 Ziel
345 )))|(% style="width:837px" %)(((
346 * (((
347 Einen Impuls für eine Zeit XXX verlängern
348 )))
349 )))
350 |(% style="width:178px" %)Lösungsprinzip|(% style="width:837px" %)(((
351 * (((
352 Mit eine TP-Baustein wird der Impuls zwischengespeichert und für eine Zeit XXXs übertragen.
353 )))
354 )))
355 |(% style="width:178px" %)Vorteile|(% style="width:837px" %)(((
356 (((
357 * Kurze Impulse werden verlängert, um von anderen Funktionen wahrgenommen werden zu können.
358 )))
359 )))
360 |(% style="width:178px" %)Nachteile|(% style="width:837px" %)(((
361 (((
362 * Wenn der Eingangsimpuls länger als XXX s ist, wird das Ausgangssignal genau XXX s lang aktiv sein.
363 )))
364 )))
365
366 [[image:Verlängerter Impuls Mus 2.png]]
367
368 ----
369
370 == Dienst ==
371
372 === PWM-Generator ===
373
374 (% class="table-bordered" style="margin-right:auto" %)
375 |(% style="width:178px" %)(((
376 **Name**
377 )))|(% style="width:837px" %)**PWM-Generator**
378 |(% style="width:178px" %)Problem|(% style="width:837px" %)(((
379 * (((
380 Für einige Anwendungen wird ein pulsweitenmoduliertes Signal benötigt.
381 )))
382 )))
383 |(% style="width:178px" %)(((
384 Ziel
385 )))|(% style="width:837px" %)(((
386 * (((
387 Erstellung eines pulsweitenmodulierten Signals durch die Verwendung von Zeitgebern
388 )))
389 )))
390 |(% style="width:178px" %)Lösungsprinzip|(% style="width:837px" %)(((
391 * TP erzeugt einen t,,puls,, langen Impuls, welcher negiert am Eingang des TONs anliegt.
392 * Nach Ablauf der Zeit t,,puls,,, wird der TON aktiv
393 * Nach einer Nachlaufzeit von t,,pause,,, wird ein neuer t,,puls,, langer Impuls von TP erzeugt
394 )))
395 |(% style="width:178px" %)Vorteile|(% style="width:837px" %)(((
396 * Unterschiedliche Modulationsgrade und Frequenzen sind einstellbar
397 )))
398 |(% style="width:178px" %)Nachteile|(% style="width:837px" %)(((
399
400 )))
401
402 [[image:PWM Mus.png]]
403
404 ----
405
406 == Binäre Filter ==
407
408 === Binärer Hochpassfilter ===
409
410 (% class="table-bordered" style="margin-right:auto" %)
411 |(% style="width:178px" %)(((
412 **Name**
413 )))|(% style="width:837px" %)**Binärer Hochpassfilter**
414 |(% style="width:178px" %)Problem|(% style="width:837px" %)(((
415 * (((
416 Die Wirkung von niederfrequenten binären Signalen soll unterdrückt werden.
417 )))
418 )))
419 |(% style="width:178px" %)(((
420 Ziel
421 )))|(% style="width:837px" %)(((
422 (((
423 * Signale mit einer niedrigen Frequenz herausfiltern
424 * Signale mit einer hohen Frequenz zulassen
425 )))
426 )))
427 |(% style="width:178px" %)Lösungsprinzip|(% style="width:837px" %)(((
428 * Ein hochfrequentes Signal am Eingang des TOFs erzeugt ein konstant aktives Ausgangssignal des TOFs. Der TON übermittelt das Signal nach Ablauf der vorher festgelegten Zeit.
429 * Ein niederfrequentes Signal am Eingang des TOFs führt zu einem Ausgangssignal, welches nicht permanent aktiv ist. Der TON gibt kein Signal nach Ablauf der festgelegten Zeit weiter, weil das Signal am Eingang vom TON inaktiv wird, bevor die Verzögerungszeit abgelaufen ist.
430 )))
431 |(% style="width:178px" %)Vorteile|(% style="width:837px" %)(((
432 * Unterschiedliche Grenzfrequenzen sind einstellbar
433 )))
434 |(% style="width:178px" %)Nachteile|(% style="width:837px" %)(((
435 (((
436 * Dauer/Länge von Puls und Pause müssen bekannt sein … oder Tastverhältnis und Periode.
437 * Bei Nadelimpulsen auch eine Zeitschranke, wie lange die Grenzfrequenz überschritten wird. Alternative: Geschwindigkeitsermittlung mit Zähler
438 )))
439 )))
440
441 [[image:HP Mus.png]]
442
443 [[image:HP Alt.png]]
444
445 ----
446
447 === Binärer Tiefpassfilter ===
448
449 (% class="table-bordered" style="margin-right:auto" %)
450 |(% style="width:178px" %)(((
451 **Name**
452 )))|(% style="width:837px" %)**Binärer Tiefpassfilter**
453 |(% style="width:178px" %)Problem|(% style="width:837px" %)(((
454 * (((
455 Die Wirkung von hochfrequenten binären Signalen soll unterdrückt werden.
456 )))
457 )))
458 |(% style="width:178px" %)(((
459 Ziel
460 )))|(% style="width:837px" %)(((
461 (((
462 * Signale mit einer hohen Frequenz herausfiltern
463 * Signale mit einer niedrigen Frequenz zulassen
464 )))
465 )))
466 |(% style="width:178px" %)Lösungsprinzip|(% style="width:837px" %)(((
467 * Ein hochfrequentes Signal am Eingang des TOFs erzeugt ein konstant aktives Ausgangssignal des TOFs. Der Ausgang des TONs ist negiert, wodurch nach Ablauf der Verzögerungszeit kein Signal übermittelt wird.
468 * Ein niederfrequentes Signal am Eingang des TOFs führt zu einem Ausgangssignal, welches nicht permanent aktiv ist. Durch die Negation am Ausgang des TONs wird ein konstantes Signal übermittelt.
469 )))
470 |(% style="width:178px" %)Vorteile|(% style="width:837px" %)(((
471 * Unterschiedliche Grenzfrequenzen sind einstellbar
472 )))
473 |(% style="width:178px" %)Nachteile|(% style="width:837px" %)(((
474 (((
475 * Dauer/Länge von Puls und Pause müssen bekannt sein … oder Tastverhältnis und Periode.
476 * Bei Nadelimpulsen auch eine Zeitschranke, wie lange die Grenzfrequenz überschritten wird. Alternative: Geschwindigkeitsermittlung mit Zähler
477 * Bei hochfrequenten Signalen liefert der Tiefpass für t,,D,,-Sekunden ein High-Signal. Bei der Tiefpass-Alternative ist dieses kurzzeitige High-Signal nicht vorhanden.
478 )))
479 )))
480
481 [[image:TP Mus.png]]
482
483 [[image:TP Alt.png]]
484
485 ----
486
487 === Binärer Bandpassfilter ===
488
489 (% class="table-bordered" style="margin-right:auto" %)
490 |(% style="width:178px" %)(((
491 **Name**
492 )))|(% style="width:837px" %)**Binärer Bandpassfilter**
493 |(% style="width:178px" %)Problem|(% style="width:837px" %)(((
494 * (((
495 Binäre Signale, welche in einem bestimmten Frequenzband liegen, sollen zugelassen werden.
496 )))
497 )))
498 |(% style="width:178px" %)(((
499 Ziel
500 )))|(% style="width:837px" %)(((
501 (((
502 * Frequenzen, welche oberhalb der unteren Grenzfrequenz und unterhalb der oberen Grenzfrequenz liegen, werden zugelassen
503 * Frequenzen unter- und oberhalb des Frequenzbands werden herausgefiltert
504 )))
505 )))
506 |(% style="width:178px" %)Lösungsprinzip|(% style="width:837px" %)(((
507 * Der Hochpass lässt alle Frequenzen oberhalb der unteren Grenzfrequenz (f,,Low,,) zu
508 * Der Tiefpass lässt alle Frequenzen unterhalb der oberen Grenzfrequenz (f,,High,,) zu
509 * Die Ausgänge des Hoch- und Tiefpasses werden UND-verknüpft, sodass nur Frequenzen zugelassen werden, welche im Frequenzband liegen.
510 )))
511 |(% style="width:178px" %)Vorteile|(% style="width:837px" %)(((
512 * Man kann verschiedene Frequenzbänder einstellen.
513 )))
514 |(% style="width:178px" %)Nachteile|(% style="width:837px" %)(((
515 * Es ergeben sich dieselben Nachteile wie beim Hoch- und Tiefpass.
516 )))
517
518 [[image:BP Mus.png]]
519
520
521 (% style="font-size:20px" %)Bestimmung der Nachlauf- und Verzögerungszeiten
522
523 (% class="table-hover" %)
524 |(((
525 Hochpass: Auslegung für gewünschtes f,,Low,,
526
527 * f,,Low,, wird frei gewählt, T,,Low,, = 1/f,,Low,,
528
529 1. t,,N,Hp,, ≥ t,,pause,,
530 1. T,,Low,, = t,,puls,, + t,,N,Hp,, → t,,N,Hp,, = T,,Low,, – t,,puls,,
531
532 * t,,N,Hp,, muss Ungleichung 1 und Gleichung 2 erfüllen
533
534 3. t,,D,Hp,, ≥ t,,puls,, + t,,N,Hp,, = T,,Low,,
535
536 * t,,D,Hp,, muss Ungleichung 3 erfüllen
537 )))|(((
538 Tiefpass: Auslegung für gewünschtes f,,High,,
539
540 * f,,High,, wird frei gewählt, T,,High,, = 1/f,,High,,
541
542 1. t,,N,TP,, < t,,pause,,
543 1. T,,High,, = t,,puls,, + t,,N,TP,, → t,,N,TP,, = T,,High,, – t,,puls,,
544
545 * t,,N,TP,, muss Ungleichung 1 und Gleichung 2 erfüllen
546
547 3. t,,D,TP,, ≥ t,,puls,, + t,,N,TP,, = T,,High,,
548
549 * t,,D,TP,, muss Ungleichung 3 erfüllen
550 )))
551
552 ----
553
554 == Geschwindigkeitsberechnung ==
555
556 (% class="table-bordered" style="margin-right:auto" %)
557 |(% style="width:178px" %)(((
558 **Name**
559 )))|(% style="width:837px" %)**Geschwindigkeitsberechnung**
560 |(% style="width:178px" %)Problem|(% style="width:837px" %)(((
561 * (((
562 Bestimmung der Geschwindigkeit eines Signals
563 )))
564 )))
565 |(% style="width:178px" %)(((
566 Ziel
567 )))|(% style="width:837px" %)(((
568 * Geschwindigkeitsmessung über Zählen der Flanken in einem festen Intervall
569 )))
570 |(% style="width:178px" %)Lösungsprinzip|(% style="width:837px" %)(((
571 * Das Eingangssignal wird auf positive Flanken überwacht.
572 * Der Timer wird gestartet, wenn eine positive Flanke erkannt und #Start aktiviert wurde.
573 * Der Timer läuft für das festgelegte Intervall.
574 * Der Zähler wird um 1 erhöht, wenn innerhalb des Intervalls eine Flanke erkannt wird.
575 * Der Zählerstand wird durch das Intervall dividiert und das Ergebnis wird in die Variable #Speed geschrieben.
576 )))
577 |(% style="width:178px" %)Vorteile|(% style="width:837px" %)(((
578 * Die Geschwindigkeitsberechnung trägt zur Sicherheit bei. Durch die Überwachung der Geschwindigkeit können potenziell gefährliche Situationen erkannt und Sicherheitsmaßnahmen aktiviert werden, um Verletzungen oder Schäden zu vermeiden.
579 )))
580 |(% style="width:178px" %)Nachteile|(% style="width:837px" %)(((
581 * #Start und #Reset müssen manuell aktiviert werden
582 * Ungenaue Messungen können zu falschen Berechnungen führen
583 )))
584
585 [[image:Geschwindigkeitsberechnung Mus.png]]
586
587 ----
588
589 = Struktur =
590
591
592 ----
593
594 = Kooperation =
595
596
597 ----