vmolchanov
Level-1
- Beiträge
- 13
- Reaktionspunkte
- 0
-> Hier kostenlos registrieren
Guten Tag!
Ich versuche die TCP/IP-Kommunikation mit dem Barcodereader in PC WORX zu implementieren. Dafür sind FB IP_Connect, IP_USND und IP_URCV nützlich. Gesendet und empfangen müssen STRINGs.
Die folgenden Fehler treten auf:
Der VAR_IN_OUT-Parameter 'SD_1' ist mit keiner Variablen verbunden!
Der VAR_IN_OUT-Parameter 'RD_1' ist mit keiner Variablen verbunden!
Woran kann es liegen?
Danke im Voraus. Der Code ist beigefügt.
P:S. Noch eine Frage: Wie kann man ENUM in PC WORX erstellen?
Ich versuche die TCP/IP-Kommunikation mit dem Barcodereader in PC WORX zu implementieren. Dafür sind FB IP_Connect, IP_USND und IP_URCV nützlich. Gesendet und empfangen müssen STRINGs.
Die folgenden Fehler treten auf:
Der VAR_IN_OUT-Parameter 'SD_1' ist mit keiner Variablen verbunden!
Der VAR_IN_OUT-Parameter 'RD_1' ist mit keiner Variablen verbunden!
Woran kann es liegen?
Danke im Voraus. Der Code ist beigefügt.
P:S. Noch eine Frage: Wie kann man ENUM in PC WORX erstellen?
Code:
[B]Inhalt von[/B] [B]Datentypen/basic:[/B]
TYPE
STRING12: STRING(12);
STRING15: STRING(15);
T_SendeDaten :
STRUCT
LaengeDerNutzdaten : INT;
Nutzdaten : STRING;
END_STRUCT;
END_TYPE;
[HR][/HR][B]Inhalt von BarcodereaderV:
[/B]
bEnable BOOL VAR_INPUT
xComScan BOOL VAR_INPUT
xComReset BOOL VAR_INPUT
xComDone BOOL VAR_OUTPUT
xComError BOOL VAR_OUTPUT
sTraycode STRING12 VAR_OUTPUT
stSendToServer T_SendeDaten VAR
sToServer STRING VAR
fbIPConnect IP_CONNECT VAR
fbIPSend IP_USEND VAR
fbIPReceive IP_URCV VAR
bStartSending BOOL VAR
bStartReceiving BOOL VAR
state INT VAR
[HR][/HR] [B]Inhalt von POE Barcodereader:
[/B]
fbIPConnect(EN_C := bEnable, PARTNER := '/ACTIVE /PORT=9005 /IP=192.168.3.201');
stSendToServer.LaengeDerNutzdaten := LEN(sToServer);
stSendToServer.Nutzdaten := sToServer;
fbIPSend(REQ:=bStartSending, ID:=fbIPConnect.ID, SD_1 := stSendToServer);
fbIPReceive(EN_R:=bStartReceiving, ID:=fbIPConnect.ID);
CASE state OF
0:(* init state *)
xComDone := FALSE;
xComError := FALSE;
bStartSending := FALSE;
bStartReceiving := FALSE;
state := 1;
1:
(* check connection *)
IF fbIPConnect.VALID THEN
IF (xComScan) THEN
bStartSending := TRUE;
bStartReceiving := FALSE;
state := state + 1;
END_IF;
ELSE
state := 0;
END_IF;
2:
(* send string to server *)
IF fbIPConnect.VALID THEN
IF fbIPSend.DONE THEN
bStartSending := FALSE;
bStartReceiving := TRUE;
state := state + 1;
ELSIF fbIPSend.ERROR THEN
state := 60;
END_IF;
ELSE
state := 0;
END_IF;
3:
(* receive string from server *)
IF fbIPConnect.VALID THEN
IF fbIPReceive.NDR THEN
sTraycode := fbIPReceive.RD_1;
state := state + 1;
ELSIF fbIPReceive.ERROR THEN
state := 60;
END_IF;
ELSE
state := 0;
END_IF;
4:
xComDone := TRUE;
IF NOT(xComScan) THEN
state := 0;
END_IF;
60:
sTraycode := '';
state := 0;
END_CASE;
Zuletzt bearbeitet: