Siebensegmentanzeige programmieren

raggasoulman

Level-1
Beiträge
15
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,

ich benötige Hilfe bei einer Programmierung. Es geht um eine Siebensegmentanzeige die nicht so funktioniert wie sie sollte. Die Anzeige fängt nach 119 wieder bei 1 an zu zählen, sie sollte jedoch bis 600-900 zählen können. Wie Ihr an meinen vorherigen Beitägen erkennen könnt, sind meine S7 Kenntnisse nicht so fundiert, trotzdem möchte ich die Dinge verstehen, da ich mit der Technik arbeiten muss. Aber das Betriebsproblem bleibt weiterhin bestehen und ich muss selber um die Sache kümmern. Als Anhang habe ich den dementsprechenden Baustein beigefügt.

Wäre um jede Antwort dankbar.

Gruß Torsten
 

Anhänge

  • Zaehlung.zip
    26,7 KB · Aufrufe: 87
Beim schnellen überfliegen würde ich dir mal empfehlen, dass du dir die Netzwerke 5 und 6 mal genauer anschaust, da wird nämlich mit der Zahl 119 bzw. 120 gearbeitet.

PS: länger hinkucken macht da Kopfschmerzen, dass geht doch alles einfacher
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ich bekomm da sofort kopfschmerzen ... AUA ... da is nich eine zeile ordentlich kommentiert, es gibt keine symbole und wenn ich #dummy lese könnt ich kotzen ...

ich gebe zu bedenken: netzwerk 5 und 6 sind doch alles nur vergleicher. die daraus resultierenden bits werden nicht ausgewertet. zumindest nicht in dem vorliegenden "code".

eine frage: alter, man, was machst du da? hast du dir ne 7-segment anzeige selber gebastelt? es gibt welche, die verstehen BCD-zahlen! aber selbst zur selbergebastelten lösung passt

dass geht doch alles einfacher
 
AUA .....

Ich würde es sogar rumdrehen!! Undurchsichtiger gehts kaum !!!
Ausser evtl. mit ein paar Pointers.

Ich muss gestehen wenn ich an sowas unterkommt und ich länger damit leben müsste .... wegschmeißen und neu machen !!!

peter(R)
 
Hallo raggasoulman,

hier ein Tip:

1. Zähler bilden (bis 999 kannst Du mit den Standard Zählern (C) arbeiten)
2. Zählwert als BCD in MW ablegen (bei Standard Zählern wird der Zählwert auch als BCD zur Verfügung gestellt)
3. einen Konverterbaustein BCD->7Segment erstellen
4. dann je verwendete Stelle den BCD->7Segment Konverter aufrufen
5. fäddich! (fertig)

vill Jröß (viele Grüße)
Peter
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich hab zwar keine Ahnung warum, aber im Netzwerk 5 wird doch verglichen, ob der Zählwert 119 ist. Falls das der Fall ist, wird der Zählwert mit 1 überbügelt...

Und ja, da bekommt man Augenkrebs...
 
Ich hab zwar keine Ahnung warum, aber im Netzwerk 5 wird doch verglichen, ob der Zählwert 119 ist. Falls das der Fall ist, wird der Zählwert mit 1 überbügelt...

Und ja, da bekommt man Augenkrebs...

ist das der zählwert? :rolleyes:
aber ja, du hast recht!

sorry MW, war gestern schon spät :cool:

btw: die idee mit den fc per stelle finde ich unterstützenswert, da sollteste mal dran bleiben...
 
keine Panik!!!!!!

Danke für die schnellen Antworten, aber ich kann mich mit gutem Gewissen zurück lehnen.

1. habe ich mir keine Anzeige selber gebastelt, diese war vorher mit S5 in Betrieb und wurde in S7 umgeschrieben.

2. habe ich Euch doch erklärt das ich mich in der Materie nicht so gut auskenne und damit arbeiten muss,also kein Programmierer, mir geht es um das Verständnis und diese Dinge muss ich mir selber beibringen. D.h. ich bin Energieelektroniker ohne jeglichen Kurs,nicht einmal S5 geschweige S7 und wenn ich Euch erzähle das dass ein Dipl.Ing geschrieben hat, sagt doch Alles.

3. werde ich Euch auf dem laufenden halten, damit Einige noch etwas zum Schmunzeln haben, denn gestern haben wir eine Aktualisierung zu diesem Thema bekommen. Ich für meine Person werde mir das Lachen verkneifen, da es mir nicht zusteht.

