Schneller Zähler in S7200 mit CPU 222

E-Marco

Level-1
Beiträge
31
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo folgendes Problem:

Wir haben einen Taktgeber mit 100 impulsen pro Umdrehung. Sein Ausgangssignal geht auf den Eingang E0.0

Wenn die Lichtschranke E0.1 belegt ist soll ein Zähler beginnen die Takte des Taktgebers zu zählen und bei einem bestimmten Wert den Ausgang A0.0 auf 1 setzen.

Eigentlich ganz einfach...

Nur haben wir keine Ahnung wie wir einen schnellen Zähler in FUP programmieren können, haben da irgendwas mit HDEF / HSC usw. gelesen, wissen es aber nicht so recht anzuwenden. Kann uns da jemand auf die Sprünge helfen?

Gruß

Marco
 
Für den E0.0 musst du eine Interruptroutine nehmen, bei schnellen Impulsen.

Das ist ganz einfach, schau mal in der Hilfe, da ist ein sehr gutes Bsp.

pt
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Für den E0.0 musst du eine Interruptroutine nehmen, bei schnellen Impulsen.

Das ist ganz einfach, schau mal in der Hilfe, da ist ein sehr gutes Bsp.

pt

Danke erstmal für deine Antwort. Ich habe nun mit dem Operationsassitenten ein HSC_init Unterprogramm erstellt,
was ich im Programmbaustein aufgerufen habe. Mein Zähler zählt zwar nun aber auch nicht schneller als ein normaler Zähler. Ab einer gewissen Anzahl an Takten pro Zeit hört er auf zu zählen.

Was meinst Du mit Interruptroutine? Kann dazu auch in der Hilfe nicht so recht was finden. Muss ich da noch ein Unterprogramm schreiben?

Sorry bin ein reiner S7 Anfänger :ROFLMAO: und dafür ist das schon eine ganz schöne Aufgabe, auch wenn der eine oder andere bestimmt schon über mich schmunzelt :ROFLMAO:

Gruß

Marco
 
Der Interrupt läuft A-Zyklisch. Sobald ein Signalanstieg(wechsel) je nach Parametrierung, ansteht, wird einmal das Interruptprogramm aufgerufen. In diesem zählst du dann ein Merkerwort oder sonstiges hoch.

Machst du das im zyklischen Teil, bekommst du die Flanken nicht mit.

Habe hier kein Microwin, sonst würde ich dir da mehr zu schreiben.

Wenn du mit der rechten Maus auf die Bausteinstruktur klickst, müsste etwas kommen wie Hinzufügen Unterprogramm/Subroutine/Interrupt oder so.

pt
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

erstmal ein frohes neues...ein neues jahr hat begonnen und ich sitze gleich am ersten arbeitstag schon wieder vor meinem schnellen zähler mit s7-200.

ich steige da irgendwie nicht durch, ich denke mal dafür fehlen mir auch die speziellen programmierkenntnisse.

kann mir nicht jemand mal auf die sprünge helfen und mir ein kleines programm für einen schnellen zähler erstellen?

e0.0 eingang taktgeber
e0.1 rücksetzen zähler
a0.0 ausgang ventil

wenn der taktgeber 500 impule abgegeben hat soll der ausgang a0.0 gesetzt werden und erst wieder durch e0.1 zurückgesetzt werden.

mein dank würde euch ewig verfolgen ;)

Zur Hardware:

habe eine simatic s7-200 cpu 222 und einen taktgeber mit 100 impulsen pro umdrehung.

ich hoffe dass sich jemand findet und mir hilft...

bis denne erstmal

e-marco
 
Hallo,
die ersten 3 Eingänge kannst Du nicht wahlfrei vergeben, e0.0 ist der Impulseingang und e0.2 ist der Rücksetzeingang, wenn noch Fragen sind???
 

Anhänge

  • schneller zähler.zip
    2,7 KB · Aufrufe: 68
Vielen Dank für deine Mühe ;)

Jetzt komme ich "erstmal" weiter mit meinem Programm,
wenn noch mehr Fragen auftauchen sollten melde ich
mich wieder.

Nochmals vielen Dank !!!

Mfg

E-Marco
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

habe nun das Programm soweit zum laufen, allerdings kommt der Ausgang 0.0 in unterschiedlichen längen, obwohl seine länge ja direkt über Taktanzahlen vorgegeben wird. An dem Ausgang a0.0 ist ein Leimmodul angeschlossen. Der Leimstreifen hat allerdings unterschiedliche Leimlängen. Mein Taktgeber e0.0 hat 108 impulse pro Umdrehung.

Wie kann es sein das sich die Leimlänge ändert obwohl im DB genau start und stop definiert sind. Habe mein Programm mal bis auf den Programmteil "Leimung" entfernt und hier angehängt, vielleicht kann ja mal jemand rein gucken und
einen fehler entdecken.

Vielen Dank und gruß

E-Marco
 

Anhänge

  • Hutaufsetzer_nur _Leim_stand_17_01_07.zip
    3,8 KB · Aufrufe: 22
hallo,
ich glaube da hast du ein geschwindingkeitsproblem, mechanisch?(ruckt stark an) zu schnell für den zähler?oder die summe von eingangsfilter zu hoch (bei dir 6,4ms) und du wertest nicht im interrupt aus mit hoher zykluszeit, das ist meine vermutung.
 
Zurück
Oben