TIA einstellbare Datensätze Impor/Expor auf USB oder SD Card

Real Madrid

Level-1
Beiträge
63
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen SPSLer,

ich habe eine Biete, ich brauche ein Skript unter Tia 15, das für mich alle einstellbare Variablen in mein TP1200 HMI Impor/Expor kann und in USB oder SD Card speichern.

Vielen Danke für eure Unterstützung.
 
Was meinst Du mit "alle einstellbare Variablen"? Alle Variablen die Einstellwerte enthalten (woher weiß das Skript welche das sind?), oder aus einer Liste in der Runtime auswählbare Variablen (wie auswählbar?), oder ...?
Warum schreibst Du in der Themenüberschrift "Datensätze" und im Beitragstext "Variablen"? Sind Deine Variablen schon in einer Rezeptur, oder in mehreren Rezepturen?
Vielleicht schreibst Du noch ein paar Worte ausführlicher was Du machen willst und was Du schon hast.

Im TP700 legst Du eine Rezeptur für diese Daten an. Die Rezepturvariablen verknüpfe mit den PLC-Variablen in dem DB.
Dann kannst Du die Rezepturvariablen ins TP einlesen und die Rezeptur auf den USB Stick speichern (exportieren, ExportDataRecords). Wenn Deine csv-Datei ein bestimmtes Format haben soll, dann musst Du etwas aufwendiger skripten: eine Textdatei öffnen und die Werte und Separatoren (z.B. Semikolon) einzeln in die Datei schreiben. Für diesen Fall siehe diese FAQ Protool/WinCCflex/TIA Daten lesen / schreiben mit VB-Script und suche im Forum nach "csv vbs", und wegen den Problemen mit dem garantierten Aktualisieren der Variablen suche mal nach "GetDataRecordTagsFromPLC".

Um wieviele Datenpunkte geht es? Ist das nur ein Datensatz oder mehrere/viele gleichartige Datensätze? Wie häufig sollen gespeichert werden?

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Harald,

danke für die schnelle Antwort, ich habe Rezepturen in mein HMI, ich möchte die gern als csv oder txt Datei Impor/Expor zu USb oder SD Card speichern.

ich habe Ihre Link gesehen, es ist für mich ganz schwer diese Skript.
 
rezepturen kannst du auch über ein ereignis exportieren. z.b. schaltfläche
 

Anhänge

  • Zwischenablage02.jpg
    Zwischenablage02.jpg
    35,2 KB · Aufrufe: 67
Wenn Du schon auf dem HMI vorhandene Rezeptur-Datensätze in eine csv-Datei speichern willst (im von TIA WinCC Adv. vorgegebenen Format), dann reicht es im Grunde, die Export-Systemfunktion von einem Button (wie von volker gezeigt) oder aus einem Skript aufzurufen. Bei Bedarf noch etwas aufhübschen mit Auswahl welcher Datensatz und Eingabe/Auswahl des Zieldateiname.
Aufrufbeispiel aus Skript:
Code:
ExportDataRecords "Rezeptur_1", 0, "\Storage Card USB\MeineRezeptur.csv", _
                  hmiOverwriteWithConfirmation, hmiOn, "RezepturExport_Status"


Wenn Du Rezepturwerte direkt aus der PLC in eine csv-Datei speichern willst (im von TIA WinCC Adv. vorgegebenen Format), dann kannst Du folgendes Skript als Vorlage nehmen:
Code:
Sub ExportRezeptur()
[COLOR="#008000"]' Rezepturwerte aus PLC ins HMI lesen und als csv-Datei speichern (im WinCC Adv. Format)[/COLOR]
[COLOR="#008000"]' "RezepturLesen_Status" und "RezepturExport_Status" : UInt : <interne> HMI-Variablen[/COLOR]
Dim rdStat, exStat

[COLOR="#008000"]'*** Rezepturwerte aus PLC ins HMI lesen + auf Fertigmeldung warten (Statusvariable muß eine HMI-Variable sein)[/COLOR]
[COLOR="#008000"]'ShowSystemAlarm "Rezepturvariablen lesen aus PLC ..."[/COLOR]
GetDataRecordTagsFromPLC "Rezeptur_1", "RezepturLesen_Status"
Do
    rdStat = SmartTags("RezepturLesen_Status")
Loop While (rdStat And 4) = 0 [COLOR="#008000"]'4=fertig OK / 12=abgebrochen mit Fehler[/COLOR]

If rdStat <> 4 Then [COLOR="#008000"]'4=fertig OK[/COLOR]
    ShowSystemAlarm "Fehler beim Lesen der Rezepturvariablen aus der PLC"
Else
    [COLOR="#008000"]'*** die gelesenen Werte in einen Rezepturdatensatz speichern + auf Fertigmeldung warten[/COLOR]
    SaveDataRecord "Rezeptur_1", "ExportDS", hmiOverwriteAlways, hmiOff, "RezepturExport_Status"
    Do
        exStat = SmartTags("RezepturExport_Status")
    Loop While (exStat And 4) = 0 [COLOR="#008000"]'4=fertig OK / 12=abgebrochen mit Fehler[/COLOR]

    If exStat <> 4 Then [COLOR="#008000"]'4=fertig OK[/COLOR]
        ShowSystemAlarm "Fehler beim Speichern Rezeptur-Datensatz"
    Else
        [COLOR="#008000"]'*** den gerade gespeicherten Datensatz in csv-Datei exportieren + auf Fertigmeldung warten[/COLOR]
        ExportDataRecords "Rezeptur_1", "ExportDS", "\Storage Card USB\MeineRezeptur.csv", _
                          hmiOverwriteWithConfirmation, hmiOn, "RezepturExport_Status"
        Do
            exStat = SmartTags("RezepturExport_Status")
        Loop While (exStat And 4) = 0 [COLOR="#008000"]'4=fertig OK / 12=abgebrochen mit Fehler[/COLOR]

        If exStat = 4 Then [COLOR="#008000"]'4=fertig OK[/COLOR]
            ShowSystemAlarm "Rezeptur_1 in '\Storage Card USB\MeineRezeptur.csv' exportiert"
        Else
            ShowSystemAlarm "Fehler bei csv-Export"
        End If
    End If
End If

End Sub


Wenn Du ein anderes Format der csv-Datei brauchst, dann musst Du anstatt der ExportDataRecords-Funktion das Erzeugen der csv-Datei selber programmieren. siehe Beitrag #2

Harald
 
Zurück
Oben