ET200s verzögern

vollmi

Level-3
Beiträge
5.436
Reaktionspunkte
1.410
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen

Ich habe hier eine Anlage mit wirkich vielen Eingängen welche zur Anlagenüberwachung eingesetzt werden. Aufgeschaltet auf ET200s. Viele der Eingänge sind NC angeschlossen will heissen der Alarm kommt wenn der Eingang auf FALSE geht. Auf FALSE geht er aber natürlich auch wenn man das ET200 von der Spannung trennt.

Dies habe ich überwacht und es bringt mir auch den Fehler. Die IO Fehlermeldung will ich zur Unterdrückung nutzen, leider gehen die offenbar mindestens ein Zyklus früher auf FALSE als die Ueberwachung auf 1.

96_3 ist der Störmelder für den IO Ausfall.

Den Ausfall habe ich wie im Forum schon gepostet gelöst.
Code:
      CALL  "RDSYSST"
       REQ       :=TRUE
       SZL_ID    :=W#16#694             //ID Status PN-IO
       INDEX     :=W#16#64              //Nr. PROFINET-IO System
       RET_VAL   :=MW350
       BUSY      :=M352.0
       SZL_HEADER:="DB_DIAG_PN".SZL_HEADER
       DR        :="DB_DIAG_PN".DATA
end:  NOP   0

      U     "DB_DIAG_PN".DATA.DEVICE_STATUS[3]
      =     "DB310"._DBX_97_2

      U     "DB_DIAG_PN".DATA.DEVICE_STATUS[4]
      =     "DB310"._DBX_96_3

      U     "DB_DIAG_PN".DATA.DEVICE_STATUS[5]
      =     "DB310"._DBX_95_1
So werden bei mir die Eingänge abgearbeitet.

Code:
      U     "DB310"._DBX_96_3
      SPB   nxt2

      L     PEB  130
      T     DB300.DBB  130

      UN    "IO_DB300"._DBX_130_0
      =     "IO_DB300"._DBX_130_0
      UN    "IO_DB300"._DBX_130_1
      =     "IO_DB300"._DBX_130_1
      UN    "IO_DB300"._DBX_130_2
      =     "IO_DB300"._DBX_130_2
      UN    "IO_DB300"._DBX_130_3
      =     "IO_DB300"._DBX_130_3
      UN    "IO_DB300"._DBX_130_4
      =     "IO_DB300"._DBX_130_4
      U     "IO_DB300"._DBX_130_5
      =     "IO_DB300"._DBX_130_5
      U     "IO_DB300"._DBX_130_6
      =     "IO_DB300"._DBX_130_6
      UN    "IO_DB300"._DBX_130_7
      =     "IO_DB300"._DBX_130_7
Wie könnte ich das ansprechen der Eingänge so verzögern das die IO Ausfallmeldung vorher kommt?

Früher habe ich das immer mit einem TON für jede Meldung gemacht. Allerdings finde ich das bei der Menge an Eingängen nicht so prickelnd, da so n Haufen TIMER doch an der CPU ziehen.

Wie könnte man das besser angehen.
Byteweise ein Timer wäre auch noch eine Möglichkeit, der Übersicht halber möchte ich aber das IO Mapping nicht mit Bitmasken machen.
 
Hallo Vollmi,

kommt der Aufruf von RDSYSST auch wirklich vor der Abfrage der Eingänge?

Eventuell noch Alarm-Bit von Fehler-OB mit verknüpfen
 
Zurück
Oben