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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: WinCC 7.0.1.4 Variablenaktualisierung

  1. #1
    Registriert seit
    04.07.2007
    Beiträge
    147
    Danke
    6
    Erhielt 13 Danke für 13 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Morgen,
    ich hab in einem Bildfenster 128 Variablen aus einer SPS projektiert. Ich aktualisiere die Variablen mittels eines Scripts das ich über einen Button aufrufe:
    Code:
    Sub OnClick(ByVal Item)    
    Dim Fenster
    Set Fenster=ScreenItems("Bildfenster2") 
    Fenster.Visible=False
    Fenster.Visible=True 
      Dim Artikel_Inhalt,Inhalt,Artikel_Nummer,Nummer,Artikel_Einheit,Einheit
      Dim Artikel_Geraet,Geraet,Artikel_Volumenbildend,Volumenbildend,Artikel_Sollmenge,Sollmenge,i
     
      For ii= 1 To 32
       Set Artikel_Inhalt = HMIRuntime.Tags("S7-Programm/TempRezeptDB.Artikel_Inhalt" & ii)
       Set Artikel_Nummer = HMIRuntime.Tags("S7-Programm/TempRezeptDB.Artikel_Nummer" & ii)
       Set Artikel_Einheit = HMIRuntime.Tags("S7-Programm/TempRezeptDB.Artikel_Einheit" & ii)
       Set Artikel_Geraet = HMIRuntime.Tags("S7-Programm/TempRezeptDB.Artikel_Geraet" & ii)
       Set Artikel_Volumenbildend = HMIRuntime.Tags("S7-Programm/TempRezeptDB.Volumenbildend" & ii)
       Set Artikel_Sollmenge = HMIRuntime.Tags("S7-Programm/TempRezeptDB.Sollmenge" & ii)
       Set Inhalt = HMIRuntime.Screens("Main.Bildfenster2").ScreenItems("Inhalt" & ii)
       Artikel_Inhalt.read
       Inhalt.AddItem(Artikel_Inhalt.value)
       Inhalt.ListIndex=0
     
       Set Nummer = HMIRuntime.Screens("Main.Bildfenster2").ScreenItems("ArtNr" & ii) 
       Artikel_Nummer.read
       Nummer.AddItem(Artikel_Nummer.value)
       Nummer.ListIndex=0
     
       Set Einheit = HMIRuntime.Screens("Main.Bildfenster2").ScreenItems("Einheit" & ii)
       Artikel_Einheit.read
       Einheit.Text= Artikel_Einheit.value
     
       Set Geraet = HMIRuntime.Screens("Main.Bildfenster2").ScreenItems("Geraet" & ii)
       Artikel_Geraet.read
       HMIRuntime.Trace ii & vbCrLf
      Next
    end sub
    Nachdem ich die Runtime gestartet habe und das Bildfenster das erstemal aufmache, gebraucht das Script eine Ewigkeit bis es durchgelaufen ist. Wenn ich das Bildfenster wieder schließe und neu aufrufe wird das Script erheblich schneller abgearbeitet. Woran kann dies liegen?
    Zitieren Zitieren WinCC 7.0.1.4 Variablenaktualisierung  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.718
    Danke
    398
    Erhielt 2.400 Danke für 2.000 Beiträge

    Standard

    Hallo,
    ich könnte mir vorstellen, dass die Visu eine "Ewigkeit" braucht um alle Script-Variablen zu aktualisieren. Möglicherweise stehts du beim 2. Aufruf auf der Zeitschiene günstiger da ...

    Gruß
    Larry

  3. #3
    Hotsch ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.07.2007
    Beiträge
    147
    Danke
    6
    Erhielt 13 Danke für 13 Beiträge

    Standard

    Ich hab mal die Zeit gemessen: Beim ersten Aufruf gebraucht das Script 23 sec, bis es komplett durchgelaufen ist. Bei allen anderen Aufrufen maximal 1,5 sec. Selbst wenn ich auf der Zeitschiene ungünstig darstehe ist mir die Differenz da doch etwas zu groß.
    Im Moment befindet sich in dem Projekt auch keine anderen Skripte oder Bilder die im Hintergrund laufen.

  4. #4
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.718
    Danke
    398
    Erhielt 2.400 Danke für 2.000 Beiträge

    Standard

    Wurden die Variablen bis dahin (erster Aufruf) schon mal benötigt ? Wahrscheinlich ja nicht ... eine bessere Erklärung als die genannte habe ich für das Verhalten nicht.
    Wie sind die Variablen denn projektiert ?
    Wie ist die Verbindung SPS - Visu ?

    Gruß
    Larry

  5. #5
    Hotsch ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.07.2007
    Beiträge
    147
    Danke
    6
    Erhielt 13 Danke für 13 Beiträge

    Standard

    Da haste recht die Variablen wurde noch nicht aufgerufen.
    Sie wurden direkt über den Symbolserver angebunden mittels einer TCP/IP Verbindung.

    Da ich noch nicht solange mit dem großen WinCC arbeite kann ich nicht wirklich beurteilen ob dieses Verhalten "normal" ist. Nur wenn dies normal ist müsste es doch irgendwo einen Schalter geben womit sich WinCC beim Runtime start mit den Variablen synchronisieren lässt. So das der Start zwar länger dauert, aber danach ein normales Arbeiten mit den Bildern möglich wird.

  6. #6
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.718
    Danke
    398
    Erhielt 2.400 Danke für 2.000 Beiträge

    Standard

    Schreib doch bitte noch einmal was zu meinen Fragen ...

  7. #7
    Hotsch ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.07.2007
    Beiträge
    147
    Danke
    6
    Erhielt 13 Danke für 13 Beiträge

    Standard

    War vielleicht etwas knapp in meinem letzten Post also nochmal etwa ausführlicher:

    Eine S7 315 ist mittels einer TCP/IP Verbindung direkt mit dem PC verbunden. Auf dem PC läuft die Runtime von WinCC. Die betreffenden Variablen befinden sich alle in den gleichen globalen Datenbaustein. Hier habe ich jede einzelne Variable mittels dem Attribut "S7_m_c=true" für WinCC "sichtbar" geschaltet. Anschließend habe ich das obige Script programmiert und mit einem Button verbunden. Wenn jetzt die Runtime einmal neu gestartet wird tritt die Verzögerung auf, anschließend aber nicht mehr. Ich hab das Bildfenster geschlossen und eine halbe Stunde die Runtime nicht mehr angerührt, nach der halben Stunde habe ich nochmal auf den Button gedrückt und das Script wurde flott abgearbeitet. Erst beim erstmaligen Starten der Runtime und anschließenden öffnen des Bildfensters tritt die Verzögerung auf.

    Ich hoffe du kannst mit dieser Erklärung mehr anfangen.

  8. #8
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.718
    Danke
    398
    Erhielt 2.400 Danke für 2.000 Beiträge

    Standard

    Das hat mir nicht weitergeholfen ...
    Ich hatte ein bißchen gehofft, dass du jetzt vielleicht mit einer lahmen Verbindung ankommst, aber dem ist ja nun wirklich nicht.
    Also ... tut mir leid ... da muß ich passen ...

    Gruß
    Larry

  9. #9
    Hotsch ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    04.07.2007
    Beiträge
    147
    Danke
    6
    Erhielt 13 Danke für 13 Beiträge

    Standard

    Trotzdem danke für deine Bemühungen.
    Ich hab das Problem jetzt so gelöst das ich den Inhalt von den Variablen überprüfe und sobald welche mit einem "leeren" Inhalt auftauchen breche ich die Schleife ab. Das ist zwar keine gute Lösung aber es funktioniert zumindest.

  10. #10
    Registriert seit
    30.03.2005
    Beiträge
    2.096
    Danke
    0
    Erhielt 673 Danke für 541 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren

  11. Folgender Benutzer sagt Danke zu Kai für den nützlichen Beitrag:

    Hotsch (14.09.2010)

Lesezeichen

Berechtigungen

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