WinCC Flex Textfeld per Skript auslesen und an SPS senden

blimaa

Level-2
Beiträge
958
Reaktionspunkte
103
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi

Folgendes:
Ich muss ein altes Projekt erweitern. Dabei muss ich von einem Textfeld den Text auslesen. Soweit sogut.

Code:
SmartTags ("SPSVariable") = HmiRuntime.Screens ("Anlage_starten").ScreenItems ("Bereitstellung_13").Text
Soweit läuft das. Nun sollte ich die Variable auch auslesen können, wenn die Runtime ein anderes Bild anzeigt.
Dabei kommt mir aber immer die Fehlermeldung:
Code:
 Fehler 'no screen 'Anlage_starten', either the screen is not displayed currently or the name is misspelled.' in Skript....


Kennt da jemand eine Lösung, wie ich sonst noch auf das Textfeld zugreifen kann?
WinCC Flexible 2008 Sp3 upd 2
Runtime auf PC
Gruss blimaa
 
Code:
SmartTags ("SPSVariable") = HmiRuntime.Screens ("Anlage_starten").ScreenItems ("Bereitstellung_13").Text
Soweit läuft das. Nun sollte ich die Variable auch auslesen können, wenn die Runtime ein anderes Bild anzeigt.
1. Liest du keine Variable, sondern einen statisch (auch wenn zuvor über Scripte verändert) projektierte Objekteigenschaft aus.
2. Leider nein. Kein Bild angezeigt, keine Objekt zum Zugreifen vorhanden.
Dabei kommt mir aber immer die Fehlermeldung:
Fehler 'no screen 'Anlage_starten', either the screen is not displayed currently or the name is misspelled.' in Skript....
Eben.

Kannst statt dem Textfeld wohl nur ein EA-Feld mit String-Variable nehmen.
 
Man kann nicht Eigenschaften von Bildobjekten lesen oder ändern, während das Objekt gar nicht existiert - sprich: das Bild nicht angezeigt wird.
Ohne Umbau zu einem vernünftigen EA-Feld wirst Du nicht an den Anzeigewert 'rankommen.
Hast Du keinen Ehrgeiz, diesen Müll aus dem Projekt rauszuschmeißen?


Man nimmt üblicherweise ein EA-Feld, projektiert da eine Prozessvariable (String) dran und fertig. Kann man auch auf nur Ausgabe beschränken.

Oder ist das ein statisches Textfeld, wo durch ähnliche Skripterei verschiedene Texte angezeigt werden? Dafür gibt es eigentlich symbolische EA-Felder mit Textliste, wo per Prozessvariable ein Text aus einer vordefinierten Liste oder einer anderen (eingebetteten) Textvariable angezeigt wird. Für alles was variabel sein soll nimmt man sinnigerweise Variablen :cool: außerdem können Variablen sich was merken unabhängig davon, ob sie gerade verwendet werden :cool:

Wofür ist es interessant zu wissen, welcher Text auf einem nicht angezeigten Bild angezeigt werden würde? Vor allem, wo der beim nächsten Bildaufbau sowieso wieder auf dem projektierten Anfangswert wäre.
Da muß es doch irgendwas geben, was dem Textfeld einen Text zuweist - dieses irgendwas bräuchte statt direkt das Textfeld zu manipulieren einfach nur eine (panel-interne) Text-Variable manipulieren und diese Textvariable wird mit einem EA-Feld angezeigt. Dann kann man immer auf den Wert der Variable zugreifen ohne daß er gerade irgendwo angezeigt würde.

Erzähl mal mehr, am besten erzähle ohne Vorurteile was das Textfeld eigentlich tun soll. Es gibt ganz bestimmt eine bessere Lösung als diese Skripterei.

Harald
 
Hi

Ja EA-Feld, Textlisten etc. sind mir durchaus ein Begriff.
Mit Ehrgeiz hat das nichts zu tun, es würden sich einfach Stunden um Stunden anhäufen.

Irgendwo werden diese Textfelder beschrieben, da hast du recht. Allerdings wird es irgendwo aus einem der unzähligen Skripten gemacht.
Prinzipiell werden Daten aus einem Scanner gelesen und via Skript an verschiedene Transportbehälter (Textfelder) weitergeschoben.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Aber anderst herum geht ja dann aber auch nur wenn die Seite angezeigt wird!?
Also ich meine per Skript kann ich dann auch nur auf das Textfeld schreiben, wenn es angezeigt wird oder?
 
Supi
Denke, dann habe ich die Stelle im Skript-Jungle gefunden, wo das Textfeld beschrieben wird. Da zwacke ich doch noch die Infos ab und schreibe sie in die SPS :rolleyes:.

Besten Dank für die Infos
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wird beim "Bild aufgebaut" ebenfalls ein Skript aufgerufen? Weil da wird das Textfeld zunächst mit seinen projektierten Eigenschaften angezeigt - bei der letzten Bildanzeige zugewiesene Texte sind verloren. Das sollte Deiner SPS eventuell mitgeteilt werden.

Harald
 
Hi
Weiss ich jetzt gerade nicht mehr auswendig. Muss ich Morgen nochmals anschauen.
Aber Prinzipiell läuft dies schon so seit gut 6-7 Jahren.

Gruss blimaa
 
Zurück
Oben