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

Ergebnis 1 bis 5 von 5

Thema: Daten von ProTool an Excel

  1. #1
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    in einer ProTool-Applikation von mir übergebe ich Mess-Daten zur Archivierung an Excel. Das VB-Script dazu sieht so aus :

    Code:
    Dim appExcel , wsExcel , wbExcel , QDatei
    Dim i , f , w
    Dim a , e
    Dim Org 
    Dim wMin , wMax , wMittel
    ' Pointer auf Tabelle laden
    Set appExcel = CreateObject ("EXCEL.Application")
    QDatei = PtVar."Info: Verzeichnis MessDaten" + "Messung.xls"
    Set wbExcel = appExcel.Workbooks.Open (QDatei)
    Set wsExcel = wbExcel.Worksheets("Daten")
    ' Tabellen-Eckdaten ausfüllen
    wbExcel.Author = "Anlage 170"
    wsExcel.Range("D2") = Now 
    Messdaten_Datei = "Messung " +_
    Right(Year(Now) ,2) +_
    Right(100 + Month(Now) ,2) +_
    Right(100 + Day(Now) ,2) +_
    " - " +_
    Right(100 + Hour(Now) ,2) +_
    Right(100 + Minute(Now) ,2) +_
    Right(100 + Second(Now) ,2) +_
    " .xls"
    wsExcel.Range("C6") = Kurve_Anz_Einträge 
     
    wsExcel.Range("A2") = Par_KW_Artikel_Nummer
    If PtVar."St.211 Auswertung_IO" Then wsExcel.Range("B4") = "IO"
    If PtVar."St.211 Auswertung_NIO" Then wsExcel.Range("B4") = "NIO"
    wsExcel.Range("C10") = Par_KW_Höhe
    wsExcel.Range("C11") = Par_KW_Höhe_Toleranz 
    wsExcel.Range("C13") = Par_KW_Weg_1
    wsExcel.Range("C14") = Par_KW_Weg_1_F
    wsExcel.Range("C15") = Par_KW_Weg_1_F_Toleranz
    wsExcel.Range("C17") = Par_KW_Weg_2
    wsExcel.Range("C18") = Par_KW_Weg_2_F
    wsExcel.Range("C19") = Par_KW_Weg_2_F_Toleranz
    wsExcel.Range("C21") = PtVar."St.211 akt.Messwert Höhe"
    wsExcel.Range("C23") = PtVar."St.211 akt.Messwert F1 (L1)"
    wsExcel.Range("C24") = PtVar."St.211 akt.Messwert F2 (L2)"
    wsExcel.Range("C26") = PtVar."St.211 Abweichung max."
    wsExcel.Range("C27") = PtVar."St.211 Abweichung min."
    ' Werte-Tabelle übernehmen
    Org = wsExcel.Range("B4")
    For i = 1 To 100
    wsExcel.Cells(i +1, 5) = Kurve_Messwerte_Federkraft (i) / 10
    wsExcel.Cells(i +1, 6) = Kurve_Messwerte_Weg (i) / 10
    wsExcel.Cells(i +1, 7) = Kurve_Messwerte_kumuliert (i) / 10
    Next
     
    ' Tabelle abspeichern
    wbExcel.Saveas PtVar."Info: Verzeichnis MessDaten" + Messdaten_Datei ,true
    wbExcel.Close false
    ' verwendeten Speicher wieder freigeben
    Set appExcel = Nothing
    Set wsExcel = Nothing
    Set wbExcel = Nothing
    Set QDatei = Nothing
    Set i = Nothing
    Set f = Nothing
    Set w = Nothing
    Set a = Nothing
    Set e = Nothing
    Set Org = Nothing
    Set wMin = Nothing
    Set wMax = Nothing
    Set wMittel = Nothing
    Das Ganze klappt auch, aber nicht zuverlässig. Wenn ich es häufiger aufrufe, dann stürzt mir ProTool irgendwann ab. Kann jemand einen Fehler erkennen ?
    Ich könnte mir vorstellen, dass Excel irgendwelche Speicherbereiche nicht wieder freigibt ...
    Zitieren Zitieren Daten von ProTool an Excel  

  2. #2
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.639
    Danke
    377
    Erhielt 803 Danke für 644 Beiträge

    Standard

    Hallo Larry.

    Kannst du vielleicht zu .csv schreiben, anstatt Excel direkt zu benutzen.
    Das Schreiben zu .csv funktioniert ohne schwierigkeiten für mich.
    Und du kannst die .csv-Datei in Excel öffnen.

    Wie oft sollen die Daten geloggt werden ?
    Geändert von JesperMP (24.06.2007 um 19:08 Uhr)
    Jesper M. Pedersen

  3. #3
    Registriert seit
    26.02.2007
    Beiträge
    12
    Danke
    0
    Erhielt 2 Danke für 2 Beiträge

    Standard

    OPEN EXCEL -> Set appExcel = CreateObject ("EXCEL.Application")
    OPEN BOOK -> Set wbExcel = appExcel.Workbooks.Open (QDatei)
    CREATE SHEET -> Set wsExcel = wbExcel.Worksheets("Daten")
    SAVE BOOK -> wbExcel.Saveas
    CLOSE BOOK -> wbExcel.Close false

    (Missing) CLOSE EXCEL -> appExcel.Quit()

    Change order to release objects
    Set wsExcel = Nothing
    Set wbExcel = Nothing
    Set appExcel = Nothing

    S7XP Manager -The tool for Step 7 projects
    (Trending - Logging - Monitoring - Exporting - DB Initialize)
    V2.21 supports troublefree upload of "actual values" from DBs

  4. Folgender Benutzer sagt Danke zu s7xp.com für den nützlichen Beitrag:

    Larry Laffer (25.06.2007)

  5. #4
    Avatar von Larry Laffer
    Larry Laffer ist offline Super-Moderator
    Themenstarter
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    Hallo,
    genau das wars :
    Code:
    (Missing) CLOSE EXCEL -> appExcel.Quit()
    Danke nochmals für die Unterstützung ...
    Thanks for your assistance ...

  6. #5
    Avatar von Larry Laffer
    Larry Laffer ist offline Super-Moderator
    Themenstarter
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    @JesperMP :
    Ich schreibe die Daten (im Augenblick) nur auf Anforderung in das Excel-Sheet. Es kann aber sein, dass es zyklisch werden muss (alle 3 - 4 Sekunden). Ich könnte natürlich auch mit einer *.csv-Datei arbeiten, aber so ist es schon eleganter ...


    Weitere Frage :
    Kann man die Variable "appExcel" auch als ProTool-Variable übergeben ?
    Wenn ja, dann würde ich diese beim Start der Visu zuweisen und beim Beenden wieder schliessen ...

Ähnliche Themen

  1. Excel Daten zur S7-300er
    Von online im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 19.09.2009, 18:10
  2. S7-200 Daten nach Excel?
    Von schnappmatik im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 22.03.2006, 17:26
  3. Daten von S7 in Excel Übernehmen
    Von SPS_Hannes im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 15.07.2005, 08:01
  4. Antworten: 2
    Letzter Beitrag: 03.05.2005, 07:36
  5. Import von Daten aus DB in Excel
    Von Anonymous im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 11.11.2003, 15:55

Lesezeichen

Berechtigungen

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