Ich bin mir nicht ganz sicher, was Du mit "Abfrage ob der USB vorhanden ist" bzw. "Abfrage, ob gerade exportiert wird" meinst. Daher ein paar mögliche Lösungsansätze:Das Exportieren funktioniert, leider die visuelle Abfrage ob der USB vorhanden ist nicht.
Auch ob die Abfrage ob gerade exportiert wird funktioniert auch nicht. Bei Beiden Anfragen bevorzuge ich eine visuelle Anzeige. Also leuchtender Kreis oder so ähnlich.
Die Siemens Comfort Panel unterstützen keine MsgBox, die Basic Panel sowieso nicht da Skripte nicht unterstützt werden. Die WinCC Runtime ( TIA wie auch WinCC flex ) unterstützen MsgBox.Ich bin mir gerade allerdings nicht sicher, ob WinCC all das unterstützt.
Moin,
- Innerhalb von WinCC ist es AFAIK nicht möglich, abzufragen, ob ein USB-Stick gesteckt ist oder nicht.
Natürlich ist das möglich:Innerhalb von WinCC ist es AFAIK nicht möglich, abzufragen, ob ein USB-Stick gesteckt ist oder nicht.
Im FAQ finden Sie ein Beispiel-Skript, das überprüft, ob ein Speichermedium in einem HMI-Gerät vorhanden und schreibbereit ist oder nicht. Sie können das Skript frei an Ihre Bedürfnisse anpassen.
Im laufenden Betrieb sollen Daten eines HMI-Projekts anwendergetriggert auf ein Laufwerk mit Wechselmedien (USB-Stick, SD-/MM-Card, etc.) gespeichert werden. Ein fehlendes oder aus anderen Gründen nicht schreibbereites Speichermedium kann dabei Fehler im Ablauf erzeugen. Sie vermeiden dies, indem Sie den Status des Laufwerks vor dem Schreibvorgang überprüfen.
Das sehe ich anders. Umwege erhöhen die Ortskenntnis.Bei so unklaren Angaben des TE wie hier gibt man wohl besser keine Tipps, die dann eh' nicht realisierbar sind.
Grrrr, da sieht man mal wieder, wo die "Vorbilder" für unnötig Platz-fressenden Code herkommen:
If fso.dir(path)="" Then
result= 1
Else
result= 0
End If
' warum nicht einfach:
result = fso.dir(path) = "" ' bzw. result = -(fso.dir(path) = "")
' ?
If Err.Number=0 Then
result= 0
Else
result= Err.Number
End If
' warum nicht einfach:
result = Err.Number
' ?
Die kürzeste Verbindung zwischen zwei Punkten ist eine Strecke.Das sehe ich anders. Umwege erhöhen die Ortskenntnis.
Ich habe schon so vielDas sollte VB doch auch in den WinCC-Varianten können?
result
in einer IF-Schleife belegt, ist es Da können die "Siemens-Programmierer" wohl eher wenig dafür, weil das gar nicht VB sondern VBS ist.Ich habe schon so vielmit vB-Skripten in WinCC erlebt, dass ich langsam daran zweifle, ob sich die Siemens-Programmierer überhaupt auch nur näherungsweise an die Standards von VB gehalten haben oder doch eher "Etwas, dass sich wie VB anfühlt" implementiert haben. Ich traue dem VB-Interpreter jedenfalls nicht allzu weit.
Danke für den Hinweis, Harald! VBS hatte ich doch gemeint. Leider kann ich das in #8 nicht mehr "reparieren"...., weil das gar nicht VB sondern VBS ist.
Meine Erfahrung sagt mir, wenn die Variablen deklariert wurden, gilt die Deklaration.Möglicherweise schlägt hier die nicht verlässlich laufende dynamische Typisierung zu: Wenn manresult
in einer IF-Schleife belegt, ist essaubervorhersehbar typisiert. Beim Gleichsetzen ist das nicht zwingend der Fall.
In Deinem ersten Beispiel müsste die Bedingungsabfrage IMO immer in Klammern gesetzt werden.
result = fso.dir(path) = ""
ist m.E. nicht erforderlich.result = -(fso.dir(path) = "")
ist erforderlich, weil sich das Vorzeichen sonst auf den Operanden fso.dir(path) beziehen würde, was ja Schwachfug ("negativer String") wäre, um es mal mit Deinem Fachbegriff zu sagen.We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?