Step 7 MAX 7219 mit S7-200 Ansteuern

Zuviel Werbung?
-> Hier kostenlos registrieren
@DerStenz1958
Wirre Zeichen ist schon mal nicht schlecht.
Wenn sie komplett wirr sind, dann kann es am Timing zwischen Takt und Daten liegen.
Ich hatte das Thema damals auch. Es war eine bestimmte Anzahl von NOP-Befehlen zwischen Takt und Data notwendig.
Sind sie nicht komplett wirr, dann kann es an der PIN - Segmentzuordnung liegen.
Evtl. gibt es im Arduino-Code eine Umsetztabelle.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe so eine Sieben Segment Anzeige mal mit
Einen guten Forumskollegen für eine Serien
Maschine entwickelt. Da fangen wir Anzeige, LEDs und Tasten
auch über einen SPI ein, den SPI Takten wir über einen Weckalarm
und haben alles in 100ms in der Steuerung (1200er).
Ich muss sagen das System macht mir am wenigsten Arbeit,
ist beständiger und geht fast garnicht kaputt.
Bei Siemens OPs haben wir wesentlich mehr Probleme.
Anhang anzeigen 1664353458612.jpeg
 
@Heinileini
Für die Ansteuerung brauchst du sowieso eine Umsetztabelle welche Segmente für welches Zeichen.
Da ist die Textausgabe nur eine Fleißaufgabe.
Logisch, Dieter,
die Umsetzung im Programm, das Erstellen einer Tabelle u.s.w. war gar nicht Gegenstand meines Einwandes.
Ich wollte lediglich auf die sehr beschränkten Möglichkeiten hinweisen, mit 7-Segment-Anzeigen Buchstaben gut lesbar und eindeutig unterscheidbar von anderen Zeichen, speziell von Ziffern, zu realisieren.
Benötigt man nur eine kleine Auswahl von Buchstaben/SonderZeichen, dann kann man damit Glück haben ... oder auch Pech.
Benötigt man aber das komplette Alphabet, so hat man eher Pech. Und benötigt man die Unterscheidung von Gross- UND KleinBuchstaben, dann sollte man das Vorhaben lieber aufgeben.
Deshalb wurden ja auch Anzeigen mit mehr als 7 Segmenten pro Zeichen erfunden. DarstellungsMöglichkeiten deutlich besser, aber auch nicht so überwältigend gut. Das schlechte Verhältnis der DarstellungsQualität zum Aufwand hat dafür gesorgt, dass sie sich nicht wirklich durchgesetzt haben.
Mit einer PunktMatrix ist man flexibler und kann man mit z.B. 5 Spalten und 7 Zeilen schon ganz brauchbare Ergebnisse erzielen. Und spätestens bei solchen Lösungen kommt man sehr schnell darauf, die "BitMuster" in Tabellen anzulegen.

Mit dem MAX 7219 habe ich keine Erfahrung. Habe ein DatenBlatt gefunden, wovon ich leider nicht geschafft habe, eine pdf-Version zu produzieren. Mir fehlt jetzt der Nerv, es "duchzuarbeiten".
8 Ausgänge, mit denen die anzusteuernde Stelle ausgewählt wird, weitere 8 Ausgänge, mit denen das eine der 7 Segment plus dem DezimalPunkt ausgewählt wird. Soweit so klar. Ich unterstelle bzw. kann nur hoffen, der Chip ist so "schlau", diese 16 Ausgänge unabhängig von der Taktung des TaktEingangs anzusteuern. Eine langsame Taktung darf sich nicht auf die AnzeigeSeite des Chips auswirken - die muss jederzeit schnell ablaufen, um eine qualitativ saubere Anzeige zu erreichen, da immer nur 1 der 64=8x8 "Segmente" angesteuert wird.
Eingangsseitig werden pro Stelle 16 Bit eingelesen, also 128=8x16.
Der Chip könnte so intelligent sein, die Ausgabe erst dann zu aktualisieren, wenn alle 8 Stellen im Speicher aktualisiert sind, die Anzeige also "konsistent" ist ... oder man müsste den entsprechenden ZeitPunkt der Anzeige mitteilen können.
Wenn ich es beim Überfliegen des DatenBlatts richtig aufgeschnappt habe, dann ist in den 16-Bit "DatenPaketen" die Information enthalten, auf welche AnzeigeStelle sich die jeweils übermittelte SegmentDarstellung bezieht.
Damit hätte man wahrscheinlich die Möglichkeit, seitens der SPS nur die Stellen zu aktualisieren, die ihren Inhalt aktuell verändert haben.
Will man z.B. die aktuelle Uhrzeit anzeigen (hh:mm:ss), dann müsste in 90% der Fälle nur die SekundenEinerStelle aktualisiert werden und schlimmstenfalls (einmal täglich nach 23:59:59) 6 Stellen. Die Langsamkeit der DatenÜbertragung würde sich unterschiedlich stark und zeitweise spürbar auswirken auf die "effektive" Dauer der DatenÜbertragung.
Im Fall der Anzeige einer aktuellen UhrZeit liesse sich das sogar "vorausschauend" in der SPS kompensieren.
 
Zurück
Oben