LOGO Ganzzahl zu Bitmuster Siemens Logo

schlosser87

Level-1
Beiträge
3
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen zusammen,

ich hoffe ich stehe nicht komplett auf dem Schlauch und vielleicht ist es auch eh ganz einfach, aber ich bin gerade am verzweifeln. Ich muss eine auszuwählende Ganzzahl 0-35 in ein feststehendes Bitmuster 9 Bit übersetzen. Das Muster ist

0: 1 1 1 1 1 1 1 1 1
1: 1 1 1 1 1 1 1 1 0
2: 1 1 1 1 1 1 1 0 1
3: 1 1 1 1 1 1 1 0 0
4: 1 1 1 1 1 1 0 1 1

.... und so weiter....

Habt ihr eine Idee, wie ich den Wert 4 eingeben kann und dann 1 1 1 1 1 1 0 1 1 rausfällt?

Ich danke euch!
 
In S7 würde das mit 'INVI' gehen. Gibt es sowas in der Logo?

Edit: Oder Exklusiv-Oder-Wort mit 16#FFFF?
 
Zuletzt bearbeitet:
... oder die gleiche Rechnung mit dem Analogverstärker:
1683903721824.png

PS:
Die Rechnung funktioniert natürlich nur für Zahlen >= 0 am Eingang.
Also keine echte Negation wie bei GUNSAMS' Beispiel.
 
Zuletzt bearbeitet:
Wow,

ist ja geil. Sorry, dass ich heute erst wieder dazu komme. Ich lese mir das gerade mal durch, versuche es zu verstehen und sag euch dann Bescheid.

Schon mal ganz herzlichen Dank euch allen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das funktioniert schon mal tadellos! Wirklich vielen Dank!

Ich habe es jetzt so gelöst, da ich insgesamt 6 Maschinen haben, die jeweils ein vorangestelltes Programm als Bitmuster aufrufen, dass ich 6 Arithmetische Funktionen habe, denen ich einen Wert zuweise (später dann per HMI oder Browser, mal sehen ;-). Diese Funktionen fasse ich dann jeweils für die Maschinen 1-3 und für Maschine 4-6 zusammen. Diese Ergebnisse dann wieder in einer letzten Anweisung.

Screenshot 2023-05-15 173547.png

Jetzt bleibt mir allerdings ein Problem und ich hoffe ich ihr könnt mir auch dabei helfen....

Es kann sein, dass eine, mehrere oder alle Maschinen gleichzeitig einen Eingang für ihr jeweiliges Bit-Muster setzen. Sind es mehrere, würde ja nur eine sinnlose Addition entstehen. Wie kann ich diese 6 Eingänge möglichst einfach gegeneinander verriegeln ohne ein Wirrwarr aus RS und anderen Funktionen zu machen? Gibt es dafür eine einfache Lösung?

Gerne darf es auch priorisiert sein. Also wenn Maschine 1 und 3 Signal geben, dann immer erst Maschine 1. Oder wenn 3, 5 und 6 anstehen, dann immer in der Reihenfolge. Das ist von der Zykluszeit kein Problem. Die Abarbeitung dauert nur einen kurzen Moment, darf halt nur nicht gleichzeitig das Bit-Muster belegen.

Ich danke euch schon mal wieder im Voraus
 
Erstmal muss jeder Baustein-Ausgang durch einen Ausgang, Merker oder anderen Baustein-Eingang (digital kommt noch die offene Klemme als Möglichkeit dazu) abgeschlossen werden!
Ansonsten lässt sich das Programm zwar simulieren, nicht aber in die reale LOGO! laden.

Zur Wertauswahl nimm 2 bzw. 3 Analogmuxxe als Kaskade:
1684165714313.png

Über die jeweiligen Eingänge S1/S2 kannst Du jetzt auswählen, welcher Wert aktiv sein soll, wobei die Eingänge der oberen Muxxe gegenüber den unteren dominant sind.
Die Hilfe und eigene Tests geben weiter Auskünfte über die genaue Funktion.
 
Zurück
Oben