Impuls erfassen-CPU Zykluszeit?

mzva

Level-1
Beiträge
144
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

habe eine CPU315 an der 32E/32A, ASi CP342-2 und ne FM357-2 "haengen". Zykluszeit der CPU ist von 8ms bis 30ms in der Regel aber 15ms.
Habe nun folgendes Problem: Wenn ein Teil ausgeworfen wurde faellt dies durch eine Lichtschranke, diese bringt auch einen Impuls den ich "speichere" (U E --> S M). Leider bekommt die CPU nicht immer den Impuls mit.
Habe schon einen anderen Typ (Marke) Lichtschranke ausprobiert, leider ohne Erfolg.
Man sieht den Impuls "eigentlich" deutlich.

Kann mir jemand sagen warum die CPU den Impuls nicht sieht?
Ich bin der Meinung der Impuls wesentlich laenger als die Zykluszeit der CPU.

Gruss

mzva
 
Hallo,

emtweder "basteln", oder mal eben das Speicherosszi nehmen und nachmessen.

Ggf. kann man auch aus der Fallhöhe und der Größe des Teils was errechnen :ROFLMAO:




MfG
 
Für Lichtschranken mit z.B. M12 Stecker gibt es Impulsverlängerer zum direkten Aufsetzen.
Alternativ könntest Du versuchen die Lichtschranke im Zyklus z.B. 2 oder 3mal abzufragen. Vorher must Du aber das Prozessabbild einlesen.

Code:
U E 0.0 
S M1.0
SPB PB1
SPB PB2
L PEW 0
T EW 0
U E 0.0
S M1.0
.....
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Eingänge stellt Dir das Betriebssystem der S7 vor dem Beginn des OB1 zur Verfügung. Theoretisch kann ein Signal auch kürzer sein als die Zykluszeit, dann ist es halt Glück wenn Du dieses Signal erwischt.

Um einen Impuls sicher zu erfassen gilt fast das gleiche. Es kann hier theoretisch sein, das Du bei einem regelmäßigen Impuls-Pause Verhältnis immer nur True oder immer nur False in Deinem OB1 siehst. Passiert immer dann, wenn Deine Zykluszeit mit der Impuls-Pausendauer übereinstimmt. Dann steht immer bei der Bildung des PAs entweder der Impuls oder eben der "Nicht"-Impuls an.

Wenn der Zeitabstand zwischen den einzelnen Teilen nicht auch im ms-Bereich liegt, würde ich es so machen wie der Vierlagige schon gesagt hat: Verlänger doch einfach Deinen Impuls mit einem RC-Glied.
 
Impulsverlängerungsbaustein

Hallo mzva,

wir hatten das gleiche Problem, uns hat ein Impulsverlängerungsbaustein von "Phoenix Contact" weiter geholfen.

Gruß
Sven
 

Anhänge

  • Impulsverlängerungsbaustein.pdf
    271,9 KB · Aufrufe: 53
Wenn du nicht basteln willst, dann wäre es auch eine Möglichkeit einen Zeit-OB zu nutzen. Du könntest z.B. den OB35 auf eine kleines Zeit-Intervall setzen (5 ms) und über ihn den Eingang einlesen und auswerten.
Hierbei musst du nur beachten, dass du zunächst das PEB laden und dann auf das EB transferieren mußt (siehe auch Vorschlag Jabba). Nun kannst du sicherstellen, dass sich deine CPU wirklich alle (z.B.) 5 ms für den Eingang interessiert.

Prinzipiell würde ich allerdings sagen, dass wenn du den Eingang deutlich ansprechen siehst, dann sollte er schon mindestens im Bereich von 50 ms anliegen (Trägheit vom Auge) ...

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ich würde das Signal mit dem Oszi messen, nur dann läßt sich
eine Aussage treffen wie lange es ansteht.

Wenn es wirklich kürzer sein kann als die Max.Zykluszeit dann mach
es wie Larry beschrieben hat

Nachtrag: Hängt die Lichtschranke an einer BGR am Rückwandbus oder vielleicht am Feldbus?
 
