TIA Von HMI Comfort Panel auf S7 1500 MMC zugreifen (csv Datei)

emalik

Level-1
Beiträge
6
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,
mein Anliegen:

Gibt es einen Weg von einem HMI Comfort Panel auf eine
csv-Datei im Ladespeicher einer S7 1500 zuzugreifen?
Ich habe nicht die Möglichkeit gefunden den Zugriff freizugeben.

Mit freundlichen Grüßen,
emalik
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich muss das Thema nochmal ausgraben.

Ich erzeuge eine csv-Datei aus einem DB. Der Kunde soll dann die Daten an seinem PC anpassen und wieder auf die MMC der SPS kopieren.

Der Im- und Export der CSV funktioniert. Aber wie kann der Kunde die Datei "herunterladen". Angeschlossen ist ein TP1900 Comfort Pro. Ich hatte gedacht, dass man damit die Datei auf einen USB Stick kopiert usw. Ich hatte auf den Browser im Panel gehofft, der kann zwar auf den Webserver zugreifen, aber leider bekomme ich den Login nicht hin, da sich die Bildschirmtastatur nicht öffnet.

Geht das mit Scripten oder ftp?
 
Moin Wellenbrecher,

Du kannst den Explorer direkt mit einer Systemfunktion starten:

StarteProgramm
Programmname = explorer.exe
Programmparameter = my computer // hier kann auch gleich der Pfad zu Deinem gewünschten Ordner eingetragen werden
...

Ich hatte mal ein Skript geschrieben, mit dem ich das Meldearchiv auf den USB-Stick kopiere:

Code:
Sub Meldearchiv_SD_nach_USB()


Dim fso, fs, f, attr
Dim path, file, filepath, returnfilename
Dim pathnamesrc, pathnamedst
Dim filesrc, filedst
Dim pathsrc, pathdst
Dim filepathsrc, filepathdst
'Dim Header
Dim myDate, mydatefile
Dim appendix
Dim myYear, myMonth, myDay, myHour, myMinute, mySecond
Dim i
Dim Trennzeile, Zeilennummer




'*** Initialisierungen ***


Err.Clear
On Error Resume Next


'*** Zuweisungen ***


Set f = CreateObject("FileCtl.File")
Set fs = CreateObject("FileCtl.Filesystem")
'Set fso = CreateObject("Scripting.FileSystemObject")
'HmiRuntime.ActiveScreen.ScreenItems("Textfeld_1").text = Err.Description


'*** Datum ***


myYear = Year(Now)


If Month(Now)>9 Then
	myMonth = Month(Now)
Else
	myMonth = "0" & Month(Now)
End If


If Day(Now)>9 Then
	myDay = Day(Now)
Else
	myDay = "0" & Day(Now)
End If


If Hour(Now)>9 Then
	myHour = Hour(Now)
Else
	myHour = "0" & Hour(Now)
End If


If Minute(Now)>9 Then
	myMinute = Minute(Now)
Else
	myMinute = "0" & Minute(Now)
End If


If Second(Now)>9 Then
	mySecond = Second(Now)
Else
	mySecond = "0" & Second(Now)
End If


myDate = myYear & myMonth & myDay & "_" & myHour & myMinute & mySecond


'*** Datei kopieren ***


pathnamesrc = "Storage Card SD"
pathnamedst = "Storage Card USB"


pathsrc = "\" & pathnamesrc
pathdst = "\" & pathnamedst


filesrc = "Meldearchiv_csv0"
filedst = "Meldearchiv_csv0" & "_" & myDate
appendix = ".csv"
filepathsrc = pathsrc & "\" & filesrc & appendix
filepathdst = pathdst & "\" & filedst & appendix


path = pathdst




If fs.dir (pathdst) = pathnamedst Then
	fs.setattr filepathsrc, 0
	fs.FileCopy filepathsrc, filepathdst
	HmiRuntime.ActiveScreen.ScreenItems("USB-Stick_Info").text = " Das Meldearchiv wurde kopiert. Dateiname: " & filedst
	Delay(2)
	StartLogging hmiAlarmLog,"Meldearchiv_csv"
