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

Ergebnis 1 bis 10 von 10

Thema: Script von Panel auf PC-Runtime

  1. #1
    Registriert seit
    11.12.2009
    Beiträge
    2.113
    Danke
    388
    Erhielt 390 Danke für 271 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Zusammen,

    ich versuche ein Script von einem Panel auf ner PC-Runtime zum Laufen zu bekommen.
    Bei Dateioperationen weiß ich, dass sich die zwei Versionen unterscheiden.

    Habe mich an diesem Beitrag orientiert:

    http://www.sps-forum.de/faq/15348-pr...vb-script.html


    Mein Lauffähiges Script auf dem Panel:

    Code:
    Dim fs
    Dim f
    Dim mode
    Dim pfad
    
    pfad = "Storage Card USB\Ordner\"
        ' Objekt fuer Filehandling erstellen
        Set fs = CreateObject("filectl.filesystem")
        
        ' Nichts machen wenn das Verzeichnis fehlt
        If fs.dir(pfad) <> "" Then 
          
          Set f= CreateObject("filectl.file")
          mode = 1 ' lesen
          f.open pfad + "data", mode
          zeile1 = f.LineInputString
          zeile2 = f.LineInputString
          f.Close
    
          ' Weiterer Code
    Mein Ansatz für die PC-Runtime

    Code:
    Dim fs
    Dim f
    Dim mode
    Dim pfad
    
    pfad = "F:\Ordner\"
    
        ' Objekt fuer Filehandling erstellen
        Set fs = CreateObject("Scripting.FileSystemObject")
        
        ' Nichts machen wenn das Verzeichnis fehlt
        If fs.dir(pfad) <> "" Then 
          
          Set f= CreateObject("WScript.Shell")
          mode = 1 ' lesen
          f.open pfad + "data", mode
          zeile1 = f.LineInputString
          zeile2 = f.LineInputString
          f.Close
    
          ' Weiterer Code
    Irgendwas klappt da nicht. Glaube ich steh einfach nur aufm Schlauch und brauche andere Befehle.

    Grüße

    Marcel
    Stell Dir vor es geht, und keiner kriegts hin!
    Zitieren Zitieren Script von Panel auf PC-Runtime  

  2. #2
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.186
    Danke
    923
    Erhielt 3.291 Danke für 2.660 Beiträge

    Standard

    Zitat Zitat von Matze001 Beitrag anzeigen
    Habe mich an diesem Beitrag orientiert:

    http://www.sps-forum.de/faq/15348-pr...vb-script.html
    Hallo Marcel,

    hast Du da auch die Beiträge 2 und 3 gelesen? Da findest Du die direkte Gegenüberstellung der WinCE- und Win32-Operationen in Praxis-Code.

    Dein Code für PC-Runtime sollte so aussehen:
    Code:
    pfad = "Storage Card USB\Ordner\"
        ' Objekt fuer Filehandling erstellen
        Set fs = CreateObject("Scripting.FileSystemObject")
        
        ' Nichts machen wenn das Verzeichnis fehlt
        If fs.FolderExists(pfad) Then
          
          mode = 1 ' lesen
          Set f = fs.OpenTextFile(pfad & "data", mode, False)
          zeile1 = f.ReadLine
          zeile2 = f.ReadLine
          f.Close
    
          ' Weiterer Code
    PS: Zeichenfolgen verkettet man in VB.. vorzugsweise mit & (nicht mit +).

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  3. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    Matze001 (26.11.2015)

  4. #3
    Matze001 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    11.12.2009
    Beiträge
    2.113
    Danke
    388
    Erhielt 390 Danke für 271 Beiträge

    Standard

    Man was hab ich denn gesoffen?

    ich hab, warum auch immer, nur die FileSystemobjects etc ersetzt.
    Muss da irgendwo durcheinandergekommen sein bei den Beiträgen *confused*

    Wenn man sich den Beitrag nochmal in Ruhe durchliest, ist es auch irgendwie auf einmal ganz klar.

    Wieso ist es eigtl. so, dass auf CE und x32/x64 unterschiedliche Befehle zum Einsatz kommen?
    Wenn ich jemand wie MS wäre, würde ich das Plattformübergreifend identisch machen...

    Grüße

    Marcel
    Stell Dir vor es geht, und keiner kriegts hin!

  5. #4
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.186
    Danke
    923
    Erhielt 3.291 Danke für 2.660 Beiträge

    Standard

    Das CreateObject("Scripting.FileSystemObject") startet ein ActiveX. WinCE unterstützt keine ActiveX. Außerdem unterstützt das WinCE-Filesystem nicht alles, was in der "großen" Windows-Welt möglich ist. Daher unterschiedliche DLL bzw. unterschiedliche Methoden.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  6. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    Matze001 (26.11.2015)

  7. #5
    Matze001 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    11.12.2009
    Beiträge
    2.113
    Danke
    388
    Erhielt 390 Danke für 271 Beiträge

    Standard

    uuund weiter gehts.

    Ich will Dateien in einem Ordner kopieren. Der Ordnerpfad ist bekommt, und der Zielpfad auch. Die Anzahl und die Namen der Dateien sind unbekannt.

    Mit diesem Beitrag gibt es mal wieder etwas für CE:

    WinCC Flex VBScript WinCe - Move *.* bzw. Dateien kopieren

    Leider gibt es die Funktion DIR nicht 1:1 bzw. ich finde nichts passendes. Wie man ggf. merkt bin ich mit VB nicht wirklich fit.

    Ich habe folgendes gefunden, was passend klingt, aber einen Fehler auswirft:

    Code:
    fs.copyflolder source, dest, overwrite
    Grüße

    Marcel
    Stell Dir vor es geht, und keiner kriegts hin!

  8. #6
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.186
    Danke
    923
    Erhielt 3.291 Danke für 2.660 Beiträge

    Standard

    Hast Du in Deinem Skript das "CopyFolder" auch so falsch geschrieben wie hier?
    Wie genau lautet die Programmzeile(n)?
    Wie lautet die Fehlermeldung?
    (Was genau wolltest Du eigentlich tun?)

    Marcel, Du weißt doch wie das hier läuft. Wenn man eine fundierte Antwort will, dann muß man auch detailliertere Angaben liefern als blos "funktioniert irgendwie nicht" und "wirft einen Fehler" ...
    Vermutlich sagt Dir die Fehlermeldung genau was schiefgelaufen ist.


    Die CopyFolder-Methode kopiert einen Ordner mitsamt allen enthaltenen Unterordnern und Dateien. Die Quelle- und Ziel-Angaben müssen Ordnernamen sein.

    Wenn Du mehrere Dateien nach Muster (z.B. "2015*.csv") oder alle Dateien ("*.*") eines Ordners in einen anderen Ordner kopieren willst, dann ist die CopyFile-Methode besser geeignet.
    Code:
    fso.CopyFile Quelle, Ziel[, Überschreiben]

    Entsprechungen zur WinCE-Dir-Methode:
    - FileExists (eine bestimmte Datei existiert?)
    - FolderExists (ein bestimmter Ordner existiert?)
    - GetFolder --> Files --> Files-Auflistung aller Dateien in einem Ordner
    - GetFolder --> SubFolders --> Folders-Auflistung aller Unterordner in einem Ordner

    Details und Codebeispiele findest Du in der vorzüglichen VBS-Hilfe von WinCC flexible.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  9. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    Matze001 (26.11.2015)

  10. #7
    Matze001 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    11.12.2009
    Beiträge
    2.113
    Danke
    388
    Erhielt 390 Danke für 271 Beiträge

    Standard

    Hallo Harald,

    ich gelobe Besserung Hier ist es grad etwas stressig, und dann verleitet das einen mal dazu schnell mal etwas runter zu tippen.

    Also hole ich mal ein wenig aus.

    Was habe ich vor?

    Ich möchte alle Dateien aus dem Ordner D:\MeineQuelle\ nach F:\MeinZiel\ kopieren.
    Es handelt sich um die Jobs von einer Cognex Kamera, daher haben alle die Dateiendung *.job (sehr kreativ).

    Mein Ansatz war wie erwähnt (mit korrekter, aber mir gerade unbekannter, Schreibweise)

    Code:
    fs.copyflolder source, dest, overwrite
    Was zu einer Fehlermeldung führte "Fehler in Script "kopieren" in Zeile 67. (Daher habe ich keine Details liefern können).
    Da ich wie gesagt etwas unter Feuer stehe, muss ich mich noch mit der Diagnose beschäftigen, und mal die Rückgabe auswerten.

    Ich werde aber als Erstes die von Dir erwähnte CopyFile Methode probieren.

    Da ich mit dem TIAP arbeite, habe ich die schöne VBs Hilfe nicht Auf diesem System ist auch kein Flex installiert... muss ich also
    mal ne VM rauskramen und gucken was die Hilfe so hergibt. (Warum hat die es nicht ins TIAP geschafft wenn die so gut sein soll?)

    Sehe ich es dann richtig, dass ich es wie folgt umsetzen müsste:

    Code:
    fso.CopyFile "D:\MeineQuelle\*.*", "F:\MeinZiel\", false
    Ich werde Morgen berichten Danke für Deine Hilfe und umsicht ... bin ja schon ein paar Tage hier unterwegs und sollte es eigtl. wissen
    wie man einen gescheiten Beitrag verfasst.


    Grüße

    Marcel
    Stell Dir vor es geht, und keiner kriegts hin!

  11. #8
    Registriert seit
    13.10.2007
    Beiträge
    12.033
    Danke
    2.788
    Erhielt 3.269 Danke für 2.157 Beiträge

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen

    Details und Codebeispiele findest Du in der vorzüglichen VBS-Hilfe von WinCC flexible.
    Auch ein Siemens Problem, Marcel arbeitet bestimmt mit TIA,
    aber in TIA wird die Hilfe wie wir Sie aus der Classic Welt kennen
    nicht intregiert. Also muss man zwei Softwaren starten um Arbeiten
    zu können, eine um zu 'Scripten' und die andere um die 'Hilfe' zu
    nutzen. Das nenne ich mal Total intregiert ... Danke Siemens!
    - - -
    Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel.

  12. Folgender Benutzer sagt Danke zu rostiger Nagel für den nützlichen Beitrag:

    Matze001 (26.11.2015)

  13. #9
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.186
    Danke
    923
    Erhielt 3.291 Danke für 2.660 Beiträge

    Standard

    Zitat Zitat von Matze001 Beitrag anzeigen
    Da ich mit dem TIAP arbeite, habe ich die schöne VBs Hilfe nicht Auf diesem System ist auch kein Flex installiert... muss ich also
    mal ne VM rauskramen und gucken was die Hilfe so hergibt. (Warum hat die es nicht ins TIAP geschafft wenn die so gut sein soll?)
    OK, dann gehe nochmal in die von Dir im Beitrag #1 verlinkte FAQ ans Ende des ersten Beitrags und downloade Dir die von Volker freundlicherweise angehängte "VBScript Sprachverzeichnis.zip" und entpacke diese auf Deinem TIA-Rechner.
    Hier kann man sich eine "Windows Script Host Referenz" als CHM-Hilfedatei herunterladen, diese enthält auch die VBScript-Referenzen wie bei WinCCflex.

    Es ist mir schleierhaft, warum Siemens die VBS-Hilfe nicht mehr mitinstalliert. Wo die doch sogar von Microsoft ist und keine Siemens-Fehler drin sind
    Siemens kann nur noch Dokumentationen mit tausenden Seiten, wo man wenn man endlich was gefunden hat, noch nicht mal sehen kann, wofür/welche SPS-Familie die gemachten Aussagen gelten, wenn sie denn nicht sogar falsch sind... und exakte, genaue und vollständige Informationen sind da auch meist gar nicht drin.

    Zitat Zitat von Matze001 Beitrag anzeigen
    Ich möchte alle Dateien aus dem Ordner D:\MeineQuelle\ nach F:\MeinZiel\ kopieren.
    [...]
    Sehe ich es dann richtig, dass ich es wie folgt umsetzen müsste:

    Code:
    fso.CopyFile "D:\MeineQuelle\*.*", "F:\MeinZiel\", false
    Ja, das sollte Deine Aufgabe erfüllen.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  14. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    Matze001 (26.11.2015)

  15. #10
    Matze001 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    11.12.2009
    Beiträge
    2.113
    Danke
    388
    Erhielt 390 Danke für 271 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Harald, Hallo Helmut,

    das ganze muss man nicht verstehen. Bisher kann ich nicht großartig über das TIAP meckern. Für mich macht es das was es soll, und bisher
    hat es mich nur einmal richtig verarscht. Aber sowas gutes wie diese Doku einfach nicht mehr rein zu packen, finde ich echt schade.

    Aber jetzt zum Positiven! Es funktioniert alles genau so wie ich es brauche, danke für eure Hilfe!

    Grüße

    Marcel
    Stell Dir vor es geht, und keiner kriegts hin!

  16. Folgender Benutzer sagt Danke zu Matze001 für den nützlichen Beitrag:

    PN/DP (26.11.2015)

Ähnliche Themen

  1. Script, TIA Portal, PC-Runtime, Microbox PC
    Von Algamendron im Forum HMI
    Antworten: 11
    Letzter Beitrag: 20.08.2015, 14:39
  2. Probleme mit VB-Script auf Panel
    Von Januar im Forum HMI
    Antworten: 12
    Letzter Beitrag: 10.08.2015, 08:07
  3. Antworten: 2
    Letzter Beitrag: 10.08.2011, 12:53
  4. TwinCAT-Runtime auf CE-Panel
    Von Toddy80 im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 01.07.2010, 13:27
  5. Runtime Auflösung psst nich auf Panel-PC
    Von Der Nils im Forum HMI
    Antworten: 6
    Letzter Beitrag: 15.02.2009, 21:37

Lesezeichen

Berechtigungen

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