-> Hier kostenlos registrieren
Hallo zusammen,
ich habe ein Problem mit dem Verbindungsaufbau zu einem Teilnehmer über TCP/IP. Ein identisches Projekt läuft schon mit einer CPU 315-2PN/DP fehlerfrei.
In dieser Anlage ist aber eine CPU 314C-2PN/DP eingesetzt.
Die IP-Adressen etc. sind eingestellt und sowohl bei der CPU wie auch beim Teilnehmer (ein SICK-Inspector) ebenfalls identisch mit der älteren Anlage.
Somit ist die Hardware- wie auch die Softwarekonfiguration identisch zur älteren Anlage (bis auf den CPU-Typ). Laut Fa. Sick sollte es egal mit welcher CPU funktionieren. Das Problem scheint in dem Siemens Baustein TCON begründet zu sein.
Es sollen 2 Verbindungen aufgebaut werden. Im OB100 werden die entsprechenden REQ-Bits angestossen. Die TCON-Bausteine bekommen also ihren Startauftrag. Allerdings geben sie weder DONE noch ERROR aus. Der Status steht bei 7000 (Warten). Verbindungen werden keine aufgebaut und auch in der Diagnose werden keine Verbindungen angezeigt.
Was mir schon aufgefallen ist: für die "local device ID" (Auskunft in der Hilfe zum UDT65 TCON_STRUCT) gibt es nur folgende ID´s:
local_device_id BYTE B#16#02 · B#16#00: Kommunikation über CP 443-1 (nur bei S7-400 und connection_type = B#16#12). Zulässige CPs: CP443-1EX4x, CP443-1EX20, CP443-1GX20, CP443-1EX30, CP443-1GX30· B#16#01: Kommunikation über die IE-Schnittstelle auf Interface-Steckplatz 1 (IF1) bei WinAC RTX (nur TCP)· B#16#02: Kommunikation über die integrierte IE-Schnittstelle bei den CPUs 315-2 PN/DP und 317-2 PN/DP· B#16#03: Kommunikation über die integrierte IE-Schnittstelle bei der CPU 319-3 PN/DP· B#16#05: Kommunikation über die integrierte IE-Schnittstelle bei den CPUs 414-3 PN/DP, 416-3 PN/DP, 416-3F PN/DP und 41x-5H PN/DP (Rack 0)· B#16#06: Kommunikation über die IE-Schnittstelle auf Interface-Steckplatz 2 (IF2) bei WinAC RTX (nur TCP)· B#16#0B. Kommunikation über die IE-Schnittstelle auf Interface-Steckplatz 3 (IF3) bei WinAC RTX (nur TCP)· B#16#0F: Kommunikation über die IE-Schnittstelle auf Interface-Steckplatz 4 (IF4) bei WinAC RTX (nur TCP)· B#16#10: Kommunikation über CP 443-1 (nur bei S7-400H und connection_type = B#16#12), falls der CP in Rack 1 oder einem zugehörigen Erweiterungs-Rack steckt· B#16#15: Kommunikation über die integrierte IE-Schnittstelle bei den CPUs 41x-5H PN/DP (Rack 1)
Dennoch muss es doch möglich sein Verbindungen auch mit einer 314C-2 PN/DP aufzubauen. Schliesslich sind die Angaben im Handbuch zu den Baugruppendaten was die TCP-Verbindungen angeht zur CPU 315-2 PN/DP identisch.
Hier ein Ausschnitt des Programms:
Netzwerk 1
[ code ]
// Set the IP-Address of the SICK Inspector
L 192
T "TCON_Parameter1".CONNECT.TCON_PARAMETER.rem_staddr[1]
T "TCON_Parameter2".CONNECT.TCON_PARAMETER.rem_staddr[1]
L 168
T "TCON_Parameter1".CONNECT.TCON_PARAMETER.rem_staddr[2]
T "TCON_Parameter2".CONNECT.TCON_PARAMETER.rem_staddr[2]
L 1
T "TCON_Parameter1".CONNECT.TCON_PARAMETER.rem_staddr[3]
T "TCON_Parameter2".CONNECT.TCON_PARAMETER.rem_staddr[3]
L 110
T "TCON_Parameter1".CONNECT.TCON_PARAMETER.rem_staddr[4]
T "TCON_Parameter2".CONNECT.TCON_PARAMETER.rem_staddr[4]
// Set the local device ID (in this case S7-315)
L B#16#2 // See Step7 help system (UDT65)
T "TCON_Parameter1".CONNECT.TCON_PARAMETER.local_device_id
T "TCON_Parameter2".CONNECT.TCON_PARAMETER.local_device_id
[ /code ]
Netzwerk 2
[ code ]
// Set the connection identifier for the first connection
L W#16#1
T "TCON_Parameter1".CONNECT.TCON_PARAMETER.id
// Set the port address of the SICK Inspector for the Command channel
// (see SOPAS configuration)
L 2115
T DB50.DBW 40
// Establish a TCP connection
CALL "TCON" , "fbTCON1"
REQ :="TCON_Parameter1".CONNECT.REQ // Set in OB100
ID :="TCON_Parameter1".CONNECT.TCON_PARAMETER.id
DONE :="TCON_Parameter1".CONNECT.DONE
BUSY :="TCON_Parameter1".CONNECT.BUSY
ERROR :="TCON_Parameter1".CONNECT.ERROR
STATUS :="TCON_Parameter1".CONNECT.STATUS
CONNECT:="TCON_Parameter1".CONNECT.TCON_PARAMETER
SET
U "TCON_Parameter1".CONNECT.DONE
SPBN _2a
SET
R "TCON_Parameter1".CONNECT.REQ
_2a: NOP 0
[ /code ]
Netzwerk 3
[ code ]
// Set the connection identifier for the second connection
L W#16#2
T "TCON_Parameter2".CONNECT.TCON_PARAMETER.id
// Set port address of the SICK Inspector for the Result channel
// (see SOPAS configuration)
L 2114
T DB51.DBW 40
// Establish a TCP connection
CALL "TCON" , "fbTCON2"
REQ :="TCON_Parameter2".CONNECT.REQ // Set in OB100
ID :="TCON_Parameter2".CONNECT.TCON_PARAMETER.id
DONE :="TCON_Parameter2".CONNECT.DONE
BUSY :="TCON_Parameter2".CONNECT.BUSY
ERROR :="TCON_Parameter2".CONNECT.ERROR
STATUS :="TCON_Parameter2".CONNECT.STATUS
CONNECT:="TCON_Parameter2".CONNECT.TCON_PARAMETER
SET
U "TCON_Parameter2".CONNECT.DONE
SPBN _3a
SET
R "TCON_Parameter2".CONNECT.REQ
_3a: NOP 0
[ /code ]
Wer kennt sich hier richtig aus und kann mich unterstützen?
ich habe ein Problem mit dem Verbindungsaufbau zu einem Teilnehmer über TCP/IP. Ein identisches Projekt läuft schon mit einer CPU 315-2PN/DP fehlerfrei.
In dieser Anlage ist aber eine CPU 314C-2PN/DP eingesetzt.
Die IP-Adressen etc. sind eingestellt und sowohl bei der CPU wie auch beim Teilnehmer (ein SICK-Inspector) ebenfalls identisch mit der älteren Anlage.
Somit ist die Hardware- wie auch die Softwarekonfiguration identisch zur älteren Anlage (bis auf den CPU-Typ). Laut Fa. Sick sollte es egal mit welcher CPU funktionieren. Das Problem scheint in dem Siemens Baustein TCON begründet zu sein.
Es sollen 2 Verbindungen aufgebaut werden. Im OB100 werden die entsprechenden REQ-Bits angestossen. Die TCON-Bausteine bekommen also ihren Startauftrag. Allerdings geben sie weder DONE noch ERROR aus. Der Status steht bei 7000 (Warten). Verbindungen werden keine aufgebaut und auch in der Diagnose werden keine Verbindungen angezeigt.
Was mir schon aufgefallen ist: für die "local device ID" (Auskunft in der Hilfe zum UDT65 TCON_STRUCT) gibt es nur folgende ID´s:
local_device_id BYTE B#16#02 · B#16#00: Kommunikation über CP 443-1 (nur bei S7-400 und connection_type = B#16#12). Zulässige CPs: CP443-1EX4x, CP443-1EX20, CP443-1GX20, CP443-1EX30, CP443-1GX30· B#16#01: Kommunikation über die IE-Schnittstelle auf Interface-Steckplatz 1 (IF1) bei WinAC RTX (nur TCP)· B#16#02: Kommunikation über die integrierte IE-Schnittstelle bei den CPUs 315-2 PN/DP und 317-2 PN/DP· B#16#03: Kommunikation über die integrierte IE-Schnittstelle bei der CPU 319-3 PN/DP· B#16#05: Kommunikation über die integrierte IE-Schnittstelle bei den CPUs 414-3 PN/DP, 416-3 PN/DP, 416-3F PN/DP und 41x-5H PN/DP (Rack 0)· B#16#06: Kommunikation über die IE-Schnittstelle auf Interface-Steckplatz 2 (IF2) bei WinAC RTX (nur TCP)· B#16#0B. Kommunikation über die IE-Schnittstelle auf Interface-Steckplatz 3 (IF3) bei WinAC RTX (nur TCP)· B#16#0F: Kommunikation über die IE-Schnittstelle auf Interface-Steckplatz 4 (IF4) bei WinAC RTX (nur TCP)· B#16#10: Kommunikation über CP 443-1 (nur bei S7-400H und connection_type = B#16#12), falls der CP in Rack 1 oder einem zugehörigen Erweiterungs-Rack steckt· B#16#15: Kommunikation über die integrierte IE-Schnittstelle bei den CPUs 41x-5H PN/DP (Rack 1)
Dennoch muss es doch möglich sein Verbindungen auch mit einer 314C-2 PN/DP aufzubauen. Schliesslich sind die Angaben im Handbuch zu den Baugruppendaten was die TCP-Verbindungen angeht zur CPU 315-2 PN/DP identisch.
Hier ein Ausschnitt des Programms:
Netzwerk 1
[ code ]
// Set the IP-Address of the SICK Inspector
L 192
T "TCON_Parameter1".CONNECT.TCON_PARAMETER.rem_staddr[1]
T "TCON_Parameter2".CONNECT.TCON_PARAMETER.rem_staddr[1]
L 168
T "TCON_Parameter1".CONNECT.TCON_PARAMETER.rem_staddr[2]
T "TCON_Parameter2".CONNECT.TCON_PARAMETER.rem_staddr[2]
L 1
T "TCON_Parameter1".CONNECT.TCON_PARAMETER.rem_staddr[3]
T "TCON_Parameter2".CONNECT.TCON_PARAMETER.rem_staddr[3]
L 110
T "TCON_Parameter1".CONNECT.TCON_PARAMETER.rem_staddr[4]
T "TCON_Parameter2".CONNECT.TCON_PARAMETER.rem_staddr[4]
// Set the local device ID (in this case S7-315)
L B#16#2 // See Step7 help system (UDT65)
T "TCON_Parameter1".CONNECT.TCON_PARAMETER.local_device_id
T "TCON_Parameter2".CONNECT.TCON_PARAMETER.local_device_id
[ /code ]
Netzwerk 2
[ code ]
// Set the connection identifier for the first connection
L W#16#1
T "TCON_Parameter1".CONNECT.TCON_PARAMETER.id
// Set the port address of the SICK Inspector for the Command channel
// (see SOPAS configuration)
L 2115
T DB50.DBW 40
// Establish a TCP connection
CALL "TCON" , "fbTCON1"
REQ :="TCON_Parameter1".CONNECT.REQ // Set in OB100
ID :="TCON_Parameter1".CONNECT.TCON_PARAMETER.id
DONE :="TCON_Parameter1".CONNECT.DONE
BUSY :="TCON_Parameter1".CONNECT.BUSY
ERROR :="TCON_Parameter1".CONNECT.ERROR
STATUS :="TCON_Parameter1".CONNECT.STATUS
CONNECT:="TCON_Parameter1".CONNECT.TCON_PARAMETER
SET
U "TCON_Parameter1".CONNECT.DONE
SPBN _2a
SET
R "TCON_Parameter1".CONNECT.REQ
_2a: NOP 0
[ /code ]
Netzwerk 3
[ code ]
// Set the connection identifier for the second connection
L W#16#2
T "TCON_Parameter2".CONNECT.TCON_PARAMETER.id
// Set port address of the SICK Inspector for the Result channel
// (see SOPAS configuration)
L 2114
T DB51.DBW 40
// Establish a TCP connection
CALL "TCON" , "fbTCON2"
REQ :="TCON_Parameter2".CONNECT.REQ // Set in OB100
ID :="TCON_Parameter2".CONNECT.TCON_PARAMETER.id
DONE :="TCON_Parameter2".CONNECT.DONE
BUSY :="TCON_Parameter2".CONNECT.BUSY
ERROR :="TCON_Parameter2".CONNECT.ERROR
STATUS :="TCON_Parameter2".CONNECT.STATUS
CONNECT:="TCON_Parameter2".CONNECT.TCON_PARAMETER
SET
U "TCON_Parameter2".CONNECT.DONE
SPBN _3a
SET
R "TCON_Parameter2".CONNECT.REQ
_3a: NOP 0
[ /code ]
Wer kennt sich hier richtig aus und kann mich unterstützen?