Step 7 MAX 7219 mit S7-200 Ansteuern

DerStenz1958

Level-1
Beiträge
6
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, Ich möchte mit einer S7-200 CPU 224 ein fertig aufgebautes 8 stelliges 7 Segment Modul mit MAX7219 Ansteuern. Anschlüsse sind 5VDC, GND, CLK, DIN und CS.
Anschlüsse soweit klar.
Meine Frage, muss man den MAX nach dem Anlegen der Versorgungsspannung Initialisieren?
Wenn Ja wie.
Ich möchte jedes Segment der Anzeige Ansteuern können, um auch Text darstellen zu können.
Ist das mit einer SPS überhaupt möglich?
Sorry bin schon ein älteres Semester und der Englischen Sprache nicht so mächtig. 1958 ist mein Geburtsjahr!!!!!!!
 
Hallo, Ich möchte mit einer S7-200 CPU 224 ein fertig aufgebautes 8 stelliges 7 Segment Modul mit MAX7219 Ansteuern.

Das ist eher nichts für eine SPS sondern was für einen µC. Bei üblichen Zykluszeiten ist eine SPS viel zu langsam um so etwas oderentlich zu steuern. Abgesehen von Spannunsgpegel und dergleichen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das ist eher nichts für eine SPS sondern was für einen µC. Bei üblichen Zykluszeiten ist eine SPS viel zu langsam um so etwas oderentlich zu steuern. Abgesehen von Spannunsgpegel und dergleichen.
Pegel ist eine Sache. Aber SPI nutzt eine synchrone Übertragung mit separater Taktleitung. Ich wüsste nicht, dass es da eine Mindesttaktrate gibt, meiner Meinung nach sollte es auch möglich sein, die Signale im Sekundentakt rauszuschieben.
 
Hallo, Ich möchte mit einer S7-200 CPU 224 ein fertig aufgebautes 8 stelliges 7 Segment Modul mit MAX7219 Ansteuern. Anschlüsse sind 5VDC, GND, CLK, DIN und CS.
...
Ich möchte jedes Segment der Anzeige Ansteuern können, um auch Text darstellen zu können.
Text per 7-Segment-Anzeige ansteuern? Na ja, nichts ist unmöglich, aber etwas Schönes kann dabei eigentlich nicht herauskommen! Das dürfte seeehr behelfsmässig bis unbrauchbar aussehen. Hast Du Dir darüber schonmal den Kopf zerbrochen?
Bist Du sicher, dass es eine 7-Segment-Anzeige ist? Was kannst Du uns denn über die Schnittstelle näheres berichten? DIN ist echt nur ein eiziges Bit? Also eine serielle Schnittstelle?
Sorry bin schon ein älteres Semester und der Englischen Sprache nicht so mächtig. 1958 ist mein Geburtsjahr!!!!!!!
Sorry , bin ein noch älteres Semester, aber an der englischen Sprache hapert's bei mir normalerweise nicht.
Kannst Du hier mal eine pdf der Doku einstellen?

PS:
Habe eben ein DatenBlatt eines Chips mit dem Namen MAX 7219 gefunden. Ist tatsächlich für 7-Segment-Anzeigen!
Ich begucke mich jetzt erstmal von innen, ehe da reinschaue. ;) 😴
 
Zuletzt bearbeitet:
Laut Datenblatt muß man nichts initialisieren.
Du hast Zugriff auf jedes einzelne Segment und musst sie auch einzeln ansteuern.
Somit sind Buchstaben möglich.
Das Teil an an einer SPS … Na dann viel Spaß.
Mir wäre da meine Zeit zu Schade
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das Teil an an einer SPS … Na dann viel Spaß.
Mir wäre da meine Zeit zu Schade
Wie lange willst du denn daran programmieren, ein paar Bits seriell mit Takt versehen rauszuschieben? Man muss natürlich lesen, verstehen und programmieren können. Für die Generation Node Red klickibunti ist das nichts.
 
Aber Achtung! Die 24V Transistorausgänge sind nicht direkt für den Max geeignet. Wenige Bit Rauchzeichen würde der modulierend ausgeben.
Mit nem Arduino kommst Du schneller ans Ziel.
 
Aber SPI nutzt eine synchrone Übertragung mit separater Taktleitung. Ich wüsste nicht, dass es da eine Mindesttaktrate gibt, meiner Meinung nach sollte es auch möglich sein, die Signale im Sekundentakt rauszuschieben.

Ich habe nicht behauptet, dass es generell nicht geht. Wenn ich aber mal überschlage und von 10ms Zykluszeit ausgehe, sind locker mal zweieinhalb Sekunden vorbei bis ich die 8 mal 16 Bit übertrage, wenn ich davon ausgehe, dass ein sich verändernder Wert angezeigt werden soll, halte ich es für unbrauchbar, wenn nach über einer Sekunde die Hälfte des Displays noch die alten Werte anzeigt und der Rest die neuen Werte.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Optokoppler für die 5VDC vorhanden. Diese CPU hat zwei Ausgänge
Schaltfrequenz
der Impulsausgänge, bei ohmscher Last, max.20 kHz; A 0.0 bis A 0.1

Programm soweit fertig. Mir ging es nur darum ob man den MAX eine Initialisirungs Sequenz schicken muss. Den bei mir kommen nur wirre Zeichen an.

Angezeigt werden soll nur ein Messwert der per Taster abgefragt wird. Zeit bis zur Kompletten Anzeige unwichtig.
 
Diese CPU hat zwei Ausgänge

