Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 10 von 10

Thema: WinCC Flex Textfeld per Skript auslesen und an SPS senden

  1. #1
    Registriert seit
    21.10.2010
    Beiträge
    561
    Danke
    60
    Erhielt 43 Danke für 41 Beiträge

    Standard


    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
    Zitieren Zitieren WinCC Flex Textfeld per Skript auslesen und an SPS senden  

  2. #2
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.367
    Danke
    457
    Erhielt 696 Danke für 521 Beiträge

    Standard

    Zitat Zitat von blimaa Beitrag anzeigen
    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.
    Zitat Zitat von blimaa Beitrag anzeigen
    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.
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

  3. Folgender Benutzer sagt Danke zu RONIN für den nützlichen Beitrag:

    blimaa (30.03.2016)

  4. #3
    blimaa ist gerade online Erfahrener Benutzer
    Themenstarter
    Registriert seit
    21.10.2010
    Beiträge
    561
    Danke
    60
    Erhielt 43 Danke für 41 Beiträge

    Standard

    Hi

    Der Text im Textfeld wird per Script beschrieben.
    Das alte Programm auf EA-Feld umbauen möchte ich möglichst vermeiden!

  5. #4
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.308
    Danke
    932
    Erhielt 3.321 Danke für 2.683 Beiträge

    Standard

    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 außerdem können Variablen sich was merken unabhängig davon, ob sie gerade verwendet werden

    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
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  6. #5
    blimaa ist gerade online Erfahrener Benutzer
    Themenstarter
    Registriert seit
    21.10.2010
    Beiträge
    561
    Danke
    60
    Erhielt 43 Danke für 41 Beiträge

    Standard

    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.

  7. #6
    blimaa ist gerade online Erfahrener Benutzer
    Themenstarter
    Registriert seit
    21.10.2010
    Beiträge
    561
    Danke
    60
    Erhielt 43 Danke für 41 Beiträge

    Standard

    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?

  8. #7
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.308
    Danke
    932
    Erhielt 3.321 Danke für 2.683 Beiträge

    Standard

    Ja. Genau. Weil das Textfeld-Objekt existiert nur wenn das Bild mit dem Textfeld gerade angezeigt wird.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  9. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    blimaa (30.03.2016)

  10. #8
    blimaa ist gerade online Erfahrener Benutzer
    Themenstarter
    Registriert seit
    21.10.2010
    Beiträge
    561
    Danke
    60
    Erhielt 43 Danke für 41 Beiträge

    Standard

    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 .

    Besten Dank für die Infos

  11. #9
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.308
    Danke
    932
    Erhielt 3.321 Danke für 2.683 Beiträge

    Standard

    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
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  12. #10
    blimaa ist gerade online Erfahrener Benutzer
    Themenstarter
    Registriert seit
    21.10.2010
    Beiträge
    561
    Danke
    60
    Erhielt 43 Danke für 41 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    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

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 25.08.2015, 16:03
  2. Textfeld/Buttoninhalt ändern, ohne Skript
    Von Tommy843 im Forum HMI
    Antworten: 11
    Letzter Beitrag: 15.03.2012, 08:31
  3. Antworten: 3
    Letzter Beitrag: 25.11.2008, 20:08
  4. Textfeld mit VB-Skript bearbeiten
    Von Earny im Forum HMI
    Antworten: 9
    Letzter Beitrag: 18.07.2008, 17:25
  5. WinCC flex VB Skript aus SPS starten
    Von figo80 im Forum HMI
    Antworten: 5
    Letzter Beitrag: 16.01.2008, 11:39

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •