TIA S7-1200 - Word in DB vergleichen

Pico1184

Level-2
Beiträge
332
Reaktionspunkte
9
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen,

warum kann ich im TIA V11 SP2 - S7 1200 kein Word aus einem DB mit einer konstanten Zahl vergleichen??

Beispiel:

Code:
//Störung ist aktiv
IF  "DB Stoerungen allgemein".Errors <> 0 THEN
  "DB Betriebsart".D_BO_Störung_aktiv := true;
ELSE
  "DB Betriebsart".D_BO_Störung_aktiv := false;
END_IF;

Beim Übersetzen bringt er immer "ungültiger Datentyp".....

Oder mache ich da was falsch????

S1.jpg S2.jpg

Grüße Pico
 
Guten Morgen,

warum kann ich im TIA V11 SP2 - S7 1200 kein Word aus einem DB mit einer konstanten Zahl vergleichen??

Beispiel:

Code:
//Störung ist aktiv
IF  "DB Stoerungen allgemein".Errors <> 0 THEN
  "DB Betriebsart".D_BO_Störung_aktiv := true;
ELSE
  "DB Betriebsart".D_BO_Störung_aktiv := false;
END_IF;


Grüße Pico

"DB Stoerungen allgemein".Errors ist eine Struct, Du vergleichst die Struct mit einem Integer.

Du musst also sehen, ob eines der Elemente (sind wohl alle bool Typen) true ist und dann das Ergebnis auf true oder false überprüfen.

Vielleicht kannst Du alternativ auch die Struct gegen eine andere Struct vergleichen. Die Referenz Struct sollte dann alle Elemente auf false stehen haben. Ob das aber so von Siemens implementiert ist, muss nachgelesen oder getestet werden.
 
Diese Vorgehensweise mit dem nachträglichen Vergleichen der Störwörter um eine Sammelstörung zu generieren ist einfach ein Programm-Designfehler.
Wenn man an der Stelle an dem die Störungen erfasst werden auch gleich ein Sammelbit setzt, ergibt sich dieses Problem erst garnicht.
Bei uns gibt es z.B. Baustein zur Erfassung für 8 oder 16 Störmeldungen, und der handelt auch die Sammelbits (inkl. quittiert/unquittiert) ab. Dann entfällt das Rumgeschmiere mit Absolutadressen ohne Symbol in AWL, und AT-Sichten braucht man auch keine.
 
Bei uns gibt es z.B. Baustein zur Erfassung für 8 oder 16 Störmeldungen, und der handelt auch die Sammelbits (inkl. quittiert/unquittiert) ab.

Normalwerweise (in Step7 Classic) benutzen wir auch einen "FC Copy Alarme" welcher Störwörter etc. durchsucht und dann ein Sammelbit z.B. im Betriebsarten DB setzt.

Aber leider ist der unter S7-1200 und TIA nicht ohne weiteres einzusetzen. Deshalb musste ich mir auf die schnelle was basteln.

Aber gut recht hast du mit dem Designfehler.

Grüße Pico
 
Zurück
Oben