Gruß Torsten
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@ raggasoulman

nur falls Du mich falsch verstanden haben solltest Ich habe das sehr wohl so verstanden, daß Du das nicht selbst verbrochen hast. Daher ja meine Anmerkung

" Ich muss gestehen wenn ich an sowas unterkommt und ich länger damit leben müsste .... wegschmeißen und neu machen !!!"

Die Bezeichnung Dipl.Ing. bedeutet NICHT unbedingt daß die entsprechende Person auch vernünftig programmieren kann !!!

Aber als abschreckendes Beispiel ist es allemal gut zu gebrauchen.

peter(R)
 
ich bekomm da sofort kopfschmerzen ... AUA ... da is nich eine zeile ordentlich kommentiert, es gibt keine symbole und wenn ich #dummy lese könnt ich kotzen ...

Ein wenig sorgsamer darf man aber ruhig formulieren ;) . Schließlich wurde nur ein Baustein gepostet, keine Symbolliste, keine zugehörigen DB (Das sollte mal noch nachgeholt werden!). Von daher fehlen also ohnehin sämtliche Symbole. Mir sieht das arg nach ehemaligem S5-Code aus, niemand weiß, wann der umgesetzt wurde. Am Anfang, als die S7 noch neu war, haben fast alle erstmal ihre alten S5-Programmvorlagen umgesetzt und genau so sahen die "neuen" S7-Programme dann aus. Viele Programmierer haben erst nach und nach mitbekommen, daß sich mit Step 7 so einiges leichter bzw. anders proggen läßt, wobei eine 7-Segment-Anzeige eigentlich einfacher bedient werden kann, auch unter S5, aber jeder hat nun mal seinen Weg. Anhand von diesem Codebeispiel würde ich jedenfalls nicht gleich wieder den "Hammer der Verdammnis" rausholen, was nicht heißt, das das richtig schöner Code ist.
 
Wie Ralle es schon gesagt hat, jeder hat seine eigene Art zu programmieren und das Programm ist halt nur unübersichtlich. Nach der Aktualisierung funktioniert der Baustein, wenn sich auch an der Struktur des Programms nichts geändert hat. Die Anzeige machts das was sie soll. Ich denke mal wir belassen es dabei.

Nochmals vielen Dank für Eure Antworten und Tipps. Bei meinen nächsten Fragen werde ich die von Ralle angesprochenen Zusätze mit einfügen.

Gruß Torsten
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich bin´s noch mal. Ich habe noch einmal nachgedacht und möchte Eure Anregungen in die Tat umsetzten. Wenn es einfacher geht, würde es mich interssieren wie ich dabei vorgehen kann.

Ich werde mal versuchen Euch die Anlagenfunktion zu beschreiben.
Wir haben 3 Lichtschranken die vertikal angebracht sind. Wird die untere LS unterbrochen soll die Zahl 1 addiert werden. Werden die untere und die mittlere belegt, soll die Zahl 2 und wenn alle LS belegt sind die Zahl 3 addiert werden. Ich denke mal das der Baustein dann nicht mehr so groß und auch übersichtlicher sein wird.

Danke im voraus.

Torsten
 
andere leute bezahlen dafür viel geld und du möchtest eine fertige lösung präsentiert bekommen, entschuldige aber *ROFL*
 
Ich bin´s noch mal. Ich habe noch einmal nachgedacht und möchte Eure Anregungen in die Tat umsetzten. Wenn es einfacher geht, würde es mich interssieren wie ich dabei vorgehen kann.

Ich werde mal versuchen Euch die Anlagenfunktion zu beschreiben.
Wir haben 3 Lichtschranken die vertikal angebracht sind. Wird die untere LS unterbrochen soll die Zahl 1 addiert werden. Werden die untere und die mittlere belegt, soll die Zahl 2 und wenn alle LS belegt sind die Zahl 3 addiert werden. Ich denke mal das der Baustein dann nicht mehr so groß und auch übersichtlicher sein wird.

Danke im voraus.

Torsten

Du wir setzen wenn wir so etwas benötigen 1-2 Tage Arbeitszeit rein oder kaufen für teuer Geld ein fertiges Modul.
Oder wir tauschen unter einader mal Programme oder Funktionen, aber das beruht auf Gegenseitigkeit.

Wie kommst du darauf das wir dir 10-20 Stunden Arbeitszeit abnehmen?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich bin´s noch mal. Ich habe noch einmal nachgedacht und möchte Eure Anregungen in die Tat umsetzten. Wenn es einfacher geht, würde es mich interssieren wie ich dabei vorgehen kann.

