Draco Malfoy
Level-1
- Beiträge
- 1.168
- Reaktionspunkte
- 82
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"
Auf dem Panel PC ist das eine WinCC Advanced Runtime?
Du kannst die Rezepturdaten als CSV exportieren und dann bearbeiten,
das geht auch mit einem Comfort Panel.
Ich würde nicht versuchen, die von der TIA- oder WinCCflex-Runtime erzeugten csv-Dateien irgendwo einzulesen und zu zerlegen, weil das Format nicht dokumentiert ist und sich bei jedem Update plötzlich ändern kann. Und vermutlich auch noch von den Windows-Regionaleinstellungen abhängig ist. Ich erzeuge und lese meine portablen csv-Dateien grundsätzlich durch "low Level" Schreiben und Lesen aller einzelnen Werte und Separatoren in/aus Textdateien in VBS-Skripten.
Harald
Ich weiß nicht, ob wir das Gleiche meinen. Ich finde insgesamt dieses Thema Rezepturen ziemlich schwierig zum Verständnis und jedenfalls nicht anschaulich. Um deine Frage zu beantworten: Mit einer Rezeptur kann ich vieles machen, sofern ich das vordefinierte Betrachtungsfenster der Firma Siemens einsetze. Dann kann ich off schalten und on schalten und was weiß ich was. Dieses Fenster möchte ich aber nunmal nicht haben. Ich möchte eine Übersicht haben, die navigierbar ist ("So eine Art Pseudo-Browser") die mir bestimmte charakteristische Inhalte aus den Datensätzen anschaulich in 10er Bündeln darstellt. Zum Beispiel Werkzeugnummer, Teilenummer, Datum wann das Rezept angelegt wurde, und von wem wurde es angelegt. Aber ich möchte dabei diese Informationen nicht irgendwie aufwändig in dem Namen des Datensatzes verpackt haben.Hallo Draco, kannst vielleicht mal genauer beschreiben (vielleicht mit Bildern/Code), was du anscheinend mit einer PC-Runtime schon realisiert hast? Ich verstehe nämlich ehrlich gesagt deine Aussage "... im HMI darstellen will, ohne mir diese Suppe jedesmal in die Steuerung zu laden." nicht so ganz, eine Rezeptur kann ich doch "offline" schalten, sodass Werte nur auf Anweisung übertragen werden (und nicht schon beim Laden). Gruß, Fred PS: Ähnlich wie Harald nutze ich auch ein selbst definiertes Format für meine Rezepturverwaltung und lasse die Siemens-Rezepturanzeige/die Rezepturfunktionen nahezu vollständig aussen vor.
Wo bekommst Du die Meldungen? Kommen die aus Deinem Programm oder automatisch/aus dem System? Haben die Meldungen Meldungsnummern?
Wie sieht der Versuch im Programm aus? Was soll das Programmstück tun?
Harald
Speichern? Die Funktion heisst Speichere Datensatz bzw im Script SaveDataRecordBy The Way: Beim Versuch, mit dem Standardbefehl einen Rezepturdatensatz zu speichen (GetDataFromThePLC oder wie das da heißt) bekomme ich folgende aussagekräftige Fehlermeldungen:
Anhang anzeigen 43697
Weiß einer Rat ??
Speichern? Die Funktion heisst Speichere Datensatz bzw im Script SaveDataRecord Dann gibt es noch Lade Datensatz. Kannst du über die rezeptur-Nr oder über den Name ansprechen Ich denke das ist das was du haben möchtest. ABER So kannst du nach und nach mehrere Datensätze laden. Du kannst aber nicht mehrere Datensätze parallel anzeigen. Dazu müsstest du das dann umkopieren. mit GetDataRecordFromPLC liest du du aktuelle Rezeptur aus der Steuerung aus
...
Die Funktion lade Datensatz macht für mich keinen Sinn, da sie die Datensätze in das Anschauungsfenster der Fa. Siemens lädt, den ich aber nicht habe. Genau so die Funktion SaveDataRecord denn die speichert diesen Wisch den ich mir im Fenster angucken kann. Ich habe aber kein Fenster.
...
...
Ich habe das Problem im Übrigen gefunden. Das ist Tricky. Ich habe bei der Rezeptur einen Pfad vergeben, den es in der Simulation offensichtlich nicht gibt oder die Simulation aus irgendwelchen anderen Gründen damit ein Problem hat. Sobald man ein Default-Pfad vergibt, funktioniert die Übertragung.
...
Hallo Draco,
das ist nicht ganz richtig. Die Siemens-Rezepturanzeige ist dafür nicht notwendig bzw. keine Voraussetzung, es werden nur die in der jeweiligen Rezeptur verwendeten Variablen "behandelt". Auch Funktionen für den Wertetransfer von und zur SPS bzw. Off-/Online-Schalten gehen solo.
Also mein Ansatz funktioniert(e) bisher auf einem 677 IPC und FlexibleRuntime folgendermaßen: Es gibt ein Script "ReadPage" der 10x das Script "ReadLine" aufruft. ReadLine greift wiederum auf die CSV-Datei anhand vom Index, der mitgeschickt wird, und liest die relevanten Daten aus die dann in Lokalvariablen kopiert werden. ReadPage setzt daraus dann die aktuelle Anzeige zusammen.Du kannst allerdings -wie auch von anderen schon angemerkt- immer nur einen Datensatz gleichzeitig behandeln.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?