Programmierungs-Problem

Seiten: (1) | 2
Zurück zur Startseite

Henning

08.01.10 20:37

Nabend.

Habe ein kleines Problem bei einem SPS-Programm, bzw. ist mir die zündende Idee noch nicht gekommen.

Folgendes: An einem Eingang habe ich entweder 0V, oder ein getaktetes Signal 24V mit 50 Impulsen pro Sekunde.

Auswertung soll nun so aussehen:

Kommt dieses getaktete Signal für 2 Sekunden vernünftig an, soll ein Merker gesetzt werden.
Fehlt das Signal, soll der Merker nach 2 Sekunden für die das Signal ausbleibt, wieder zurückgesetzt werden.

Wie gehe ich da ran? Zähler? Zeitverzögerungen? Ich habe ein Brett vor dem Kopf. Lösung muss bis Montag 9:00 funktionieren. Also noch gute 60 Stunden.

Wer mir eine brauchbare Lösung bietet hat wirklich einen gut bei mir.

Vielen Dank schonmal im Voraus.

Gruß

m3rt0n

08.01.10 20:47

50hz? kann der eingang die überhaupt verarbeiten? bei den s7 gibts spezielle cpu´s für hohe schaltfrequenzen...was die normalen können weiß ich jetzt gar nicht...

edit: das hängt von deiner zykluszeit ab, die muss kleiner sein als 20millisekunden (50hz), das geht kaum...


Zuletzt bearbeitet: 08.01.10 20:52 von m3rt0n

Henning

08.01.10 20:50

Ich weiß nicht ob die ganzen 50 Hz ankommen, es ist aber kein dauerhaftes Signal, und selbst wenn das Signal 5 Hz hätte, stände ich vor dem selben Problem...


m3rt0n

08.01.10 20:53

kommen die impulse periodisch oder sporadisch?

Henning

08.01.10 20:56

Also, das Problem ist, dass durch das Programm Störungen des Sensors ausgeglichen werden, also irgendwelche "Wischer" nicht fehlinterpretiert werden.

Wenn das Signal da ist, steht es für einen Zeitraum zwischen 20 sek und 2 min an. In dieser Zeit kommt es mit einer gleichbleibenden Frequenz rein.

Licht_tim

08.01.10 20:57

Ein Zähler bis 100. Bei 100 geht der Ausgang Q auf 1. Das setzt ein Flipflop, und den Zähler wieder auf 0.

Das am Ausgang des Flipflops ist eine Einschaltverzögerung, s5t#2100ms. Wenn die Einschaltverzögerung ein schaltet, setzt diese das Flipflop und den Zähler zurück. Zudem muss auch die Einschaltverzögerung vom Zähler (bei 100) zurückgesetzt werden.

Wenn das 50Hz Signal anliegt, erricht die Einschaltverzögerung nie ihre Zeit, da sie immer 100ms zuvor zurückgestzt wird.

Das fällt mir spontan zu deinem Problem als Lösung ein. Ich hab gerad nicht den Rechner mit Step7 in reichweite, sonst würd ichs noch mal testen.

Edit: Mit den neuen Infos, passt das nicht mehr. Es gab erst die ersten beiden Posts als ich mit Schreiben angefangen hab.




Zuletzt bearbeitet: 08.01.10 21:00 von Licht_tim

Simon

08.01.10 20:58

Kleine Frage am Rande, da ich die Rahmenbedingungen nicht kenne: Ist sichergestellt, das wenn Impulse kommen, und diese dann wirklich 50Hz (oder was auch immer haben), oder kann da zwischenzeitlich auch Müll kommen?

Gruß

Simon

Henning

08.01.10 20:58

Also nochmal überlegt:

Zähler? Ungerne, wenn es allerdings keine andere Möglichkeit gibt, okay.

Einschaltverzögerung, sollte nicht funktionieren, da der Eingang in diesen 2 Sekunden immer wieder auf 0 fällt.

Ausschaltverzögerung wäre eine Möglichkeit, da die 2 sek vor dem Rücksetzen des Merkers mit jedem Impuls neu gestartet werden.

m3rt0n

08.01.10 21:01

was für ne cpu hast du denn da?

Henning

08.01.10 21:04

Licht_tim:
Ein Zähler bis 100. Bei 100 geht der Ausgang Q auf 1. Das setzt ein Flipflop, und den Zähler wieder auf 0.

Das am Ausgang des Flipflops ist eine Einschaltverzögerung, s5t#2100ms. Wenn die Einschaltverzögerung ein schaltet, setzt diese das Flipflop und den Zähler zurück. Zudem muss auch die Einschaltverzögerung vom Zähler (bei 100) zurückgesetzt werden.


Okay, da kriege ich gerade was nicht auseinander. Wenn ich jetzt innerhalb von 10 Minuten immer mal wieder einen dödeligen Impuls habe, komme ich auch irgendwann auf 100.
Muss ich also noch was basteln.
Trotzdem blicke ich da nun noch gerade nicht durch... aber gut, hab ja Zeit.

Simon:
Kleine Frage am Rande, da ich die Rahmenbedingungen nicht kenne: Ist sichergestellt, das wenn Impulse kommen, und diese dann wirklich 50Hz (oder was auch immer haben), oder kann da zwischenzeitlich auch Müll kommen?


Das ist das Problem, da kann auch zwischenzeitlich mal einbrechen, aber wie gesagt soll dies ja auch zum Teil kompensiert werden, wenn das Signal also mal für ein paar Millisekunden ausbleibt, wird dies vom Programm überbrückt.

Henning

08.01.10 21:05

CPU ist eine 314 2DP.

Licht_tim

08.01.10 21:07

Also es kommt irgentein Signal. Wenn das Signal 2S kommt wird der Merker gesetzt, wenns 2S fehlt wird der Merker wieder zurückgesetzt?

Im ersten Gedankengang war ich von 50hz oder keinem Signal ausgegangen. Von daher ist das so hinfällig.


Zuletzt bearbeitet: 08.01.10 21:10 von Licht_tim

m3rt0n

08.01.10 21:10

dein problem ist grad echt kompliziert. du willst einerseits aussetzer kompensieren und andererseits musses ja ausschalten wenn wirklich nix am sensor ist...

Licht_tim

08.01.10 21:15

Wie wärs denn, das Signal noch vor der SPS mit einem Kondensator zu glätten. Damit hätten einzelne kleine Aussetzer im Signal keine Auswirkung. Der Kondensator muss jedoch mit einem Widerling so belastet werden, das er innerhalb von 2S unter den Wert für ein "1" Signal fällt.



Simon

08.01.10 21:17

Also ich sags mal so: Mit SPS kenne ich mich Null aus.
Aber eine Idee... Ob die mit einer SPS zu realisieren ist, das weiß ich nicht. Man erzeugt selbst eine 50Hz Frequenz. Diese wird dann mit dem ersten auftretenden Impuls gestartet. Jetzt verexclusiv-odert man die Frequenz mit dem Eingangssignal. Solange da alles im Takt ist, ist das Ergebnis eine logische "1". Nen Timer für die zwei Sekunden dazu, und man kann selbst entscheiden, wieviele "0" man zulässt (Fehler).

Gruß

Simon

Zurück zur Startseite
Seiten: (1) | 2