Ich werde mal versuchen Euch die Anlagenfunktion zu beschreiben.
Wir haben 3 Lichtschranken die vertikal angebracht sind. Wird die untere LS unterbrochen soll die Zahl 1 addiert werden. Werden die untere und die mittlere belegt, soll die Zahl 2 und wenn alle LS belegt sind die Zahl 3 addiert werden. Ich denke mal das der Baustein dann nicht mehr so groß und auch übersichtlicher sein wird.

Danke im voraus.

Torsten

Er hat doch nichts von "Macht mit das mal!" geschrieben, will nur noch ein paar Tips. Ich glaube ihr übertreibt manchmal etwas arg!
 
...das kann man doch alles nachlesen! Lesen muß man können, das ist das Hauptproblem...!!!!!!!!!!!!!!!

Danke Ralle, es soll mir niemand die Arbeit abnehmen und ich will mich auch nicht fremden Federn schmücken, davon kenne ich Einige genug. Mir geht es einfach um Problemlösungen und es ist weiss Gott nicht einfach, ohne entsprechendes Basiswissen, sich einen Reim daraus zu machen. Ich weiss auch nicht, ob Diejenigen die jeden Tag mit S7 zu tun haben oder nur programmieren sich damit auskennen, wenn man gewillt ist etwas zu wissen und dann vor verschlossenen Türen steht. Das Ganze mache ich nur für mich und will mich in keiner Art und Weise bereichern( doch an Wissen!!!! (SPS). Ich bin mittlerweile 40 Jahre, aber das Interesse wird mir Keiner nehmen auch nicht diese Kommentare mit denen ich nichts anfangen kann...........

Hier möchte ich erstmal ein großes Lob für diese Forum loswerden, es ist echt Klasse und für mich eine große Hilfe.

Gruß Torsten
 
@ raggasoulman

so ganz verstehe ich es noch nicht

"Wir haben 3 Lichtschranken die vertikal angebracht sind. Wird die untere LS unterbrochen soll die Zahl 1 addiert werden. Werden die untere und die mittlere belegt, soll die Zahl 2 und wenn alle LS belegt sind die Zahl 3 addiert werden."

??? Addiert zu was ???

Gibt es einen Triggereingang der sagt wann der Wert genommen werden soll ??
Versuche doch mal etwas genauer zu beschreiben im Moment kann ich das noch nich so recht packen. Vielleicht auch mal mit ner Skizze oder so.


peter(R)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
jede lichtschranke entspricht also einer 1? dann darf auch jede lichtschranke eine 1 addieren, würde dann so aussehen:

Code:
*
      U     #xIn1
      FP    #xHelpFlag1
      SPBN  n01
      L     #iZaehler
      L     1
      +I    
      T     #iZaehler
n01:  U     #xIn2
      FP    #xHelpFlag2
      SPBN  n02
      L     #iZaehler
      L     1
      +I    
      T     #iZaehler
n02:  U     #xIn3
      FP    #xHelpFlag3
      SPBN  n03
      L     #iZaehler
      L     1
      +I    
      T     #iZaehler
n03:  NOP   0

...ob da jetzt noch eine plausibilitätsprüfung mit rein muß hängt vom aufbau ab...
 
Hi Ragga,

ichhatte mal 'ein Baby' welche mit einer ähnlichen Anordnung Fässer bedruckt hat. Problem ist, was passiert, wenn z.B. die 2. LS 0,3 sek eher betätigt wird, als die erste? ist es dann schon ein korrektes Signal?

Eben ist das mit dem Triggern angesprochen worden. Du solltest also 'aumaskieren' wann ein richtiger Impuls anliegt.

Aus dem Bauch heraus würde ich die LS, welche immer angesprochen wird als Trigger nehmen und nach dem Ablauf eine 'Beruhigungszeit' schauen, welche Lichtschranken bedeckt sind. Entsprechend des Ergenissses würde ich '1', '2', oder '3' (Du musst Dich entscheiden...) in ein Merkerwort laden, dies dann zu eiem Gesamt Wort addieren.

Mit diesem Wort gehst du dann in die Verarbeitung für die BCD- 7 Segmentanzeige.

So würde ich die Sache angehen.

Zu Deinem Doppel- Zwanziger..:

Ich bin die Antort auf das Leben, die Welt und alles sonst...

(Na, na, na? wer weiß DIE Antwort?)

Greetz, Tom
 
Zurück
Oben