Beispiel einer ausgefeilten IMETER AdHoc Anwendung zur Messung von Flüssigkeits- und/oder Feststoffdichte und/oder Oberflächenspannung:
schnellste Messung!
sofortige Messung der Flüssigkeitsdichte - einfach intuitiv!
Es kann vorkommen, dass man vor allem schnell gewisse Stoffkennzahlen benötigt. Hier wird ein Beispiel vorgestellt, wie das IMETER-Framework für solche Aufgaben eingerichtet werden kann. Nach der Verfahrensbeschreibung finden Sie weiter unten den Quelltext des IMPros "schnellste Messung!" und Hinweise zur Nutzbarmachung. Die hier angewendete AIM-Technik ist auf der Seite zur AIM-Integration beschrieben. Der Videoclip dazu ist bei YouTube https://youtu.be/mg3DSjoZqvE zu finden.
Die sofortige Dichtemessung läuft so ab:
1. Der Anwender setzt die Messkörperaufhängung am Gerät ein. (Die IMETER-Software registriert an der Wägezelle das bestimmte Gewicht des Objekts und startet damit das zugeordnete IMPro "schnellste Messung!".)
und das IMPro "schnellste Messung" erkennt den Messkörper an seinem Trockengewicht und startet damit die fortwährende Ergebnisausgabe der Dichtemesswerte.
3. Der Anwender taucht den Messkörper einfach in das Probengefäß und liest das parallel angezeigte Ergebnis ab. Am Monitor werden fortlaufend die zum gemessenen Gewicht gehörigen Dichtewerte ausgegeben.
Oder etwas langsamer aber exakter nach folgendem Verfahren:
1. ... für etwas genauere Messungen - insbesondere dann, wenn die Probentemperatur von der Umgebungstemperatur abweicht - wird per Taste am IMETER-Gerät signalisiert, dass das IMPro "schnellste Messung" zu einem Alternativmodus der Dichtemessung mit Plattformsteuerung und Temperaturablesung wechselt.
Um Probe oder Messkörper zu wechseln, wird die START-Taste gedrückt woraufhin die Plattform nach unten fährt.
Messungen von Feststoffdichte und Oberflächenspannung - ebenso!
3. Nimmt der Prüfer den Dichtemesskörper von der Aufhängung ab, geht das IMPro "schnellste Messung!" in einen Bereitschaftszustand über. Setzt man nun z.B. eine bestimte Prüfkörperaufnahmen für die Feststoffdichtemessung ein, erfolgt eine assistierte Messung dieser Eigenschaft. Setzt man hingegen die Wilhelmy-Platte ein, folgt die Messung der Oberflächenspannung, ...
Das IMPro "schnellste Messung!" wird beendet durch Entnahme der Messkörperaufhängung oder per Stop-Taste. IMETER ist sofort bereit für gleiche, ähnliche oder ganz andere Aufgaben.
Das IMPro 'schnellste Messung!' (Download & Quelltext)
Das etwas längere Programm können Sie zusammen mit dem Abdruck des Quelltexts hier downloaden: ♦ schnellste Messung!.zip. Kopieren Sie bitte auch das gleichnamige Verzeichnis (das nur Bilder enthält) in das Media-Verzeichnis Ihres Rechners (root\Media\). Sie versetzen Ihr IMETER-Gerät in den Zustand diese Messungen auszuführen einfach durch den Aufruf des IMPros "schnellste Messung!". Damit wir uns über Einzelheiten des Ablaufs und des AIM-Programms online austauschen können, ist nachfolgend das IMPro mit der Dokumentierfunktion abgedruckt.
schnellste Messung! (M12)
MAIN PROGRAM - schnellste Messung! - V. - Apr 5 2019
- ——— '<FEEDBACK - PROGRAMM LÄUFT>' ———————————————————————————
- Accustic signal: ♪
- Stage light: active
- IDA-Out 5: active
- ——— '<GENERELLE EINSTELLUNG>' —————————————————————————————
- ƒ² Generaloption: invisibility
- ƒ² Generaloption: DEFINE P•O•D•Program
- [Number] "Bildanzeige" = 4 [n] mit "4" auf Vollbild, 1 auf Originalgröße ... ...
- ——— '<ANPASSUNGEN AN KONKRETES ZUBEHÖR ... AM ANFANG DES MESSPROGRAMMS>' ——
- [TEXT] "Name_to_compare_Property" = Wasser Hier einen Flüssigkeitsnamen aus der Datenbank angeben. Das ist die Referenz für die Ähnlichkeitsangabe im angezeigten Report.
- »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»
- ——— '<Bild der Ausganssituation zeigen>' ————————————————————————————
- ☞ [Massen-/Gewichtsangabe] WGrenzwert = 0,1 [g] Empfindlichkeitsparameter - Die Toleranz für die Gewichte, die Funktionen auslösen oder haben.
- [Absolute Höhe] "GanzUnten" = 1 [mm] unterste Lifthöhe.
- [Dichteangabe] "Luftdichte" = rhoL / 1000 -0,00015 [g/cm³] Luftdichte ist Systemvariable "rhoL" (in kg/m³) ... sie könnte/sollte aktuell bestim...
- ☞ [Massen-/Gewichtsangabe] WHaltehaken = 1,7703 [g] Gewicht des allgemeinen Hakens, durch abnehmen wird ggf. das Programm beendet.
- ——— 'Dichtemessung und Daten des DichteMesskörpers (AR-Glas)' ————————————————
- ☞ [Absolute Höhe] HDichtemessPosition = 72 [mm] Plattform-Niveauhöhe zur Standard-Dichtemessung an Flüssigkeiten. Abstimmung der Angabe auf Messkörper...
- ☞ [Volumenangabe] Messkörpervolumen = 10,0121 [cm³] Das Volumen der Flüssigkeitsdichtemesskörpers bei 25°C --- Volumen und Masse können sich mit dem G...
- ☞ [Zahlenangabe] MesskörperAlpha = 5 [n] Der lineare Ausdehungskoeffizient des Flüssigkeitsdichtemesskörpers in der Einheit 1E-6 /K für den Gebr...
- ☞ [Massen-/Gewichtsangabe] MesskörperMasse = 25,5366 [g] Die wahre Masse des Flüssigkeitsdichte-Messkörpers. Aus dieser wird das exakte Gewicht bei jew. Luf...
- WDichtemesskörper [g] = MesskörperMasse * (1- Luftdichte / rhoC )/( 1- ( Luftdichte / ( MesskörperMasse / Messkörpervolumen ))) ...
- »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»
- ☞ [Absolute Höhe] Umfang_WilhelmyPlatte = 40,02 [mm] der Umfang der Willhelmy Platte.
- ☞ [Massen-/Gewichtsangabe] WWilhelmyPlatte = 1,5306 [g] Das Gesamtgewicht der Wilhelmyplatte.
- ☞ [Absolute Höhe] HOFS_Wilhelmy_Starthöhe = 77,1 [mm] Plattform-Niveauhöhe - Position der Plattenunterkante zum Beginn der Messung der Oberflächenspannung e...
- »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»
- [Mass/Weight] "WHaken_zur_Festkörperdichtemessung" = 1,0881 [g]
- [Absolute Höhe] "HDichteFKmessPosition" = HDichtemessPosition + 9 [mm] Lifthöhe <beim typisiertem Aufbau> zur FestkörperDichtemessung
- »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»
- ☞ [Massen-/Gewichtsangabe] WKonfiguration = WHaltehaken + WHaken_zur_Festkörperdichtemessung [g] Gewicht, das die Konfigurationseite des Messprogramms au...
- »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»
- [Absolute Höhe] "StartIndikationH" = H [mm] ⇒ beim sofortigen Beenden Plattform in Starthöhe belassen!
- "NurDerAufhängehaken" = 'nein/aus' ⇒ dient als Funktionsschalter zum Beenden der Messung
- IF "abs( TARA ) - 15* Wres<0 [g]" THEN: 4 Lines forward
- CALL USER: 'Bitte zuerst noch Alle Lasten (z.B. den AufhängeHaken) von der Waage nehmen! Die "Tara" muss noch entfernt werden.' Confirmation: Keyboard or IMETER
- WEIGHING CELL: int.Tare
- [38] [112] [170] W_Haken [g] = 0
- [Zahlenangabe] "Zähler" = 0 [n]
- ƒ² (Multi-)Media/Show Picture: '…Messung1_Bereitschaft.bmp'
- WEIGHING CELL: I-Weighting : Analysis for 0,25[s] (streaming Data)
- IF "abs( W_ME + TARA ) - WGrenzwert >0 [g]" THEN: 5 Lines forward
- ——— '<die Drift der Waage durch internes tarieren korrigieren - wenn nichts auf der Waage>' ——————
- WEIGHING CELL: int.Tare
- ——— '<Warten, bis eine Laständerung >WGrenzwert auftritt>' ———————————————————
- WEIGHING CELL: I-Weighting : Analysis for 0,25[s] (streaming Data)
- [47] [Massen-/Gewichtsangabe] "W_Genau" = W_ME [g] Gesamtgewicht auf der Waage (ohne Tara)
- [55] WEIGHING CELL: I-Weighting : Analysis of '12' Values (streaming Data)
- [Massen-/Gewichtsangabe] "TotWeight" = W_ME [g]
- IF "ABS( W_Genau - TotWeight ) < 0,001 [g]" THEN: 2 Lines backward
- [178] [188] ——— 'Die Waage ist zu Beginn frei oder nicht ...' ————————————————————
- JUMP 3 Lines forward
- [64] [124] ƒ² (Multi-)Media/Show Picture: '…Messung1b_Luftzug.JPG '!! Die Waage ist unruhig! …'
- Accustic signal: ♪
- [59] WEIGHING CELL: I-Weighting : Analysis for 0,25[s] (streaming Data)
- LOOP: one line back, max.12-times OR UNTIL "W_SN <0,85 n" IS TRUE
- IF "last loop regular finished" THEN: 4 Lines backward
- [Massen-/Gewichtsangabe] "TotWeight" = W_ME [g]
- [130] [131] [138] [Textvariable] "AText" =
- IF "abs( TotWeight + TARA ) - WGrenzwert>0 [g]" THEN: 13 Lines forward
- END PROGRAMM IF "NurDerAufhängehaken.
- [Textvariable] "AText" = Die Waage ist frei.
- IF "Zähler >0" THEN: 6 Lines forward
- ƒ² (Multi-)Media/Show Picture: '…Messung1a_Basissetup.jpg '@AText@'
- ——— '<die Drift der Waage durch internes tarieren korrigieren - wenn nichts auf der Waage>' ——————
- • GenaueWägung
- WEIGHING CELL: int.Tare
- JUMP 2 Lines forward
- [71] ƒ² (Multi-)Media/Show Picture: '…Messung2_leere Aufhängung.jpg '@AText@'
- [76] JUMP 63 Lines forward
- ——— '<Durchlaufen aller ggf. auslösenden Gewichtsbedingungen --- Funktionsstart, wenn sich das Gewicht im jeweiligen Bereich befindet>' —
- [68] IF " TotWeight - WHaltehaken < WGrenzwert " AND " TotWeight - WHaltehaken + WGrenzwert >0" THEN: 1 Lines forward, OTHERWISE 5 LINES
- [81] [Textvariable] "AText" = Der Aufhängehaken ist eingehängt BEENDEN durch Abnehmen des Hakens
- ƒ² (Multi-)Media/Show Picture: '…Messung3_HakenHängt.jpg 'Hallo @AText@'>
- "NurDerAufhängehaken" = 'ja/an' ⇒ dient als Funktionsschalter zum Beenden der Messung
- JUMP 56 Lines forward
- IF " TotWeight - WHaltehaken - WDichtemesskörper < WGrenzwert " AND " TotWeight - WDichtemesskörper - WHaltehaken + WGrenzwert >0" THEN: 1 Lines forward, OTHERWISE 4 LINES
- [87] [Textvariable] "AText" = Der Dichtemesskörper ist am Aufhängehaken eingehängt.
- ƒ² (Multi-)Media/Show Picture: '…Messung4a_DichteMK hängt.jpg '@AText@'
- JUMP 51 Lines forward
- IF " TotWeight - WHaltehaken - WWilhelmyPlatte < WGrenzwert " AND " TotWeight - WWilhelmyPlatte - WHaltehaken + WGrenzwert >0" THEN: 1 Lines forward, OTHERWISE 5 LINES
- [92] [Textvariable] "AText" = Die Wilhemyplatte ist am Aufhängehaken eingehängt.
- ƒ² (Multi-)Media/Show Picture: '…Messung4a_Platte_hängt.jpg '@AText@'
- "NurDerAufhängehaken" = 'nein/aus'
- JUMP 45 Lines forward
- IF " TotWeight - WHaken_zur_Festkörperdichtemessung < WGrenzwert " AND " TotWeight - WHaken_zur_Festkörperdichtemessung + WGrenzwert >0" THEN: 1 Lines forward, OTHERWISE 6 LINES
- [98] [Textvariable] "AText" = Der Haken für die Festkörperdichte ist eingehängt.
- ƒ² (Multi-)Media/Show Picture: '….jpg '@AText@'
- "NurDerAufhängehaken" = 'nein/aus'
- JUMP 39 Lines forward
- IF " TotWeight - WKonfiguration < WGrenzwert " AND " TotWeight - WKonfiguration + WGrenzwert >0" THEN: 1 Lines forward, OTHERWISE 6 LINES
- [104] [Textvariable] "AText" = Der Auslöser für die Konfiguration ist eingesetzt.
- ƒ² (Multi-)Media/Show Picture: '…Berge.jpg '@AText@'
- ƒ² Programm: Editform 'Menue Variables'
- ƒ² Programm: Editform 'all Variables'
- ƒ² Programm: save this I-Programm
- "NurDerAufhängehaken" = 'nein/aus'
- IF " TotWeight - WKonfiguration < WGrenzwert " AND " TotWeight - WKonfiguration + WGrenzwert >0" THEN: Message (Stop): Bitte das Gewicht zur Konfigurationsaktivierung abnehmen!
- JUMP 70 Lines backward
- ——— '<Behandlung nicht identifizierbarer Lasten>' ————————————————————————
- Stage light: active
- Accustic signal: ♪
- "NurDerAufhängehaken" = 'nein/aus'
- [Textvariable] "AText" = Unbekanntes Gewicht liegt auf ... Bitte nehmen Sie zuerst einmal alle Lasten von Aufhängung.
- ƒ² (Multi-)Media/Show Picture: '…Messung4a_unbekannte_Last.JPG '@AText@ <Aktuelles Gew…'
- Wait: 0,900 s
- Stage light: off
- WEIGHING CELL: I-Weighting : Analysis for 0,25[s] (streaming Data)
- LOOP: one line back, max.20-times OR UNTIL "W_SN <0,7 n" IS TRUE
- IF "last loop regular finished" THEN: 64 Lines backward
- ——— '<Warten, bis unbekannte Last sich ändert ....>' ———————————————————————
- [Massen-/Gewichtsangabe] "W_Genau" = W_ME [g]
- [137] WEIGHING CELL: I-Weighting : Analysis for 0,25[s] (streaming Data)
- [Massen-/Gewichtsangabe] "TotWeight" = W_ME [g]
- ƒ² (Multi-)Media/Show Picture: '…Messung4a_unbekannte_Last.JPG '@AText@ @BText@'>
- IF "abs ( TotWeight ) - WGrenzwert <0 [g]" THEN: 63 Lines backward
- IF "abs ( TotWeight + TARA ) - WGrenzwert <0 [g]" THEN: 64 Lines backward
- IF " TotWeight - WHaltehaken < WGrenzwert " AND " TotWeight - WHaltehaken + WGrenzwert >0" THEN: 6 Lines forward
- IF " TotWeight < WHaltehaken " THEN: 3 Lines forward
- [Textvariable] "BText" = Am Haltehaken befindliches Gewicht @ TotWeight - WHaltehaken#g#3 @
- JUMP 2 Lines forward
- [133] [Textvariable] "BText" = Gewicht @ TotWeight#g#4 @
- [135] IF "abs ( W_Genau - TotWeight ) < 0,003 [g]" THEN: 10 Lines backward
- [132] JUMP 71 Lines backward
- [78] [85] [90] [96] [102] ——— '<Behandlung identifizierter Lasten>' ——————————————————
- IF "H - 0,1 < GanzUnten " THEN: 9 Lines forward
- Stage light: active
- [Textvariable] "AText" = Vorsicht - die Plattform bewegt sich schnell ganz nach U N T E N •
- ƒ² (Multi-)Media/Show Picture: ' using current Picture '@AText@'
- CALL USER: 'Bitte Prüfen, dass die Plattform sich sicher nach unten bewegen kann - dann diese Meldung bestätigen oder Abbrechen.' Confirmation: Keyboard or IMETER
- • Plattform nach Unten fahren
- »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»
- ——— '<OK hier nun alles geregelt --- "TotWeight" enthält die Information>' ———————————
- »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»
- [142] [Textvariable] "AText" =
- [Zahlenangabe] "Zähler" = 0 [n]
- IF " TotWeight > WGrenzwert " THEN: 10 Lines forward
- [Textvariable] "AText" = Die Waage ist frei
- [171] ƒ² (Multi-)Media/Show Picture: ' using current Picture '(1) Bitte Gefäß auf die Plattform stellen. (2) Ein…'
- [157] [161] Wait: 0,150 s
- IF "abs( W ) - WGrenzwert <0 [g ]" THEN: 1 Lines backward
- WEIGHING CELL: I-Weighting : Analysis for 0,35[s] (streaming Data)
- [Massen-/Gewichtsangabe] "TotWeight" = W_ME [g]
- IF " TotWeight > 10 * WGrenzwert " THEN: 3 Lines forward
- JUMP 5 Lines backward
- [153] [160] IF " TotWeight - WHaltehaken < WGrenzwert " AND/OR:" TotWeight - WHaltehaken + WGrenzwert >0" THEN: 10 Lines forward
- [Textvariable] "AText" = Der Aufhängehaken ist eingehängt BEENDEN durch Abnehmen des Hakens
- Zähler [n] = Zähler + 1
- IF "Zähler >1 [n]" THEN: 2 Lines forward
- Stage light: active
- [166] IF "Zähler <100 [n]" THEN: 2 Lines forward
- Stage light: off
- [168] IF "Zähler =5000 [n]" THEN: 128 Lines backward
- JUMP 16 Lines backward
- [163] IDA-Out 4: active
- IF " TotWeight - WHaltehaken - WDichtemesskörper < WGrenzwert " AND " TotWeight - WDichtemesskörper - WHaltehaken + WGrenzwert >0" THEN: 1 Lines forward, OTHERWISE 5 LINES
- [174] [Textvariable] "AText" = Der Dichtemesskörper ist am Aufhängehaken eingehängt. ** Noch einmal wiegen **
- • FlüssigkeitsDichte2
- "NurDerAufhängehaken" = 'nein/aus'
- JUMP 120 Lines backward
- IF " TotWeight - WHaltehaken - WWilhelmyPlatte < WGrenzwert " AND " TotWeight - WWilhelmyPlatte - WHaltehaken + WGrenzwert >0" THEN: 1 Lines forward, OTHERWISE 3 LINES
- [180] [Textvariable] "AText" = Die Wilhemyplatte ist am Aufhängehaken eingehängt. ** Noch einmal wiegen **
- • Oberflächenspannung
- IF " TotWeight - WHaken_zur_Festkörperdichtemessung < WGrenzwert " AND " TotWeight - WHaken_zur_Festkörperdichtemessung + WGrenzwert >0" THEN: 1 Lines forward, OTHERWISE 4 LINES
- [184] [Textvariable] "AText" = Der Haken zur Festkörperdichtemessung ist eingehängt. ** Noch einmal wiegen **
- • FestkörperDichte
- JUMP 130 Lines backward
- »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»
- »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»
- ƒ Sprungziel bei Abbruch - ggf. erfolgt Ausführung ohne Rückfrage!
- ƒ² Reporting: Close Windows
- IF "StartIndikationH = H " THEN: 6 Lines forward
- Stage light: active
- Z-MOVE: ⇳ "GanzUnten" v= 11,5 mm/s
- Stage light: off
- IDA-Out 5: off
- IDA-Out 4: off
- [194]
1a —÷— MENU-COMMAND —÷— ————————| Oberflächenspannung |——————————————————————
2a ƒ² (Multi-)Media/Show Picture: '…Messung5a_Platte hängt ein.jpg '@AText@'
3a [Textvariable] "AText" = Gewicht der frischen Wilhelmyplatte...
4a • GenaueWägung
5a IF "W_check = 0 [g]" THEN: 32 Lines forward
6a ƒ² (Multi-)Media/Show Picture: '…Messung6_Platte bewegt.jpg 'Messung beginnt - fahre Pl…'
8a Z-MOVE: ⇳ "HOFS_Wilhelmy_Starthöhe" v= 10,5 mm/s
9a ƒ² (Multi-)Media/Show Picture: '…Messung7_Platte misst.jpg 'Ertaste nun die Oberfläche .…'
10a [13] Z-MOVE: 0,150 mm UP v= 0,500 mm/s
11a LOOP: one line back, max.100-times OR UNTIL "dW>5 mg" IS TRUE
12a IF "last loop regular finished" THEN: Message (Stop): Oberfläche nicht gefunden? bitte jetzt manuell auf 1-5mm annähern ...
13a IF "last loop regular finished" THEN: 3 Lines backward
14a ƒ² (Multi-)Media/Show Picture: ' using current Picture 'Tauche Platte ein ....'
15a Z-MOVE: 4,000 mm UP v= 2,50 mm/s
16a ƒ² (Multi-)Media/Show Picture: ' using current Picture 'Ziehe Platte auf die Berührhöhe zurück ....'
17a Z-MOVE: 4,000 mm DOWN v= 0,9 mm/s
19a ƒ² (Multi-)Media/Show Picture: ' using current Picture'
20a -a-[31] WEIGHING CELL: I-Weighting : Analysis for '0,5' [s] (streaming Data)
21a -|- IF "W_ME - W_Genau >5 [g ]" THEN: 12 Lines forward
22a -a- LOOP: 2 lines back, max.20-times OR UNTIL "W_SN <0,9 n" IS TRUE
23a OFS__ [mN/m] = ( W_ME - W_Genau ) * g * 1000 / Umfang_WilhelmyPlatte
24a [Temperaturangabe] "aktlTemp" = T [°C]
25a Zähler [n@] = @ Zähler + 1
27a ——— '... permanente Anzeige der Oberflächenspannung:' ———————————————————
28a ƒ² Reporting/Property Report: 'Surface Tension ⇒ Name_to_compare_Property'
29a IF "OFS__ >200 [mN/m ]" AND/OR:" OFS__ <-10 [mN/m ]" THEN: 4 Lines forward
30a IF "last loop regular finished" THEN: Message (Stop): Keine stabile Kraftmessung! Berührt die Wilhelmyplatte die Gefäßwand ...?
31a JUMP 11 Lines backward
33a [21] [29] ƒ² Reporting: Close Report
34a ƒ² (Multi-)Media/Show Picture: '…Messung6_Platte bewegt.jpg 'Messung beendet - fahre Pla…'
35a • Plattform nach Unten fahren
36a ƒ² (Multi-)Media/Show Picture: '…Messung1a_Basissetup.jpg 'Setzten Sie einen Messkörper …'
- [5] ═════════════════════════════════════════ • Oberflächenspannung•|
1b —÷— MENU-COMMAND —÷— ————————| FlüssigkeitsDichte |————————————————————————
2b ——— 'Hier sollte der Messkörper trocken & sauber sein - Gewicht von Haltehaken und Messkörper müssen aber immer exakt sein!!' —
3b ƒ² (Multi-)Media/Show Picture: '…Messung5a_DichteMK hängt ein.jpg '@AText@'
4b [Textvariable] "AText" = Gewicht des Dichtemesskörpers ...
5b • GenaueWägung
6b IF "W_check = 0 [g]" THEN: 33 Lines forward
7b W_Haken [g] = W_Genau - WDichtemesskörper - WHaltehaken ... sollte "0" sein, wenn Körper sauber. Ist entspr. größe...
8b ——— 'Hier muss der Messkörper total sauber & trocken sein - Gewicht vom Haltehaken muss nicht exakt sein!!' —
9b W_Haken [g] = 0 <entfernen wenn doch Korrektur ...>.
11b Wägewert_Netto_(Luft) [g] = W_Genau - WHaltehaken - W_Haken
13b ƒ² (Multi-)Media/Show Picture: '…Messung6_DichteMK bewegt.jpg '.... Fahre jetzt zur Mess…'
14b Z-MOVE: ⇳ "HDichtemessPosition" v= 10,5 mm/s
15b ƒ² (Multi-)Media/Show Picture: '…Messung7_Dichtemessung.jpg'
16b Stage light: active
17b -b-[21] [33] WEIGHING CELL: I-Weighting : Analysis for '0,5' [s] (streaming Data)
18b -|- IF "W_ME - WDichtemesskörper - WHaltehaken > WGrenzwert" THEN: 19 Lines forward
19b -b- LOOP: 2 lines back, max.20-times OR UNTIL "W_SN <0,9 n" IS TRUE
20b IF "last loop regular finished" DEFINE: 'AText = Messkörper bitte für berührungsfreies Hängen sorgen - er muss ganz eintauchen und darf nirgends berühren ... [TEXT]'
21b IF "last loop regular finished" THEN: 4 Lines backward
22b Wägewert_Netto_(getaucht) [g] = W_ME - WHaltehaken - W_Haken
23b ——— '<Temperaturkorrektur der MK-Dichte ...?>' ———————————————————————
24b [Temperaturangabe] "aktlTemp" = T [°C]
25b Volumen_Fk [cm³] = Messkörpervolumen *(1 + 3* MesskörperAlpha *1e-6*( aktlTemp - 25))
26b Dichte_Fl [g/cm³] = Luftdichte +( Wägewert_Netto_(Luft) - Wägewert_Netto_(getaucht) ) / Volumen_Fk
27b Zähler [n@] = @ Zähler + 1
28b ☝ [Textvariable *] "BText"
30b ——— '... permanente Anzeige des Dichtewertes:' ———————————————————————
31b ƒ² Reporting/Property Report: 'Density (liqu.) ⇒ Name_to_compare_Property'
32b IF "Dichte_Fl >2 [g/cm³ ]" AND/OR:"Dichte_Fl <0,1 [g/cm³ ]" THEN: 5 Lines forward
33b IF "Dichte_Fl <2 [g/cm³ ]" AND "Dichte_Fl >0,1 [g/cm³ ]" THEN: 16 Lines backward
35b ƒ² Reporting/Property Report: 'Density (liqu.) ⇒ Name_to_compare_Property'
36b ƒ² (Multi-)Media/Show Picture: '…Messung4a_DichteMK hängt.jpg 'Tauschen Sie die Probe un…'
37b [18] [32] ƒ² Reporting: Close Report
38b • Plattform nach Unten fahren
- [6] ══════════════════════════════════════════• FlüssigkeitsDichte•|
1c —÷— MENU-COMMAND —÷— ————————| FlüssigkeitsDichte2 |———————————————————————
2c ——— 'Messkörper kann total sauber & trocken oder feucht mit vergleichbarer Flüssigkeit sein - Gewicht vom Haltehaken muss exakt sein!!' —
3c ——— '*** Wenn Messkörper zusammen mit dem Haltehaken eingesetzt wird - bleibt der Tisch unten und man kann manuell den Becher unter den MK halten!' —
4c IF "NOT NurDerAufhängehaken" THEN: 3 Lines forward
5c [41] ƒ² (Multi-)Media/Show Picture: '…Messung6_DichteMK bewegt.jpg '.... Fahre jetzt zur Mess…'
6c Z-MOVE: ⇳ "HDichtemessPosition" v= 10,5 mm/s
7c [4] ƒ² (Multi-)Media/Show Picture: '…Messung7_Dichtemessung.jpg'
8c Stage light: active
9c -c-[15] [30] WEIGHING CELL: I-Weighting : Analysis of '7' Values (streaming Data)
10c -|- IF "NOT NurDerAufhängehaken" THEN: 6 Lines forward
11c -|- IF "iKEY=32 [n]" THEN: 21 Lines forward
12c -|- IF "W_ME - WDichtemesskörper - WHaltehaken > WGrenzwert " THEN: 20 Lines forward
13c -c- LOOP: 4 lines back, max.20-times OR UNTIL "W_SN <0,9 n" IS TRUE
14c IF "last loop regular finished" DEFINE: 'AText = Messkörper bitte für berührungsfreies Hängen sorgen - er muss ganz eintauchen und darf nirgends berühren ... [TEXT]'
15c IF "last loop regular finished" THEN: 6 Lines backward
16c [10] [Temperaturangabe] "aktlTemp" = T [°C]
17c IF "iKEY =4 [n]" AND/OR:"iKEY =2 [n]" THEN: Message (Stop): Move up/down?
18c IF "iKEY=32 [n]" THEN: 14 Lines forward
19c Wägewert_Netto_(getaucht) [g] = W_ME - WHaltehaken
20c ——— '<Temperaturkorrektur des MK-Volumens>' ———————————————————————
21c Volumen_Fk [cm³] = Messkörpervolumen *(1 + 3* MesskörperAlpha *1e-6*( aktlTemp - 25))
22c ——— '<Messkörper wird hier ja nicht an Luft gewogen ... das Gewicht ist aus der Masse berechnet! >' —
23c Dichte_Fl [g/cm³] = Luftdichte +( WDichtemesskörper - Wägewert_Netto_(getaucht) ) / Volumen_Fk
24c Zähler [n@] = @ Zähler + 1
26c ——— '... permanente Anzeige des Dichtewertes:' ———————————————————————
27c ƒ² Reporting/Property Report: 'Density (liqu.) ⇒ Name_to_compare_Property'
28c IF "Dichte_Fl >2,5 [g/cm³ ]" AND/OR:"Dichte_Fl <-0,2 [g/cm³ ]" THEN: 4 Lines forward
29c IF "iKEY=32 [n]" THEN: 3 Lines forward
30c JUMP 21 Lines backward
32c [11] [12] [18] [28] [29] ƒ² Reporting: Close Report
33c ƒ² (Multi-)Media/Show Picture: '…Messung6_DichteMK bewegt.jpg '.... Fahre Plattform zur …'
34c [Zahlenangabe] "Zähler" = 0 [n]
35c • Plattform nach Unten fahren
36c ——— 'Option weitere Messung, wenn - und solange - Messkörper hängen bleibt ...' ————————
37c [Textvariable] "AText" = Prüfung des Dichtemesskörpers ...
38c • GenaueWägung
39c IF "W_Genau - WDichtemesskörper < WHaltehaken " THEN: 4 Lines forward
40c ƒ² (Multi-)Media/Show Picture: '…Messung4a_DichteMK hängt.jpg 'Probe wechseln ⇒ START d…'
41c IF "W - WDichtemesskörper >= WHaltehaken " THEN: 36 Lines backward
- [39] ═════════════════════════════════════════ • FlüssigkeitsDichte2•|
1d —÷— MENU-COMMAND —÷— ————————| FestkörperDichte |————————————————————————
2d ——— '<genaue Wägung des Hakens... der sich mit der Zeit etwas verändern kann ... >' ———————
3d • GenaueWägung
4d IF "W_check = 0 [g]" THEN: 38 Lines forward
5d W_Haken [g] = W_ME
6d ƒ² (Multi-)Media/Show Picture: '….jpg 'Feststoffdichtemessung: - Jetzt bItte den Prü…'
7d ƒ² (Multi-)Media/Show Picture: '….jpg 'Wiegen des Prüfkörpers ... erfolgt'
8d • GenaueWägung
9d IF "W_Genau - W_Haken - WGrenzwert < 0 [g]" THEN: 33 Lines forward
10d IF "W_check = 0 [g]" THEN: 32 Lines forward
11d Wägewert_Netto_(Luft) [g] = W_Genau - W_Haken
13d ƒ² (Multi-)Media/Show Picture: '… FKDichte1'
14d Z-MOVE: ⇳ "HDichteFKmessPosition" v= 10,5 mm/s
15d ƒ² (Multi-)Media/Show Picture: '… FKDichte2'
16d -d-[20] [25] [38] WEIGHING CELL: I-Weighting : Analysis for '0,5' [s] (streaming Data)
17d -|- IF "W_ME - W_Genau > WGrenzwert " THEN: 23 Lines forward
18d -d- LOOP: 2 lines back, max.20-times OR UNTIL "W_SN <0,9 n" IS TRUE
19d IF "last loop regular finished" DEFINE: 'AText = Messkörper bitte für berührungsfreies Hängen sorgen - er muss ganz eintauchen und darf nirgends berühren ... [TEXT]'
20d IF "last loop regular finished" THEN: 4 Lines backward
21d [Temperaturangabe] "aktlTemp" = T [°C]
22d Dichte_Fl [g/cm³] = ( 6,5592063E-05 * aktlTemp ^5 - 1,1225639E-02 * aktlTemp ^4 + 1,0026530 * aktlTemp ^3 - 90,968893 * aktlTemp ^2 + 679,48991 * aktlTemp + 9998425,9 ) /1E7
23d Wägewert_Netto_(getaucht) [g] = W_ME - W_Haken
24d IF "Wägewert_Netto_(Luft) - Wägewert_Netto_(getaucht) =0 [g]" THEN: Message (Stop): Keine Flüssigkeit??? (Beenden!)
25d IF "Wägewert_Netto_(Luft) - Wägewert_Netto_(getaucht) =0 [g]" THEN: 9 Lines backward
26d Volumen_Fk [cm³] = ( Wägewert_Netto_(Luft) - Wägewert_Netto_(getaucht) ) / ( Dichte_Fl - Luftdichte ) Format-6 V=(W1-W2)/(rhoFl-RhoLuft)
27d ——— '-- Näherung für die MASSE über die klassische Formel' ——————————————————
28d Masse_Fk [g/cm³] = Dichte_Fl * Wägewert_Netto_(Luft) / ( Wägewert_Netto_(Luft) - Wägewert_Netto_(getaucht) )
29d ——— '-- Berechnung über rho = m / V ...' ———————————————————————————
30d Dichte_Fk [g/cm³] = Wägewert_Netto_(Luft) * (1- Luftdichte / Masse_Fk )/( 1- ( Luftdichte / ( rhoC ))) / Volumen_Fk Format4 m/V
31d Zähler [n] = Zähler + 1
33d ——— '... permanente Anzeige des Dichtewertes:' ———————————————————————
34d ƒ² Reporting/Property Report: 'Density (Solid) ⇒ '
35d IF "Dichte_Fk >23 [g/cm³ ]" AND/OR:"Dichte_Fk <0,01 [g/cm³ ]" THEN: 5 Lines forward
36d IF "abs( Dichte_Fk - Dichte_Fl ) - 0,001 <0 [g/cm³ ]" THEN: 4 Lines forward
37d IF " W_ME + 0,5* WGrenzwert - WHaken_zur_Festkörperdichtemessung <0" THEN: 3 Lines forward
38d JUMP 22 Lines backward
40d [17] [35] [36] [37] ƒ² Reporting: Close Report
41d • Plattform nach Unten fahren
- [4] [9] [10] ═════════════════════════════════════════ • FestkörperDichte•|
1e —÷— MENU-COMMAND —÷— ————————| GenaueWägung |—————————————————————————
2e IDA-Out 3: active
3e ƒ² (Multi-)Media/Show Picture: ' using current Picture '@AText@'
4e -e- [Massen-/Gewichtsangabe] "W_check" = W [g] wenn über die Wägung, die etwas dauern kann, der Anwender die Last doch entfernt ... dann soll diese übe...
5e -|- Wait: 0,050 s
6e -e- LOOP: 2 lines back, max.12-times OR UNTIL "abs( W_check - W ) - Wres <=0 g" IS TRUE
7e Stage light: off
8e [11] WEIGHING CELL: I-Weighting : Analysis for 0,25[s] (streaming Data)
9e LOOP: one line back, max.20-times OR UNTIL "W_SN <0,9 n" IS TRUE
10e IF "last loop regular finished" THEN: Message (Stop): Messkörper bitte ruhig stellen ...
11e IF "last loop regular finished" THEN: 3 Lines backward
12e ——— 'Wägung bei minimaler Standardabweichung ...' ——————————————————————
13e [16] [17] [18] [Zahlenangabe] "Wdummy" = W_SN [n]
14e [Massen-/Gewichtsangabe] "n_check" = W_ME [g]
15e WEIGHING CELL: I-Weighting : Analysis for 0,5[s] (streaming Data)
16e IF "Wdummy > W_SN " THEN: 3 Lines backward
17e IF "W_SN >0,8 [n]" THEN: 4 Lines backward
18e IF "ABS( n_check - W_ME ) - 2* Wres >0 [n]" THEN: 5 Lines backward
19e [Massen-/Gewichtsangabe] "W_Genau" = W_ME [g] Gewicht von Messkörper und Aufhängung
20e [Massen-/Gewichtsangabe] "W_uGenau" = W_sa [g] Standardabweichung der Wägung
21e Stage light: active
22e IF "abs( W_check - W ) -12* WGrenzwert > 0 [g]" DEFINE: 'W_check = 0 [n]'
23e IDA-Out 3: off
- ══════════════════════════════════════════• GenaueWägung•|
1f —÷— MENU-COMMAND —÷— ————————| Plattform nach Unten fahren |————————————————————
2f ——— 'Die Plattform soll in passender Geschwindigkeit bewegt werden (kurze Strecken nicht schnell!!)!' —
3f IF "H <= GanzUnten " THEN: 5 Lines forward
4f [Geschwindigkeitsangabe] "Plattformgeschwindigkeit" = H - GanzUnten /2,5 [mm/s] Geschwindigkeit für 2,5 Sekunden (oder Max oder min)
5f IF "Plattformgeschwindigkeit >15 [mm/s]" DEFINE: 'Plattformgeschwindigkeit = 15 [mm/s]'
6f IF "Plattformgeschwindigkeit <1 [mm/s]" DEFINE: 'Plattformgeschwindigkeit = 1 [mm/s]'
7f Z-MOVE: ⇳ "GanzUnten" v= "Plattformgeschwindigkeit" mm/s
8f [3] Stage light: off
- ═════════════════════════════════════════ • Plattform nach Unten fahren••|