WinCC v7 - E/A-Felder mit dynamischer Variablenanbindung

RONIN

Level-3
Beiträge
2.529
Reaktionspunkte
773
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute!

Wie der Titel schon sagt versuche ich einem EA-Feld beizubringen in Abhängigkeit von einer Variable (Nummer) auf einen gewissen TAG zuzugreifen.
Sowohl Ein- als auch Ausgabe!

z.B:
Wert 1: EA-Feld greift auf Variable "TM_PZ1.FU_Wert" zu
Wert 2: EA-Feld greift auf Variable "TM_PZ2.FU_Wert" zu

In den Anhängen seht ihr ein Standard-EA-Feld sowie einen meiner versuche das oben genannte Problem zu lösen... Leider ohne Erfolg.
Das zusammensetzen des String-Variablennamens ist kein Problem ich weiß nur nicht wie bzw. auf welche Eigenschaft des EA-Felds ich ihn zuweisen muss.

Ich bin für alle Lösungen offen, egal ob VBS-, C-Skript oder Alternativvorschläge.

mfg Ronin

Direct_IO_Field.pngDynamic_IO_Field.jpg
 
Zuletzt bearbeitet:
Das zusammensetzen des String-Variablennamens ist kein Problem ich weiß nur nicht wie bzw. auf welche Eigenschaft des EA-Felds ich ihn zuweisen muss.

Nach dem Zusammenbau des Variablennamens, den Wert aus der SPS lesen (GetTag...) dann mit den return() einfach rückgeben. fertig.

Also return(GetTagXXX(Variablenname));


Gruß.

PS: das ist jetzt für C-Script. Falls Du C verwenden willst, hilft es auch, mit dem DynamicDialog ,mal etwas anzulegen und dann als C-Script zu öffnen.

Mit VBS sollte der Befehl zu Auslesen des Variablenwertes OutputValue_Trigger = HMIRuntime.Tags(Variablenname).Read heissen. Aber nagle mich da nicht fest...
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Durch Zufall bin ich jetzt nach langer Zeit über die Lösung dieses Problem gestolpert....

Also return(GetTagXXX(Variablenname));

Gruß.
Diese Variante gibt leider nur den Aktuellen Wert des jeweiligen Tags zurück, ermöglicht aber keine Eingabe/Wertänderung...

Die Lösung hab ich grad einem Siemens-Support-Artikel gefunden...
https://support.automation.siemens....csview&extranet=standard&viewreg=WW#A34603135
Siehe Unterpunkt: Wie kann ich in WinCC ein E/A-Feld indirekt adressieren?

Die Funktion war immer schon da, aber so richtig hingeschaut hab ich noch nie... :rolleyes:
 
Zuletzt bearbeitet:
den Adresseintrag des Tags in der WinCC-Datenbank manipulieren... vielleicht....

brr.. schauder....

Jo machen kann man viel, nur sollte man sich nicht wundern, wenn nach einer Hochrüstung des System mit mehreren redundanten Doppelservern und vielen Clients und Webserver und H-CPUs irgendwas nicht mehr funktioniert...

In Deinem Ausgangspost hab ich irgendwie überlesen, dass Du auch Eingaben machen willst...

vielleicht auch eine Idee: Bildfenster mit Variablen-Präfix... finde ich eleganter, aber ich kenn ja die Anwendung nicht.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Jo machen kann man viel, nur sollte man sich nicht wundern, wenn nach einer Hochrüstung des System mit mehreren redundanten Doppelservern und vielen Clients und Webserver und H-CPUs irgendwas nicht mehr funktioniert...
Jup... sowas würd vermutlich passieren... das is auch eher was für die Perservlinge unter uns, also nicht für mich... :cool:
Aber trotzdem interessant was so geht.

vielleicht auch eine Idee: Bildfenster mit Variablen-Präfix... finde ich eleganter, aber ich kenn ja die Anwendung nicht.
Das geht auch... aber hast du meinen Betrag meine Beitrag weiter oben vielleicht übersehen...

Wie gesagt um ein E/A-Feld mit einem dynamischen Tag (Ein- und Ausgabe) zu versehen gibt eine WinCC-interne Möglichkeit...
Bild: Indirekte_Adressierung_eines_EA-Feldes_d.gif

Komisch das mir das da noch nie aufgefallen ist bzw. ich mich noch nie drum gekümmert hab... :rolleyes:
 
Zuletzt bearbeitet:
Das geht auch... aber hast du meinen Betrag meine Beitrag weiter oben vielleicht übersehen...

Wie gesagt um ein E/A-Feld mit einem dynamischen Tag (Ein- und Ausgabe) zu versehen gibt eine WinCC-interne Möglichkeit...

Ja, das hab ich schon gelesen... aber da brauchst für jedes EA-Feld noch ne zusätzliche interne Variable bzw. EA-Feld-Zwischenpeicher bzw. nen Script, welches die indirekte Adresse liefert...

Wenn Du jetzt mehrere EA-Felder und evtl. noch sonstiges hast, welche das selbe Variablenpräfix bekommen. Ist ein Bildfenster auch ne gute Variante. Da brauchst Du nur ein Script, welches das Variablenpräfix am Bildfenster ändert, und alle Variablen im Bildfenster bekommen das automatisch vorangestellt. Macht sich gut, wenn die Anbindung an die SPS über Strukturvariablen erfolgt: Variablenpräfix ist dann TM_PZ1. und am EA-Feld steht dann nur FU_Wert

aber funktioniert sicherlich beides...
 
Zurück
Oben