Sonstiges WinCC flexible - Verzeichnissauswahl in Projekt einbinden?

hexic

Level-1
Beiträge
9
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag zusammen,

gibt es eine Möglichkeit, bei WinCC Flexible Advanced, eine Verzeichnissauswahl zu realisieren?

Es sollen verschiedene Rezepturen importiert werden (welche vorher über Exel geschrieben werden) und der Ablageort dieser Rezepturen soll vom
Bediener einstellbar sein, aber per auswahl, nicht über die direkte eingabe des Dateipfades.

Das ganze wird auf einem PC via Runtime visualisiert.

vielen dank vorab

MfG Hexic
 
Eine Idée:

Mehrere Rezepte anlegen, je mit unterschiedliche Dateipfade.
Pro Rezept ein Rezeptfenster konfigurieren.
Die unterschiedliche Rezeptfenster per visibility Animation steuern.
Wenn es nicht zu viele Rezepte mit unterschiedliche Dateipfade sind dann wäre es machbar.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich wollte eben keine vordefinierten Dateipfade vorgeben, sondern dem Bediener die Wahl lassen von welchem Ordner aus
er die Rezepturen laden will. Aber dies eben ohne eintippen des Dateipfades (was die einfachste Lösung wäre :cool:).

Ich hatte eher an eine Verzeichnisauswahl à la "Speichern unter..." gedacht
 
Gibts genau dafür nicht die Funktionen "ImportiereDatensätze" und "ExportiereDatensätze" ?
Das Verzeichnis kann auch über eine String Variable angegeben werden.

Gruß
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das ist momentan so vorhanden, ich beschreibe eine String-Variable mit dem Dateipfad.

Das ganze sollte aber Visuell auswählbar sein um z.b Tippfehler im Pfad zu vermeiden.
 
Man kann mit VB unter WinCCflexible einen Dateiauswahldialog realisieren. Ich hatte das nur mal experimentell probiert, um externe Anwendungen zu starten. Ob man den ausgewählten Pfad als Variable zurückbekommen kann, weiß ich nicht. Aber das wird sicherlich auch irgendwie gehen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Es geht dabei gleichzeitig um die Archivierung der Rezepturdaten.
Je nach Erstellungsdatum der Rezeptur wird für jeden Monat ein Ordner angelegt indem sich die Rezepturdaten befinden und bei Bedarf geladen werden können.

Beispiel:

Neuer Auftrag (20.01.2015) wird erteilt, rezeptur wird erstellt und in dem zugehörigen Ordner gesichert (01_15)

und den Ordner (01_15) möchte ich auswählen können.

wird aber wohl nur über VBS möglich sein... dachte da gibt es evtl ein vordefiniertes Objekt das sowas schon kann :p
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Es geht dabei gleichzeitig um die Archivierung der Rezepturdaten.
Je nach Erstellungsdatum der Rezeptur wird für jeden Monat ein Ordner angelegt indem sich die Rezepturdaten befinden und bei Bedarf geladen werden können.
Beispiel:
Neuer Auftrag (20.01.2015) wird erteilt, rezeptur wird erstellt und in dem zugehörigen Ordner gesichert (01_15)
und den Ordner (01_15) möchte ich auswählen können.
Es geht, aber nur wenn du die import/eksport-Dateien dafür verwendet, nicht der aktive Rezept.
Für die Import/Eksport-Dateien kann man Pfad und Dateiname zur laufzeit ändern, auch durch VBS.

Eine weitere Lösung wäre seine eigene Rezeptursystem zu erstellen, wie Onkel Dagobert es vorschlägt.
 
Die Rezepturdatenwerden nicht als CSV-Datei verwaltet! ( *.dat; *.rdf; *.vdf)
Über eine Auswahl der Rezepturdateien nachzudenken ist sinnlos, da eine externe Bearbeitung der Dateien mit Exel nicht funktionieren wird!
Daten aus einer CSV-Datei in die Rezepturverwaltung zu bekommen geht nur über die Import-Funktion.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag zusammen,
gibt es eine Möglichkeit, bei WinCC Flexible Advanced, eine Verzeichnissauswahl zu realisieren?
Suchst du möglicherweise sowas?
Code:
Dim objExec, strMSHTA, wshShell
     Dim SelectFile

     SelectFile = ""
     
     strMSHTA = "mshta.exe ""about:" & "<" & "input type=file id=FILE>" _
              & "<" & "script>FILE.click();new ActiveXObject('Scripting.FileSystemObject')" _
              & ".GetStandardStream(1).WriteLine(FILE.value);close();resizeTo(0,0);" & "<" & "/script>"""

     Set wshShell = CreateObject( "WScript.Shell" )
     Set objExec = wshShell.Exec( strMSHTA )

     SelectFile = objExec.StdOut.ReadLine( )
 
SmartTags("Dateipfad") = SelectFile

Set objExec = Nothing
Set wshShell = Nothing
Hab ich unter WinCC v7 verwendet funktioniert aber auch in Flex.
Öffnet eine Dateiauswahl, wenn man eine Datei selektiert hat bekommt man einen String in der Art "C:\Users\desktop.ini" zurück.
Das ist allerdings eine Datei- und keine Ordnerauswahl. Was man für die Ordnerselektion ändern muss müsste man herausfinden.
Einige Details dazu: HIER
 
Habe eine Lösung über ein VB-Script gefunden:

Dim objshell, retPath
Set objshell = CreateObject("Shell.Application")
Set retPath = objshell.BrowseForFolder(0,"Datei Wählen",16,17)

SmartTags("Rzpt\Dateipfad_Import") = retPath.Items.Item.Path

"Rzpt\Dateipfad_Import" beschreibt meine Pfad Variable im WinCC, die ich dann für ImportiereDatensätze benutze.

Vielen Dank dennoch an alle, die Idee mit dem VBS hat meine Grundidee gerettet!

EDIT: @Ronin: Danke, hatte deine Antwort erst gelesen nachdem ich meine Nachricht gepostet hatte, Meine Variante funktioniert mit der Ordnerauswahl
 
Die Rezepturgeschichte hat für mehr Verwirrung gesorgt als ich wollte :D

Es ging im Endeffekt nur um die Verzeichnissauswahl, mit der dazugehörigen Funktion wollte ich nur das Beispiel veranschaulichen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mein letzter Post ist irgendwie verschwunden, also könnte das hier ein Doppelpost werden... :)

Dim objshell, retPath
Set objshell = CreateObject("Shell.Application")
Set retPath = objshell.BrowseForFolder(0,"Datei Wählen",16,17)

SmartTags("Rzpt\Dateipfad_Import") = retPath.Items.Item.Path


löst mein Problem. Und es ging von Anfang an nur um den Import der Rezepturdaten, nicht um die liveänderung der aktiven Rezepturdaten.
 
Zurück
Oben