Steuerung der FTP-Datenübertragung von Datenaufzeichnungsdateien
Dieser FP-Befehl steuert die FTP-Datenübertragung, die durch nLogID angegeben ist. Gültige Steuerungswörter sind 'ENABLE'
, 'DISABLE'
und 'CANCEL'
.
Eingang
LOG-Nummer (zulässiger Bereich: 0–15). Der Compiler erzeugt intern die Zeichenfolge für die Nummer der Protokolldatei, z.B. 'LOG=0'
Steuerzeichen:
'ENABLE'
: aktiviert die Dateiübertragung
'DISABLE'
: deaktiviert die Dateiübertragung
'CANCEL'
: bricht die Dateiübertragung ab
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.
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 die Datenübertragungseinstellungen für Datenaufzeichnungsdateien mit FP_FTP_SET_MODE_TRANSFER_LOG oder dem Einstellungsdialog des FTP-Clients angeben.
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.
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.
Wenn dieser Befehl erfolgreich ausgeführt wurde, werden die Systemvariablen sys_bIsCarry und sys_iEthernetConnectionErrorCode zurückgesetzt.
Die Bearbeitung des Auftrags zum Abbrechen der Datenübertragung nimmt einige Zeit in Anspruch. Prüfen Sie den Datenübertragungsstatus mit FP_FTP_GET_STATUS und prüfen Sie, ob die Datenübertragung nach Ausführung des Befehls anhält.
Wenn ein Fehler auftritt, prüfen Sie die Systemvariable sys_iEthernetConnectionErrorCode auf die Fehlercodenummer.
wenn ein Steuerzeichen außer 'ENABLE'
, 'DISABLE'
oder 'CANCEL'
für sControl angegeben ist.
wenn der Befehl in einem Interrupt-Programm ausgeführt wird
wenn die Zeichenanzahl für Zeichenfolgendaten 256 überschreitet.
wenn eine Datenübertragungseinstellung für Datenaufzeichnungsdateien angegeben ist, die nicht mit dem Befehl FP_FTP_SET_MODE_TRANSFER_LOG oder dem Einstellungsdialog des FTP-Clients konfiguriert wurde.
wenn ein Steuerzeichen außer 'ENABLE'
, 'DISABLE'
oder 'CANCEL'
für sControl angegeben ist.
wenn der Befehl in einem Interrupt-Programm ausgeführt wird
wenn die Zeichenanzahl für Zeichenfolgendaten 256 überschreitet.
wenn eine Datenübertragungseinstellung für Datenaufzeichnungsdateien angegeben ist, die nicht mit dem Befehl FP_FTP_SET_MODE_TRANSFER_LOG 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;