Datenworte vergleichen !!

hightower777

Level-1
Beiträge
53
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,
ich habe wieder mal ein kleines Problem.

Ich musste bisher aus 2 Datendoppelworten vergleichen, ob sich ein Bit ändert für ein Fehlermeldearchiv.
Das wurde durch das kopieren des aktuellen Datenwortes in ein "Alt-Wort" und dem XOR Vergleich mit dem "Neu-Wort" bewerkstelligt.
Das Ergebnis steht wiederum in einem Datendoppelwort.
Wie vergleicht man aber nun 3 DD´s miteinander.
Ich kann ja schlecht das Ergebnis der ersten zwei mit dem dritten vergleichen.

Danke vorab.
Gruss Hightower
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mir ist gerade nicht ganz klar, wie Du die 3 DDW miteinander vergleichen möchtest. :confused:
Wenn Du wissen möchtest, ob sich im ersten ODER zweiten DDW Bits verändert haben, drängt sich DW-weises verodern ja quasi auf.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich finde es gerade interessant, wie Ihr den Befehlsvorrat der S7 um "XOR" ergänzt. Das Ding heißt "XOD"!

@Hightower
Nachdem sich hier ja jetzt mehr oder weniger sinnvolle Vorschläge sammeln:
Aus dem XOD bekommst Du die Bits, die sich seit dem letzten Durchgang geändert haben (sowohl steigend als auch fallend).
Was hast Du denn mit dem 3. DDW vor?
 
Hallo, das 3. DDW brauche ich, weil ich nun mehr als 64 Meldungen habe und somit ein 3. DDW zur Auswertung brauche.

Gruss Hightower
 
Ich denke, Du wirst genau das gleiche, was Du schon hast, noch einmal machen müssen. Wenn Du Dein neues DDW mit den alten vergleichst, bekommts Du ja nie sauber heraus, ob einzelne Bits gekommen oder gegangen sind.
 
Hallo Hightower777,

wir haben an unseren Anlagen eine ähnliche Programmierung, bei der allerdings alle Fehler bzw. Störungs-Bits die in die Worte geschrieben wurden Fehler aktiv=1 programmiert worden sind. Somit konnte man diese Worte alle schön einfach auf 0 vergleichen. Ich glaube aber bei dir ist die Bitfolge unregelmäßig und du willst nur feststellen ob sich etwas zum Ursprungszustand ändert ?! Richtig ?
Erst mal nur für mein Verständnis ;-)

Gruß
Toki
 
Hallo hightower777,

aus Deinem Screenshot in #9 sieht man sehr schön, wie der 32-Bit-Vergleich zu einem 64-Bit-Vergleich kaskadiert wurde.
Nach dem gleichen Schema erweiterst Du nun zu 96 Bit, und zwar:
+ nach den beiden WXOR_DW kommt ein neues WXOR_DW mit #AlarmDBD2, #dOldFaults_3, #dNewFaults_3
+ nach dem WOR_DW kommt ein neues WOR_DW mit #dwTmpNewFaults, #dNewFaults_3, #dwTmpNewFaults
Das wars schon. :cool:

Harald
 
Zurück
Oben