Zykluszeitproblem beim Zählen umgehen, aber wie ?

Outrider

Level-1
Beiträge
745
Reaktionspunkte
5
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
Problembeschreibung:
Wier Wickeln ein Material, dass in Längsrichtung ( Wickelrichtung ) Löcher gestanzt bekommt.Das Ganze x mal parallel, so dass das Endprodukt wie ein Netz mit vielen Löchern aussieht. Das Ganze nennt sich Strechfolie !
Jetzt kommt die Quallitätskontrolle !
Da die Löcher neigen zu reißen sollen zwischen den Löchern Sensoren positioniert werden. Der Sensor schaut durchgehen auf das Material zwischen den Löcher. Als Sensor benutzen wir faseroptische sensoren von Omron, sie arbeiten wie eine Lichtschranke. Wenn ein Loch erkannt wird dann wird ein Signal gestzt "1" oder "0" . .
Das Problem ist die Geschwindigkeit der Maschine und die größe der Löcher,
ich befürchte dass ich nicht alle erfassen kann.
Gibt es eine Möglichkeit außerhalb der Zykluszeit Impulse zu erfassen ?
Es sind 37 Sensoren, wenn ich Zählerkarten nehmen würde, wäre das ziemlich teuer !
Gruß
 
Hallo!

Schau mal OB35 an, vlt ist der was für dich.
Wird ausserhalb vom Zyklus immer mit der eingestellten Zeit aufgerufen.
Vorausgesetzt S7.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Outrider,

wenn Du, wie Manfred schon sagte, einen Weckalarm-OB (OB 30 - 38) benutzt,
denk daran, daß das PAE und das PAA nur zyklisch aktualisiert werden. deshalb
solltest Du dann in dem OB das PAE aktualisieren. Endweder arbeitest Du mit Merkern weiter:
Code:
L PEW X
T MW Y

Oder Du aktualisierst das PAE direkt:
Code:
L PEW X
T EW Y
Wie groß Du hier Y wählen kannst siehst Du in der HW-Konfig bei den Eigenschaften der CPU.
Das gilt dann aber auch für alle anderen Programmteile, die nach dem OB ausgeführt werden.
Deshalb ist die Lösung mit dem MW unter Umständen die bessere Wahl.

Grüße
Gebs
 
RE:Zykluszeitproblem

Hallo,
ich habe das mit dem OB noch nicht richtig verstanden !
Der OB wird immer im selben Zeitintervall aufgerufen, dort soll das PEW gelesen werden und auf ein MW kopiert werden . Soweit so gut, aber was passiert wenn das Signal gerade dann am Eingang anliegt wenn der OB nicht bearbeitet wird ? Z.B ein OB35 wird zyklisch alle 100ms aufgerufen und ist nur für die Zeit aktiv solange L PEW bearbeitet wird, wenn nun nach dem beenden des OB das Signal auftaucht dann kann das doch nicht mehr erfasst werden ....oder doch ?
Gruß
 
das ist der trick an der sache, du mußt den OB35 mindestens zwei mal in dem zeitraum der signallänge aufrufen ... hat dein signal also z.B. 15ms impulsweite rufst du den OB35 alle 7ms auf ... (flankenauswertung nicht vergessen ;) )
 
BTW: ich bin in diesem speziellen fall mit 37 sensoren (nicht wenig, geb ich zu) für eine embedded lösung, unabhängig der steuerung, da a) höhere taktraten erreicht werden können ohne dem programmfluss abbruch zu tun, diese b) IMHO günstiger als die erwähnten zählerkarten sind und c) die zählerrei outsourcen um platz für andere funktionen zu lassen ...

bleibt zu klären, inwieweit die zählwerte innerprogrammlich ausgewertet werden müssen ... wenn gar nicht, dann gibt es sehr günstige impulszähler (<- google-stichwort) ...
 
