Showing results 1 to 7 of 7

Thread: Alarm-Quittiervariable absetzen nach Verbindungsverlust SPS-Treiber Open Modbus TCP

  1. #1
    Join Date
    19.07.2013
    Posts
    5

    Default Alarm-Quittiervariable absetzen nach Verbindungsverlust SPS-Treiber Open Modbus TCP



    Hallo,>>



    über die Alarmverwaltung von Zenon (v7.60 Build 49005) quittiere ich,
    mit Hilfe der steuernden Quittiervariable eines Alarms (Quittierwert 1), eine
    auf TRUE / 1 gesetzte Störungvariable in einer SPS (ABB AC500 PM583-ETH) wieder zurück auf FALSE / 0.

    Dies funktioniert Problemlos. Wenn jedoch die Treiberkommunikation
    beispielsweise auf Störung (Invalid) ist, sprich die SPS durch z.B.
    Netzwerkkabelunterbrechung nicht mehr erreichbar ist, und dann in der Runtime
    der Fehler quittiert wird, wird die Quittervariable, nach wiederherstellen der Treiberkommunikation
    leider nicht auf Quittierwert 1 gesetzt. Ein nochmaliges quittieren des Alarms,
    da dieser ja schon in der Runtime quittiert worden ist.
      >>



    Wie kann ich nach Verbindungsverlust zur SPS, die Quittiervariable  auf Quittierwert 1 auslösen?>>



    Mfg>>




  2. #2
    Join Date
    01.07.2008
    Location
    Salzburg, AT
    Posts
    810

    Default Re: Alarm-Quittiervariable absetzen nach Verbindungsverlust SPS-Treiber Open Modbus TCP

    Wertet die Reaktion Matrix der SPS Variable ein INVALID Statusbit ebenso als Alarm aus?
    Ist in ReMa das Check-box 'Jede Wertänderung als neue Verletzung behandeln' aktiv?

  3. #3
    Join Date
    19.07.2013
    Posts
    5

    Default AW: Alarm-Quittiervariable absetzen nach Verbindungsverlust SPS-Treiber Open Modbus TCP

    Ich nutze aktuell keine Reaktionsmatrix. Der Alarm wird über einen Grenzwert der Alarmvariable erzeugt und in dieser die Quittiervariable zur SPS unter "Alarmbehandlung" eingetragen

  4. #4
    Join Date
    01.07.2008
    Location
    Salzburg, AT
    Posts
    810

    Default Re: Alarm-Quittiervariable absetzen nach Verbindungsverlust SPS-Treiber Open Modbus TCP

    Ich glaube jetzt habe ich das Konzept fast verstanden:
    - im Projekt gib es 2 Variablen, beide sind in der SPS via ModRTU32 Treiber (also je Variable ist ein Register in der SPS).
    - die erste Variable – 'Alarmvariable' wird von SPS auf 1 geändert, wenn die SPS einen Alarm meldet
    - die zweite Variable – 'Quittiervariable' wird von zenon zu SPS mit 1 geschrieben, wenn der Operator der Runtime die Alarmvariable quittiert (weil die Quittiervariable in der Eigenschaft der Alarmvariable verknüpft wurde).

    Aber wer und wann setzt die Quittiervariable auf 0: tut es bereits die SPS nachdem sie Quittierwert 1 bekommen hat (wäre schön), oder tut es erst zenon wenn ein neuer Alarm entsteht?

    Wenn nicht die SPS – wäre OK wenn zenon die Quittiervariable auf 0 setzen würde gleich nachdem (e.g. ein paar Sekunden später) die SPS für die Quittiervariable der Wert 1 bekommen hat? Die Komplexität der eventueller Lösung hängt davon ab.


  5. #5
    Join Date
    19.07.2013
    Posts
    5

    Default AW: Alarm-Quittiervariable absetzen nach Verbindungsverlust SPS-Treiber Open Modbus TCP

    ...ja Sie haben richtig verstanden

    Die Quittiervariable wird in der SPS auf 0 gesetzt, sobald die SPS-Alarmvariable wieder "geht" bzw. FALSE ist. Das geschieht durch die Zenonquittiervariable zur SPS UND wenn der Sensoralarm z.B. wieder verschwunden ist -> dann wird die Quittiervariable, wie gesagt, wieder auf 0 gesetzt.

  6. #6
    Join Date
    19.07.2013
    Posts
    5

    Default AW: Re: Alarm-Quittiervariable absetzen nach Verbindungsverlust SPS-Treiber Open Modbus TCP

    Zitat: "Wenn nicht die SPS – wäre OK wenn zenon die Quittiervariable auf 0 setzen würde gleich nachdem (e.g. ein paar Sekunden später) die SPS für die Quittiervariable der Wert 1 bekommen hat? Die Komplexität der eventueller Lösung hängt davon ab."

    ja das wäre ok!!

  7. #7
    Join Date
    01.07.2008
    Location
    Salzburg, AT
    Posts
    810

    Default Re: Alarm-Quittiervariable absetzen nach Verbindungsverlust SPS-Treiber Open Modbus TCP

    In der idealen Welt  würde die Verbindung zu SPS nie verloren gehen, somit wäre die SPS als Speicherort der Quittierung geeignet. Ist aber nicht, weil die Quittierung in zenon stattfindet, nicht in der SPS, somit nur in zenon kann man die Information zuverlässig merken - auch in der Zeit wenn die SPS gerade nicht zur Verfügung steht.

    Ergo: die Variable, die in der Eigenschaft 'Quittriervariable' verknüpft wurde, kann nicht direkt in der SPS sein. Es könnte eine Interne oder in der lokalen zenon Logic (also stratonNG) Variable sein. Weil solcher Variablen auch während der Verbindungsverlust zur SPS eine Wertänderung abspeichern können. Dann diese zusätzliche Variable könnte ein Auslöser sein, um auch die SPS über Quittierung zu informieren – wenn die SPS erreichbar ist.

    Handelt sich um nur einzelne Alarmvariablen, dann wird wohl am einfachsten es mit INTERN und MATH Treiber, Rema und ein paar solwertsetzen Funktionen zu lösen. Sind es viele Alarmvariablen, dann wohl mit zenon Logic besser.

    Also die Lösung ohne Logic wäre:
    1. In INTERN Treiber 2 BOOL Variablen anlegen (Berechnung: Netzwerk; Initialwert: 0): eine Quittiervariable und eine Variable für Verbindungstatus mit der SPS.
    2. der Wert der Verbindungstatus Variable kann man mit 2 zenon 'Sollwert absetzen' Funktionen immer aktuell halten. Diese Funktionen kann man in einer Reaktionsmatrix aufrufen, die mit einer der SPS Variablen (beliebige) verknüpft ist und die INVALID Statusbit auswertet.
    Also: bekommt die SPS Variable INVALID -> sollwertsetzen auf Verbindungstatus 0 ("keine Verbindung"),
    bekommt die SPS Variable SPONT (und/oder kein INVALID) -> sollwertsetzen auf Verbindungstatus 1 ("Verbindung OK").
    3. der Wert der internen Quittiervariable wird auf 1 beim Quittieren des Alarms gesetzt. Auf 0 -> via ebenso 'Sollwert absetzen' Funktion (sehe unten).
    4. eine MATHDRV Variable (auch BOOL) anlegen die interne Quittiervariable und Verbindunstatus Variable auswertet, Formel: X01 AND X02.
    5. bei der Mathevariable - der Grenzwert 1 mit der Ausführung eines Skripts verknüpfen. Das Skript soll aus 2 'Sollwert absetzen' Funktionen bestehen:
    - Wert 1 setzen auf die (vorherige) Quittiervariable in der SPS;
    - Wert 0 (nicht 1!) auf die interne Quittiervariable.

    Alle 4 'Sollwert absetzen' Funktionen sollen 'Direkt zur Hardware' Check-box aktiv haben (aber die 3 Interne bitte keine Schreibbestätigung).

Similar Threads

  1. Replies: 5
    Last Post: 6th June 2017, 09:32
  2. Uhr Objekt - Sollwert absetzen
    By peter.gruber@technik-center.at in forum zenon Supervisor
    Replies: 0
    Last Post: 8th July 2016, 07:02
  3. Variablen-Status nach Neustart Treiber
    By michab in forum Drivers
    Replies: 3
    Last Post: 18th July 2014, 14:56
  4. Makro ausführen nach Textfeldeingabe
    By stoessa in forum VBA
    Replies: 14
    Last Post: 29th August 2013, 09:10
  5. Quittiervariable zurücksetzen?
    By michab in forum zenon Supervisor
    Replies: 1
    Last Post: 23rd December 2010, 00:41

Tags for this Thread

Posting Rules

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •