DataReader
Messdatenerfassung und Auswertung
Batchfiles
Mehr Kommandozeilen Tipps #3: Zeitstempel
21.01.15 09:01
Zur Überbrückung der Wartezeit bis zum Launch im Apple App Store heute ein Blog mit Tipps zum Thema Zeitstempel und Datei-Automatisierung. Die meisten Fragen werden zu diesem Bereich gestellt und dieses Problem scheint bei vielen sehr häufig vorzukommen:
Eine Maschine oder Anlagensoftware erstellt keine Dateien mit Zeitstempeln - sprich Dateinamen mit Datums- und Uhrzeitangaben - wie beispielsweise:
Stattdessen wird immer der gleiche Dateiname verwendet:
Am nächsten Tag wird diese Datei einfach mit den neuen Daten neu überschrieben. Wie kann dieses verhindert werden?
Ganz einfach, mit einem täglich selbststartenden Script/ Batchdatei und zwei DOS Variablen für Datum und Uhrzeit:
set mydate=%date:~-4%%date:~-7,2%%date:~-10,2%
set mytime=%time:~-11,2%%time:~-8,2%%time:~-5,2%
ren daten.csv %mydate%_%mytime: =0%_daten.csv
Und schon gehen keine Daten mehr verloren und aus einfachen Dateinamen werden solche mit aktuellem Datum-/ Zeitstempeln. Alternativ zu dem Befehl „ren“ (rename = umbenennen) kann auch „copy“ oder „xcopy“ verwendet werden. Auf Mac OS X Systemen empfehlen wir anstelle eines „cp“ Unix Befehls das bessere „ditto“.
Noch ein Hinweis: Der Datareader kann bereits mit Platzhaltern in Zeitstempeln umgehen. Der Aufruf von
importiert zum Beispiel die Datei mit dem Namen 20150105.log. Dazu haben wir einen eigenen Blogeintrag geschrieben, der hier nachzulesen ist:
https://data-reader.de/blog/files/20141231-commandline-help.html
Wenn Sie Fragen zum DataReader haben oder eine eigene Anpassung an Ihre Anlage oder Kunden wünschen, so sprechen Sie uns an. Unser Vorteil ist, dass wir schnell und individuell auf Ihre Anforderung eine Lösung finden können.
Ihr Tomas Jakobs
Eine Maschine oder Anlagensoftware erstellt keine Dateien mit Zeitstempeln - sprich Dateinamen mit Datums- und Uhrzeitangaben - wie beispielsweise:
20150501-daten.csv
Stattdessen wird immer der gleiche Dateiname verwendet:
daten.csv
Am nächsten Tag wird diese Datei einfach mit den neuen Daten neu überschrieben. Wie kann dieses verhindert werden?
Ganz einfach, mit einem täglich selbststartenden Script/ Batchdatei und zwei DOS Variablen für Datum und Uhrzeit:
set mydate=%date:~-4%%date:~-7,2%%date:~-10,2%
set mytime=%time:~-11,2%%time:~-8,2%%time:~-5,2%
ren daten.csv %mydate%_%mytime: =0%_daten.csv
Und schon gehen keine Daten mehr verloren und aus einfachen Dateinamen werden solche mit aktuellem Datum-/ Zeitstempeln. Alternativ zu dem Befehl „ren“ (rename = umbenennen) kann auch „copy“ oder „xcopy“ verwendet werden. Auf Mac OS X Systemen empfehlen wir anstelle eines „cp“ Unix Befehls das bessere „ditto“.
Noch ein Hinweis: Der Datareader kann bereits mit Platzhaltern in Zeitstempeln umgehen. Der Aufruf von
datareader.exe -yesterday YYYYMMDD.log
importiert zum Beispiel die Datei mit dem Namen 20150105.log. Dazu haben wir einen eigenen Blogeintrag geschrieben, der hier nachzulesen ist:
https://data-reader.de/blog/files/20141231-commandline-help.html
Wenn Sie Fragen zum DataReader haben oder eine eigene Anpassung an Ihre Anlage oder Kunden wünschen, so sprechen Sie uns an. Unser Vorteil ist, dass wir schnell und individuell auf Ihre Anforderung eine Lösung finden können.
Ihr Tomas Jakobs
Mehr Kommandozeilen Tipps #2: FTP
10.01.15 09:42
Bei den meisten DataReader Kunden liegen die benötigten Messdaten in einem FTP Verzeichnis auf einem Steuerung PC einer Anlage. Diese wurden meist händisch mit einem FTP Programm wie Filezilla heruntergeladen, bevor die Weiterverarbeitung erfolgte. Dieser Schritt kann - genauso wie die Verarbeitung in DataReader - mit nur wenigen Zeilen vollautomatisiert werden. Sehen Sie in unserem heutigen Blog wie:
Beginnen sollte man mit einer kleinen Textdatei im Windows Notepad Texteditor. Dort bitte folgende Codezeilen eingeben, wobei die Platzhalter in Klammern jeweils für Server, Benutzername und Passwort mit den jeweils eigenen Daten zu ersetzen sind:
open (ServerIP)
(Login)
(Password)
bin
prompt
lcd (lokales Laufwerk/ Pfadname)
cd (Remote Pfad)
mget *.*
bye
Nehmen wir an, die Anlage hat die IP 192.168.0.1, den Anmeldenamen admin und das Passwort pass123. Die Messdaten sollen in das lokale Verzeichnis d:/daten geladen werden und liegen in der Anlage im Unterverzeichnis /data. Dann sind diese Informationen wie folgt einzutragen:
open 192.168.0.1
admin
pass123
bin
prompt
lcd d:\daten
cd /data
mget *.*
bye
Diese Textdatei im Windows Verzeichnis mit dem Namen FTPCONN.TXT speichern. Als nächstes erstellen wird die Batch-Datei im Notepad Texteditor. Einfach ein neues Textdokument beginnen und folgenden Einzeiler hinterlegen:
Diese Datei ebenfalls im Windows Verzeichnis aber mit dem Namen GETDATA.CMD abspeichern. Bitte auf die Erweiterung achten, diese sollte .CMD und nicht .TXT lauten (ggf. im Explorer unter Ordneroptionen die Option „Dateierweiterung bei bekannten Dateitypen ausblenden“ abwählen). Mit dem Kommandozeilenaufruf:
werden nun automatisch alle Messdaten per FTP heruntergeladen. Existieren mehrere Anlagen, so ist dieser Schritt für jede zu wiederholen oder die Batchdatei um entsprechende FTP Aufrufe zu erweitern. Selbstverständlich können die hier verwendeten Dateinamen beliebig angepasst werden.
Wie per Kommandozeile oder über die Windows Computerverwaltung ein Script als Aufgabe zeitgesteuert wird, kann im Microsoft TechNet nachgelesen werden:
https://technet.microsoft.com/de-de/library/cc748993.aspx
Der Importvorgang im DataReader lässt sich ebenfalls als eigene Aufgabe vollautomatisch erledigen. Wie genau, das haben wir letzten Monat ausführlich beschrieben:
https://data-reader.de/blog/files/20141231-commandline-help.html
Wenn Sie Fragen zu DataReader haben oder eine eigene Anpassung an Ihre Anlage oder Kunden wünschen, so sprechen Sie uns an. Unser Vorteil ist, dass wir schnell und individuell auf Ihre Anforderung eine Lösung finden können.
Ihr Tomas Jakobs
Beginnen sollte man mit einer kleinen Textdatei im Windows Notepad Texteditor. Dort bitte folgende Codezeilen eingeben, wobei die Platzhalter in Klammern jeweils für Server, Benutzername und Passwort mit den jeweils eigenen Daten zu ersetzen sind:
open (ServerIP)
(Login)
(Password)
bin
prompt
lcd (lokales Laufwerk/ Pfadname)
cd (Remote Pfad)
mget *.*
bye
Nehmen wir an, die Anlage hat die IP 192.168.0.1, den Anmeldenamen admin und das Passwort pass123. Die Messdaten sollen in das lokale Verzeichnis d:/daten geladen werden und liegen in der Anlage im Unterverzeichnis /data. Dann sind diese Informationen wie folgt einzutragen:
open 192.168.0.1
admin
pass123
bin
prompt
lcd d:\daten
cd /data
mget *.*
bye
Diese Textdatei im Windows Verzeichnis mit dem Namen FTPCONN.TXT speichern. Als nächstes erstellen wird die Batch-Datei im Notepad Texteditor. Einfach ein neues Textdokument beginnen und folgenden Einzeiler hinterlegen:
ftp -s:ftpconn.txt
Diese Datei ebenfalls im Windows Verzeichnis aber mit dem Namen GETDATA.CMD abspeichern. Bitte auf die Erweiterung achten, diese sollte .CMD und nicht .TXT lauten (ggf. im Explorer unter Ordneroptionen die Option „Dateierweiterung bei bekannten Dateitypen ausblenden“ abwählen). Mit dem Kommandozeilenaufruf:
getdata
werden nun automatisch alle Messdaten per FTP heruntergeladen. Existieren mehrere Anlagen, so ist dieser Schritt für jede zu wiederholen oder die Batchdatei um entsprechende FTP Aufrufe zu erweitern. Selbstverständlich können die hier verwendeten Dateinamen beliebig angepasst werden.
Wie per Kommandozeile oder über die Windows Computerverwaltung ein Script als Aufgabe zeitgesteuert wird, kann im Microsoft TechNet nachgelesen werden:
https://technet.microsoft.com/de-de/library/cc748993.aspx
Der Importvorgang im DataReader lässt sich ebenfalls als eigene Aufgabe vollautomatisch erledigen. Wie genau, das haben wir letzten Monat ausführlich beschrieben:
https://data-reader.de/blog/files/20141231-commandline-help.html
Wenn Sie Fragen zu DataReader haben oder eine eigene Anpassung an Ihre Anlage oder Kunden wünschen, so sprechen Sie uns an. Unser Vorteil ist, dass wir schnell und individuell auf Ihre Anforderung eine Lösung finden können.
Ihr Tomas Jakobs
DataReader Kommandozeilenbefehle
31.12.14 12:59
Interessante Beispiele für die KommandozeileWeiterlesen...
November 2018
October 2015
March 2015
December 2014
October 2018
September 2018
August 2018July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017February 2017
January 2017
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
December 2015
November 2015October 2015
September 2015
August 2015July 2015
June 2015May 2015
April 2015March 2015
February 2015
January 2015December 2014