-Menü

Beiträge anzeigen

Dieser Abschnitt erlaubt es Ihnen, alle Beiträge anzusehen, die von diesem Mitglied geschrieben wurden. Beachten Sie, dass Sie nur Beiträge sehen können, die in Teilen des Forums geschrieben wurden, auf die Sie aktuell Zugriff haben.

Beiträge anzeigen-Menü

Beiträge - marhard

#1
BECKHOFF / Re:DLOG_STORE_FILE_CSV
04. Mai 2011, 13:54:08
hallo peewit

WOW! Perfekt!

Danke schön für die Geduld und die schnelle und unkomplizierte Lösung!!

gruss marhard
#2
danke für die schnelle Antwort!

Ich habe diese Demo jetzt ausprobiert und sie funktioniert. Aber nur einmal, danach bekomme ich beim SNTP Baustein immer einen Fehler 16#0000FF00 (Empfangen Timeoutfehler). Kann es sein das in zu kurzen Abständen abgefragt wird?

gruss marhard

[gelöscht durch Administrator]
#3
BECKHOFF / DNS Client, SNTP Client und RTC_2
04. Mai 2011, 11:56:39
und weil ich gerade so schön am Testen bin gleich noch eine Frage zu den Bausteinen DNS Client, SNTP Client und RTC_2.

In dem Beispiel von DLOG_STORE_FILE_CSV werden Lichtbänder nach einer Tageszeit geschaltet. Dazu lese ich die Uhrzeit vom CE System aus. Das Problem dabei ist aber lt. Beckhoff das scheinbar in Windows CE ein Bug bei der Sommerzeitumstellung ist. Bei der letzten Umstellung im März wurde die Zeit nicht an die Sommerzeit angepasst sonder blieb auf Normalzeit. Unter Windows CE ist ein Timeserver eingetragen der alle 60 Minuten abgefragt werden soll. Scheinbar funktioniert dies aber nicht immer. Meine Lösung wäre jetzt diese Bausteine einzusetzen und mir meine Zeit unabhängig von Windows CE zu stellen.

Ich habe ein kleines Testprogramm zusammengestellt aber der DNS Client liefert mir keine gültige IP4 Adresse. Auch keine Errormeldung.
Mache ich vielleicht irgendetwas falsch?

Zum Baustein RTC_2 (auch wenn er eigentlich zur Basic lib gehört):
wenn ich dort den Parameter DEN (Sommerzeit Ein) auf True setze, dann wird nur die Minute um 1 erhöht und nicht die Stunde. Ich habe vermutlich einen Fehler gefunden der übersehen wurde als der Offset auf Minutenvorgabe geändert wurde.

Bestehender Code:

(* calculate time offset and set ldt output *)
LDT := DWORD_TO_DT(DT_TO_DWORD(UDT) + INT_TO_DWORD(ofs + BOOL_TO_INT(DSO)) * 60);


Geänderter Code:

(* calculate time offset and set ldt output *)
LDT := DWORD_TO_DT(DT_TO_DWORD(UDT) + INT_TO_DWORD(ofs + (BOOL_TO_INT(DSO)*60)) * 60);


Nach der Änderung wird die Lokalzeit richtig dargestellt.

gruss marhard

[gelöscht durch Administrator]
#4
BECKHOFF / Re:DLOG_STORE_FILE_CSV
04. Mai 2011, 11:16:58
fürs erste auf alle Fälle!

Danke nochmals!

gruss marhard
#5
BECKHOFF / Re:DLOG_STORE_FILE_CSV
04. Mai 2011, 10:57:28
Zitat von: peewit in 04. Mai 2011, 10:31:15
das wäre aber auch möglich (ist das eine option für dich ?)

Zeitstempel                Licht 1   Licht 2
2011-04-29-18:50:00   EIN   AUS
2011-04-29-18:50:00   EIN   EIN
2011-04-29-21:05:00   AUS   EIN
2011-04-29-21:10:00   AUS   AUS