Also zuerst wäre interessant wieviele Impulse pro min/sek es sind.
Dann kommt die zweite Frage, was soll geschehen, wenn 1 Fehler erkannt wird?
Musst du dir die Position oder ähnliches bei fehler merken in der PLC?
Genügt es zu sagen 10 Fehler in 10 sek? Wie ich unsere QS kenne wollten die alles ganz genau und dazu noch mit Auswertung und ... ;)
Wenn du die Anforderungen hast, solltest du dir die Zykluszeit deiner CPU anschauen. Ist die schnell genug.
Dann erst nachdenken über Weckalarm oder andere Lösungen.

bike
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also zuerst wäre interessant wieviele Impulse pro min/sek es sind.
Dann kommt die zweite Frage, was soll geschehen, wenn 1 Fehler erkannt wird?
Musst du dir die Position oder ähnliches bei fehler merken in der PLC?
Genügt es zu sagen 10 Fehler in 10 sek? Wie ich unsere QS kenne wollten die alles ganz genau und dazu noch mit Auswertung und ... ;)
Wenn du die Anforderungen hast, solltest du dir die Zykluszeit deiner CPU anschauen. Ist die schnell genug.
Dann erst nachdenken über Weckalarm oder andere Lösungen.

bike

du immer mit deiner vernunftstour ... spekulieren und lösungen ausdenken ist doch VIEL schöner :p
 
RE:Zykluszeitproblem

Hallo,
ich habe das mit dem OB noch nicht richtig verstanden !
Der OB wird immer im selben Zeitintervall aufgerufen, dort soll das PEW gelesen werden und auf ein MW kopiert werden . Soweit so gut, aber was passiert wenn das Signal gerade dann am Eingang anliegt wenn der OB nicht bearbeitet wird ? Z.B ein OB35 wird zyklisch alle 100ms aufgerufen und ist nur für die Zeit aktiv solange L PEW bearbeitet wird, wenn nun nach dem beenden des OB das Signal auftaucht dann kann das doch nicht mehr erfasst werden ....oder doch ?
Gruß
 
Hallo,
ich habe das mit dem OB noch nicht richtig verstanden !
Der OB wird immer im selben Zeitintervall aufgerufen, dort soll das PEW gelesen werden und auf ein MW kopiert werden . Soweit so gut, aber was passiert wenn das Signal gerade dann am Eingang anliegt wenn der OB nicht bearbeitet wird ? Z.B ein OB35 wird zyklisch alle 100ms aufgerufen und ist nur für die Zeit aktiv solange L PEW bearbeitet wird, wenn nun nach dem beenden des OB das Signal auftaucht dann kann das doch nicht mehr erfasst werden ....oder doch ?
Gruß

was verstehst du an: http://sps-forum.de/showpost.php?p=222351&postcount=5 nicht? oO

stell dich nicht so an, denk mal nach und mal ggf. ein impuls-aufruf-diagramm
 
... mich würde an diese Stelle vorrangig erst mal das :
was hast du denn für eine CPU drin? es wäre erst mal zu klären in welchem zeitintervall du die signale ca. aufrufst und was deine zykluszeit dazu ist
... interessieren ...

Also - wie schnell sind die Signale mit welcher Dauer ? Was macht dein restliches Programm sonst noch so ?
 
Bei 37 Sensoren würd ich mir eine eigene CPU gönnen, die nix anderes macht. Ist wahrscheinlich billiger, performanter und stabiler als alles andere.

Gruß
Dieter
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nicht ganz... Der OB35 kann auch alle XX ms aufgerufen werden. Eben so wie du den Weckalarm eben einstellst

Erst später gemerkt das es ja schon ne seite 2 gibt xD

Aber nochmal auf das Problem selbst zurück.. wenn du ne CPU hast die ne Zykluszeit von 1-4 ms hast dann ist dein Problem schon ein ganz anderes wie mit ner CPU die 20-30ms hat... also.. in welchem intervall kommen deine Signale und wie lange stehen sie an...
 
Zuletzt bearbeitet:
Zurück
Oben