WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Simulationen > Designer Forum

Designer Forum Treffpunkt für Gedankenaustausch von Simmern, die selbst

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 07.12.2006, 17:41   #1
Carl Josef
Master
 
Registriert seit: 03.12.2001
Beiträge: 543


Standard Kompensiertes Variometer - Segelflug - FSX/FS9

Ich würde gerne im FSX die verschieden Stärke der Thermik-Zellen im FSX messen und habe in fligtsim.com nach einem kompensierten Variometer für FSX / FS2004 gesucht.

Beim realen Segelflugzeug kann ja die immer vorhandene ("natürliche") Sinkrate sowie Steigen und Sinken durch Höhenruderenigabe mit einem speziellen Variometer kompensiert werden. Beim Dosen-Variometer wird die Kompensation durch Anschluß zusätzlicher Druckaufnahme-Öffnungen und Düsen an die Druckausgleichsleitung erzielt.

Bei der Schleicher ASK 21 FS 2004 (ask21ds.zip) von Bernard Michaud bin ich fündig geworden, es ist ein "Vertical Speed Indicator" Version=1.0" dabei .

Ich möchte dieses Variometer, das im .xml-Format erstellt ist in seiner Funktion verstehen und für meine Zwecke auch modifizieren. Hierzu erbitte ich Hilfe von Segelflug und .xml-Gauge-Experten.

An den Autor selber kann ich mich nicht wenden, da er keine Kontakt-Adressen angibt, auch über Google habe ich keine gefunden. Lediglich dieser Vermerk: " These files are FREEWARE, so don't make money with this, please. Copyright © Bernard Michaud" ist zu finden. In seinem Scenerie-Addon ist eine e-Mail-Adresse angegeben, Mail an diese Adrese kam aber zweimal als unzustellbar zurück. Ich glaube deshalb das ich nichts unrechtes tue, wenn ich den Quelltext hier in gekürtzer Form auführe und die .XML-Datei, im .TXT-Format unten anhänge (vario_xml.txt).

In dem o.g. Variometer für den FS2004 ist folgend Formel eingebaut:

(A:AMBIENT WIND Y,meter/second) (A:AIRSPEED TRUE,meter/second) sqr 800 / - (A:VERTICAL SPEED,meter/second) 10 / + (A:SPOILERS LEFT POSITION,percent) 60 / - (A:RUDDER POSITION,percent) abs 245 / - (A:ATTITUDE INDICATOR BANK DEGREES,degree) abs 25 / - (A:SIM ON GROUND,bool) ! *

Ich würde gerne analysieren, was dieser Variometer macht, doch habe ich schon Schwierigkeiten die "Funktions-Sprache" für Microsoft .xml-Gauges zu verstehen.

Die FSX-SDK spricht im Zusammenhang mit mathematischen Operationen von "umgekehter Polnischer Notation" die mir noch von den HP -Taschenrechner vetraut ist.
Also normal würde man z.B. schreiben oder eingeben: [2 ] [ + ] [ 4 ] [ = ] : Ergebnis 6 erscheint , bei Umgekehrter Polnischer Notation würde man schreiben oder eingeben [ 2 ] [ 4 ] [ + ]: Ergebnis 6 erscheint.

Übetragen auf obige Formel:

[ AMBIENT WIND ] [ AIRSPEED TRUE ] ( jetzt müsste ein Operator kommen es steht aber ) [ sqr ] . Ich verstehe noch, das Quadrierung [ sqr ] "vorgeht". Bei meinem Taschenrecher ist es auch so [2 ] [ 4 ] [sqr]: Zwischenergebnis 16 dann erst [+ ] : Endergebnis 18 erscheint .

Ich würde also in der .XML -Formel spätestens nach "sqr" einen Operator erwarten, der das Argument AMBIENT WIND berücksichtigt und nicht eine Zahl "800".
.................................................. ....................

Grundsätzlich frage ich mich, warum im Simulator überhaupt so eine komplizierte Formel notwendig ist Steigen oder Sinken in Thermik-Zellen anzuzeigen.

Genügt nicht die Variable AMBIENT WIND Y - die es natürlich in der Realität nicht gibt - mit einem eigenen Zeiger anzeigen zu lassen ? Oder steigt der Flieger langsamer als der Aufwind ?

Es gibt weitere Variablen, deren Bedeutung ich nicht verstehe.