Else
	HmiRuntime.ActiveScreen.ScreenItems("USB-Stick_Info").text = " Das Kopieren ist fehlgeschlagen: kein Zielordner vorhanden!"
End If


' Verwendeten Speicher wieder freigeben
Set f = Nothing
Set fs = Nothing


End Sub

Das dann an ein Button hängen.
Dazu noch ein Skript:

USB-Stick prüfen (ob vorhanden):
Code:
Sub USB_check()


Dim fs, path, pathname


'*** Initialisierungen ***


Err.Clear
On Error Resume Next


'*** Zuweisungen ***


Set fs = CreateObject("FileCtl.Filesystem")
pathname = "Storage Card USB"
path = "\" & pathname


If fs.dir (path) = pathname Then
	HmiRuntime.ActiveScreen.ScreenItems("USB-Stick").Visible = True
	HmiRuntime.ActiveScreen.ScreenItems("USB-Stick_entfernen").Visible = True
Else
	HmiRuntime.ActiveScreen.ScreenItems("USB-Stick").Visible = False
	HmiRuntime.ActiveScreen.ScreenItems("USB-Stick_entfernen").Visible = False
End If


Set fs = Nothing


SmartTags("iCountUSB_check") = SmartTags("iCountUSB_check") + 1




End Sub


und USB-Stick auswerfen:

Systemfunktion:

HardwareSicherEntfernen
Ergebnis = Variable
Pfad = \Storage Card USB\


VG

MFreiberger
 
Ich erzeuge eine csv-Datei aus einem DB. Der Kunde soll dann die Daten an seinem PC anpassen und wieder auf die MMC der SPS kopieren.
Wo genau liegt die csv-Datei, die der Kunde bearbeiten soll? Auf der Speicherkarte der SPS-CPU?
Falls die csv-Datei auf der Speicherkarte der SPS-CPU liegt - warum willst Du mit dem HMI-Panel auf die csv-Datei zugreifen?
Kann es sein, daß von außerhalb der CPU nur Lesezugriff auf die csv-Datei möglich ist - ein Zurückschreiben der csv-Datei also generell gar nicht möglich ist?

S7-1500, ET 200SP, ET 200pro Webserver
(ich kenne mich mit dem Webserver der S7-1500 nicht aus)

Wieviele/welche Daten sind in Deiner csv-Datei? Wäre das nicht eigentlich eine Aufgabe für Rezepturen? Rezepturen kann man relativ einfach auf Speichermedien des HMI bringen, und auch zurück in die CPU.


Ich hatte auf den Browser im Panel gehofft, der kann zwar auf den Webserver zugreifen, aber leider bekomme ich den Login nicht hin, da sich die Bildschirmtastatur nicht öffnet.
Gibt es in TIA WinCC die Systemfunktion OpenScreenKeyboard (OeffneBildschirmtastatur)? Kann man die vielleicht verwenden?

Harald
 
Danke ersteinmal für die Antworten.

Die csv liegt auf der Speicherkarte der CPU. Im Grunde handelt es sich um Rezepte. Ich mache die Auswahl der Rezepte aber über die CPU, da der Kunde eine spezielle Auswahl (Filtern) möchte.

Der Kunde möchte jetzt nicht mit einem extra PC an die Anlage um die csv zu holen. Das Panel hat einen USB-Anschluss, daher dachte ich man könnte den Nutzen und die Datei damit holen und dann wieder zurück auf die CPU spielen. Ähnlich wie mit dem Webserver. Damit geht das sehr einfach. Ich versuche die nochmal die Rechte des Webservers so anzupassen, das kein Login mehr nötig ist.

Vom Panel aus wusste ich nicht, wie ich die kompletten Rezepturdatensätze in die CPU spiegeln kann. Und auch wieder zurück, da bestimmte Daten in der CPU ermittelt werden und ins Rezept zurück geschrieben werden müssen.
 
Zurück
Oben