- Beiträge
- 1.120
- Reaktionspunkte
- 571
-> Hier kostenlos registrieren
Werte Lords, werte Ladies, werter Pöbel,
ich hab vor einiger Zeit mal meine Vorlagen aus meiner Spickzettel-Textdatei in den SnippetCreator (Beitrags-ID 109813399) gepackt.
Dabei ist mir aufgefallen, dass ich gar nicht mal so viele "Standard"-Codeblöcke verwende.
Daher dachte ich mir ich lade meine Ideen mal hier hoch und würde mich um weitere Beiträge zur Sammlung oder Kommentare zur Brauchbarkeit der Snippets (oder deren Fehlen) freuen.
Folgendes habe ich mir im Moment bereit gelegt (die .xml-Datei am Post ist fertig für den SnippetCreator):
Ein Grundgerüst für Dokumentation & Struktur, angelehnt an die PLCOpen-Bausteine aus SCL.
So wirklich abschließend schlüssig bin ich mir dabei aber noch nicht, da die übermäßige Verwendung von Regions in vollwertigen JS-Editoren nicht grade die Übersichtlichkeit fördert.
Doku-Header ohne Regions.
Beil lokalen Scripten verzichte ich meist darauf, aber in globalen Modulen ist dieser Block am Anfang des Scripts bei mir inzwischen mindest Standard.
Ein TryCatcTrace-Block für lokale Scripte in Faceplates.
Hinweis: den Severity-Parameter von Trace gibt es erst ab V19 (wenn ich es grade richtig im Kopf habe)
Das sinngemäß Gleiche nochmal für lokale Scripte an normalen Bildobjekten.
Verschiedene Separatoren für die Abteilung von Code-Bereichen:
Verschieden Symbole:
Und der wichtigste Mitarbeiter meiner Script-Pfuscherei:
ich hab vor einiger Zeit mal meine Vorlagen aus meiner Spickzettel-Textdatei in den SnippetCreator (Beitrags-ID 109813399) gepackt.
Dabei ist mir aufgefallen, dass ich gar nicht mal so viele "Standard"-Codeblöcke verwende.
Daher dachte ich mir ich lade meine Ideen mal hier hoch und würde mich um weitere Beiträge zur Sammlung oder Kommentare zur Brauchbarkeit der Snippets (oder deren Fehlen) freuen.
Folgendes habe ich mir im Moment bereit gelegt (die .xml-Datei am Post ist fertig für den SnippetCreator):
Ein Grundgerüst für Dokumentation & Struktur, angelehnt an die PLCOpen-Bausteine aus SCL.
So wirklich abschließend schlüssig bin ich mir dabei aber noch nicht, da die übermäßige Verwendung von Regions in vollwertigen JS-Editoren nicht grade die Übersichtlichkeit fördert.
Javascript:
//#region Scriptname Description
/*
==============================================================================
Firmenname / (c)Copyright 2026
------------------------------------------------------------------------------
Title: GlobalesModul.Scriptname
Comment/Function: FunktionKurzbeschreibung
Library/Family: ---
Author: ---
Tested with: Siemens WinCC Unified Runtime V21.#.#
Engineering: TIA Portal V21
Restrictions: ---
Requirements: ---
------------------------------------------------------------------------------
Change log table:
Version | Date | Expert in charge | Changes applied
---------|------------|------------------------|------------------------------
01.00.00 | YYYY-MM-DD | Botimperator | Erstellt
==============================================================================
Beschreibungstext hier einfügen
*/
//#endregion
//====================================================================================================
//#region Deklaration
;
//#endregion
//====================================================================================================
//#region Initialisierung
;
//#endregion
//====================================================================================================
//#region Logic
;
//#endregion
//====================================================================================================
//#region Outputs
;
//#endregion
Doku-Header ohne Regions.
Beil lokalen Scripten verzichte ich meist darauf, aber in globalen Modulen ist dieser Block am Anfang des Scripts bei mir inzwischen mindest Standard.
Javascript:
/*
==============================================================================
Firmenname / (c)Copyright 2026
------------------------------------------------------------------------------
Title: GlobalesModul.Scriptname
Comment/Function: FunktionKurzbeschreibung
Library/Family: ---
Author: ---
Tested with: Siemens WinCC Unified Runtime V21.#.#
Engineering: TIA Portal V21
Restrictions: ---
Requirements: ---
------------------------------------------------------------------------------
Change log table:
Version | Date | Expert in charge | Changes applied
---------|------------|------------------------|------------------------------
01.00.00 | YYYY-MM-DD | Botimperator | Erstellt
==============================================================================
Beschreibungstext hier einfügen
*/
Ein TryCatcTrace-Block für lokale Scripte in Faceplates.
Hinweis: den Severity-Parameter von Trace gibt es erst ab V19 (wenn ich es grade richtig im Kopf habe)
Javascript:
try {
//Code hier einfügen
;
} catch (ex) {
HMIRuntime.Trace("\n" +
"Bildobjekt: " + item.Name + "\n" +
"Faceplate: " + Faceplate.Name + "\n" +
"DisplayName: " + Faceplate.DisplayName + "\n" +
"FaceplateContainer Name: " + Faceplate.Parent.Name + "\n" +
"Global Window Path: " + Faceplate.Parent.Parent.Path + "\n" +
"Beschreibungstext für das Script bzw. die auslösende Stelle.\n" +
"Fehler: " + ex, HMIRuntime.Trace.Enums.hmiSeverity.Error);
};
Das sinngemäß Gleiche nochmal für lokale Scripte an normalen Bildobjekten.
Javascript:
try {
//Code hier einfügen
;
} catch (ex) {
HMIRuntime.Trace("\n" +
"Bildobjekt: " + item.Name + "\n" +
"Screen Name: " + Screen.Name + "\n" +
"Screen Window Name: " + Screen.Parent.Name + "\n" +
"Screen Window Path: " + Screen.Parent.Path + "\n" +
"Beschreibungstext für das Script bzw. die auslösende Stelle.\n" +
"Fehler: " + ex, HMIRuntime.Trace.Enums.hmiSeverity.Error);
};
Verschiedene Separatoren für die Abteilung von Code-Bereichen:
Javascript:
//=========================
//==================================================
//====================================================================================================
Verschieden Symbole:
Javascript:
// @@
// @@@@
// @@ @@
// @@ @@
// @@ @@
// @@ @@ @@
// @@ @@ @@
// @@ @@ @@
// @@ @@ @@
// @@ @@ @@
// @@ @@
// @@ @@ @@
// @@ @@
// @@@@@@@@@@@@@@@@@@@@@@@@@@@@
// *@@@@@*
// *@@@@@@@@@@@*
// *@@@@% =@@@@+
// *@@@@: :@@@@*
// :@@@@*
// *@@@@#
// @@@@@@@
// @@@@@@
// @@@@@
// @@@@@
//
//
// @@@@@
// @@@@@
Und der wichtigste Mitarbeiter meiner Script-Pfuscherei:
Javascript:
/*
,'``.._ ,'``.
:,--._:)\,:,._,.: All Glory to
:`--,'' :`...';\ the HYPNO TOAD!
`,' `---' `.
/ :
/ \
,' :\.___,-.
`...,---'``````-..._ |: \
( ) ;: ) \ _,-.
`. ( // `' \
: `.// ) ) , ;
,-|`. _,'/ ) ) ,' ,'
( :`.`-..____..=:.-': . _,' ,'
`,'\ ``--....-)=' `._, \ ,') _ '``._
_.-/ _ `. (_) / )' ; / \ \`-.'
`--( `-:`. `' ___..' _,-' |/ `.)
`-. `.`.``-----``--, .'
|/`.\`' ,',');
` (/ (/
*/
