Automap Symbols
Über die Automap-Funktion lassen sich Variablen aus der SPS automatisch in der HMI mappen. Hierfür müssen an die entsprechenden Variablen in der SPS Attribute gesetzt werden. Die HMI durchsucht die vorhandenen ADS-Symbole und legt diese automatisch an, wenn das entsprechende Attribut vorhanden ist.
Zur Verfügung stehende Attribute:
Attribute |
Beschreibung |
Version |
---|---|---|
'TcHmiSymbol.AddSymbol' |
Mappen der Variablen in die HMI durch die Automap-Funktion. |
>= 1.12.756.1 |
'TcHmiSymbol.AddSymbol.Ignore' |
Ignorieren der Variablen, darunter liegende Variablen mit AddSymbol-Attribut werden trotzdem gemappt. |
>= 1.14.x.x |
'TcHmiSymbol.AddSymbol.IgnoreRecursively' |
Ignorieren der Variablen und den darunter liegenden Variablen. |
>= 1.14.x.x |
'TcHmiSymbol.AddSymbol.Hidden' |
Verstecken des Mappings (nur sichtbar, wenn erweiterte Symbole angezeigt werden). |
>= 1.12.756.1 |
'TcHmiSymbol.AddSymbol.UserGroups' |
Anlegen einer Lese-/Schreibberechtigung für Benutzergruppen. |
>= 1.12.756.1 |
'TcHmiSymbol.AddSymbol.UserGroups.Read' |
Anlegen einer Leseberechtigung für Benutzergruppen. |
>= 1.14.x.x |
Beispiel – ST (Variablen Deklaration in der SPS)
Hinzufügen einer Variablen
{ attribute 'TcHmiSymbol.AddSymbol' }
_i : INT;
Hinzufügen einer Variablen, die in der HMI versteckt ist
{ attribute 'TcHmiSymbol.AddSymbol' }
{ attribute 'TcHmiSymbol.AddSymbol.Hidden' }
_i : INT;
Hinzufügen einer Variablen, mit Lese-/Schreibberechtigung für zwei Benutzergruppen
{ attribute 'TcHmiSymbol.AddSymbol' }
{ attribute 'TcHmiSymbol.AddSymbol.UserGroups' := '__SystemAdministrators,Operators' }
_i : INT;
Hinzufügen der Automap-Symbole in Visual Studio / TcXaeShell

- 1. Öffnen Sie das Fenster TwinCAT HMI Configuration.
- 2. Gehen Sie auf den Reiter Server Symbols / All Symbols.
- 3. Machen Sie einen Rechtsklick auf ADS.
- 4. Starten Sie das automatische Mappen über Map Automap Symbols.
- Nach dem Hinzufügen kommt eine Meldung über die Anzahl der hinzugefügten Symbole oder eine Fehlermeldung.
![]() | Über Visual Studio / TcXaeShell werden aktuell maximal 1000 Symbole gemappt. |
Hinzufügen der Automap Symbole über JavaScript
- 1. Fügen Sie eine neue JavaScript Datei zum Projekt hinzu.
- 2. Öffnen Sie die erstellte JavaScript Datei.
- 3. Rufen Sie die Funktion writeEx auf und beschreiben Sie das Symbol AddSymbols.
- Durch das Beschreiben des Symbols wird das automatische Mappen der Symbole gestartet.
Parameter – AddSymbols
Name | Typ | Beschreibung | Version |
---|---|---|---|
domain | Server Domain auf der AddSymbols ausgeführt werden soll. | >= 1.12.756.1 | |
path | Einstiegspunkt der Suche auf Unterebenen verschieben. "PLC1::MAIN::_fbMachine" Der Start der Suche beginnt ab _fbMaschine. | >= 1.14.x.x | |
namePrefix | Ergänzt den Symbol Namen am Anfang um den definierten Prefix. | >= 1.14.x.x | |
dryRun | Führt nur die Suche nach Symbolen aus, ohne diese anzulegen. | >= 1.12.756.1 | |
ignoreProblems | Führt bei Problemen die Anfrage weiter durch. | >= 1.12.756.1 | |
Ignore | string [] | Angegebene Symbole werden nicht beim Anlegen berücksichtigt. ["ADS.PLC1.MAIN._axis"] | >= 1.12.756.1 |
skipExisting | Es werden nur Symbole angelegt, die noch nicht existieren. | >= 1.12.756.1 | |
limit | int32 | Limitiert die Anzahl an Symbolen, die gesucht werden. | >= 1.14.x.x |
Beispiel – JavaScript (Start Automap Symbols minimal):
TcHmi.Symbol.writeEx('%s%AddSymbols|Timeout=5000%/s%', {domain: "ADS"}, function (data) {
// callback value
console.log(data);
// number of found symbols
console.log(Object.keys(data?.value).length);
});
Beispiel – JavaScript (Start Automap Symbols):
let config = {
domain: "ADS",
path: "PLC1::MAIN::_fbMachine",
namePrefix: "AutoMapp.",
dryRun: false,
ignoreProblems: false,
ignore: [
"ADS.PLC1.MAIN._axis"
],
skipExisting: true,
limit: 3000
}
TcHmi.Symbol.writeEx('%s%AddSymbols|Timeout=5000%/s%', config, function (data) {
// callback value
console.log(data);
// number of found symbols
console.log(Object.keys(data?.value).length);
});
![]() | Diese Funktionalität ist ab der Version 1.12.756.1 verfügbar. |
![]() | Diese Funktionalität steht nur bei einer ADS-Verbindung zur Verfügung und nicht bei einer TMC-Datei. |
![]() | Die Attribute funktionieren aktuell nicht bei Methoden oder Properties. |