TIA Indirekte symbolische Adressierung

magus111

Level-2
Beiträge
124
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Forum
Ich hoffe ihr könnt mit helfen, folgende Problembeschreibung:
Ich möchte das der Kunde auf der Hmi ein String eingibt, dieser string soll dann als Teil einer Symbolischen Adresse eingebaut werden z. B.

Hmi Eingabe : ABC
Adressen
Datenbauteinname. Stromwerte.ABC.Magnet1
Datenbauteinname. Stromwerte.ABC.Magnet2

Wenn die Eingabe als String in den DB nicht vorhanden ist soll es einen Fehler geben.

CPU ist eine S7 12xx Umgebung V15. 1

Geht sowas?
 
Meines Wissens nach geht das so nicht. Man kann bei TIA keine symolischen Namen zur Laufdzeit zusammenbauen und dann abfragen.
Natürlich entwickelt sich TIA weiter, villeicht hab ich was übersehen. :-)

Besser wäre, du legst Array an.

Datenbausteinneme.Stromwerte[0...MyMax].Magnet1
Datenbausteinneme.Stromwerte[0...MyMax].Magnet2

Oder Array of UDT (PLC-Datentypen).

Dann kann der Kunde an Panel aus einer Liste den String wählen, jeder Entrag in der Liste hat einen Index (0...MyMax) und mit diesem Index kannst du dann die Daten aufrufen.

P.S. Man kann auch mehrere Indizes verwenden, wenn man Array in Array in Array.... hat
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Ich kann das auch so machen das der Prozess erst das Zusammenbaut und dann der ausleseprozess ausgeführt wird.
Und wenn das mit Hmi Script geht ist auch möglich da ich eine runtime drüber habe....

Gesendet von meinem EML-L29 mit Tapatalk
 
In einem HMI-Script kann man sich die Variablen zusammenbauen, wenn ich recht erinnere.
Diese Variablen muß man dann aber vorher in der HMI in der Variablentabelle angelegt haben.
Wie eine mögliche Fehlermeldung aussieht, wenn man einen unbekannten Variablennamen zusammensetzt,kann ich dir aber auch nicht sagen, ich bin eher in der SPS unterwegs, weniger in HMI-Scripten.
Gibt aber hier sicher auch Kollegen, die das wissen.
 
Zurück
Oben