Linux.FTP-Sync: Unterschied zwischen den Versionen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(14 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
== Dateiformat auf dem FTP-Server ==
== Dateiformat auf dem FTP-Server ==


 
[[RF1-I]]
'''Dateiname'''
'''Dateiname'''
   
   
Zeile 19: Zeile 19:
FormatRevision;Datum;Uhrzeit;Zaehlertyp;Pruefwerkzeug;Membranhersteller;Chargennummer;fortlNummer;Station_Pruefkammer;Kammer_Glocke;Messwert;Grenzwert;Pruefergebnis<br>
FormatRevision;Datum;Uhrzeit;Zaehlertyp;Pruefwerkzeug;Membranhersteller;Chargennummer;fortlNummer;Station_Pruefkammer;Kammer_Glocke;Messwert;Grenzwert;Pruefergebnis<br>
R1.000;22.02.2006;12:34;ABCDEFGHIJKLMNOPQRST;1A2B3C4D5E6F7G8;UVWX;1234;9999;1;A;0.123456;0.120000;12<br>
R1.000;22.02.2006;12:34;ABCDEFGHIJKLMNOPQRST;1A2B3C4D5E6F7G8;UVWX;1234;9999;1;A;0.123456;0.120000;12<br>
</code>
R1.000;20.07.06;16:25;G4 DN 25 D 250;000000000000;M;317;1431;2;2;+0.1815001E-05;+1.0000010E-04;00
 
== Zuordnungen der Felder in die Datenbank ==
 
FormatRevision
Datum+Uhrzeit
Zaehlertyp
Preufwerkzeug --> CALIBRATIONS.EQUIPMENTID
Membranhersteller
Chargennummer
fortlNummer
Station_Pruefkammer
Kammer_Glocke
Messwert
Grenzwert
Pruefergebnis
 
== crontab ==
 
<code>
*/5  *  *  *  *  fils-ftp  php /home/ftpheli/ftp_heli.php5
</code>
</code>


Zeile 45: Zeile 25:


FTP-Funktions Referenz: http://de3.php.net/manual/de/ref.ftp.php<br>
FTP-Funktions Referenz: http://de3.php.net/manual/de/ref.ftp.php<br>
Eine PHP Script lädt die CSV Datei vom FTP-Server der Prüfmaschine in ein lokales Verzeichnis. Nach der Übertragung wir die Datei vom FTP-Server gelöscht. Das lokale Ablageverzeichnis muss für den OrgaMon sichtbar sein.


<code>
<code>
Zeile 56: Zeile 37:
</code>
</code>


== Übernahme in die Datenbank ==
== crontab ==
 
<code>
*/5  *  *  *  *  fils-ftp  php /home/ftpheli/ftp_heli.php5
</code>
 
== Übernahme der Daten in die Datenbank ==
 
Das CSV-Quellverzeichnis (OrgaMon muss lese/schreib und verzeichnis-Anlege-Rechte haben) wird im Systemparamter:
 
AuftragsObjektPfad=I:\Kundenumgebung\heli\Rohstoffe\ftp_area\
 
angegeben. Dabei werden alle Dateien verarbeitet, die der Maske *.CSV entsprechen! Dies wird vom OrgaMon automatisch im Rahmen der Tagwache übernommen. Oder zu jeder Zeit sobald der Abfrage-Arbeitsplatz gestartet wird.
 
AuftragsAblagePfad=K:\Sicherung\heli\
 
Nach der Übernahme der CSV-Dateien werden diese in ein "~AuftragsAblagePfad~\Ablage" Verzeichnis verschoben um damit zu signalisieren, dass diese Datei bereits verarbeitet wurden.<br>
Im Problemfall (z.B. "falsche Revisionsnummer", "Wert ist bereits in der Datenbank") wird eine CSV in das "~AuftragsAblagePfad~\Unlesbar" Verzeichnis verschoben, laufen hier Dateien auf, so muss nach der Ursache in der CSV Datei oder der Datenbank gesucht werden.<br>
 
== Zuordnungen der Felder in die Datenbank ==


wird vom OrgaMon übernommen!
CSV-Datei                  Datenbank
im Autostart-Moment werden Verzeichnis-Inhalte des FTP-down-Sync abgesaugt und in das JJJ-MM-TT Verzeichnis verschoben, dabei ist das innere Datum aus der Datei zu nehmen.  
---------------------------------------------------
Der CALIBRATIONID ist nach folgender Regel zu berechnen:
FormatRevision            -
Datum+Uhrzeit              CALIBRATIONS.FIELD_DATE
Zaehlertyp                METERS.METERDATA2
Preufwerkzeug              CALIBRATIONS.EQUIPMENTID
Membranhersteller          METERS.METERDATA4
Chargennummer              METERS.METERDATA5
fortlNummer                METERS.SERIALNUMBER
Station_Pruefkammer        METERS.POSITIONNUMBER
Kammer_Glocke              METERS.METERDATA6
Messwert                  TESTS.METERPLOSS
Grenzwert                  TESTS.METERMAXPLOSS
Pruefergebnis              METERS.METERDATA9
AUTO-QUELLE                Datenbank
------------------------------------------------------
GEN_CALIBRATIONID          CALIBRATIONS.CALIBRATIONID

Aktuelle Version vom 5. Dezember 2006, 15:44 Uhr

Dateiformat auf dem FTP-Server

RF1-I Dateiname

TTMMJJ_NNNN.CSV


Spalteninhalte


Beispieldatei

ACHTUNG: Die Zeile mit den Spaltenüberschriften werden im Echtbetrieb nicht erzeugt!

FormatRevision;Datum;Uhrzeit;Zaehlertyp;Pruefwerkzeug;Membranhersteller;Chargennummer;fortlNummer;Station_Pruefkammer;Kammer_Glocke;Messwert;Grenzwert;Pruefergebnis
R1.000;22.02.2006;12:34;ABCDEFGHIJKLMNOPQRST;1A2B3C4D5E6F7G8;UVWX;1234;9999;1;A;0.123456;0.120000;12
R1.000;20.07.06;16:25;G4 DN 25 D 250;000000000000;M;317;1431;2;2;+0.1815001E-05;+1.0000010E-04;00

ftp_heli.php5

FTP-Funktions Referenz: http://de3.php.net/manual/de/ref.ftp.php
Eine PHP Script lädt die CSV Datei vom FTP-Server der Prüfmaschine in ein lokales Verzeichnis. Nach der Übertragung wir die Datei vom FTP-Server gelöscht. Das lokale Ablageverzeichnis muss für den OrgaMon sichtbar sein.

1) Login in den FTP Server
2) Auflisten aller Dateien *.csv in eine Variable
3) Durchlaufen der Variable und im Falle das die Datei älter als 3 Sekunden ist:
 a) Grösse der Datei bestimmen
 b) Datei ins lokale Dateisystem downloaden
 c) Grösse der Datei im lokalen Filesystem bestimmen
 d) Wenn a=c die Datei auf dem FTP-Server löschen

