Probleme beim auslesen von CSV Datei über wincc flex von MMC

Dementis

Level-1
Beiträge
37
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen Leute :)

Ich hab folgendes Problem. Ich will über ein VBA-Script Daten von einer CSV-Datei auslesen die auf MMC-Karte des Panels gespeichert ist.
Nun das Script funktioniert soweit (getestet Runtime), aber auf den Panel funktioniert das nicht...
Ich verwende ein MP377 15" Touch. dazu kommt noch das ich auch script habe das auf die MMC-Karte eine CSV-Datei erstellt und das funktioniert ohne Probleme...

Nun meine Frage: Gibt es was besonderes zu beachten beim lesen von MMC/USB bei den Panels?
Anbei der Aktuell verwendete Code

Code:
'Declaration of local tags - Deklaration von lokalen Variablen
Dim fso, f, ts, Path, field, MyZf, i, j, HiField(100)


'Definition of local tags - Definition von lokalen Variablen
i=0
j=0


'Definition Dateipfad
Path = "\Storage Card MMC\Cip_Daten.csv"






'Error Routine - Fehlerroutine
On Error Resume Next


'Create object - Objekt erstellen


Set f= CreateObject("filectl.file")
Set fso = CreateObject("filectl.filesystem")






If Err.Number <> 0 Then
	ShowSystemAlarm "Error #" & CStr(Err.Number) & " " & Err.Description
	Err.Clear
	Exit Sub
End If
 
 Set f = fso.OpenTextFile(Path, 1)




If Err.Number <> 0 Then
	ShowSystemAlarm "Error #" & CStr(Err.Number) & " " & Err.Description
	Err.Clear
	Exit Sub
End If


'Loop
Do While j  < 100
	
	MyZf = f.ReadLine
	If j < 30 Then
		SmartTags("Programm_" & j) = MyZf
	Else
		SmartTags("Funktion_" & (j-30)) = MyZf	
	End If
		
	j = j + 1
Loop


'Close file
f.Close


Set f = Nothing
Set fso = Nothing


ShowSystemAlarm "Readout of the data was successful!"

Hoffe das mir da einer weiter helfen kann :)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Es kommt die Meldung das er die Datei nicht findet und dadurch die Daten nicht ausgelesen werden können.

Ich hab dieses Script auf den PG über Runtime getestet da hat es funktioniert.
Nur war der Pfad anders. Aber den Pfad "\Storage Card MMC\Cip_Daten.csv" hab ich beim schreiben Script auch verwendet und da funktionierte es.
 
Hallo Dementis,

dein Script sieht auf den ersten Blick wie ein Mischmasch aus VBS-Funktionen für Windows- UND WinCE-Betriebssysteme aus. Ich kann mir deshalb nicht vorstellen, dass der von dir gepostete Code 1:1 auf einem (Windows-)PG mit Runtime gelaufen sein soll. :?:

Folgendes sollte für für Windows-Geräte funktionieren:
...
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso_OpenTextFile(path, 1)
Smarttags("result_" & j) = file.ReadLine
...

Und folgendes für WinCE-Geräte:
...
Set file = CreateObject("FileCtl.File")
file.Open path, 1
Smarttags("result_" & j) = file.LineInputString
...


Gruß, Fred
 
Hallo Fred,

Also 1:1 ging der auch nicht das richtig. Den Code Ansich habe ich von siemens support Seite.

Also hab jetzt dein Vorschlag probiert leider bekomm ich immer noch nicht sie Daten die ich brauche...

Diesmal kommt zumindest die Meldung "Readout of the data was successful!"

Irgendwie lest er die Daten nicht aus...

Mfg Markus
 
Zuviel Werbung?
-> Hier kostenlos registrieren
so hab es nun geschafft es funktioniert :)

hab noch was bei Siemens gefunden für WinCE

Code:
Dim f, path, MyZf, i, j, field,


'Definiere Daten
path = "\Storage Card MMC\Cip_Daten.csv"


'Fehlerroutine
On Error Resume Next


'Objekt erstellen
Set f = CreateObject("FileCtl.File")


If Err.Number <> 0 Then
    ShowSystemAlarm "Error #" & CStr(Err.Number) & " " & Err.Description
    Err.Clear
    Exit Sub
End If


'Datei öffnen
f.open path, 1


If Err.Number <> 0 Then
    ShowSystemAlarm "Error #" & CStr(Err.Number) & " " & Err.Description
    Err.Clear
    Exit Sub
End If


'Loop
Do While f.EOF = False
    
    MyZf = f.LineInputString
    
    If j < 30 Then
        SmartTags("Variable") = MyZf
    Else
        SmartTags(""Variable") = MyZf
    End If


    j = j + 1
    
Loop


'Close file
f.Close
Set f = Nothing


ShowSystemAlarm "Readout of the data was successful!"

Trotzdem Danke Fred ;)
 
Zurück
Oben