gib mir bescheid ob obigen auch passen würde !


So etwas wäre natürlich fürs erste auch möglich. Nur noch eine Frage: Wird das dann so aufgezeichnet wie es im obigen Beispiel ist oder so:

Zeitstempel                Licht 1   Licht 2
2011-04-29-18:50:00   EIN   EIN
2011-04-29-21:05:00   AUS   EIN
2011-04-29-21:10:00   AUS   AUS

Werden also, wie im Beispiel beschrieben, 2 Zeilen beim gleichzeitigen Einschalten eingetragen oder nur eine?

Vielen Dank für deine Bemühungen!!

gruss marhard
#6
BECKHOFF / Re:DLOG_STORE_FILE_CSV
04. Mai 2011, 09:37:37
hallo peewit

entschuldige habe den Baustein vergessen, ist jetzt mit der csv-Musterdatei angefügt!

Zur Aufgabenstellung:
Es werden 2 Lichtbänder über eine Tageszeit geschaltet und diese Zeiten werden über ftp mittels einer xml-Datei täglich vorgegeben (Datei auf Dateisystem, diese wird mit TwinCAT ausgelesen). Diese Zeiten können jeden Tag unterschiedlich sein und für beide Lichtbänder natürlich auch gleich sein.
Damit kontrolliert werden kann ob die Lichtbänder tatsächlich geschaltet werden, möchte ich die Schaltzustände aufzeichnen. Bisher habe ich das mit den TwinCAT eigenen Bausteinen realisiert. Das Problem dabei war aber das gleichzeitige Ein- bzw. Ausschalten der Lichtbänder. Außerdem musste die Logdatei manuell von der Steuerung downgeloadet werden. Bei dem automatischen Versand auf einen ftp-Server wäre hier Abhilfe geschaffen.
Am einfachsten wäre es jeden Datenpunkt einzeln in eine Datei zu schreiben, das funktioniert auch einwandfrei. Bei 2 Meldungen ist es zwar nicht schön aber noch erträglich. Wenn aber viele Datenpunkte (> 10) dann wird es mühsam mit einer Auswertung. Deshalb wäre es fantastisch wenn man mehrere Datenpunkte in eine Datei zusammenfassen könnte und die bspw. einmal pro Woche auf einen ftp-Server senden kann und anschließend gelöscht wird.

Zu den Einträgen:
Ich möchte, da diese Loggingfunktion natürlich auch für andere Zwecke verwendbar ist, Digitale Datenpunkte und auch bspw. Prozesswerte oder Zählerstände aufzeichnen .
Bei den Digitalen Werten genügt eine Spalte mit dem aktuellen Zeitstempel, eine mit einem Meldetext und dem Schaltzustand (EIN, AUS)
Bei den Prozesswerten gibt es ja die DEMO wo das auch verständlich beschrieben ist.
Bei den Zählerständen (Betriebsstundenzähler) auch wieder den aktuellen Zeitstempel, die Stunden und die Schalthäufigkeit.

Zu den Aufzeichnungszeitpunkten:
Die Digitalwerte immer wenn sich der Zustand ändert. (Versendet bspw. dann einmal pro Woche)
Die Prozesswerte entweder zeitlich (geht ja) oder bei Überschreitung eines Deltas (kann man selbst ausprogrammieren) (Versendet bspw. dann einmal pro Tag)
Die Zählerstände bspw. einmal am Tag (00:00 Uhr) und anschließenden Reset des Zählers (kann man selbst ausprogrammieren) (Versendet bspw. dann einmal pro Woche)

Das Ganze möchte ich, für jeden Datentyp getrennt, in einen Funktionsbaustein verpacken, damit diese einfach eingesetzt werden können. Die einzelnen Datentypen sollen nicht in eine einzelne Datei geschrieben werden sondern schon getrennt in verschiedene.

