Logische Funktionen - oder wie baue ich einen Computer

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Logische Funktionen - oder wie baue ich einen Computer

      Dank des Denkanstoßes von Black Flo habe ich mich mal etwas mit diesem Thema beschäftigt. Ziel soll es sein auch komplexere Automatisierungen zu realisieren. Um das zu erreichen bietet sich ein binäres System an. Damit ein solches binäres System funktioniert müssen zwei Rahmenbedingungen gegeben sein:
      1. Es muss möglich sein Signale umzukehren, also von 0 in 1 und von 1 in 0.
      2. Eines der Signale muss dominant sein, also 1 überdeckt 0.

      Kommen wir also zu den eigentlichen Logikbausteinen. Vorausgesetzt die beiden oben genannten Bedingungen sind erfüllt, reicht es eine NICHT und eine ODER Funktion zu konstruieren. Aus diesen lassen sich dann alle weiteren Logikfunktionen zusammensetzen. Bis hier hin ist ja soweit alles bekannt, ab jetzt beginnt der experimentelle Teil. :)
      Als erstes brauchen wir Bauteile mit denen sich unser System darstellen lässt. Da es in Space Engineers so etwas geniales wie Redstone leider (noch) nicht gibt, muss ein Ersatz her. Hierfür eignen sich Kolben und Sensoren aus den folgenden Gründen:
      Sensoren dienen zur Signaleingabe, Kolben zur Signalausgabe
      Mit beiden Bauteilen lassen sich die Zustände wunderbar darstellen: Kolben eingefahren/ausgefahren, Sensor aktiviert/nicht aktiviert
      Die Bauteile lassen sich gut Verknüpfen: ein Kolben kann mehrere Sensoren aktivieren, mehrere Sensoren können einen Kolben steuern

      Die NICHT Funktion
      Eine NICHT Funktion ist sehr einfach darzustellen: man vertauscht die beiden Befehle im Sensorblock.
      Normal: Sensor aktiviert -> Kolben ausgefahren
      Mit NICHT Funktion: Sensor aktiviert -> Kolben eingefahren

      Die ODER Funktion
      Für die ODER Funktion nutzen wir einfach die Geschwindigkeitseinstellungen eines Kolbens.
      Die "Grundgeschwindigkeit" des Kolbens stellen wir auf -0,25. Mit jedem aktivierten Sensor wird jetzt die Geschwindigkeit um 0,5 erhöht. Das bedeutet, sowie mindestens ein Sensor aktiviert ist wird die Geschwindigkeit positiv und der Kolben fährt aus. Ist allerdings kein Sensor aktiviert, ist die Geschwindigkeit negativ und der Kolben fährt ein.

      Das wars fürs Erste.
      Fragen und konstruktive Kritik sind erwünscht. :)
    • Bitte Bitte ;)

      Wenn ich es richtig verstanden habe, kann man mit den Kolben Sensoren wesentlich mehr machen als mit Redstones aus Minecraft... Grund: Kolben können über den Hub mehrere Sensoren erreichen und aktivieren, damit müüüüsste man wesentlich mehr Funktionen darstellen können als mit Redstones... Was allerdings ein binärsystem ausschliest, da man 2, 3, 4 und 5 auch darstellen kann und ab da heißt man am besten Einstein mit Nachnamen...

      Dann kommt allerdings die Frage der Fragen... Was macht man in SE mit solchen Schaltungen sinnhaftes? Mal ganz abgesehen von der Performance, will nicht wissen die das Lagt wenn 1000 Kolben + 2000 Sensoren im Viewfield sind 8|
      Das einzige was mir spontan einfällt ist eine Kettenreaktion, die nem DDOS Angriff gleich kommt für den PC und jeder Server in die Knie geht, sobald man das rote Knöpfchen drückt ;)

      Edit: Wenn man an Zuse 3 rankäme wäre schon Brutal... will aber nicht wissen wirviele Stunden/Tage/Wochen oder Monate arbeit es wäre das nach zu bauen. Zitat über Zuse 3: "Der Rechner wog 1000 kg und verbrauchte 4 KW Strom. Die Taktfrequenz betrug zwischen 5 und 10 Hz" - Ja, Hz nicht Ghz also Faktor 0,000001 von Ghz... Kennen die meisten wahrscheinlich nicht wie das war damals.... Pc anmachen hieß teilweise 10Min warten und dann Code eintippen damit was funktionierte - nix mit Maus -Klick-Klick... Nene, da hattest noch 100te Zeilen Code im Kopf :) Gott waren das Zeiten. ___LOAD “*”,8___ usw...

      Ähm... Ich hab ne Idee für SE mit Schaltung... Man kann "!theoretisch!" Raumschiffe versenken bauen. Man setzt seine Schiffe und wenn der Gegner die richtige Koordinate eingibt, geht eine Mine am Raumschiff hoch... Coole Sache, "!theoretisch!" möglich aber praktisch momentan leider nicht umsetzbar :(

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Black Flo ()

    • Black Flo schrieb:

      Wenn ich es richtig verstanden habe, kann man mit den Kolben Sensoren wesentlich mehr machen als mit Redstones aus Minecraft... Grund: Kolben können über den Hub mehrere Sensoren erreichen und aktivieren, damit müüüüsste man wesentlich mehr Funktionen darstellen können als mit Redstones... Was allerdings ein binärsystem ausschliest, da man 2, 3, 4 und 5 auch darstellen kann und ab da heißt man am besten Einstein mit Nachnamen...

      Das stimmt, die Kolben können ziemlich viele Zustände darstellen. Die haben einen Bereich von 0 bis 10 und lassen sich in 0,0001 Schritten einstellen. Macht also 100.000 Zustände. :D
      Problematisch wirds dann bei den Sensoren, die kennen nur an oder aus. Außerdem was würde passieren wenn in einer ODER Funktion Zustand 1 und 2 aufeinander treffen? Oder 2 und 3? Oder sogar 1, 2 und 3? Da wären wir dann schon fast bei der Quantenmechanik wo ein Zustand nicht durch 0 oder 1 beschrieben wird, sondern durch einen Vektor. 8| Bleiben wir also erstmal bei binär. ;)

      Black Flo schrieb:

      Dann kommt allerdings die Frage der Fragen... Was macht man in SE mit solchen Schaltungen sinnhaftes? Mal ganz abgesehen von der Performance, will nicht wissen die das Lagt wenn 1000 Kolben + 2000 Sensoren im Viewfield sind 8|
      Das einzige was mir spontan einfällt ist eine Kettenreaktion, die nem DDOS Angriff gleich kommt für den PC und jeder Server in die Knie geht, sobald man das rote Knöpfchen drückt ;)

      Stell dir vor wir haben ein großes Schiff mit mehreren Hangars. Wenn man mit einem Schiff vor einen Hangar fliegt, wird überprüft ob im Hangar noch Platz ist. Wenn Platz ist öffnet sich automatisch das Tor, wenn nicht leuchtet eine rote Lampe auf. Außerdem könnte man das Schiff in den Gefechtsmodus schalten wodurch alle Möglichkeiten von außen eine Tür zu öffnen, deaktiviert werden.

      Black Flo schrieb:

      Edit: Wenn man an Zuse 3 rankäme wäre schon Brutal... will aber nicht wissen wirviele Stunden/Tage/Wochen oder Monate arbeit es wäre das nach zu bauen. Zitat über Zuse 3: "Der Rechner wog 1000 kg und verbrauchte 4 KW Strom. Die Taktfrequenz betrug zwischen 5 und 10 Hz" - Ja, Hz nicht Ghz also Faktor 0,000001 von Ghz... Kennen die meisten wahrscheinlich nicht wie das war damals.... Pc anmachen hieß teilweise 10Min warten und dann Code eintippen damit was funktionierte - nix mit Maus -Klick-Klick... Nene, da hattest noch 100te Zeilen Code im Kopf :) Gott waren das Zeiten. ___LOAD “*”,8___ usw...

      Zuse 3 ist schon ein echtes Monster, da könnte man lieber mit was einfacherem anfangen.
      5 bis 10 Hz sollten allerdings locker machbar sein. In meinem Versuchsaufbau haben die Kolben 0,1 m Schaltweg. Das macht bei 5 m/s Geschwindigkeit eine Schaltzeit von 0,02 s wodurch theoretisch 50 Hz erreichbar sein sollten. Im Idealfall ist SE sogar mit 60 Updates pro Sekunde unterwegs und damit 3 mal so schnell wie Minecraft.

      Black Flo schrieb:

      Ähm... Ich hab ne Idee für SE mit Schaltung... Man kann "!theoretisch!" Raumschiffe versenken bauen. Man setzt seine Schiffe und wenn der Gegner die richtige Koordinate eingibt, geht eine Mine am Raumschiff hoch... Coole Sache, "!theoretisch!" möglich aber praktisch momentan leider nicht umsetzbar :(

      Umsetzbar ist das auf jeden Fall. Scheitern wird es warscheinlich nur an der Verbindung zwischen dem Rechner und den Schiffen, da die Sensoren glaube ich nicht die Möglichkeit haben Antennen zu nutzen.
    • Bobo927 schrieb:


      Das stimmt, die Kolben können ziemlich viele Zustände darstellen. Die haben einen Bereich von 0 bis 10 und lassen sich in 0,0001 Schritten einstellen. Macht also 100.000 Zustände. :D
      Problematisch wirds dann bei den Sensoren, die kennen nur an oder aus. Außerdem was würde passieren wenn in einer ODER Funktion Zustand 1 und 2 aufeinander treffen? Oder 2 und 3? Oder sogar 1, 2 und 3? Da wären wir dann schon fast bei der Quantenmechanik wo ein Zustand nicht durch 0 oder 1 beschrieben wird, sondern durch einen Vektor. 8| Bleiben wir also erstmal bei binär. ;)

      Ja, eben.... Ich sag ja Einstein ;) Aber interessant das man Quantenmechanik mittels SE darstellen kann ^^/

      Bobo927 schrieb:


      Stell dir vor wir haben ein großes Schiff mit mehreren Hangars. Wenn man mit einem Schiff vor einen Hangar fliegt, wird überprüft ob im Hangar noch Platz ist. Wenn Platz ist öffnet sich automatisch das Tor, wenn nicht leuchtet eine rote Lampe auf. Außerdem könnte man das Schiff in den Gefechtsmodus schalten wodurch alle Möglichkeiten von außen eine Tür zu öffnen, deaktiviert werden.
      ...
      Zuse 3 ist schon ein echtes Monster, da könnte man lieber mit was einfacherem anfangen.5 bis 10 Hz sollten allerdings locker machbar sein. In meinem Versuchsaufbau haben die Kolben 0,1 m Schaltweg. Das macht bei 5 m/s Geschwindigkeit eine Schaltzeit von 0,02 s wodurch theoretisch 50 Hz erreichbar sein sollten. Im Idealfall ist SE sogar mit 60 Updates pro Sekunde unterwegs und damit 3 mal so schnell wie Minecraft.

      Das wäre natürlich eine feine Sache... Stell mir das witzig vor: Das ich die Voyager, Sie hat eine automatische Stellplatzverwaltung im Hanger 1 bis 10. - Und was ist das für ein 500x500 Meter großer Kasten an der Hängerkupplung? - Das? Ja das ist die 50Hz CPU dazu 8) (wiegt wahrscheinlich über 100.000t)

      Ja aber auch 60Hz sind nicht viel... Je nach dem wie viel abgefragt wird. Ich rate jetzt mal und sage für 10x10 Stellplätze (10 Tore - Je 10 Stellplätze) braucht die CPU bestimmt 10 Sek, bis die richtige Tür auf geht. Problem ist dann aber auch noch, man kann vielleicht CPU´s für Funktionen im Schiff bauen aber wehe das Schiff wird nur Leicht umgebaut - dann ist die ganze Funktion im Arsch. Und bei Beschädigungen müssten Leien einen Techniker zum reparieren anfunken...
      Mann müsste quasi ein Rechenzetrum bauen. Dazu müssten aber, wie du schon schreibst, Antennen mit in das Spiel rein. So kannst du in deinem Sektor Antennen benutzen um die CPU aus zu lagern. Die Befehle werden Quasi via W-Lan im All übertragen. Funktioniert natürlich nur in deinem Sektor ;)

      Was mir eben noch einfällt ist ein automatisches Geschütz. Mann kann ja jetzt schon Sensoren so anbauen das dir ein Schiff hinterher fliegt... Wenn man nun eine Schaltung dazu nimmt, die die Sensorreichweite auf einer oder zwei Achsen noch verändern kann, kann man eine Railgun bauen die das feindliche Schiff automatisch anpeilt und eventuell auch automatisch schießt. Und als goldene Krone der Schaltungbauer kann man via Sensoren auch noch die Geschwindigkeit des Gegners berechnen lassen und die Railgun vorhalten lassen, alles eine Frage der Technik ;)

      Bobo927 schrieb:


      Umsetzbar ist das auf jeden Fall. Scheitern wird es wahrscheinlich nur an der Verbindung zwischen dem Rechner und den Schiffen, da die Sensoren glaube ich nicht die Möglichkeit haben Antennen zu nutzen.

      Mann muss ja nicht die Miene im Schiff bauen... Mann könnte auf dem Feld in jedes "Feld" eine Mine setzten. Sobald der Gegenspieler seine Koordinaten angreift, geht auf meinem Feld eine Mine hoch (weißer Stift)... Hätte den Vorteil das es auch Beschädigungen am Schiff gibt wenn er daneben Schießen sollte... Sprich nicht nur Rote und Weiße Stifte, sondern auch Kollateralschaden. Nachteil: Das Spielfeld ist danach kaputt gesprengt :saint:

      Nichts desto trotz bleibt alles Leider nicht umsetzbar im Momentum, da die Engine das nicht mit macht :(
      Black Flo

      Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von Black Flo ()

    • Black Flo schrieb:

      Ja aber auch 60Hz sind nicht viel... Je nach dem wie viel abgefragt wird. Ich rate jetzt mal und sage für 10x10 Stellplätze (10 Tore - Je 10 Stellplätze) braucht die CPU bestimmt 10Sek, bis die richtige Tür auf geht. Problem ist dann aber auch noch, man kann vielleicht CPU´s für Funktionen im Schiff bauen aber wehe das Schiff wird nur Leicht umgebaut - dann ist die ganze Funktion im Arsch. Mann müsste quasi ein Rechenzetrum bauen. Dazu müssten aber, wie du schon schreibst, Antennen mit in das Spiel rein. Sie kannst du in deinem Sektor Antennen benutzen um die CPU aus zu lagern. Die Befehle werden Quasi via W-Lan im All übertragen. Funktioniert natürlich nur in deinem Sektor

      Wir müssen ja nicht gleich mit Kanonen auf Spatzen schießen und einen Großrechner für eine Automatiktür bauen. :D
      Eine vollständige CPU macht sowieso keinen Sinn, da diese quasi viel zu viel kann und außerdem auch noch ein Programm benötigen würde, das ihr sagt was zu tun ist. Also lassen wir die tonnenschweren Bytespeicher weg und realisieren das direkt über die Hardware. Ist dann zwar nicht flexibel, tut aber auch was es soll.
      In diesem Fall würden schon zwei einfache UND Funktionen reichen. (da brauchen wir keine CPU die Gleitkommazahlen berechnen kann ;))
      Ein UND Gatter kann bei SE 10 Eingänge haben. Das erste Gatter würde also die 10 Stellplätze im Hangar verknüpfen. Das zweite Gatter muss dann nur noch das Ausgangssignal des ersten Gatters, den Sensor vor dem Tor und den Schalter für den Gefechtsmodus verknüpfen. Wir bräuchten also pro Hangar nur 2 Kolben und 13 Sensoren.

      Als Ersatz für die Antennen könnten man z.B. Eisenbarren als "Signalgeschosse" verwenden. :D