Newbie braucht eure Hilfe! Nach Zähler X soll Ausgang ...

L

Lars2902

Guest
Zuviel Werbung?
-> Hier kostenlos registrieren
Halllo zusammen,

Als aller erstes möchte ich mich kurz vorstellen.
Ich bin gelernter Industriemechaniker und habe mich immer mehr für
Angelegenheiten in meinem Beruf interessiert, die eigentlich nicht zu
meinem Aufgabengebiet gehören.
Ich habe nun das größe Glück in einem Betrieb zu arbeiten, wo man seine
Mitarbeiter einfach seine Arbeit machen läßt. Hauptsächlich sind wir (bin ich)
für die Instandsetzung unserer Automaten zuständig. Wir tüfteln zusammen
Verbesserungen aus, um den Automatisierungsablauf produktiver zu gestalten um die NIO Teile zu reduzieren.

Nun wäre es auch praktisch Teile im Programm ändern zu können. Soweit so gut.
Da, wie oben beschrieben, mein Arbeitgeber alles unterstützt, konnte ich mir vor einem Jahr ne S7-200 inkl. Software und allem drum dran bestellen, um zu üben.
Das hat sich gelohnt, da mittlerweile unser erster selbstgebauter "kleiner" Automat seine Dienste in unserer Firma erledigt.

Jetzt würden wir gerne eine kleine Programmänderung in einer S5 100U (CPU102) vornehmen. Also durfte ich mir eine zum üben kaufen. Habe mich als Software für WinSPS entschieden. Nun sitze ich hier zu Hause und bin ein bischen am tüfteln. Klappt soweit schon alles recht gut.

Nun zu meinem Problem:
Ich möchte, das wenn z.B. am Eingang E0.0 5mal ein Signal vorliegt, der Ausgang A2.0 für Zeit x geschaltet wird und dann wieder auf 0 gesetzt wird. Das soll sich immer wiederholen. Also wieder 5 Signale am Eingang E0.0 dann wieder A2.0 für Zeit X einschalten.


Könntet Ihr mir bei dem Problem helfen?
Bräuchte eine AWL mit Erklärung
 
Hallo,
ich würde dann den Zähler auf 5 gleich-größer vergleichen und dann die Zeit starten und den Zähler rücksetzen.

Sollte eigentlich ganz einfach zu realisieren sein.

Gruß Sebastian
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Sebastian,

Danke für die schnelle Antwort. Ich werde mich mal weiter durch die Lektüren durchwurschteln und es versuchen. Da ich, wie schon gesagt, ein absoluter Newbie bin, wäre eine AWL nicht schlecht (mit Erklärung warum das so ist) um daraus auch Erfahrung sammeln zu können.

Könntest Du mir damit vielleicht weiter helfen?!

Danke schon mal im voraus...
 
Lars2902 schrieb:
Hallo Sebastian,

Danke für die schnelle Antwort. Ich werde mich mal weiter durch die Lektüren durchwurschteln und es versuchen. Da ich, wie schon gesagt, ein absoluter Newbie bin, wäre eine AWL nicht schlecht (mit Erklärung warum das so ist) um daraus auch Erfahrung sammeln zu können.

Könntest Du mir damit vielleicht weiter helfen?!

Danke schon mal im voraus...

Hallo,
ich hab leider kein STEP5 hier zuhause, da ich es nur auf den alten PGs betreibe. Ich kann dir morgen ein Beispiel liefern.

Gruß Sebastian
 
Hallo Lars,

schau dir mal folgenden Code an und probier mal aus ob es so funktioniert.
Ich habe es nicht testen können, müsste aber so in etwa gehen.

Code:
// Jede steigende Flanke des Eingangs E0.0 wird mit Z1 gezählt

U   E0.0    // Signal welches gezählt werden soll
ZV  Z1     // ZähleVorwärts Zähler'1'
***

L   Z1      // Lade Zähler'1'
LKZ 5     // Lade Konstante für Zähler  Wert='5'
>=F       // Vergleich 'grösser-gleich'
=   M10.0   // Resultat wird dem Merker 10.0 zugewiesen
***

U   M10.0   // Gewünschte Bedingung ist erfüllt
LKT 100.0 // Lade Konstante für Timer 100/100 Sek.
SV  T1     // Erzeugt einen Impuls mit einer länge von 1 Sekunde
***

