ich zeichne mit der Wago Messdaten in einer Textdatei auf und möchte diese dann über einen Router auf einen FTP-Server senden. Dies funktioniert auch problemlos mit einem herkömmlichen Router.
In der Endkonfiguration steht aber kein leitungsgebundenes Internet zur Verfügung. Um trotzdem die Daten verschicken zu können möchte ich das GPRS 5.0 Ethernet von Insys verwenden.
Wenn ich nun Daten über GPRS an den FTP versenden möchte, wird zwar die Textdatei auf dem FTP erstellt, allerdings mit 0 Byte.
Ein Datentransfer mit Filezilla über das GPRS Modem ist allerdings problemslos möglich.
Worin liegt der Fehler, dass die Daten nicht richitg versendet werden? Hat schon jmd mal diese Kombination getestet?
Gruß
Ronny
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
der Wago Support schrieb mir, dass man den Timeout nicht ändern kann. Man gab mir den Hinweis die wagoLibEthernet_01.lib zu verwenden. Ist damit ein Datenversand zu einem FTP-Server möglich? Ich glaube die Bibliothek ist nur für ein Netzwerk geeignet oder und nicht zum Datenaustausch über eine GPRS-Verbindung?
Gruß
Ronny
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
der Wago-Support hat mir folgende Bibliothek empfohlen: FTP_Client_01.lib.
Damit funktioniert der Versand. Allerdings kann ich nur einen Textdefinieren, welcher dann in der Textdatei auf dem FTP eingetragen wird. Wie versende ich die Messwerte, welche schon in einer Textdatei auf der Wago gespeichert sind?
in diesem Thread scheinen drei Fragen unbeantwortet:
1.) Warum funktioniert die "WagoLibFtp.lib" nicht über eine GPRS-Verbindung?
2.) Wie kann ich beliebige Daten mit der Bibliothek "FTP_Client_01.lib" versenden?
3.) Wo bekomme ich die Bibliothek "FTP_Client_01.lib"?
zu1: Warum funktioniert die "WagoLibFtp.lib" nicht über eine GPRS-Verbindung?
Die "WagoLibFtp.lib" arbeitet im "passive Mode", das bedeutet:
Für den Datentransfer wird eine zweite TCP-Verbindung vom FTP-Server zum FTP-Client aufgebaut(oder eben nicht).
Da die GPRS-Provider typisch private IP-Adressen vergeben, ist der FTP-Client nicht erreichbar und der Dateitransfer schlägt fehl.
Abhilfe bringt die Bibliothek "FTP_Client_01.lib" die im "active Mode" arbeitet. Im "active Mode" werden Kommandos und Daten über die gleiche Verbindung gesendet.
zu2: Wie kann ich beliebige Daten mit der Bibliothek "FTP_Client_01.lib" versenden?
Die zu übertragenden Daten werden mit dem Funktionsbaustein Eingang "ptSendData" bekannt gegeben.
Der Baustein erwartet hier die Speicheradresse wo die zu sendenden Daten sich befinden. Der Datentyp spielt erstmal keine Rolle.
Wichtig ist das mit dem Eingang "diSendCount" festgelegt wird wie viele BYTE's gesendet werden sollen.
Soll eine Datei aus dem Filesystem versendet werden, verwendest du die SysLibFile um den Dateiinhalt in ein lokales abByteArray zu laden den FTP Baustein rufst du dann mit "ptSendData := ADR(abByteArray);" auf.
Da du aber die Datei selbst erzeugst hast erwarte ich hier keine Probleme.
Du könntest sogar soweit gehen, das du zuerst probierst den Dateiinhalt per FTP zu übertragen und nur dann eine Datei im Filesystem erzeugst wenn der FTP-Transfer fehlschlägt(Das Flash würde sich darüber freuen).
zu3: Wo bekomme ich die Bibliothek "FTP_Client_01.lib"?
mal beim WAGO support nachfragen.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo,
ich zeichne mit der Wago Messdaten in einer Textdatei auf und möchte diese dann über einen Router auf einen FTP-Server senden. Dies funktioniert auch problemlos mit einem herkömmlichen Router.
In der Endkonfiguration steht aber kein leitungsgebundenes Internet zur Verfügung. Um trotzdem die Daten verschicken zu können möchte ich das GPRS 5.0 Ethernet von Insys verwenden.
Wenn ich nun Daten über GPRS an den FTP versenden möchte, wird zwar die Textdatei auf dem FTP erstellt, allerdings mit 0 Byte.
Ein Datentransfer mit Filezilla über das GPRS Modem ist allerdings problemslos möglich.
Worin liegt der Fehler, dass die Daten nicht richitg versendet werden? Hat schon jmd mal diese Kombination getestet?
Gruß
Ronny
Hallo,
ich glaube es könnte an der Timeout-Zeit liegen. Nutze das Programm von Wago. Wo ist in dem Programmteil die Timeout-Zeit definiert?
Programm:
PROGRAM file_send_read
(*---------------------------------------------------------------------------------------
WAGO Kontakttechnik GmbH Hansastr. 27 32423 Minden(Westf.)
Tel. +49571/887-0 Fax. +49571/887-0
Project: IEC1131
Function: An example how to use WagoLibFTP
Description:
Date: 26.01.2006
------------------------------------------------------------------------------------------*)
VAR_INPUT
END_VAR
VAR_OUTPUT
END_VAR
VAR
END_VAR
IF (send OR read) THEN
ELSE (Im Fehlerfall wird die FTP-Verbindung zurückgesetz t)
END_IF
Gruß
Ronny
Hallo,
der Wago Support schrieb mir, dass man den Timeout nicht ändern kann. Man gab mir den Hinweis die wagoLibEthernet_01.lib zu verwenden. Ist damit ein Datenversand zu einem FTP-Server möglich? Ich glaube die Bibliothek ist nur für ein Netzwerk geeignet oder und nicht zum Datenaustausch über eine GPRS-Verbindung?
Gruß
Ronny
Hallo,
der Wago-Support hat mir folgende Bibliothek empfohlen: FTP_Client_01.lib.
Damit funktioniert der Versand. Allerdings kann ich nur einen Textdefinieren, welcher dann in der Textdatei auf dem FTP eingetragen wird. Wie versende ich die Messwerte, welche schon in einer Textdatei auf der Wago gespeichert sind?
Stelle ist im Quellcode markiert.
Quellcode:
( call the FTP-Client each cycle )
oFtp(sIPaddress:= sFtpServer,
CASE wState OF
sFileContent := CONCAT('ActualCount := ','test' ); ??? WIE DEN INHALT AUS DER GESPEICHERTEN TEXTDATEI VERSENDEN ???
END_CASE
Gruß
Ronny
Wo kann ich diese Bibliothek finden?
Hallo,
in diesem Thread scheinen drei Fragen unbeantwortet:
1.) Warum funktioniert die "WagoLibFtp.lib" nicht über eine GPRS-Verbindung?
2.) Wie kann ich beliebige Daten mit der Bibliothek "FTP_Client_01.lib" versenden?
3.) Wo bekomme ich die Bibliothek "FTP_Client_01.lib"?
zu1: Warum funktioniert die "WagoLibFtp.lib" nicht über eine GPRS-Verbindung?
Die "WagoLibFtp.lib" arbeitet im "passive Mode", das bedeutet:
Für den Datentransfer wird eine zweite TCP-Verbindung vom FTP-Server zum FTP-Client aufgebaut(oder eben nicht).
Da die GPRS-Provider typisch private IP-Adressen vergeben, ist der FTP-Client nicht erreichbar und der Dateitransfer schlägt fehl.
Abhilfe bringt die Bibliothek "FTP_Client_01.lib" die im "active Mode" arbeitet. Im "active Mode" werden Kommandos und Daten über die gleiche Verbindung gesendet.
zu2: Wie kann ich beliebige Daten mit der Bibliothek "FTP_Client_01.lib" versenden?
Die zu übertragenden Daten werden mit dem Funktionsbaustein Eingang "ptSendData" bekannt gegeben.
Der Baustein erwartet hier die Speicheradresse wo die zu sendenden Daten sich befinden. Der Datentyp spielt erstmal keine Rolle.
Wichtig ist das mit dem Eingang "diSendCount" festgelegt wird wie viele BYTE's gesendet werden sollen.
Soll eine Datei aus dem Filesystem versendet werden, verwendest du die SysLibFile um den Dateiinhalt in ein lokales abByteArray zu laden den FTP Baustein rufst du dann mit "ptSendData := ADR(abByteArray);" auf.
Da du aber die Datei selbst erzeugst hast erwarte ich hier keine Probleme.
Du könntest sogar soweit gehen, das du zuerst probierst den Dateiinhalt per FTP zu übertragen und nur dann eine Datei im Filesystem erzeugst wenn der FTP-Transfer fehlschlägt(Das Flash würde sich darüber freuen).
zu3: Wo bekomme ich die Bibliothek "FTP_Client_01.lib"?
mal beim WAGO support nachfragen.