Fehler bei SFC83 "READ_DBL"

Teitiel

Level-2
Beiträge
18
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich habe ein Problem mit dem SFC83.
Es kommt vor, dass ich die Fehlermeldung 80C3 als Return Value bekomme.
Sobald der Baustein in diesem Zustand ist, arbeitet er keine neue Aufträge mehr ab.
Wenn ich den REQ neu setze, erscheint wieder die gleiche Fehlermeldung.

Ich habe testweise alle anderen SFC83 deaktiviert, sodass nur noch dieser Baustein
bearbeitet wird. Trotzdem erscheint immer wieder dieser Fehler.

Wenn ich dann einen RUN/STOP Wechsel mache, funktioniert wieder alles für unbestimmte Zeit.

CPU 315-2PN/DP
Es werden 6300 Byte mit dem Baustein ausgelesen

Kann sich das jemand erklären und mir weiterhelfen?
 
Warten...

Wartest du bei deinen Aufrufen auch immer bis Busy wieder 0 ist bevor du den SFC mit neuen Parametern versorgst und REQ wieder setzt?
 
Hier die Ansteuerung des SFC83.

Code:
Netzwerk 1:

//Errechne QUELL-DB zum Parametrieren
      L     999
      L     "DB_SK_VISU".ProgNr_bearbeiten
      +I    
      T     #neueProgrammwahl


//ANY Pointer für Quelle zusammenstellen
      L     W#16#1002                   //DatenTyp: BYTE
      T     LW    28
      L     6300                        //Größe des Datenbereichs in BYTE
      T     LW    30
      L     #neueProgrammwahl           //Quell DB
      T     LW    32
      L     P#DBX 0.0                   //StartBereich
      T     LD    34

//Anforderung zum lesen
      U     "DB_SK_VISU".ProgAenderung
      FP    M   2003.6
      =     "EDIT_READ_REQ"

Netzwerk 2:

      U     "EDIT_READ_REQ"
      SPBNB _008
      CALL  "READ_DBL"
       REQ    :="EDIT_READ_REQ"
       SRCBLK :=#QUELLPointerREAD
       RET_VAL:="EDIT_READ_RETVAL"
       BUSY   :="EDIT_READ_BUSY"
       DSTBLK :=P#DB110.DBX0.0 BYTE 6300
_008: NOP   0

Netzwerk 3:

     U     "EDIT_READ_BUSY"
      FN    "hfn_EDIT_READ_BUSY"
      R     "DB_SK_VISU".ProgAenderung

Wenn ich die REQ verriegele, dass keine zwei gleichzeitig starten könne. Glaubst du das würde helfen?
 
Zuletzt bearbeitet:
Ok, macht sinn.
Hab das jetzt so eingepflegt.

Trotzdem hab ich zur Zeit dass Problem, dass keine Aufträge mehr bearbeitet werden können, bis ich einen RUN/STOP wechsel durchführe.

Kannst du dir dass erklären?
 
Antwort habe ich keine bekommen.

Aber das Problem war, dass sich der SRC bzw Quell DB während der Bearbeitung geändert hat. Habe eine Abfrage eingebaut, dass die Berechnung der DBs nur erfolgen darf sobald kein Auftrag läuft.

mfg Robert
 
Zurück
Oben