Meine ersten Erfahrungen mit dem Datalogger

Begonnen von rrbd, 17. April 2016, 18:40:39

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

rrbd

Ich versuche gerade, mir aus den Datalogger-Bausteinen eine für mich passende Lösung zu basteln.

Meine Gewohnheit
Es gab für SAIA PCD und PG5-Programmierumgebung eine zusätzliche Library mit  Serie von Datenblöcken und Zubehörbausteinen, die es emöglichten, Daten mit voreingestelltem Takt (oder bei Änderung) auf der PCD zu speichern. Damit speicherte ich dann wenige bis viele zig verschiedene Messwerte (und ähnliches) jeweils in einem zugehörigen Datenblock mit ca. 1000 Messwerten, für mich in der Gebäudetechnik reicht eigentlich stets 5x Speichern je Stunde. Jeder Datenblock war eine Art Endlos-Ringspeicher, in dem dann die letzten tausend Werte zum Datenpunkt (Temperaturfühler, Ventilstellung, ...) bei Bedarf zum Abruf zur Verfügung standen. Einige Kunden speicherten das regelmäßig als Qualitätsnachweis ab (Siebdruckerei braucht konstante Temperatur ...), oder aber die Daten Standen bei einem Problem für einen ausreichenden Zeitraum vor der Störung zur Verfügung, um nachvollziehen zu können, was da falsch gelaufen ist. Auslesen der DB war entweder über die Programmierumgebung oder aber auch mittels eines EXCEL Dokuments mit geeigneten Matrixen, die dann mittels der CGI-Befehle in den Zellen alle DB in einem Rutsch über RS-485 oder Modem die Daten auslasen. Schnell noch nach Datum/Uhrzeit sortieren, Copy/Paste in ein vorbereitetes anderes Dokument, und schon stehen "Schreiberlinien" und sonstige Auswertungen zur Verfügung. Diese Lösung war für mich ideal, nun versuche ich sie nachzubilden. An irgendwelche Konflikte bei schreib, Lese, Löschzugriffen kann ich mich nicht erinnern.

Mein Ansatz
Ich habe das Beispiel aus der Library übernommen und mit  PCWORX Express 6.30.1202 Hotfix 1 auf Phoenix ILC 131 ETH Firmware Version 4.30.07 problemlos zum Laufen gebracht. Es wurden 60 CSV-Dateien im SPS-datenspeicher erzeugt, die reihum immer wieder neu beschrieben werden: Da sich der Dateiname nach ablauf einer Minute ändert, wird dann der nächste Datensatz in eine Neue Datei mit anderer Stundenminute vorn im Dateinamen geschreiben. Wenn die Datei schon besteht, wird die alte anscheinend gelöscht und durch eine neue mit den Daten der Jetztzeit ersetzt.

Da ich wie gesagt eher viele Messwerte je Messung brauche habe ich mal 2562 Messungen * 5 Reals (< 200, 2 Nachkommastellen, eigentlich brauche ich nur eine) durchlaufen lassen, ergab ein CSV 131 kB, wenn ich ½ MB  Dateigröße akzeptiere sollte ich also mit typisch 30 Messwerten eine Woche speichern können.

Jetzt probier' ich mal die Email-Funktion, da sich alle meine Anlagen bei Störungen mit Emails Melden ist der Kommunikationsweg schon mal gegeben, dann bekommt der Kunde auch noch einen wöchentlichen Nachweis.

Derzeitige Unklarheiten
a) Den Absatz "„RETAIN_DATA" zu "DLOG_STORE_FILE_CSV" habe ich nicht verstanden. Wo ist die Struktur definiert?

Gruß

Rainer

peewit

Deklariere eine variable mit dem vorgegebenen Datentyp und über gebe sie am Baustein ( variable auf remanant setzten .. Nicht vergessen )

Wenn du es nicht verstanden hast dann sieh dir die den Programme in der lib an.

rrbd

