Datenformatzeichenfolge für HTTP-Protokoll erzeugen
Dieser FP-Befehl erzeugt eine Zeichenfolge, die das Datenformat (FP-Adresse und Länge) angibt. Er schreibt die Zeichenfolge in die Ausgangsvariable sDataFormat, die für den Eingang sPLCDataFormat des Befehls FP_HTTP_SET_MODE geeignet ist.
Eingang
Zeichenfolge, die ASCII-Daten enthält
Größe von Daten in Worten oder für Zeichenfolgen in Byte-Einheiten.
Ausgang
Zeichenfolge, die das Datenformat für den Eingang sPLCDataFormat von FP_HTTP_SET_MODE angibt
Bevor Sie den Befehl ausführen, müssen Sie die Datenübertragungseinstellungen mit FP_HTTP_SET_MODE oder dem Einstellungsdialog des HTTP-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.
Der Befehl kann nur ausgeführt werden, wenn der Datenübertragungsmerker für die angegebene Datenübertragungseinstellung "FALSE: Kein Datenübertragungsauftrag“ ist. Wenn der Datenübertragungsmerker "TRUE: Datenübertragung beauftragt“ ist, tritt ein Operationsfehler auf.
Wenn dieser Befehl erfolgreich ausgeführt wurde, werden die Systemvariablen sys_bIsCarry und sys_iEthernetConnectionErrorCode zurückgesetzt.
Dieser Befehl überschreibt die in der SPS gespeicherten Ethernet-Konfigurationsdaten nicht permanent. Nach dem Aus- und Wiedereinschalten der SPS werden die in der SPS gespeicherten Ethernet-Konfigurationsdaten wieder verwendet.
Nachdem die Datenübertragungseinstellungen des HTTP-Clients konfiguriert sind, werden Daten aktuell gesendet oder erfasst, wenn der Befehl FP_HTTP_TRANSFER_REQUEST ausgeführt wird.
Wenn ein Fehler auftritt, prüfen Sie die Systemvariable sys_iEthernetConnectionErrorCode auf die Fehlercodenummer.
wenn eine Zeitüberschreitung der Verbindung überschritten wird,
Wenn eine IP-Addresse ungültig ist
wenn eine Zeitüberschreitung der Verbindung überschritten wird,
Wenn eine IP-Addresse ungültig ist
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
sStringData: STRING[31767]:='';
iID5: INT:=5;
bSetModeStringData: BOOL:=FALSE;
bErrorModeStringData: BOOL:=FALSE;
END_VAR
Wenn bSetModeStringData von FALSE auf TRUE gesetzt wird und sys_bIsEthernetInitializing FALSE ist, 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 := 7 ;
NETWORK_BODY
B(B_VARIN,,iID5,39,2,41,4,);
B(B_VARIN,,'SV0~UPLOAD;POST',39,3,41,5,);
B(B_CONTACT,,bSetModeStringData,5,1,7,3,R);
B(B_VARIN,,'/PLC?ment',39,5,41,7,);
B(B_VAROUT,,bErrorModeStringData,52,2,54,4,);
B(B_VARIN,,sStringData,8,4,10,6,);
B(B_CONTACT,,sys_bIsEthernetInitializing,16,1,18,3,N);
B(B_F,LEN!,,11,4,16,7,,?DIN?C);
B(B_F,FP_HTTP_GET_DATA_FORMAT!,,16,3,31,7,,?D@'Var'?DnNumberOfCharacters?CsDataFormat);
B(B_F,FP_HTTP_SET_MODE!,,41,0,52,7,,?DEN?DnTransferID?DsOperation?DsPLCDataFormat?DsHTTPServerURL?AENO?CbError);
L(1,2,5,2);
L(7,2,16,2);
L(11,5,11,6);
L(18,2,41,2);
L(10,5,16,5);
L(31,5,41,5);
L(1,0,1,7);
END_NETWORK_BODY
END_NET_WORK
END_BODY
If DF(bSetModeStringData) AND not sys_bIsEthernetInitializing Then
FP_HTTP_SET_MODE(nTransferID := iID5,
sOperation := 'SV0,UPLOAD;POST',
sPLCDataFormat := FP_HTTP_GET_DATA_FORMAT(sStringData,
LEN(sStringData)),
sHTTPServerURL := '/PLC?ment',
bError => bErrorModeStringData);
End_if;