Man kann natürlich ein Bild mit Programmcode darstellen, jedoch ist es nicht das was du möchtest. Du möchtest das Bild als eine Datenstruktur abspeichern. Um es konkreter zu beschreiben in einem zwei dimensionalen Array.
Das folgende Beispiel stellt den Buchstaben P in einem derartigen Array dar (natürlich für das Beispiel vereinfacht).
Bei der Umsetzung würde der Mikrocontroller so eingestellt, dass er in der von dir gemessenen Zeit (die du für eine Zeile brauchst) einen sogenannten Interrupt auslöst und dann die Werte an die Ventile gibt. Im Beispiel würde also zuerst das Ventil 0 geöffnet werden weil die Zeile 0 (also die erste Zeile) für das Ventil 0 etwas drin stehen hat. Die Ventile 1 bis 4 bleiben dabei verschlossen. Kommt nun nach einer gewissen Zeit der erste Interrupt, dann wird die nächste Zeile gelesen (Zeile 1). Hier verändert sich nichts, weil die Zeilen gleich sind. Kommt nach den gleichen Zeitabstand noch ein Interrupt, dann wird die Zeile 2 gelesen und die Ventile 1 und 2 werden dazu geschaltet (steht ja im Array).
Und das Ganze geht immer so weiter...
Am Ende angekommen startest du etwa wieder von Vorne oder du nimmst das nächste Array (mit dem nächsten Bild). Der Vorteil zur SPS ist, dass das Dargestellte nicht zwangsläufig im Code verankert sein muss. Wenn du dich einmal eingearbeitet hast (vielleicht hast du ja auch Fachinformatiker in der Firma, die helfen können), dann bist du in der Lage mit wenig Aufwand die Ausgabe zu verändern. Du würdest dann die Steuerung an einem Notebook anschließen und kannst von dort aus immer neue Sachen an den Mikrocontroller geben, die er als Watergraphic darstellen soll.
Der erste Schritt wäre also mit eine Mikrocontroller eine Reihe von Ausgängen entsprechend anzusteuern. Mit einem Arduino solltest du das leicht hin bekommen (gibt genügend Anleitungen). Wenn du das geschafft hast werden zwar die IOs des Mikrocontrollers zwar zu wenige sein, jedoch kann man diese entweder oder du nimmst mehrere Mikrocontroller, die immer ein Teil des Bildes darstellen und von einem einzelnen Mikrocontroller Anweisungen bekommen (ein Master und n Slaves wenn man so will).
Das sind aber Probleme denen du dich erst später annehmen wolltest. Sie sind tatsächlich leicht zu lösen und ich kann dir auch später - bei Bedarf - ein paar Strategien vorstellen, jedoch solltest du wenn erstmal versuchen die Anfänge zum Laufen zu bekommen.
Also Arbeits- bzw. Lehrplan:
- Mikrocontroller erstmal in Betrieb nehmen (LEDs ein und aus schalten - reichen als einfache Simulation der Ventile aus).
- Ein Timer-Interrupt programmieren.
- Zwei dimensionales Array einbilden (immer wieder die ein einfaches Bild darstellen).
- Wenn das läuft, dann die Ventile anbinden. <- Hier musst du die unterschiedlichen Spannungen und benötigten Ströme für die Ventile erzeugen (kann man mit einfachen Mosfet-Schaltungen lösen wenn du nichts besseres findest), unter Umständen gibt es dafür ein fertiges Arduino-Shield.
- Dann musst (vermutlich) du mehrere Arduinos verbinden um alle Ventile ansprechen zu können. Wenn das ein Problem ist, dann sag Bescheid und ich gebe dir eine entsprechende "Architektur".
- PC-Programm einbinden, damit du auf der Messe die Bilder hinzufügen, verändern und auswählen kannst.
Das sollte erstmal für die nächsten Schritte ausreichen.
MfG
Prayer