Zuletzt bearbeitet:
Nicht zu vergessen wäre auch die möglichkeit, dass man eine Lichtschranke (bzw. lichtschrankenverstärker) mit einstellbarer ausschaltverzögerung nimmt (z.B. Telco)
 
jaja diese problematik stellt sich immer wieder .... leider
möglichkeiten gibts ja viele

- kondensator zum verlängern des impules
- zeitbaustein
- hardware karte die schnell zählen kann (teuer)

wie schnell kommen denn die teile aus der maschine um ne bessere bzw für dich die einfachste lösung zu finden. Denn deine Zykluszeit wirst du wohl nicht geringer bekommen.
 
Blöde Frage eines primär-non-Siemens-users:
Hat so ein DIng nicht ein oder zwei Alarmeingänge an Bord, wie eigentlich jede Billig-SPS heutzutage?
 
Hm, kenne mich mit der 300er CPUs nicht aus. Aber bei den 200er CPUs kann man für bestimmte Eingänge sogenannte Hochgeschwindigkeitszähler (HSC) definieren. Mit denen lassen sich dann auch Impulse unabhängig von der Zykluszeit zählen, d.h. auch solche die kürzer sind als die Zykluszeit. Denke mal da die 300er CPUs ja mächtiger als die 200er sind, dass die HSCs auch bei den 300er CPUs vorhanden sein sollten.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Blöde Frage eines primär-non-Siemens-users:
Hat so ein DIng nicht ein oder zwei Alarmeingänge an Bord, wie eigentlich jede Billig-SPS heutzutage?

Nö ...!

Hm, kenne mich mit der 300er CPUs nicht aus. Aber bei den 200er CPUs kann man für bestimmte Eingänge sogenannte Hochgeschwindigkeitszähler (HSC) definieren.

Klar kann man ... dafür eine Zählerkarte zu missbrauchen halte ich aber für ein bißchen übertrieben ...

@mzva:
Ich denke, es waren schon eon paar brauchbare Ansätze dabei ... du mußt dich jetzt nur noch entscheiden ...

Gruß
LL
 
Larry Laffer schrieb:
Klar kann man ... dafür eine Zählerkarte zu missbrauchen halte ich aber für ein bisschen übertrieben ...
Ähm, die anderen Lösungen bestehen aus anschaffen und installieren von Hardware, was Geld kostet und manuellen Aufwand bei jeder einzelnen installierten Anlage bedeutet. Die HSC sind eh in der CPU vorhanden. Wenn man sie nicht nutzt liegen sie funktional einfach brach. Wüsste also nicht warum sie zu benutzen ein "Mißbrauch" oder übertrieben wäre. Natürlich ist das eine extrem einfache Verwendung der HSCs aber warum nicht wenn es eben nix kostet und ein nur einmaliger softwaretechnischer Aufwand ist. 8)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ähm, die anderen Lösungen bestehen aus anschaffen und installieren von Hardware, was Geld kostet und manuellen Aufwand bei jeder einzelnen installierten Anlage bedeutet. Die HSC sind eh in der CPU vorhanden. Wenn man sie nicht nutzt liegen sie funktional einfach brach. Wüsste also nicht warum sie zu benutzen ein "Mißbrauch" oder übertrieben wäre. Natürlich ist das eine extrem einfache Verwendung der HSCs aber warum nicht wenn es eben nix kostet und ein nur einmaliger softwaretechnischer Aufwand ist. 8)

In einer 315 sind aber keine HSC's drin - es sei denn man kauft eine Zählerkarte ... Ein OB35 ist aber drin und kostet nichts extra ... und ist auch nicht so schwer zu programmieren ...
 
In einer 315 sind aber keine HSC's drin - es sei denn man kauft eine Zählerkart
O.k. Wie gesagt die 300er CPUs kenne ich nicht. Bei den 200ern sind die HSCs selbst auf den kleinsten CPUs vorhanden. Wundert mich etwas, dass die 300er, die ja deutlich teurer sind als die 200er diese Funktionalität nicht mehr haben.
 
Da war ja auch mein Punkt, jede billige Moeller-SPS hat ein bisschen Zähler und ein bisschen Alarm und auch zwei serielle Pörtchen serienmäßig.

Naja, warum billig...
 
Zurück
Oben