Schaltfrequenz
der Impulsausgänge, bei ohmscher Last, max.20 kHz; A 0.0 bis A 0.1

Das ist aber etwas, was vermutlich nur per PWM erreichbar ist und nicht per diskreter Ansteuerung.

Nach dem Einschalten benötigt er eine Ansteuerung des Shutdown Registers, und so wie ich das verstehe, muss auch noch das Intensity Register beschrieben werden,
 
Um 24V Signale auf 5V Pegel zu bringen braucht man oft keinen Optokoppler, da reichen schon ein paar Widerstände.

Ich habe mir das Datenblatt und das Protokoll noch nicht angeschaut, doch mit der S7-200 kann man in einem OB1-Zyklus bzw. unabhängig vom OB1-Zyklus auch mehrere Bits (z.B. ein ganzes Byte) an einem Digitalausgang seriell ausgeben, z.B. jede 1 ms ein Bit. Wenn der Fragesteller das unbedingt basteln will - also unmöglich ist es nicht. Vor ein paar Jahren hatten wir hier im Forum schon einmal über einen Soft UART mit einer S7-1200 diskutiert. Bei der S7-200 könnte das sogar stabiler funktionieren, weil die wird nicht mit TIA programmiert ;)

Ich gehe jetzt mal davon aus daß das keine CPU mit Relais-Ausgängen ist.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Somit sind Buchstaben möglich.
OjeAnDieter.jpg
Das sagte ich doch ...
Na ja, nichts ist unmöglich, ...
... aber dennoch sieht es unmöglich aus.
Sehr behelfsmässig und gewöhnungsbedürftig und dennoch nicht ganz ohne DoppelBelegungen von Zeichen
z.B. '2' und 'Z' oder '5' und 'S'.
Aus grosser Verlegenheit habe ich das 'A' zur Darstellung des 'M' missbraucht.
Für 'V', 'W' und 'X' musste ich abenteuerliche Darstellungen erfinden und dann auch noch das 'W' auf den Kopf stellen, um überhaupt an etwas zu gelangen für die Darstellung des 'M'. Und das sieht auch noch wie ein 'A' aus! :cry:

Gross- und Klein-Buchstaben? Habe ich wegrationalisiert bzw. für mich die Regel aufgestellt
wenn es für einen Buchstaben eine gute Darstellung für GrossSchreibung gibt und für KleinSchreibung auch, dann wird (trotzdem) nur die KleinSchreibung verwendet. Denn die GrossBuchstaben kollidieren häufiger mit den Ziffern, z.B. 'O' und 'D' mit '0'.
Ausnahme 'g' kollidiert mit '9'. Hier könnte man die '9' abspecken, aber die kollidiert dann mit 'q'.
Endlose und dennoch sehr unbefriedigende Bastelei und Abwägerei.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie lange willst du denn daran programmieren, ein paar Bits seriell mit Takt versehen rauszuschieben? Man muss natürlich lesen, verstehen und programmieren können. Für die Generation Node Red klickibunti ist das nichts.
Naja Generation Node RED ist gut.
Meine ersten Programme habe ich auf einem PG670 für S5 110A und 130WB geschrieben ;)

SPI habe ich auch schon auf SPS programmiert und mit dem Timing geflucht.
War das einzigemal, dass ich einen Oszi an der SPS gebraucht hab.

@DerStenz1958
Die Anzeigemodule sind normalerweise für MikroController. Meist gibt es da Beispiele für Arduino.
Schau mal im Datenblatt des Modul ob es da nen Link gibt.
 
Textausgabe nicht so wichtig.
Erleichertes Aufatmen!

Meine ersten Programme habe ich auf einem PG670 für S5 110A und 130WB geschrieben ;)
Gilt auch für meine ersten S5-Programme, wobei es die 130WB damals aber noch nicht gab, sondern Vorlaüfer, 130W bzw. 130WA.
Vorher habe ich noch FORTRAN IV in Lochkarten und ALGOL 60 in Lochstreifen gestanzt, dann in 3 AssemblerSprachen sowie in COBOL und in der BASIC-Variante, die es unter dem BeSy OASIS (MehrPlatzSysteme mit 1 Z80) gab. Auch hp-Taschen-/Tisch-Rechner (hp 25, hp 19/29, hp 97, hp 41).
SPI habe ich auch schon auf SPS programmiert und mit dem Timing geflucht.
War das einzigemal, dass ich einen Oszi an der SPS gebraucht hab.
SPI war's bei mir nicht, aber eine RS232/TTY-DruckAusgabe via "stinknormaler" AusgabeBaugruppe an einen PT80.
Funktionierte sogar (bei einer gaaanz niedrigen BaudRate). Funktionierte aber nur, solange die PLC nicht in eine NC integriert war.
Und da half mir dann auch kein Oszi weiter. Konnte nur sehen, dass es nicht mehr laufen konnte. Ich musste fluchen, weil die NC für irgendwelche nicht dokumentierten Interrupts sorgte, die leider "immun" gegen die InterruptSperren der PLC waren.
 
Zuletzt bearbeitet:
Z80 habe ich noch nativ in Assembler programmiert, und über einen Ausgabepin des Z80 PIO meinen ersten Soft UART. Ende der 80er standen "richtige" Drucker bei uns noch in abgeschlossenen Räumen. Ich hatte aber Zugriff auf Fernschreib-Geräte. Da habe ich mir ein serielles TTY Interface gebastelt und konnte fortan drucken wann immer ich wollte. Nur die Papierrollen musste ich noch irgendwie organisieren. :cool:

Harald
 
Zurück
Oben