Skriptbeispiel: Integration eines Editors für Schneider Modsoft Komponenten¶
Diese Skriptlösung ermöglicht eine Optimierung im Handling von Schneider Modsoft Komponenten.
Erforderliche Dateien für diese Skriptfunktion¶
Dateiname | Beschreibung | Funktionsweise |
---|---|---|
ScriptBeforeEdit.exe | Wird im Skriptpaket bereitgestellt | Verknüpft in Abhängigkeit von der Komponententyp-ID die Projektdatei konfigurierbar mit einem Editor |
ScriptBeforeEdit.ini | Kann mit einem Texteditor bearbeitet werden | Definiert das Skript BeforeEdit für eine bestimmte Komponententyp-ID |
SchneiderModsoft.script | Kann mit einem Texteditor bearbeitet werden | Skript, das durch den Skript-Interpreter verarbeitet wird |
ModsoftCaller.bat | Kann mit einem Texteditor bearbeitet werden | Batchdatei zum Aufruf des Modsoft-Editors oder eines anderen Editors |
Voraussetzungen für die Skriptlösung¶
- Der Schneider Modsoft Editor muss auf allen Rechnern installiert und lizenziert sein, für welche die Editorintegration im Zusammenspiel mit dem UserClient eingerichtet werden soll.
- Es wird empfohlen, dass sich die Modsoft-Installation bei allen Rechnern im gleichen Verzeichnis befindet (Beispiel
C:\Modsoft\editor
).
Skript einrichten¶
SkriptBeforeEdit.exe aktivieren¶
Kopieren Sie die Applikation in die Registerkarte Server-Skriptverzeichnis zur automatischen Client-Aktualisierung.
SkriptBeforeEdit.ini bearbeiten¶
Wir empfehlen Ihnen, eine möglicherweise bereits vorhandene Datei ScriptBeforeEdit.ini
aus dem Server-Skriptverzeichnis zur automatischen Client-Aktualisierung zu ergänzen. Wenn diese Datei (noch) nicht vorhanden ist, verwenden Sie bitte die Vorlage aus dem Skriptpaket.
- Aktivieren Sie das Schneider Modsoft-Skript, indem Sie in der Sektion [General] die Verbindung von der Komponententyp-ID zum Skript eintragen.
- Sollen mehrere unterschiedliche Komponententypen mit dem Skript gekoppelt werden, ist für jede Komponententyp-ID ein neuer Eintrag vorzunehmen.
- Speichern Sie die Datei.
- Kopieren Sie die Datei in die Registerkarte Server-Skriptverzeichnis zur automatischen Client-Aktualisierung.
Beispiel:
Konkretes Beispiel:
SchneiderModsoft.script bearbeiten¶
- Öffnen Sie die Datei
SchneiderModsoft.script
im Texteditor. - Nehmen Sie ggf. die in der nachfolgenden Tabelle aufgelisteten Anpassungen vor.
- Speichern Sie die Datei.
- Kopieren Sie die Datei in die Registerkarte Server-Skriptverzeichnis zur automatischen Client-Aktualisierung.
Skript¶
Function ScriptBeforeEdit
{
$def::var1 = C:\Modsoft\Editor
$def::var2 = $func::getfilename($vdog::specific->SelectedFile)
$def::var3 = $func::getshortdir($vdog::specific->WorkingDir)
// Create UPF file:
file.create $def::var1\$def::var2.upf
{
write.line rt_directory $def::var1\RUNTIME
write.line tmp_directory $def::var1\TMP
write.line files_directory $def::var3
write.line names_directory $def::var
}
// Customize ENV:
file.replace $def::var3\$def::var2.env
{
row.1 $def::var3\
row.2 $def::var3\
row.3 $def::var3\
row.4 $def::var3\
row.5 $def::var3\
}
// Update Modsoftcaller:
file.copy
{
source $vdog::myrundir\ModsoftCaller.bat
dest $def::var1\ModsoftCaller.bat
}
// Execute Modsoft batch:
call $def::var1\ModsoftCaller.bat
{
arg $def::var2.upf
arg $def::var2.env
wait 0
}
done
}
Anpassungen¶
Zeile 3:
Hier den absoluten Pfad zum Modsoft-Editor anpassen
Zeile 37:
In diesem Beispiel wird nur der Dateiname als Argument übergeben. Für eine absolute Angabe der UPF-Datei lautet diese Zeile: arg $def::var1\$def::var2.upf.
Zeile 38:
In diesem Beispiel wird nur der Dateiname als Argument übergeben. Für eine absolute Angabe der ENV-Datei lautet diese Zeile: arg $def::var3\$def::var2.upf.
Zeile 39:
Zeile entfernen, wenn gewartet werden soll, bis der Editor beendet wird.
ModsoftCaller.bat bearbeiten¶
-
Öffnen Sie die Datei
ModsoftCaller.bat
im Texteditor. -
Passen Sie ggf. das Verzeichnis des Modsoft-Editors an.
- Sie können hier auch eine andere Applikation aufrufen (Bsp.: den USB-Treiber für die Modbusplus-Kopplung).
- Speichern Sie die Datei.
- Kopieren Sie die Datei in die Registerkarte Server-Skriptverzeichnis zur automatischen Client-Aktualisierung.