FTP-Datenübertragungsmodus für Datenaufzeichnungsdateien einstellen
Dieser FP-Befehl definiert die Datenübertragungseinstellungen für Datenaufzeichnungsdateien über das FTP-Protokoll.
Eingang
LOG-Nummer (zulässiger Bereich: 0–15). Der Compiler erzeugt intern die Zeichenfolge für die Nummer der Protokolldatei, z.B. 'LOG=0'
Einstellen der Datenübertragungs-Verfahrensparameter.
Serveradresse (erforderlicher Parameter)
Es kann nur ein Server gleichzeitig angegeben werden. Geben Sie eine FTP-Servernummer mit drei Ein-Byte-Zeichen an.
Schlüsselwort: SV
Werte: SV0–SV3 (Server 0–Server 3)
Übertragungsart (optionaler Parameter)
Syntax |
Übertragungsart |
---|---|
|
Überschreibverfahren (Voreinstellung) Dateiübertragung mit den Dateinamen durchführen, die in den Einstellungen für die Datenaufzeichnung angegeben wurden. Wenn die Datenübertragung aufgrund von Netzwerk- oder Serverproblemen unterbrochen wird, wurde die Dateiübertragung möglicherweise nur teilweise ausgeführt. Prüfen Sie mit einem Befehl wie FP_FTP_GET_STATUS, ob die Datenübertragung erfolgreich abgeschlossen wurde. |
|
Umbenennungsverfahren Dateiübertragung mit temporären Dateinamen durchführen und Dateien nach erfolgreicher Datenübertragung umbenennen. Um zu überprüfen, ob die Dateiübertragung erfolgreich abgeschlossen wurde, vergleichen Sie die tatsächlichen Dateinamen mit den Dateinamen, die in den Einstellungen für die Datenaufzeichnung angegeben wurden. Die Verarbeitungszeit ist länger als bei dem Überschreibverfahren. |
Beispiel: Datenaufzeichnungsdatei an den FTP-Server 3 unter Verwendung des Umbenennungsverfahrens senden: 'SV3,MODE=REN'
Einstellen des Zielverzeichnisses (max. 256 Zeichen). Es wird mit einem relativen Pfad zum Home-Verzeichnis erstellt, das dem Benutzer nach dem Einloggen auf dem FTP-Server zugewiesen wurde. Wenn das Zielverzeichnis nicht existiert, wird es automatisch mit bis zu acht Hierarchien erstellt.
Ausgang
Wird unter den folgenden Bedingungen auf TRUE gesetzt:
wenn eine Zeitüberschreitung der Verbindung überschritten wird,
wenn eine IP-Adresse ungültig ist
Wenn ein Fehler auftritt, prüfen Sie die Systemvariable sys_iEthernetConnectionErrorCode auf die Fehlercodenummer.
Trennen Sie alle Schlüsselwörter durch Komma, z.B. 'NAME=abcd,FROM=sender@server.com'
Reihenfolge der Schlüsselwörter nicht verändern. Geben Sie die Schlüsselwörter und ihre Einstellparameter in der Reihenfolge an, in der sie hier aufgeführt sind.
Die Zeichenanzahl für Zeichenfolgen darf 256 nicht überschreiten.
Dieser Befehl ist in Interrupt-Programmen nicht verfügbar.
Bevor Sie den Befehl ausführen, müssen Sie den FTP-Server unter Verwendung von FP_FTP_SET_CONNECTION oder dem Einstellungsdialog des FTP-Clients angeben.
Groß- und Kleinbuchstaben können für Operanden verwendet werden, für die eine Zeichenkonstante angegeben werden kann. "Abcd", "ABCD" und "abcd" sind gleichbedeutend, bei Dateinamen wird jedoch zwischen Groß- und Kleinschreibung unterschieden.
Der Befehl kann nur ausgeführt werden, wenn der Merker Datenübertragungsauftrag für die angegebene nLogID Nummer FALSE ist. Wenn der Merker Datenübertragungsauftrag TRUE ist, tritt ein Operationsfehler auf.
Bevor Sie den Befehl ausführen, stellen Sie sicher, dass sys_bIsEthernetInitializing FALSE ist. sys_bIsEthernetInitializing wird auf TRUE gesetzt, wenn der Befehl ausgeführt wird. Wenn Sie den Befehl ausführen, während sys_bIsEthernetInitializing TRUE ist, tritt ein Fehler auf.
Wenn dieser Befehl erfolgreich ausgeführt wurde, werden die Systemvariablen sys_bIsCarry und sys_iEthernetConnectionErrorCode zurückgesetzt.
Der Befehl speichert die Datenaufzeichnungsübertragungseinstellungen von sOperation und sFTPServerDirectory in der durch nLogID angegebenen LOG-Dateinummer.
Wenn ein Fehler auftritt, prüfen Sie die Systemvariable sys_iEthernetConnectionErrorCode auf die Fehlercodenummer.
wenn der Merker Datenübertragungsauftrag für eine angegebene nLogID Nummer TRUE ist, z.B. wenn sys_blsLog0DataRecordingActive TRUE ist.
wenn die Datenaufzeichnungsbedingung einer bestimmten nLogID Nummer nicht registriert ist.
wenn ein für einen Parameter angegebener Wert außerhalb des zulässigen Bereichs liegt.
wenn der Befehl in einem Interrupt-Programm ausgeführt wird
wenn die Zeichenanzahl für Zeichenfolgendaten 256 überschreitet.
wenn ein FTP-Server angegeben ist, der nicht mit dem Befehl FP_FTP_SET_CONNECTION oder dem Einstellungsdialog des FTP-Clients konfiguriert wurde.
wenn der Merker Datenübertragungsauftrag für eine angegebene nLogID Nummer TRUE ist, z.B. wenn sys_blsLog0DataRecordingActive TRUE ist.
wenn die Datenaufzeichnungsbedingung einer bestimmten nLogID Nummer nicht registriert ist.
wenn ein für einen Parameter angegebener Wert außerhalb des zulässigen Bereichs liegt.
wenn der Befehl in einem Interrupt-Programm ausgeführt wird
wenn die Zeichenanzahl für Zeichenfolgendaten 256 überschreitet.
wenn ein FTP-Server angegeben ist, der nicht mit dem Befehl FP_FTP_SET_CONNECTION oder dem Einstellungsdialog des FTP-Clients konfiguriert wurde.
wenn der Befehl während der Initialisierung des Ethernets ausgeführt wird, wird sys_iEthernetConnectionErrorCode auf "11: Ethernet wird initialisiert“ gesetzt.
Im POE-Kopf werden alle Ein- und Ausgangsvariablen deklariert, die für die Programmierung dieser Funktion verwendet werden. Für alle Programmiersprachen wird der gleiche POE-Kopf verwendet.
VAR
bSetLogTransferFTP: BOOL:=FALSE;
bIsError: BOOL:=FALSE;
bDisableLogTransferFTP: BOOL:=FALSE;
END_VAR
Wenn bSetLogTransferFTP und bDisableLogTransferFTP auf TRUE gesetzt sind, wird der Befehl ausgeführt.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 6 ;
NETWORK_BODY
B(B_VARIN,,0,18,2,20,4,);
B(B_VARIN,,'SV0',18,3,20,5,);
B(B_VARIN,,'LogData',18,4,20,6,);
B(B_VAROUT,,bIsError,37,2,39,4,);
B(B_CONTACT,,bSetLogTransferFTP,5,1,7,3,);
B(B_F,FP_FTP_SET_MODE_TRANSFER_LOG!,,20,0,37,6,,?DEN?DnLogID?DsOperation?DsFTPServerDirectory?AENO?CbError);
L(1,2,5,2);
L(7,2,20,2);
L(1,0,1,6);
END_NETWORK_BODY
END_NET_WORK
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_CONTACT,,bDisableLogTransferFTP,5,1,7,3,);
B(B_VARIN,,0,18,2,20,4,);
B(B_VARIN,,'DISABLE',18,3,20,5,);
B(B_VAROUT,,bIsError,39,2,41,4,);
B(B_F,FP_FTP_TRANSFER_CONTROL_LOG!,,20,0,37,5,,?DEN?DnLogID?DsControl?AENO?AbError);
L(1,2,5,2);
L(37,3,39,3);
L(7,2,20,2);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
If (bSetLogTransferFTP) Then
FP_FTP_SET_MODE_TRANSFER_LOG(nLogID := 0, sOperation := 'SV0',
sFTPServerDirectory := 'LogData',
bError => bIsError);
End_if;
If (bDisableLogTransferFTP) Then
FP_FTP_TRANSFER_CONTROL_LOG(nLogID := 0, sControl := 'DISABLE', bError => bIsError);
End_if;