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

Ergebnis 1 bis 3 von 3

Thema: WinCC VBS Problem

  1. #1
    Registriert seit
    23.05.2012
    Beiträge
    23
    Danke
    9
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute.

    ich verwende WinCC V7.3 Upd7 & Win7 64bit.

    Um unser Standard Projekt zu erweitern, bastle ich seit einiger Zeit an einem Vergleichstrend.
    Dieser Trend vergleicht die gleiche Variable zu unterschiedlichen Zeiten. z.b möchte der Kunde den Verlauf des Trends von heute mit dem von gestern vergleichen.
    Das Aufrufen des Trends im Trendfenster funktioniert. Auch die unterschiedlichen Zeitachsen können bereits mit einem Button eingestellt werden.

    Ich habe allerdings derzeit noch folgendes Problem:
    Wenn sich das Trendfenster öffnet und die Trends geladen werden, dann soll automatisch ein Zeitversatz von 10min eingestellt werden.
    Hierfür habe ich das Skript des Buttons verwendet der eben diese 10min Zeitversatz bereits richtig im Trend anzeigt und habe es in einem Rechteck aufdemselben Bild wie der Button unter Farben --> Hintergrundfarbe hinterlegt. Gestartet wird das Script über ein Bit.
    Leider ist es da dann so, dass ich im Global Script Diagnose Fenster den Eintrag erhalte:
    Application :PDLRT
    Picture :ALL705_CompTrend.pdl_Triggers
    Function :FunctionRectangle_BackColor_Trigger(ByValItem)
    Line :23
    Error :get_Item:Falscher Parameter

    Hier der von mir programmierte Code:
    Code:
    Function BackColor_Trigger(ByVal Item)
    
    Dim objCon1
    Dim StartTimeFTrend1
    Dim EndTimeFTrend1
    Dim StartTimeFTrend2
    Dim EndTimeFTrend2
    Dim Factor
    Dim Stoptime
    
    Stoptime = DateAdd("s",+4,Now)
    
    'HMIRuntime.Trace Left(objScreen.Parent.ObhjectNme,13)
    'HMIRuntime.Screens &vbCrlf 
    
    Do
    
    Loop Until Now >= Stoptime
    
    ' Time Axis 1
    'Dim n As String DateInterval.Minute
    'create objects
        Set objCon1 = HMIRuntime.ActiveScreen.ScreenItems("ArchiveTrendControl")
        Factor = -10
    StartTimeFTrend1 = DateAdd("n",Factor,Now)
    'HMIRuntime.Tags("TrendAxisEndTime").Write strvar_2 
    
    EndTimeFTrend1 = Now
    'HMIRuntime.Tags("TrendAxisBeginTime").Write StartTimeFTrend2 
    
    'configuration
    objCon1.TimeAxisIndex=0
    objCon1.Online=0
    objCon1.TimeAxisRangeType=1
    objCon1.TimeAxisBeginTime=StartTimeFTrend1
    objCon1.TimeAxisEndTime=EndTimeFTrend1
    
    StartTimeFTrend2 = DateAdd("n",Factor,StartTimeFTrend1)
    HMIRuntime.Tags("TrendAxisBeginTime").Write StartTimeFTrend2 
    
    EndTimeFTrend2 = StartTimeFTrend1
    HMIRuntime.Tags("TrendAxisEndTime").Write EndTimeFTrend2 
    
    ' read tags
    'strvar_1.Read
    'strvar_2.Read
    'StartTimeFTrend2.Read
    'configuration
    objCon1.TimeAxisIndex=1
    objCon1.Online=0
    objCon1.TimeAxisRangeType=1
    objCon1.TimeAxisBeginTime=StartTimeFTrend2
    objCon1.TimeAxisEndTime=EndTimeFTrend2
    
    
    'Set Tag = HMIRuntime.Tags("TrendReadCompFinished")
    
    'If (HMIRuntime.Tags("TrendReadCompFinished")) = 1 Then
    
    'Set Tag = 0
    'InitialCompTrend()
    HMIRuntime.Tags("TrendReadCompFinished").Write 0
    HMIRuntime.Trace("Durchlauf" &vbCrlf)
    'End If
    'HMIRuntime.Tags("TrendReadCompFinished_1").Write 1
    'TrendReadCompFinished_1
    
    BackColor_Trigger = RGB(0,0,0)
    
    End Function
    Zeile 23 Betrifft hier genau mein Set objCon1....
    Kann mir bitte mal jemand erklären, weshalb das nicht funktioniert?!

    Besten Dank für Eure Unterstützung

    Bayernburn
    Zitieren Zitieren WinCC VBS Problem  

  2. #2
    Registriert seit
    29.03.2004
    Beiträge
    5.172
    Danke
    129
    Erhielt 1.506 Danke für 1.107 Beiträge

    Standard

    Über welches Ereignis wird das Skript denn angestoßen?
    Evtl. ist das Fenster noch nicht vollständig mit allen Objekten geladen.
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit – Kompliziert bauen kann jeder.

    (Sergei Pawlowitsch Koroljow, sowjetischer Konstrukteur von Raketen und Weltraumpionier)

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

    bayernburn (02.08.2016)

  4. #3
    bayernburn ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    23.05.2012
    Beiträge
    23
    Danke
    9
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Thomas,

    das laden der Objekte im Bild war das Problem. Keine Ahnung aber, warum dasgleiche Skript in einem Button funktioniert und dann beim Rechteck nicht.
    Habe jetzt viel herum gebastelt und das Skript so hinbekommen, dass es funktioniert.
    Hier der Code:
    Code:
    Dim objCon1
    Dim StartTimeFTrend1
    Dim EndTimeFTrend1
    Dim StartTimeFTrend2
    Dim EndTimeFTrend2
    Dim Factor
    
    'Stoptime = DateAdd("s",+4,Now)
    
    'Do
    
    'Loop Until Now >= Stoptime
    
    If HMIRuntime.Tags("TrendReadCompFinished").Read = 1 Then
    
        Set objCon1 = ScreenItems("ArchiveTrendControl")
        
        Factor = -10
        StartTimeFTrend1 = DateAdd("n",Factor,Now)
    
        EndTimeFTrend1 = Now
    
        'configuration Time Axis 1
        objCon1.TimeAxisIndex=0
        objCon1.Online=0
        objCon1.TimeAxisRangeType=1
        objCon1.TimeAxisBeginTime=StartTimeFTrend1
        objCon1.TimeAxisEndTime=EndTimeFTrend1
    
        StartTimeFTrend2 = DateAdd("n",Factor,StartTimeFTrend1)
        HMIRuntime.Tags("TrendAxisBeginTime").Write StartTimeFTrend2 
    
        EndTimeFTrend2 = StartTimeFTrend1
        HMIRuntime.Tags("TrendAxisEndTime").Write EndTimeFTrend2 
    
    
        'configuration Time Axis 2
        objCon1.TimeAxisIndex=1
        objCon1.Online=0
        objCon1.TimeAxisRangeType=1
        objCon1.TimeAxisBeginTime=StartTimeFTrend2
        objCon1.TimeAxisEndTime=EndTimeFTrend2
    
    
        HMIRuntime.Tags("TrendReadCompFinished").Write 0
        'HMIRuntime.Trace("Durchlauf" &vbCrlf)
    
    End If
    
    BackColor_Trigger = RGB(212,208,200)
    Besten Dank!

Ähnliche Themen

  1. WinCC V7 Direktverbindung per VBS
    Von FinnT im Forum HMI
    Antworten: 1
    Letzter Beitrag: 20.11.2015, 15:23
  2. WinCC 7.2 VBS Aufrufe
    Von Krumnix im Forum HMI
    Antworten: 13
    Letzter Beitrag: 18.09.2014, 10:04
  3. WinCC 7 VBS-Problem
    Von Krumnix im Forum HMI
    Antworten: 1
    Letzter Beitrag: 26.04.2013, 08:39
  4. WinCC V7.0 - VBS TagPrefix
    Von BPlagens im Forum HMI
    Antworten: 1
    Letzter Beitrag: 06.07.2011, 16:59
  5. WinCC flex VBS Problem
    Von Zyrano im Forum HMI
    Antworten: 6
    Letzter Beitrag: 25.01.2011, 11:40

Stichworte

Lesezeichen

Berechtigungen

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