-> Hier kostenlos registrieren
Hallo zusammen,
ich würde gerne einzelne Bit eines Statuswortes von einem Antrieb auswerten.
Das Statuswort hat die Peripherie Adresse 256, also sprich PEW 256.
Die Auswertung der einzelnen Bits würde ich gerne in einem FB realisieren weil wir insgesamt 21 gleiche Antriebe in der Maschine verbauen werden.
Wenn ich jetzt mit Hilfe einer Variablentabelle die einzelnen Bits des PEW ansehe und diese mit der Anzeige der Bits der Parametriersoftware vergleiche passt alles. Die Darstellungsart der Variablentabelle habe ich auf Binär gestellt. Ich wollte jetzt eigentlich so vorgehen, dass ich die entsprechende PEW Adresse mit einer WAND_W Wortverknüpfung und dann entsprechend für Bit 0 z.B. mit W#16#0 vergleiche. Das Ergebnis der Verknüpfung lege ich in einer Temporären Variable des Typ Word im FB ab. Anschließend wandle ich die Temp-Variable des Typ Word in eine Int-Variable ebenfalls im FB. Zum Schluss vergleiche ich jetzt noch die Int-Variable auf größer oder kleiner Null, ist diese Bedingung erfüllt wird der entsprechende Ausgang des FB gesetzt. Ich war mir eigentlich sicher das dies so funktionieren sollte, jetzt weiß ich es aber besser
. Jetzt werden mir nämlich die falschen Statusmeldungen angezeigt wenn ich diese mit den Bits in der Parametriersoftware vergleiche. Ich habe auch schon ein Merker-Wort angelegt und die Statusmeldungen dort hinein verschoben um die einzelnen Bits des MW mit den Bits der Parametriersoftware zu vergleichen uns sehe da genau der gleiche Fehler das mir hier andere Bits angezeigt werden wie in der Parametriersoftware!?
Meine Frage an euch ist jetzt, kann mir evtl. einer sagen woran dies liegt und wie ich das Problem angehen soll/muss?
Ich wäre euch sehr dankbar wenn mir hier weitergeholfen werden könnte.
ich würde gerne einzelne Bit eines Statuswortes von einem Antrieb auswerten.
Das Statuswort hat die Peripherie Adresse 256, also sprich PEW 256.
Die Auswertung der einzelnen Bits würde ich gerne in einem FB realisieren weil wir insgesamt 21 gleiche Antriebe in der Maschine verbauen werden.
Wenn ich jetzt mit Hilfe einer Variablentabelle die einzelnen Bits des PEW ansehe und diese mit der Anzeige der Bits der Parametriersoftware vergleiche passt alles. Die Darstellungsart der Variablentabelle habe ich auf Binär gestellt. Ich wollte jetzt eigentlich so vorgehen, dass ich die entsprechende PEW Adresse mit einer WAND_W Wortverknüpfung und dann entsprechend für Bit 0 z.B. mit W#16#0 vergleiche. Das Ergebnis der Verknüpfung lege ich in einer Temporären Variable des Typ Word im FB ab. Anschließend wandle ich die Temp-Variable des Typ Word in eine Int-Variable ebenfalls im FB. Zum Schluss vergleiche ich jetzt noch die Int-Variable auf größer oder kleiner Null, ist diese Bedingung erfüllt wird der entsprechende Ausgang des FB gesetzt. Ich war mir eigentlich sicher das dies so funktionieren sollte, jetzt weiß ich es aber besser

Meine Frage an euch ist jetzt, kann mir evtl. einer sagen woran dies liegt und wie ich das Problem angehen soll/muss?
Ich wäre euch sehr dankbar wenn mir hier weitergeholfen werden könnte.