Skip to main content

FVA-Workbench KnowledgeBase

Batchbetrieb

Der Batchbetrieb kann verwendet werden, um Scripte vollständig automatisch auszuführen. Im Batchbetrieb startet FVA-Workbench ohne grafische Oberfläche, führt definierte Scripte hintereinander aus, legt die Berechnungsergebnisse ab und beendet sich.

batch_operation.png

Eingabe- und Ausgabedateien, die im Batchbetrieb verwendet werden

Verzeichnisstruktur

batch_folder.png

Beispielhafte Verzeichnisstruktur für einen Batch-Job

  1. Batchdatei (.cmd) Definition von Startparametern für die FVA-Workbench.

  2. Jobdefinition (.wbj) Definition der Pfade für die Ein- und Ausgabedateien.

  3. Berechnungsscript (.wbjs) Scriptdatei mit den Berechnungsanweisungen.

  4. Getriebemodell (.wbpz) FVA-Workbench Projektdatei, die das zu berechnende Getriebemodell enthält.

  5. Protokolldatei (.txt) Wird während der Batchausführung erstellt und enthält Meldungen zur Fehlerbehebung.

Jobdatei (.wbj)

In dieser Datei werden die Pfade für die Ein- und Ausgabedateien definiert. Zudem können eigene Variablen definiert werden. Diese können später im Skript angesprochen werden. Hierdurch können Variablen zentral geändert werden, ohne das Skript verändern zu müssen.

Hinweis

Pfade können absolut oder relativ zum Verzeichnis in dem die .wbj oder .cmd Datei liegt angegeben werden.

[Control]
1InputDirectory = "input\"
2InputModel = transmission.wbpz
3InputScript1 = calculation_script.wbjs
4ErrorReport = "output\log.txt"

5[VariablesToInject]
6resultDirectory = "output\result_report.html"
7reportTemplate = "input\template.wbrep"
8InputTorque_to_inject = "500"

1

Verzeichnis für Eingabedateien

2

Name der FVA-Workbench Projektdatei

3

Name des ersten Scripts das ausgeführt wird

4

Verzeichnis und Name der Protokoll Datei

5

Alle folgenden Variablen sind optional. Sie können im Berechnungsscript (.wbjs) verwendet werden.

6

Injizierte Pfadvariable für den Ergebnisreport (Kann in der Scriptdatei .wbjs verwendet werden)

7

Injizierte Pfadvariable für eine Reportvorlage

8

Weiteres Beispiel für eine injizierte Variable (Drehmoment)

Jobliste (.wbjlist)

In einer .wbjlist-Datei (Job-Liste) können mehrere .wbj-Dateien referenziert werden. Diese werden beim Ausführen der .wbjlist automatisch hintereinander ausgeführt. Die FVA-Workbench wird dabei nur einmal gestartet. Auch hier können optional Variablen "injiziert" werden, die dann von jedem Script verwendet werden können.

[Control]
job1=pathTo/jobFile.wbj
job2=pathToAnother/jobFile.wbj

[VariablesToInject]
InputTorque="500"

Der Aufruf einer .wbjlist in der .cmd Datei sieht dann folgendermaßen aus: \FVA-Workbench.exe -WBJobList="WB-Job.wbjlist"

Scriptdatei (.wbjs)

Die Scriptdatei enthält alle Anweisungen, mit denen das Getriebemodell manipuliert wird. Es empfiehlt sich, das Script vor der Ausführung im Batchbetrieb im Scripting Editor der FVA-Workbench zu testen. Nur wenn eine manuell gestartete Berechnung innerhalb der FVA-Workbench korrekte Ergebnisse erzeugt, wird auch die Berechnung mittels Batchbetrieb erfolgreich sein.

Beispiel - Script, in dem injizierten Variablen (siehe .wbj-Datei) verwendet werden

gearUnitID = 1;
forceID = 10;
let torque = torque_to_inject;
let reportTemplatePath = reportTemplate;
let reportPath = resultDirectory;

setAttr("scaled torque", forceID, torque, EDAT);
runCalcMethod("001_SYSTEM_CALCULATION", gearUnitID);
generateReport(reportTemplatePath, reportPath);

