# WinCCflex Meldungen von SPS quittieren



## Thomas_v2.1 (24 März 2011)

Moin,
gibt es eigentlich noch eine andere Möglichkeit Meldungen auf einem Panel von der Steuerung aus zu quittieren, als über die "Quittiervariable schreiben" Funktion bei jeder Meldung?

Das Problem was ich habe ist nämlich, dass die Quittiervariable schreiben die gleiche Variable sein muss wie die eigentliche Meldevariable. Meine Meldevariable ist aber (aus projektierungstechnischen Gründen) immer vom Datentyp Word. In diesem Word habe ich meistens 8 Störmeldungen und 8 sonstige Meldungen (Betrieb, Vor-Ort etc.). Also ich habe keine Möglichkeit hier noch Platz für 8 die Quittierbits zu schaffen.
Komischerweise kann die Variable für "Quittiervariable lesen" eine beliebige andere Variable sein, was mir hier aber nicht wirklich weiterhilft.

WinCCflex 2008 SP2, Panel sind vom Typ MP277.


----------



## rostiger Nagel (24 März 2011)

nur mal so ein Gedanke, vlt. kannst du ja mit Internen Variabeln im
Panel zur Quittierung arbeiten und diese durch ein Script setzen wenn
Störmeldebit "0" geworden ist.


----------



## Thomas_v2.1 (24 März 2011)

Helmut_von_der_Reparatur schrieb:


> nur mal so ein Gedanke, vlt. kannst du ja mit Internen Variabeln im
> Panel zur Quittierung arbeiten und diese durch ein Script setzen wenn
> Störmeldebit "0" geworden ist.



Geht leider nicht, diese "Quittiervariable schreiben" muss wohl unbedingt die gleiche Variable sein wie die Meldevariable. Eine interne Variable kann ich auch nicht eintragen.

Ich wollte die Meldungen am Panel eigentlich quittieren wenn jemand den Quittiertaster am Schaltschrank betätigt. Denn nur damit wird ein Antrieb nach einer Störung wieder freigegeben.

Wenn ich nur ein Panel an einer einzigen SPS habe, stört das auch nicht weiter dass der Bediener die Meldungen immer am Panel zusätzlich quittieren muss. Nur momentan habe ich 8 SPSen und 7 Panel, und von jedem Panel kann auf alle SPSen eingesehen werden. Nun sind die Bauwerke aber teilweise Kilometer voneinander entfernt. Und wenn in einem Bauwerk keine Störung auftritt, kann es eben mal sein dass dort wochenlang keiner drin ist. Taucht nun in einem anderen Bauwerk eine Störung auf, so stehen diese Meldungen in den anderen Bauwerken also evtl. wochenlang als unquittiert in der Liste, was ich etwas blöd finde.


----------



## Ralle (24 März 2011)

Das geht.
Du kannst als Störmeldung und als Quittierung-OP zwei Array anlegen (Datentyp Word)

PT_Störmeldungen Array od 128 Byte
PT_Quittierung_OP Array of 64 Byte

z.Bsp.

Bei den Störmeldungen kannst du dann die Array-Variable eintragen und ein Bit dazu angeben! Nun kannst du Folgendes für STM 001 eintragen

Quittiervariable Schreiben: PT-Störmeldung Bit 512 nehmen
Quittiervariable lesen: PT_Quittierung_OP Bit 0
Trigger: PT-Störmeldung Bit 0

Die Bits kannst du natürlich beliebig verteilen. Leider sehr aufwendig, aber wenn man es einmal hat, ist es für immer fertig.


----------



## Thomas_v2.1 (24 März 2011)

Ralle schrieb:


> Bei den Störmeldungen kannst du dann die Array-Variable eintragen und ein Bit dazu angeben! Nun kannst du Folgendes für STM 001 eintragen
> 
> Quittiervariable Schreiben: PT-Störmeldung Bit 512 nehmen
> Quittiervariable lesen: PT_Quittierung_OP Bit 0
> ...



Du hast aber auch für Trigger und Quittiervariable Schreiben die gleiche Variable. Wenns es wirklich nicht anders geht müss ich wohl oder übel meine Störmeldungen umschreiben.

Ich habe nämlich meine Störmeldungen wortweise angelegt. In der SPS hat jedes Aggregat 16 Bits in einer UDT in dem Status/Störmeldungen zusammengefasst sind.
Also als Triggervariable z.B.:
Name: ANTRIEB_1_MELD, Datentyp: Word, Adresse: DB1.DBW0
Name: ANTRIEB_2_MELD, Datentyp: Word, Adresse: DB1.DBW2

Die Variable ANTRIEB_1_MELD wird dann als Trigger für Betriebs-/ Störmeldungen und für Animation in Bildern verwendet. Dadurch lassen sich viel einfacher automatische Listen generieren.

Wenn ich nun auf ein großes Array umstelle müsste ich meine ganzen Störmeldungen neu anlegen, was ich gerne irgendwie umgehen möchte ;-)


----------



## Ralle (24 März 2011)

Du kannst aber in dem großen Array jedes Bit beliebig nutzen und in WinCCFlex den Störmeldungen und Quittierungen zuweisen. Theorethisch kannst du damit alles nachbilden, aber u.U.mit viel totem Raum dazwischen.


----------



## Paule (24 März 2011)

Thomas_v2.1 schrieb:


> gibt es eigentlich noch eine andere Möglichkeit Meldungen auf einem Panel von der Steuerung aus zu quittieren, als über die "Quittiervariable schreiben" Funktion bei jeder Meldung?


Lass doch einfach die Quittiervariable im Panel weg und quittier einfach die Störung in der SPS, dazu eine eigene ACK Taste bilden und in der SPS auswerten.


----------



## Thomas_v2.1 (24 März 2011)

Ralle schrieb:


> Du kannst aber in dem großen Array jedes Bit beliebig nutzen und in WinCCFlex den Störmeldungen und Quittierungen zuweisen. Theorethisch kannst du damit alles nachbilden, aber u.U.mit viel totem Raum dazwischen.



Ja, so hab ich es jetzt auch gemacht. Leider sind die Störmeldungen am Panel schon alle fertig projektiert gewesen, so musste ich jetzt alles umstellen, und vor allem diese krummen Bitadressen neu ausrechnen.

Beim Testen ist gleich ein Problem bei der Funktion "Quittiervariable lesen" aufgetreten, Supportanfrage läuft aber schon - bin mal gespannt was Siemens sagt.


----------

