FP_FTP_TRANSFER_CONTROL_LOG

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'.

Parameter

Eingang

nLogID (WORD, INT, UINT)

LOG-Nummer (zulässiger Bereich: 0–15). Der Compiler erzeugt intern die Zeichenfolge für die Nummer der Protokolldatei, z.B. 'LOG=0'

sControl (STRING)

Steuerzeichen:

'ENABLE': aktiviert die Dateiübertragung

'DISABLE': deaktiviert die Dateiübertragung

'CANCEL': bricht die Dateiübertragung ab

Ausgang

bError (BOOL)

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.

Anmerkungen

  • 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.

Fehleralarmmerker

sys_bIsOperationErrorHold (wird auf TRUE gesetzt und bleibt TRUE)
  • 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.

sys_bIsOperationErrorNonHold (wird für einen Zyklus auf TRUE gesetzt)
  • 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.

sys_bIsCarry (wird für einen Zyklus auf TRUE gesetzt)
  • wenn der Befehl während der Initialisierung des Ethernets ausgeführt wird, wird sys_iEthernetConnectionErrorCode auf "11: Ethernet wird initialisiert“ gesetzt.

Beispiel

POE-Kopf

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

POE-Rumpf

Wenn bSetLogTransferFTP und bDisableLogTransferFTP auf TRUE gesetzt sind, wird der Befehl ausgeführt.

KOP-Rumpf

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

ST-Rumpf

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;

Letzte Änderung: 2024-11-13Feedback zu dieser SeitePanasonic Hotline