-> Hier kostenlos registrieren
Hallo, bin noch ziemlich neu und arbeite mich gerade in TCP-Kommunikation mit den FB63,64,65 und FB66 ein. Dazu verwende ich eine S7-400 mit einer CPU 414-3 PN/DP.
Um einen Einstieg zu bekommen habe ich ein Demo-Projekt von Siemens verwendet, erweitert und angepasst um Daten Senden und Empfangen zu können.
Demoprojekt:
http://support.automation.siemens.c...lib.csinfo&lang=de&objid=25209116&caller=view
Wenn ich die Verbindung aufgebaut habe wird "FB64_BUSY" auf 1 gesetzt und ich kann Daten empfangen, wobei der FB im Ad-hoc-Modus arbeitet.
Problem: Sobald ich die Verbindung über "FB66_REQ" beende, erscheint ein Fehler beim FB64 und der Status am Baustein wechselt auf den Fehlercode "80A1".
Meine Frage ist: Wie kann ich die Verbindung beenden ohne eine Fehlermeldung am FB64 zu erhalten?
Meine zweite Frage bezieht sich auf die Multiinstanzen. Das Thema wurde schon 1-2 mal in Bezug auf diese FBs erwähnt und mich würde interessieren, welche Auswirkungen es in meinem Projekt besitzt, wenn ich Multiinstanzen verwende oder nicht. Momentan sind die FBs multiinstanzfähig.
Aufruf des FB64 in meinem Projekt:
Um einen Einstieg zu bekommen habe ich ein Demo-Projekt von Siemens verwendet, erweitert und angepasst um Daten Senden und Empfangen zu können.
Demoprojekt:
http://support.automation.siemens.c...lib.csinfo&lang=de&objid=25209116&caller=view
Wenn ich die Verbindung aufgebaut habe wird "FB64_BUSY" auf 1 gesetzt und ich kann Daten empfangen, wobei der FB im Ad-hoc-Modus arbeitet.
Problem: Sobald ich die Verbindung über "FB66_REQ" beende, erscheint ein Fehler beim FB64 und der Status am Baustein wechselt auf den Fehlercode "80A1".
Meine Frage ist: Wie kann ich die Verbindung beenden ohne eine Fehlermeldung am FB64 zu erhalten?
Meine zweite Frage bezieht sich auf die Multiinstanzen. Das Thema wurde schon 1-2 mal in Bezug auf diese FBs erwähnt und mich würde interessieren, welche Auswirkungen es in meinem Projekt besitzt, wenn ich Multiinstanzen verwende oder nicht. Momentan sind die FBs multiinstanzfähig.
Aufruf des FB64 in meinem Projekt:
Code:
[FONT=Arial]nw3: NOP 0[/FONT]
[FONT=Arial] [/FONT]
[FONT=Arial] UN "FB65_connected"[/FONT]
[FONT=Arial] SPB nw5[/FONT]
[FONT=Arial] [/FONT]
[FONT=Arial] S "LISTEN"[/FONT]
[FONT=Arial] [/FONT]
[FONT=Arial] CALL "TRCV" , DB64[/FONT]
[FONT=Arial] EN_R :="LISTEN"[/FONT]
[FONT=Arial] ID :=W#16#1[/FONT]
[FONT=Arial] LEN :=0[/FONT]
[FONT=Arial] NDR :="FB64_NDR"[/FONT]
[FONT=Arial] BUSY :="FB64_BUSY"[/FONT]
[FONT=Arial] ERROR :="FB64_ERROR"[/FONT]
[FONT=Arial] STATUS :="FB64_STATUS_TMP"[/FONT]
[FONT=Arial] RCVD_LEN:="FB64_RLEN"[/FONT]
[FONT=Arial] DATA :="DATA".IN_DATA[/FONT]
[FONT=Arial] [/FONT]
[FONT=Arial] [/FONT]
[FONT=Arial] U "FB64_ERROR"[/FONT]
[FONT=Arial] SPB err2[/FONT]
[FONT=Arial] [/FONT]
[FONT=Arial] SPA nw5[/FONT]