Ich hoffe ich habe alle Fragen beantworten können und hoffe das man das irgenwie lösen kann

gruss marhard

[gelöscht durch Administrator]
#7
BECKHOFF / Re:DLOG_STORE_FILE_CSV
03. Mai 2011, 13:07:12
hier das testprogramm.

[gelöscht durch Administrator]
#8
BECKHOFF / Re:DLOG_STORE_FILE_CSV
03. Mai 2011, 11:24:41
wie kann ich dir das testprogramm zukommen lassen?
#9
BECKHOFF / Re:DLOG_STORE_FILE_CSV
02. Mai 2011, 17:14:57
hier noch die logdatei!!

[gelöscht durch Administrator]
#10
BECKHOFF / Re:DLOG_STORE_FILE_CSV
02. Mai 2011, 17:13:28
Hallo!
ich habe das jetzt getestet. Mir ist aufgefallen, das wenn sich 2 Datenpunkte zur selben Zeit ändern dann die Zeilen in der Logdatei "durcheinandergewürfelt" werden. Mein Problem ist aber das es möglich ist das 2 oder mehrere Datenpunkte zur selben Zeit den Zustand ändern können.

gruss marhard
#11
BECKHOFF / Re:DLOG_STORE_FILE_CSV
29. April 2011, 09:18:35
Hallo!
Noch eine Frage zu diesen Baustein.

Geht es auch das man mehrere Werte in das selbe File schreibt und beispielsweise einmal am Tag (bei Tageswechsel) die Datei auf einen ftp Server ablegt und anschließend löscht?

Grundsätzlich habe ich dieses schon gemacht (aber mit dem smtp Baustein), nur möchte ich Schaltzustände von mehreren Datenpunkten in das selbe File schreiben und nicht für jeden Datenpunkt ein eigenes File generieren.

Wäre sehr froh wenn man dieses Problem in irgendeiner Form lösen könnte!

Gruss marhard
#12
Codesys 2 / Fehler bei den smtp Bausteinen
28. April 2011, 09:55:17
Hallo!

Erstmal ein GANZ GROSSES DANKESCHÖN an die Programmierer der Network.lib und da im speziellen die Log und smtp Bausteinen. Die sind einfach fantastisch!!!

Ich habe aber beim Testen der Logbausteine einen Fehler gefunden. Und zwar beim Dateiversand über smtp. Nimmt man die Option DELETE dann wird kein Mail versendet sondern es kommt immer die Errormeldung 28 (Beckhoff CX, Dateiname falsch oder Datei nicht vorhanden). Hier ist ein kleiner Fehler beim String CONCAT im Baustein DLOG_FILE_TO_SMTP da vor dem #DEL# kein Strichpunkt eingefügt wird. IF FILE_DELETE THEN
files := CONCAT(files,';#DEL#');
END_IF;
Nach Änderung funktioniert der Baustein einwandfrei.

lg marhard
#13
Hallo Hugo,
ich habe für dieses Problem einen Baustein geschrieben der jetzt seit ein paar Monaten in Verwendung ist und der auch über Mitternacht läuft, wenn nur ein Tag ausgewählt ist. Könnt Ihr diesen Baustein gebrauchen?? Wenn ja dann bitte Bescheid geben.
#14
Hallo alle miteinander! Habe ein Problem mit dem Timer_1 Baustein. Ich möchte z.B. am Mittwoch um 23 Uhr den Ausgang setzen und am nächsten Tag um 8 Uhr morgens wieder rücksetzen, diese Zeit aber immer nur Mittwochs aktiv sein soll. Jetzt fällt aber der Ausgang schon am Mittwoch um Mitternacht ab. Kann es sein das ich, wenn die Zeit über Mitternacht laufen soll, auch den nächsten Tag wählen muss?? Wäre nicht so ideal, denn ich möchte den Ausgang ja nicht auch am Donnerstag setzen.