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

Ergebnis 1 bis 4 von 4

Thema: Nach Migration auf WinCC6SP4 kein Zugriff auf Userarchiv

  1. #1
    Registriert seit
    18.05.2004
    Beiträge
    203
    Danke
    2
    Erhielt 2 Danke für 2 Beiträge

    Ausrufezeichen


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ihr seit meine letzte Hoffnung.

    Bisher hatten wir das WinCC-Projekt auf einer Windows 2000 Maschine mit WinCC 5.1. Da nun XP installiert wurde, ist nun WinCC 6 SP4 im Einsatz. Das alte Projekt wurde mit dem Migrator auf den neuesten Stand gebracht. Es funktioniert alles, außer der Zugriff von einer Combobox auf das Userarchiv.

    Im Detail sieht das so aus. Die Combobox wurde mit Visual Basic 5 erstellt und in WinCC verwendet. Diese Combobox wird normalerweise gefüllt mit Daten aus dem Userarchiv. Daten sind im Archiv auf jeden Fall vorhanden. Klickt man nun im Runtimemodus auf die Combobox hängt sich die Runtime auf.

    Ich vermute, das XP das Problem nicht verursacht. Wahrscheinlicher ist mir, das mit diesem VB nicht mehr in dieser Art auf das Userarchiv zugegriffen werden kann.

    Da ich ein absoluter Laie in Sachen VB bin, komme ich einfach nicht weiter. VB5 hatte ich nicht zur Hand. Ich habe den Quellcode mit VB6 geöffnet. Das klappte ohne Probleme. Wenn ich den Code jetzt ausführe, kommt ein Runtime Error: Method 'QueryArchive' of object 'IUsrAcv' failed.

    Hier mal die Procedur DropDown:
    Code:
    Private Sub Combo1_DropDown()
    'Call MsgBox("Hello")
        If Ambient.UserMode Then
            Set mcp = CreateObject("WinCC-Runtime-Project")
     
     
            If mcp Is Nothing Then Exit Sub
     
            'Set uarc = CreateObject("UsrAcv.UsrAcv.1")
            'Set arc = CreateObject("Archive.Archive.1")
            'Call setarc(uarc, arc)
            Call setarc
     
            uarc.QueryArchive Trim(m_Archive), arc
            arc.Open
     
            ' Suche Index der DisplayColumn
            On Error GoTo Fehler
            iDisplayColumn = 1
            found = 0
            While (iDisplayColumn < arc.Fields) And (arc.FieldName(iDisplayColumn) <> m_Column)
                iDisplayColumn = iDisplayColumn + 1
                found = 1
            Wend
     
            ' Suche Index der CheckColumn
            If (m_UseCheck) Then
                iCheckColumn = 1
                found = 0
                While (iCheckColumn < arc.Fields) And (arc.FieldName(iCheckColumn) <> m_CheckColumn)
                    iCheckColumn = iCheckColumn + 1
                    found = 1
                Wend
            End If
     
            ip = 1
            Combo1.Clear
     
            frei_set = 0
            While Not arc.EOF
                arc.Move (ip)
                If (m_UseCheck) Then
                    ' Nur Werte <> Checkvalue eintragen
                   If (arc.FieldValueString(iCheckColumn) <> m_CheckValue) Then
                        Combo1.AddItem arc.FieldValueString(iDisplayColumn)
                   End If
     
                Else ' Alle Werte eintragen (EmptyValue ("frei") nur 1x)
                   If (Trim(arc.FieldValueString(iDisplayColumn)) = Trim(m_EmptyValue)) Then
                        frei_set = 1
                   Else
                        ' Normal hinzufügen
                        Combo1.AddItem arc.FieldValueString(iDisplayColumn)
                   End If
                End If
                ip = ip + 1
            Wend
     
            'Call MsgBox("Hallo", vbOKOnly)
     
    Fehler:
            arc.Close
     
            ' "frei" hinzufügen
            If (frei_set = 1) Then
                Combo1.AddItem m_EmptyValue
            End If
     
            index = 0
            For i = 0 To Combo1.ListCount - 1
                If Combo1.List(i) = m_Selected Then
                    index = i
                    Exit For
                End If
            Next i
     
            If (index > 0) Then
                Combo1.ListIndex = index
            End If
            'Call MsgBox(m_Selected, vbOKOnly)
     
            'Timer2.Enabled = True
     
        End If
     
    End Sub
    An dieser Stelle hängt sich das VB-Projekt sprich die ComboBox auf: uarc.QueryArchive Trim(m_Archive), arc

    Vielleicht ist auch noch die vorherige Procedur interessant.

    Code:
    Private Sub setarc()
           On Error GoTo Fehler
            Set uarc = CreateObject("UsrAcv.UsrAcv.1")
            Set arc = CreateObject("UAArchive.UAArchive.1")
            Exit Sub
    Fehler:
            Set uarc = CreateObject("UsrAcv.UsrAcv.1")
            Set arc = CreateObject("Archive.Archive.1")
    End Sub
    UserArchiv ist selbstverständlich im Anlauf dabei, also gestartet.

    Habt ihr vielleicht dazu einen Rat. Wie gesagt, vorher mit Windows 2000 + WinCC 5.1 hats funktioniert. Nun mit XP und WinCC 6 SP4 ist die Funktion nicht mehr gegeben.

    Gruß
    Michael
    Geändert von S7_Mich (23.08.2006 um 06:54 Uhr)
    Zitieren Zitieren Nach Migration auf WinCC6SP4 kein Zugriff auf Userarchiv  

  2. #2
    S7_Mich ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    18.05.2004
    Beiträge
    203
    Danke
    2
    Erhielt 2 Danke für 2 Beiträge

    Frage

    Hallo nochmal,

    hat hier jemand Erfahrung über VB an das UserArchiv zu kommen.

    Meine Vermutung hat sich verstärkt, das man mit diesem Code so nicht mehr auf das Userarchiv zugreifen kann.

    Als Referenz ist die Library CCUsrAcV 1.0 Type Library in dem Projekt.

    Aus dem Code oben.

    Set uarc=CreateObject ("UsrAcv.usrAcv.1")
    Set arc=CreateObject("Archive.Archive.1")

    Hier wird die Library instanziert.

    uarc.QueryArchive Trim(m_Archive),arc
    Hier sagt er dann, das es das nicht mehr gibt.

    Gibts denn irgendwo eine Beschreibung von dieser CCUsrAcv 1.0 Type Library? Müßte es doch geben, sonst weiß man doch garnicht, wie man die verwenden kann, oder?

    Gruß
    Michael

  3. #3
    Registriert seit
    17.04.2005
    Beiträge
    51
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo S7_mich!

    Ich kenne mich mit WinCC5.1 nicht aus, habe jedoch WinCC6 SP4 mit den Anwenderarchiven im Einsatz.
    Die Art und Weise, wie Du mit Visual Basic auf die Anwenderarchive zugreifst, ist mir gar nicht bekannt und im Handbuch finde ich dazu auch nichts.
    Zwischen WinCC5.1 und WinCC6 gab es den Wechsel vom Sybase SQL Server zum Microsoft SQL Server.
    Ich verwende 2 Möglichkeiten zum Zugreifen auf die Anwenderarchive:

    * mit den WinCC C-API-Funktionen in meinen C-Skripten
    * in VisualBasic-Script mittels ADO und den Microsoft OLE-DB-Treiber

    Zu beiden Möglichkeiten könnte ich Dir Beispiele mailen.

    Hier gibt es ein Beipiel für eine Combobox in WinCC6 mittels Visual Basic Script:
    http://wincc.net

    Im Siemens-Support gibt es einen Beitrag, wie man in C sich den Zugriff auf die Anwenderarchive vereinfachen kann:
    http://support.automation.siemens.co...iew/de/2463816

  4. #4
    S7_Mich ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    18.05.2004
    Beiträge
    203
    Danke
    2
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    vielen Dank für deine Antwort.

    Die Seite wincc.net ist wirklich interessant.

    Wenn du mir die Beispiele schicken könntest, dann wäre das echt genial.
    Mit Anwenderarchive meinst du wohl das UserArchiv oder?

    Das Problem ist, das Visu-Projekt wurde vor einigen Jahren mit Winnt erstellt.

    Gruß
    Michael
    Geändert von S7_Mich (12.09.2006 um 18:41 Uhr)

Ähnliche Themen

  1. kein Zugriff auf VIPA 214
    Von Pockebrd im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 21.10.2010, 19:06
  2. Migration von S5 nach S7
    Von spsautomation im Forum Simatic
    Antworten: 17
    Letzter Beitrag: 07.03.2010, 16:17
  3. Micromaster 440 kein Zugriff auf Parameter
    Von eifelfreak im Forum Antriebstechnik
    Antworten: 2
    Letzter Beitrag: 24.02.2010, 09:40
  4. Antworten: 18
    Letzter Beitrag: 01.10.2009, 20:52
  5. Antworten: 3
    Letzter Beitrag: 31.03.2009, 21:06

Lesezeichen

Berechtigungen

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