Aufbau eines Analyseskripts
- Aktualisiert2025-12-02
- 2 Minute(n) Lesezeit
Sie können Analyseskripte für die Analyse-Automatisierung in Visual Basic Script oder Python erstellen. Die Analyse-Automatisierungsprozedur enthält ein Skript (Main.vbsa oder Main.py), in dem Sie Ihre Analysen definieren. In dieses Skript können Sie weitere Skripte einbinden, die Sie zur Analyse-Automatisierungsprozedur hinzufügen müssen. Das Analyseskript Main.vbsa oder Main.py enthält standardmäßig die folgenden Elemente.
| Skript-Code | Beschreibung |
|---|---|
| On_Initialize(oContext) | Initialisiert die parallele Auswertung. Diese Methode wird vor der Datenverarbeitung einmal aufgerufen. |
| On_RunAnalysisProcedure(oContext) | Führt die eigentliche Analyse der gefundenen Datenelemente durch.
|
| On_Finalize(oContext) | Beendet die parallele Auswertung. Die Methode wird einmalig nach Beendigung der Datenverarbeitung aufgerufen. |
Der Austausch der Informationen zwischen der Analyse-Automatisierung und dem Analyseskript und der Zugriff auf die gefundenen Datenelemente erfolgen mit dem Übergabeparameter oContext.
Das Analyseskript main.py enthält zusätzlich folgende Elemente.
| Skript-Code | Beschreibung |
|---|---|
Import DIAdem dd = DIAdem.Application | Ermöglicht den Zugriff auf Befehle, Variablen und Objekte von DIAdem. Sie können die meisten DIAdem-Befehle auch in der Python-Umgebung verwenden, allerdings wurden nicht alle DIAdem-Befehle in Python getestet. |
Die folgende Tabelle enthält die wichtigsten DIAdem-Befehle und -Methoden zur Verarbeitung von Daten.
| Skript-Code | Beschreibung |
|---|---|
| ApplicationSetLocale("german") | Setzt länderspezifische Variablen und Größen, beispielsweise das Zeitformat, das Papierformat und die Randabstände. |
| oContext.DataLinks | Enthält die gefundenen Datenelemente. |
| Navigator.LoadData | Lädt Daten. |
| ChannelsToArray | Wandelt DIAdem-Kanäle zur Verarbeitung in Python in Datenfelder um. |
| ArrayToChannels | Wandelt Python-Datenfelder in DIAdem-Kanäle um. |
| DataFileSave | Speichert Daten. |
Folgende Befehle dürfen Sie in Analyseskripten nicht verwenden:
- Befehle, die eine Interaktion erfordern.
- Befehle, die die DIAdem-Oberfläche ansteuern.
- Befehle, die das Modul VIEW ansteuern.
- Befehle, die Microsoft Office oder andere Anwendungen ansteuern.
Das folgende Beispiel zeigt ein Analyseskript in Visual Basic Script. Die Prozedur On_Initialize prüft, ob der Ergebnispfad aus dem Übergabeparameter existiert. Die Prozedur On_Run_AnalysisProcedure lädt die zu analysierenden Elemente, führt Analysen durch und gibt die Ergebnisse als PDF aus. Die Prozedur On_Finalize prüft, ob die Prozeduren On_Initialize und On_Run_AnalysisProcedure erfolgreich waren:
Sub On_Initialize(oContext)
Call ApplicationSetLocale("english")
Dim ResultsPath
If oContext.Procedure.Arguments.Exists("ResultsPath") Then
ResultsPath = oContext.Procedure.Arguments.Item("ResultsPath").Value
Call oContext.LogResult("Results path: " & ResultsPath)
Else
Call oContext.LogError("Results path missing")
End If
End Sub
Sub On_Run_AnalysisProcedure(oContext)
Call ApplicationSetLocale("english")
Dim ResultsPath
ResultsPath = oContext.Procedure.Arguments.Item("ResultsPath").Value
Dim oMyDataLinks, iCount
Set oMyDataLinks = oContext.DataLinks
For iCount = 1 To oMyDataLinks.Count
Call Navigator.LoadData(oContext.DataLinks.Item(iCount))
' Enter your analysis commands
Next
Call Report.LoadLayout(oContext.Procedure.ScriptPath & "MyLayout.tdr")
Call Report.Sheets.ExportToPDF(ResultsPath & & "MyResult.pdf",FALSE)
End Sub
Sub On_Finalize(oContext)
Call oContext.LogResult("Init ok: " & oContext.Status.On_Initialize_Succeeded)
Call oContext.LogResult("Analysis ok: " & oContext.Status.On_Run_AnalysisProcedure_Succeeded)
End Sub