TIA VB CSV. Datei auf Storage Card anlegen (Datenlogger)

Zuviel Werbung?
-> Hier kostenlos registrieren
ich weiß nicht wann du es aktuell tust ...
Code:
'Variablen definieren
Dim t, s
Dim strName
Dim Objekt, ObjektName, VAR_Objekt, ObjElement, Bildname
Dim f, fs, fso
Dim WkzName
Dim AlterWert, NeuerWert
Dim Pfad, Datei


On Error Resume Next


'Skript nur bearbeiten, wenn Startbildschirm nicht Aktiv ist
If HmiRuntime.ActiveScreen.ObjectName = "Startbild" Then
'Skript Aktiv zurück setzen
    SmartTags("Skript_Aktiv") = False
    Exit Sub
End If

'Aktives Bild und Objekt bestimmen
Set ObjElement = HmiRuntime.ActiveScreen.ActiveScreenItem    'Aktives Element
Bildname = ObjElement.Parent.ObjectName        'Bildname
VAR_Objekt = ObjElement.ObjectName        'Objektname

'Objekt definieren
Set Objekt = HmiRuntime.Screens(Bildname).ScreenItems(VAR_Objekt)

'Variablen vorbesetzen
WkzName = SmartTags("DB_Akt_Daten_Daten_Wkz-Name")
ObjektName = Objekt.ObjectName                        <------------------------
AlterWert = SmartTags("Alter_Wert")
NeuerWert = Input
t = Now
strName = Year(t) & "." & Right("0" & Month(t), 2) & "." & Right("0" & Day(t), 2) & "_" _
  & Right("0" & Hour(t), 2) & ":" & Right("0" & Minute(t), 2) & ":" & Right("0" & Second(t), 2)
Erst in dem Skript am Anfang
siehe Pfeil.

Ja zwischenspeichern bei Aktivieren ginge aber dann auch nur über ein Skript. Systemfunktion dafür gibt es ja nicht.

Gruß
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mit "Setze Variable" dann vermutlich oder?
Nein. Du musst ja den Objektname des E/A-Feldes ermitteln, das geht nur in einem Skript. Oder willst Du bei jedem betreffenden E/A-Feld einzeln per Hand den an anderer Stelle projektierten Objektname oder einen frei vergebenen Text/Name an das "SetzeVariable" dranschreiben?

Harald
 
Hallo Forum,
möchte dies Thema nochmals aufgreifen. Bin noch ziemlich neu was VB-Scripte betrifft und habe das Skript von Platinum / Willi mal für meine Zwecke ein wenig angepasst.
Wie nicht anders zu erwarten, klappt es nicht so ganz wie ich möchte und jetzt bräuchte ich mal eure Hilfe...
TIA V17, TP1200 (derzeit habe ich keine Hardware und arbeite nur mit PLCSim)
Wenn das Skript gestartet wird kommt bei mir die Fehlermeldung:
1662654015093.png

35 'Objekt für das Filehandling erstellen
36 Set fs = CreateObject("FileCtl.FileSystem")
37 Set f= CreateObject("FileCtl.File")
38 Set fso = CreateObject("FileCtl.FileSystem")

Habe ich da irgendetwas übersehen oder könnte es sein, dass dieses Skript in der Simulation nicht läuft?

Peter
 
Das Objekt "FileCtl.FileSystem" gibt es nur unter Windows CE, daher funktioniert das Skript auch nur auf einem HMI-Panel mit Windows CE und nicht in der Simulation auf einem normalen Windows PC.
siehe FAQ: Protool/WinCCflex/TIA Daten lesen / schreiben mit VB-Script die Beiträge #1 und als Kurzerklärung und mögliche Lösung den Beitrag #2

Harald
 
Zurück
Oben