Step 7 FB - DBD Input Bitweise weiter verarbeiten

Fana

Level-1
Beiträge
4
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,
es würde bestimmt schon irgendwo gefragt aber ich kann es nicht finden. Kann mir jemand einen Hinweis geben wie ich in einem FB den DBD Input Bitweise weiter verarbeiten kann. In einem FC ist klar, DBxx.DBD 2 wäre DBxx.DBX 2.0, 2.1....5.7. Wie sieht das in einem FB aus?
Danke für eure Hilfe.
 
@PN/DP Das geht deshalb nicht da ich das DBD einzel auswerten muss. D.h. Bit 1 bekommt Wert 1, Bit 2 Wert 2, Bit 3 Wert 3 usw.

@ducati genau so. Ich weiß nur nicht wie DBxx.DBX 0.1 in einem FB aufgerufen wird (Schreibweise) #EingangsDBD.DBX 0.1?
 
... oder eine AT-Sicht auf die Variable machen, die den gewünschten anderen Aufbau hat (z.B. ein Array of BOOL oder eine STRUCT).

Wobei ich nicht wirklich verstanden habe was der OP genau machen will. Das einzelne direkte Ansprechen von Bits in einem Übergabe-Parameter vom Typ DBD geht in einem FC ja genauso nicht ...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe ein DBD welches Störungen abbildet. Ich möchte immer nur die erst auftretende Störung wieder ausgeben und solange bis keine Störung vorhanden ist. Das klappt auch alles in einem FC. Jedoch habe ich viele Maschinen und das DBD variiert. Somit wollte ich einen FB dafür schreiben. Eingang wäre eine DBD und Ausgang mit der passenden Störnummer ein anderes DBD. Natürlich kann ich auch immer alles kopieren und von Hand ändern. Ein FB wäre schöner.
 
also Du willst einen FC schreiben, der als Eingang ein Doppelwort hat und intern daraus 32 Bools verwendet und als Ausgang nen DINT mit ner Nummer hat? Dafür reicht ein FC, da brauchst keinen FB...
 
@PN/DP Das geht deshalb nicht da ich das DBD einzel auswerten muss. D.h. Bit 1 bekommt Wert 1, Bit 2 Wert 2, Bit 3 Wert 3 usw.

@ducati genau so. Ich weiß nur nicht wie DBxx.DBX 0.1 in einem FB aufgerufen wird (Schreibweise) #EingangsDBD.DBX 0.1?
Einfach mal den Instanz DB zum FB anschauen und man sieht, welche interne Adresse der Eingangsparameter dann nutzt.
Dann gibt es mehrere Möglichkeiten, von Pointer über umladen auf Struktur, Lokal variable oder intern direkten Zugriff auf die Adresse im Instanz DB.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@PN/DP Das geht deshalb nicht da ich das DBD einzel auswerten muss. D.h. Bit 1 bekommt Wert 1, Bit 2 Wert 2, Bit 3 Wert 3 usw.
Aber natürlich geht das, wenn ich schreibe, dass das geht.
Wenn man sich auskennt und weiß was man tut, kann man natürlich auch wild und faul im Speicher rumpeeken und - poken. Zu sowas gebe ich aber lieber keine Hilfestellung, zumal sowas auch nicht zukunftsfähig ist.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@Boxy
Der TE will doch einen FB verwenden (obwohl er vermutlich nicht wirklich weiß warum). Dein Vorschlag war also doch nicht ganz falsch, wenn auch nicht schön.

Bei einer sauberen Lösung ohne im Speicher rumschmieren ist es übrigens egal, ob in einem FB oder FC realisiert.
 
Zurück
Oben