U   T1      // Impuls steht an
=   A2.0    // Ausgang steuern
***

U   M10.0   // Gewünschte Bedingung ist erfüllt
UN  T1     // und der Zeit-Impuls ist abgefallen
R   Z1      // Rücksetzen des Zähler '1'
***

Das Beispiel müsste dich eigentlich in die richtige Richtung führen.
Einzig beim Rücksetzen des Zählers, im letzten Teil, weiss ich nicht ob es so geht....

Gruss
Guido
 
...es kommt auch darauf an wie die Impulse
auflaufen.
Wenn, während der Ausgang angesteuert wird, weitere
Impulse eingehen, würde ich das Beispiel etwas ändern.

Code:
// Jede steigende Flanke des Eingangs E0.0 wird mit Z1 gezählt 

U   E0.0    // Signal welches gezählt werden soll 
ZV  Z1     // ZähleVorwärts Zähler'1' 
*** 

L   Z1      // Lade Zähler'1' 
LKZ 5     // Lade Konstante für Zähler  Wert='5' 
>=F       // Vergleich 'grösser-gleich' 
S   M10.0   // Resultat wird dem Merker 10.0 zugewiesen und
R   Z1      // Zähler - Reset für neue Zählung 
*** 

U   M10.0   // Gewünschte Bedingung ist erfüllt 
LKT 100.0 // Lade Konstante für Timer 100/100 Sek. 
SV  T1     // Erzeugt einen Impuls mit einer länge von 1 Sekunde 
*** 

U   T1      // Impuls steht an 
=   A2.0    // Ausgang steuern 
*** 

U   M10.0   // SV-Timer ist angestoßen  
R   M10.0  // Startmerker rücksetzen  
***


mfg.
Rolf
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke Rolf,

werde ich sofort testen und dann gleich bescheid geben ob es funktioniert.
Super hier ehrlich. Ich kann es nur respektieren, das sich andere Leute um
mein "Problem" kümmern. Danke :D
 
SUUUUUUUUUUUUUUUPER!!!

es funktioniert.
Genau so meinte ich das. Wahnsinn. Ich bin jetzt die ganze Zeit am tüfteln gewesen.

Danke auch für die Erklärung dabei. Ich ziehe meinen Hut. Soviel möchte ich auch mal können. Aber ich bin ja noch am lernen.
:lol:
 
Es geht auch kürzer und ohne Zwischenmerker, trotzdem führen weitere Impulse nicht zu einer verlängerten Schaltung das Ausganges:

Code:
// Jede steigende Flanke des Eingangs E0.0 wird mit Z1 gezählt 

U	E 0.0            // Signal, welches gezählt werden soll
ZV	Z 1             // ZähleVorwärts Zahler '1'
***

L	Z 1              // Lade Zähler '1'
L	KF +5            // Lade Konstante für Vergleichswert, Wert = '5'
>=F                  // Vergleich 'grösser-gleich'
L	KT 100.0         // Lade Konstante für Timer 100/100 Sek.
SA	T 1             // Ausschaltverzögerter Timer '1'
***

U	T 1              // Signal steht an
=	A 2.0            // Ausgang steuern
R	Z 1              // Rücksetzen des Zähler '1' 
***


Gruss,
Jörg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Es geht auch kürzer und ohne Zwischenmerker, trotzdem führen weitere Impulse nicht zu einer verlängerten Schaltung das Ausganges:

das stimmt schon, aber da der Zähler solange zurückgesetzt wird
wie T1 = '1' ist, werden Impulse die während dieser Zeit
auflaufen ignoriert.


mfg.
Rolf
 
das stimmt schon, aber da der Zähler solange zurückgesetzt wird
wie T1 = '1' ist, werden Impulse die während dieser Zeit
auflaufen ignoriert.

Kann ja durchaus erwünscht sein :wink:

Man muß sich halt genau überlegen, was man benötigt bzw. wie eine bestimmte Funktion einer Maschine sein soll.

Somit hat Lars nu 2 bzw. 3 Varianten für ne gezählte Impulserfassung :wink:


Gruss,
Jörg
 
Zurück
Oben