> sieh dir die den Programme in der lib an
Das habe ich natürlich. Aber es gibt dort nirgends (Global Suchen) irgendeine Variable oder sonst etwas mit "RETAIN_DATA" im Namen. Die einzige auf RETAIN gesetzte Variable im Arbeitsblatt ist "save_data", so dass ich eher auf einen Fehler im Manual tippe.

rrbd

DLOG_FILE_TO_SMTP verweigert bisher die Arbeit. Nach dem Kaltstart Zeigt der Baustein "DONE=1", geht nach Ablauf einer Minute auf "BUSY", aber jeder Sendeversuch endet mit "Timeout" ( 00 00 FF 00). Ich habe nach dem ersten Fehlschlag das Loggerdatenblatt wieder nah an den Ursprungszustand (Demo aus der Lib) versetzt, allerdings mit Sinus als einzigem Datenwert, bringt nichts.
Die Parametrierung (Server, From, To) von "DLOG_FILE_TO_SMTP" ist per copy/paste aus einem anderem Projekt von einem  "SMTP_CLIENT" übernommen, das Projekt schickt mir jede nacht die zu erwartende Fehlermeldung. Verschiedene weitere kleine Basteleien, beispielsweise "DLOG_STORE_FILE_CSV" für die Dauer der Sendung disablen brachte nichts.

Ich habe noch nie versucht, eine Datei aus einem Projekt zu verschicken, keine Ahnung, ob es da ein Grundsatzproblem gibt, ich kopiere heute Nachmittag mal eine Test-CSV auf die SPS mit funktionierendme Email-Versand und schaue mal, ob die das CSV anstandslos verschickt.

peewit

hast du einen email account der ohne ssl/tls noch funktioniert ? (es gibt nähmlich fast keine mehr !)
funktioniert das demo programm mit deinen smtp parametern ?
kannst du dein testprogramm zur verfügung stellen (kannst ja deine email account parameter verfremden)

der smtp baustein funktioniert prinzipiell !
ob es mit deiner sps funktioniert kann ich dir nicht sagen, also auch eine mögliche ursache

ein wireshark datenmitschnitt wäre auch eine gute lösung um das problem einkreisen zu können


rrbd

> hast du einen email account der ohne ssl/tls noch funktioniert

Hallo,

Na klar, sonst könnte ich doch nicht von der anderen SPS aus senden. Aber merkwürdigerweise sendet das Programm, das 2 Orte weiter fleißig Emails sendet, von meiner Schreibtisch-SPS keine Mails mehr, das scheint mir momentan eher ein Mysterium meine ILC131 hier zu sein. Ich muss erst mal diese Frage klären, momentan scheint mir eher meine Schreibtisch-SPS (oder ein Netzwerkmysterium hier) als das Loggerprogramm Problemursache zu sein, ich schaue mir das morgen früh an.

Gruß

Rainer

peewit

https://www.smart-mail.de/

geht noch ohne ssl/tls und ist kostenlos
da dieser account nur zum versenden benutzt wird ist es gut genug


rrbd

Zitat von: peewit in 19. April 2016, 10:42:18
https://www.smart-mail.de/ ...

Danke für den Hinweis! Derzeit nutze ich Accounts von All-Inkl (Habbe noch knapp 5000 frei), die auch ohne SSL/TLS funktionieren, und habe den Vorteil, dass der Kunde anhand meines Accounts immer daran erinnert wird, wer ihm diesen Service bietet. Sollte allerdings All-Inkl den unverschlüsselten Zugang einstellen, sind die Kunden sauer, weil ich ihnen nicht mehr ...

Ich werde das mal testen und vielleicht für zukünftige Anlagen in Erwägung ziehen.

Rainer

rrbd

So, das Sendeproblem ist gelöst. Da ich sonst nichts fand, was den Email-Versand komplett blockieren könnte,  habe ich den letzten verzweifelten Ausweg gewählt: RESET am Gerät (Spannung aus â†' Rest-Knopf â†' Spannung ein), und ta-daaa, jegweder Email-Versand incl. Datalogger funktioniert wieder prima, seit ich das Programm neu eingespielt habe. Sehr seltsam!

Damit steht einem Test unter halbwegs realistischen Bedingungen nichts mehr im Wege.