# Zähler AWL



## seb992000 (11 Juli 2008)

Hallo habe eine Frage...

Hat jemand vielleicht ein Beispiel für einen Produktionszähler...
Möchte einfach eine Lichtschranke abfragen und dann einen Zähler Hochlaufen lassen...(dieser Zähler soll aber möglichst in die Millionen hochlaufen da die Anlage 50 Takte die Minute macht)

Durch einen Reset Taster möchte ich diesen Zähler wieder auf Null setzen...

Das ganz möchte ich in AWL Programmieren....

würde mich über Hilfe freuen 

mfg 

seb992000


----------



## pylades (11 Juli 2008)

Hallo

S5 oder S7?

Pylades


----------



## seb992000 (11 Juli 2008)

*S7*

S7 Steuerung


----------



## pylades (11 Juli 2008)

- Flanke der Lichtschranke auswerten
- wenn Flanke dann z.B. ein Datenwort (DINT) um 1 erhöhen
- Flanke vom Reset Eingang auswerten
- Wenn Flanke dann das Datenwort mit 0 überschreiben

Pylades


----------



## seb992000 (11 Juli 2008)

OB1

call FC1

FC1

UE 1.0     //Lichtschranke
FP M1.0
L L#1
L  MD102
+D
T MD102


UE 2.0    //Reset
L L#0
T MD102

Würde das so funktionieren?


----------



## pylades (11 Juli 2008)

seb992000 schrieb:


> OB1
> 
> call FC1
> 
> ...



Nein!
So würde die SPS in jedem Zyklus um 1 erhöhen weil die Flankenauswertung nicht i.O. ist.

Schau dir die Hilfe zu FP mal an.

Pylades


----------



## seb992000 (11 Juli 2008)

habe ich mir schon angeschaut verstehe es nicht deshalb frage ich....

sorry


----------



## Larry Laffer (11 Juli 2008)

... so würde es gehen :
	
	



```
U E 1.0
UN M 1.0
SPBN nCnt

L MD 100
L L#1
+D
T MD 100

nCnt:U E1.0
= M 1.0
```
Gruß
LL


----------



## godi (11 Juli 2008)

pylades schrieb:


> Nein!
> So würde die SPS in jedem Zyklus um 1 erhöhen weil die Flankenauswertung nicht i.O. ist.
> 
> Schau dir die Hilfe zu FP mal an.
> ...



In diesem Beispiel geht es ab da nicht mehr um die FP sondern um den Befehl L und T die nicht VKE (Verknüpfungsergebniss) abhängig sind und somit übersprungen werden müssen damit nicht im jedem Zyklus hochgezählt wird.

godi


----------



## pylades (11 Juli 2008)

godi schrieb:


> In diesem Beispiel geht es ab da nicht mehr um die FP sondern um den Befehl L und T die nicht VKE (Verknüpfungsergebniss) abhängig sind und somit übersprungen werden müssen damit nicht im jedem Zyklus hochgezählt wird.
> 
> godi



Wem sagst Du das?

Pylades?


----------



## seb992000 (12 Juli 2008)

Larry Laffer schrieb:


> ... so würde es gehen :
> 
> 
> 
> ...


 
Verstehe ich das so richtig?
1 Zyklus der SPS wenn der Eingang E1.0 true wird:
   Wenn der E 1.0 im ersten Schritt true wird, ist der Merker 1.0 false   
   deswegen wird um 1 Hochgezählt.Wird die Sprungmarke nach der   
   abarbeitung des Zählers auch noch abgearbeitet?

2 Zyklus der SPS während der E1.0 false ist:
   Wärend der Eingang E1.0 false ist wird ständig die Sprungmarke aktiv  
   und der Merker M1.0 wird false gesetzt

3 Zyklus der SPS wenn der Eingang E1.0 wieder true wird:
   Der Eingang E1.0 wird true.
   Der der Merker M1.0 wurde solange der Eingang E1.0 false war false
   gesetzt, deshalb wird wird jetzt der Zähler abgearbeitet und Zählt hoch
   auf 2.

   hmmm????   

   mfg


----------



## 8051 (12 Juli 2008)

So baue ich oft meine Zähler auf


```
U #LS
FP M0.0
SPBN NOCO

L MD102
L L#1
+D
T MD102

NOCO: Nop 0
```
Gruss 8051


----------



## tonga (12 Juli 2008)

```
U E 1.0     //Eingang Reset Taster
FP M1.0
SPB rCnt   //Marke zum Reset des Zählers

U E 1.1     //Eingang Lichtschranke
FP M1.1     
SPBN end   //Marke zum zählen 

L MD 100
L L#1
+D
T MD 100
SPA end
 
rCnt: L L#0
T MD 100

end:NOP 0
```

Kommt die Flanke vom Reset Taster wird zur Marke rCnt gesprungen und der Zähler genullt , ansonsten wird die Flanke des zu zählenden Eingangs abgefragt. Kommt diese wird nicht zum Ende gesprungen , der Zähler aufaddiert und dann absolut zum Ende gesprungen.


----------



## Larry Laffer (12 Juli 2008)

seb992000 schrieb:


> Verstehe ich das so richtig?
> 1 Zyklus der SPS wenn der Eingang E1.0 true wird:
> Wenn der E 1.0 im ersten Schritt true wird, ist der Merker 1.0 false
> deswegen wird um 1 Hochgezählt.Wird die Sprungmarke nach der
> abarbeitung des Zählers auch noch abgearbeitet?


 
Der Eingang bleibt ja für mehrere Zyklen TRUE.
Der Sprungbefehl wird beim 2. und weiteren Zyklus auch abgearbeitet, weil dann der Merker ja TRUE ist -> es wird also auch gesprungen ...



seb992000 schrieb:


> 2 Zyklus der SPS während der E1.0 false ist:
> Wärend der Eingang E1.0 false ist wird ständig die Sprungmarke aktiv
> und der Merker M1.0 wird false gesetzt
> 
> ...


 
Ansonsten gut zusammengefasst ... So läuft dieses kleine Programmteil ab.

Die Reset-Geschichte kannst du nach dem gleichen Schema machen ... oder gemäß der anderen Vorschläge ...
oder :
	
	



```
U E 1.1
SPBN nRes
 
L L#0
T MD 100
 
nRes: NOP 0
```
Gruß
LL


----------

