Step 7 S7 Zahler Probleme

aah13

Level-1
Beiträge
23
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,

Ich bin anfänger mit SPS. ich habe da kleines problem mit der Zählfunktion der S7 Steuerung!!!

Das Projekt geht darum,der Drehzahl von 10 rpm bis 100 rpm in 1 min zu steuern.
Habe mich überlegt,dass ich Timer (S_Impulse) und Zähler(Z_Vorwart) brauche.

Beim Programm Timer läuft gut
:).das Problem steht im Zähler,Was soll ich im BOX (ZV) eingeben,damit die Zähler bis 100 erhöht.

Grüße




 

Anhänge

  • Simatic.jpg
    Simatic.jpg
    75,7 KB · Aufrufe: 77
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo TP,

Habe schon gelesen ,Leider die Lösung steht bei Hilfe nicht. Die Frage wie kann ich Impulse von Timer(S_Impulse) bei Zähler zählen?

Ich hoffe ,das Jemand mir helfen kann.

Grüße
 
Eingang S übernimmt mit einem Impuls den Wert, der an ZW parametriert ist, also 100.
Eingang ZV ist der eigentliche Zähleingang, dort gehört also dein Impulsgeber dran.
eNDe
 
Hallo
Ich würde die Aufgabe mal so betrachten:
Du willst von 10 rpm auf 100 rpm in einer Minute erhöhen. Das ist somit eine Differenz von 90 rpm innerhalb einer Minute.
Wenn ich das durchrechne sind das 1,5 rpm in einer Sekunde oder 1 rpm in 0,667 Sekunden oder 0,15 rpm in 100ms oder ...... je nachdem wie fein du das haben willst.
Also du brauchst einen passenden Zeittakt (eine Flanke ist dein Freund) und erhöhst dann mit dieser Flanke entsprechend. Vergiss den Minimalwert von 10 rpm nicht. Und limitiere oben mit 100 rpm.

fertig, lg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich finde das so wie der TE gebaut hat auch recht kompliziert.

Die Variante von smoe ist sehr einfach umzusetzen! Ich verwende dafür dann immer interrupt OBs mit einem vorgegebenen Aufruf von z.B. 100ms. Damit lässt sich einfach rechnen und man muss in dem Interrupt nur addieren addieren addieren. Und man spart sich das timer-programmieren :)
 
Da hast schon recht mit dem Interrupt OB. Wenn es genau sein soll ist der fast schon zwingend. Die Zeitfunktionen im OB1 Zyklus sind halt immer zwischen ~1 und 2 Zykluszeiten falsch. Man müsst schon 1,5 Zykluszeiten von der Sollzeit abziehen um sich dem Soll "anzunähern". Aber der aa13 ist ja Anfänger, wir wollen ihn nicht gleich mit Interrupts erschrecken....
Im folgenden Beispiel würde sich diese Abweichtung sogar addieren. Somit habe ich statt dem Soll 667 ms (würde die Rampe ca 1,5 Sekunden zu langsam werden lassen) , 650 ms verwendet. (10ms Zyklus)

RampACC.PNG
Im Beispiel ist E0.0 das Signal was die Rampe startet.
Zuerst das 0 Setzen wenn aus
Dann die Taktbildung mittels Timer (geht nur mit Hilfsmerker)
Dann das Zählen
Zum Schluss das Limitieren (min10, max 100)
Im MW100 steht dann der Wert

lg
 
Zuletzt bearbeitet:
Zurück
Oben