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

Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 23

Thema: Scriptproblem

  1. #11
    skyvan ist offline Benutzer
    Themenstarter
    Registriert seit
    17.09.2007
    Beiträge
    52
    Danke
    14
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi BennoM

    leider klappt es immernoch nicht.

    da alle anderen scripte funktionieren wenn ich sie brauche gehe ich nicht davon aus das es ein Problem ist wenn es auf dem PC simuliert wird.

    Falls jemand etwas komplettes hätte (Dateierstellung) wäre ich sehr sehr dankbar.

    Gruß Marco

  2. #12
    Registriert seit
    26.03.2009
    Ort
    Bayern
    Beiträge
    10
    Danke
    2
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Hi,

    also ich hab jetzt mal ein Skript rausgesucht und alles entfernt was nicht direkt mit dem Dateihandling zu tun hat.

    Code:
    Dim fso, f
     
    'Dateisystemobjekt erstellen
    '-------------------------------
    Set fso = CreateObject("FileCtl.FileSystem")
     
    'Dateiobjekt erstellen
    '---------------------
    Set f = CreateObject("FileCtl.File")
     
    'Logfile öffnen und Eintragung vornehmen
    '-----------------------------------------
     
     'Logfile öffnen
     'Prüfen ob Logfile vorhanden
     If fso.Dir("\Storage Card MMC\Log.csv") = "" Then
     f.open "\Storage Card MMC\Log.csv", 2
     Else
     f.open "\Storage Card MMC\Log.csv", 8 
     End If
     
     'Vorgang in Logfile eintragen
     'Aufbau der Log Datei:
     '| Datum | Anfangszeit | Endzeit | Vorgang
     f.LinePrint(SmartTags("Anfang") & ";" & SmartTags("Ende") & ";" & SmartTags("Vorgang"))
     
     'Logfile schließen
     f.Close
    Ich würde dir empfehlen ein echtes MP277 zum testen zu verwenden. Das Dateihandling im Simulator ist anders als das des MP277.
    Bei mir hat das schreiben bzw. lesen einer Datei in der Simulation eines MP377 (Dateihandling im Skript für WinCE programmiert) nie funktioniert.

    Gruß

    Benny

  3. Folgender Benutzer sagt Danke zu BennoM für den nützlichen Beitrag:

    skyvan (10.08.2011)

  4. #13
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.850
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard

    bei der simulation eines wince-panels auf einem pc wird das scripting des pc verwendet.

    Set f = CreateObject("FileCtl.File")

    verursacht bei der simulation definitiv einen fehler und das script wird abgebrochen.
    solltest du systemfehler anzeigen sollte dies auch dort zu sehen sein
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  5. Folgender Benutzer sagt Danke zu volker für den nützlichen Beitrag:

    skyvan (10.08.2011)

  6. #14
    skyvan ist offline Benutzer
    Themenstarter
    Registriert seit
    17.09.2007
    Beiträge
    52
    Danke
    14
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hallo und...

    Danke euch beiden

    gibt es eine möglichkeit das zu umgehen?

    @BennoM
    das Panel ist schon beim Kunden (mit einer anderen Lösung)

    @Volker wird wohl dann das Problem gewesen sein warum es nicht funktionierte.

    Ich werde noch einmal alles (hier in Simulation) testen, und wenn ich fertig bin auch das Ergebnis posten.

    ich werde sicher noch Fragen haben da wie schon Eingangs erwähnt dies mein erstes Skript in dieser Form ist.

    Danke nochmal an euch
    Gruß Marco

  7. #15
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.181
    Danke
    923
    Erhielt 3.289 Danke für 2.658 Beiträge

    Standard

    Zitat Zitat von BennoM Beitrag anzeigen
    und zwar wurde mit dem Aufruf
    Code:
    ArchivDateiObjekt.open DateiName, 8
    keine neue Datei erzeugt sonder nur eine vorhandene geöffnet um etwas anzuhängen.
    Ach ja richtig, bei den Open-Operationen zum lesen oder anhängen muß die angegebene Datei schon existieren. (ob auch beim Öffnen zum schreiben weiß ich jetzt nicht sicher)
    Wenn die Datei noch nicht existiert oder aus anderen Gründen nicht im gewünschten Modus geöffnet werden kann (z.B. schreibgeschützt oder schon anderweitig geöffnet), dann gibt es einen Runtime-Error mit meist aussagekräftigem Meldetext. Man muß die Runtime-Error-Meldungen allerdings auch mitkriegen (angezeigt bekommen) oder im Script abfangen.
    Willkommen bei der Programmierung von Datei-Operationen, bei denen so ziemlich alles schiefgehen kann!

    Runtime-Error-Meldungen anzeigen:
    wie schon in #6 geschrieben eine Meldeanzeige und/oder ein Meldefenster anlegen, welche Meldungen der Meldeklasse "System" anzeigen.

    Runtime-Error abfangen:
    Code:
    ' Runtime-Errors sollen das Script nicht abbrechen
    On Error Resume Next
    
    ' irgendwas tun, was Runtime-Error erzeugen könnte, z.B. Datei öffnen
    Set f = CreateObject("FileCtl.File")
    f.Open outfile, ForAppend
    
    ' eigene Fehlerbehandlung - hier nur Meldung anzeigen und Ende
    If Err.Number <> 0 Then
        ShowSystemAlarm "Fehler # " & Hex(Err.Number) & _
            " beim Öffnen '" & outfile & "': " & Err.Description
        Exit Sub
    End If
    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  8. #16
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.181
    Danke
    923
    Erhielt 3.289 Danke für 2.658 Beiträge

    Standard

    Zitat Zitat von skyvan Beitrag anzeigen
    Warum bei mir der z.B. der Aufruf "If Not FolderExist" als fehlerhaft angezeigt wird ist mir zum Beispiel auch ein Rätsel.
    Zitat Zitat von BennoM Beitrag anzeigen
    wenn ich mich richtig erinnere, gibt es die Funktion FolderExist unter WinCE (MP277) nicht.
    Die Lösung siehe:
    Zitat Zitat von PN/DP Beitrag anzeigen
    Die Function FolderExist(Path) - welche prüft, ob ein angegebener Ordner existiert oder eine MemoryCard im angegebenen Slot steckt - findest Du in diesem FAQ: Protool/WinCCflex Daten lesen / schreiben mit VB-Script
    Die Function FolderExist(Path) muß als zusätzliches Script in das Projekt eingefügt werden
    (oder statt dem Aufruf der Function den relevanten Code direkt in das Script einfügen).
    Hier eine Version, welche nur unter WinCE läuft:
    Code:
    ' Function FolderExist(Path) prüft, ob ein angegebener Ordner existiert
    ' z.B. ob eine MemoryCard im angegebenen Slot steckt
    ' oder der angegebene Netzwerk-Pfad erreichbar ist
    ' Rückgabewert ist True oder False.
    ' Das Skript läuft nur unter WinCE - nicht in der PC-RT!
    ' Path darf unter WinCE wildcards *? enthalten
    ' !!! unter WinCE führt ein Aufruf "If FolderExist(SmartTags("Strinvariable")) ..."
    '     zu einem Runtim-Error "ungültiger Procedur-Call"
    '     -> SmartTags("Strinvariable") muß explizit einer Skript-Variablen zugewiesen werden !!!
    '     -> z.B. path = SmartTags("Strinvariable") : If FolderExist(path) ...  <- das funktioniert
    '
    Dim fso
    
    FolderExist = False
    Set fso = CreateObject("FileCtl.FileSystem")
    If fso.Dir(Path) <> "" Then FolderExist = True
    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  9. #17
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.181
    Danke
    923
    Erhielt 3.289 Danke für 2.658 Beiträge

    Standard

    Zitat Zitat von skyvan Beitrag anzeigen
    da alle anderen scripte funktionieren wenn ich sie brauche gehe ich nicht davon aus das es ein Problem ist wenn es auf dem PC simuliert wird.
    Doch, es ist ein Problem. Die WinCE-Fileoperationen funktionieren NICHT in der PC-Simulation, weil es unter Win32 das FileCtl-Objekt nicht gibt bzw. anders heißt. Dies wird in der verlinkten FAQ mehrfach erwähnt.

    Zitat Zitat von BennoM Beitrag anzeigen
    Bei mir hat das schreiben bzw. lesen einer Datei in der Simulation eines MP377 (Dateihandling im Skript für WinCE programmiert) nie funktioniert.
    Zitat Zitat von skyvan Beitrag anzeigen
    gibt es eine möglichkeit das zu umgehen?
    Noch einmal: siehe die FAQ. Da wird eine Möglichkeit gezeigt, wie man die Scripte so schreibt, daß sie auch in der PC-RT(-Simulation) funktionieren und von Volker ein Stück Code, wie man erkennt, unter welcher Umgebung die RT ausgeführt wird.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  10. #18
    skyvan ist offline Benutzer
    Themenstarter
    Registriert seit
    17.09.2007
    Beiträge
    52
    Danke
    14
    Erhielt 1 Danke für 1 Beitrag

    Standard

    sorry Harald

    ich stell mich auf dem Gebiet echt doof an. Ich glaube auch nicht das es ein Vorteil ist das Gerät nicht hier zu haben (zum testen). Ich müsste quasi das ganze so schreiben das es in PC-Runtime funktioniert und bevor es eingespielt wird, müsste ich die kritischen Befehle umschreiben.

    also könnte doch im Post #1 das skript funktionieren auf dem MP277 ?

    Gruß Skyvan

  11. #19
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.622
    Danke
    377
    Erhielt 799 Danke für 642 Beiträge

    Standard

    Egal WinCE oder WinXP oder Win7, ON ERROR RESUME NEXT, ist ein muss.
    Jesper M. Pedersen

  12. #20
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.850
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    die scripte sollten auf allen panels ab OP/TP 270/277 und höher laufen.

    einziger unterschied sind die verschiedenen speichermedien.

    das solltest du in einer variablen hinterlegen um das später nicht wieder überall ändern zu müssen

    also z.b.
    SmartTags("speicherpfad") = "storage card mmc"

    und dann später
    datei = SmartTags("speicherpfad") & "\meinedatei.txt"
    f.open datei, 2

    also könnte doch im Post #1 das skript funktionieren auf dem MP277 ?
    nicht ganz. nur wenn die datei bereits existiert.
    mode 1=lesen , mode 2=schreiben, mode 8=anhängen

    lies dir endlich den beitrag in der faq durch. der link ist hier mehrfach gepostet worden.
    Geändert von volker (10.08.2011 um 14:48 Uhr)
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

Ähnliche Themen

  1. Scriptproblem WinCCflex
    Von Monty im Forum HMI
    Antworten: 1
    Letzter Beitrag: 10.04.2007, 17:25

Lesezeichen

Berechtigungen

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