Im Script wird das Drehmoment einer Belastungskomponente auf den Wert einer injizierten Variable gesetzt und im Anschluss eine Gesamtsystemberechnung gestartet. Anschließend wird ein HTML-Ergebnisreport unter Zuhilfenahme der injizierten Pfadvariablen erzeugt.

Getriebemodell (.wbpz/.wbpx)

Die Grundlage für den Batchbetrieb bildet ein FVA-Workbench Modell (.wbpz / .wbpx Datei). Es muss ausreichend bedatet sein, um die gewünschten Berechnungen ausführen zu können. Nur wenn eine manuell gestartete Berechnung innerhalb der Workbench korrekte Ergebnisse erzeugt, wird auch die Berechnung mittels Batchbetrieb erfolgreich sein.

Über die Funktion loadModel() können im Batchbetrieb zur Laufzeit andere Getriebemodelle geladen, manipuliert und berechnet werden.

Batchdatei (.cmd)

Mit der optionalen Batchdatei können mehrere Parameter für den Start der FVA-Workbench angebeben werden. Grundsätzlich genügt es eine Textdatei zu erstellen, die den Pfad zur FVA-Workbench.exe und einen Pfad zur Jobdefinition (.wbj) enthält.

C:\FVA\FVA-Workbench-6.0\FVA-Workbench.exe -WBJob="C:\WB_job\WB-Job.wbj"

Headless Modus (keinen Startbildschirm anzeigen)

C:\FVA\FVA-Workbench.exe -WBJob="C:\WB_job\WB-Job.wbj" -nosplash

Lizenz als Parameter angegeben

Parameter für Client-Lizenz

C:\FVA\FVA-Workbench.exe -WBJob="C:\WB_job\WB-Job.wbj" -Lic="CLic;C:\Lizenzen\Lic12345.lic"

Parameter für Server-Lizenz

C:\FVA\FVA-Workbench.exe -WBJob="C:\WB_job\WB-Job-Demo.wbj" -Lic="SLic;license.fva-service.de:5006;Li13270;username;password"

Hinweis

Ist die über den Parameter angegebene Lizenz ungültig, wird versucht die Lizenz zu laden, die in den FVA-Workbench Einstellungen angegeben ist.

Protokolldatei (.txt)

In der Jobdatei (.wbj) wird in der Variable ErrorReport definiert, wo die Protokolldatei abgelegt werden soll. Für eine leichtere Fehlerbehebung werden hier alle Hinweise, Warnungen und Fehler die bei der Ausführung aufgetreten sind gespeichert.

Beispiel für eine .log Protokolldatei

08.09.2020 10:57:32, start processing new job wb_job_demo.wbj

input directory: input
input model (file in input directory): transmission.wbpz
count of scripts: 1
input script 1 (file in input directory): CalculationScript.wbjs
variables to inject into the script context:
	ResultFilePath=output\result.txt
	TempDirectory=temp\
	InputTorque_to_inject=500
	OutputDirectory=output\
	HTML_TemplatePath=input\report_template.wbrep
	HTML_ResultFilePath=output\result.html
 
loading the model returns status: 0 ()

Beispiel

Im Installationsverzeichnis der FVA-Workbench unter: FVA-Workbench\plugins\de.fva.workbench.ui.intro_6.0.0\doc\batch_example ist ein vollständiger Batch-Job hinterlegt. Die Datei start _job.cmd startet die Batch-Ausführung.

Folgende Aktionen werden in diesem Batch-Job durchgeführt:

  1. Berechnungsschalter für die Gesamtsystemberechnung werden gesetzt.

  2. Drehmoment der ersten Belastung wird per (injizierter Variable "InputTorque_to_inject") auf 500 Nm gesetzt.

  3. Gesamtsystemberechnung wird ausgeführt.

  4. Ergebnisattribute (RDAT) auf der Komponente "cylindrical_mesh" (für alle Stufen im Getriebe) lesen.

  5. Ergebnisattribute werden in eine ASCII-Textdatei geschrieben.

  6. Ergebnisattribute (RDAT) auf der Komponente "notch" (für alle Kerbstellen im Getriebe) lesen.

  7. Ergebnisattribute werden in die ASCII-Textdatei geschrieben.

  8. HTML Report wird generiert.