TIA Bytes setzen

M2k1

Level-1
Beiträge
3
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Byte setzen

Hallo an alle,

habe 2 Bytes die ich mit dem XOR Baustein bitweise abfrage (s7-300 im TIA)

Meine Frage wäre, ob das Ergebnis der Anweisung(Out) gesetzt und nach Bedarf rückgesetzt werden kann?
Für die Bitanweisung ist das S/R - R/S Baustein vorhanden, besteht auch so ein Baustein für Bytes?

Danke
 
Zuletzt bearbeitet:
Moin M2k1,

Meine Frage wäre, ob das Ergebnis der Anweisung(Out) gesetzt und nach Bedarf rückgesetzt werden kann?
Für die Bitanweisung ist das S/R - R/S Baustein vorhanden, besteht auch so ein Baustein für Bytes?

Bei den Bitanweisungen erhälst Du ja auch nur ein Ergebnis an OUT aufgrund der Verknüfpung der Eingangsinformationen. Genau so ist das beim XOR für Bytes.
Also kannst Du das Ergebnis aufgrund der Eingangsinformation auch "zurücksetzen" (z.B. nach XOR das eine Eingangsbyte in das andere Eingangsbyte kopieren).

Wie genau ist denn der Bedarf fürs zurücksetzen? Willst Du einfach änderungen im Byte feststellen?

VG

MFreiberger
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@TE:
Bei Bit XOR Bit erhältst du als Ergebnis auch wieder ein Bit.
Dei Byte XOW Byte erhältst du, wie du an dem Befehl schon erkennen kannst als Ergebnis ein WORD. Dieses müßtest du dann auch den gewünschten Inhalt vergleichen - oder seine jeweiligen Bits ausmaskieren.
Vielleicht schreibst du mal etwas genau, was es werden soll ...

Gruß
Larry
 
Du könntest ja den Out je nach Anweisung noch einmal AND Bitweise Verknüpfen.
Einmal mit FF (das bleibt das Ergebnis unverändert), oder einmal mit 00, dann wird alles auf 0 gesetzt.
 
@TE:
Dei Byte XOW Byte erhältst du, wie du an dem Befehl schon erkennen kannst als Ergebnis ein WORD. Dieses müßtest du dann auch den gewünschten Inhalt vergleichen - oder seine jeweiligen Bits ausmaskieren.
Vielleicht schreibst du mal etwas genau, was es werden soll ...

Gruß
Larry

Genau meinte das XOW, im TIA wird es als XOR(Word) angezeigt.

Es geht darum Alarme zu setzen bis dieser nicht mehr anliegt und quittiert wurde (Problem wäre wenn das Bit kommt und geht, daher das Setzen)
Ein Alarm löst aus, wenn das Bit von 1-0 springt. Um nicht jedesmal einen R/S Baustein für jedes Bit zu nutzen habe ich gedacht, dass ich die gewünschten Bits als Eingangsbyte zusammenfasse und mit
einem maskierten Byte vergleiche. Beim XOW erhalte ich als Ergebnis ein Word, welche ich mit dem Befehl Move den gewünschten Byteanteil kopiere.
Nun habe ich den Byteanteil, jedoch war dann die Frage ob ich es auch setzen und rücksetzen kann?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin M2k1,

du könntest von Deinen Triggerbits Flanken erzeugen. So habe ich das beim Clock-Byte gemacht:

Unbenannt.JPG

Danach das Flankebyte (oder WORD) mit einem Speicherbyte ODER-Verknüpfen und das Ergebnis im Speicherbyte (oder Word) ausgeben.

Löschen könntest mit einem MOVE der Triggerbits (Byte, Word,...) in das Speicherbyte.


VG

MFreiberger
 
Hallo MFreiberger,

welche TIA version bzw. welche Cpu verwendest du denn? Kann leider bei XOR nur Word oder DWord auswählen .

Gruß
 
Moin M2k1,

ich verwende TIA V14SP1Upd3 und eine 1515F-2PN. Aber wenn es um Alarme geht: brauchst Du nur 8 Alarme? Ansonsten hast Du halt 8 oder 24 in Reserve...
Letzen Endes ist es egal, ob Bit-, Byte-, Word- oder DWord-verknüpfung. Die Logik ist die Gleiche. Sieht nur anders aus...

VG

MFreiberger
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Kann leider bei XOR nur Word oder DWord auswählen .
Die S7-300 kann "Wordverknüpfungs"-Anweisungen nur mit Word oder DWord.
In AWL kannst Du für Byte-Verarbeitung einfach die Word-/DWord-Anweisungen verwenden, in FUP/KOP müsstest Du das/die zu verknüpfende(n) Byte vorher in ein TEMP-Word umkopieren (MOVE) und das Ergebnis wieder in ein Byte kopieren.
Bits setzen macht man mit "OR Bitmaske", Bits rücksetzen mit "AND Bitmaske", Bits invertieren mit "XOR Bitmaske" oder "INV".
Wenn Du mehrere Bits auf einmal verknüpfen willst, dann schreibe Dir zunächst auf (am besten in AWL), wie das Programm mit einem einzelnen Bit funktionieren soll und dann ersetze die Bit-Anweisungen durch Word-Anweisungen (und ggf. Sprünge).

Beispiele für Word-weise Verarbeitung von Bits:
FAQ: Flankenauswertung in Step7
https://www.sps-forum.de/hmi/38791-quittiertaste-tp177b-sps-auswerten-3.html#post280953

Harald
 
Zurück
Oben