Step 7 Frage zu rücksetzen eines Bit's

S_Liner

Level-2
Beiträge
427
Reaktionspunkte
16
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen, ich möchte in meinem Projekt den Status meines Umrichters überwachen und dann eine Fehlermeldung über das HMI anzeigen. Was auch nicht das Problem ist.
Hier mein Beispiel wie ich das geschriebene habe:

U #Fehler_Umrichter
U(
L Status_Umrichter
L 1
==I
)
S M2.0 //M2.0 = Überstrom Umrichter


U #Fehler_Umrichter
U(
L Status_Umrichter
L 2
==I
)
S M2.1 //M2.1 = Netzphasenfehler


Ich habe 2 Umrichter (SEW Movidrive MDX
B), was bedeutet das ich 64 Meldungen pro FU anzeigen lassen möchte.
Um mir etwas Schreibarbeit zu sparen, hatte ich gedacht, ob es vielleicht möglich ist, die Bit's wie folgt zurück zu setzen:

U #Reset
SPBN NW2
L 0
T MD2

(Das wäre dann NW 1 im jeweiligen FC)


oder muss ich es so machen?


U #Fehler_Umrichter
U(
L Status_Umrichter
L 2
==I
)
S M2.1 //M2.1 = Netzphasenfehler
U #Reset
R M2.1 //
//M2.1 = Netzphasenfehler


Was zwar kein Problem ist, aber etwas mehr Schreibarbeit währe.

Falls Ihr es ganz anders macht oder gar eine bessere Methode habt sowas zu handhaben, bin ich für Kritik offen.

Gruß
[SUB][SUP]
[/SUP][/SUB]
 
Was verwendest du als HMI?
Benötigst du für jede Störung des Umrichters ein bit?

Bei den Siemens HMIs kann mann bei einer Meldung einen Textlisteneintrag über eine Variable (in diesem Fall der Status) anzeigen lassen.
Somit wäre eine Störmeldung zu implementieren.

Wenn du deinen Ansatz weiter verfolgen willst würde ich einen FC od. FB verwenden und den möglichst generisch entwicklen. Ohne Merkerl. In SCL ist wäre das dann eine case. Abhängig von der Anzahl der Störmeldungen ist das meiner Meinung nach trotzdem Schreibarbeit.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Xperia, danke für deine Antwort.

Was verwendest du als HMI?
Ein KTP400 Comfort.

Benötigst du für jede Störung des Umrichters ein bit?
Nun ja, ich wüsste sonst nicht wie ich die unterschiedlichen Status vom Umrichter unterscheiden bzw. anzeigen lasse sollte.

Bei den Siemens HMIs kann mann bei einer Meldung einen Textlisteneintrag über eine Variable (in diesem Fall der Status) anzeigen lassen.
Also mit TIA V15 bearbeite ich das HMI und habe auch Bitmeldungen erstellt.

Wenn du deinen Ansatz weiter verfolgen willst würde ich einen FC od. FB verwenden und den möglichst generisch entwickeln.
Das verstehe ich gerade leider nicht so richtig.


Beste Grüße
 
Grundsätzlich kann man das so machen und beim Quittieren alle Meldungen mit Null niederbügeln. Der Ansatz mit dem einzelnen Rücksetzen geht auch, allerdings muss das Rücksetzen vor dem Setzen passieren. Sonst werden die Störungen kurz quittiert obwohl die Ursache nicht behoben wurde. Ich würde allerdings nie 64 Meldungen für ein Betriebsmittel anlegen. Ein paar wichtige, und dann eine Extra Diagnose Seite wo man den Status sieht. Dort könntest du eine Textliste verwenden.
 
Ich würde ein Meldung erstellen. z.b. "Störung Frequenzumrichter". Mit einem rechtsklick auf den Meldetext dann die Option "Dynamische Parameter (Textliste) einfügen" auswählen. Einfach eine Textliste erstellen mit Wert und dementsprechenden Text.

In deinem Fall:

1 Überstrom Umrichter
2 Netzphasenfehler
usw.

und als Variable den Status des Umrichters verwenden.

So wird die Fehlermeldung dynamisch erzeugt. Ein Bit triggert die Bitmeldung und abhängig vom Status wird der dementsprechende Störmeldetext der Bitmeldung hinzugefügt.


Ich habe gemeint du kannst einen FC od. FB verwenden da du den Code öfter benötigts, und somit nicht 2mal schreiben bzw. kopieren und ändern musst.

 
Hi,

meines Wissens nach, gibt der SEW Regler normalerweise auch Störungswörter aus. Die könnte man ganz einfach abgreifen und durch Störung Quittieren zurücksetzen.

Gruss Nick
 
Was zwar kein Problem ist, aber etwas mehr Schreibarbeit währe.
Du schreibst von 64 Meldungen pro FU. Bedeutet das, dass auch mehrere StatusBits gleichzeitg 1-Signal haben können?
Wenn ja, dann ist die Art, wie Du die MeldungsBits setzt evtl. ein Problem.
Fragst Du auch die Inhalte ab, bei denen mehr als 1 Bit 1-Signal hat? Das bringt Dir dann den hohen Schreibaufwand und auch eine Fülle von eigentlich nicht nötigen MeldungsBits.

Wie wäre es alternativ mit . . .
Code:
U   M2.1
UN  #Reset
O 
U(
L   2  // hier nur EinzelBits, also ZweierPotenzen 1, 2, 4, 8, 16, 32, 64, 128 ( u.s.w., falls mehr als 1 Byte Status)
L   Status_Umrichter
UW
==I
)
U   #Fehler_Umrichter
=   M2.1 //M2.1 = Netzphasenfehler
. . . ?
 
Zurück
Oben