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

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

Thema: Excel Daten zur Laufzeit in WinCC/STEP 7 importieren

  1. #1
    Registriert seit
    02.06.2010
    Beiträge
    41
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,
    ich suche verzweifelt eine Lösung, Daten mit Zeitstempel aus Excel in WinCC zu importieren. Die Daten sollen mit dem WinCC Online Trend Control der ActiveX-Controls dargestellt werden. Weiter sollen die Daten in STEP 7 zur Verarbeitung verfügbar sein. Mittels Button in WinCC soll zur Laufzeit ein gewünschter Datensatz importiert werden können.

    Meine Internetrecherche führte mich zur Lösung mittels OPC-Server. Allerdings habe ich keine Ahnung wie die Implementierung aussehen soll, ob es überhaupt ein Lösungsansatz ist und welche Zusatzsoftware ich unter Umständen benötige.?
    Ich verwende übrigens STEP 7 V5.5 und WinCC V7.0.

    Vielen Dank für eure Hilfe!

    Dav
    Zitieren Zitieren Excel Daten zur Laufzeit in WinCC/STEP 7 importieren  

  2. #2
    Registriert seit
    24.10.2011
    Beiträge
    16
    Danke
    0
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Code:
    'Variablendeklaration
    Dim objExcelApp
    Dim objWorkbooks
    Dim objSheet
    
    'zuweisen der Excel-Applikation
    Set objExcelApp = CreateObject ("excel.application")
        
    'zuweisen der Excel-Datei
    Set objWorkbooks = objExcelApp.Workbooks
        
    'vorhandene Tabelle öffnen
    objWorkbooks.Open ("C:\Daten\Vorlagen\Rollenprotokoll.xls")
    
    'Auswahl der Tabelle 1
    Set objSheet = objWorkbooks.Item(1).Worksheets(1)
    
    
    With objSheet
             'übertragen der Kopfdaten Datum und Uhrzeit
            .Cells(1,2).Value = HMIRuntime.Tags("Datum").Read
            .Cells(43,2).Value = HMIRuntime.Tags("Datum").Read
            .Cells(85,2).Value = HMIRuntime.Tags("Datum").Read
            .Cells(127,2).Value = HMIRuntime.Tags("Datum").Read
    
    End With    
    
    objWorkbooks.Close
    objExcelApp.Quit
    Set objExcelApp = Nothing
    Beispiel zum schreiben von einer Excel-Tabelle.
    Lesen ist dann dementsprechend.

  3. #3
    Dav ist offline Benutzer
    Themenstarter
    Registriert seit
    02.06.2010
    Beiträge
    41
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke für die schnelle Antwort. Aber sorry, des ist mir zu knapp formuliert. Der Quellcode gehört jetzt wo genau hin? Soll der in eine C-Aktion in WinCC eingetragen werden oder verstehe ich das falsch? Wohin werden die Daten dann geschrieben? Ist .Cells(x,y).Value die Bezeichnung für ein Objekt in WinCC? Was genau bewirkt das Item(1) unter dem Kommentar 'Auswahl der Tabelle 1? Worksheet(1) steht wohl für Tabellenblatt(1)?
    Versteh mich nicht falsch, die Antwort macht echt was her, aber ich habe noch etwas Erklärungsbedarf...
    Danke!

    Dav

  4. #4
    Registriert seit
    24.10.2011
    Beiträge
    16
    Danke
    0
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Zitat Zitat von Dav Beitrag anzeigen
    Der Quellcode gehört jetzt wo genau hin? Soll der in eine C-Aktion in WinCC eingetragen werden oder verstehe ich das falsch?
    Das ist ein VB-Script für WinCC. Mit diesem Script wird eine Excel-Datei geöffnet und Werte in Zellen geschrieben.

    Zitat Zitat von Dav Beitrag anzeigen
    Ist .Cells(x,y).Value die Bezeichnung für ein Objekt in WinCC?
    .Cells(x,y).Value ist deine Zelle in der Excel-Tabelle

    Zitat Zitat von Dav Beitrag anzeigen
    Was genau bewirkt das Item(1) unter dem Kommentar 'Auswahl der Tabelle 1? Worksheet(1) steht wohl für Tabellenblatt(1)?
    Tabellen-Blatt 1 der Excel-Tabelle.

    Bis dann

    Schablone

  5. #5
    Dav ist offline Benutzer
    Themenstarter
    Registriert seit
    02.06.2010
    Beiträge
    41
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke! Hab den Code mal folgendermaßen für mich angepasst:
    Code:
    Sub OnClick(ByVal Item)       
    'Variablendeklaration
    Dim objExcelApp
    Dim objWorkbooks
    Dim objSheet
    'zuweisen der Excel-Applikation
    Set objExcelApp = CreateObject ("excel.application")
        
    'zuweisen der Excel-Datei
    Set objWorkbooks = objExcelApp.Workbooks
        
    'vorhandene Tabelle öffnen
    objWorkbooks.Open ("D:\Simulation\Tests\Archiv.xls")
    'Auswahl der Tabelle 1
    Set objSheet = objWorkbooks.Item(1).Worksheets(1)
    
    With objSheet
             'übertragen der Kopfdaten Datum und Uhrzeit
            .Cells(10,1).Value = HMIRuntime.Tags("P_Last").Read
            '.Cells(43,2).Value = HMIRuntime.Tags("P_Last").Read
            '.Cells(85,2).Value = HMIRuntime.Tags("P_Last").Read
            '.Cells(127,2).Value = HMIRuntime.Tags("P_Last").Read
            'HMIRuntime.Tags("P_Last_1").Write = .Cells(11,1).Value
            .Cells(11,1).Value = HMIRuntime.Tags("P_Last_1").Write 
    End With    
    objWorkbooks.Close
    objExcelApp.Quit
    Set objExcelApp = Nothing
    End Sub
    Das Schreiben in Excel funktioniert einwandfrei. Das Lesen aus .Cells(11,1) funktioniert aber leider nicht. Weist du zufällig hierfür auch noch die Syntax?
    Das ganze scheint ja einfacher zu sein, als ich anfangs angenommen habe.
    Vielen, vielen Dank für deine Hilfe!
    Dav

  6. #6
    Registriert seit
    24.10.2011
    Beiträge
    16
    Danke
    0
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Code:
    With objSheet
             'übertragen der Kopfdaten Datum und Uhrzeit
            .Cells(10,1).Value = HMIRuntime.Tags("P_Last").Read
            '.Cells(43,2).Value = HMIRuntime.Tags("P_Last").Read
            '.Cells(85,2).Value = HMIRuntime.Tags("P_Last").Read
            '.Cells(127,2).Value = HMIRuntime.Tags("P_Last").Read
            'HMIRuntime.Tags("P_Last_1").Write = .Cells(11,1).Value
            .Cells(11,1).Value = HMIRuntime.Tags("P_Last_1").Write 
    End With
    Schmeiss die letzte Zeile vor "End With" mal raus.

  7. #7
    Dav ist offline Benutzer
    Themenstarter
    Registriert seit
    02.06.2010
    Beiträge
    41
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Wenn ich die Zeile rausschmeise, schreibt er ja wieder nur in die Excel-Datei. Das Problem ist aber, wie ich eine Zelle aus der Excel Datei lesen kann.
    Hab jetz folgendes probiert, nachdem ich nochmal gegoogeld habe, aber leider auch ohne Erfolg.
    Code:
    Sub OnClick(ByVal Item)              
    'Variablendeklaration
    Dim objExcelApp
    Dim objWorkbooks
    Dim objSheet
    'zuweisen der Excel-Applikation
    Set objExcelApp = CreateObject ("excel.application")
        
    'zuweisen der Excel-Datei
    Set objWorkbooks = objExcelApp.Workbooks
        
    'vorhandene Tabelle öffnen
    objWorkbooks.Open ("D:\Simulation\Tests\Archiv.xls")
    'Auswahl der Tabelle 1
    Set objSheet = objWorkbooks.Item(1).Worksheets(1)
    
    With objSheet
             'übertragen der Kopfdaten Datum und Uhrzeit
            .Cells(10,1).Value = HMIRuntime.Tags("P_Last").Read
            '.Cells(43,2).Value = HMIRuntime.Tags("P_Last").Read
            '.Cells(85,2).Value = HMIRuntime.Tags("P_Last").Read
            '.Cells(127,2).Value = HMIRuntime.Tags("P_Last").Read
            '.Cells(11,1).Value = HMIRuntime.Tags("P_Last_1").Write
            HMIRuntime.Tags("P_Last_1") = .Cells(11,1).Value
      '.Cells(11,1).Value = HMIRuntime.Tags("P_Last_1").Write
    End With    
    objWorkbooks.Close
    objExcelApp.Quit
    Set objExcelApp = Nothing
    End Sub
    Wie kann ich eine Zelle aus Excel auslesen und im WinCC TAg speichern?

  8. #8
    Registriert seit
    24.10.2011
    Beiträge
    16
    Danke
    0
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Hallo Dav.

    Ich habs jetzt nochmal selber ausprobiert.
    Bei mir klappt das hier.

    Code:
    'Variablendeklaration
    Dim objExcelApp
    Dim objWorkbooks
    Dim objSheet
    'zuweisen der Excel-Applikation
    Set objExcelApp = CreateObject ("excel.application")
        
    'zuweisen der Excel-Datei
    Set objWorkbooks = objExcelApp.Workbooks
        
    'vorhandene Tabelle öffnen
    objWorkbooks.Open ("E:\Projekte\HOB\Test\Test.xls")
    
    'Auswahl der Tabelle 1
    Set objSheet = objWorkbooks.Item(1).Worksheets(1)
    
    With objSheet
            'übertragen der Kopfdaten Datum und Uhrzeit
            HMIRuntime.Tags("Test_1").Write .Cells(1,1).Value
    End With    
    
    objWorkbooks.Close
    objExcelApp.Quit
    Set objExcelApp = Nothing
    Kein Witz!!

  9. #9
    Dav ist offline Benutzer
    Themenstarter
    Registriert seit
    02.06.2010
    Beiträge
    41
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Juhu! Es geht! Super! Vielen Dank! Hab mich da mit dem "=" vertütelt...
    Danke!

  10. #10
    Dav ist offline Benutzer
    Themenstarter
    Registriert seit
    02.06.2010
    Beiträge
    41
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi nochmal,
    also sorry, aber dieses VBScript bringt mich zur Verzweiflung...
    Folgender Code schreibt zwar in Excel, liest aber nicht aus Excel und scheint Excel auch nicht richtig zu schließen.?
    Code:
    Sub OnClick(Byval Item)                                                           
    'Variablendeklaration
    Dim objExcelApp
    Dim objWorkbooks
    Dim objSheet
    'zuweisen der Excel-Applikation
    Set objExcelApp = CreateObject ("excel.application")
        
    'zuweisen der Excel-Datei
    Set objWorkbooks = objExcelApp.Workbooks
        
    'vorhandene Tabelle öffnen
    objWorkbooks.Open ("D:\Simulation\Tests\Archiv.xls")
    'Auswahl der Tabelle 1
    Set objSheet = objWorkbooks.Item(1).Worksheets(1)
    With objSheet
            'Schreiben nach Excel
            .Cells(11,1).Value = HMIRuntime.Tags("P_Last").Read
            'Lesen aus Excel
            HMIRuntime.Tags("P_Last_1").Write.Cells(10,1).Value
    End With    
    objWorkbooks.Close
    objExcelApp.Quit
    Set objExcelApp = Nothing
    End Sub
    Hat jemand eine Ahnung woran das liegen könnte?

    Danke!
    Dav

Ähnliche Themen

  1. Antworten: 11
    Letzter Beitrag: 07.11.2012, 15:39
  2. Antworten: 1
    Letzter Beitrag: 02.03.2009, 13:04
  3. Antworten: 2
    Letzter Beitrag: 28.02.2006, 17:03
  4. WinCC Daten in Excel schreiben
    Von mg1382 im Forum HMI
    Antworten: 23
    Letzter Beitrag: 31.01.2006, 20:39
  5. Antworten: 0
    Letzter Beitrag: 13.09.2005, 11:58

Stichworte

Lesezeichen

Berechtigungen

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