Wie kann man das Programm vereinfachen?

Zuviel Werbung?
-> Hier kostenlos registrieren
Du meinst bestimmt, wenn die Wertigkeit Ungerade ist (sprich 1 oder 3 oder 5).
Nö, ich meinte es genau so, wie ich's geschrieben habe.
Das macht nämlich das Netzwerk dafür so einfach. Nicht den Gesamtwert prüfen, sondern nur ob die 1 dabei ist:
1 = 1
3 = 1 + 2
5 = 1 + 4

;)
 
Da bin ich aber neugierig, wie Du auf 13 Zeilen kommst - das geht doch bestimmt nicht mehr symbolisch, irgendeine tricky Abkürzung ist da bestimmt drinnen, oder? Gib doch mal einen Tip in welche Richtung ...
Genau so:
Gerade für FUP/KOP würde das die Sache sehr vereinfachen:
Das Auge in der Mitte (d) leuchtet immer, wenn die Wertigkeit 1 betätigt ist.
Die Augen Links Unten (c) und Rechts Oben (e) leuchten, wenn die Wertigkeiten 2 oder 4 betätigt sind.
Die Augen Links Oben (a) und Rechts Unten (g) leuchten, wenn die Wertigkeit 4 betätigt ist.
Die Augen Links Mitte (b) und Rechts Mitte (f) leuchten, wenn die Wertigkeiten 2 und 4 betätigt sind.
Ergibt...
... 4 schöne FUP- bzw. KOP-Netzwerke.
... oder 13 Zeilen AWL.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@Harald:
Ich will die Lösung jetzt hier nicht posten, aber ich lasse sie Dir gerne per PN zukommen. Alles astrein in KOP/FUP darstellbar, alles einfachste symbolische Binärlogik, nichts indirektes, keine Sprünge oder sonstiger Firlefanz.
 
@Michael
Brauchste mir nicht mehr zeigen. Ich glaube dir. Hucki hat es ja 1:1 beschrieben (Dein zweites Zitat).
Manchmal sieht man den Wald vor lauter Bäumen nicht :oops: Ich hätte mir die Wahrheitstabelle auch mal ansehen sollen und nicht nur lesbar umgestalten.

Harald
 
Ich muss sagen, dass ich die letzten drei Seiten hoch interessant fand. Man kann den Thread fast als Gruppenstudie auffassen. Jeder denkt für sich, aber durch den Austausch wird jede individuelle Lösung immer wieder in den Kontext der anderen gerückt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,
solche Art Aufgaben habe ich auch mal in einem Buch gefunden.
Die dort erwünschten Lösungen haben überhaupt nichts mit der Praxis zu tuen.
Ich würde das auch mit indirekter Adressierung lösen. (wie im Beitrag #18 )
Ist auch viel verständlicher als, wenn auch noch so wenige, Binär-Verknüpfungen.

edit: Beitrag 18 und nicht 1
 
Zuletzt bearbeitet:
Ich würde das auch mit indirekter Adressierung lösen. (wie im Beitrag #1 )
:confused:
In Beitrag #1 steht doch nur die Frage?


Ist auch viel verständlicher als, wenn auch noch so wenige, Binär-Verknüpfungen.
Vlt. solltest Du mal wieder raus gehen, wenn für Dich indirekte Adressierungen schon verständlicher sind, als einfache Verknüpfungen (ohne Klammern oder sonstigen Schnickschnack!).
:cool:

:ROFLMAO:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Unter Menschen, halt weg vom PC.
:ROFLMAO:


Der Code von Harald ist zwar gut, aber ich bin mir sicher, das selbst er die einfachen Verknüpfungen bevorzugen würde.
Man programmiert ja meist nicht nur für sich.
Und das ist m.M.n die wirklich hohe Kunst - wenn möglich einfacher, allgemein (nicht nur für Profi-Programmierer) verständlicher Code.


PS: Ich vermute, auch deswegen schreiben soviele Automotiv-Firmen die Verwendung von KOP vor.
 
Zuletzt bearbeitet:
Also diese Aufgaben waren eigentlich mal dazu da, um die http://de.wikipedia.org/wiki/Karnaugh-Veitch-Diagramm oder auch KVS-Diagramme zur "Vereinfachung" von logischen Verknüpfungen zu üben.
Das war vielleicht sinnvoll zu einer Zeit, als es noch keine SPS gab.
Heute hat man genug Speicher und braucht nichts mehr "vereinfachen". Ich würde anstatt "vereinfachen" aber lieber reduzieren sagen, da man bei dem reduzierten Programm nicht mehr so einfach erkennen kann was eigentlich gemacht wird.
Beispiele dafür gibt es in "Automatisieren mit SPS - Übersichten und Übungsaufgaben" von Wellenreuther und Zastrow Aufgabe 2.5 (7-Segment-Anzeige) und die Lösungen sind auch in dem Buch.

Eine etwas zeitgemäßere Lösung ist in "SPS-Grundkurs mit SIMATIC S7" von Kaftan Aufgabe 12.1 (7-Segment-Anzeige). Hier gibt es auch Lösungen ab Seite 290 wird zuerst für jede mögliche BCD-Zahl ein Merkerbit erzeugt durch UND-Verknüpfung der BCD-Zahlen-Bits, und in einem zweiten Teil werden die Merkerbits ODER-verknüpft um die entsprechenden Ausgangsbits anzusteuern.

Bis zu mir im Elfenbeinturm (LOL) ist eigentlich immer nur gedrungen, dass es keine Elektriker mehr gäbe, die auf SPS-Programmierung umgeschult würden, sondern alle hätten schon in der Realschule Pascal gelernt und müßten das nur noch in die blöde SPS rein kriegen.

edit : vereinfachen -> reduzieren
 
Zuletzt bearbeitet:
... dass es keine Elektriker mehr gäbe, die auf SPS-Programmierung umgeschult würden, sondern alle hätten schon in der Realschule Pascal gelernt und müßten das nur noch in die blöde SPS rein kriegen.
Hier ich!
Bin zwar ein Dino, aber noch nicht ausgestorben.
:p


Ich denke, das Problem kennt die Großzahl aller Instandhalter, die auch SPSen warten müssen:
Weil genügend Performance zur Verfügung steht, wird von den Programmierern schnell vergessen, die Netzwerke einfach zu halten.

Daher finde ich solche Aufgaben auch keineswegs überholt. Eher im Gegenteil. Sowas sollte mehr vermittelt werden.
Wird doch im Matheunterricht auch gemacht - die große Aufgabe, in möglichst kleine, leicht verdauliche Häppchen zerlegen.
:cool:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,
ja Dinos und Leute mit über 200 Danke meinte ich nicht, sondern Frischlinge, die jetzt noch Elektriker sind, aber in Zukunft SPS-Programmierung verstehen wollen. Gibt es die noch?

Bezüglich meinen Ausführungen zu der Aufgabe haben wir uns auch noch nicht ganz verstanden.
Das liegt wohl daran, dass ich die Lösung vom Buch von Kaftan hier nicht eingestellt habe.
Darf ich wohl auch nicht?
Aber dort wird genau das Prinzip gemacht, dass du beschreibst, die Aufgabe in 2 Teilaufgaben zerlegen und dann ausprogrammieren. Die beiden Teilaufgaben habe ich beschrieben:
1. ... zuerst für jede mögliche BCD-Zahl ein Merkerbit erzeugt durch UND-Verknüpfung der BCD-Zahlen-Bits,
2. und in einem zweiten Teil werden die Merkerbits ODER-verknüpft um die entsprechenden Ausgangsbits anzusteuern.
 
Zurück
Oben