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:
Haupt Attribute:
Attribute | Beschreibung | Version |
|---|---|---|
'TcHmiSymbol.AddSymbol' | Mappen der Variablen in die HMI durch die Automap-Funktion. | >= 1.12.756.1 |
Zusätzliche Attribute:
Attribute | Beschreibung | Version |
|---|---|---|
'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 der 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;Mapped Symbols: ADS.PLC1._i
Hinzufügen einer Variablen, ohne Untervariablen
{ attribute 'TcHmiSymbol.AddSymbol' }
{ attribute 'TcHmiSymbol.AddSymbol.Ignore' }
fbTest : FB_Test;FUNCTION_BLOCK FB_Test
VAR
{ attribute 'TcHmiSymbol.AddSymbol' }
_bData : BOOL;
END_VARMapped Symbols: ADS.PLC1.fbTest
Verhindern, dass ein Symbol und deren Untervariablen mit AddSymbol hinzugefügt werden.
{ attribute 'TcHmiSymbol.AddSymbol' }
{ attribute 'TcHmiSymbol.AddSymbol.IgnoreRecursively' }
fbTest : FB_Test;{ attribute 'TcHmiSymbol.AddSymbol' }
FUNCTION_BLOCK FB_Test
VAR
{ attribute 'TcHmiSymbol.AddSymbol' }
_bData : BOOL;
END_VARMapped Symbols: -
Hinzufügen einer Variablen, die in der HMI versteckt ist.
{ attribute 'TcHmiSymbol.AddSymbol' }
{ attribute 'TcHmiSymbol.AddSymbol.Hidden' }
_i : INT;Mapped Symbols: ADS.PLC1._i (Nur sichtbar in der erweiterten Ansicht)
Hinzufügen einer Variablen mit Lese-/Schreibberechtigung für zwei Benutzergruppen.
{ attribute 'TcHmiSymbol.AddSymbol' }
{ attribute 'TcHmiSymbol.AddSymbol.UserGroups' := '__SystemAdministrators,Operators' }
_i : INT;Mapped Symbols: ADS.PLC1._i (Lese- und Schreibrechte nur für „__SystemAdministrators und Operators“).
Hinzufügen einer Variablen mit Leseberechtigung für zwei Benutzergruppen.
{ attribute 'TcHmiSymbol.AddSymbol' }
{ attribute 'TcHmiSymbol.AddSymbol.UserGroups.Read' := '__SystemAdministrators,Operators' }
_i : INT;Mapped Symbols: ADS.PLC1._i (Leserechte nur für „__SystemAdministrators und Operators“).
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.
![]() | Bei Nutzung der Automap-Symbole Funktion in Visual Studio / TcXaeShell, werden ab der Version TwinCAT.HMI.Engineering >= 14.3.244 alle gefundenen 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. |
