560
|
1
|
|
2 Doku- & Info-Sammlung zu p2_deco.c und der Einbettung in die V2.95a
|
|
3 ===================================================================
|
|
4
|
|
5 Bedeutung der Bildschirm-Farben (in der Normaleinstellung):
|
|
6
|
|
7 grün: feste Kolumnen oder "gute" Zustände.
|
|
8 weiß: Zahlenwerte die im Normalbereich liegen
|
|
9 blau: inaktive Einstellungen und Gase, sowie Werte die noch nicht
|
|
10 berechnet wurden oder die aufgrund von Einstellungsänderungen
|
|
11 (Gaswechsel, LostGas, Setpoint-Wechsel, GF/aGF-Umschaltung, usw.)
|
|
12 nicht mehr aktuell sind und gerade neu berechnet werden.
|
|
13 gelb: Hinweise und Vorwarnungen die zu beachten sind, jedoch noch
|
|
14 kein unmittelbares Handeln erfordern.
|
|
15 rot : Hinweise und Warnungen, die ein unmittelbaren Handeln erfordern.
|
|
16
|
|
17 Die Schwellen für Vorwarnungen sind generell immer auf 70% eingestellt,
|
|
18 für den aktuellen GF-Wert wird die GF-high Einstellung als Schwelle für
|
|
19 die Vorwarnung benutzt.
|
|
20 Vorwarnungen erscheinen als Warnungstext und/oder als Darstellung in
|
|
21 gelber Farbe. Die endgültige Warnung erscheint dann in roter Farbe.
|
|
22
|
|
23 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
24
|
|
25 Die Deco-Engine wird über zwei Parameter kommandiert:
|
|
26
|
|
27 char_O_main_status:
|
|
28 steuert die Berechnung für die realen Gewebe
|
|
29
|
|
30 char_O_deco_status:
|
|
31 steuert die Berechnung der Deko/Aufstiegssimulation
|
|
32
|
|
33 Die Kommandos werden über Flags gegeben. Für beide Kommandoparameter
|
|
34 definert sind:
|
|
35
|
|
36 DECO_MODE_LOOP:
|
|
37 Wenn gesetzt wird für Kreislaufsysteme gerechnet wenn nicht gesetzt
|
|
38 wird in OC gerechnet.
|
|
39
|
|
40 DECO_MODE_PSCR:
|
|
41 nur in Verbindung mit DECO_MODE_LOOP, schaltet von CCR auf pSCR um.
|
|
42
|
|
43 Nur für char_O_deco_status definiert sind:
|
|
44
|
|
45 DECO_PLAN_ALTERNATE:
|
|
46 Auswahl ob der Normalplan oder ein alternativer Plan gerechnet
|
|
47 werden soll. Von den Ergebnissen des Normal-Plans leiten sich die
|
|
48 meisten Bildschirmanzeigen ab. Vom alternativen Plan werden nur
|
|
49 ausgewählte Daten angezeigt, z.B. die der fTTS oder Bailout-
|
|
50 Berechnung.
|
|
51
|
|
52 DECO_CNS_CALCULATE:
|
|
53 Wenn aktiviert, wird der CNS%-Wert berechnet wie er am Ende des
|
|
54 Tauchgangs sein wird. Dies kann sowohl im Rahmen des normalen wie
|
|
55 auch des alternativen Plans geschehen, es existieren für beide
|
|
56 Pläne eigene Ausgabevariablen.
|
|
57
|
|
58 DECO_VOLUME_CALCULATE:
|
|
59 Wenn aktiviert, werden die Gasbedarfe für den gesamten Tauchgang
|
|
60 berechnet. Dies kann sowohl im Rahmen des normalen wie auch des
|
|
61 alternativen Plans geschehen, jedoch existiert für diese Funktion
|
|
62 nur ein gemeinsamer Satz Ausgabevariablen. Wenn DECO_MODE_LOOP
|
|
63 gesetzt ist erfolgen keine Berechnungen, es werden stattdessen
|
|
64 Nullwerte ausgegeben.
|
|
65
|
|
66 DECO_ASCENT_DELAYED:
|
|
67 Wenn aktiviert wird der Aufstieg / dier Dekompression so berechnet
|
|
68 als ob der Aufstieg nicht sofort, sondern um char_I_extra_time
|
|
69 verzögert beginnt. Die Funktion kann in beiden Plänen verwendet
|
|
70 werden, wird jedoch sinnvoller Weise in Verbindung mit dem
|
|
71 alternativen Plan für fTTS bzw. Bailout-Berechnungen mit delayed
|
|
72 ascent benutzt.
|
|
73
|
|
74 Die Deco-Engine generiert Warnungen, die in Form von Flags über die
|
|
75 Variable char_O_deco_warnings ausgegeben werden:
|
|
76
|
|
77 DECO_WARNING_IBCD:
|
|
78 Wird gesetzt wenn das führende Gewebe im Zustand der isobaren
|
|
79 Gegendiffusion ist und derzeit netto tatsächlich am aufsättigen
|
|
80 ist. Auf dem Bildschirm wird unter der IBCD-Warnung zusätzlich
|
|
81 der aktuelle GF angezeigt, der bei Vorliegen dieser Warnung am
|
|
82 steigen ist.
|
|
83
|
|
84 DECO_WARNING_IBCD_lock:
|
|
85 In diesem Flag wird das Auftreten einer IBCD-Warnung bis über
|
|
86 das Tauchgangsende hinaus gespeichert. Wird im Deko-Kalkulator
|
|
87 benutzt um eine IBCD-Warnung zu geben falls eine solche irgend
|
|
88 wann im Verlaufe der Tauchgangs-Berechnung ausgetreten ist.
|
|
89
|
|
90 DECO_WARNING_MBUBBLES:
|
|
91 Wird gesetzt, wenn die Gewebe aktuell soweit übersättigt sind
|
|
92 dass mit der Produktion von Mikroblasen gerechnet werden muss.
|
|
93 Achtung: wenn dieses Flag zurückgesetzt wird sind nicht etwa
|
|
94 die Mikroblasen nicht mehr da, es liegen nur vermutlich nicht
|
|
95 mehr die Bedingungen für eine Produktion weiterer Mikroblasen
|
|
96 vor. Der Zustand der aktiven Mikroblasengeneration wird über
|
|
97 eine Mikroblasen-Warnung in Rot dargestellt.
|
|
98
|
|
99 DECO_WARNING_MBUBBLES_lock:
|
|
100 Wird gesetzt sowie erstmalig während eines Tauchgangs die
|
|
101 Mikroblasen-Warnung gegeben wurde. Bleibt über das Ende des
|
|
102 Tauchgangs hinaus gesetzt bis die Oberflächen-Berechnungen eine
|
|
103 Entsättigung der Gewebe melden. Solange diese Warnung aktiv ist
|
|
104 wird eine Mikroblasen-Warnung in Gelb ausgegeben, sowohl im Tauch-
|
|
105 wie auch im Oberflächen-Modus.
|
|
106
|
|
107 DECO_WARNING_OUTSIDE:
|
|
108 Wird gesetzt, wenn die Gewebe aktuell soweit übersättigt sind, dass
|
|
109 der Gültigkeitsbereich des ZHL-16 Modells verlassen ist.
|
|
110 Achtung: wenn dieses Flag zurückgesetzt wird ist nicht etwa der
|
|
111 Gültigkeitsbereich des Modells wiederhergestellt, es wird lediglich
|
|
112 weiter gerechnet als ob das Modell noch gelten würde. Inwieweit die
|
|
113 berechneten Werte (Deko-Plan, Ceiling, ...) dann tatsächlich noch
|
|
114 praktische Relevanz haben ist unbekannt und extrem von den
|
|
115 Rahmenbedingungen des Einzelfalls abhängig.
|
|
116 Solange die Gewebesättigungen außerhalb des Modellbereichs sind
|
|
117 wird eine Warnung in Rot ausgegeben.
|
|
118
|
|
119 DECO_WARNING_OUTSIDE_lock:
|
|
120 Wird zusammen mit DECO_WARNING_OUTSIDE gesetzt und wie bei den
|
|
121 Mikroblasen erst bei Entsättigung wieder gelöscht.
|
|
122
|
|
123 DECO_WARNING_STOPTABLE_OVERFLOW:
|
|
124 Diese Warnung zeigt an, dass der Tauchgang mehr Stopps erfordert
|
|
125 als in der Stopp-Tabelle gespeichert werden können. Abgeleitete
|
|
126 Werte wie die Aufstiegszeit, die CNS-Werte am Tauchgangsende und
|
|
127 die Gasbedarfe können nicht mehr vollständig ermittelt werden und
|
|
128 werden daher in der Farbe Blau für ungültige Werte dargestellt. Die
|
|
129 wahren Werte sind mindestens so hoch wie die derart angezeigten.
|
|
130 Die Angaben zu den ersten Stopps auf dem Bildschirm und in den
|
|
131 Custom-Views sind jedoch trotzdem korrekt und im weiteren Verlaufe
|
|
132 des Tauchgangs, wenn die ersten Stopps vorüber sind, wird die
|
|
133 Tabelle wieder ausreichen um alle restlichen Stopp-Daten zu
|
|
134 speichern und die Warnung wird zurückgenommen.
|
|
135 Diese Warnung wird nicht direkt angezeigt, sondern nur indirekt
|
|
136 über die ungültig-Kennzeichnung der betroffenen Werte und sollte
|
|
137 bei praktisch durchführbaren Tauchgängen nicht auftreten.
|
|
138
|
|
139 DECO_FLAG:
|
|
140 Dieses Flag wird gesetzt, wenn mindestens ein Gewebe am absättigen
|
|
141 ist. Mit ihm wird die Warnschwelle für zu hohe ppO2-Werte von der
|
|
142 normalen Schwelle auf die Deko-Schwelle umgeschaltet. Sollte wieder
|
|
143 tiefer getaucht werden (Jo-Jo) so dass alle Gewebe wieder am
|
|
144 aufsättigen sind, dann wird das Flag zurückgenommen und auch die
|
|
145 Warnschwelle wieder zurückgeschaltet.
|
|
146
|
|
147
|
|
148 Viele der internen Routinen der Deko-Engine sind generisch ausgelegt und
|
|
149 können sowohl für Berechnungen zu den realen Geweben benutzt werden, als
|
|
150 auch für die Berechnungen im Rahmen des normalen und des alternativen
|
|
151 Aufstiegs-/Dekompressionsplans. Gesteuert wird dies intern über die
|
|
152 Variable tissue_increment, diese besteht aus einem Flag auf der höchsten
|
|
153 Bitposition und einer Interger-Zahl in den Bitstellen darunter
|
|
154 (Wertebereich 0 - 127). Ist das Flag (Bit 7) gesetzt, so werden die
|
|
155 Berechnungen auf die realen Gewebedaten angewendet, andernfalls auf die
|
|
156 von den Plänen simulierten. Mit der Integerzahl wird die Zeitdauer
|
|
157 bestimmt, für die die Berechnung durchgeführt werden soll. Null bedeutet
|
|
158 eine Zeitdauer von 2 Sekunden, die Zahlen von 1 bis 127 stehen für 1 bis
|
|
159 127 volle Minuten. Durch dieses Vorgehen konnten viele Programmabschnitte
|
|
160 deutlich beschleunigt werden.
|
|
161
|
|
162 Die Deko-Engine wird jede Sekunde aufgerufen und aktualisiert die obigen
|
|
163 sowie weitere Warnungen jede Sekunde bzw. wenn die entsprechenden
|
|
164 Berechnungen durchgeführt wurden. Die Berechnungen für die realen Gewebe
|
|
165 werden jede zweite Sekunde durchgeführt, sekündlich abwechselnd zwischen
|
|
166 der Aktualisierung der Gewebedrücke und des CNS%-Wertes.
|
|
167 Die Aufstiegs- und Dekompressions-Berechnungen werden bei jedem Aufruf
|
|
168 bearbeitet, also in jeder Sekundescheibe. Es wird abwechselnd der Normal-
|
|
169 und der Alternativ-Plan berechnet.
|
|
170 Werden für die Aufstiegsberechnung wesentliche Parameter geändert, wie
|
|
171 z.B. das geatmete oder die verfügbaren Gase, der Setpoint, die GF-
|
|
172 Faktoren, usw., dann wird die laufende Berechnung abgebrochen und im
|
|
173 nächsten Sekunden-Zyklus mit dem nächsten Normalplan begonnen.
|
|
174
|
|
175 Die Daten zu den Gasen werden von der Assembler-Seite aus über folgende
|
|
176 Funktionen gesetzt:
|
|
177
|
|
178 Für die Berechnung der realen Gewebe:
|
|
179
|
|
180 setup_gas_registers:
|
|
181 setzt ein OC-Gas und schaltet den Rechenmodus auf OC
|
|
182
|
|
183 setup_dil_registers:
|
|
184 setzt ein Diluent und schaltet auf CCR bzw. pSCR Modus
|
|
185
|
|
186 Für die Aufstiegs-/Dekoplanung:
|
|
187
|
|
188 deco_setup_oc_gases:
|
|
189 übermittelt die Daten OC-Gase sowie das aktuell geatmete
|
|
190 Gas und schaltet den Rechnenmodus auf OC
|
|
191
|
|
192 deco_setup_cc_diluents:
|
|
193 übermittelt die Daten der Diluent sowie das aktuell benutzte
|
|
194 Diluent und schaltet auf den CCR bzw. pSCR Modus
|
|
195
|
|
196 Die Aufstiegs-/Dekoplanung wird über einen Enum in char_O_deco_status
|
|
197 gesteuert:
|
|
198
|
|
199 - Einmalig am Beginn des Tauchgangs wird der Zustand DECO_STATUS_INIT
|
|
200 aufgerufen, dieser initialisiert die Deco-Engine. Nach Abschluss der
|
|
201 Initialisierung wechselt die Deco-Engine selbsttätig in den Zustand
|
|
202 DECO_STATUS_START weiter.
|
|
203
|
|
204 - DECO_STATUS_START
|
|
205 startet eine neue Aufstiegs-/Dekoplanung basierend auf den gesetzten
|
|
206 Flags und Gasdaten, falls noch eine Aufstiegs- oder Dekoplanung läuft
|
|
207 wird diese abgebrochen. In diesem Zustand wird auch berechnet ob sich
|
|
208 der Tauchgang noch innerhalb der Nullzeit befindet. Falls ja, endet die
|
|
209 Aufstiegsplanung hier im Zustand ECO_STATUS_FINISHED, ansonsten wird
|
|
210 sie beim nächsten Aufruf der Deco-Engine im Zustand DECO_STATUS_ASCENT
|
|
211 fortgesetzt.
|
|
212
|
|
213 - DECO_STATUS_ASCENT
|
|
214 führt die Berechnung des Aufstiegs bis zum ersten Deko-Stopp aus
|
|
215 (initial ascent). Im alternativen Planungsmodus werden hierbei auch
|
|
216 Gaswechsel ermittelt. Nach Abschluss der Aufstiegsberechnung wird der
|
|
217 Zustand auf DECO_STATUS_STOPS weitergeschaltet, der dann beim wiederum
|
|
218 nächsten Aufruf der Deco-Engine bearbeitet wird.
|
|
219
|
|
220 - DECO_STATUS_STOPS
|
|
221 berechnet die Dekostopps und alle weiteren Aufstiege, sowie die CNS%-
|
|
222 Werte am Tauchgangsende und die Gasbedarfe sofern jeweils angefordert.
|
|
223 Diese Berechnungen laufen üblicherweise über mehrere Aufrufzyklen der
|
|
224 Deco-Engine, diese signalisiert am Ende jedes Zykluses mit
|
|
225 DECO_STATUS_STOPS dass (mindestens) ein weiterer Zyklus benötigt wird
|
|
226 oder mit DECO_STATUS_FINISHED dass die Berechnungen abgeschlossen sind.
|
|
227
|
|
228 - DECO_STATUS_FINISHED
|
|
229 signalisiert, dass die Aufstiegs-/Dekompressionsplanung abgeschlossen
|
|
230 ist und die Ergebnisse in den entsprechenden Variablen bereitstehen
|
|
231 bzw. aktualisiert sind.
|
|
232 Die Kodierung von DECO_STATUS_FINISHED (benutzt als Ausgabe aus der
|
|
233 Deco-Engine) entspricht der Kodierung von DECO_STATUS_START (benutzt
|
|
234 als Eingabe in die Deco-Engine). Die Deco-Engine kann sofort wieder im
|
|
235 Zustand DECO_STATUS_START aufgerufen werden, worauf ein neuer Planungs-
|
|
236 zyklus beginnt.
|
|
237
|
|
238 Die Einstellungen und Gasdaten können zwischen zwei Planungszyklen (d.h.
|
|
239 zwischen den Zuständen DECO_STATUS_FINISHED und DECO_STATUS_START) ohne
|
|
240 Einschränkungen geändert werden. Während ein Planungszyklus läuft ist
|
|
241 dies nicht zulässig und kann zu falschen Ergebnissen führen.
|
|
242
|
|
243
|
|
244 Planungsfunktionen 2nd Deco Plan:
|
|
245
|
|
246 Über die Deko-Einstellungen, Untermenu "2nd Deco Plan" können erweiterte
|
|
247 sowie alternative Aufstiegs-/Dekompressionsberechnungen aktiviert werden.
|
|
248
|
|
249 fTTS/Delay:
|
|
250
|
|
251 Wird hier ein Wert größer Null ausgewählt, dann wird ein zweiter,
|
|
252 alternativer Aufstiegs-/Dekoplan berechnet unter der Annahme, dass
|
|
253 die eingestellte Zeit in Minuten weiterhin auf der aktuellen Tiefe
|
|
254 verbracht wird und erst dann der Aufstieg beginnt. Die unter dieser
|
|
255 Annahme berechnete Aufstiegszeit wird als fTTS (future Time to
|
|
256 Surface) angezeigt. Weiterhin wird der CNS-Wert berechnet, der sich
|
|
257 am Ende eines derart verlängerten Tauchgangs ergeben wird, er kann
|
|
258 über einen CustomView angesehen werden. Wenn dieser CNS-Wert 100%
|
|
259 erreicht wird außerdem eine Warnung ausgegeben.
|
|
260
|
|
261 Im Bailout-Fall wird keine fTTS-Berechnung durchgeführt, dafür
|
|
262 Erfolgt die Aktualisierung der Bailout-Aufstiegsberechnung dann in
|
|
263 Schnellerer Folge.
|
|
264
|
|
265
|
|
266 Calc.Gas(B/O):
|
|
267
|
|
268 Wird diese Option aktiviert, dann wird der Gasbedarf berechnet, der
|
|
269 für die Beendigung des Tauchgangs unter Einhaltung der Aufstiegs-
|
|
270 geschwindigkeiten und ggf. Dekompressionsstopps benötigt wird. Wenn
|
|
271 bei fTTS/Delay Null eingestellt ist, dann wird diese Berechnung
|
|
272 während der normalen Aufstiegs-/Dekoberechnung durchgeführt und die
|
|
273 ermittelten Werte gelten bei sofortigem Beginn des Aufstiegs. Wenn
|
|
274 bei fTTS/Delay eine Zeit größer Null eingestellt ist, dann wird die
|
|
275 Berechnung im Rahmen des zweiten, alternativen Plans durchgeführt
|
|
276 Und die berechneten Gasbedarfe gelten für den verzögerten Aufstieg.
|
|
277
|
|
278
|
|
279 fTTS/Delay und Calc.Gas(B/O) im Modus CCR und pSCR:
|
|
280
|
|
281 Das oben beschriebene Verhalten verändert sich, wenn sich der OSTC
|
|
282 im CCR oder im pSCR Modus befindet: Wenn die Option Calc.Gas(B/O)
|
|
283 ausgeschaltet ist, dann gelten die berechnete Aufstiegszeit und der
|
|
284 CNS-Wert unter der Annahme dass bis zum Ende des Tauchgangs weiterhin
|
|
285 vom Kreislaufgerät geatmet wird.
|
|
286 Wenn die Option Calc-Gas(B/O) hingegen eingeschaltet ist, dann wird
|
|
287 die Aufstiegszeit und der CNS-Wert unter der Annahme berechnet,
|
|
288 dass ab sofort ein Bailout erfolgt, auf dem ersten Bailoutgas für
|
|
289 die bei fTTS/Delay eingestellte Zeit auf der aktuellen Tiefe
|
|
290 verblieben wird und dann ein Bailout-Aufstieg eingeleitet wird.
|
|
291 Die sich so ergebende Aufstiegszeit wird als B/O-Zeit (BailOut)
|
|
292 angezeigt und die berechneten Gasmengen gelten für die OC-Bailout-
|
|
293 Gase.
|
|
294
|
|
295
|
|
296 Bottom Gas, Deco Gas:
|
|
297
|
|
298 Hier werden die Gasbedarfe in Litern pro Minute Oberflächenrate
|
|
299 (SAC) eingestellt. Diese Einstellungen werden auch vom Deko-
|
|
300 Kalkulator benutzt, der über das Simulations-Menu zu erreichen ist.
|
|
301
|
|
302
|
|
303 Tank Sizes:
|
|
304
|
|
305 Hier sind die Größen der Tanks für die OC-/Bailout-Gase in Litern
|
|
306 (Wasservolumen) einzustellen. Diese Einstellungen sind wichtig, da
|
|
307 sie für die Berechnung der Gasbedarfe im Tauchmodus benötigt
|
|
308 werden: Im Tauchmodus erfolgt die Ausgabe der benötigten Gasmengen
|
|
309 in Bar, bezogen auf die jeweiligen Flaschengrößen.
|
|
310
|
|
311
|
|
312 Tank Press Budget: (ex Tank Fill Press)
|
|
313
|
|
314 Hier wird festgelegt wie viel Gas aus den jeweiligen Tanks (Flaschen)
|
|
315 für den Tauchgang verwendet werden darf. Die Einstellung erfolgt in
|
|
316 Bar Flaschendruck. Erreicht der Bedarf eines Gases 70% des für das
|
|
317 Gas eingestellten Budgets, dann erfolgt eine Warnung in gelber Farbe.
|
|
318 Bei 100% erscheint die Warnung in roter Farbe.
|
|
319 Die benötigten Flaschendrücke können jederzeit über einen CustomView
|
|
320 eingesehen werden. Dieser zeigt aufgrund der begrenzten Bildschirm-
|
|
321 fläche nur die Bedarfe von bis zu vier Gasen an, die Warnungen werden
|
|
322 jedoch für alle 5 Gas erzeugt.
|
|
323 Alle Gasbedarfs- und Druckberechnungen erfolgen unter der Annahme
|
|
324 idealer Gase und ohne Betrachtung von temperaturbedingten Druck-
|
|
325 änderungen.
|
|
326
|
|
327
|
|
328 Gaswechsel:
|
|
329
|
|
330 Im Rahmen der Deko-Pläne werden automatisch Gaswechsel eingeplant, wenn
|
|
331 ein besseres Gas verfügbar ist. Ein besseres, bzw. das beste Gas ist
|
|
332 dasjenige Gas, dessen Wechseltiefe am dichtesten unterhalb der aktuellen
|
|
333 Tiefe liegt. Nur aktivierte Gase die nicht als "Lost" markiert sind
|
|
334 werden berücksichtigt. Gaswechsel werden als Stopp in die Stopp-Tabelle
|
|
335 eingetragen. Die Dauer dieser Stopps beträgt standardmäßig 1 Minute.
|
|
336 Sollte auf der Stopp-Stufe für den Gaswechsel auch ein Dekompressions-
|
|
337 Stopp notwendig sein, so addiert sich die notwendige Stoppzeit für die
|
|
338 Dekompression zu der für den Gaswechsel hinzu.
|
|
339
|
|
340 Im Bereich zwischen der Grundtiefe und dem ersten Dekompressions-Stopp
|
|
341 werden die Gaswechsel-Stopps auf die Tiefen gelegt, ab denen jeweils
|
|
342 bessere Gase verfügbar werden. Gibt es ein besseres Gas auf der aktuellen
|
|
343 Tiefe, so wird ein Wechsel auf der aktuellen Tiefe geplant. Dies geschieht
|
|
344 jedoch nur im Modus alternativer Plan und nur wenn das nächste bessere
|
|
345 Gas nicht in <= 1 Minute Aufstiegszeit erreicht wird. In Normal-Plan
|
|
346 werden Wechsel auf ein besseres Gas erst ab dem ersten echten Deko-Stopp
|
|
347 eingeplant.
|
|
348 Im Falle, dass im alternativen Plan ein Bail-Out Szenario gerechnet wird
|
|
349 sieht die Gaswahl- und Gaswechsel-Strategie wie folgt aus: zunächst wird
|
|
350 dasjenige OC-Gas gewählt welches als 'First' konfiguriert ist. Auf diesem
|
|
351 wird auf aktueller Tiefe für die Zeit verblieben, die als Delayed-Acent-
|
|
352 Time eingestellt ist. Dann erfolgt die Suche nach einem besseren Gas, auf
|
|
353 das je nach Verfügbarkeit im direkten Anschluss oder während des
|
|
354 initialen Aufstiegs gewechselt wird. Ab Erreichen des ersten Dekostopps
|
|
355 werden Gaswechsel in beiden Plänen (normaler und alternativer Plan)
|
|
356 automatisch ermittelt und immer auf die nächsten passenden Dekostopps
|
|
357 gelegt. Im CCR und im pSCR Modus werden derzeit keine automatischen
|
|
358 Gaswechsel berechnet.
|
|
359
|
|
360 -> Die Gaswechselzeit ist bereits in der Options-Tabelle angelegt, wird
|
|
361 aber momentan noch innerhalb von p2_deco.c auf 1 Minute erzwungen.
|
|
362
|
|
363 Die Deko-Engine plant den Aufstieg mit einer einstellbaren Aufstiegs-
|
|
364 geschwindigkeit von 5-10 Meter pro Minute, diese wird über eine Option in
|
|
365 der Options-Tabelle eingestellt.
|
|
366
|
|
367 -> Die Aufstiegsgeschwindigkeit ist bereits in der Options-Tabelle
|
|
368 angelegt, wird aber momentan noch innerhalb von p2_deco.c auf 10 m/min
|
|
369 erzwungen.
|
|
370
|
|
371 Für die Ceiling-Berechnung ist eine neue Codezeile angelegt die dafür
|
|
372 sorgt, dass die Ceiling genau dann zu Null wird, wenn auch die TTS zur
|
|
373 NDL umschaltet. Bisher wird so gerundet, dass die Ceiling zu Null wird
|
|
374 während noch eine TTS angezeigt wird. Die neue Zeile ist noch
|
|
375 auskommentiert und die alte Formel in Betrieb um eine Vergleichbarkeit
|
|
376 der gesamten Berechnungen mit der V2.27 zu ermöglichen. Zur Release-
|
|
377 Version sollte entsprechend umkommentiert werden.
|
|
378
|
|
379
|
|
380 Gasbedarfs-Berechnung:
|
|
381
|
|
382 Es werden die Bedarfe aller Gase berechnet, die bei der Aufstiegs-/
|
|
383 Dekompressionsberechnung eingeplant wurden. Es sind diese die Gase 1
|
|
384 bis 5. Wird aktuell ein manuell konfiguriertes Gas ("Gas 6") geatmet,
|
|
385 so wird dieses in der Gasbedarfsberechnung außen vor gelassen. Die
|
|
386 Berechnung teilt sich in die Bereiche bottom und initial ascent, stops
|
|
387 und intermediate ascents sowie final ascent.
|
|
388
|
|
389 Im Bereich bottom und initial ascent wird die Bottom-Verbrauchsrate
|
|
390 angesetzt, in den übrigen Bereichen die Deko-Verbrauchsrate.
|
|
391 Die Aufstiegssegmente werden mit der konfigurierten Aufstiegsrate (5-10
|
|
392 m/min) berechnet, der final ascent vom letzten Stopp bis zur Oberfläche
|
|
393 mit 1 Meter/Minute. Gibt es keine Stopps, dann reicht der initial ascent
|
|
394 vom Bottom bis zur Oberfläche und wird mit der konfigurierten Aufstiegs-
|
|
395 rate gerechnet, zuzüglich eines Sicherheitsstopps von 3 Minuten auf 5
|
|
396 Metern. Wenn es keinen Deko-Stopp gibt, aber einen Gaswechsel-Stopp der
|
|
397 tiefer liegt als ein letzter regulärer Deko-Stopp liegen würde, dann wird
|
|
398 der Aufstieg geteilt in einen intermediate ascent und einen final ascent.
|
|
399 Für beide werden dann die entsprechenden Aufstiegsraten angesetzt.
|
|
400
|
|
401 Alle Gaswechsel werden der Stopp-Tabelle entnommen, daher sind dort
|
|
402 auch reine Gaswechsel-Stopps eingetragen, d.h. Stopps auf denen keine
|
|
403 Dekompression notwendig ist. Auf den Stopps die einen Gaswechsel
|
|
404 beinhalten wird der Gasbedarf wie folgt berechnet: Der Bedarf für die
|
|
405 gesamte Stoppdauer wird dem neuen Gas zugerechnet, für die konfigurierte
|
|
406 Gaswechsel-Dauer wird ein entsprechender Bedarf zusätzlich auf das alte
|
|
407 Gas aufgeschlagen. So ist sichergestellt, dass die berechneten Gasvolumina
|
|
408 genügend Reserve ausweisen um auf einem Gaswechsel-Stopp die Zeit zu haben
|
|
409 das neue Gas verfügbar zu machen (Stage-Handling).
|
|
410
|
|
411 Die Gasbedarfe werden zum einen in Litern berechnet, diese Werte werden
|
|
412 vom Deko-Kalkulator genutzt, und zum anderen in bar Flaschendruck
|
|
413 entsprechend der eingestellten Flaschengrößen. Hierbei wird mit idealen
|
|
414 Gasen gerechnet, sprich Druck = benötigtes Volumen / Flaschengröße.
|
|
415 Aus dem Vergleich von berechnetem Druckbedarf und konfiguriertem
|
|
416 Flaschendruck werden die Vorwarnung (70%, gelb) und die Hauptwarnung
|
|
417 (100%, rot) generiert. Um bei der Hauptwarnung noch eine minimale Reserve
|
|
418 zu haben sollte daher der Flaschendruck etwas niedriger eingestellt
|
|
419 werden als er tatsächlich ist.
|
|
420
|
|
421
|
|
422 Gewebegrafik:
|
|
423
|
|
424 Die Gewebegrafik ist so skaliert, dass die Länge der Balken dem Druck des
|
|
425 Jeweiligen Inertgases entspricht. Während des Tauchgangs werden die
|
|
426 Balken zusätzlich eingefärbt, die Farbe kennzeichnet ob das Gewebe gerade
|
|
427 am aufsättigen oder am entsättigen ist. Die Balken für den Stickstoff
|
|
428 beginnen weiter links da die Gewebe im Ausgleichzustand an der Oberfläche
|
|
429 bereits zu einem Teil Stickstoff enthalten, nicht jedoch Helium. So
|
|
430 beginnen die "Überdrücke" aus dem Ausgleichszustand heraus auf gleicher
|
|
431 Linie.
|
|
432
|
|
433
|
|
434 Stopp-Tabelle (Deko-Tabelle):
|
|
435
|
|
436 Der Funktionsaufruf ist so verändert, dass beim Aufruf die Menge
|
|
437 der einzutragenden Minuten übergeben werden kann. Diese werden dann auf
|
|
438 den bestehenden Stopp aufaddiert bzw. es wird ein neuer Stopp angelegt.
|
|
439 Es können auch Null Minuten übergeben werden und so ein Stopp "on the
|
|
440 fly" erzeugt werden, z.B. für einen reinen Gaswechsel. Alle Operationen
|
|
441 auf der Stopp-Tabelle sind angepasst um mit Stopps von Null-Dauer zu
|
|
442 funktionieren.
|
|
443 Ein Stopp-Eintrag kann maximal 99 Minuten Stoppdauer aufnehmen. Dauert
|
|
444 ein Stopp länger, so wird eine weiterer Stopp auf gleicher Tiefe angelegt.
|
|
445
|
|
446
|
|
447 No-Fly bzw. Altitude-Wait-Zeit:
|
|
448
|
|
449 Diese Wartezeit wird wie eine Dekompression aus dem aktuellen Gewebe-
|
|
450 zustand heraus auf eine fiktive Tiefe gerechnet, die der gewählten
|
|
451 Höhenstufe entspricht. Für No-Fly wird dabei ein Kabinendruck von 0,6
|
|
452 bar angesetzt. Der Rechenaufwand für diese Berechnung wird die die
|
|
453 Verwendung eines iterativen Optimierungs-Algorithmus wesentlich
|
|
454 reduziert. Der aktuelle Umgebungsdruck wird laufend in die Berechnung
|
|
455 einbezogen, die sich ergebene Zeit auf volle 10 Minuten gerundet
|
|
456 ausgegeben.
|
|
457
|
|
458
|
|
459 Entsättigungszeit:
|
|
460
|
|
461 Die Entsättigungzeit ist so definert dass der Rest-Stickstoffdruck in
|
|
462 allen Geweben maximal 5% des Gewebedrucks aus natürlicher Sättigung
|
|
463 (Atmung von Luft unter aktuellem Umgebungsdruck) entspricht. Der sich
|
|
464 ergebene Druckwert wird dann ebenfalls für das Rest-Helium angesetzt.
|
|
465 Der aktuelle Umgebungsdruck wird laufend in die Berechnung einbezogen,
|
|
466 die sich ergebene Zeit auf volle 10 Minuten gerundet ausgegeben.
|
|
467
|
|
468
|
|
469 pSCR Modus:
|
|
470
|
|
471 Neben dem CCR-Modus wird nun auch der pSCR-Modus vollständig unterstützt,
|
|
472 inklusive optionalen Sensoren. Die Bedienung und die Menus sind weitest-
|
|
473 gehend identisch, nur dort wo im CCR-Modus zwischen den Setpoints und
|
|
474 Sensorbetrieb ausgewählt wird befindet sich im pSCR-Modus die Auswahl
|
|
475 zwischen Sensorbetrieb und berechneten ppO2-Werten.
|
|
476
|
|
477
|
|
478 Handling von Gas 6:
|
|
479
|
|
480 In der bisherigen Implementierung wurden Änderungen an den O2- und He-
|
|
481 Prozenten des Gases 6 sofort an die Berechnungen für die realen Gewebe
|
|
482 innerhalb von p2_deco.c übergeben, ohne dass dazu der dedizierte Menu-
|
|
483 Eintrag welcher die Zusammensetzung von Gas 6 anzeigt explizit ausgewählt
|
|
484 werden musste. Ebenso wurde das Gas6-Event ausgelöst sowie einer der
|
|
485 Prozentwerte verstellt wurde. In den Teil von p2_deco.c, der die Deko-
|
|
486 Berechnungen ausführt, wurden die Werte von Gas 6 jedoch erst übernommen,
|
|
487 wenn besagter Menu-Eintrag ausgewählt wurde, was in der Praxis zu
|
|
488 Diskrepanzen führen muss.
|
|
489
|
|
490 In der jetzigen Implementierung werden die O2- und He-Prozentwerte erst
|
|
491 dann übernommen und als Gas 6 aktiviert, wenn der Gas6-Menueintrag
|
|
492 explizit ausgewählt wird. Die Übernahme erfolgt sodann konsistent in die
|
|
493 Berechnung sowohl der realen Gewebe als auch in die Dekoberechnung, und
|
|
494 auch das Gas6-Event wird erst dann gesetzt.
|
|
495
|
|
496
|
|
497 Deko-Kalkulator:
|
|
498
|
|
499 Der Deko-Kalkulator benutzt die Gasverbrauchsraten, die im Deko-Menu,
|
|
500 Untermenu "2nd Deco Plan" eingestellt sind. Über das Menu "Calculator
|
|
501 Setup" kann eingestellt werden, welcher CCR Setpoint für die Berechnungen
|
|
502 benutzt werden soll (nur relevant im CCR Modus) und ob die normalen oder
|
|
503 die alternativen (aGF) GF-Faktoren für die Dekoberechnung benutzt werden
|
|
504 sollen (gilt für alle Modi). Der Deko-Kalkulator ermittelt die benötigten
|
|
505 Gasmengen in Litern (exakt: Barlitern).
|
|
506 Kommt es aufgrund der benutzen Gase und des Deko-Profils zu einer IBCD,
|
|
507 dann wird auf der Ergebnisseite eine entsprechende Warnung ausgegeben.
|
|
508 Erfordert die Dekompression mehr Stopps als im OSTC gespeichert werden
|
|
509 können, dann wird die Deko-Berechnung abgebrochen und eine "incomplete"
|
|
510 Warnung ausgegeben. Die angezeigte Aufstiegszeit, der CNS-Wert und die
|
|
511 ermittelten Gasbedarfe gelten nur bis zum Ende der angezeigten Stopps.
|
|
512 Achtung: Die tatsächlichen Werte bis zum Erreichen der Oberfläche können
|
|
513 unter Umständen deutlich größer sein als die angezeigten, da insbesondere
|
|
514 die letzten Stopps (die nicht mehr berücksichtigt werden konnten) typisch
|
|
515 am längsten dauern! Dieser Fall sollte jedoch bei Profilen praktisch
|
|
516 durchführbarer Tauchgängen nicht auftreten.
|
|
517
|
|
518
|
|
519 "DECO ZONE" and GF-"Ampel"
|
|
520
|
|
521 Sobald beim Aufstieg mindestens ein Gewebe beginnt abzusättigen erscheint
|
|
522 auf der Anzeige "DECO ZONE" in grüner Schrift. Ab diesem Zeitpunkt wird
|
|
523 auch die Warnschwelle für den ppO2 von der normalen Max-Schwelle auf die
|
|
524 Deco-Max-Schwelle umgestellt. Sollte wieder tiefer getaucht werden und
|
|
525 keines der Gewebe mehr absättigen, so verschwindet die Anzeige "DECO
|
|
526 ZONE" wieder und auch die ppO2 Warnschwelle wird wieder auf den normalen
|
|
527 Max-Wert zurück geschaltet.
|
|
528 Überschreitet während des Aufenthalts in der DECO ZONE der aktuelle GF-
|
|
529 Wert den eingestellten Wert für den GF-high, dann erscheint anstatt des
|
|
530 Textes "DECO ZONE" der aktuelle GF-Wert in gelber Farbe. Erreicht oder
|
|
531 überschreitet der aktuelle GF-Wert 100%, dann wird dieser in roter Farbe
|
|
532 angezeigt.
|
|
533
|
|
534
|
|
535 Allgemeines:
|
|
536
|
|
537 Der Quellcode von p2_deco.c ist in bezüglich Lesbarkeit und Kommentierung
|
|
538 überarbeitet, alle Variablen in p2_deco.c und shared_definitions.h sind
|
|
539 funktional gruppiert und ebenfalls vollständig kommentiert. In diversen
|
|
540 Assembler-Quellcode-Dateien wurde ebenfalls die Kommentierung verbessert.
|