-> Hier kostenlos registrieren
hallo, wie kann ich einen stückzähler realisieren, der bis mindestens 50000 zählt und bei schichtwechsel auf Null gesetzt werden kann?
danke
danke
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: This feature may not be available in some browsers.
hi,
wie wäre es denn damit :
u #signal
fp #flanke
= #ergebnis
L 1
L #wert
+D
t #wert
u #ruecksetzen
spbn rs
L 0
t #wert
rs:nop 0
hab aber nicht so riesige ahnung vom step7 programmieren...
ach ja, #signal; #flanke, #ergebnis also bool deklarieren und #wert als DINT
U E 126.0 // Das zu zählende Signal
FP M 200.0
U(
L MD 210
L L#5000 // Begrenzung auf 5000 Stück
<D
)
SPBN Ncou
L MD 210
+ L#1
T MD 210
Ncou: NOP 0
U E 126.1 // Siganl zum rücksetzen
SPBN Nres
L 0
T MD 210
Nres: NOP 0
fast...
um den "zähler" muss noch ein sprung, sonst wird in jedem zyklus erhöht.
lade und transfer aktionen inetessieren sich nicht für das VKE...
u #signal
fp #flanke
spbn CNT1
L 1
L #wert
+D
t #wert
CNT1: nop 0
u #ruecksetzen
spbn rs
L 0
t #wert
rs:nop 0
Die Flanke kannst du dir nur sparen wenn du sicherstellen kannst das "#signal" bereits eine "flanke" ist bzw. nur einen Zyklus lange da ist.
hi markus,
aber durch das rücksetzten am ende des codes von "#signal" ist doch automatisch gewehrleistet das das signal nur einen zylus lang ansteht oder?
und somit würde auch bei dauer "true" nur einmal gezählt...
Code:U E 1.0 //reset FP M 1.0 L L#0 SPB res U E 1.1 //zähle plus FP M 1.1 SPBN end L L#1 L DB1.DBD0 +D res: T DB1.DBD0 end: NOP 0
die flanke beim reset muss nicht sein.
Wir verwenden essentielle Cookies, damit diese Website funktioniert, und optionale Cookies, um den Komfort bei der Nutzung zu verbessern.
Siehe weitere Informationen und konfiguriere deine Einstellungen