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

Ergebnis 1 bis 9 von 9

Thema: Typdaten aus CSV-Datei in CPU315 2PN/DP einlesen

  1. #1
    Registriert seit
    19.04.2012
    Beiträge
    43
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo!

    Ich programmiere einen Prüfstand. Der Prüfstand soll für mehrere Typen eines Produkts sein. Die Prüfparameter aller einzelnen Modelle bekomm ich als CSV-Datei (Werte getrennt durch Semicolon). Ich möchte es gerne so umsetzen, dass es lediglich nötig ist, eine neue CSV-Datei auf den IPC mit WinCCflex RT zu kopieren, anschließend nur den Dateipfad in der Visu eingeben und schon kann man die neuen Prüfparameter importieren und einen neuen Typen anlegen.

    Die Spaltenanzahl der CSV, also die Anzahl der Prüfungen, können unterschiedlich viele sein. In der ersten Spalte stehen dabei Header-Informationen, somit auch infos über die maximale Anzahl (Breite) der Spalten, was auch gleichzeitig dem maximalen Schritt des Prüfablaufs wiedergibt.

    Mein Gedanke war nun der, die Prüfparameter-CSV über ein Script in eine Rezeptur zu laden und von dort auf einen DB in die Steuerung zu schreiben. Das funktioniert im Augenblick für eine einzige Spalte. Auch die Geschichte mit der variablen Datei-Pfad-Angabe.

    Mein wunsch wäre nun, das Ganze auf alle Spalten umzusetzen, also alle Spalten gleichzeitig zu laden. Ist das in WinCCflexible prinzipiell möglich? Oder kann über das Script mit dem Befehl "ImportDataRecords" nur eine Spalte importiert werden?

    Vielleicht hat einer von euch einen Tip wie man das auf andere Weise lösen könnte, ich bin in VB-Scripten nicht so bewandert, eventuell gibt es da andere Befehle die mir weiter helfen können.



    Ich hoffe, ich konnte mein Problem verständlich erklären und danke euch schon mal im Voraus für eure Hilfe!
    mfg
    Zitieren Zitieren Typdaten aus CSV-Datei in CPU315 2PN/DP einlesen  

  2. #2
    Registriert seit
    17.10.2007
    Beiträge
    263
    Danke
    5
    Erhielt 52 Danke für 48 Beiträge

    Standard

    Hallo Froma,

    du kannst das Einlesen der CSV-Datei in einem Script mit Hilfe des FileSystemObject realisieren. Damit kannst du den gesamten Dateiinhalt einlesen und nach eigenem Gutdünken ver-/bearbeiten. Ich glaube, bei Siemens gibt es sogar Beispielapplikationen zum Download.


    Gruß, Fred


    P.S: Die Suchfunktion dieses Forums sollte auch einige Ergebnisse liefern...

  3. #3
    Froma ist offline Benutzer
    Themenstarter
    Registriert seit
    19.04.2012
    Beiträge
    43
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Fred,

    vielen Dank für deinen Denkanstoß!
    Ich habe mir die FileSystemObject-Methode einmal etwas näher angesehen, aber leider muss ich, zu meinem Bedauern gestehen, dass der Funke dabei einfach noch nicht überspringen will..
    Wäre es möglich mir noch Beispiele zu nennen, mit denen ich an mein Ziel komme? Ich habe sowohl die Forum als auch Google-Suchfunktion genutzt, jedoch mit überschaubarem Erfolg.

    Ich hoffe wir sprechen auch vom selben Anwendungsfall. Nochmals zur Sicherheit:
    Ich möchte eine "mehrspaltige" CSV-Datei in einen Datenbaustein laden. Die erste Spalte der CSV ist dabei so etwas wie ein "Header" der unter anderm auch die maximale Spaltenanzahl enthält. Alle Spalten ab dem Header (also ab der 2.) sind dann Prüfparameter. Je nach CSV kann es unterschiedlich viele Prüfungen geben, darum ist diese auch unterschiedlich breit.
    Im Anhang habe ich die maximale Spaltenzahl mal rot markiert.

    Ich arbeite mit Siemens Step7 V5.5 und das ganze CSV-Management soll auf einem PC mit WinCC-Flexible RT funktionieren.

    Ich wäre sehr dankebar wenn ich noch etwas Unterstützung bei meinem Problem bekomme.
    mfg


    BspCSV.JPG

  4. #4
    Froma ist offline Benutzer
    Themenstarter
    Registriert seit
    19.04.2012
    Beiträge
    43
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Nachtrag:
    Auf dem Runtime-PC ist Windows7 Professional installiert.

  5. #5
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.335
    Danke
    932
    Erhielt 3.333 Danke für 2.691 Beiträge

    Standard

    Mit den vorgefertigten Rezepturfunktionen kann man keine csv-Dateien mit wechselndem Format einlesen. Das Einlesen und flexible Auswerten muss man selber programmieren.

    Benutze mal die Forumssuche nach "FileSystemObject", da findest Du jede Menge VBS-Beispiele rund um csv/txt-Dateien.
    Und diese FAQ: Protool/WinCCflex Daten lesen / schreiben mit VB-Script

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  6. #6
    Froma ist offline Benutzer
    Themenstarter
    Registriert seit
    19.04.2012
    Beiträge
    43
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Spitze, danke für die Unterstützung!

  7. #7
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.866
    Danke
    78
    Erhielt 806 Danke für 549 Beiträge

    Standard

    steht der datensatz immer in zeile 5?

    Code:
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set TextFile1 = fs.openTextFile(datei, 1)
    delim=";"
    dim parameter(100)
    do while textfile1.atendofstream <> true
     z = z + 1
     inzeile = TextFile1.readline
     if z = 5 then
      i2=0
      i1=instr(i1+1,inzeile,delim)
      if i1>0 then
       anzahl=mid(inzeile,i2+1,i1-i2-1)
       i2=i1
      end if
      for i = 0 to anzahl-1
       i1=instr(i1+1,inzeile,delim)
       if i1>0 then
        parameter(i)=mid(inzeile,i2+1,i1-i2-1)
        i2=i1
       end if
      next
      parameter(i)=mid(inzeile,i2+1)
      exit do
     end if
    loop
    Geändert von volker (25.04.2013 um 09:08 Uhr)
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

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

    Standard

    Vielleicht mal so als Denkanstoss (wegen dem variablen Aufbau und Inhalts-Bestandteilen) :
    Das Format der Datei sollte m.E. eher XML (oder etwas selbst gebautes Vergleichbares) sein. Du kannst dann die gewünschten und benötigten Inhalte (egal, wo sie stehen) anhand ihres Namens identifizieren und entsprechend zuordnen.
    WinCCFlexibel unterstützt dich da mit eigenen Funktionen nicht - du hast aber im VB-Script-Befehlssatz alles drin, was du dafür benötigst, dir das selber zu programmieren. Das gilt auch für das Finden der gewünschten Datei mit den Daten.
    Hier ist aber auf jeden Fall eine gute Portion Kreativität (und Eigen-Engagement) gefragt.

    Gruß
    Larry

  9. #9
    Froma ist offline Benutzer
    Themenstarter
    Registriert seit
    19.04.2012
    Beiträge
    43
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo nochmal an alle die auf meinen Hilfeschrei reagiert haben!

    Habe die Aufgabe jetzt durch eure Denkanstöße gelöst. Ich verwende dafür das "FileSystemObject", mit dem es super geht.

    @Volker: Danke für deine Code-Zeilen, war nicht ganz so, wie ich es gebraucht habe, aber allein die Tatsache, dass ich mich an deinem Beispiel orientieren konnte, hat mir sehr weiter geholfen.

    Ist schon prima, welche Unterstützung man hier bekommt. Klasse Leute, klasse Forum!

    Grüße alle,
    Froma

Ähnliche Themen

  1. .csv Datei aus CoDeSys Variable
    Von Terence_Hill im Forum Sonstige Steuerungen
    Antworten: 14
    Letzter Beitrag: 14.03.2013, 23:00
  2. Antworten: 3
    Letzter Beitrag: 13.03.2011, 11:22
  3. Antworten: 8
    Letzter Beitrag: 25.01.2010, 20:14
  4. Acess2000 Datei.csv einlesen
    Von peter(R) im Forum PC- und Netzwerktechnik
    Antworten: 11
    Letzter Beitrag: 30.03.2009, 13:32
  5. .csv Datei in S7 einlesen
    Von Fanatic im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 04.10.2007, 15:41

Lesezeichen

Berechtigungen

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