VELOCITY BODY Y True vertical speed, relative to aircraft axis - Feet per second
VELOCITY WORLD Y Speed relative to earth, in vertical direction - Feet per second
RELATIVE WIND VELOCITY BODY Y Vertical speed relative to wind - Feet per second
AIRCRAFT WIND Y Wind component in aircraft vertical axis - Knots

Kann mir bitte jemand das alles erklären ?

Carl
____________________________________
**~ In Memoriam Ron ~**
Carl Josef ist offline   Mit Zitat antworten
Alt 07.12.2006, 20:48   #2
harry3
Inventar
 
Registriert seit: 11.06.2001
Alter: 38
Beiträge: 2.397


harry3 eine Nachricht über ICQ schicken
Standard

Gehen wir den interessanten Bereich mal kurz durch.
Solltest du nicht wissen was Stack heißt, so reicht es zu wissen dass es sozusagen ein "Zwischenspeicher" ist, ein Bereich wo der Computer z.B. seine Zwischenergebnisse von Rechnungen ablegt.

PHP-Code:
(A:AMBIENT WIND Y,meter/second) (A:AIRSPEED TRUE,meter/secondsqr 800 / - (A:VERTICAL SPEED,meter/second10 / + (A:SPOILERS LEFT POSITION,percent60 / - (A:RUDDER POSITION,percentabs 245 / - (A:ATTITUDE INDICATOR BANK DEGREES,degreeabs 25 / - (A:SIM ON GROUND,bool) ! * 
Der Wert von (A:AMBIENT WIND Y,meter/second) wird vorerst nur auf den Stack gelegt.

(A:AIRSPEED TRUE,meter/second) wird quadriert und danach durch 800 dividiert, das Ergebnis wird auf dem Stack gelegt.

Nun liegen auf dem Stack die beiden Werte (A:AMBIENT WIND Y,meter/second) und das Ergebnis von oben. Diese beiden werden jetzt voneinander subtrahiert.
Ergebnis landet wieder auf dem Stack.

(A:VERTICAL SPEED,meter/second) wir danach durch 10 dividiert, und das Ergebnis wird mit dem Zwischenergebnis von zuerst, das noch auf dem Stack liegt, zusammengezählt.

(A:SPOILERS LEFT POSITION,percent) wird durch 60 dividiert und danach wird das Ergebnis wieder vom Wert, der noch am Stack liegt, abgezogen.

Von (A:RUDDER POSITION,percent) wird der Absolutwert genommen(also ein evtl. vorhandenes Minus wird "weggestrichen"), durch 245 dividiert und danach wieder vom Zwischenergebnis am Stack abgezogen.

Die Zeile mit (A:ATTITUDE INDICATOR BANK DEGREES,degree) tut im Prinzip das gleiche.

Die Zeile (A:SIM ON GROUND,bool) ! * ist wieder interessant. Die Variable (A:SIM ON GROUND,bool) wird durch das Rufezeichen invertiert, also aus 0 wird 1 und umgekehrt. Ist der Flieger am Boden, so liefert (A:SIM ON GROUND,bool) ! eine 0, und dieses Ergebnis wird dann mit dem Stackwert multipliziert. Am Boden also mit 0, in der Luft mit 1, hat zur Folge dass der Vario am Boden immer 0 anzeigt.

Soweit zur Erklärung des Codes. Wie sich die Formel jetzt mathematisch herleitet kann ich dir nicht sagen, am besten du gehst das ganze mal mit Bleistift und Papier durch, vielleicht kommst du dann dahinter was sich der Programmierer dabei gedacht hat.


Grüße,
Harri
harry3 ist offline   Mit Zitat antworten
Alt 16.12.2006, 21:52   #3
Carl Josef
Master
 
Registriert seit: 03.12.2001
Beiträge: 543


Standard

Harri,

Vielen herzlichen Dank für Deine verständlichen Erläuterungen ! Die erste Hürde ( "source"-code) ist damit übersprungen.

Nun konnte ich mich der Formel widmen. Ganz steige ich aber noch nicht durch.
Zitat:
(A:AIRSPEED TRUE,meter/second) wird quadriert und danach durch 800 dividiert, das Ergebnis wird auf dem Stack gelegt.
Dieser Teil ist damit einigermaßen erklärlich : In der Realität erzeugt man durch eine Düse im Leitungssystem des Variometers eine Steiganzeige in der Größe des polaren Sinkens des jeweiligen Flugzeugtyps. Dieses poare Sinken ist annähernd proportional dem Quadrat der Fluggeschwindigkeit.

In obiger Formel wird die Geschwindigkeit quadriert und mit der Zahl 800 dividiert, die wohl dieser Proportionalitätsfaktor ist. Dieses polare Sinken wird nun vom Steigwert des Aufwinds abgezogen. Man erhält eine Netto-Steiggeschwindigkeit bei ausgetrimmten Flugzeug (Netto-Variometer).

Beim mittleren Teil komme ich mit der Interpretation der Formel nicht weiter. Es kann sein, daß der Entwickler ein sogenanntes Total-Energie-kompensiertes Variometer (TEK) darstellen will, das beim realen Segelfliegen unabhängig von den Knüppelbewegungen und von der geflogenen Geschwindigkeiten anzeigt, ob die Umgebungsluft steigt, sinkt oder ruht.

Am Schluß ist die Formel dank Harry´s Erläuterungen aber wieder klar : Der Vario zeigt am Boden immer 0 an.

Nun ging ich daran diesen Variometer abuwandeln und zwar in einen, der nur (A:AMBIENT WIND Y,meter/second) anzeigt. Ich wollte ein Instrument haben, mit dem man unabhängig vom Fluguzeug die Stärke der vertikalen Luftströmungen messen kann( Frage: müsste das denn nicht auch als simuliertes TEK-Variometer ausreichen ? ).

Dieses habe ich in die Standard Cessna 172 des FSX eingebaut. Zusätzlich habe ich ein zweites Variometer so abgewandelt, daß es die Steiggeschwindigkeit in m/s anzeigt mit der Variablen ((A:VERTICAL SPEED,meter/second). Damit wären die Werte der beiden Steiganzeigen direkt vergleichbar (Standard-Vario in Cessna zeigt ft/min an).

Dank der guten Erkärungen in Harry´s Tutorial (Link siehe in seiner Antwort oben) habe ich auch verstanden, daß man xml-gauges nich unbedingt in .cab Dateien komprimieren muß, sondern die .xml-Dateien und zugehörigen Bitmaps auch in einen normales Verzeichnis zusammenlegen kann.



Vor dem Einflug in die Thermik-Zelle.

Rechts oben das normale Variometer, rechts unten die Anzeige der vertikalen Bewegung der Umgebungsluft.



Abwind am Rand
Siehe auch unten beliegendes Bild aus der Sim Connect SDK (SimConnect.htm )



Aufwind

Warum der normale Variometer der Thermik-Anzeige nachhinkt ist mir nicht klar, vielleicht muß der Flieger erst beschleunigt werden. Es bedarf noch vieler Tests um eindeutige Aussagen zu bekommen. Es ist allerdings auch nur eine Momentaufnahme . Man muß wohl Videos machen um präzise Aussagen machen zu können.

Bemerkung: Nach den ersten Versuchen habe ich den Anzeigebereich der Variometer verdoppelt also 2 m/s = 4 m/s usw.

Hat jemand von Euch bereits Erfahrungen mit einem kompensierten Variometer im FS2004 und vor allem mit Segelffliegen im FSX. Was sind Eure Bebachtugen zur Thermik ? Fliegt jemand von Euch die Schleicher ASK 21 (ask21ds.zip) im FS2004 /FSX ? ( Ich bin ja eigentlich kein Segelflieger, interessiere mich aber für die Technik, seit ich beim Durchforsten der SDK auf Hinweise zum Aufwind gestoßen bin ).

Eigentlich hätte ich gedacht, daß dieses Thema auch andere Forums-Mitglieder, die sich mit Segelflug im FSX befassen interessiert. Auch auf meinen Hinweis auf unterschiedlicher Thermik-Stärke im FSX hat leider niemand reagiert und sich bisher auch kein Szenerie-Experte gemeldet um meine Vermutungen zu bestätigen. (Thema: FSX Segelflug - Thermik doch mit verschiedener Stärke ?) http://www.wcm.at/forum/showthread.phpthreadid=205703

Carl
____________________________________
**~ In Memoriam Ron ~**
Carl Josef ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist an.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:43 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag