Error bei FB64

sixt

Level-1
Beiträge
16
Reaktionspunkte
1
Zuviel Werbung?
-> 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:
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]
 
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?

Baustein FB64 anklicken --> F1 ?? (kenne den FB nicht, aber warscheinlich ist es einer aus der Bibliothek, da gibts immer eine Hilfedatei dazu...)

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.

Wenn Du multiinstanzfähige FB's verwendest, sparst Du Instanz-DB's. Dazu im aufrufenden FB den Multi-instanz-FB im STAT-Bereich deklarieren, dann den FB einfügen und als Multiinstanz deklarieren.

Gruß Approx
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Dankeschön, das Problem mit dem Error hab ich nach einigem Lesen und Probieren gelöst, indem ich den Parameter EN_R auf 0 setze sobald ich die Verbindung über "FB66_REQ" beende.

 
Zurück
Oben