crontab

*/5  *  *  *  *  fils-ftp  php /home/ftpheli/ftp_heli.php5

Übernahme der Daten in die Datenbank

Das CSV-Quellverzeichnis (OrgaMon muss lese/schreib und verzeichnis-Anlege-Rechte haben) wird im Systemparamter:

AuftragsObjektPfad=I:\Kundenumgebung\heli\Rohstoffe\ftp_area\

angegeben. Dabei werden alle Dateien verarbeitet, die der Maske *.CSV entsprechen! Dies wird vom OrgaMon automatisch im Rahmen der Tagwache übernommen. Oder zu jeder Zeit sobald der Abfrage-Arbeitsplatz gestartet wird.

AuftragsAblagePfad=K:\Sicherung\heli\

Nach der Übernahme der CSV-Dateien werden diese in ein "~AuftragsAblagePfad~\Ablage" Verzeichnis verschoben um damit zu signalisieren, dass diese Datei bereits verarbeitet wurden.
Im Problemfall (z.B. "falsche Revisionsnummer", "Wert ist bereits in der Datenbank") wird eine CSV in das "~AuftragsAblagePfad~\Unlesbar" Verzeichnis verschoben, laufen hier Dateien auf, so muss nach der Ursache in der CSV Datei oder der Datenbank gesucht werden.

Zuordnungen der Felder in die Datenbank

CSV-Datei                  Datenbank
---------------------------------------------------
FormatRevision             -
Datum+Uhrzeit              CALIBRATIONS.FIELD_DATE
Zaehlertyp                 METERS.METERDATA2
Preufwerkzeug              CALIBRATIONS.EQUIPMENTID
Membranhersteller          METERS.METERDATA4
Chargennummer              METERS.METERDATA5
fortlNummer                METERS.SERIALNUMBER
Station_Pruefkammer        METERS.POSITIONNUMBER
Kammer_Glocke              METERS.METERDATA6
Messwert                   TESTS.METERPLOSS
Grenzwert                  TESTS.METERMAXPLOSS
Pruefergebnis              METERS.METERDATA9

AUTO-QUELLE                Datenbank
------------------------------------------------------
GEN_CALIBRATIONID          CALIBRATIONS.CALIBRATIONID