Hallo zusammen,
Ich möchte mit dem Programm Logo Soft eine 7-Segmentanzeige von 0-9 realisieren.
Sie soll mit einemTaster weiterschalten zur nächsten zahl und nach 9 wieder auf null springen.
Ausserdem soll sie jederzeit wieder zurückgesetzt werden können mit einem zweiten Taster…wie mache ich das am besten?
wäre sehr froh über Antworten und Hilfen…=)
gruß flo
Hallo Flo,
Ich habe mit Logo Soft noch nie gearbeitet. Meine Programmiersprache war AKF für AEG/MODICON A200, und damit wäre die Lösung der Aufgabe einfach, da diese Programmierspeache auch Wortverarbeitung kennt.
Ich habe mir heute Nacht mal die Demoversion von Logo Soft runtergeladen und reingezogen. Die Sprache kann keine Wortverarbeitung, du musst aber die Zustände „0“ „1“ … bis „9“ erzeugen, um die anschließend mit den Segmenten „A“ bis „G“ der Siebensegmentanzeige zu verknüpfen. Mir erscheinen zwei Lösungsansätze möglich.
A) Mit Hilfe von zwei Schieberegistern, die Du kaskadierst und durch die Du ein Bit schiebst.
B) Mit Hilfe von 9 Zählern mit den Sollwerten 1 bis 9 .
Die Ansteuerung der Schieberegistervariante erscheint mir komplizierter als die Zählervariante
Ich würde 9 Zähler benutzen, den ersten mit dem Sollwert 1, jeden weiteren mit einem um 1 erhöhten Sollwert. Jeweils die Zähleingänge und die Reseteingänge der Zähler würde ich „zusammenschalten“.
Die Zähleingänge werden mit dem Zähl-Taster verbunden die Reseteingänge über eine ODER-Funktion einerseits mit dem Resettaster, andererseits mit einer „Überlauf-Logik“ die den Reset auslöst, wenn der Zustand „9“ erreicht ist und der Zähl-Taster erneut betätigt wird.
Der Zustand „0“ ist gegeben, wenn der Ausgang des Zählers 1 = LOW (L) ist.
Der Zustand „1“ ist gegeben, wenn der Ausgang des Zählers 1 = High (H) und Zähler 2 = L ist.
Der Zustand „2“ ist gegeben, wenn der Ausgang des Zählers 2 = H und Zähler 3 = L ist
Der Zustand „3“ ist gegeben, wenn der Ausgang des Zählers 3 = H und Zähler 4 = L ist
usw.
usw.
Der Zustand „9“ ist gegeben, wenn der Ausgang des Zählers 9 = H ist
Das Verknüpfen der Segmente der Siebensegmentanzeige mit diesen Zuständen ist trivial.
Ich gehe mal davon aus, dass ich Dir hier deine „Schularbeiten“ mache, aber die Aufgabenstellung mit einem mir unbekannten Programm hat mich gereizt.
Trotzdem kann ich Dir den Rat nicht ersparen:
Wenn Du solch eine Aufgabe bekommst, ist der Lerneffekt für Dich relativ gering, wenn Du sie Dir von Anderen lösen lässt.
Kennst Du den uralten Spruch: „nicht für die Schule, für das Leben lernen wir!“? Da ist was dran.
Also beim nächsten Mal – selber denken, gell.
merimies
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Floinback,
Auf der S7 würde ich es wiefolgt realisieren
Auch wenn sicherlich wieder blöde Kommentare kommen :s
Du nutz am besten einen Zaehler.( Den musst du aber freigeben und dabei kannst du gleich einen Startwert geben. Am besten eigenet sich dazu ein Taster
Diesen zaehlst du über den Impuls hoch (Am besten machst du da eine positive Flankenauswertung und nutzt dann diese Flanke). Ich daechte der Zaehler agiert so oder so nur auf die positive Flanke. Aber Schaden kann es ja nicht
Danach vergleichst du den Zaehler. Ist er > 9 so setzt du ihn auf 0 zurueck.
danach vergibst du 9 Merker! je nach Zustand des Zaehlers setzt du einen Merker!
Dann brauchst du für die Ansteuerung ja 7 Ausgaenge!
In den Nachfolgenden Netzwerken verknuepfst du eigentlich nur noch die Merker und setzt dann entsprechend die Ausgaenge.
Nehmen wir mal an.
Zahl - Merker
0 - M0.0
1 - M0.1
2 - M0.2
3 - M0.3
4 - M0.4
5 - M0.5
6 - M0.6
7 - M0.7
8 - M1.1
9 - M1.2
Für die Anzeige
Segment - Ausgang
a - A4.0
b - A4.1
c - A4.2
d - A4.3
e - A4.4
f - A4.5
g - A4.6
'Segment Ansteuerung
'Segment A
Wird benötigt bei den Zahlen 0,2,3,5,6,7,8,9
O M0.0
O M0.2
O M0.3
O M0.5
O M0.6
O M0.7
O M1.0
O M1.1
=A4.0
Segment B
Wird benötigt bei den Zahlen 0,1,2,3,4,7,8,9
O M0.0
O M0.1
O M0.2
O M0.3
O M0.4
O M0.7
O M1.0
O M1.1
=A4.1
das bis zur Zahl 9 :smile:
MfG Alex
Resettaster, andererseits mit einer „Überlauf-Logik“ die den
Reset auslöst, wenn der Zustand „9“ erreicht ist und der
Zähl-Taster erneut betätigt wird.
wie mach ich das mit der „Überlauflogik“?
sorry aber ich hatte einfach echt keine ahnung und hab sehr lange überlegt…
und ich habe lange überlegt, ob ich Dir weiterhelfen soll.
Aber was solls.
Mir fehlt hier der Zeichensatz, um logische Gleichungen zu schreiben, also muß ich mich mit Umschreibungen behelfen.
Du brauchst einige Inverter, UND-Funktionen sowie ein Flip-Flop, den „RS-Speicher“.
„Zustand 9“ UND NICHT „Zähltaster“ SET „RS-Speicher“
NICHT „Zustand 9“ RESET „RS-Speicher“
„Zähltaster“ UND „RS-Speicher“ = „Überlaufbedingung“
Ich weise Dich auf die Urzeit hin, es könnte also sein, daß in meiner Logik ein Fehler steckt. Die Lösung ist also ohne Flinte!
Gruß merimies
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Floinback,
Auf der S7 würde ich es wiefolgt realisieren
Auch wenn sicherlich wieder blöde Kommentare kommen :s
Stimmt!
Und hier ist mein blöder Kommentar:
Siemens Logo kennt keine Wortverarbeitung und damit auch keine Zähler mit den Zuständen „0“ bis „9“. Um diese Zustände zu erzeugen, musst Du ja gerade trixen, z.B. mit 9 Zählern.
Du nutz am besten einen Zaehler.
den Du aber nicht hast.
( Den musst du aber freigeben
und dabei kannst du gleich einen Startwert geben. Am besten
eigenet sich dazu ein Taster
Diesen zaehlst du über den Impuls hoch (Am besten machst du da
eine positive Flankenauswertung und nutzt dann diese Flanke).
Ich daechte der Zaehler agiert so oder so nur auf die positive
Flanke. Aber Schaden kann es ja nichtDanach vergleichst du den Zaehler. Ist er > 9 so setzt du
ihn auf 0 zurueck.
danach vergibst du 9 Merker! je nach Zustand des Zaehlers
setzt du einen Merker!
Dann brauchst du für die Ansteuerung ja 7 Ausgaenge!
In den Nachfolgenden Netzwerken verknuepfst du eigentlich nur
noch die Merker und setzt dann entsprechend die Ausgaenge.
|
|
|
|
|
|
MfG Alex
MfG merimies