Bitmeldungen

settelma

Level-1
Beiträge
356
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich will mir gerade bei einem Projekt Bitmeldungen erzeugen. Ich greife dabei auf einen INT in einem Datenbaustein zu.
Das klappt schon alles ganz gut so.
Jetzt mein Problem.
Ich hab im Datenbaustein einen INT, im Programm beschreibe ich aber die einzelenen Bits des INT. Gibt es eine Deklarationsmöglichkeit im Datenbaustein damit ich obwohl als INT deklariert ich jedem einzelnen Bit einen Namen zuweisen kann?

Wäre dankbar für eure Hilfe.

Gruß Markus
 
Du könntst Deine 16 BIT anlegen (idealerweise als STRUCT, ist aber kein muss!), dann kannst Du auf alle Bit's symbolisch zugreifen. Dabei entfällt jedoch die Möglichkeit auf das Wort symbolisch zuzugreifen! Es geht nur eins!

z.B.:

DB100.DBX0.0...DB100.DBX1.7 ==> DB100.DBW0
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich brauch aber für die Bitmeldungen ein Interger oder.
Also entfällt das wohl das ich im Programm symbolisch auf die einzelnen Bits zugreifen kann oder.

Gruß Markus
 
Ich brauch aber für die Bitmeldungen ein Interger oder.
Also entfällt das wohl das ich im Programm symbolisch auf die einzelnen Bits zugreifen kann oder.

Ja, das ist leider so. Es geht nur eins von beiden: entweder SPS-Programm symbolisch oder WinCCflex symbolisch. Das Problem wurde hier auch schon in einem anderen Thread besprochen. Die einzige Möglichkeit beides zu haben wäre nur sich einen zweiten DB anzulegen und alle Daten doppelt zu speichern -> unschön.

Ich persönlich mache es so, dass ich im SPS-Programm alle Bitmeldungen auch als BOOL-Variable anlege. So sieht man im Programm den eindeutigen Fehlertext an der Adresse ohne dass ich dazu WinCCflex oder eine externe Liste aufrufen muss.
WinCCflexible wird im Bereich der Störmeldungen dann absolut adressiert. Da ich meistens einen größen Meldebaustein habe in dem sich (im Normalfall) nichts verschiebt, bin ich damit bisher immer gut gefahren.
 
Ich mach das so ähnlich wie Thomas, die Störmeldungen als Bits im DB, der Störtext im Kommentar (Störort durch ; getrennt). Falls sich dann an den Störungen doch mal was ändert, lösche Ich alle, inklusive der Variablen in WinCC oder Flexible, und lass mir die Störungen mit meiner Toolbox neu erzeugen!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich hab im Datenbaustein einen INT, im Programm beschreibe ich aber die einzelenen Bits des INT. Gibt es eine Deklarationsmöglichkeit im Datenbaustein damit ich obwohl als INT deklariert ich jedem einzelnen Bit einen Namen zuweisen kann?
Wie MCerv und Thomas schon sagten geht das leider nur bei Merkern.

Eine Möglichkeit wäre, die Bits als Struct anlegen (Bild 1) und das INT als Anyzeiger ansprechen (Bild 2), somit wäre alles symbolisch.
 

Anhänge

  • DB_1.bmp
    367,4 KB · Aufrufe: 59
  • DB_2.bmp
    92 KB · Aufrufe: 45
Zurück
Oben