Ampelschaltung mittels formaler Logik |
04.07.2005, 11:36 | Logie | Auf diesen Beitrag antworten » |
Ampelschaltung mittels formaler Logik und zwar geht es darum mittels der formalen Logik eine einfache Ampelschaltung an einer Kreuzung mit den Zuständen rot und grün zu realisieren. Kann mir jemand erklären, wie man dies mittels der Verknüpfungen der formalen Logik (Konjunktion, Subjunktion, etc) darstellen kann? Danke schon mal im vorraus. |
||
04.07.2005, 11:40 | riwe | Auf diesen Beitrag antworten » |
RE: Ampelschaltung mittels formaler Logik ich würde sagen: ROT = NICHT(GRÜN) oder komplizierter vielleicht so: (G1 und R2) oder (R1 und G2) werner |
||
04.07.2005, 11:53 | Logie | Auf diesen Beitrag antworten » |
das hilft mir leider nicht weiter. Die Ausgangssituation ist ja die, dass es insgesamt vier Ampel an dieser kreuzung gibt. Die jeweils gegenüberliegenden Ampeln haben den gleichen Zustand z.B. rot, die anderen beiden den anderen Zustand grün. Meine Frage ist die, wie ich dieses System mittels aussagelogischer Verknüpfungen darstellen kann, also den Zusammenhang in dieser Ampelschaltung. Ich hoffe ihr könnt ungefähr versteht was ich meine. |
||
04.07.2005, 12:45 | riwe | Auf diesen Beitrag antworten » |
??? u = UND, o = ODER N = NICHT A1 = Ampel 1 grün, NA1 Ampel A1 rot A1 und A2 gehören zusammen (A1 u A2 u NB1 u NB2) o (NA1 u ...) vielleicht meinst du das so werner |
||
06.07.2005, 22:16 | sAibo | Auf diesen Beitrag antworten » |
hmm ich würde vorschlagen du stellst dir eine wahrsheitstabelle, mit allen möglichen zuständen, auf und kannst daraus dann eine gleichung ableiten ?! edit: a jeweils für ampel str1 z.b.. fahren vertikal str2 horizontal ... usw a1 | a2 | a3 | a4 || str.1|str 2 0 | 0 | 0 | 0 || 0 | 0 (geht ja nicht) 0 | 0 | 0 | 1 || 0 | 0 (geht ja auch nciht *g*) aber z.b. 0 | 1 | 0 | 1 || 0 | 1 | und so weiter halt..... und dann kannst du ja zwei gleichungen für str.1/2 aufstellen in abhängigkeit von a also so könnte ich mir vostellen dass das gehen würde.... keine garantie hoff auch ich hab dich richtig verstanden (ich weiß scheiß formatierung)^^ |
||
07.07.2005, 19:24 | sAibo | Auf diesen Beitrag antworten » |
interessiert wohl keinen mehr^^ aber mich würde es interessieren ob du das so gemeint hast wie ich es beschrieben habe? |
||
Anzeige | ||
|
||
11.07.2005, 11:05 | Logie | Auf diesen Beitrag antworten » |
Sorry, dass ich mich solang nicht gemeldet habe. @sAibo: das geht schon ein bißchen mehr in die Richtung die ich meine Ich habe mich nochmal drangesetzt und eine Lösung gefunden, die sich für mich recht logisch an hört, vielleicht kann ja nochmal jemand beurteilen ob das so richtig ist. Ich versuchs mal zu beschreiben: Also die vier Ampeln sind die vier Eingangsvariablen E1,E2,E3,E4 Damit die Ampelschaltung richtig funktioniert müssen gegenüberliegende Ampeln immer das gleiche anzeigen,also z.B. grün, während die anderen beiden dann das Gegenteil anzeigen müssen, also rot. Damit definieren wir: E1,E2 sollen grün sein ==>E3,E4 sollen rot sein Das Ampelsystem soll sich jetzt kontrollieren ob dies auch der Fall ist. Das habe ich jetzt über Bijunktionen zwischen E1 und E3 sowie E2 und E4 dargestellt, da ja nur das wahr sein soll wenn die nebeneinanderliegenden Ampeln etwas unterschiedliches anzeigen. So ist die Bijunktion zwischen E1 und E3 nur wahr wenn E1=wahr und E3=wahr oder wenn E1=falsch und E3=falsch. Wenn jetzt zum Beispiel E1=Falsch ist und E3=wahr würde das ja bedeuten, dass beide Ampeln rot sind, was aber falsch ist. Analoges gilt für E2 und E4. Danach habe ich zur Überprüfung diese beiden Bijunktion noch mittels Konjunktion verknüpft, damit kontrolliert wird, dass beide Ampelpaare richtig geschaltet sind. Ich hoffe ich konnte halbwegs deutlich machen was ich meine. Gruß Logie |
||
11.07.2005, 12:10 | sqrt(2) | Auf diesen Beitrag antworten » |
Auch wenn es für dieses Beispiel übertrieben ist, so macht man es allgemein: Diesen Ausdruck kann man dann noch vereinfachen, nur geht das in diesem Beispiel wohl gerade nicht, weil sich jeder Operand unterscheidet. |
||
11.07.2005, 12:12 | riwe | Auf diesen Beitrag antworten » |
genau das steht oben werner |
||
11.07.2005, 12:14 | sqrt(2) | Auf diesen Beitrag antworten » |
Ja, nur ohne vollständige Wahrheitstabelle. Ich wollte einen allgemeinen Weg zeigen, oft sind die Wahrheitstabellen komplizierter und man braucht eine. |
||
11.07.2005, 12:51 | Tobias | Auf diesen Beitrag antworten » |
Oder kurz: Disjunktive Normalform, dann Optimierung mittels Resolution, Karnaugh, ... |
||
11.07.2005, 21:35 | pantysniffer | Auf diesen Beitrag antworten » |
RE: Ampelschaltung mittels formaler Logik Das Problem was du schilderst ist ja nicht wirklich klar definiert. Bei Ampelsteuerungen musst man im allgemeinen zwischen Zeitgeführten-(der Normalfall) oder Prozessgeführtenschrittketten unterscheiden. Diese Steuerungsaufgabe ist eigentlich sehr simpel, aber mittels Boolscher Algebra kaum auszudrücken, da aufjedenfall Zeitbausteine (Timer) und Speicherbausteine(FlipFlops) enthalten sein müssen. Ich habe schon extrem viele Ampelschaltungen und wesentlich komplexere Prozesse programmiert, kann mir nicht vorstellen, das man das mit formaler Logik ausdrücken kann. Als kleine Hilfestellung liefer ich mal ein Logisches Programmierbeispiel basierend auf einer SPS (SpeicherProgrammierbarenSteuerung). Beispiel Auf Seite 15 steht die Aufgabe und ab Seite 59 in FUP wie man sowas programmieren kann. Die dargestellten Symbole in boolsche umzuwandeln ist eigentlich simpel und selbst erklärend.(Etwas weiter vorne sind die Symbole auch erklärt) |
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
|
Die Neuesten » |